248 lines
5.4 KiB
Dart
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(),
|
|
);
|
|
}
|