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
6c311207
Commit
6c311207
authored
Mar 22, 2024
by
陈龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:升级历史曲线、统计曲线的错误空值交互;剔除预测值的曲线
parent
30223b18
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
87 additions
and
19 deletions
+87
-19
SingleChart.js
packages/extend-components/EC_HistoryView/src/SingleChart.js
+12
-5
index.js
packages/extend-components/EC_HistoryView/src/apis/index.js
+3
-3
index.js
packages/extend-components/EC_HistoryView/src/demos/index.js
+47
-2
index.js
packages/extend-components/EC_HistoryView/src/index.js
+18
-8
Basic.tsx
...-components/EC_StatisticalHistoryView/src/demos/Basic.tsx
+7
-1
index.js
.../extend-components/EC_StatisticalHistoryView/src/index.js
+0
-0
No files found.
packages/extend-components/EC_HistoryView/src/SingleChart.js
View file @
6c311207
...
...
@@ -24,7 +24,8 @@ const SingleChart = memo((props) => {
lineDataType
,
showBoxOption
,
special
,
predicateData
predicateData
,
emptyOrError
}
=
props
;
const
chartRef
=
useRef
();
const
timerRef
=
useRef
();
...
...
@@ -57,10 +58,16 @@ const SingleChart = memo((props) => {
return
specialTypeChartOptionGenerator
({
dataSource
,
config
});
}
let
_option
=
optionGenerator
(
dataSource
,
null
,
contrast
,
contrastOption
,
smooth
,
config
,
lineDataType
,
predicateData
);
let
isEmpty
=
_option
.
series
.
length
===
0
;
if
(
isEmpty
)
{
_option
.
yAxis
.
max
=
100
;
_option
.
yAxis
.
min
=
0
;
if
(
emptyOrError
.
empty
||
emptyOrError
.
error
)
{
if
(
isArray
(
_option
.
yAxis
))
{
_option
.
yAxis
.
forEach
(
item
=>
{
item
.
max
=
100
;
item
.
min
=
0
;
})
}
else
{
_option
.
yAxis
.
max
=
100
;
_option
.
yAxis
.
min
=
0
;
}
}
return
_option
;
},
[
dataSource
,
smooth
,
curveCenter
,
chartType
,
predicateData
]);
...
...
packages/extend-components/EC_HistoryView/src/apis/index.js
View file @
6c311207
...
...
@@ -69,7 +69,7 @@ export function getSensorType() {
export
function
getPredicateSensor
(
params
)
{
return
request
({
url
:
`
${
baseUrl
}
/PandaWater/CityWater/PiZhou
/GetPredicateSensor`
,
url
:
`
${
monitorDeviceUrl
}
/GetPredicateSensor`
,
method
:
REQUEST_METHOD_GET
,
params
})
...
...
@@ -84,9 +84,9 @@ export function getStatisticsInfo(data) {
});
}
export
function
getSensorsRealName
(
data
)
{
export
function
getSensorsRealName
(
data
)
{
return
request
({
url
:
`
${
baseUrl
}
/PandaMonitor/Monitor/Device/GetStaticRealName`
,
url
:
`
${
baseUrl
}
/PandaMonitor/Monitor/Device/GetStaticRealName`
,
method
:
REQUEST_METHOD_POST
,
data
,
})
...
...
packages/extend-components/EC_HistoryView/src/demos/index.js
View file @
6c311207
...
...
@@ -211,17 +211,62 @@ import { MobileHistoryChart } from '../mobile';
];*/
const
deviceParams
=
[
// 新乐,水厂数据异常的问题
{
/*
{
"deviceCode": "SC00000004",
"sensors": "进水瞬时流量,1#出水瞬时流量,2#出水瞬时流量",
"deviceType": "水厂"
}
}*/
/* {
"deviceCode": "EGJZ00000073",
"sensors": "进水压力",
"deviceType": "二供机组"
}*/
/* {
"deviceCode": "EGJZ00000006",
"sensors": "进水压力",
"deviceType": "二供机组"
}*/
/* {
"deviceCode": "EGBF00000002",
"deviceType": "二供泵房",
"sensors": "进水压力"
},
{
"deviceType": "二供机组",
"deviceCode": "EGJZ00000005",
"sensors": "出水压力"
},
{
"deviceType": "二供机组",
"deviceCode": "EGJZ00000001",
"sensors": "出水压力"
},
{
"deviceType": "二供机组",
"deviceCode": "EGJZ00000004",
"sensors": "出水压力"
},
{
"deviceType": "二供机组",
"deviceCode": "EGJZ00000003",
"sensors": "出水压力"
},
{
"deviceType": "二供机组",
"deviceCode": "EGJZ00000002",
"sensors": "出水压力"
}*/
// 182:8088 报警设备
/* {
"deviceCode": "XMYL00000043",
"sensors": "进水压力",
"deviceType": "熊猫压力表"
}*/
{
"deviceCode"
:
"LLJ00000001"
,
"sensors"
:
"瞬时流量"
,
"deviceType"
:
"流量计"
}
]
const
Demo
=
()
=>
{
return
(
...
...
packages/extend-components/EC_HistoryView/src/index.js
View file @
6c311207
...
...
@@ -376,7 +376,11 @@ const HistoryView = (props) => {
const
[
predicateDevice
,
setPredicateDevice
]
=
useState
(
null
);
const
[
predicateData
,
setPredicateData
]
=
useState
([]);
const
[
predicateTime
,
setPredicateTime
]
=
useState
(
null
);
// 需要处理默认数据,确保图表能够一直显示坐标轴。用来存储当前的请求状态。
const
emptyOrError
=
useRef
({
empty
:
true
,
error
:
true
})
// 这部分功能有问题,等待解决后上线 2024年3月13日
const
[
discreteDeviceType
,
setDiscreteDeviceType
]
=
useState
([
'水厂'
])
// 历史数据相关的特征描述
...
...
@@ -1170,6 +1174,7 @@ const HistoryView = (props) => {
Promise
.
all
(
requestArr
)
.
then
((
results
)
=>
{
setLoading
(
false
);
emptyOrError
.
current
.
error
=
false
;
if
(
results
.
length
)
{
let
data
=
[];
let
_predicateData
=
[];
...
...
@@ -1234,6 +1239,9 @@ const HistoryView = (props) => {
}
});
setLoading
(
false
);
if
(
data
.
length
!==
0
)
{
emptyOrError
.
current
.
empty
=
false
;
}
handleTableData
(
data
)
setChartDataSource
(
data
);
setPredicateData
(
_predicateData
);
...
...
@@ -1356,6 +1364,7 @@ const HistoryView = (props) => {
<
div
className
=
{
`
${
prefixCls
}
-content`
}
>
{
grid
===
true
?
(
<
GridChart
emptyOrError
=
{
emptyOrError
.
current
}
curveCenter
=
{
curveCenter
}
prefixCls
=
{
prefixCls
}
dataSource
=
{
chartDataSource
}
...
...
@@ -1370,6 +1379,7 @@ const HistoryView = (props) => {
/
>
)
:
(
<
SingleChart
emptyOrError
=
{
emptyOrError
.
current
}
dateRange
=
{
dateRange
}
showBoxOption
=
{
showBoxOption
}
lineDataType
=
{
lineDataType
}
...
...
@@ -1432,29 +1442,29 @@ const HistoryView = (props) => {
// 以下请求为处理状态值、开关值的图表,只允许单曲线单指标情况下展示
let
_request1
=
getPointAddressEntry
(
_params
);
let
_request2
=
getSensorType
();
let
_request3
=
getPredicateSensor
({
deviceCode
,
sensors
});
await
Promise
.
all
([
_request0
,
_request1
,
_request2
,
_request3
]).
then
((
result
)
=>
{
//
let _request3 = getPredicateSensor({deviceCode, sensors});
await
Promise
.
all
([
_request0
,
_request1
,
_request2
]).
then
((
result
)
=>
{
if
(
result
)
{
let
_res0
=
result
[
0
];
let
_res1
=
result
[
1
];
let
_res2
=
result
[
2
];
let
_res3
=
result
[
3
];
//
let _res3 = result[3];
let
_checkboxData
=
[...
checkboxData
];
// 单设备单曲线时,查询是否配置为预测点
if
(
_res3
.
code
===
0
&&
_res3
.
data
)
{
/*
if (_res3.code === 0 && _res3.data) {
// 1. 如果是单曲线,并且配置了预测,那么默认开启预测;
// 2024年3月11日 物联预测功能支撑后,再开发这部分
/*
_checkboxData.push({
_checkboxData.push({
key: 'predicate',
label: '数据预测',
checked: true,
showInCurve: true,
showInTable: true,
})
*/
})
setPredicateDevice({..._res3.data, deviceType: '预测'});
} else {
setPredicateDevice(null);
}
}
*/
// 查字典配置
if
(
_res0
.
code
===
0
)
{
let
_opt
=
_res0
.
data
.
reduce
((
final
,
cur
)
=>
{
...
...
packages/extend-components/EC_StatisticalHistoryView/src/demos/Basic.tsx
View file @
6c311207
...
...
@@ -9,11 +9,17 @@ const Demo = () => {
// deviceType: '加压泵站',
// statisticType: '',
// }
const
params
=
{
/*
const params = {
deviceCode: 'LLJ00000001',
sensors: '今日水量',
deviceType: '流量计',
statisticType: '',
} */
const
params
=
{
deviceCode
:
'EGBF00000023'
,
sensors
:
'今日供水量'
,
deviceType
:
'二供泵房'
,
statisticType
:
''
,
}
return
(
<>
...
...
packages/extend-components/EC_StatisticalHistoryView/src/index.js
View file @
6c311207
This diff is collapsed.
Click to expand it.
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