|
@@ -24,12 +24,19 @@ class VDialogBloodPressure extends StatelessWidget {
|
|
|
/// 初始值
|
|
|
final List<String>? initialValue;
|
|
|
|
|
|
+ ///是否显示心率
|
|
|
+ final bool isDisplayHeartRate;
|
|
|
+
|
|
|
+ final String? heartRate;
|
|
|
+
|
|
|
const VDialogBloodPressure({
|
|
|
super.key,
|
|
|
this.title,
|
|
|
this.description,
|
|
|
this.placeholder,
|
|
|
this.initialValue,
|
|
|
+ this.heartRate,
|
|
|
+ this.isDisplayHeartRate = false,
|
|
|
});
|
|
|
|
|
|
Future<String?> show<String>() => VAlertDialog.showDialog<String>(this);
|
|
@@ -38,14 +45,19 @@ class VDialogBloodPressure extends StatelessWidget {
|
|
|
Widget build(BuildContext context) {
|
|
|
final controller1 = TextEditingController(text: initialValue?.first);
|
|
|
final controller2 = TextEditingController(text: initialValue?.last);
|
|
|
+ final controller3 = TextEditingController(text: heartRate);
|
|
|
return VAlertDialog(
|
|
|
title: title,
|
|
|
width: 440,
|
|
|
contentPadding: const EdgeInsets.symmetric(vertical: 12, horizontal: 24),
|
|
|
- content: _buildContent(context, controller1, controller2),
|
|
|
+ content: _buildContent(context, controller1, controller2, controller3),
|
|
|
showCancel: true,
|
|
|
onConfirm: () {
|
|
|
- Get.back(result: json.encode([controller1.text, controller2.text]));
|
|
|
+ var content = [controller1.text, controller2.text];
|
|
|
+ if (isDisplayHeartRate) {
|
|
|
+ content.add(controller3.text);
|
|
|
+ }
|
|
|
+ Get.back(result: json.encode(content));
|
|
|
},
|
|
|
);
|
|
|
}
|
|
@@ -54,6 +66,7 @@ class VDialogBloodPressure extends StatelessWidget {
|
|
|
BuildContext context,
|
|
|
TextEditingController controller1,
|
|
|
TextEditingController controller2,
|
|
|
+ TextEditingController controller3,
|
|
|
) {
|
|
|
final children = <Widget>[];
|
|
|
if (description != null) {
|
|
@@ -71,6 +84,10 @@ class VDialogBloodPressure extends StatelessWidget {
|
|
|
children.add(const SizedBox(height: 12));
|
|
|
}
|
|
|
children.add(_buildInputWidget(context, controller1, controller2));
|
|
|
+ if (isDisplayHeartRate) {
|
|
|
+ children.add(const SizedBox(height: 12));
|
|
|
+ children.add(_buildInputHeartRate(context, controller3));
|
|
|
+ }
|
|
|
return SingleChildScrollView(
|
|
|
child: Column(
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
@@ -156,6 +173,15 @@ class VDialogBloodPressure extends StatelessWidget {
|
|
|
),
|
|
|
);
|
|
|
}
|
|
|
+
|
|
|
+ Widget _buildInputHeartRate(
|
|
|
+ BuildContext context,
|
|
|
+ TextEditingController controller,
|
|
|
+ ) {
|
|
|
+ return Row(
|
|
|
+ children: [_buildItem(context, controller, '心率')],
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/// TODO 优化血压组件,存储需要重新设计
|