Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wisdom-components
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
ReactWeb5
wisdom-components
Commits
615a189c
Commit
615a189c
authored
Apr 19, 2024
by
陈龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 修复数据无法显示的问题
parent
4916245c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
103 additions
and
102 deletions
+103
-102
EC_HistoryView.md
...es/extend-components/EC_HistoryView/src/EC_HistoryView.md
+1
-1
index.js
packages/extend-components/EC_HistoryView/src/index.js
+99
-98
indexForBI.less
...ages/extend-components/EC_HistoryView/src/indexForBI.less
+3
-3
No files found.
packages/extend-components/EC_HistoryView/src/EC_HistoryView.md
View file @
615a189c
...
...
@@ -26,7 +26,7 @@ path: /
## 单图表-状态
[
//
]:
#
(<code src="./demos/indexForStatus.js"></code>)
<code
src=
"./demos/indexForStatus.js"
></code>
## 单图表-频率
...
...
packages/extend-components/EC_HistoryView/src/index.js
View file @
615a189c
...
...
@@ -3,7 +3,7 @@
* 非influxdb版本的接口,使用isDilute=false实现;
* 建议:不抽稀的时候,传isDilute=false&zoom=''&unit=''
* */
import
React
,
{
useContext
,
useEffect
,
useMemo
,
useState
,
useCallback
,
useRef
}
from
'react'
;
import
React
,
{
useContext
,
useEffect
,
useMemo
,
useState
,
useCallback
,
useRef
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
classNames
from
'classnames'
;
import
{
...
...
@@ -40,14 +40,14 @@ import {
import
SingleChart
from
'./SingleChart'
;
import
GridChart
from
'./GridChart'
;
import
BIStyles
from
'./indexForBI.less'
;
import
{
globalConfig
}
from
'antd/lib/config-provider'
;
import
{
getSensorType
}
from
'./apis/index'
;
import
{
ExportExcel
}
from
'@wisdom-components/exportexcel'
;
import
{
globalConfig
}
from
'antd/lib/config-provider'
;
import
{
getSensorType
}
from
'./apis/index'
;
import
{
ExportExcel
}
from
'@wisdom-components/exportexcel'
;
import
VirtualTable
from
'./VirtualTable'
;
const
{
RangePicker
}
=
DatePicker
;
const
{
Option
}
=
Select
;
const
{
RangePicker
}
=
DatePicker
;
const
{
Option
}
=
Select
;
const
startFormat
=
'YYYY-MM-DD 00:00:00'
;
const
endFormat
=
'YYYY-MM-DD 23:59:59'
;
...
...
@@ -291,8 +291,8 @@ const handleFakeData = (dateRange, deviceParams) => {
_arr
.
forEach
(
sensor
=>
{
final
.
push
({
dataModel
:
[
{
pt
:
dateFrom
,
pv
:
null
},
{
pt
:
dateTo
,
pv
:
null
}
{
pt
:
dateFrom
,
pv
:
null
},
{
pt
:
dateTo
,
pv
:
null
}
],
dateFrom
,
dateTo
,
...
...
@@ -320,7 +320,7 @@ const OriginMaxDays = 31; // 原始曲线请求数据的最大天数
const
CharacteristicMaxDays
=
null
;
// 特征曲线或者其他曲线的最大天数
const
HistoryView
=
(
props
)
=>
{
const
[
completeInit
,
setCompleteInit
]
=
useState
(
false
);
const
{
getPrefixCls
}
=
useContext
(
ConfigProvider
.
ConfigContext
);
const
{
getPrefixCls
}
=
useContext
(
ConfigProvider
.
ConfigContext
);
const
prefixCls
=
getPrefixCls
(
'history-view'
);
const
{
title
,
...
...
@@ -536,13 +536,13 @@ const HistoryView = (props) => {
onContrastChange
(
contrastOption
);
setShowBoxOption
(
false
);
setChartType
(
'lineChart'
);
onCheckboxChange
({
target
:
{
value
:
false
}
},
'chartType'
);
onCheckboxChange
({
target
:
{
value
:
false
}
},
'ignoreOutliers'
);
onCheckboxChange
({
target
:
{
value
:
false
}
},
'chartType'
);
onCheckboxChange
({
target
:
{
value
:
false
}
},
'ignoreOutliers'
);
}
else
{
// 自定义
// 不需要处理
setShowBoxOption
(
true
);
onCheckboxChange
({
target
:
{
value
:
true
}
},
'chartType'
);
onCheckboxChange
({
target
:
{
value
:
true
}
},
'chartType'
);
}
};
const
onShortcutsChange
=
(
e
)
=>
{
...
...
@@ -552,37 +552,37 @@ const HistoryView = (props) => {
switch
(
_val
)
{
case
'近3天'
:
_arr
=
[
{
key
:
1
,
value
:
moment
()
},
{
key
:
2
,
value
:
moment
().
subtract
(
1
,
'days'
)
},
{
key
:
3
,
value
:
moment
().
subtract
(
2
,
'days'
)
},
{
key
:
1
,
value
:
moment
()
},
{
key
:
2
,
value
:
moment
().
subtract
(
1
,
'days'
)
},
{
key
:
3
,
value
:
moment
().
subtract
(
2
,
'days'
)
},
];
break
;
case
'近7天'
:
_arr
=
[
{
key
:
1
,
value
:
moment
()
},
{
key
:
2
,
value
:
moment
().
subtract
(
1
,
'days'
)
},
{
key
:
3
,
value
:
moment
().
subtract
(
2
,
'days'
)
},
{
key
:
4
,
value
:
moment
().
subtract
(
3
,
'days'
)
},
{
key
:
5
,
value
:
moment
().
subtract
(
4
,
'days'
)
},
{
key
:
6
,
value
:
moment
().
subtract
(
5
,
'days'
)
},
{
key
:
7
,
value
:
moment
().
subtract
(
6
,
'days'
)
},
{
key
:
1
,
value
:
moment
()
},
{
key
:
2
,
value
:
moment
().
subtract
(
1
,
'days'
)
},
{
key
:
3
,
value
:
moment
().
subtract
(
2
,
'days'
)
},
{
key
:
4
,
value
:
moment
().
subtract
(
3
,
'days'
)
},
{
key
:
5
,
value
:
moment
().
subtract
(
4
,
'days'
)
},
{
key
:
6
,
value
:
moment
().
subtract
(
5
,
'days'
)
},
{
key
:
7
,
value
:
moment
().
subtract
(
6
,
'days'
)
},
];
break
;
case
'近3月'
:
_arr
=
[
{
key
:
1
,
value
:
moment
()
},
{
key
:
2
,
value
:
moment
().
subtract
(
1
,
'months'
)
},
{
key
:
3
,
value
:
moment
().
subtract
(
2
,
'months'
)
},
{
key
:
1
,
value
:
moment
()
},
{
key
:
2
,
value
:
moment
().
subtract
(
1
,
'months'
)
},
{
key
:
3
,
value
:
moment
().
subtract
(
2
,
'months'
)
},
];
break
;
case
'近6月'
:
_arr
=
[
{
key
:
1
,
value
:
moment
()
},
{
key
:
2
,
value
:
moment
().
subtract
(
1
,
'months'
)
},
{
key
:
3
,
value
:
moment
().
subtract
(
2
,
'months'
)
},
{
key
:
4
,
value
:
moment
().
subtract
(
3
,
'months'
)
},
{
key
:
5
,
value
:
moment
().
subtract
(
4
,
'months'
)
},
{
key
:
6
,
value
:
moment
().
subtract
(
5
,
'months'
)
},
{
key
:
1
,
value
:
moment
()
},
{
key
:
2
,
value
:
moment
().
subtract
(
1
,
'months'
)
},
{
key
:
3
,
value
:
moment
().
subtract
(
2
,
'months'
)
},
{
key
:
4
,
value
:
moment
().
subtract
(
3
,
'months'
)
},
{
key
:
5
,
value
:
moment
().
subtract
(
4
,
'months'
)
},
{
key
:
6
,
value
:
moment
().
subtract
(
5
,
'months'
)
},
];
break
;
}
...
...
@@ -640,7 +640,7 @@ const HistoryView = (props) => {
)}
{
timeValue
===
'contrast'
&&
(
// 同期对比
<>
<
Select
value
=
{
contrastOption
}
style
=
{{
width
:
60
}}
onChange
=
{
onContrastChange
}
>
<
Select
value
=
{
contrastOption
}
style
=
{{
width
:
60
}}
onChange
=
{
onContrastChange
}
>
<
Option
value
=
"day"
>
日
<
/Option
>
<
Option
value
=
"month"
disabled
=
{
lineDataType
===
'原始曲线'
}
>
月
...
...
@@ -664,14 +664,14 @@ const HistoryView = (props) => {
picker
=
{
contrastOption
===
'day'
?
undefined
:
contrastOption
}
value
=
{
child
.
value
}
onChange
=
{(
date
,
dateString
)
=>
onContrastPickerChange
(
date
,
dateString
,
child
)}
style
=
{{
width
:
130
,
border
:
!
shortcutsValue
?
'1px solid #1890ff'
:
''
}}
style
=
{{
width
:
130
,
border
:
!
shortcutsValue
?
'1px solid #1890ff'
:
''
}}
/
>
{
datePickerArr
.
length
>
2
&&
(
<
div
className
=
{
classNames
(
`
${
prefixCls
}
-contrast-delete`
)}
onClick
=
{()
=>
handleDeleteDatePicker
(
index
)}
>
<
CloseCircleFilled
/>
<
CloseCircleFilled
/>
<
/div
>
)}
<
/div
>
...
...
@@ -680,7 +680,7 @@ const HistoryView = (props) => {
)}
<
/div
>
))}
{
datePickerArr
.
length
<
4
&&
<
PlusCircleOutlined
onClick
=
{
handleAddDatePicker
}
/>
}
{
datePickerArr
.
length
<
4
&&
<
PlusCircleOutlined
onClick
=
{
handleAddDatePicker
}
/>
}
<
/
>
)}
<
/div
>
...
...
@@ -751,12 +751,12 @@ const HistoryView = (props) => {
<
/Checkbox
>
{
child
.
tooltip
&&
(
<
Tooltip
title
=
{
child
.
tooltip
}
>
<
QuestionCircleFilled
className
=
{
`
${
prefixCls
}
-question`
}
/
>
<
QuestionCircleFilled
className
=
{
`
${
prefixCls
}
-question`
}
/
>
<
/Tooltip
>
)}
{
child
.
hasSub
&&
child
.
checked
&&
false
?
(
<
Select
style
=
{{
width
:
80
,
marginLeft
:
10
}}
style
=
{{
width
:
80
,
marginLeft
:
10
}}
value
=
{
algorithmValue
}
onChange
=
{(
e
)
=>
setAlgorithmValue
(
e
)}
>
...
...
@@ -776,7 +776,7 @@ const HistoryView = (props) => {
return
(
<
div
className
=
{
classNames
(
`
${
prefixCls
}
-cover`
)}
style
=
{
isChart
&&
isSingle
?
{
width
:
'100%'
}
:
{}}
style
=
{
isChart
&&
isSingle
?
{
width
:
'100%'
}
:
{}}
>
{
isChart
&&
!
isStatus
?
(
<>
...
...
@@ -788,7 +788,7 @@ const HistoryView = (props) => {
<
/Radio.Group
>
<
Tooltip
title
=
{
'原始曲线数据量较大,单次查询最多展示1万条数据'
}
>
<
QuestionCircleFilled
style
=
{{
marginLeft
:
6
}}
style
=
{{
marginLeft
:
6
}}
className
=
{
`
${
prefixCls
}
-question`
}
/
>
<
/Tooltip
>
...
...
@@ -801,16 +801,16 @@ const HistoryView = (props) => {
<>
{
lineDataType
!==
'原始曲线'
?
(
<>
<
div
style
=
{{
marginLeft
:
7
}}
className
=
{
classNames
(
`
${
prefixCls
}
-label`
)}
>
<
div
style
=
{{
marginLeft
:
7
}}
className
=
{
classNames
(
`
${
prefixCls
}
-label`
)}
>
曲线形态
<
/div
>
<
Radio
.
Group
value
=
{
chartType
}
style
=
{{
marginRight
:
16
}}
style
=
{{
marginRight
:
16
}}
onChange
=
{(
e
)
=>
{
let
_value
=
e
.
target
.
value
;
setChartType
(
_value
);
onCheckboxChange
({
target
:
{
value
:
_value
!==
'boxChart'
}
},
'chartType'
);
onCheckboxChange
({
target
:
{
value
:
_value
!==
'boxChart'
}
},
'chartType'
);
}}
>
<
Radio
.
Button
value
=
{
'lineChart'
}
>
线形图
<
/Radio.Button
>
...
...
@@ -841,7 +841,7 @@ const HistoryView = (props) => {
{
activeTabKey
===
'table'
&&
(
<
Select
value
=
{
dataThinKey
}
style
=
{{
width
:
90
}}
style
=
{{
width
:
90
}}
onChange
=
{
onTimeIntervalChange
}
disabled
=
{
!
dataConfig
.
dataThin
}
getPopupContainer
=
{
trigger
=>
trigger
.
parentElement
}
...
...
@@ -953,7 +953,7 @@ const HistoryView = (props) => {
// data = data.filter(item => item.sensorName !== '是否在线');
const
ignoreOutliers
=
checkboxData
.
find
((
item
)
=>
item
.
key
===
'ignoreOutliers'
).
checked
;
const
dataIndexAccess
=
(
dataItem
,
index
)
=>
{
const
{
stationCode
,
sensorName
}
=
dataItem
;
const
{
stationCode
,
sensorName
}
=
dataItem
;
return
`
${
stationCode
}
-
${
sensorName
}
-
${
index
}
`
;
};
...
...
@@ -964,7 +964,7 @@ const HistoryView = (props) => {
// 判断是否是单设备,单设备则不显示设备名称
// 处理表头数据
const
columnsData
=
data
.
map
((
item
,
index
)
=>
{
const
{
stationCode
,
equipmentName
,
sensorName
,
unit
,
dataModel
}
=
item
;
const
{
stationCode
,
equipmentName
,
sensorName
,
unit
,
dataModel
}
=
item
;
const
dataIndex
=
dataIndexAccess
(
item
,
index
);
let
_title
=
''
;
if
(
deviceConfig
.
current
.
oneDevice
)
{
...
...
@@ -994,7 +994,7 @@ const HistoryView = (props) => {
// 格式化时间对齐数据, 生成行数
const
timeData
=
{};
const
buildDefaultData
=
(
time
)
=>
{
const
obj
=
{
key
:
time
,
time
:
time
};
const
obj
=
{
key
:
time
,
time
:
time
};
data
.
forEach
((
item
,
index
)
=>
{
const
dataIndex
=
dataIndexAccess
(
item
,
index
);
obj
[
dataIndex
]
=
''
;
...
...
@@ -1003,31 +1003,31 @@ const HistoryView = (props) => {
return
obj
;
};
data
.
forEach
((
item
,
index
)
=>
{
const
{
stationCode
,
sensorName
,
dataModel
}
=
item
;
const
{
stationCode
,
sensorName
,
dataModel
}
=
item
;
dataModel
&&
dataModel
.
forEach
((
data
)
=>
{
const
formatTime
=
moment
(
data
.
pt
).
format
(
format
);
dataModel
.
forEach
((
data
)
=>
{
const
formatTime
=
moment
(
data
.
pt
).
format
(
format
);
let
time
=
formatTime
;
if
(
timeValue
===
'contrast'
)
{
time
=
time
.
slice
(
contrastOption
===
'day'
?
11
:
8
,
16
);
}
let
time
=
formatTime
;
if
(
timeValue
===
'contrast'
)
{
time
=
time
.
slice
(
contrastOption
===
'day'
?
11
:
8
,
16
);
}
timeData
[
formatTime
]
=
timeData
[
formatTime
]
||
buildDefaultData
(
time
);
});
timeData
[
formatTime
]
=
timeData
[
formatTime
]
||
buildDefaultData
(
time
);
});
});
// 处理表格数据
data
.
forEach
((
child
,
index
)
=>
{
const
{
dataModel
}
=
child
;
const
{
dataModel
}
=
child
;
const
dataIndex
=
dataIndexAccess
(
child
,
index
);
dataModel
&&
dataModel
.
forEach
((
value
,
j
)
=>
{
const
formatTime
=
moment
(
value
.
pt
).
format
(
format
);
const
dataRow
=
timeData
[
formatTime
];
if
(
dataRow
)
{
dataRow
[
dataIndex
]
=
value
.
pv
===
null
||
value
.
pv
===
undefined
?
''
:
value
.
pv
;
}
});
dataModel
.
forEach
((
value
,
j
)
=>
{
const
formatTime
=
moment
(
value
.
pt
).
format
(
format
);
const
dataRow
=
timeData
[
formatTime
];
if
(
dataRow
)
{
dataRow
[
dataIndex
]
=
value
.
pv
===
null
||
value
.
pv
===
undefined
?
''
:
value
.
pv
;
}
});
});
const
timeSort
=
(
a
,
b
)
=>
{
let
aa
=
a
,
...
...
@@ -1074,34 +1074,34 @@ const HistoryView = (props) => {
};
const
handleDataThinKey
=
(
diffYears
,
diffDays
,
diffHours
,
lineDataType
)
=>
{
if
(
lineDataType
===
'原始曲线'
)
{
return
{
unit
:
''
,
zoom
:
''
};
return
{
unit
:
''
,
zoom
:
''
};
}
// edit by zy 根据选择的时长控制抽稀频度
if
(
diffYears
>
0
)
{
if
(
diffYears
===
1
)
return
{
unit
:
'h'
,
zoom
:
'24'
};
return
{
unit
:
'h'
,
zoom
:
'48'
};
if
(
diffYears
===
1
)
return
{
unit
:
'h'
,
zoom
:
'24'
};
return
{
unit
:
'h'
,
zoom
:
'48'
};
}
else
if
(
diffYears
===
0
&&
diffDays
>
0
)
{
if
(
diffDays
>
90
)
return
{
unit
:
'h'
,
zoom
:
'24'
};
if
(
diffDays
>
30
)
return
{
unit
:
'h'
,
zoom
:
'4'
};
if
(
diffDays
>
15
)
return
{
unit
:
'h'
,
zoom
:
'2'
};
if
(
diffDays
>
7
)
return
{
unit
:
'h'
,
zoom
:
'1'
};
if
(
diffDays
>
3
)
return
{
unit
:
'min'
,
zoom
:
'20'
};
if
(
diffDays
>
1
)
return
{
unit
:
'min'
,
zoom
:
'15'
};
if
(
diffDays
===
1
)
return
{
unit
:
'min'
,
zoom
:
'5'
};
if
(
diffDays
>
90
)
return
{
unit
:
'h'
,
zoom
:
'24'
};
if
(
diffDays
>
30
)
return
{
unit
:
'h'
,
zoom
:
'4'
};
if
(
diffDays
>
15
)
return
{
unit
:
'h'
,
zoom
:
'2'
};
if
(
diffDays
>
7
)
return
{
unit
:
'h'
,
zoom
:
'1'
};
if
(
diffDays
>
3
)
return
{
unit
:
'min'
,
zoom
:
'20'
};
if
(
diffDays
>
1
)
return
{
unit
:
'min'
,
zoom
:
'15'
};
if
(
diffDays
===
1
)
return
{
unit
:
'min'
,
zoom
:
'5'
};
}
else
if
(
diffYears
===
0
&&
diffDays
===
0
&&
diffHours
>
0
)
{
if
(
diffHours
>
12
)
return
{
unit
:
'min'
,
zoom
:
'5'
};
if
(
diffHours
>
4
)
return
{
unit
:
'min'
,
zoom
:
'1'
};
if
(
diffHours
>
1
)
return
{
unit
:
's'
,
zoom
:
'30'
};
if
(
diffHours
>
0
)
return
{
unit
:
's'
,
zoom
:
'5'
};
return
{
unit
:
's'
,
zoom
:
'5'
};
if
(
diffHours
>
12
)
return
{
unit
:
'min'
,
zoom
:
'5'
};
if
(
diffHours
>
4
)
return
{
unit
:
'min'
,
zoom
:
'1'
};
if
(
diffHours
>
1
)
return
{
unit
:
's'
,
zoom
:
'30'
};
if
(
diffHours
>
0
)
return
{
unit
:
's'
,
zoom
:
'5'
};
return
{
unit
:
's'
,
zoom
:
'5'
};
}
else
{
return
{
unit
:
''
,
zoom
:
''
};
return
{
unit
:
''
,
zoom
:
''
};
}
};
// 处理接口服务参数的变化
const
onChangeParams
=
(
value
=
{})
=>
{
const
{
dateRange
,
isDilute
,
ignoreOutliers
,
zoom
,
unit
}
=
value
;
const
{
dateRange
,
isDilute
,
ignoreOutliers
,
zoom
,
unit
}
=
value
;
let
_diffDays
=
moment
(
dateRange
[
0
].
dateTo
).
diff
(
dateRange
[
0
].
dateFrom
,
'days'
);
// 查询时段大于7天时,不提供1分钟的抽稀选项。
if
(
_diffDays
>
7
&&
zoom
===
'1'
&&
unit
===
'min'
)
{
...
...
@@ -1114,7 +1114,7 @@ const HistoryView = (props) => {
let
hasDiscreteDeviceType
=
false
;
deviceParams
.
map
((
item
)
=>
{
let
_item
=
{
...
item
};
let
_item
=
{
...
item
};
_item
.
sensors
=
item
.
sensors
;
// special 业务
if
(
special1
)
{
...
...
@@ -1153,9 +1153,9 @@ const HistoryView = (props) => {
activeTabKey
===
'curve'
?
handleDataThinKey
(
diffYears
,
diffDays
,
diffHours
,
lineDataType
)
:
!
isDilute
?
{
zoom
:
''
,
unit
:
''
}
?
{
zoom
:
''
,
unit
:
''
}
:
{};
// 表格也支持全数据模式;
let
_finalParams
=
{
...
param
,
...
zoomParam
};
let
_finalParams
=
{
...
param
,
...
zoomParam
};
// 2024年1月8日 抽稀间隔大于等于12小时时,会存在线性插值导致抽稀间隔内数据条数大于预期的问题。需要增加一个额外参数处理该情况。
if
(
_finalParams
.
zoom
)
{
let
_num
=
Number
(
_finalParams
.
zoom
);
...
...
@@ -1183,7 +1183,7 @@ const HistoryView = (props) => {
let
data
=
[];
// let _predicateData = [];
results
.
forEach
((
res
,
index
)
=>
{
const
{
dateFrom
,
dateTo
}
=
dateRange
?.[
index
]
??
{};
const
{
dateFrom
,
dateTo
}
=
dateRange
?.[
index
]
??
{};
if
(
res
.
code
===
0
&&
res
.
data
.
length
)
{
res
.
data
.
forEach
((
d
)
=>
{
d
.
dateFrom
=
dateFrom
||
''
;
...
...
@@ -1197,7 +1197,7 @@ const HistoryView = (props) => {
*/
// d.dataModel=[];
d
.
dataModel
=
d
.
dataModel
.
map
((
item
)
=>
{
let
{
firstPV
,
lastPV
,
maxPV
,
minPV
,
pv
}
=
item
;
let
{
firstPV
,
lastPV
,
maxPV
,
minPV
,
pv
}
=
item
;
if
(
pv
!==
null
&&
firstPV
===
null
&&
lastPV
===
null
&&
maxPV
===
null
&&
minPV
===
null
)
{
firstPV
=
pv
;
lastPV
=
pv
;
...
...
@@ -1237,7 +1237,7 @@ const HistoryView = (props) => {
}
}).
filter
((
item
)
=>
item
.
sensorName
);
// 预测的
// data = data.concat(list.filter(item => item.deviceType !== '预测')
);
data
=
data
.
concat
(
list
);
// _predicateData = _predicateData.concat(list.filter(item => item.deviceType === '预测'));
});
}
...
...
@@ -1264,7 +1264,7 @@ const HistoryView = (props) => {
useEffect
(()
=>
{
if
(
!
completeInit
)
return
;
const
{
dataThin
,
ignoreOutliers
,
zoom
,
unit
}
=
dataConfig
;
const
{
dataThin
,
ignoreOutliers
,
zoom
,
unit
}
=
dataConfig
;
beforChangeParams
().
finally
(()
=>
{
onChangeParams
({
isDilute
:
dataThin
,
...
...
@@ -1320,7 +1320,7 @@ const HistoryView = (props) => {
}}
/
>
)
:
(
<
PandaEmpty
/>
<
PandaEmpty
/>
)}
<
/div
>
<
/
>
...
...
@@ -1368,7 +1368,7 @@ const HistoryView = (props) => {
)}
<
/div
>
{
lineDataType
===
'原始曲线'
&&
false
?
(
<
div
style
=
{{
marginTop
:
10
}}
>
展示区间:
{
returnLongestPeriod
(
chartDataSource
)}
<
/div
>
<
div
style
=
{{
marginTop
:
10
}}
>
展示区间:
{
returnLongestPeriod
(
chartDataSource
)}
<
/div
>
)
:
(
''
)}
...
...
@@ -1439,7 +1439,7 @@ const HistoryView = (props) => {
)
return
setCompleteInit
(
true
);
setLoading
(
true
);
const
{
deviceCode
,
deviceType
,
sensors
}
=
deviceParams
[
0
];
const
{
deviceCode
,
deviceType
,
sensors
}
=
deviceParams
[
0
];
let
_id
=
(
await
getPointAddress
({
code
:
deviceCode
,
...
...
@@ -1484,7 +1484,7 @@ const HistoryView = (props) => {
return
final
;
},
{});
_checkboxData
=
_checkboxData
.
map
((
item
)
=>
{
let
_item
=
{
...
item
};
let
_item
=
{
...
item
};
if
(
_opt
[
item
.
label
]
!==
undefined
)
{
_item
.
checked
=
_opt
[
item
.
label
]
===
'true'
;
}
...
...
@@ -1551,14 +1551,15 @@ const HistoryView = (props) => {
},
[
loading
]);
return
(
<
div
className
=
{
classNames
(
prefixCls
,
theme
===
'BI'
?
BIStyles
.
historyViewComponents
:
''
,
'wkt-scroll-light'
)}
>
<
div
className
=
{
classNames
(
`
${
prefixCls
}
-spin`
)}
style
=
{{
position
:
'relative'
}}
>
className
=
{
classNames
(
prefixCls
,
theme
===
'BI'
?
BIStyles
.
historyViewComponents
:
''
,
'wkt-scroll-light'
)}
style
=
{{
background
:
theme
===
'BI'
?
'#282b34'
:
'#ffffff'
}}
>
<
div
className
=
{
classNames
(
`
${
prefixCls
}
-spin`
)}
style
=
{{
position
:
'relative'
}}
>
{
loading
||
percent
!==
0
?
(
<
div
className
=
{
classNames
(
`
${
prefixCls
}
-progressWrapper`
)}
>
{
lineDataType
===
'原始曲线'
||
(
lineDataType
===
'特征曲线'
&&
moment
(
dateRange
?.[
0
]?.
dateTo
).
diff
(
moment
(
dateRange
?.[
0
]?.
dateFrom
),
'days'
)
>=
30
)
?
(
lineDataType
===
'特征曲线'
&&
moment
(
dateRange
?.[
0
]?.
dateTo
).
diff
(
moment
(
dateRange
?.[
0
]?.
dateFrom
),
'days'
)
>=
30
)
?
<
div
className
=
{
classNames
(
`
${
prefixCls
}
-contentWrapper`
)}
>
<
Progress
percent
=
{
percent
}
...
...
@@ -1569,7 +1570,7 @@ const HistoryView = (props) => {
<
div
className
=
{
classNames
(
`
${
prefixCls
}
-tip`
)}
>
加载中
...
<
/div
>
<
/div>
:
<
Spin
spinning
=
{
loading
||
false
}
tip
=
{
'数据加载中...'
}
delay
=
{
1000
}
style
=
{{
background
:
'transparent'
}}
/
>
style
=
{{
background
:
'transparent'
}}
/
>
}
<
/div
>
)
:
(
...
...
@@ -1590,7 +1591,7 @@ const HistoryView = (props) => {
{
activeTabKey
===
'table'
&&
(
<>
<
Button
type
=
"link"
onClick
=
{
exportFeatureBtn
}
>
<
DownloadOutlined
/>
<
DownloadOutlined
/>
下载
<
/Button
>
<
/
>
...
...
packages/extend-components/EC_HistoryView/src/indexForBI.less
View file @
615a189c
...
...
@@ -26,7 +26,7 @@
--border-color: #38435a;
--panel-border-color: #38435a;
--table-head-background-color: #dcdcf214;
background-color: var(--background-color);
//
background-color: var(--background-color);
.@{ant-prefix}-table-thead>tr>th {
background: var(--table-head-background-color);
...
...
@@ -209,7 +209,7 @@
}
}
.
historyViewComponents.
@{history-view} {
.@{history-view} {
height: 100%;
padding: @padding-md;
...
...
@@ -222,7 +222,7 @@
&-label {
position: relative;
width: 80px;
color: @primaryTextColor;
//
color: @primaryTextColor;
&::after {
position: absolute;
...
...
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