修改房间选择 详情不更改bug 以及部分样式

This commit is contained in:
czz
2025-07-15 14:53:16 +08:00
parent a8b0723714
commit 8ec4da3488
15 changed files with 117 additions and 51 deletions

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30.41 24.02"><defs><style>.cls-1{fill:#333;}</style></defs><title>资源 1728</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M23.25,12.48a6.87,6.87,0,1,0-9.3-10A6.86,6.86,0,0,0,4.26,8.8a6.88,6.88,0,0,0,2.9,5.6A11.35,11.35,0,0,0,0,22.83a1,1,0,1,0,2,.38,9.36,9.36,0,0,1,9.15-7.54h0a9.37,9.37,0,0,1,9.16,7.54,1,1,0,0,0,1,.81.65.65,0,0,0,.19,0,1,1,0,0,0,.79-1.17,11.34,11.34,0,0,0-7.15-8.43,7.29,7.29,0,0,0,1.35-1.25,7,7,0,0,0,2.82.6,9.34,9.34,0,0,1,9.15,7.54,1,1,0,0,0,1,.81l.2,0a1,1,0,0,0,.79-1.17A11.33,11.33,0,0,0,23.25,12.48ZM11.14,13.67h0A4.88,4.88,0,1,1,16,8.8a4.88,4.88,0,0,1-4.87,4.87Zm4.51-10a4.87,4.87,0,1,1,3.63,8.12,4.67,4.67,0,0,1-1.78-.35,6.85,6.85,0,0,0-1.85-7.77Z"/></g></g></svg> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="42" height="42" viewBox="0 0 42 42"><g><g><g><g><g></g></g></g></g><g><g><g><ellipse cx="17.0576171875" cy="17.071533203125" rx="5.875" ry="5.875" fill-opacity="0" stroke-opacity="1" stroke="#85F5FF" fill="none" stroke-width="2" stroke-linecap="ROUND" stroke-linejoin="round"/></g><g><g><path d="M9.811291875,24.5681290625Q6.707501875,27.155049062499998,5.9383838749999995,31.1019390625L7.9014598750000005,31.4844790625Q8.534501875,28.2358890625,11.091781874999999,26.1044690625Q13.681181875,23.9462890625,17.058621875,23.9462890625Q20.435321875,23.9462890625,23.024521875,26.1044490625Q25.581721875,28.2359390625,26.214721875,31.4844790625L28.177821875,31.1019390625Q27.408721875,27.155139062499998,24.305021875,24.5681590625Q21.159521875,21.9462890625,17.058621875,21.9462890625Q12.956991875,21.9462890625,9.811291875,24.5681290625Z" fill-rule="evenodd" fill="#85F5FF" fill-opacity="1"/></g></g></g><g><g><path d="M25.1962846875,20.022216796875Q23.7895446875,20.022216796875,22.6068446875,19.277916796874997L21.5415946875,20.970616796875Q23.2126046875,22.022216796875,25.1962846875,22.022216796875Q28.0442046875,22.022216796875,30.0578546875,20.008316796875Q32.0713046875,17.994676796874998,32.0713046875,15.147216796875Q32.0713046875,12.299316796875,30.057824687500002,10.285796796875Q28.044304687500002,8.272216796875,25.1962846875,8.272216796875Q23.3606346875,8.272216796875,21.7767146875,9.181677396875Q20.2418541875,10.062972796875,19.3207866875,11.574966796875L21.0288226875,12.615456796875Q21.6828546875,11.541816796875,22.7725946875,10.916096796875Q23.8939846875,10.272216796875,25.1962846875,10.272215796875Q27.2158646875,10.272215796875,28.6435946875,11.699986796875Q30.0712846875,13.127726796875,30.0712846875,15.147216796875Q30.0712846875,17.166306796875,28.6435646875,18.594206796875Q27.2157146875,20.022216796875,25.1962846875,20.022216796875Z" fill-rule="evenodd" fill="#85F5FF" fill-opacity="1"/></g><g><g><path d="M32.4431690625,22.643660234374998Q29.2973590625,20.021240234375,25.1962890625,20.021240234375L25.1962890625,22.021240234375Q28.5730690625,22.021240234375,31.1625390625,24.179890234375Q33.7200790625,26.311900234375,34.3524090625,29.560450234375L36.3155890625,29.178320234375Q35.5472890625,25.231310234375,32.4431690625,22.643660234374998Z" fill-rule="evenodd" fill="#85F5FF" fill-opacity="1"/></g></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 807 B

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -49,4 +49,5 @@ class AppConstants {
//系统参数 //系统参数
//运行打包APP模式 //运行打包APP模式
int ent_type = APPPackageType.MHT.code; //1.默认太和 2.欢睡 3.眠花糖 int ent_type = APPPackageType.MHT.code; //1.默认太和 2.欢睡 3.眠花糖
int text_length = 8;
} }

