更新弹窗
This commit is contained in:
@@ -1,3 +1,3 @@
|
|||||||
[
|
[
|
||||||
"assets/miniapp/mhtControl_1.0.59.zip"
|
"assets/miniapp/mhtControl_1.0.60.zip"
|
||||||
]
|
]
|
||||||
Binary file not shown.
@@ -46,6 +46,13 @@ class AppConstants {
|
|||||||
stringToColor("006FA3"), // 浅蓝
|
stringToColor("006FA3"), // 浅蓝
|
||||||
];
|
];
|
||||||
|
|
||||||
|
List<Color> thNormalButton = [
|
||||||
|
themeController.currentColor.sc1,
|
||||||
|
themeController.currentColor.sc2,
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//系统参数
|
//系统参数
|
||||||
//运行打包APP模式
|
//运行打包APP模式
|
||||||
// int ent_type = APPPackageType.MHT.code; //1.默认太和 2.欢睡 3.眠花糖
|
// int ent_type = APPPackageType.MHT.code; //1.默认太和 2.欢睡 3.眠花糖
|
||||||
|
|||||||
@@ -87,6 +87,7 @@ import 'controller/user_info_controller.dart';
|
|||||||
import 'routers/routers.dart';
|
import 'routers/routers.dart';
|
||||||
|
|
||||||
Future<void> main() async {
|
Future<void> main() async {
|
||||||
|
final ThemeController themeController = Get.put(ThemeController());
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
|
|
||||||
final Locale? deviceLocale = Get.deviceLocale;
|
final Locale? deviceLocale = Get.deviceLocale;
|
||||||
@@ -569,7 +570,6 @@ Future<void> dealBindProcess() async {
|
|||||||
|
|
||||||
class MyApp extends StatelessWidget {
|
class MyApp extends StatelessWidget {
|
||||||
MyApp({super.key});
|
MyApp({super.key});
|
||||||
final ThemeController themeController = Get.put(ThemeController());
|
|
||||||
|
|
||||||
Widget buildmht(BuildContext context, BoxConstraints cons) {
|
Widget buildmht(BuildContext context, BoxConstraints cons) {
|
||||||
return GetMaterialApp(
|
return GetMaterialApp(
|
||||||
|
|||||||
@@ -384,6 +384,9 @@ class _EPageState extends State<DeviceTypePage> {
|
|||||||
|
|
||||||
Widget _buildDeviceCard(BuildContext context,
|
Widget _buildDeviceCard(BuildContext context,
|
||||||
{required String title, required String imageUrl, required double type}) {
|
{required String title, required String imageUrl, required double type}) {
|
||||||
|
if (type != 1) {
|
||||||
|
return Container();
|
||||||
|
}
|
||||||
return CustomCard(
|
return CustomCard(
|
||||||
borderRadius: 20.rpx, // 圆角大小
|
borderRadius: 20.rpx, // 圆角大小
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
|||||||
@@ -135,6 +135,9 @@ class _DeviceTypeListPageState extends State<DeviceTypeListPage> {
|
|||||||
|
|
||||||
Widget _buildDeviceCard(BuildContext context,
|
Widget _buildDeviceCard(BuildContext context,
|
||||||
{required String title, required String imageUrl, required double type}) {
|
{required String title, required String imageUrl, required double type}) {
|
||||||
|
if (type != 1) {
|
||||||
|
return Container();
|
||||||
|
}
|
||||||
return CustomCard(
|
return CustomCard(
|
||||||
borderRadius: 20.rpx, // 圆角大小
|
borderRadius: 20.rpx, // 圆角大小
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
|||||||
@@ -133,6 +133,31 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
|
appBar: AppBar(
|
||||||
|
// backgroundColor: themeController.currentColor.sc17,
|
||||||
|
backgroundColor: Colors.transparent,
|
||||||
|
automaticallyImplyLeading: false,
|
||||||
|
iconTheme: IconThemeData(color: themeController.currentColor.sc3),
|
||||||
|
titleSpacing: 0.rpx,
|
||||||
|
// leading: returnIconButtom,
|
||||||
|
title: Container(
|
||||||
|
width: double.infinity,
|
||||||
|
height: 180.rpx,
|
||||||
|
child: Stack(
|
||||||
|
alignment: Alignment.center,
|
||||||
|
children: [
|
||||||
|
/// 左边返回按钮
|
||||||
|
Positioned(
|
||||||
|
left: 0.rpx,
|
||||||
|
child: returnIconButtom,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
actions: [],
|
||||||
|
centerTitle: false,
|
||||||
|
),
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
top: true,
|
top: true,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@@ -141,29 +166,30 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
|||||||
mainAxisSize: MainAxisSize.max,
|
mainAxisSize: MainAxisSize.max,
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
SizedBox(
|
// SizedBox(
|
||||||
height: 66.rpx,
|
// height: 66.rpx,
|
||||||
),
|
|
||||||
ClickableContainer(
|
|
||||||
backgroundColor: Colors.transparent, // 容器背景色
|
|
||||||
highlightColor:
|
|
||||||
themeController.currentColor.sc21, // 点击时的背景色
|
|
||||||
padding: EdgeInsets.zero, // 这里去掉外部的 padding,避免影响点击范围
|
|
||||||
onTap: () {
|
|
||||||
Get.back();
|
|
||||||
},
|
|
||||||
child: Padding(
|
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
|
||||||
0.rpx, 10.rpx, 16.rpx, 10.rpx),
|
|
||||||
// child: SvgPicture.asset(
|
|
||||||
// 'assets/img/icon/arrow_left.svg',
|
|
||||||
// width: 25.rpx,
|
|
||||||
// height: 25.rpx, // 如果 SVG 中没有固定颜色,使用 color 设置
|
|
||||||
// color: themeController.currentColor.sc3,
|
|
||||||
// ),
|
// ),
|
||||||
child: returnIconButtomNew(),
|
// ClickableContainer(
|
||||||
),
|
// backgroundColor: Colors.transparent, // 容器背景色
|
||||||
),
|
// highlightColor:
|
||||||
|
// themeController.currentColor.sc21, // 点击时的背景色
|
||||||
|
// padding: EdgeInsets.zero, // 这里去掉外部的 padding,避免影响点击范围
|
||||||
|
// onTap: () {
|
||||||
|
// Get.back();
|
||||||
|
// },
|
||||||
|
// child: Padding(
|
||||||
|
// padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
|
// 0.rpx, 10.rpx, 16.rpx, 10.rpx),
|
||||||
|
// // child: SvgPicture.asset(
|
||||||
|
// // 'assets/img/icon/arrow_left.svg',
|
||||||
|
// // width: 25.rpx,
|
||||||
|
// // height: 25.rpx, // 如果 SVG 中没有固定颜色,使用 color 设置
|
||||||
|
// // color: themeController.currentColor.sc3,
|
||||||
|
// // ),
|
||||||
|
// child: returnIconButtomNew(),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: SingleChildScrollView(
|
child: SingleChildScrollView(
|
||||||
child: Column(
|
child: Column(
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
|
import 'package:vbvs_app/common/color/appConstants.dart';
|
||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
|
|
||||||
class HorizontalBarChart extends StatelessWidget {
|
class HorizontalBarChart extends StatelessWidget {
|
||||||
@@ -146,6 +148,8 @@ class LabelWithSvg extends StatelessWidget {
|
|||||||
borderRadius: 0.rpx,
|
borderRadius: 0.rpx,
|
||||||
onTap: () {
|
onTap: () {
|
||||||
// Get.toNamed("/deviceShareListPage", arguments: explain);
|
// Get.toNamed("/deviceShareListPage", arguments: explain);
|
||||||
|
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -155,8 +159,27 @@ class LabelWithSvg extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
backgroundColor: Color(0xFFFFFFFF),
|
backgroundColor: Color(0xFFFFFFFF),
|
||||||
colors: [Color(0XFF1592AA), Color(0xFF0C83A7), Color(0xFF006FA3)],
|
colors: [
|
||||||
|
Color(0XFF1592AA),
|
||||||
|
Color(0xFF0C83A7),
|
||||||
|
Color(0xFF006FA3)
|
||||||
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
explain,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: SizedBox(
|
child: SizedBox(
|
||||||
width: 17.rpx,
|
width: 17.rpx,
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/LineChartByRange.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/LineChartByRange.dart';
|
||||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||||
@@ -93,6 +94,7 @@ class _SnoreViewWidgetWidgetState extends State<BreathePauseNewWidget> {
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -112,6 +114,22 @@ class _SnoreViewWidgetWidgetState extends State<BreathePauseNewWidget> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
"呼吸暂停监测是指用户在睡眠过程中产生的呼吸暂停的图表说明。".tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/TimeSeriesChart.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/TimeSeriesChart.dart';
|
||||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||||
@@ -135,6 +136,7 @@ class _BreatheStandardWidgetState extends State<BreatheStandardWidget> {
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -155,6 +157,23 @@ class _BreatheStandardWidgetState extends State<BreatheStandardWidget> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
"呼吸数据是指用户在睡眠过程中呼吸的基本数据,是评估睡眠呼吸质量、筛查睡眠呼吸障碍的核心指标。"
|
||||||
|
.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/SleepRadarChart.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/SleepRadarChart.dart';
|
||||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||||
@@ -83,6 +84,7 @@ class _CompareSleepWidgetState extends State<CompareSleepWidget> {
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -103,6 +105,23 @@ class _CompareSleepWidgetState extends State<CompareSleepWidget> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
"基于时间维度的横向比较分析方法,通过将当前(今日)的数据、状态、行为等与前一日(昨日)的同类信息进行对照,识别差异、趋势或变化规律,查看用户短期时间序列的动态变化。"
|
||||||
|
.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/HorizontalBarChart.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/HorizontalBarChart.dart';
|
||||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||||
@@ -74,11 +75,13 @@ class _DiseasePercentsWidgetState extends State<DiseasePercentsWidget> {
|
|||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
// 你的点击逻辑
|
// 你的点击逻辑
|
||||||
|
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
child: Text(
|
child: Text(
|
||||||
// "慢性病风险指数介绍".tr,
|
// "心理健康评估介绍".tr,
|
||||||
"慢性病风险指数是通过整合个体的生理指标、生活方式等多维度数据,构建的量化评估模型,用于预测用户未来患慢性非传染性疾病(如高血压、糖尿病、冠心病、癌症等)的风险概率。"
|
"慢性病风险指数是通过整合个体的生理指标、生活方式等多维度数据,构建的量化评估模型,用于预测用户未来患慢性非传染性疾病(如高血压、糖尿病、冠心病、癌症等)的风险概率。"
|
||||||
.tr,
|
.tr,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
@@ -94,6 +97,23 @@ class _DiseasePercentsWidgetState extends State<DiseasePercentsWidget> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
"慢性病风险指数是通过整合个体的生理指标、生活方式等多维度数据,构建的量化评估模型,用于预测用户未来患慢性非传染性疾病(如高血压、糖尿病、冠心病、癌症等)的风险概率。"
|
||||||
|
.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/DataShowWidget.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/DataShowWidget.dart';
|
||||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||||
@@ -75,6 +76,7 @@ class _HeartChangeWidgetState extends State<HeartChangeWidget> {
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -95,6 +97,23 @@ class _HeartChangeWidgetState extends State<HeartChangeWidget> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
"心率变异性(HRV)是指心脏每次跳动间隔时间的差异程度,反映自主神经系统(交感神经和副交感神经)对心脏的调节能力,是评估心血管健康和压力状态的重要指标。"
|
||||||
|
.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
@@ -176,6 +195,8 @@ class _HeartChangeWidgetState extends State<HeartChangeWidget> {
|
|||||||
borderRadius: 0.rpx,
|
borderRadius: 0.rpx,
|
||||||
onTap: () {
|
onTap: () {
|
||||||
// Get.toNamed("/deviceShareListPage", arguments: explain);
|
// Get.toNamed("/deviceShareListPage", arguments: explain);
|
||||||
|
if (AppConstants().ent_type ==
|
||||||
|
APPPackageType.MHT) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -194,6 +215,24 @@ class _HeartChangeWidgetState extends State<HeartChangeWidget> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
'${data['desc']}',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController
|
||||||
|
.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor:
|
||||||
|
themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: SizedBox(
|
child: SizedBox(
|
||||||
width: 17.rpx,
|
width: 17.rpx,
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/FatigueCircleIndicator.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/FatigueCircleIndicator.dart';
|
||||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||||
@@ -75,6 +76,8 @@ class _HeartHealthWidgetState extends State<HeartHealthWidget> {
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx),//
|
14.rpx, 10.rpx, 14.rpx, 10.rpx),//
|
||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -94,6 +97,22 @@ class _HeartHealthWidgetState extends State<HeartHealthWidget> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
"心率健康评估主要通过用户睡眠报告中的时间点、体征数据及HRV数据等信息,来判断其心理健康水平、疲劳程度。".tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/ScatterPlotChart.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/ScatterPlotChart.dart';
|
||||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||||
@@ -92,6 +93,7 @@ class _HeartPointWidgetState extends State<HeartPointWidget> {
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -112,6 +114,23 @@ class _HeartPointWidgetState extends State<HeartPointWidget> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
"心电散点图是用非线性的图形方法描记的连续心冲击图的RR间期图,因图形由散点组成,又称散点图。"
|
||||||
|
.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/TimeSeriesChart.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/TimeSeriesChart.dart';
|
||||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||||
@@ -135,6 +136,7 @@ class _HeartRateStandardWidgetState extends State<HeartRateStandardWidget> {
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -155,6 +157,23 @@ class _HeartRateStandardWidgetState extends State<HeartRateStandardWidget> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
"心率数据是指用户在睡眠过程中基本心率数据,可初步判断睡眠中的心血管负荷及自主神经功能状态,为睡眠健康评估提供重要依据。"
|
||||||
|
.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/StatusBarWithIndicator.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/StatusBarWithIndicator.dart';
|
||||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||||
@@ -91,11 +92,12 @@ class _SkinPercentWidgetState extends State<SkinPercentWidget> {
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
child: Text(
|
child: Text(
|
||||||
// "皮肤指数介绍".tr,
|
// "心理健康评估介绍".tr,
|
||||||
"皮肤指数通过用户睡眠过程中的体征数据,计算皮肤电反应,生成综合评估指标,用于睡眠中的生理应激状态或自主神经活动。"
|
"皮肤指数通过用户睡眠过程中的体征数据,计算皮肤电反应,生成综合评估指标,用于睡眠中的生理应激状态或自主神经活动。"
|
||||||
.tr,
|
.tr,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
@@ -111,6 +113,23 @@ class _SkinPercentWidgetState extends State<SkinPercentWidget> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
"皮肤指数通过用户睡眠过程中的体征数据,计算皮肤电反应,生成综合评估指标,用于睡眠中的生理应激状态或自主神经活动。"
|
||||||
|
.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import 'package:vbvs_app/common/util/FitTool.dart';
|
|||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/home_page/SleepDataModuleWidget.dart';
|
import 'package:vbvs_app/component/home_page/SleepDataModuleWidget.dart';
|
||||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/language/AppLanguage.dart';
|
import 'package:vbvs_app/language/AppLanguage.dart';
|
||||||
|
|
||||||
class SleepCard extends StatefulWidget {
|
class SleepCard extends StatefulWidget {
|
||||||
@@ -87,7 +88,16 @@ class _SleepCardState extends State<SleepCard> with TickerProviderStateMixin {
|
|||||||
widget.sleepReport.isEmpty) {
|
widget.sleepReport.isEmpty) {
|
||||||
return Container();
|
return Container();
|
||||||
}
|
}
|
||||||
String lcode = mhLanguageController.selectLanguage.value!.language_code!;
|
String? language = "";
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
|
if (mhLanguageController.selectLanguage != null) {
|
||||||
|
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (languageController.selectLanguage != null) {
|
||||||
|
language = languageController.selectLanguage.value!.language_code;
|
||||||
|
}
|
||||||
|
}
|
||||||
int num = AppLanguage().isChinese() ? 3 : 2;
|
int num = AppLanguage().isChinese() ? 3 : 2;
|
||||||
List data = widget.sleepReport['bs'] ?? [];
|
List data = widget.sleepReport['bs'] ?? [];
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,11 @@
|
|||||||
import 'package:ef/ef.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/svg.dart';
|
import 'package:flutter_svg/svg.dart';
|
||||||
import 'package:vbvs_app/common/color/appConstants.dart';
|
import 'package:vbvs_app/common/color/appConstants.dart';
|
||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/GradientLine.dart';
|
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/SnoreWaveform.dart';
|
|
||||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
|
||||||
|
|
||||||
class SleepChartContainer extends StatelessWidget {
|
class SleepChartContainer extends StatelessWidget {
|
||||||
final Map sleepReport;
|
final Map sleepReport;
|
||||||
@@ -54,6 +51,7 @@ class SleepChartContainer extends StatelessWidget {
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||||
borderRadius: 0.rpx,
|
borderRadius: 0.rpx,
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -72,6 +70,21 @@ class SleepChartContainer extends StatelessWidget {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
tipText,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
width: 30.rpx,
|
width: 30.rpx,
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/GradientLine.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/GradientLine.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/SnoreWaveform.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/SnoreWaveform.dart';
|
||||||
@@ -94,6 +95,7 @@ class _SleepViewWidgetState extends State<SleepViewWidget> {
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -113,6 +115,23 @@ class _SleepViewWidgetState extends State<SleepViewWidget> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
"睡眠规律性是指个体睡眠模式在时间、时长、环境等方面呈现出的稳定性和一致性,是衡量睡眠质量的重要指标之一。"
|
||||||
|
.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/LineChartByRange.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/LineChartByRange.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/SnoreChart.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/SnoreChart.dart';
|
||||||
@@ -123,6 +124,7 @@ class _SnoreViewWidgetWidgetState extends State<SnoreViewWidgetWidget> {
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -142,6 +144,22 @@ class _SnoreViewWidgetWidgetState extends State<SnoreViewWidgetWidget> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
"打鼾监测是指用户在睡眠过程中打鼾频次的图表说明。".tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/svg.dart';
|
import 'package:flutter_svg/svg.dart';
|
||||||
import 'package:flutterflow_ui/flutterflow_ui.dart';
|
import 'package:flutterflow_ui/flutterflow_ui.dart';
|
||||||
|
import 'package:vbvs_app/common/color/appConstants.dart';
|
||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
|
|
||||||
class TrendDataTablePage extends StatefulWidget {
|
class TrendDataTablePage extends StatefulWidget {
|
||||||
@@ -54,6 +56,7 @@ class _TrendDataTablePageState extends State<TrendDataTablePage> {
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||||
borderRadius: 0.rpx,
|
borderRadius: 0.rpx,
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -72,6 +75,22 @@ class _TrendDataTablePageState extends State<TrendDataTablePage> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
widget.tipText,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
width: 30.rpx,
|
width: 30.rpx,
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
|
|
||||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||||
@@ -57,10 +58,11 @@ class IndicatorCompareCard extends StatelessWidget {
|
|||||||
ClickableContainer(
|
ClickableContainer(
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
highlightColor: Colors.white,
|
highlightColor: Colors.white,
|
||||||
padding:
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
EdgeInsetsDirectional.fromSTEB(14.rpx, 10.rpx, 14.rpx, 10.rpx),
|
14.rpx, 10.rpx, 14.rpx, 10.rpx),
|
||||||
borderRadius: 0.rpx,
|
borderRadius: 0.rpx,
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Text(
|
Text(
|
||||||
@@ -77,6 +79,20 @@ class IndicatorCompareCard extends StatelessWidget {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Text(
|
||||||
|
tooltip!.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
width: 30.rpx,
|
width: 30.rpx,
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/StatusBarWithIndicator.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/StatusBarWithIndicator.dart';
|
||||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||||
@@ -94,12 +95,14 @@ class _ZiZhuShenJingPercentWidgetState
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
child: Text(
|
child: Text(
|
||||||
// "自主神经平衡指数监测介绍".tr,
|
// "心理健康评估介绍".tr,
|
||||||
"自主神经平衡指数 是评估人体自主神经系统(ANS)功能状态的重要指标,主要反映交感神经和副交感神经的活性平衡关系。".tr,
|
"自主神经平衡指数 是评估人体自主神经系统(ANS)功能状态的重要指标,主要反映交感神经和副交感神经的活性平衡关系。"
|
||||||
|
.tr,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 26.rpx,
|
fontSize: 26.rpx,
|
||||||
color: Colors.black,
|
color: Colors.black,
|
||||||
@@ -113,6 +116,23 @@ class _ZiZhuShenJingPercentWidgetState
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
showTipDialog(
|
||||||
|
context,
|
||||||
|
Container(
|
||||||
|
child: Text(
|
||||||
|
"自主神经平衡指数是评估人体自主神经系统(ANS)功能状态的重要指标,主要反映交感神经和副交感神经的活性平衡关系。"
|
||||||
|
.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.rpx,
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
colors: AppConstants().thNormalButton,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
import 'package:vbvs_app/pages/mh_page/homepage/controller/mht_home_controller.dart';
|
import 'package:vbvs_app/pages/mh_page/homepage/controller/mht_home_controller.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/chart/SnoreWaveform.dart';
|
import 'package:vbvs_app/pages/sleep_report/chart/SnoreWaveform.dart';
|
||||||
@@ -119,6 +120,7 @@ class _NewSleepViewWidgetState extends State<NewSleepViewWidget> {
|
|||||||
14.rpx, 0.rpx, 14.rpx, 0), //
|
14.rpx, 0.rpx, 14.rpx, 0), //
|
||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -138,6 +140,7 @@ class _NewSleepViewWidgetState extends State<NewSleepViewWidget> {
|
|||||||
Color(0xFF006FA3)
|
Color(0xFF006FA3)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(
|
||||||
|
|||||||
@@ -563,8 +563,7 @@ class _NewSleepReportPageState extends State<NewSleepReportPage> {
|
|||||||
CrossAxisAlignment.start,
|
CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
'${widget.data['code'] ?? '未知数据'.tr}',
|
'${widget.data['code'] ?? widget.data['mac']}',
|
||||||
// "D11250300003",
|
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontFamily: 'Inter',
|
fontFamily: 'Inter',
|
||||||
fontSize: 26.rpx,
|
fontSize: 26.rpx,
|
||||||
@@ -853,7 +852,8 @@ class _NewSleepReportPageState extends State<NewSleepReportPage> {
|
|||||||
CrossAxisAlignment.start,
|
CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
'${widget.data['code'] ?? '未知数据'.tr}',
|
// '${widget.data['code'] ?? '未知数据'.tr}',
|
||||||
|
'${widget.data['code'] ?? widget.data['mac']}',
|
||||||
// "D11250300003",
|
// "D11250300003",
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontFamily: 'Inter',
|
fontFamily: 'Inter',
|
||||||
|
|||||||
Reference in New Issue
Block a user