更新睡眠报告

This commit is contained in:
wyf
2025-05-27 23:09:31 +08:00
parent e0fef11b33
commit 98cd7f4e6a
54 changed files with 4450 additions and 1160 deletions

View File

@@ -9,7 +9,8 @@ import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
import 'package:vbvs_app/pages/sleep_report/chart/DataShowWidget.dart';
class HeartChangeWidget extends StatefulWidget {
HeartChangeWidget({super.key});
var sleepReport;
HeartChangeWidget({super.key, required this.sleepReport});
@override
State<HeartChangeWidget> createState() => _HeartChangeWidgetState();
@@ -33,72 +34,80 @@ class _HeartChangeWidgetState extends State<HeartChangeWidget> {
@override
Widget build(BuildContext context) {
if (widget.sleepReport == null ||
widget.sleepReport['hrvs'] == null ||
widget.sleepReport['hrvs'].isEmpty) {
return Container();
}
List dataList = widget.sleepReport['hrvs'];
//0上升 1下降 2持平
List data = [
{
"name": "心脏总能量",
"value": 5262,
"range": "2055-6000",
"change": 0,
"desc": "心脏总能量介绍"
},
{
"name": "心率减速力",
"value": 5262,
"range": "2055-6000",
"change": 1,
"desc": "心率减速力介绍"
},
{
"name": "迷走神经张力指数",
"value": 5262,
"range": "2055-6000",
"change": 2,
"desc": "迷走神经张力指数介绍"
},
{
"name": "交感神经张力指数",
"value": 5262,
"range": "2055-6000",
"change": 0,
"desc": "交感神经张力指数介绍"
},
{
"name": "自主神经张力指数",
"value": 5262,
"range": "2055-6000",
"change": 2,
"desc": "自主神经张力指数介绍"
},
{
"name": "血管舒张指数",
"value": 5262,
"range": "2055-6000",
"change": 1,
"desc": "血管舒张指数介绍"
},
{
"name": "SDNN",
"value": 5262,
"range": "2055-6000",
"change": 0,
"desc": "SDNN介绍"
},
{
"name": "PNN50",
"value": 5262,
"range": "2055-6000",
"change": 1,
"desc": "PNN50介绍"
},
{
"name": "RMSSD",
"value": 5262,
"range": "2055-6000",
"change": 2,
"desc": "RMSSD介绍"
},
];
// List data = [
// {
// "name": "心脏总能量",
// "value": 5262,
// "range": "2055-6000",
// "change": 0,
// "desc": "心脏总能量介绍"
// },
// {
// "name": "心率减速力",
// "value": 5262,
// "range": "2055-6000",
// "change": 1,
// "desc": "心率减速力介绍"
// },
// {
// "name": "迷走神经张力指数",
// "value": 5262,
// "range": "2055-6000",
// "change": 2,
// "desc": "迷走神经张力指数介绍"
// },
// {
// "name": "交感神经张力指数",
// "value": 5262,
// "range": "2055-6000",
// "change": 0,
// "desc": "交感神经张力指数介绍"
// },
// {
// "name": "自主神经张力指数",
// "value": 5262,
// "range": "2055-6000",
// "change": 2,
// "desc": "自主神经张力指数介绍"
// },
// {
// "name": "血管舒张指数",
// "value": 5262,
// "range": "2055-6000",
// "change": 1,
// "desc": "血管舒张指数介绍"
// },
// {
// "name": "SDNN",
// "value": 5262,
// "range": "2055-6000",
// "change": 0,
// "desc": "SDNN介绍"
// },
// {
// "name": "PNN50",
// "value": 5262,
// "range": "2055-6000",
// "change": 1,
// "desc": "PNN50介绍"
// },
// {
// "name": "RMSSD",
// "value": 5262,
// "range": "2055-6000",
// "change": 2,
// "desc": "RMSSD介绍"
// },
// ];
List<Map<String, dynamic>> data = transformHrvData(dataList);
return Container(
width: double.infinity,
decoration: BoxDecoration(
@@ -313,4 +322,18 @@ class _HeartChangeWidgetState extends State<HeartChangeWidget> {
),
);
}
List<Map<String, dynamic>> transformHrvData(List<dynamic> originalData) {
return originalData.map((item) {
return {
"name": item["name"] ?? "未知指标".tr,
"value": (item["value"] is num) ? item["value"].toDouble() : 0.0,
"range": item["range"] ?? "0-0",
"change": item["trend"] ?? 0,
"desc": item["tips"]?.toString().isNotEmpty == true
? item["tips"].toString()
: "未知数据".tr
};
}).toList();
}
}