View File

@@ -59,7 +59,7 @@ class _HomeDeviceTypeState extends State<HomeDeviceType> {
// 左侧图标 // 左侧图标
Positioned( Positioned(
left: 0.rpx, left: 0.rpx,
child: returnIconButtom, child: returnIconButtomNew,
), ),
], ],
), ),

View File

@@ -140,7 +140,7 @@ class ShareDeviceDetailWidget extends GetView {
MainAxisAlignment.spaceBetween, MainAxisAlignment.spaceBetween,
children: [ children: [
Text( Text(
'允许对方控制该设备'.tr, '允许对方控制和查看该设备'.tr,
style: FlutterFlowTheme.of(context) style: FlutterFlowTheme.of(context)
.bodyMedium .bodyMedium
.override( .override(

View File

@@ -78,7 +78,7 @@ class ShareUserWidget extends GetView {
alignment: const AlignmentDirectional(-1, 0), alignment: const AlignmentDirectional(-1, 0),
child: Text( child: Text(
info['op_type'] == 1 info['op_type'] == 1
? '允许对方控制该设备'.tr ? '允许对方控制和查看该设备'.tr
: info['op_type'] == 2 : info['op_type'] == 2
? '仅允许对方查看该设备'.tr ? '仅允许对方查看该设备'.tr
: '', : '',

View File

@@ -221,7 +221,18 @@ class _BluetoothPageState extends State<BluetoothPage> {
), ),
_buildMenuButton( _buildMenuButton(
context, '房间选择', "/roomPickerPage", context, '房间选择', "/roomPickerPage",
arguments: obsData), arguments: obsData, onResult: (result) {
if (result != null && result is Map) {
final Map<String, dynamic> safeMap =
result.map(
(key, value) =>
MapEntry(key.toString(), value),
);
setState(() {
obsData.addAll(safeMap);
});
}
}),
_buildMenuButton(context, '设备校准', ""), _buildMenuButton(context, '设备校准', ""),
_buildMenuButton(context, '体征传感器', ""), _buildMenuButton(context, '体征传感器', ""),
_buildMenuButton(context, 'WIFI配置', ""), _buildMenuButton(context, 'WIFI配置', ""),
@@ -313,21 +324,35 @@ class _BluetoothPageState extends State<BluetoothPage> {
}); });
} }
Widget _buildMenuButton( // Widget _buildMenuButton(
BuildContext context, // BuildContext context,
String title, // String title,
String? path, { // String? path, {
Map<dynamic, dynamic>? arguments, // Map<dynamic, dynamic>? arguments,
VoidCallback? onTap, // VoidCallback? onTap,
}) { // }) {
return Padding( // return Padding(
padding: EdgeInsets.only(bottom: 19.rpx), // padding: EdgeInsets.only(bottom: 19.rpx),
child: ClickableContainer( // child: ClickableContainer(
backgroundColor: Colors.transparent, // backgroundColor: Colors.transparent,
highlightColor: Color(0XFF055466), // highlightColor: Color(0XFF055466),
padding: EdgeInsets.only(left: 0), // padding: EdgeInsets.only(left: 0),
onTap: () { // onTap: () {
// if (path?.isNotEmpty == true) { // // if (path?.isNotEmpty == true) {
// // if (arguments != null) {
// // Get.toNamed(path!, arguments: arguments);
// // } else {
// // Get.toNamed(path!);
// // }
// // } else {
// // TopSlideNotification.show(
// // context,
// // text: "功能开发中...",
// // );
// // }
// if (onTap != null) {
// onTap(); // 优先执行自定义逻辑
// } else if (path?.isNotEmpty == true) {
// if (arguments != null) { // if (arguments != null) {
// Get.toNamed(path!, arguments: arguments); // Get.toNamed(path!, arguments: arguments);
// } else { // } else {
@@ -339,19 +364,48 @@ class _BluetoothPageState extends State<BluetoothPage> {
// text: "功能开发中...", // text: "功能开发中...",
// ); // );
// } // }
// },
// child: Container(
// height: MediaQuery.sizeOf(context).height * 0.0566,
// decoration: BoxDecoration(
// color: const Color(0xFF003058),
// borderRadius: BorderRadius.circular(16.rpx),
// ),
// child: Center(
// child: Text(
// title,
// style: const TextStyle(color: Colors.white, fontSize: 16),
// ),
// ),
// ),
// ),
// );
// }
Widget _buildMenuButton(
BuildContext context,
String title,
String? path, {
Map<dynamic, dynamic>? arguments,
VoidCallback? onTap,
ValueChanged<dynamic>? onResult, // ✅ 可选返回值处理器
}) {
return Padding(
padding: EdgeInsets.only(bottom: 19.rpx),
child: ClickableContainer(
backgroundColor: Colors.transparent,
highlightColor: const Color(0XFF055466),
padding: EdgeInsets.only(left: 0),
onTap: () async {
if (onTap != null) { if (onTap != null) {
onTap(); // 优先执行自定义逻辑 onTap(); // 自定义点击逻辑优先执行
} else if (path?.isNotEmpty == true) { } else if (path?.isNotEmpty == true) {
if (arguments != null) { final result = await Get.toNamed(path!, arguments: arguments);
Get.toNamed(path!, arguments: arguments); if (result != null && onResult != null) {
} else { onResult(result); // ✅ 有回调就处理返回值
Get.toNamed(path!);
} }
} else { } else {
TopSlideNotification.show( TopSlideNotification.show(context, text: "功能开发中...");
context,
text: "功能开发中...",
);
} }
}, },
child: Container( child: Container(

View File

@@ -117,9 +117,11 @@ class _MHTBindDeviceSuccessState extends State<MHTBindDeviceSuccess> {
}); });
} }
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
if (homeController.homeSleepDays.value.isNotEmpty) { if (homeController
.homeSleepDays.value.isNotEmpty) {
homeController.selectedDayIndex.value = homeController.selectedDayIndex.value =
homeController.homeSleepDays.value.length - 1; homeController.homeSleepDays.value.length -
1;
} }
}); });
Get.until((route) => Get.until((route) =>
@@ -239,11 +241,11 @@ class _MHTBindDeviceSuccessState extends State<MHTBindDeviceSuccess> {
borderRadius: borderRadius:
AppConstants().normal_container_radius, // 圆角半径 AppConstants().normal_container_radius, // 圆角半径
onTap: () async { onTap: () async {
TopSlideNotification.show( // TopSlideNotification.show(
context, // context,
text: "功能开发中...", // text: "功能开发中...",
); // );
return; // return;
PersonController personController = Get.find(); PersonController personController = Get.find();
String deviceID = String deviceID =
personController.currentPersonId.value; personController.currentPersonId.value;
@@ -347,9 +349,11 @@ class _MHTBindDeviceSuccessState extends State<MHTBindDeviceSuccess> {
}); });
} }
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
if (homeController.homeSleepDays.value.isNotEmpty) { if (homeController
.homeSleepDays.value.isNotEmpty) {
homeController.selectedDayIndex.value = homeController.selectedDayIndex.value =
homeController.homeSleepDays.value.length - 1; homeController.homeSleepDays.value.length -
1;
} }
}); });
Get.until((route) => Get.until((route) =>

View File

@@ -87,7 +87,7 @@ class _MHTBindDeviceTypePageState extends State<MHTBindDeviceTypePage> {
/// 左边返回按钮 /// 左边返回按钮
Positioned( Positioned(
left: 0, left: 0,
child: returnIconButtom, child: returnIconButtomNew,
), ),
], ],
), ),

