更新睡眠的心率基准图不显示
This commit is contained in:
Binary file not shown.
@@ -237,7 +237,7 @@ class _BodyDevicePageState extends State<BodyDeviceWidget> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodysize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -169,7 +169,6 @@ class _MessageSettingPageState extends State<MessageSettingPage> {
|
||||
print(res);
|
||||
},
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -181,7 +180,7 @@ class _MessageSettingPageState extends State<MessageSettingPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodysize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -35,7 +35,7 @@ class _DeviceDetailPageState extends State<DeviceDetailPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -148,7 +148,7 @@ class _InstantBodyPageState extends State<InstantBodyPage>
|
||||
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -38,7 +38,7 @@ class _MessageReviewPageState extends State<MessageReviewPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodysize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -61,7 +61,7 @@ class _AfterCalibrationPersonPageState
|
||||
return WillPopScope(
|
||||
child: LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -55,7 +55,7 @@ class _AfterUpdatePersonPageState extends State<AfterUpdatePersonPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -71,7 +71,7 @@ class _AfterWifiPagePersonState extends State<AfterWifiPagePerson> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -37,7 +37,7 @@ class _EPageState extends State<BindDeviceSuccess> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -271,7 +271,7 @@ class _BlueteethDevicePageState extends State<BlueteethDevicePage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, boxConstraints) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -169,7 +169,6 @@ class _MessageSettingPageState extends State<MessageSettingPage> {
|
||||
print(res);
|
||||
},
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -181,7 +180,7 @@ class _MessageSettingPageState extends State<MessageSettingPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodysize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -442,7 +441,9 @@ class _MessageSettingPageState extends State<MessageSettingPage> {
|
||||
],
|
||||
),
|
||||
Text(
|
||||
AppConstants().ent_type == 1? "APP消息介绍".tr:"打开“欢睡科技”APP,可以查看该设备的消息内容",
|
||||
AppConstants().ent_type == 1
|
||||
? "APP消息介绍".tr
|
||||
: "打开“欢睡科技”APP,可以查看该设备的消息内容",
|
||||
style: TextStyle(
|
||||
color: themeController.currentColor.sc4,
|
||||
fontSize: AppConstants()
|
||||
@@ -548,7 +549,9 @@ class _MessageSettingPageState extends State<MessageSettingPage> {
|
||||
],
|
||||
),
|
||||
Text(
|
||||
AppConstants().ent_type == 1? "服务号消息介绍".tr:"无需打开“欢睡科技”APP,关注欢睡智能睡眠研究所服务号后,微信内即可接收该设备消息推送",
|
||||
AppConstants().ent_type == 1
|
||||
? "服务号消息介绍".tr
|
||||
: "无需打开“欢睡科技”APP,关注欢睡智能睡眠研究所服务号后,微信内即可接收该设备消息推送",
|
||||
style: TextStyle(
|
||||
color: themeController.currentColor.sc4,
|
||||
fontSize: AppConstants()
|
||||
|
||||
@@ -59,7 +59,7 @@ class _CalibrationPageState extends State<CalibrationPage> {
|
||||
return WillPopScope(
|
||||
child: LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -50,7 +50,7 @@ class _CalibrationPageState extends State<CalibrationPage> {
|
||||
return WillPopScope(
|
||||
child: LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -59,7 +59,7 @@ class _CalibrationPersonPageState extends State<CalibrationPersonPage> {
|
||||
return WillPopScope(
|
||||
child: LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -46,7 +46,7 @@ class _DeviceShareListPageState extends State<DeviceShareListPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, boxConstraints) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -175,8 +175,7 @@ class _DeviceShareListPageState extends State<DeviceShareListPage> {
|
||||
),
|
||||
errorBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
Colors.white,
|
||||
color: Colors.white,
|
||||
width: 1.rpx,
|
||||
),
|
||||
borderRadius:
|
||||
@@ -185,8 +184,7 @@ class _DeviceShareListPageState extends State<DeviceShareListPage> {
|
||||
focusedErrorBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
Colors.white,
|
||||
color: Colors.white,
|
||||
width: 1.rpx,
|
||||
),
|
||||
borderRadius:
|
||||
|
||||
@@ -39,7 +39,7 @@ class _DeviceSharePageState extends State<DeviceSharePage> {
|
||||
RxBool flag2 = false.obs;
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -218,8 +218,7 @@ class _EPageState extends State<DeviceTypePage> {
|
||||
},
|
||||
side: BorderSide(
|
||||
width: 1.5,
|
||||
color:
|
||||
Colors.white,
|
||||
color: Colors.white,
|
||||
),
|
||||
activeColor:
|
||||
stringToColor("#16C89F"),
|
||||
@@ -295,7 +294,7 @@ class _EPageState extends State<DeviceTypePage> {
|
||||
}
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -45,7 +45,7 @@ class _DeviceTypeListPageState extends State<DeviceTypeListPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -130,7 +130,7 @@ class _WifiPageState extends State<WifiPage> {
|
||||
print("object");
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -516,7 +516,9 @@ class _WifiPageState extends State<WifiPage> {
|
||||
),
|
||||
filled:
|
||||
false,
|
||||
fillColor: Colors.white,
|
||||
fillColor:
|
||||
Colors
|
||||
.white,
|
||||
suffixIcon:
|
||||
InkWell(
|
||||
onTap:
|
||||
|
||||
@@ -71,7 +71,7 @@ class _WifiPagePersonState extends State<WifiPagePerson> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -459,7 +459,9 @@ class _WifiPagePersonState extends State<WifiPagePerson> {
|
||||
),
|
||||
filled:
|
||||
false,
|
||||
fillColor: Colors.white,
|
||||
fillColor:
|
||||
Colors
|
||||
.white,
|
||||
suffixIcon:
|
||||
InkWell(
|
||||
onTap:
|
||||
|
||||
@@ -87,7 +87,7 @@ class _EPageState extends State<LoginPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodysize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -101,8 +101,7 @@ class _EPageState extends State<LoginPage> {
|
||||
body: SafeArea(
|
||||
top: true,
|
||||
child: Padding(
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(75.rpx, 0.rpx, 75.rpx, 0),
|
||||
padding: EdgeInsetsDirectional.fromSTEB(75.rpx, 0.rpx, 75.rpx, 0),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
@@ -116,8 +115,7 @@ class _EPageState extends State<LoginPage> {
|
||||
backgroundColor: Colors.transparent, // 容器背景色
|
||||
highlightColor:
|
||||
themeController.currentColor.sc21, // 点击时的背景色
|
||||
padding:
|
||||
EdgeInsets.zero, // 这里去掉外部的 padding,避免影响点击范围
|
||||
padding: EdgeInsets.zero, // 这里去掉外部的 padding,避免影响点击范围
|
||||
onTap: () {
|
||||
Get.back();
|
||||
},
|
||||
@@ -156,8 +154,7 @@ class _EPageState extends State<LoginPage> {
|
||||
fontSize: 48.rpx,
|
||||
letterSpacing: 0.0,
|
||||
//todo 颜色
|
||||
color:
|
||||
themeController.currentColor.sc3,
|
||||
color: themeController.currentColor.sc3,
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -181,8 +178,7 @@ class _EPageState extends State<LoginPage> {
|
||||
fontSize: 30.rpx,
|
||||
letterSpacing: 0.0,
|
||||
//todo 颜色
|
||||
color:
|
||||
themeController.currentColor.sc3,
|
||||
color: themeController.currentColor.sc3,
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -206,8 +202,7 @@ class _EPageState extends State<LoginPage> {
|
||||
fontSize: 48.rpx,
|
||||
letterSpacing: 0.0,
|
||||
//todo 颜色
|
||||
color:
|
||||
themeController.currentColor.sc3,
|
||||
color: themeController.currentColor.sc3,
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -215,8 +210,8 @@ class _EPageState extends State<LoginPage> {
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
0, 35.rpx, 0, 0),
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(0, 35.rpx, 0, 0),
|
||||
child: CustomCard(
|
||||
borderRadius: AppConstants()
|
||||
.button_container_radius, // 圆角半径
|
||||
@@ -239,16 +234,15 @@ class _EPageState extends State<LoginPage> {
|
||||
|
||||
child: Container(
|
||||
width: bodysize.maxWidth,
|
||||
height: MediaQuery.sizeOf(context).height *
|
||||
0.055,
|
||||
height:
|
||||
MediaQuery.sizeOf(context).height * 0.055,
|
||||
constraints: BoxConstraints(
|
||||
minWidth: 500.rpx,
|
||||
minHeight: 90.rpx,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Expanded(
|
||||
child: Text(
|
||||
@@ -256,8 +250,8 @@ class _EPageState extends State<LoginPage> {
|
||||
'登录页.本机号码一键登录/注册'.tr,
|
||||
style: TextStyle(
|
||||
//todo 颜色
|
||||
color: themeController
|
||||
.currentColor.sc3,
|
||||
color:
|
||||
themeController.currentColor.sc3,
|
||||
fontFamily: 'Inter',
|
||||
fontSize: AppConstants()
|
||||
.normal_text_fontSize,
|
||||
@@ -279,8 +273,8 @@ class _EPageState extends State<LoginPage> {
|
||||
),
|
||||
ClickableContainer(
|
||||
backgroundColor: Colors.transparent, // 容器背景色
|
||||
highlightColor: themeController
|
||||
.currentColor.sc21, // 点击时的背景色
|
||||
highlightColor:
|
||||
themeController.currentColor.sc21, // 点击时的背景色
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
16.rpx, 10.rpx, 16.rpx, 10.rpx),
|
||||
onTap: () {
|
||||
@@ -306,17 +300,14 @@ class _EPageState extends State<LoginPage> {
|
||||
decoration: BoxDecoration(),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Theme(
|
||||
data: ThemeData(
|
||||
checkboxTheme: CheckboxThemeData(
|
||||
visualDensity:
|
||||
VisualDensity.compact,
|
||||
visualDensity: VisualDensity.compact,
|
||||
materialTapTargetSize:
|
||||
MaterialTapTargetSize
|
||||
.shrinkWrap,
|
||||
MaterialTapTargetSize.shrinkWrap,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius:
|
||||
BorderRadius.circular(64),
|
||||
@@ -344,16 +335,13 @@ class _EPageState extends State<LoginPage> {
|
||||
width: 1.5,
|
||||
color: Colors.white,
|
||||
),
|
||||
activeColor:
|
||||
stringToColor("#FF9F66"),
|
||||
checkColor:
|
||||
Colors.white,
|
||||
activeColor: stringToColor("#FF9F66"),
|
||||
checkColor: Colors.white,
|
||||
),
|
||||
)),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
0.rpx, 10.rpx, 0.rpx, 0.rpx),
|
||||
child: Container(
|
||||
width: bodysize.maxWidth,
|
||||
@@ -380,8 +368,8 @@ class _EPageState extends State<LoginPage> {
|
||||
fontFamily: 'Inter',
|
||||
letterSpacing: 0.0,
|
||||
fontSize: 26.rpx,
|
||||
color: stringToColor(
|
||||
"#FF9F66"),
|
||||
color:
|
||||
stringToColor("#FF9F66"),
|
||||
),
|
||||
),
|
||||
TextSpan(
|
||||
@@ -400,8 +388,8 @@ class _EPageState extends State<LoginPage> {
|
||||
fontFamily: 'Inter',
|
||||
letterSpacing: 0.0,
|
||||
fontSize: 26.rpx,
|
||||
color: stringToColor(
|
||||
"#FF9F66"),
|
||||
color:
|
||||
stringToColor("#FF9F66"),
|
||||
),
|
||||
),
|
||||
TextSpan(
|
||||
@@ -420,8 +408,8 @@ class _EPageState extends State<LoginPage> {
|
||||
fontFamily: 'Inter',
|
||||
letterSpacing: 0.0,
|
||||
fontSize: 26.rpx,
|
||||
color: stringToColor(
|
||||
"#FF9F66"),
|
||||
color:
|
||||
stringToColor("#FF9F66"),
|
||||
),
|
||||
),
|
||||
],
|
||||
@@ -449,8 +437,8 @@ class _EPageState extends State<LoginPage> {
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Padding(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
0, 0, 0, 36.rpx),
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(0, 0, 0, 36.rpx),
|
||||
child: Text(
|
||||
'登录页.其他登录方式'.tr,
|
||||
style: TextStyle(
|
||||
@@ -483,13 +471,11 @@ class _EPageState extends State<LoginPage> {
|
||||
TopSlideNotification.show(
|
||||
context,
|
||||
text: "登录页.未同意协议".tr,
|
||||
textColor:
|
||||
themeController.currentColor.sc9,
|
||||
textColor: themeController.currentColor.sc9,
|
||||
);
|
||||
return;
|
||||
}
|
||||
await loginController
|
||||
.wxLoginSendAuth(context);
|
||||
await loginController.wxLoginSendAuth(context);
|
||||
},
|
||||
child: Container(
|
||||
width: 91.rpx,
|
||||
|
||||
@@ -99,7 +99,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodysize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -113,8 +113,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
body: SafeArea(
|
||||
top: true,
|
||||
child: Padding(
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(75.rpx, 0.rpx, 75.rpx, 0),
|
||||
padding: EdgeInsetsDirectional.fromSTEB(75.rpx, 0.rpx, 75.rpx, 0),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
@@ -165,8 +164,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
fontFamily: 'Inter',
|
||||
fontSize: 48.rpx,
|
||||
letterSpacing: 0.0,
|
||||
color:
|
||||
themeController.currentColor.sc3,
|
||||
color: themeController.currentColor.sc3,
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -189,8 +187,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
fontFamily: 'Inter',
|
||||
fontSize: 30.rpx,
|
||||
letterSpacing: 0.0,
|
||||
color:
|
||||
themeController.currentColor.sc3,
|
||||
color: themeController.currentColor.sc3,
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -208,8 +205,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.transparent,
|
||||
borderRadius: BorderRadius.circular(
|
||||
AppConstants()
|
||||
.button_container_radius),
|
||||
AppConstants().button_container_radius),
|
||||
border: Border.all(
|
||||
color: themeController.currentColor.sc4
|
||||
.withOpacity(0.5),
|
||||
@@ -234,8 +230,8 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
AlignmentDirectional(-1, 0),
|
||||
child: TextFormField(
|
||||
onChanged: (value) {
|
||||
loginController
|
||||
.model.phone = value;
|
||||
loginController.model.phone =
|
||||
value;
|
||||
},
|
||||
autofocus: false,
|
||||
obscureText: false,
|
||||
@@ -257,8 +253,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
enabledBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
Color(0x00000000),
|
||||
color: Color(0x00000000),
|
||||
width: 1.rpx,
|
||||
),
|
||||
borderRadius:
|
||||
@@ -268,16 +263,14 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
focusedBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
Color(0x00000000),
|
||||
color: Color(0x00000000),
|
||||
width: 1.rpx,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
8.rpx),
|
||||
),
|
||||
errorBorder:
|
||||
OutlineInputBorder(
|
||||
errorBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color: Colors.red,
|
||||
width: 1.rpx,
|
||||
@@ -332,8 +325,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.transparent,
|
||||
borderRadius: BorderRadius.circular(
|
||||
AppConstants()
|
||||
.button_container_radius),
|
||||
AppConstants().button_container_radius),
|
||||
border: Border.all(
|
||||
color: themeController.currentColor.sc4
|
||||
.withOpacity(0.5),
|
||||
@@ -370,8 +362,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
fontSize: 26.rpx,
|
||||
letterSpacing: 0.0,
|
||||
),
|
||||
hintText:
|
||||
'其他手机登录页.输入验证码'.tr,
|
||||
hintText: '其他手机登录页.输入验证码'.tr,
|
||||
hintStyle: TextStyle(
|
||||
fontFamily: 'Inter',
|
||||
fontSize: 26.rpx,
|
||||
@@ -382,8 +373,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
enabledBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
Color(0x00000000),
|
||||
color: Color(0x00000000),
|
||||
width: 1.rpx,
|
||||
),
|
||||
borderRadius:
|
||||
@@ -393,16 +383,14 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
focusedBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
Color(0x00000000),
|
||||
color: Color(0x00000000),
|
||||
width: 1.rpx,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
8.rpx),
|
||||
),
|
||||
errorBorder:
|
||||
OutlineInputBorder(
|
||||
errorBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color: Colors.red,
|
||||
width: 1.rpx,
|
||||
@@ -422,8 +410,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
8.rpx),
|
||||
),
|
||||
filled: true,
|
||||
fillColor:
|
||||
Colors.transparent,
|
||||
fillColor: Colors.transparent,
|
||||
),
|
||||
style: TextStyle(
|
||||
fontFamily: 'Inter',
|
||||
@@ -442,8 +429,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
26.rpx, 0, 0, 0),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
@@ -467,46 +453,36 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
DailyLogUtils.writeLog(
|
||||
"点击获取验证码");
|
||||
if (countdownController
|
||||
.countdown
|
||||
.value !=
|
||||
.countdown.value !=
|
||||
0) {
|
||||
return;
|
||||
}
|
||||
ApiResponse
|
||||
apiResponse =
|
||||
ApiResponse apiResponse =
|
||||
await loginController
|
||||
.getCode(
|
||||
context);
|
||||
.getCode(context);
|
||||
if (apiResponse.code !=
|
||||
HttpStatusCodes
|
||||
.ok) {
|
||||
TopSlideNotification
|
||||
.show(
|
||||
HttpStatusCodes.ok) {
|
||||
TopSlideNotification.show(
|
||||
context,
|
||||
text: apiResponse
|
||||
.msg!,
|
||||
text: apiResponse.msg!,
|
||||
textColor:
|
||||
themeController
|
||||
.currentColor
|
||||
.sc9,
|
||||
);
|
||||
await DailyLogUtils
|
||||
.writeLog(
|
||||
await DailyLogUtils.writeLog(
|
||||
"获取验证码成功,${apiResponse}");
|
||||
return;
|
||||
} else {
|
||||
TopSlideNotification
|
||||
.show(
|
||||
TopSlideNotification.show(
|
||||
context,
|
||||
text: apiResponse
|
||||
.msg!,
|
||||
text: apiResponse.msg!,
|
||||
textColor:
|
||||
themeController
|
||||
.currentColor
|
||||
.sc2,
|
||||
);
|
||||
await DailyLogUtils
|
||||
.writeLog(
|
||||
await DailyLogUtils.writeLog(
|
||||
"获取验证码失败,${apiResponse}");
|
||||
}
|
||||
countdownController
|
||||
@@ -522,17 +498,13 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
await DailyLogUtils
|
||||
.writeLog(
|
||||
"获取验证码异常,${e}");
|
||||
edm.EasyDartModule
|
||||
.logger
|
||||
.info(
|
||||
"获取验证码异常:${e}");
|
||||
edm.EasyDartModule.logger
|
||||
.info("获取验证码异常:${e}");
|
||||
}
|
||||
},
|
||||
child: Container(
|
||||
alignment:
|
||||
Alignment.center,
|
||||
constraints:
|
||||
BoxConstraints(
|
||||
alignment: Alignment.center,
|
||||
constraints: BoxConstraints(
|
||||
minWidth: 150.rpx,
|
||||
),
|
||||
child: Text(
|
||||
@@ -544,8 +516,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
: '${countdownController.countdown.value}' +
|
||||
"其他手机登录页.秒".tr,
|
||||
style: TextStyle(
|
||||
fontFamily:
|
||||
'Readex Pro',
|
||||
fontFamily: 'Readex Pro',
|
||||
color: themeController
|
||||
.currentColor.sc2,
|
||||
fontSize: AppConstants()
|
||||
@@ -566,8 +537,8 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
0, 26.rpx, 0, 0),
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(0, 26.rpx, 0, 0),
|
||||
child: CustomCard(
|
||||
borderRadius: AppConstants()
|
||||
.button_container_radius, // 圆角半径
|
||||
@@ -585,38 +556,34 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
);
|
||||
} else {
|
||||
ApiResponse apiResponse =
|
||||
await loginController
|
||||
.login(context);
|
||||
await loginController.login(context);
|
||||
if (apiResponse.code !=
|
||||
HttpStatusCodes.ok) {
|
||||
TopSlideNotification.show(
|
||||
context,
|
||||
text: apiResponse.msg!,
|
||||
textColor: themeController
|
||||
.currentColor.sc9,
|
||||
textColor:
|
||||
themeController.currentColor.sc9,
|
||||
);
|
||||
} else {
|
||||
// await dealBindProcess();
|
||||
CountdownController
|
||||
countdownController = Get.find();
|
||||
countdownController.countdown.value =
|
||||
0;
|
||||
CountdownController countdownController =
|
||||
Get.find();
|
||||
countdownController.countdown.value = 0;
|
||||
// 登录成功,跳转到主页面
|
||||
TopSlideNotification.show(
|
||||
context,
|
||||
text: "其他手机登录页.登录成功".tr,
|
||||
textColor: themeController
|
||||
.currentColor.sc2,
|
||||
textColor:
|
||||
themeController.currentColor.sc2,
|
||||
);
|
||||
// Get.offAllNamed('/homePage');
|
||||
Get.offAllNamed(
|
||||
"/mianPageBottomChange");
|
||||
Get.offAllNamed("/mianPageBottomChange");
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
await DailyLogUtils.writeLog("登录失败,${e}");
|
||||
edm.EasyDartModule.logger
|
||||
.info("登录失败:${e}");
|
||||
edm.EasyDartModule.logger.info("登录失败:${e}");
|
||||
}
|
||||
},
|
||||
colors: [
|
||||
@@ -626,25 +593,23 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
|
||||
child: Container(
|
||||
width: bodysize.maxWidth,
|
||||
height: MediaQuery.sizeOf(context).height *
|
||||
0.055,
|
||||
height:
|
||||
MediaQuery.sizeOf(context).height * 0.055,
|
||||
constraints: BoxConstraints(
|
||||
minWidth: 500.rpx,
|
||||
minHeight: 90.rpx,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
'其他手机登录页.登录'.tr,
|
||||
style: TextStyle(
|
||||
color: themeController
|
||||
.currentColor.sc3,
|
||||
color: themeController.currentColor.sc3,
|
||||
fontFamily: 'Inter',
|
||||
fontSize: AppConstants()
|
||||
.normal_text_fontSize,
|
||||
fontSize:
|
||||
AppConstants().normal_text_fontSize,
|
||||
letterSpacing: 0.0,
|
||||
),
|
||||
),
|
||||
@@ -663,17 +628,14 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
decoration: BoxDecoration(),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Theme(
|
||||
data: ThemeData(
|
||||
checkboxTheme: CheckboxThemeData(
|
||||
visualDensity:
|
||||
VisualDensity.compact,
|
||||
visualDensity: VisualDensity.compact,
|
||||
materialTapTargetSize:
|
||||
MaterialTapTargetSize
|
||||
.shrinkWrap,
|
||||
MaterialTapTargetSize.shrinkWrap,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius:
|
||||
BorderRadius.circular(64),
|
||||
@@ -708,8 +670,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
)),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
0.rpx, 10.rpx, 0.rpx, 0.rpx),
|
||||
child: Container(
|
||||
width: bodysize.maxWidth,
|
||||
@@ -736,8 +697,8 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
fontFamily: 'Inter',
|
||||
letterSpacing: 0.0,
|
||||
fontSize: 20.rpx,
|
||||
color: stringToColor(
|
||||
"#FF9F66"),
|
||||
color:
|
||||
stringToColor("#FF9F66"),
|
||||
),
|
||||
),
|
||||
TextSpan(
|
||||
@@ -756,8 +717,8 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
fontFamily: 'Inter',
|
||||
letterSpacing: 0.0,
|
||||
fontSize: 20.rpx,
|
||||
color: stringToColor(
|
||||
"#FF9F66"),
|
||||
color:
|
||||
stringToColor("#FF9F66"),
|
||||
),
|
||||
),
|
||||
TextSpan(
|
||||
@@ -776,8 +737,8 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
fontFamily: 'Inter',
|
||||
letterSpacing: 0.0,
|
||||
fontSize: 20.rpx,
|
||||
color: stringToColor(
|
||||
"#FF9F66"),
|
||||
color:
|
||||
stringToColor("#FF9F66"),
|
||||
),
|
||||
),
|
||||
],
|
||||
@@ -805,8 +766,8 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Padding(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
0, 0, 0, 36.rpx),
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(0, 0, 0, 36.rpx),
|
||||
child: Text(
|
||||
AppConstants().ent_type == 1
|
||||
? '登录页.欢迎使用太和e护'.tr
|
||||
@@ -837,13 +798,11 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
|
||||
TopSlideNotification.show(
|
||||
context,
|
||||
text: "登录页.未同意协议".tr,
|
||||
textColor:
|
||||
themeController.currentColor.sc9,
|
||||
textColor: themeController.currentColor.sc9,
|
||||
);
|
||||
return;
|
||||
}
|
||||
await loginController
|
||||
.wxLoginSendAuth(context);
|
||||
await loginController.wxLoginSendAuth(context);
|
||||
},
|
||||
child: Container(
|
||||
width: 91.rpx,
|
||||
|
||||
@@ -22,7 +22,7 @@ class _EPageState extends State<EPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, boxConstraints) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Scaffold(
|
||||
appBar: AppBar(
|
||||
backgroundColor: themeController.currentColor.sc17,
|
||||
|
||||
@@ -30,7 +30,7 @@ class _FollowPageState extends State<FollowPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
// decoration: BoxDecoration(
|
||||
// image: DecorationImage(
|
||||
@@ -86,7 +86,9 @@ class _FollowPageState extends State<FollowPage> {
|
||||
// child: widget.webView,
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
image: AssetImage(AppConstants().ent_type == 1?'assets/img/followus.png':"assets/img/huanshuiF.png"), // 本地图片
|
||||
image: AssetImage(AppConstants().ent_type == 1
|
||||
? 'assets/img/followus.png'
|
||||
: "assets/img/huanshuiF.png"), // 本地图片
|
||||
fit: BoxFit.cover, // 填满整个 Container
|
||||
),
|
||||
),
|
||||
|
||||
@@ -34,7 +34,7 @@ class _HelpPageState extends State<HelpPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -79,7 +79,7 @@ class _MessagePageState extends State<MessagePage> {
|
||||
|
||||
return LayoutBuilder(
|
||||
builder: (context, boxConstraints) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -253,7 +253,6 @@ class _MessagePageState extends State<MessagePage> {
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
SizedBox(height: 17.rpx),
|
||||
],
|
||||
),
|
||||
|
||||
@@ -39,7 +39,7 @@ class _MinePageState extends State<MinePage> {
|
||||
int login = userInfoController.model.login!;
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -24,7 +24,7 @@ class _BackMovementPageState extends State<BackMovementPage> {
|
||||
final double spacing = 34.rpx;
|
||||
final double buttonHeight = 101.rpx;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
child: Scaffold(
|
||||
appBar: AppBar(
|
||||
@@ -75,8 +75,7 @@ class _BackMovementPageState extends State<BackMovementPage> {
|
||||
SizedBox(height: 148.rpx),
|
||||
Text(
|
||||
intensity.toInt().toString(),
|
||||
style:
|
||||
TextStyle(color: Colors.white, fontSize: 160.rpx),
|
||||
style: TextStyle(color: Colors.white, fontSize: 160.rpx),
|
||||
),
|
||||
SizedBox(height: 41.rpx),
|
||||
SizedBox(
|
||||
@@ -91,17 +90,14 @@ class _BackMovementPageState extends State<BackMovementPage> {
|
||||
child: SizedBox(
|
||||
width: 60.rpx,
|
||||
child: Column(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.spaceBetween,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text('强',
|
||||
style: TextStyle(
|
||||
color: Colors.grey,
|
||||
fontSize: 30.rpx)),
|
||||
color: Colors.grey, fontSize: 30.rpx)),
|
||||
Text('弱',
|
||||
style: TextStyle(
|
||||
color: Colors.grey,
|
||||
fontSize: 30.rpx)),
|
||||
color: Colors.grey, fontSize: 30.rpx)),
|
||||
],
|
||||
),
|
||||
),
|
||||
@@ -126,8 +122,7 @@ class _BackMovementPageState extends State<BackMovementPage> {
|
||||
trackHeight: 60.rpx,
|
||||
thumbShape: RoundSliderThumbShape(
|
||||
enabledThumbRadius: 45.rpx),
|
||||
overlayShape:
|
||||
const RoundSliderOverlayShape(
|
||||
overlayShape: const RoundSliderOverlayShape(
|
||||
overlayRadius: 20),
|
||||
),
|
||||
child: Slider(
|
||||
@@ -159,8 +154,8 @@ class _BackMovementPageState extends State<BackMovementPage> {
|
||||
alignment: Alignment.centerLeft,
|
||||
child: Text(
|
||||
'按摩定时',
|
||||
style: TextStyle(
|
||||
color: Colors.white70, fontSize: 30.rpx),
|
||||
style:
|
||||
TextStyle(color: Colors.white70, fontSize: 30.rpx),
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -169,8 +164,7 @@ class _BackMovementPageState extends State<BackMovementPage> {
|
||||
padding: EdgeInsets.fromLTRB(40.rpx, 0, 40.rpx, 0),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children:
|
||||
List.generate(timeOptions.length, (index) {
|
||||
children: List.generate(timeOptions.length, (index) {
|
||||
final min = timeOptions[index];
|
||||
final isSelected = selectedTime == min;
|
||||
return SizedBox(
|
||||
@@ -185,9 +179,8 @@ class _BackMovementPageState extends State<BackMovementPage> {
|
||||
backgroundColor: isSelected
|
||||
? Colors.cyanAccent
|
||||
: Colors.blue.shade900,
|
||||
foregroundColor: isSelected
|
||||
? Colors.black
|
||||
: Colors.white,
|
||||
foregroundColor:
|
||||
isSelected ? Colors.black : Colors.white,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(6),
|
||||
),
|
||||
|
||||
@@ -5,7 +5,6 @@ import 'package:flutter/material.dart';
|
||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
|
||||
|
||||
class HomeDeviceType extends StatefulWidget {
|
||||
HomeDeviceType({super.key});
|
||||
@override
|
||||
@@ -25,7 +24,7 @@ class _HomeDeviceTypeState extends State<HomeDeviceType> {
|
||||
// }
|
||||
return LayoutBuilder(
|
||||
builder: (context, boxConstraints) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -84,8 +83,8 @@ class _HomeDeviceTypeState extends State<HomeDeviceType> {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Padding(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
48.rpx, 24.rpx, 0, 0),
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(48.rpx, 24.rpx, 0, 0),
|
||||
child: Text(
|
||||
'选择类型',
|
||||
style: TextStyle(
|
||||
|
||||
@@ -20,7 +20,7 @@ class _MattressControlPageState extends State<MattressControlPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
// onTap: () => FocusScope.of(context).unfocus(),
|
||||
// // onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -23,7 +23,7 @@ class ShareDeviceDetailWidget extends GetView {
|
||||
type.value = shareInfo['op_type'];
|
||||
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Scaffold(
|
||||
key: scaffoldKey,
|
||||
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
||||
|
||||
@@ -44,7 +44,7 @@ class _MhAboutUsPageState extends State<MhAboutUsPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -24,7 +24,7 @@ class AddressListPage extends GetView<AddressListController> {
|
||||
return LayoutBuilder(builder: (context, cc) {
|
||||
bodysize = cc;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -145,15 +145,14 @@ class AddressListPage extends GetView<AddressListController> {
|
||||
Align(
|
||||
alignment: AlignmentDirectional(0, 1),
|
||||
child: Padding(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(15, 15, 15,
|
||||
AppConstants.page_button_bottom_padding),
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
15, 15, 15, AppConstants.page_button_bottom_padding),
|
||||
child: Container(
|
||||
width: bodysize!.maxWidth,
|
||||
height: bodysize!.maxHeight * 0.056,
|
||||
decoration: BoxDecoration(
|
||||
// color: Color(0xFFF6F6F6),
|
||||
border:
|
||||
Border.all(width: 0, color: Color(0XFF85F5FF)),
|
||||
border: Border.all(width: 0, color: Color(0XFF85F5FF)),
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
),
|
||||
child: TextButton(
|
||||
|
||||
@@ -33,7 +33,7 @@ class _ApplyRepairSuccessState extends State<ApplyRepairSuccess> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -67,7 +67,7 @@ class _BluetoothPageState extends State<BluetoothPage> {
|
||||
bodysize = cc;
|
||||
final isBind = obsData['bind_type'] == 1;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -29,7 +29,7 @@ class BookInfoPage extends GetView<BookInfoController> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -24,7 +24,7 @@ class BookSuccessPage extends GetView {
|
||||
return LayoutBuilder(builder: (context, cc) {
|
||||
bodysize = cc;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -115,8 +115,8 @@ class BookSuccessPage extends GetView {
|
||||
),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(
|
||||
left: 30.rpx, right: 30.rpx, top: 55.rpx),
|
||||
margin:
|
||||
EdgeInsets.only(left: 30.rpx, right: 30.rpx, top: 55.rpx),
|
||||
width: bodysize!.maxWidth,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFF003058),
|
||||
@@ -130,8 +130,7 @@ class BookSuccessPage extends GetView {
|
||||
for (var item in infoList)
|
||||
Container(
|
||||
height: 60.rpx,
|
||||
padding:
|
||||
EdgeInsets.symmetric(horizontal: 35.rpx),
|
||||
padding: EdgeInsets.symmetric(horizontal: 35.rpx),
|
||||
alignment: Alignment.centerLeft,
|
||||
child: Row(
|
||||
children: [
|
||||
|
||||
@@ -18,7 +18,7 @@ class DeletedAccountPage extends GetView {
|
||||
bodysize = cc;
|
||||
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -83,8 +83,7 @@ class DeletedAccountPage extends GetView {
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
),
|
||||
child: Padding(
|
||||
padding:
|
||||
const EdgeInsetsDirectional.fromSTEB(
|
||||
padding: const EdgeInsetsDirectional.fromSTEB(
|
||||
21, 0, 22, 0),
|
||||
child: Container(
|
||||
width: MediaQuery.sizeOf(context).width,
|
||||
@@ -116,8 +115,7 @@ class DeletedAccountPage extends GetView {
|
||||
Container(
|
||||
child: Column(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment
|
||||
.spaceBetween,
|
||||
MainAxisAlignment.spaceBetween,
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: [
|
||||
@@ -127,8 +125,8 @@ class DeletedAccountPage extends GetView {
|
||||
style: TextStyle(
|
||||
fontSize: AppFontsize
|
||||
.normal_text_size, // 设置字体大小
|
||||
color: Color(
|
||||
0xFF9AA0B3), // 默认颜色
|
||||
color:
|
||||
Color(0xFF9AA0B3), // 默认颜色
|
||||
),
|
||||
children: [
|
||||
TextSpan(
|
||||
@@ -142,13 +140,11 @@ class DeletedAccountPage extends GetView {
|
||||
),
|
||||
),
|
||||
TextSpan(
|
||||
text:
|
||||
",可先进行解绑后再进行注销操作。",
|
||||
text: ",可先进行解绑后再进行注销操作。",
|
||||
style: TextStyle(
|
||||
fontSize: AppFontsize
|
||||
.normal_text_size,
|
||||
color:
|
||||
Color(0xFF9AA0B3),
|
||||
color: Color(0xFF9AA0B3),
|
||||
),
|
||||
),
|
||||
],
|
||||
@@ -162,8 +158,7 @@ class DeletedAccountPage extends GetView {
|
||||
style: TextStyle(
|
||||
fontSize: AppFontsize
|
||||
.title_size, // 设置字体大小
|
||||
color:
|
||||
const Color(0xFFFFFFFF),
|
||||
color: const Color(0xFFFFFFFF),
|
||||
),
|
||||
),
|
||||
const SizedBox(
|
||||
@@ -185,8 +180,7 @@ class DeletedAccountPage extends GetView {
|
||||
style: TextStyle(
|
||||
fontSize: AppFontsize
|
||||
.title_size, // 设置字体大小
|
||||
color:
|
||||
const Color(0xFFFFFFFF),
|
||||
color: const Color(0xFFFFFFFF),
|
||||
),
|
||||
),
|
||||
const SizedBox(
|
||||
@@ -208,8 +202,7 @@ class DeletedAccountPage extends GetView {
|
||||
style: TextStyle(
|
||||
fontSize: AppFontsize
|
||||
.title_size, // 设置字体大小
|
||||
color:
|
||||
const Color(0xFFFFFFFF),
|
||||
color: const Color(0xFFFFFFFF),
|
||||
),
|
||||
),
|
||||
const SizedBox(
|
||||
@@ -226,12 +219,10 @@ class DeletedAccountPage extends GetView {
|
||||
],
|
||||
)),
|
||||
]
|
||||
.divide(
|
||||
const SizedBox(height: 24))
|
||||
.divide(const SizedBox(height: 24))
|
||||
.addToStart(
|
||||
const SizedBox(height: 14))
|
||||
.addToEnd(
|
||||
const SizedBox(height: 17)),
|
||||
.addToEnd(const SizedBox(height: 17)),
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -292,8 +283,8 @@ class DeletedAccountPage extends GetView {
|
||||
height: 40,
|
||||
padding: const EdgeInsetsDirectional.fromSTEB(
|
||||
24, 0, 24, 0),
|
||||
iconPadding: const EdgeInsetsDirectional.fromSTEB(
|
||||
0, 0, 0, 0),
|
||||
iconPadding:
|
||||
const EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0),
|
||||
color: const Color(0xFFFF7159),
|
||||
textStyle: TextStyle(
|
||||
fontFamily: 'Readex Pro',
|
||||
|
||||
@@ -41,7 +41,7 @@ class _MHTBindDeviceSuccessState extends State<MHTBindDeviceSuccess> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -50,7 +50,7 @@ class _MHTBindDeviceTypePageState extends State<MHTBindDeviceTypePage> {
|
||||
}
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -287,7 +287,7 @@ class _MHTBlueteethDevicePageState extends State<MHTBlueteethDevicePage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, boxConstraints) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -64,7 +64,7 @@ class _MHTCalibrationPageCopyState extends State<MHTCalibrationPageCopy> {
|
||||
return WillPopScope(
|
||||
child: LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -73,7 +73,7 @@ class _MHTCalibrationPageState extends State<MHTCalibrationPage> {
|
||||
return WillPopScope(
|
||||
child: LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -108,7 +108,8 @@ class _MHTWifiPageState extends State<MHTWifiPage> {
|
||||
|
||||
// 导航到下一页
|
||||
if (blueteethBindController.wifiStatus.value != 1) {
|
||||
showConfirmDialog(context, Container(), "未配置网络提示".tr, onConfirm: () async {
|
||||
showConfirmDialog(context, Container(), "未配置网络提示".tr,
|
||||
onConfirm: () async {
|
||||
_cleanupResources();
|
||||
await _disconnectDevice();
|
||||
Get.toNamed("/calibrationPage");
|
||||
@@ -124,7 +125,7 @@ class _MHTWifiPageState extends State<MHTWifiPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -33,7 +33,7 @@ class _DeviceListPageState extends State<DeviceListPage> {
|
||||
return LayoutBuilder(builder: (context, cc) {
|
||||
bodysize = cc;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -36,11 +36,11 @@ class DevicePeopleInfo extends GetView<PeopleInfoController> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
controller.getPeoples (data['mac']);
|
||||
controller.getPeoples(data['mac']);
|
||||
});
|
||||
return LayoutBuilder(
|
||||
builder: (context, boxConstraints) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -92,8 +92,8 @@ class DevicePeopleInfo extends GetView<PeopleInfoController> {
|
||||
top: true,
|
||||
child: Obx(
|
||||
() => Container(
|
||||
padding: EdgeInsets.only(
|
||||
left: 30.rpx, right: 30.rpx, top: 30.rpx),
|
||||
padding:
|
||||
EdgeInsets.only(left: 30.rpx, right: 30.rpx, top: 30.rpx),
|
||||
width: MediaQuery.sizeOf(context).width,
|
||||
height: MediaQuery.sizeOf(context).height * 1.123,
|
||||
// decoration: BoxDecoration(
|
||||
@@ -111,13 +111,12 @@ class DevicePeopleInfo extends GetView<PeopleInfoController> {
|
||||
backgroundColor: Color(0xFFFF036060),
|
||||
highlightColor: Colors.transparent,
|
||||
borderRadius: 16.rpx,
|
||||
padding: EdgeInsets.fromLTRB(
|
||||
30.rpx, 20.rpx, 0, 20.rpx),
|
||||
padding:
|
||||
EdgeInsets.fromLTRB(30.rpx, 20.rpx, 0, 20.rpx),
|
||||
onTap: () {},
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius:
|
||||
BorderRadius.circular(16.rpx)),
|
||||
borderRadius: BorderRadius.circular(16.rpx)),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
@@ -134,8 +133,8 @@ class DevicePeopleInfo extends GetView<PeopleInfoController> {
|
||||
),
|
||||
getInfoRow(
|
||||
context, "名称:${data["name"] ?? "-"}"),
|
||||
getInfoRow(context,
|
||||
"房间:${data["roomName"] ?? "-"}"),
|
||||
getInfoRow(
|
||||
context, "房间:${data["roomName"] ?? "-"}"),
|
||||
getInfoRow(
|
||||
context,
|
||||
"设备状态:${data["status"]?["status"] == 1 ? "已绑定" : data["status"]?["status"] == 0 ? "已绑定" : "-"}",
|
||||
|
||||
@@ -29,7 +29,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
controller.model.type = 1;
|
||||
controller.model.account = '';
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -76,14 +76,12 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
width: MediaQuery.sizeOf(context).width,
|
||||
height: MediaQuery.sizeOf(context).height * 1,
|
||||
child: Padding(
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(30.rpx, 0, 30.rpx, 0),
|
||||
padding: EdgeInsetsDirectional.fromSTEB(30.rpx, 0, 30.rpx, 0),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Padding(
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(0, 30.rpx, 0, 0),
|
||||
padding: EdgeInsetsDirectional.fromSTEB(0, 30.rpx, 0, 0),
|
||||
child: Container(
|
||||
width: MediaQuery.sizeOf(context).width,
|
||||
decoration: BoxDecoration(
|
||||
@@ -99,8 +97,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
children: [
|
||||
Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
'将以下设备分享给您的家人或朋友 ',
|
||||
@@ -132,8 +129,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
minHeight: 46,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius:
|
||||
BorderRadius.circular(16.rpx),
|
||||
borderRadius: BorderRadius.circular(16.rpx),
|
||||
),
|
||||
child: Align(
|
||||
alignment:
|
||||
@@ -147,8 +143,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
hintText: '请输入对方手机号/邮箱号',
|
||||
hintStyle: TextStyle(
|
||||
fontFamily: 'Readex Pro',
|
||||
color:
|
||||
const Color(0xFF929699),
|
||||
color: const Color(0xFF929699),
|
||||
fontSize: 36.rpx,
|
||||
),
|
||||
enabledBorder:
|
||||
@@ -166,8 +161,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
errorBorder:
|
||||
const UnderlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color: Colors.red,
|
||||
width: 0),
|
||||
color: Colors.red, width: 0),
|
||||
),
|
||||
focusedErrorBorder:
|
||||
const UnderlineInputBorder(
|
||||
@@ -185,8 +179,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
fontSize: 36.rpx,
|
||||
),
|
||||
onChanged: (value) {
|
||||
controller.model.account =
|
||||
value;
|
||||
controller.model.account = value;
|
||||
},
|
||||
),
|
||||
)),
|
||||
@@ -245,8 +238,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
),
|
||||
Obx(() {
|
||||
double h = 33.rpx;
|
||||
bool check =
|
||||
controller.model.type == 1;
|
||||
bool check = controller.model.type == 1;
|
||||
|
||||
return Container(
|
||||
height: 33.rpx,
|
||||
@@ -262,8 +254,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
h / 2),
|
||||
border: Border.all(
|
||||
width: check ? 1 : 0.5,
|
||||
color:
|
||||
Color(0xFFC8CBD2),
|
||||
color: Color(0xFFC8CBD2),
|
||||
),
|
||||
),
|
||||
child: check
|
||||
@@ -445,8 +436,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
// ✅ 只包住响应式控件部分
|
||||
Obx(() {
|
||||
double h = 33.rpx;
|
||||
bool check =
|
||||
controller.model.type == 2;
|
||||
bool check = controller.model.type == 2;
|
||||
|
||||
return Container(
|
||||
height: 33.rpx,
|
||||
@@ -462,8 +452,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
h / 2),
|
||||
border: Border.all(
|
||||
width: check ? 1 : 0.5,
|
||||
color:
|
||||
Color(0xFFC8CBD2),
|
||||
color: Color(0xFFC8CBD2),
|
||||
),
|
||||
),
|
||||
child: check
|
||||
@@ -517,8 +506,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
text: '发送邀请'.tr,
|
||||
options: FFButtonOptions(
|
||||
height: 60.rpx,
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
30.rpx, 0, 30.rpx, 0),
|
||||
color: const Color(0xFF84F5FF),
|
||||
textStyle: TextStyle(
|
||||
@@ -528,8 +516,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
letterSpacing: 0.0,
|
||||
),
|
||||
elevation: 0,
|
||||
borderRadius:
|
||||
BorderRadius.circular(50),
|
||||
borderRadius: BorderRadius.circular(50),
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -551,11 +538,11 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Align(
|
||||
alignment:
|
||||
const AlignmentDirectional(-1, 0),
|
||||
alignment: const AlignmentDirectional(-1, 0),
|
||||
child: Padding(
|
||||
padding: const EdgeInsetsDirectional
|
||||
.fromSTEB(14, 0, 0, 16),
|
||||
padding:
|
||||
const EdgeInsetsDirectional.fromSTEB(
|
||||
14, 0, 0, 16),
|
||||
child: Text(
|
||||
'已分享用户'.tr,
|
||||
style: TextStyle(
|
||||
@@ -570,10 +557,8 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
Obx(
|
||||
() {
|
||||
// 检查 shareUser 是否为空或数量为 0
|
||||
if (controller.model.shareUser ==
|
||||
null ||
|
||||
controller
|
||||
.model.shareUser!.isEmpty) {
|
||||
if (controller.model.shareUser == null ||
|
||||
controller.model.shareUser!.isEmpty) {
|
||||
// return Container(
|
||||
// alignment: AlignmentDirectional
|
||||
// .centerStart, // 确保文字靠左对齐
|
||||
@@ -611,8 +596,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
|
||||
// height: 13,
|
||||
// ))
|
||||
.addToEnd(const SizedBox(
|
||||
height:
|
||||
AppConstants.list_end_height,
|
||||
height: AppConstants.list_end_height,
|
||||
)),
|
||||
);
|
||||
},
|
||||
|
||||
@@ -47,7 +47,7 @@ class EditAddressPage extends GetView<AddressController>
|
||||
return LayoutBuilder(builder: (context, cc) {
|
||||
bodysize = cc;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -62,7 +62,7 @@ class _ExperienceStorePageState extends State<ExperienceStorePage> {
|
||||
bodysize = cc;
|
||||
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -130,8 +130,8 @@ class _ExperienceStorePageState extends State<ExperienceStorePage> {
|
||||
//todo
|
||||
|
||||
Padding(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
0, 40.rpx, 0, 38.rpx),
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(0, 40.rpx, 0, 38.rpx),
|
||||
child: SearchWidget(
|
||||
keyword: controller.model.keyword,
|
||||
color: controller.model.color,
|
||||
@@ -147,8 +147,7 @@ class _ExperienceStorePageState extends State<ExperienceStorePage> {
|
||||
),
|
||||
|
||||
Obx(() {
|
||||
if (controller
|
||||
.model.experienceStoreModelList.length ==
|
||||
if (controller.model.experienceStoreModelList.length ==
|
||||
0) {
|
||||
return CircularProgressIndicator(
|
||||
strokeWidth: 1,
|
||||
@@ -166,14 +165,12 @@ class _ExperienceStorePageState extends State<ExperienceStorePage> {
|
||||
shrinkWrap: true,
|
||||
scrollDirection: Axis.vertical,
|
||||
children: List.generate(
|
||||
controller
|
||||
.model
|
||||
.experienceStoreModelList
|
||||
controller.model.experienceStoreModelList
|
||||
.length, (index) {
|
||||
return ExperienceStoreWidget(
|
||||
index: index,
|
||||
data: controller.model
|
||||
.experienceStoreModelList[index]);
|
||||
data: controller
|
||||
.model.experienceStoreModelList[index]);
|
||||
})
|
||||
.divide(const SizedBox(
|
||||
height: 25,
|
||||
|
||||
@@ -52,7 +52,7 @@ class _MhtSleepReportPageState extends State<MhtSleepReportPage> {
|
||||
});
|
||||
int login = userInfoController.model.login!;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// // onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -143,8 +143,7 @@ class _MhtSleepReportPageState extends State<MhtSleepReportPage> {
|
||||
personInfo.value = list[0];
|
||||
homeController.selectPerson.value = list[0];
|
||||
homeController.selectDevcie.value = list[0]["mac"];
|
||||
deviceController
|
||||
.getSleeps(formFieldController.value);
|
||||
deviceController.getSleeps(formFieldController.value);
|
||||
homeController.updateAll();
|
||||
});
|
||||
}
|
||||
@@ -176,8 +175,7 @@ class _MhtSleepReportPageState extends State<MhtSleepReportPage> {
|
||||
'健康报告'.tr,
|
||||
style: TextStyle(
|
||||
fontFamily: 'Readex Pro',
|
||||
color:
|
||||
themeController.currentColor.sc3,
|
||||
color: themeController.currentColor.sc3,
|
||||
letterSpacing: 0,
|
||||
fontSize: 30.rpx,
|
||||
),
|
||||
@@ -193,37 +191,29 @@ class _MhtSleepReportPageState extends State<MhtSleepReportPage> {
|
||||
Colors.transparent),
|
||||
),
|
||||
child: ValueListenableBuilder(
|
||||
valueListenable:
|
||||
formFieldController,
|
||||
valueListenable: formFieldController,
|
||||
builder: (c, a, s) => ClipRRect(
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
36.rpx),
|
||||
BorderRadius.circular(36.rpx),
|
||||
child: Theme(
|
||||
data: Theme.of(context)
|
||||
.copyWith(
|
||||
splashColor:
|
||||
Colors.transparent,
|
||||
data: Theme.of(context).copyWith(
|
||||
splashColor: Colors.transparent,
|
||||
highlightColor:
|
||||
Colors.transparent,
|
||||
hoverColor:
|
||||
Colors.transparent,
|
||||
hoverColor: Colors.transparent,
|
||||
),
|
||||
child: FlutterFlowDropDown<
|
||||
String>(
|
||||
controller:
|
||||
formFieldController,
|
||||
child:
|
||||
FlutterFlowDropDown<String>(
|
||||
controller: formFieldController,
|
||||
options: deviceController
|
||||
.personnelList.value
|
||||
.map<String>((d) =>
|
||||
"${d["mac"]}")
|
||||
.map<String>(
|
||||
(d) => "${d["mac"]}")
|
||||
.toList(),
|
||||
optionLabels:
|
||||
deviceController
|
||||
optionLabels: deviceController
|
||||
.personnelList.value
|
||||
.map<String>((d) {
|
||||
var s =
|
||||
d["name"] ?? d["mac"];
|
||||
var s = d["name"] ?? d["mac"];
|
||||
if (s == null) {
|
||||
return "";
|
||||
} else {
|
||||
@@ -231,22 +221,17 @@ class _MhtSleepReportPageState extends State<MhtSleepReportPage> {
|
||||
}
|
||||
}).toList(),
|
||||
onChanged: (val) {
|
||||
final list =
|
||||
deviceController
|
||||
.personnelList
|
||||
.value;
|
||||
final list = deviceController
|
||||
.personnelList.value;
|
||||
final selectedPerson =
|
||||
list.firstWhere(
|
||||
(element) =>
|
||||
element['mac'] ==
|
||||
val,
|
||||
element['mac'] == val,
|
||||
orElse: () =>
|
||||
null, // 防止找不到时报错
|
||||
);
|
||||
homeController
|
||||
.selectPerson
|
||||
.value =
|
||||
selectedPerson;
|
||||
homeController.selectPerson
|
||||
.value = selectedPerson;
|
||||
personInfo.value =
|
||||
selectedPerson;
|
||||
|
||||
@@ -255,19 +240,17 @@ class _MhtSleepReportPageState extends State<MhtSleepReportPage> {
|
||||
(6).obs;
|
||||
print("$val");
|
||||
if (val == null) {
|
||||
homeController.sleepDays
|
||||
.value = [];
|
||||
} else {
|
||||
homeController
|
||||
.selectDevcie
|
||||
.sleepDays.value = [];
|
||||
} else {
|
||||
homeController.selectDevcie
|
||||
.value =
|
||||
formFieldController
|
||||
.value!;
|
||||
deviceController.getSleeps(
|
||||
formFieldController
|
||||
.value);
|
||||
homeController
|
||||
.updateAll();
|
||||
homeController.updateAll();
|
||||
}
|
||||
},
|
||||
width: 300.rpx,
|
||||
@@ -283,24 +266,19 @@ class _MhtSleepReportPageState extends State<MhtSleepReportPage> {
|
||||
icon: Icon(
|
||||
Icons
|
||||
.keyboard_arrow_down_rounded,
|
||||
color: stringToColor(
|
||||
"#FFFFFF"),
|
||||
color:
|
||||
stringToColor("#FFFFFF"),
|
||||
size: 30.rpx,
|
||||
),
|
||||
fillColor: stringToColor(
|
||||
"#184468"),
|
||||
fillColor:
|
||||
stringToColor("#184468"),
|
||||
elevation: 2,
|
||||
borderColor:
|
||||
Colors.transparent,
|
||||
borderColor: Colors.transparent,
|
||||
borderWidth: 2,
|
||||
borderRadius: 100.rpx,
|
||||
margin:
|
||||
EdgeInsetsDirectional
|
||||
.fromSTEB(
|
||||
32.rpx,
|
||||
8.rpx,
|
||||
32.rpx,
|
||||
8.rpx),
|
||||
margin: EdgeInsetsDirectional
|
||||
.fromSTEB(32.rpx, 8.rpx,
|
||||
32.rpx, 8.rpx),
|
||||
hidesUnderline: true,
|
||||
isOverButton: false,
|
||||
isSearchable: false,
|
||||
@@ -332,8 +310,7 @@ class _MhtSleepReportPageState extends State<MhtSleepReportPage> {
|
||||
'date': DateTime.now().millisecondsSinceEpoch,
|
||||
'mac': homeController.selectDevcie.value,
|
||||
'person': homeController.selectPerson.value,
|
||||
'backgroundImg':
|
||||
'assets/images/new_background.png',
|
||||
'backgroundImg': 'assets/images/new_background.png',
|
||||
'arrow': false,
|
||||
'noBackImg': true,
|
||||
'person_show': false,
|
||||
|
||||
@@ -37,7 +37,7 @@ class _MhtSleepReportReturnPageState extends State<MhtSleepReportReturnPage> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -176,7 +176,7 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
});
|
||||
int login = userInfoController.model.login!;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -244,8 +244,7 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
child: Column(
|
||||
children: [
|
||||
Padding(
|
||||
padding:
|
||||
EdgeInsets.fromLTRB(17.rpx, 30.rpx, 0, 0),
|
||||
padding: EdgeInsets.fromLTRB(17.rpx, 30.rpx, 0, 0),
|
||||
child: Row(
|
||||
children: [
|
||||
Obx(() {
|
||||
@@ -279,8 +278,8 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
if (weatherModelController
|
||||
.model.weatherIconurl !=
|
||||
null &&
|
||||
weatherModelController.model
|
||||
.weatherIconurl!.isNotEmpty)
|
||||
weatherModelController
|
||||
.model.weatherIconurl!.isNotEmpty)
|
||||
Container(
|
||||
width: 35.rpx,
|
||||
height: 26.rpx,
|
||||
@@ -321,8 +320,7 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
userInfoController.model.login == 0) {
|
||||
TopSlideNotification.show(context,
|
||||
text: "请先登录".tr,
|
||||
textColor:
|
||||
themeController.currentColor.sc9);
|
||||
textColor: themeController.currentColor.sc9);
|
||||
Get.toNamed("/loginPage");
|
||||
} else {
|
||||
Get.toNamed("/mHTDeviceTypePage");
|
||||
@@ -331,11 +329,10 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
child: Container(
|
||||
width: MediaQuery.sizeOf(context).width,
|
||||
height: 302.rpx,
|
||||
padding: EdgeInsets.only(
|
||||
top: 90.rpx, bottom: 80.rpx),
|
||||
padding:
|
||||
EdgeInsets.only(top: 90.rpx, bottom: 80.rpx),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius:
|
||||
BorderRadius.circular(borderRadius),
|
||||
borderRadius: BorderRadius.circular(borderRadius),
|
||||
border: Border.all(
|
||||
color: stringToColor("#85F5FF"), // 边框颜色
|
||||
width: 1.rpx, // 边框宽度
|
||||
@@ -383,8 +380,7 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
formFieldController.value = list[0]["mac"];
|
||||
personInfo.value = list[0];
|
||||
homeController.selectPerson.value = list[0];
|
||||
homeController.selectDevcie.value =
|
||||
list[0]["mac"];
|
||||
homeController.selectDevcie.value = list[0]["mac"];
|
||||
deviceController
|
||||
.getHomeSleeps(formFieldController.value);
|
||||
homeController.updateAll();
|
||||
@@ -393,60 +389,48 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
return SingleChildScrollView(
|
||||
child: Column(
|
||||
children: [
|
||||
if (homeController.personnelList.value.length !=
|
||||
0)
|
||||
if (homeController.personnelList.value.length != 0)
|
||||
Padding(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
30.rpx, 40.rpx, 30.rpx, 10.rpx),
|
||||
child: Container(
|
||||
width: MediaQuery.sizeOf(context).width,
|
||||
height:
|
||||
MediaQuery.sizeOf(context).height *
|
||||
0.184,
|
||||
MediaQuery.sizeOf(context).height * 0.184,
|
||||
constraints: BoxConstraints(
|
||||
minHeight: 354.rpx,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
color: stringToColor("#003058"),
|
||||
borderRadius:
|
||||
BorderRadius.circular(20.rpx),
|
||||
borderRadius: BorderRadius.circular(20.rpx),
|
||||
),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Padding(
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(
|
||||
20.rpx,
|
||||
20.rpx,
|
||||
16.rpx,
|
||||
25.rpx),
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
20.rpx, 20.rpx, 16.rpx, 25.rpx),
|
||||
child: Container(
|
||||
width: MediaQuery.sizeOf(context)
|
||||
.width,
|
||||
width:
|
||||
MediaQuery.sizeOf(context).width,
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment
|
||||
.spaceBetween,
|
||||
MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
ScrollbarTheme(
|
||||
data: ScrollbarThemeData(
|
||||
thumbColor:
|
||||
MaterialStateProperty
|
||||
.all(Colors
|
||||
.transparent),
|
||||
MaterialStateProperty.all(
|
||||
Colors.transparent),
|
||||
trackColor:
|
||||
MaterialStateProperty
|
||||
.all(Colors
|
||||
.transparent),
|
||||
MaterialStateProperty.all(
|
||||
Colors.transparent),
|
||||
trackBorderColor:
|
||||
MaterialStateProperty
|
||||
.all(Colors
|
||||
.transparent),
|
||||
MaterialStateProperty.all(
|
||||
Colors.transparent),
|
||||
),
|
||||
child:
|
||||
ValueListenableBuilder(
|
||||
child: ValueListenableBuilder(
|
||||
valueListenable:
|
||||
formFieldController,
|
||||
builder: (c, a, s) =>
|
||||
@@ -461,12 +445,10 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
.toList(),
|
||||
optionLabels:
|
||||
deviceController
|
||||
.personnelList
|
||||
.value
|
||||
.map<String>(
|
||||
(d) {
|
||||
var s = d["name"] ??
|
||||
d["mac"];
|
||||
.personnelList.value
|
||||
.map<String>((d) {
|
||||
var s =
|
||||
d["name"] ?? d["mac"];
|
||||
if (s == null) {
|
||||
return "";
|
||||
} else {
|
||||
@@ -481,8 +463,7 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
final selectedPerson =
|
||||
list.firstWhere(
|
||||
(element) =>
|
||||
element[
|
||||
'mac'] ==
|
||||
element['mac'] ==
|
||||
val,
|
||||
orElse: () =>
|
||||
null, // 防止找不到时报错
|
||||
@@ -521,8 +502,8 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
maxHeight: 300.rpx,
|
||||
textStyle: TextStyle(
|
||||
fontSize: 28.rpx,
|
||||
overflow: TextOverflow
|
||||
.ellipsis,
|
||||
overflow:
|
||||
TextOverflow.ellipsis,
|
||||
color: Colors.white,
|
||||
),
|
||||
hintText: '',
|
||||
@@ -533,8 +514,7 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
"#FFFFFF"),
|
||||
size: 30.rpx,
|
||||
),
|
||||
fillColor:
|
||||
stringToColor(
|
||||
fillColor: stringToColor(
|
||||
"##011D33"),
|
||||
elevation: 2,
|
||||
borderColor:
|
||||
@@ -567,15 +547,13 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
formFieldController
|
||||
.value!,
|
||||
'type': 1,
|
||||
"person": personInfo
|
||||
.value,
|
||||
"person":
|
||||
personInfo.value,
|
||||
'backgroundImg':
|
||||
'assets/images/new_background.png',
|
||||
'date': DateTime
|
||||
.now()
|
||||
'date': DateTime.now()
|
||||
.millisecondsSinceEpoch,
|
||||
'person_show':
|
||||
false,
|
||||
'person_show': false,
|
||||
},
|
||||
);
|
||||
}
|
||||
@@ -621,11 +599,9 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(),
|
||||
child: Obx(() => Row(
|
||||
mainAxisSize:
|
||||
MainAxisSize.max,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment
|
||||
.start,
|
||||
CrossAxisAlignment.start,
|
||||
children: [
|
||||
...List.generate(
|
||||
homeController
|
||||
@@ -633,23 +609,21 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
.value
|
||||
.length, (index) {
|
||||
var day = homeController
|
||||
.homeSleepDays[
|
||||
index];
|
||||
.homeSleepDays[index];
|
||||
bool isSelected =
|
||||
homeController
|
||||
.selectedDayIndex
|
||||
.value ==
|
||||
index;
|
||||
return Expanded(
|
||||
child:
|
||||
GestureDetector(
|
||||
child: GestureDetector(
|
||||
onTap: () {
|
||||
homeController
|
||||
.selectedDayIndex
|
||||
.value = index;
|
||||
int? timeMillis =
|
||||
parseToInt(day[
|
||||
'time']);
|
||||
parseToInt(
|
||||
day['time']);
|
||||
Get.toNamed(
|
||||
"/newSleepReportPage",
|
||||
arguments: {
|
||||
@@ -674,8 +648,7 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
},
|
||||
child: Container(
|
||||
padding:
|
||||
EdgeInsets
|
||||
.only(
|
||||
EdgeInsets.only(
|
||||
top: 10.rpx,
|
||||
bottom: 20.rpx,
|
||||
),
|
||||
@@ -718,8 +691,8 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 12
|
||||
.rpx),
|
||||
height:
|
||||
12.rpx),
|
||||
Text(
|
||||
day['date'],
|
||||
// "哈哈",
|
||||
@@ -736,8 +709,8 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 39
|
||||
.rpx),
|
||||
height:
|
||||
39.rpx),
|
||||
buildScoreOrIcon(
|
||||
day['score']),
|
||||
],
|
||||
@@ -758,8 +731,7 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
30.rpx, 40.rpx, 30.rpx, 100.rpx),
|
||||
child: Column(
|
||||
children: homeController
|
||||
.deviceList.entries
|
||||
children: homeController.deviceList.entries
|
||||
.map((entry) => HomeDeviceWidget(
|
||||
roomName: entry.key,
|
||||
deviceStatusList: entry.value,
|
||||
@@ -779,12 +751,11 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
onTap: () {
|
||||
if (userInfoController.model.login ==
|
||||
null ||
|
||||
userInfoController.model.login ==
|
||||
0) {
|
||||
userInfoController.model.login == 0) {
|
||||
TopSlideNotification.show(context,
|
||||
text: "请先登录".tr,
|
||||
textColor: themeController
|
||||
.currentColor.sc9);
|
||||
textColor:
|
||||
themeController.currentColor.sc9);
|
||||
Get.toNamed("/loginPage");
|
||||
} else {
|
||||
Get.toNamed("/mHTDeviceTypePage");
|
||||
@@ -796,11 +767,10 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
padding: EdgeInsets.only(
|
||||
top: 90.rpx, bottom: 80.rpx),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(
|
||||
borderRadius),
|
||||
borderRadius:
|
||||
BorderRadius.circular(borderRadius),
|
||||
border: Border.all(
|
||||
color: stringToColor(
|
||||
"#85F5FF"), // 边框颜色
|
||||
color: stringToColor("#85F5FF"), // 边框颜色
|
||||
width: 1.rpx, // 边框宽度
|
||||
),
|
||||
),
|
||||
@@ -841,8 +811,7 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
Get.toNamed("/mHTDeviceTypePage");
|
||||
},
|
||||
backgroundColor: Colors.transparent,
|
||||
highlightColor: themeController
|
||||
.currentColor
|
||||
highlightColor: themeController.currentColor
|
||||
.sc21, // 这里可以自定义高亮色,透明就用 Colors.transparent
|
||||
borderRadius: borderRadius,
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
@@ -852,12 +821,11 @@ class _NewHomePageState extends State<NewHomePage> {
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
color: stringToColor(
|
||||
"#85F5FF"), // 边框颜色
|
||||
color: stringToColor("#85F5FF"), // 边框颜色
|
||||
width: 1.rpx, // 边框宽度
|
||||
),
|
||||
borderRadius: BorderRadius.circular(
|
||||
borderRadius),
|
||||
borderRadius:
|
||||
BorderRadius.circular(borderRadius),
|
||||
),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
|
||||
@@ -32,7 +32,7 @@ class IssueListPage extends GetView<IssueListController> {
|
||||
return LayoutBuilder(builder: (context, cc) {
|
||||
bodysize = cc;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -29,7 +29,7 @@ class _MessageDetailPageState extends State<MessageDetailPage> {
|
||||
var messageInfo = widget.data;
|
||||
return LayoutBuilder(
|
||||
builder: (context, boxConstraints) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -144,7 +144,7 @@ class _MessagePageState extends State<MessagePage> {
|
||||
|
||||
return LayoutBuilder(
|
||||
builder: (context, boxConstraints) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -261,7 +261,6 @@ class _MessagePageState extends State<MessagePage> {
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
Container bottomIcon(BuildContext context) {
|
||||
|
||||
@@ -50,7 +50,7 @@ class _MyExperiencePageState extends State<MyExperiencePage> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -131,8 +131,7 @@ class _MyExperiencePageState extends State<MyExperiencePage> {
|
||||
const SizedBox(
|
||||
height: AppConstants.list_start_height),
|
||||
...List.generate(
|
||||
controller.model.bookInfoList.length,
|
||||
(index) {
|
||||
controller.model.bookInfoList.length, (index) {
|
||||
return MyExperienceWidget(
|
||||
index: index,
|
||||
bookExperienceListController: controller);
|
||||
|
||||
@@ -71,7 +71,7 @@ class _MinePageState extends State<NewMinePage> {
|
||||
int login = userInfoController.model.login!;
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -31,7 +31,7 @@ class _SettingPageState extends State<SettingPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(builder: (context, bodySize) {
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -37,7 +37,7 @@ class _PrivacyPolicyPageState extends State<PrivacyPolicyPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -71,6 +71,7 @@ class _PrivacyPolicyPageState extends State<PrivacyPolicyPage> {
|
||||
fontSize: 30.rpx,
|
||||
),
|
||||
),
|
||||
|
||||
/// 左边返回按钮
|
||||
Positioned(
|
||||
left: 0,
|
||||
|
||||
@@ -73,7 +73,7 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
bodysize = cc;
|
||||
return WillPopScope(
|
||||
child: GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -142,8 +142,7 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
),
|
||||
child: Padding(
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
34.rpx, 10, 0, 0),
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(),
|
||||
@@ -177,8 +176,8 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
'未命名'),
|
||||
style: TextStyle(
|
||||
fontFamily: 'Readex Pro',
|
||||
color: const Color(
|
||||
0xFF929699),
|
||||
color:
|
||||
const Color(0xFF929699),
|
||||
fontSize: 26.rpx,
|
||||
letterSpacing: 0,
|
||||
),
|
||||
@@ -198,8 +197,8 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
),
|
||||
style: TextStyle(
|
||||
fontFamily: 'Readex Pro',
|
||||
color: const Color(
|
||||
0xFF929699),
|
||||
color:
|
||||
const Color(0xFF929699),
|
||||
fontSize: 26.rpx,
|
||||
letterSpacing: 0,
|
||||
),
|
||||
@@ -218,8 +217,8 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
'未命名'),
|
||||
style: TextStyle(
|
||||
fontFamily: 'Readex Pro',
|
||||
color: const Color(
|
||||
0xFF929699),
|
||||
color:
|
||||
const Color(0xFF929699),
|
||||
fontSize: 26.rpx,
|
||||
letterSpacing: 0,
|
||||
),
|
||||
@@ -239,8 +238,8 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
'未命名'),
|
||||
style: TextStyle(
|
||||
fontFamily: 'Readex Pro',
|
||||
color: const Color(
|
||||
0xFF929699),
|
||||
color:
|
||||
const Color(0xFF929699),
|
||||
fontSize: 26.rpx,
|
||||
letterSpacing: 0,
|
||||
),
|
||||
@@ -253,12 +252,12 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
child: Text(
|
||||
'提交时间:' +
|
||||
(MyUtils.formatDateTimeDay(
|
||||
data['device'][0][
|
||||
'create_time']!)),
|
||||
data['device'][0]
|
||||
['create_time']!)),
|
||||
style: TextStyle(
|
||||
fontFamily: 'Readex Pro',
|
||||
color: const Color(
|
||||
0xFF929699),
|
||||
color:
|
||||
const Color(0xFF929699),
|
||||
fontSize: 26.rpx,
|
||||
letterSpacing: 0,
|
||||
),
|
||||
@@ -275,8 +274,8 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
'未命名'),
|
||||
style: TextStyle(
|
||||
fontFamily: 'Readex Pro',
|
||||
color: const Color(
|
||||
0xFF929699),
|
||||
color:
|
||||
const Color(0xFF929699),
|
||||
fontSize: 26.rpx,
|
||||
letterSpacing: 0,
|
||||
),
|
||||
@@ -285,14 +284,13 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
Padding(
|
||||
padding:
|
||||
const EdgeInsetsDirectional
|
||||
.fromSTEB(
|
||||
0, 10, 0, 24),
|
||||
.fromSTEB(0, 10, 0, 24),
|
||||
child: Container(
|
||||
width: MediaQuery.sizeOf(
|
||||
context)
|
||||
width:
|
||||
MediaQuery.sizeOf(context)
|
||||
.width,
|
||||
height: MediaQuery.sizeOf(
|
||||
context)
|
||||
height:
|
||||
MediaQuery.sizeOf(context)
|
||||
.height *
|
||||
0.15,
|
||||
constraints:
|
||||
@@ -303,30 +301,25 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
child: Container(
|
||||
width: 100,
|
||||
height: 100,
|
||||
child: Obx(() =>
|
||||
ListView(
|
||||
shrinkWrap:
|
||||
true,
|
||||
child: Obx(() => ListView(
|
||||
shrinkWrap: true,
|
||||
scrollDirection:
|
||||
Axis
|
||||
.horizontal,
|
||||
children: getImage(controller
|
||||
Axis.horizontal,
|
||||
children: getImage(
|
||||
controller
|
||||
.model
|
||||
.applyRepairModel!)
|
||||
.divide(
|
||||
const SizedBox(
|
||||
width:
|
||||
12,
|
||||
width: 12,
|
||||
))
|
||||
.addToStart(
|
||||
const SizedBox(
|
||||
width:
|
||||
0,
|
||||
width: 0,
|
||||
))))),
|
||||
)),
|
||||
]
|
||||
.divide(
|
||||
const SizedBox(height: 5))
|
||||
.divide(const SizedBox(height: 5))
|
||||
.addToStart(const SizedBox(
|
||||
height: 5,
|
||||
)),
|
||||
@@ -335,12 +328,11 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding:
|
||||
const EdgeInsetsDirectional.fromSTEB(
|
||||
padding: const EdgeInsetsDirectional.fromSTEB(
|
||||
0, 25, 0, 25), // 设置上下间距为 34
|
||||
child: Align(
|
||||
alignment: AlignmentDirectional
|
||||
.centerStart, // 文字左对齐
|
||||
alignment:
|
||||
AlignmentDirectional.centerStart, // 文字左对齐
|
||||
child: Text(
|
||||
'报修状态',
|
||||
style: TextStyle(
|
||||
@@ -360,15 +352,12 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
const NeverScrollableScrollPhysics(), // 禁用内部滚动,交由外部滚动视图处理
|
||||
itemCount: events.length,
|
||||
itemBuilder: (context, index) {
|
||||
bool isLast =
|
||||
index == events.length - 1;
|
||||
bool isLast = index == events.length - 1;
|
||||
return TimelineTile(
|
||||
isFirst: index == 0,
|
||||
isLast: isLast,
|
||||
axis:
|
||||
TimelineAxis.vertical, // 垂直方向时间轴
|
||||
alignment:
|
||||
TimelineAlign.start, // 线条左对齐
|
||||
axis: TimelineAxis.vertical, // 垂直方向时间轴
|
||||
alignment: TimelineAlign.start, // 线条左对齐
|
||||
lineXY: 0.5, // 线条和圆圈相对位置
|
||||
indicatorStyle: IndicatorStyle(
|
||||
width: 15, // 圆圈的宽度
|
||||
@@ -388,8 +377,8 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
),
|
||||
),
|
||||
beforeLineStyle: LineStyle(
|
||||
color: stringToColor(
|
||||
"#C8CBD2"), // 上方线条颜色
|
||||
color:
|
||||
stringToColor("#C8CBD2"), // 上方线条颜色
|
||||
thickness: 1, // 线条厚度
|
||||
),
|
||||
afterLineStyle: LineStyle(
|
||||
@@ -410,22 +399,19 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
),
|
||||
Obx(() {
|
||||
if (RepairStatus.completed ==
|
||||
controller.model.applyRepairModel!
|
||||
.status &&
|
||||
controller.model.applyRepairModel!
|
||||
.score ==
|
||||
controller
|
||||
.model.applyRepairModel!.status &&
|
||||
controller.model.applyRepairModel!.score ==
|
||||
null) {
|
||||
return Align(
|
||||
alignment:
|
||||
const AlignmentDirectional(1, 0),
|
||||
alignment: const AlignmentDirectional(1, 0),
|
||||
child: Padding(
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
34.rpx, 66.rpx, 0, 48.rpx),
|
||||
child: Container(
|
||||
width: 61,
|
||||
height: MediaQuery.sizeOf(context)
|
||||
.height *
|
||||
height:
|
||||
MediaQuery.sizeOf(context).height *
|
||||
0.03,
|
||||
constraints: const BoxConstraints(
|
||||
minHeight: 24,
|
||||
@@ -438,8 +424,7 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
text: '待评价',
|
||||
options: FFButtonOptions(
|
||||
height: 40,
|
||||
padding:
|
||||
const EdgeInsetsDirectional
|
||||
padding: const EdgeInsetsDirectional
|
||||
.fromSTEB(0, 0, 0, 0),
|
||||
iconPadding:
|
||||
const EdgeInsetsDirectional
|
||||
@@ -451,8 +436,7 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
fontFamily: 'Readex Pro',
|
||||
// color: Color(0xFF333333),
|
||||
// color: stringToColor("#D3B684"),
|
||||
color:
|
||||
stringToColor("#117EFD"),
|
||||
color: stringToColor("#117EFD"),
|
||||
fontSize: 11,
|
||||
letterSpacing: 0,
|
||||
),
|
||||
@@ -460,8 +444,7 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
borderSide: BorderSide(
|
||||
// color: Color(0xFFC8CBD2),
|
||||
// color: stringToColor("#D3B684"),
|
||||
color:
|
||||
stringToColor("#117EFD"),
|
||||
color: stringToColor("#117EFD"),
|
||||
width: 1,
|
||||
),
|
||||
borderRadius:
|
||||
@@ -476,17 +459,15 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
}),
|
||||
Obx(() {
|
||||
if (RepairStatus.completed ==
|
||||
controller.model.applyRepairModel!
|
||||
.status &&
|
||||
controller.model.applyRepairModel!
|
||||
.score !=
|
||||
controller
|
||||
.model.applyRepairModel!.status &&
|
||||
controller.model.applyRepairModel!.score !=
|
||||
null) {
|
||||
return Padding(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
0, 0, 0, 10.rpx),
|
||||
child: Container(
|
||||
width:
|
||||
MediaQuery.sizeOf(context).width,
|
||||
width: MediaQuery.sizeOf(context).width,
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white, //true
|
||||
borderRadius:
|
||||
@@ -506,8 +487,8 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
.fromSTEB(
|
||||
17, 0, 30, 10),
|
||||
child: Container(
|
||||
width: MediaQuery.sizeOf(
|
||||
context)
|
||||
width:
|
||||
MediaQuery.sizeOf(context)
|
||||
.width,
|
||||
height: 30,
|
||||
decoration:
|
||||
@@ -535,13 +516,11 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
const AlignmentDirectional(
|
||||
-1, 0),
|
||||
child: Padding(
|
||||
padding:
|
||||
EdgeInsetsDirectional
|
||||
.fromSTEB(34.rpx,
|
||||
0, 0, 0),
|
||||
padding: EdgeInsetsDirectional
|
||||
.fromSTEB(
|
||||
34.rpx, 0, 0, 0),
|
||||
child: Container(
|
||||
width:
|
||||
MediaQuery.sizeOf(
|
||||
width: MediaQuery.sizeOf(
|
||||
context)
|
||||
.width,
|
||||
constraints:
|
||||
@@ -560,7 +539,8 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
const AlignmentDirectional(
|
||||
-1, 0),
|
||||
child: Padding(
|
||||
padding: EdgeInsetsDirectional
|
||||
padding:
|
||||
EdgeInsetsDirectional
|
||||
.fromSTEB(
|
||||
0,
|
||||
0,
|
||||
@@ -573,8 +553,7 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
.model
|
||||
.applyRepairModel!
|
||||
.score_time!),
|
||||
style:
|
||||
TextStyle(
|
||||
style: TextStyle(
|
||||
fontFamily:
|
||||
'Readex Pro',
|
||||
fontSize:
|
||||
@@ -588,16 +567,13 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
),
|
||||
Row(
|
||||
mainAxisSize:
|
||||
MainAxisSize
|
||||
.max,
|
||||
MainAxisSize.max,
|
||||
children: [
|
||||
Align(
|
||||
alignment:
|
||||
const AlignmentDirectional(
|
||||
-1,
|
||||
0),
|
||||
child:
|
||||
Padding(
|
||||
-1, 0),
|
||||
child: Padding(
|
||||
padding:
|
||||
const EdgeInsetsDirectional
|
||||
.fromSTEB(
|
||||
@@ -612,7 +588,8 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
fontFamily:
|
||||
'Readex Pro',
|
||||
fontSize:
|
||||
AppFontsize.normal_text_size,
|
||||
AppFontsize
|
||||
.normal_text_size,
|
||||
letterSpacing:
|
||||
0.0,
|
||||
),
|
||||
@@ -692,8 +669,8 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
|
||||
),
|
||||
),
|
||||
]
|
||||
.divide(const SizedBox(
|
||||
height: 0))
|
||||
.divide(
|
||||
const SizedBox(height: 0))
|
||||
.addToStart(const SizedBox(
|
||||
height: 5,
|
||||
))
|
||||
|
||||
@@ -39,11 +39,10 @@ class DeviceRepairPage extends GetView<RepairListController> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
||||
return LayoutBuilder(builder: (context, cc) {
|
||||
bodysize = cc;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -104,8 +103,7 @@ class DeviceRepairPage extends GetView<RepairListController> {
|
||||
padding: EdgeInsets.fromLTRB(
|
||||
27.rpx, 49.rpx, 43.rpx, 39.rpx),
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
// 固定的标题部分
|
||||
Text(
|
||||
@@ -132,8 +130,7 @@ class DeviceRepairPage extends GetView<RepairListController> {
|
||||
text:
|
||||
"尊敬的用户,感谢您选择我司产品。在使用过程中,如果设备出现故障需要维修,请首先确认设备是否正确连接控制器或网络,检查设置是否正常,排除误操作问题。若问题依然存在,请记录下设备名称、设备编号、和具体故障内容,方便我们快速地为您提供帮助。您可以通过智慧棉花糖APP保修页面直接报修或拨打 ",
|
||||
style: TextStyle(
|
||||
color:
|
||||
Color(0XFF929699),
|
||||
color: Color(0XFF929699),
|
||||
fontSize: 26.rpx,
|
||||
height: 1.3)),
|
||||
TextSpan(
|
||||
@@ -143,12 +140,10 @@ class DeviceRepairPage extends GetView<RepairListController> {
|
||||
// height: 1.3,
|
||||
decoration: TextDecoration
|
||||
.underline, // 添加下划线
|
||||
decorationColor:
|
||||
Colors.white,
|
||||
decorationColor: Colors.white,
|
||||
decorationThickness: 4.rpx,
|
||||
),
|
||||
recognizer:
|
||||
TapGestureRecognizer()
|
||||
recognizer: TapGestureRecognizer()
|
||||
..onTap = () {
|
||||
MyUtils.makePhoneCall(
|
||||
"400-8756-966");
|
||||
@@ -157,8 +152,7 @@ class DeviceRepairPage extends GetView<RepairListController> {
|
||||
TextSpan(
|
||||
text: " 反馈。",
|
||||
style: TextStyle(
|
||||
color:
|
||||
Color(0XFF929699),
|
||||
color: Color(0XFF929699),
|
||||
fontSize: 26.rpx,
|
||||
height: 1.3)),
|
||||
],
|
||||
@@ -237,8 +231,7 @@ class DeviceRepairPage extends GetView<RepairListController> {
|
||||
// 替换原来的 Obx(() => Visibility(...))
|
||||
Expanded(
|
||||
child: Obx(() {
|
||||
final hasData =
|
||||
controller.model.repairList != null &&
|
||||
final hasData = controller.model.repairList != null &&
|
||||
controller.model.repairList!.isNotEmpty;
|
||||
return hasData
|
||||
? ListView(
|
||||
@@ -250,8 +243,7 @@ class DeviceRepairPage extends GetView<RepairListController> {
|
||||
.entries
|
||||
.map((e) => RepairHistoryWidget(
|
||||
index: e.key,
|
||||
repairListController:
|
||||
controller,
|
||||
repairListController: controller,
|
||||
))
|
||||
.toList(),
|
||||
)
|
||||
@@ -264,6 +256,4 @@ class DeviceRepairPage extends GetView<RepairListController> {
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ class _RoomPickerPageState extends State<RoomPickerPage> {
|
||||
return LayoutBuilder(builder: (context, cc) {
|
||||
bodysize = cc;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -6,6 +6,7 @@ import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/component/tool/CustomCard.dart';
|
||||
import 'package:vbvs_app/controller/mh_controller/score_controller.dart' as mh;
|
||||
|
||||
class ScorePage extends GetView<mh.ScoreController> {
|
||||
BoxConstraints? bodysize;
|
||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
@@ -18,7 +19,7 @@ class ScorePage extends GetView<mh.ScoreController> {
|
||||
return LayoutBuilder(builder: (context, cc) {
|
||||
bodysize = cc;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -104,8 +105,7 @@ class ScorePage extends GetView<mh.ScoreController> {
|
||||
MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Align(
|
||||
alignment:
|
||||
AlignmentDirectional(0, 0),
|
||||
alignment: AlignmentDirectional(0, 0),
|
||||
child: Text(
|
||||
'我要评价'.tr,
|
||||
style: TextStyle(
|
||||
@@ -131,10 +131,8 @@ class ScorePage extends GetView<mh.ScoreController> {
|
||||
color: controller
|
||||
.model.score! >=
|
||||
1
|
||||
? stringToColor(
|
||||
"#F8AE00")
|
||||
: stringToColor(
|
||||
"#D0D0D0"),
|
||||
? stringToColor("#F8AE00")
|
||||
: stringToColor("#D0D0D0"),
|
||||
size: 40,
|
||||
);
|
||||
}),
|
||||
@@ -150,10 +148,8 @@ class ScorePage extends GetView<mh.ScoreController> {
|
||||
color: controller
|
||||
.model.score! >=
|
||||
2
|
||||
? stringToColor(
|
||||
"#F8AE00")
|
||||
: stringToColor(
|
||||
"#D0D0D0"),
|
||||
? stringToColor("#F8AE00")
|
||||
: stringToColor("#D0D0D0"),
|
||||
size: 40,
|
||||
);
|
||||
}),
|
||||
@@ -169,10 +165,8 @@ class ScorePage extends GetView<mh.ScoreController> {
|
||||
color: controller
|
||||
.model.score! >=
|
||||
3
|
||||
? stringToColor(
|
||||
"#F8AE00")
|
||||
: stringToColor(
|
||||
"#D0D0D0"),
|
||||
? stringToColor("#F8AE00")
|
||||
: stringToColor("#D0D0D0"),
|
||||
size: 40,
|
||||
);
|
||||
}),
|
||||
@@ -188,10 +182,8 @@ class ScorePage extends GetView<mh.ScoreController> {
|
||||
color: controller
|
||||
.model.score! >=
|
||||
4
|
||||
? stringToColor(
|
||||
"#F8AE00")
|
||||
: stringToColor(
|
||||
"#D0D0D0"),
|
||||
? stringToColor("#F8AE00")
|
||||
: stringToColor("#D0D0D0"),
|
||||
size: 40,
|
||||
);
|
||||
}),
|
||||
@@ -207,10 +199,8 @@ class ScorePage extends GetView<mh.ScoreController> {
|
||||
color: controller
|
||||
.model.score! >=
|
||||
5
|
||||
? stringToColor(
|
||||
"#F8AE00")
|
||||
: stringToColor(
|
||||
"#D0D0D0"),
|
||||
? stringToColor("#F8AE00")
|
||||
: stringToColor("#D0D0D0"),
|
||||
size: 40,
|
||||
);
|
||||
}),
|
||||
@@ -243,15 +233,13 @@ class ScorePage extends GetView<mh.ScoreController> {
|
||||
width: bodysize!.maxWidth,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFF003058),
|
||||
borderRadius:
|
||||
BorderRadius.circular(16.rpx),
|
||||
borderRadius: BorderRadius.circular(16.rpx),
|
||||
),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Align(
|
||||
alignment:
|
||||
AlignmentDirectional(0, 0),
|
||||
alignment: AlignmentDirectional(0, 0),
|
||||
child: Obx(() {
|
||||
String scoreText;
|
||||
Color scoreColor;
|
||||
@@ -259,35 +247,29 @@ class ScorePage extends GetView<mh.ScoreController> {
|
||||
scoreText = '差';
|
||||
scoreColor =
|
||||
stringToColor("#E55E92");
|
||||
} else if (controller
|
||||
.model.score ==
|
||||
} else if (controller.model.score ==
|
||||
2) {
|
||||
scoreText = '较差';
|
||||
scoreColor =
|
||||
stringToColor("#E55E92");
|
||||
} else if (controller
|
||||
.model.score ==
|
||||
} else if (controller.model.score ==
|
||||
3) {
|
||||
scoreText = '一般';
|
||||
scoreColor =
|
||||
stringToColor("#07C160");
|
||||
} else if (controller
|
||||
.model.score ==
|
||||
} else if (controller.model.score ==
|
||||
4) {
|
||||
scoreText = '优秀';
|
||||
scoreColor =
|
||||
stringToColor("#F8AE00");
|
||||
} else if (controller
|
||||
.model.score ==
|
||||
} else if (controller.model.score ==
|
||||
5) {
|
||||
scoreText = '完美';
|
||||
scoreColor =
|
||||
stringToColor("#F8AE00");
|
||||
} else {
|
||||
scoreText =
|
||||
'未评分'; // 如果没有评分显示默认文字
|
||||
scoreColor =
|
||||
Colors.grey; // 默认颜色
|
||||
scoreText = '未评分'; // 如果没有评分显示默认文字
|
||||
scoreColor = Colors.grey; // 默认颜色
|
||||
}
|
||||
return Text(
|
||||
scoreText,
|
||||
@@ -296,17 +278,16 @@ class ScorePage extends GetView<mh.ScoreController> {
|
||||
fontSize: 30.rpx,
|
||||
letterSpacing: 0,
|
||||
color: scoreColor,
|
||||
fontWeight:
|
||||
FontWeight.bold),
|
||||
fontWeight: FontWeight.bold),
|
||||
);
|
||||
}),
|
||||
),
|
||||
Align(
|
||||
alignment:
|
||||
AlignmentDirectional(-1, 0),
|
||||
alignment: AlignmentDirectional(-1, 0),
|
||||
child: Padding(
|
||||
padding: EdgeInsetsDirectional
|
||||
.fromSTEB(0, 17, 0, 0),
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(
|
||||
0, 17, 0, 0),
|
||||
child: Text(
|
||||
'再多的溢美之词,都比不上您真心的评价。我们愿付出200%的努力,只为您100%的满意~感谢您的支持与厚爱!',
|
||||
style: TextStyle(
|
||||
|
||||
@@ -17,7 +17,7 @@ class _SleepHabitPageState extends State<SleepHabitPage> {
|
||||
return LayoutBuilder(builder: (context, cc) {
|
||||
bodysize = cc;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -38,7 +38,7 @@ class Smys extends GetView<SleepingHabitController> {
|
||||
|
||||
return LayoutBuilder(
|
||||
builder: (context, boxConstraints) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -109,8 +109,7 @@ class Smys extends GetView<SleepingHabitController> {
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: const Color(0xFF929699),
|
||||
width: 0.rpx),
|
||||
color: const Color(0xFF929699), width: 0.rpx),
|
||||
),
|
||||
),
|
||||
constraints: BoxConstraints(
|
||||
@@ -121,8 +120,7 @@ class Smys extends GetView<SleepingHabitController> {
|
||||
39.rpx, 0.rpx, 15.rpx, 0.rpx),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.spaceBetween,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
'睡眠隐私功能'.tr,
|
||||
@@ -172,8 +170,7 @@ class Smys extends GetView<SleepingHabitController> {
|
||||
},
|
||||
child: Container(
|
||||
width: double.infinity,
|
||||
height:
|
||||
MediaQuery.sizeOf(context).height * 0.055,
|
||||
height: MediaQuery.sizeOf(context).height * 0.055,
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
@@ -251,8 +248,7 @@ class Smys extends GetView<SleepingHabitController> {
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: const Color(0xFF929699),
|
||||
width: 0.rpx),
|
||||
color: const Color(0xFF929699), width: 0.rpx),
|
||||
),
|
||||
),
|
||||
constraints: BoxConstraints(
|
||||
@@ -263,8 +259,7 @@ class Smys extends GetView<SleepingHabitController> {
|
||||
39.rpx, 0.rpx, 30.rpx, 0.rpx),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.spaceBetween,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
'结束时间'.tr,
|
||||
|
||||
@@ -49,7 +49,7 @@ class _UpdateUserPageState extends State<EditUserPage> {
|
||||
int login = userInfoController.model.login!;
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -37,7 +37,7 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
return LayoutBuilder(builder: (context, cc) {
|
||||
bodysize = cc;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -114,12 +114,10 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
height: bodysize!.maxHeight * 0.06,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFF3F5F6),
|
||||
borderRadius:
|
||||
BorderRadius.circular(12),
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
),
|
||||
child: Align(
|
||||
alignment:
|
||||
AlignmentDirectional(0, 0),
|
||||
alignment: AlignmentDirectional(0, 0),
|
||||
child: TextFormField(
|
||||
// focusNode: _focusNode1,
|
||||
onChanged: (value) {
|
||||
@@ -146,9 +144,8 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
focusedErrorBorder:
|
||||
InputBorder.none,
|
||||
contentPadding:
|
||||
EdgeInsetsDirectional
|
||||
.fromSTEB(20.rpx, 0, 0,
|
||||
0.rpx),
|
||||
EdgeInsetsDirectional.fromSTEB(
|
||||
20.rpx, 0, 0, 0.rpx),
|
||||
),
|
||||
style: TextStyle(
|
||||
fontFamily: 'Readex Pro',
|
||||
@@ -170,8 +167,7 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
child: Stack(
|
||||
children: [
|
||||
Align(
|
||||
alignment:
|
||||
AlignmentDirectional(0, 0),
|
||||
alignment: AlignmentDirectional(0, 0),
|
||||
child: Container(
|
||||
width: bodysize!.maxWidth,
|
||||
height: 92.rpx,
|
||||
@@ -182,29 +178,24 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
),
|
||||
child: Align(
|
||||
alignment:
|
||||
AlignmentDirectional(
|
||||
0, 0),
|
||||
AlignmentDirectional(0, 0),
|
||||
child: TextFormField(
|
||||
// autofocus: true,
|
||||
// focusNode: _focusNode2,
|
||||
onChanged: (value) {
|
||||
controller.model.code =
|
||||
value;
|
||||
controller.model.code = value;
|
||||
},
|
||||
obscureText: false,
|
||||
decoration: InputDecoration(
|
||||
labelStyle: TextStyle(
|
||||
fontFamily:
|
||||
'Readex Pro',
|
||||
fontFamily: 'Readex Pro',
|
||||
fontSize: 20.rpx,
|
||||
letterSpacing: 0,
|
||||
),
|
||||
hintText: '请输验证码'.tr,
|
||||
hintStyle: TextStyle(
|
||||
fontFamily:
|
||||
'Readex Pro',
|
||||
color:
|
||||
Color(0xFF929699),
|
||||
fontFamily: 'Readex Pro',
|
||||
color: Color(0xFF929699),
|
||||
fontSize: 26.rpx,
|
||||
letterSpacing: 0,
|
||||
),
|
||||
@@ -212,14 +203,13 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
InputBorder.none,
|
||||
focusedBorder:
|
||||
InputBorder.none,
|
||||
errorBorder:
|
||||
InputBorder.none,
|
||||
errorBorder: InputBorder.none,
|
||||
focusedErrorBorder:
|
||||
InputBorder.none,
|
||||
contentPadding:
|
||||
EdgeInsetsDirectional
|
||||
.fromSTEB(20.rpx,
|
||||
0, 0, 0.rpx),
|
||||
.fromSTEB(20.rpx, 0,
|
||||
0, 0.rpx),
|
||||
),
|
||||
style: TextStyle(
|
||||
fontFamily: 'Readex Pro',
|
||||
@@ -231,14 +221,13 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
),
|
||||
),
|
||||
Align(
|
||||
alignment: AlignmentDirectional(
|
||||
0.4, 0.1),
|
||||
alignment:
|
||||
AlignmentDirectional(0.4, 0.1),
|
||||
child: Container(
|
||||
width: 1.rpx,
|
||||
height: 38.rpx,
|
||||
decoration: BoxDecoration(
|
||||
color:
|
||||
stringToColor("#929699"),
|
||||
color: stringToColor("#929699"),
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -246,10 +235,8 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
alignment:
|
||||
AlignmentDirectional(1.2, 0),
|
||||
child: Container(
|
||||
width:
|
||||
bodysize!.maxWidth * 0.157,
|
||||
height:
|
||||
bodysize!.maxHeight * 0.014,
|
||||
width: bodysize!.maxWidth * 0.157,
|
||||
height: bodysize!.maxHeight * 0.014,
|
||||
constraints: BoxConstraints(
|
||||
minWidth: 118,
|
||||
minHeight: 30,
|
||||
@@ -257,8 +244,7 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
decoration: BoxDecoration(),
|
||||
child: Align(
|
||||
alignment:
|
||||
AlignmentDirectional(
|
||||
0, 0),
|
||||
AlignmentDirectional(0, 0),
|
||||
child: Obx(() {
|
||||
final CountdownController
|
||||
countdownController =
|
||||
@@ -267,8 +253,7 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
return InkWell(
|
||||
onTap: () async {
|
||||
if (countdownController
|
||||
.countdown
|
||||
.value !=
|
||||
.countdown.value !=
|
||||
0) {
|
||||
return;
|
||||
}
|
||||
@@ -288,8 +273,7 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
}
|
||||
String msg =
|
||||
await controller
|
||||
.getCode(
|
||||
context);
|
||||
.getCode(context);
|
||||
if (msg.isNotEmpty) {
|
||||
return;
|
||||
}
|
||||
@@ -312,8 +296,7 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
: '${countdownController.countdown.value}' +
|
||||
'秒'.tr,
|
||||
style: TextStyle(
|
||||
color:
|
||||
Color(0xFF333333),
|
||||
color: Color(0xFF333333),
|
||||
fontSize: 20.rpx,
|
||||
letterSpacing: 0,
|
||||
),
|
||||
@@ -339,12 +322,10 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
height: bodysize!.maxHeight * 0.06,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFF3F5F6),
|
||||
borderRadius:
|
||||
BorderRadius.circular(12),
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
),
|
||||
child: Align(
|
||||
alignment:
|
||||
AlignmentDirectional(0, 0),
|
||||
alignment: AlignmentDirectional(0, 0),
|
||||
child: Obx(() {
|
||||
return TextFormField(
|
||||
// autofocus: true,
|
||||
@@ -368,10 +349,8 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
fontSize: 26.rpx,
|
||||
letterSpacing: 0,
|
||||
),
|
||||
enabledBorder:
|
||||
InputBorder.none,
|
||||
focusedBorder:
|
||||
InputBorder.none,
|
||||
enabledBorder: InputBorder.none,
|
||||
focusedBorder: InputBorder.none,
|
||||
errorBorder: InputBorder.none,
|
||||
focusedErrorBorder:
|
||||
InputBorder.none,
|
||||
@@ -391,8 +370,7 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
onPressed: () {
|
||||
// 切换 pdshow 状态
|
||||
controller.model.pdshow =
|
||||
!controller
|
||||
.model.pdshow!;
|
||||
!controller.model.pdshow!;
|
||||
controller.updateAll();
|
||||
},
|
||||
),
|
||||
@@ -420,19 +398,16 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
height: bodysize!.maxHeight * 0.06,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFF3F5F6),
|
||||
borderRadius:
|
||||
BorderRadius.circular(12),
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
),
|
||||
child: Align(
|
||||
alignment:
|
||||
AlignmentDirectional(0, 0),
|
||||
alignment: AlignmentDirectional(0, 0),
|
||||
child: Obx(() {
|
||||
return TextFormField(
|
||||
// autofocus: true,
|
||||
// focusNode: _focusNode2,
|
||||
onChanged: (value) {
|
||||
controller.model.confirm =
|
||||
value;
|
||||
controller.model.confirm = value;
|
||||
},
|
||||
// obscureText: true,
|
||||
obscureText:
|
||||
@@ -450,10 +425,8 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
fontSize: 26.rpx,
|
||||
letterSpacing: 0,
|
||||
),
|
||||
enabledBorder:
|
||||
InputBorder.none,
|
||||
focusedBorder:
|
||||
InputBorder.none,
|
||||
enabledBorder: InputBorder.none,
|
||||
focusedBorder: InputBorder.none,
|
||||
errorBorder: InputBorder.none,
|
||||
focusedErrorBorder:
|
||||
InputBorder.none,
|
||||
@@ -526,8 +499,7 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
onTap: () async {
|
||||
if (CommonVariables.isNetWorkOn ==
|
||||
false) {
|
||||
TopSlideNotification.show(
|
||||
context,
|
||||
TopSlideNotification.show(context,
|
||||
text: "网络未连接,请开启设备网络后重试".tr,
|
||||
textColor: themeController
|
||||
.currentColor.sc9);
|
||||
@@ -552,8 +524,7 @@ class FindPasswordPage extends GetView<FindPasswordController> {
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
16.rpx),
|
||||
BorderRadius.circular(16.rpx),
|
||||
),
|
||||
child: Text(
|
||||
"提交",
|
||||
|
||||
@@ -134,7 +134,7 @@ class MHTLoginPage extends GetView<MHTLoginController> {
|
||||
return LayoutBuilder(builder: (context, cc) {
|
||||
bodysize = cc;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -1458,7 +1458,8 @@ class MHTLoginPage extends GetView<MHTLoginController> {
|
||||
color:
|
||||
stringToColor(
|
||||
"FF9F66"),
|
||||
fontSize: 23.rpx,
|
||||
fontSize:
|
||||
23.rpx,
|
||||
letterSpacing:
|
||||
0,
|
||||
),
|
||||
@@ -1504,7 +1505,8 @@ class MHTLoginPage extends GetView<MHTLoginController> {
|
||||
color:
|
||||
stringToColor(
|
||||
"FF9F66"),
|
||||
fontSize: 23.rpx,
|
||||
fontSize:
|
||||
23.rpx,
|
||||
letterSpacing:
|
||||
0,
|
||||
),
|
||||
|
||||
@@ -181,7 +181,7 @@ class _RxhxMhtState extends State<RxhxMht> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, boxConstraints) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -312,8 +312,7 @@ class _RxhxMhtState extends State<RxhxMht> {
|
||||
});
|
||||
},
|
||||
child: Container(
|
||||
margin:
|
||||
EdgeInsets.only(left: 40.rpx, right: 30.rpx),
|
||||
margin: EdgeInsets.only(left: 40.rpx, right: 30.rpx),
|
||||
width: double.infinity,
|
||||
height: 90.rpx,
|
||||
decoration: const BoxDecoration(),
|
||||
@@ -375,15 +374,13 @@ class _RxhxMhtState extends State<RxhxMht> {
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
margin:
|
||||
EdgeInsets.only(left: 40.rpx, right: 30.rpx),
|
||||
margin: EdgeInsets.only(left: 40.rpx, right: 30.rpx),
|
||||
width: double.infinity,
|
||||
height: 90.rpx,
|
||||
decoration: const BoxDecoration(),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.spaceBetween,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
'按摩',
|
||||
@@ -437,15 +434,13 @@ class _RxhxMhtState extends State<RxhxMht> {
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
margin:
|
||||
EdgeInsets.only(left: 40.rpx, right: 30.rpx),
|
||||
margin: EdgeInsets.only(left: 40.rpx, right: 30.rpx),
|
||||
width: double.infinity,
|
||||
height: 90.rpx,
|
||||
decoration: const BoxDecoration(),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.spaceBetween,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
'唤醒部位',
|
||||
@@ -566,38 +561,33 @@ class _RxhxMhtState extends State<RxhxMht> {
|
||||
// ),
|
||||
// ),
|
||||
Padding(
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
0, 20.rpx, 0, 0),
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(0, 20.rpx, 0, 0),
|
||||
child: SizedBox(
|
||||
width: double.infinity,
|
||||
height:
|
||||
MediaQuery.sizeOf(context).height * 0.046,
|
||||
height: MediaQuery.sizeOf(context).height * 0.046,
|
||||
child: Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.spaceBetween,
|
||||
children: List.generate(7, (index) {
|
||||
final bool selected =
|
||||
controller.model.rxhxWeeks[index] ==
|
||||
1;
|
||||
controller.model.rxhxWeeks[index] == 1;
|
||||
return InkWell(
|
||||
onTap: () {
|
||||
controller.attr.update((getmodel) {
|
||||
getmodel.model.rxhxWeeks[index] =
|
||||
getmodel.model
|
||||
.rxhxWeeks[index] ==
|
||||
0
|
||||
getmodel.model.rxhxWeeks[index] == 0
|
||||
? 1
|
||||
: 0;
|
||||
});
|
||||
},
|
||||
borderRadius: BorderRadius.circular(
|
||||
50), // 点击水波圆角区域
|
||||
borderRadius:
|
||||
BorderRadius.circular(50), // 点击水波圆角区域
|
||||
child: Container(
|
||||
width: MediaQuery.sizeOf(context)
|
||||
.height *
|
||||
width: MediaQuery.sizeOf(context).height *
|
||||
0.046, // 保证是正圆
|
||||
height: MediaQuery.sizeOf(context)
|
||||
.height *
|
||||
height:
|
||||
MediaQuery.sizeOf(context).height *
|
||||
0.046,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
|
||||
@@ -33,7 +33,7 @@ class UpdatePasswordPage extends GetView<UpdatePasswordController> {
|
||||
return LayoutBuilder(builder: (context, cc) {
|
||||
bodysize = cc;
|
||||
return GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -41,7 +41,7 @@ class _UserAgreementPageState extends State<UserAgreementPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -61,7 +61,7 @@ class _EPageState extends State<PersonPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -57,7 +57,7 @@ class _UpdatePageState extends State<UpdatePersonPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -89,7 +89,7 @@ class _ApplyRepairPageState extends State<ApplyRepairPage> {
|
||||
}
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodysize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -33,7 +33,7 @@ class _ApplyRepairSuccessState extends State<ApplyRepairSuccess> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -65,7 +65,7 @@ class _RepairDetailPageState extends State<RepairDetailPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodysize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -35,7 +35,7 @@ class _RepairListPageState extends State<RepairListPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodysize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -116,7 +116,7 @@ class _CommonMessageSettingPageState extends State<CommonMessageSettingPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodysize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -29,7 +29,7 @@ class _LanguageSettingState extends State<LanguageSetting> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -214,7 +214,7 @@ class BarChartPainter extends CustomPainter {
|
||||
// 缓存 tip 信息
|
||||
if (selectedBar == d) {
|
||||
tipText =
|
||||
'${d.name}\n${d.value.toStringAsFixed(1)}\n${MyUtils.formatToHHmm(d.st)}';
|
||||
'${d.name}\n${d.value.toStringAsFixed(1)}次\n${MyUtils.formatToHHmm(d.st)}';
|
||||
|
||||
final tp = TextPainter(
|
||||
text: TextSpan(
|
||||
|
||||
@@ -84,9 +84,28 @@ class TimeSeriesChart extends StatelessWidget {
|
||||
final xLabels = _generateXLabels();
|
||||
final midY = (yMin + yMax) / 2;
|
||||
|
||||
List<FlSpot> spots = dataPoints.map((p) {
|
||||
return FlSpot(_timeToX(p.timestamp.toDouble(), xLabels), p.value);
|
||||
}).toList();
|
||||
// 将数据点分割成多个连续段,遇到value=-1时断开
|
||||
List<List<FlSpot>> lineSegments = [];
|
||||
List<FlSpot> currentSegment = [];
|
||||
|
||||
for (var point in dataPoints) {
|
||||
if (point.value != -1) {
|
||||
// 有效数据点,添加到当前段
|
||||
currentSegment.add(FlSpot(
|
||||
_timeToX(point.timestamp.toDouble(), xLabels),
|
||||
point.value,
|
||||
));
|
||||
} else if (currentSegment.isNotEmpty) {
|
||||
// 遇到无效点且当前段不为空,结束当前段
|
||||
lineSegments.add(currentSegment);
|
||||
currentSegment = [];
|
||||
}
|
||||
}
|
||||
|
||||
// 添加最后一个段(如果有)
|
||||
if (currentSegment.isNotEmpty) {
|
||||
lineSegments.add(currentSegment);
|
||||
}
|
||||
|
||||
return AspectRatio(
|
||||
aspectRatio: 2,
|
||||
@@ -204,15 +223,16 @@ class TimeSeriesChart extends StatelessWidget {
|
||||
top: BorderSide.none,
|
||||
),
|
||||
),
|
||||
lineBarsData: [
|
||||
LineChartBarData(
|
||||
spots: spots,
|
||||
lineBarsData: lineSegments.map((segment) {
|
||||
return LineChartBarData(
|
||||
spots: segment,
|
||||
isCurved: false,
|
||||
color: themeController.currentColor.sc2,
|
||||
barWidth: 2,
|
||||
dotData: FlDotData(show: false),
|
||||
)
|
||||
],
|
||||
preventCurveOverShooting: true,
|
||||
);
|
||||
}).toList(),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -47,11 +47,21 @@ class _BreatheStandardWidgetState extends State<BreatheStandardWidget> {
|
||||
final endTime = widget.sleepReport['endTime'];
|
||||
List<Map<String, dynamic>> data =
|
||||
(widget.sleepReport['brbc'] as List).cast<Map<String, dynamic>>();
|
||||
final dataPoints = data.map((item) {
|
||||
List<TimeSeriesPoint> dataPoints = [];
|
||||
|
||||
if (data != null && data.isNotEmpty) {
|
||||
data.forEach((item) {
|
||||
final x = item['st'] as int;
|
||||
if (item['value'] == null || item['value'] == '') {
|
||||
// return;
|
||||
dataPoints.add(TimeSeriesPoint(x, -1));
|
||||
return;
|
||||
}
|
||||
final y = (item['value'] as num).toDouble(); // 安全地转换为 double
|
||||
return TimeSeriesPoint(x, y);
|
||||
}).toList();
|
||||
// return TimeSeriesPoint(x, y);
|
||||
dataPoints.add(TimeSeriesPoint(x, y));
|
||||
});
|
||||
}
|
||||
|
||||
List<Map<String, dynamic>> brs =
|
||||
(widget.sleepReport['brs'] as List).cast<Map<String, dynamic>>();
|
||||
@@ -130,7 +140,8 @@ class _BreatheStandardWidgetState extends State<BreatheStandardWidget> {
|
||||
Container(
|
||||
child: Text(
|
||||
// "呼吸数据介绍".tr,
|
||||
"呼吸数据是指用户在睡眠过程中呼吸的基本数据,是评估睡眠呼吸质量、筛查睡眠呼吸障碍的核心指标。".tr,
|
||||
"呼吸数据是指用户在睡眠过程中呼吸的基本数据,是评估睡眠呼吸质量、筛查睡眠呼吸障碍的核心指标。"
|
||||
.tr,
|
||||
style: TextStyle(
|
||||
fontSize: 26.rpx,
|
||||
color: themeController.currentColor.sc3,
|
||||
|
||||
@@ -10,6 +10,7 @@ import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||
import 'package:vbvs_app/pages/sleep_report/chart/TimeSeriesChart.dart';
|
||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||
|
||||
//心率基准
|
||||
class HeartRateStandardWidget extends StatefulWidget {
|
||||
var sleepReport;
|
||||
HeartRateStandardWidget({super.key, required this.sleepReport});
|
||||
@@ -48,11 +49,21 @@ class _HeartRateStandardWidgetState extends State<HeartRateStandardWidget> {
|
||||
final endTime = widget.sleepReport['endTime'];
|
||||
List<Map<String, dynamic>> data =
|
||||
(widget.sleepReport['hrbc'] as List).cast<Map<String, dynamic>>();
|
||||
final dataPoints = data.map((item) {
|
||||
List<TimeSeriesPoint> dataPoints = [];
|
||||
|
||||
if (data != null && data.isNotEmpty) {
|
||||
data.forEach((item) {
|
||||
final x = item['st'] as int;
|
||||
if (item['value'] == null || item['value'] == '') {
|
||||
// return;
|
||||
dataPoints.add(TimeSeriesPoint(x, -1));
|
||||
return;
|
||||
}
|
||||
final y = (item['value'] as num).toDouble(); // 安全地转换为 double
|
||||
return TimeSeriesPoint(x, y);
|
||||
}).toList();
|
||||
// return TimeSeriesPoint(x, y);
|
||||
dataPoints.add(TimeSeriesPoint(x, y));
|
||||
});
|
||||
}
|
||||
|
||||
List<Map<String, dynamic>> hrs =
|
||||
(widget.sleepReport['hrs'] as List).cast<Map<String, dynamic>>();
|
||||
@@ -129,7 +140,8 @@ class _HeartRateStandardWidgetState extends State<HeartRateStandardWidget> {
|
||||
Container(
|
||||
child: Text(
|
||||
// "心率数据介绍".tr,
|
||||
"心率数据是指用户在睡眠过程中基本心率数据,可初步判断睡眠中的心血管负荷及自主神经功能状态,为睡眠健康评估提供重要依据。".tr,
|
||||
"心率数据是指用户在睡眠过程中基本心率数据,可初步判断睡眠中的心血管负荷及自主神经功能状态,为睡眠健康评估提供重要依据。"
|
||||
.tr,
|
||||
style: TextStyle(
|
||||
fontSize: 26.rpx,
|
||||
color: themeController.currentColor.sc3,
|
||||
@@ -376,7 +388,7 @@ class _HeartRateStandardWidgetState extends State<HeartRateStandardWidget> {
|
||||
),
|
||||
);
|
||||
} catch (e) {
|
||||
es.EasyDartModule.logger.error("打鼾监测绘制异常${e}");
|
||||
es.EasyDartModule.logger.error("心率基准绘制异常${e}");
|
||||
return Container();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -138,7 +138,7 @@ class _MHTNewSleepReportPageState extends State<MHTNewSleepReportPage> {
|
||||
double lineWidth = 115.rpx;
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -88,7 +88,7 @@ class _NewSleepReportPageState extends State<NewSleepReportPage> {
|
||||
double lineWidth = 115.rpx;
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -153,7 +153,7 @@ class _NewSleepReportPageState extends State<NewSleepReportPage> {
|
||||
double lineWidth = 115.rpx;
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: (widget.data['noBackImg'] != null &&
|
||||
|
||||
@@ -42,7 +42,7 @@ class _SleepReportPageState extends State<SleepReportPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -117,6 +117,4 @@ class _SleepReportPageState extends State<SleepReportPage> {
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -20,8 +20,7 @@ class _AboutUsPageState extends State<AboutUsPage> {
|
||||
// pdfController.loadPdf();
|
||||
|
||||
widget.webView = MyWebView(
|
||||
url:
|
||||
AppConstants().ent_type == 1
|
||||
url: AppConstants().ent_type == 1
|
||||
? "https://mp.weixin.qq.com/s/IAr4RNBy0hGJXGKyMxe7eQ"
|
||||
: "https://mp.weixin.qq.com/s/7BvvprVDqX1eOzM3Lms8dg",
|
||||
onLoad: () {
|
||||
@@ -34,7 +33,7 @@ class _AboutUsPageState extends State<AboutUsPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -37,7 +37,7 @@ class _PrivacySchemePageState extends State<PrivacySchemePage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -40,7 +40,7 @@ class _SettingPageState extends State<SettingPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
@@ -577,8 +577,10 @@ class _SettingPageState extends State<SettingPage> {
|
||||
),
|
||||
),
|
||||
Text(
|
||||
AppConstants().ent_type == 1? 'Copyright © 202-2025 嘉兴太和信息技术有限责任公司 版权所有'
|
||||
.tr:"Copyright © 202-2025 杭州欢睡科技有限公司 版权所有",
|
||||
AppConstants().ent_type == 1
|
||||
? 'Copyright © 202-2025 嘉兴太和信息技术有限责任公司 版权所有'
|
||||
.tr
|
||||
: "Copyright © 202-2025 杭州欢睡科技有限公司 版权所有",
|
||||
style: TextStyle(
|
||||
color: themeController.currentColor.sc4,
|
||||
fontFamily: 'Inter',
|
||||
|
||||
@@ -49,7 +49,7 @@ class _UpdateUserPageState extends State<UpdateUserPage> {
|
||||
int login = userInfoController.model.login!;
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -41,7 +41,7 @@ class _UserSchemePageState extends State<UserSchemePage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
@@ -42,7 +42,7 @@ class _XiaoEPageState extends State<XiaoEPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
onTap: () => FocusScope.of(context).unfocus(),
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
|
||||
Reference in New Issue
Block a user