Files
tuiche/lib/pages/sleep_report/QcReportWidget.dart
2026-03-10 12:01:00 +08:00

248 lines
5.4 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutterflow_ui/flutterflow_ui.dart';
import 'package:vbvs_app/common/util/FitTool.dart';
import 'package:vbvs_app/pages/sleep_report/qc_report/QcBreatheStandardWidget.dart';
import 'package:vbvs_app/pages/sleep_report/qc_report/QcDiseasePercentsWidget.dart';
import 'package:vbvs_app/pages/sleep_report/qc_report/QcHeartHealthWidget.dart';
import 'package:vbvs_app/pages/sleep_report/qc_report/QcHeartRateStandardWidget.dart';
import 'package:vbvs_app/pages/sleep_report/qc_report/QcPiLaoZhiShuPercentWidget.dart';
import 'package:vbvs_app/pages/sleep_report/qc_report/QcZiZhuShenJingPercentWidget.dart';
import 'package:vbvs_app/pages/sleep_report/qc_report/qc_heart_change.dart';
import 'package:vbvs_app/pages/sleep_report/qc_report/qc_heart_point.dart';
Widget QcReportWidget(Map data) {
List<Widget> _buildSectionList() {
EdgeInsetsDirectional padding =
EdgeInsetsDirectional.fromSTEB(0.rpx, 0, 0.rpx, 0.rpx);
// Map data = {
// "_id": "69ae3ac13a075b8438083b0a",
// "person": {
// "name": "张三",
// "gender": "男",
// "age": 52,
// "weight": 37.5,
// "height": 165
// },
// "score": 80,
// "level": 2,
// "mac": "设备mac",
// "hr": {
// "avg": 89,
// "base": 85,
// "min": 68,
// "max": 96,
// "data": [
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 69,
// 70,
// 70,
// 70,
// 70,
// 70,
// 88,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 70,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 71,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68,
// 68
// ]
// },
// "br": {
// "avg": 12,
// "base": 12,
// "min": 10,
// "max": 15,
// "data": [
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 16,
// 16,
// 16,
// 16,
// 16,
// 16,
// 16,
// 16,
// 16,
// 16,
// 16,
// 16,
// 16,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 17,
// 20,
// 21,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 15,
// 11
// ]
// },
// "hrv": [
// {"name": "心脏总能量", "val": 45, "range": "-"}
// ],
// "hrs": [
// {"x": 1005, "y": 800}
// ],
// "xljk": [
// {"name": "焦虑抑郁", "val": 15, "color": "00C1AA"}
// ],
// "mbzs": [
// {"name": "心血管", "val": 70, "color": "00C1AA"}
// ],
// "plzs": {"level": 1},
// "zzsjphzs": {"level": 2},
// "ai": {},
// "create_time": 1772690803969
// };
return [
QcHeartRateStandardWidget(reportData: data),
QcBreatheStandardWidget(reportData: data),
QcHeartChangeWidget(reportData: data),
QcHeartPointWidget(reportData: data),
QcHeartHealthWidget(reportData: data),
QcDiseasePercentsWidget(reportData: data),
QcPiLaoZhiShuPercentWidget(reportData: data),
QcZiZhuShenJingPercentWidget(reportData: data),
]
.divide(SizedBox(height: 25.rpx))
.map((widget) => Padding(
padding: padding,
child: SizedBox(width: double.infinity, child: widget),
))
.toList();
}
return Column(
children: _buildSectionList(),
);
}