View File

@@ -39,7 +39,7 @@ class _MHTPeopleInfoPageState extends State<MHTPeopleInfoPage> {
// Initialize person A // Initialize person A
peopleList.add({ peopleList.add({
'mac': device?.macA, 'mac': device?.macA,
'gender': "", 'gender': 1,
'id': device!.macAID, 'id': device!.macAID,
}); });
@@ -47,7 +47,7 @@ class _MHTPeopleInfoPageState extends State<MHTPeopleInfoPage> {
if (device?.macB != null && device!.macB!.isNotEmpty) { if (device?.macB != null && device!.macB!.isNotEmpty) {
peopleList.add({ peopleList.add({
'mac': device.macB, 'mac': device.macB,
'gender': "", 'gender': 1,
'id': device!.macBID, 'id': device!.macBID,
}); });
} }
@@ -326,7 +326,7 @@ class _MHTPeopleInfoPageState extends State<MHTPeopleInfoPage> {
: 1, checkChange: (sindex) { : 1, checkChange: (sindex) {
setState(() { setState(() {
peopleList[index]['gender'] = peopleList[index]['gender'] =
sindex == 0 ? "" : ""; sindex;
}); });
}).then((d) {}); }).then((d) {});
}); });
@@ -351,7 +351,7 @@ class _MHTPeopleInfoPageState extends State<MHTPeopleInfoPage> {
Container( Container(
width: 200.rpx, width: 200.rpx,
child: Text( child: Text(
'${peopleList[index]['gender']}', '${peopleList[index]['gender'] == 1 ? '' : ''}',
textAlign: TextAlign.right, textAlign: TextAlign.right,
style: TextStyle( style: TextStyle(
fontFamily: 'Readex Pro', fontFamily: 'Readex Pro',

View File

@@ -142,6 +142,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
key: _formKey, key: _formKey,
child: TextFormField( child: TextFormField(
controller: _phoneController, controller: _phoneController,
textAlign: TextAlign.center,
decoration: InputDecoration( decoration: InputDecoration(
hintText: '请输入对方手机号/邮箱号', hintText: '请输入对方手机号/邮箱号',
hintStyle: TextStyle( hintStyle: TextStyle(
@@ -234,7 +235,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
MainAxisAlignment.spaceBetween, MainAxisAlignment.spaceBetween,
children: [ children: [
Text( Text(
'允许对方控制该设备'.tr, '允许对方控制和查看该设备'.tr,
style: TextStyle( style: TextStyle(
fontFamily: 'Readex Pro', fontFamily: 'Readex Pro',
color: Colors.white, color: Colors.white,

View File

@@ -405,6 +405,8 @@ class EditAddressPage extends GetView<AddressController>
0), 0),
child: child:
TextFormField( TextFormField(
initialValue:
address['name'],
onChanged: onChanged:
(value) { (value) {
controller.model.name = controller.model.name =
@@ -495,7 +497,6 @@ class EditAddressPage extends GetView<AddressController>
), ),
), ),
), ),
].divide(const SizedBox( ].divide(const SizedBox(
width: 15)), width: 15)),
), ),
@@ -589,6 +590,8 @@ class EditAddressPage extends GetView<AddressController>
0), 0),
child: child:
TextFormField( TextFormField(
initialValue:
address['tel'],
onChanged: onChanged:
(value) { (value) {
controller.model.tel = controller.model.tel =

View File

@@ -1,6 +1,7 @@
import 'package:ef/ef.dart'; import 'package:ef/ef.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:vbvs_app/common/color/ServiceConstant.dart'; import 'package:vbvs_app/common/color/ServiceConstant.dart';
import 'package:vbvs_app/common/color/appConstants.dart';
import 'package:vbvs_app/common/util/FitTool.dart'; import 'package:vbvs_app/common/util/FitTool.dart';
import 'package:vbvs_app/common/util/MyUtils.dart'; import 'package:vbvs_app/common/util/MyUtils.dart';
import 'package:vbvs_app/common/util/requestWithLog.dart'; import 'package:vbvs_app/common/util/requestWithLog.dart';
@@ -121,9 +122,10 @@ class _EditBedPageState extends State<EditBedPage> {
editedData['name'] = val; editedData['name'] = val;
}, },
textAlign: TextAlign.center, textAlign: TextAlign.center,
maxLength: AppConstants().text_length,
decoration: InputDecoration( decoration: InputDecoration(
hintText: "请输入设备的名称", hintText: "请输入设备的名称",
// counterText: "",
contentPadding: contentPadding:
const EdgeInsetsDirectional const EdgeInsetsDirectional
.fromSTEB(10, 0, 10, 0), .fromSTEB(10, 0, 10, 0),

View File

@@ -147,7 +147,7 @@ class _MinePageState extends State<NewMinePage> {
userInfoController userInfoController
.model.user!.avatar!.isEmpty .model.user!.avatar!.isEmpty
? Image.asset( ? Image.asset(
"assets/images/default_avatar.png", "assets/images/mine_avatar.png",
fit: BoxFit.cover, fit: BoxFit.cover,
) )
: Image.network( : Image.network(
@@ -156,7 +156,7 @@ class _MinePageState extends State<NewMinePage> {
fit: BoxFit.cover, fit: BoxFit.cover,
)) ))
: Image.asset( : Image.asset(
"assets/images/default_avatar.png", "assets/images/mine_avatar.png",
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
), ),

View File

@@ -43,7 +43,7 @@ class _RoomPickerPageState extends State<RoomPickerPage> {
); );
} }
int selectedIndex = 1; int selectedIndex = 0;
BoxConstraints? bodysize; BoxConstraints? bodysize;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@@ -189,7 +189,8 @@ class _RoomPickerPageState extends State<RoomPickerPage> {
"roomId": rooms[selectedIndex]['_id'], "roomId": rooms[selectedIndex]['_id'],
}, },
onSuccess: (res) { onSuccess: (res) {
editedData['roomName'] =
rooms[selectedIndex]['name'];
TopSlideNotification.show(context, TopSlideNotification.show(context,
text: "更新成功".tr, text: "更新成功".tr,
textColor: Color(0XFF00C1AA)); textColor: Color(0XFF00C1AA));

View File

@@ -213,7 +213,7 @@ class _RxhxMhtState extends State<RxhxMht> {
), ),
// 左侧图标 // 左侧图标
Positioned( Positioned(
left: 20.rpx, left: 0.rpx,
child: returnIconButtomNew, child: returnIconButtomNew,
), ),
], ],