index.dart 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. // ignore_for_file: must_be_immutable
  2. import 'package:fis_ui/types/widget_builders.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:get/get.dart';
  5. import 'package:vitalapp/components/search_input.dart';
  6. import 'package:vitalapp/pages/medical/widgets/health_check/health_check_list/controller.dart';
  7. import 'package:vitalapp/pages/medical/widgets/health_check/health_check_list/view.dart';
  8. import 'package:vitalapp/pages/medical_checkup_station/registration/state/list.dart';
  9. import 'package:vitalapp/pages/medical_checkup_station/registration/widgets/filter/filter_time.dart';
  10. class HealthCheckLeft extends GetView<HealthCheckListController> {
  11. HealthCheckLeft({
  12. super.key,
  13. required this.onRowTap,
  14. required this.onCheckTap,
  15. });
  16. ValueCallback<ResidentModel> onRowTap;
  17. ValueCallback<ResidentModel> onCheckTap;
  18. @override
  19. Widget build(BuildContext context) {
  20. return Center(
  21. child: Column(
  22. crossAxisAlignment: CrossAxisAlignment.start,
  23. children: [
  24. _buildHeartCheckFilter(),
  25. Expanded(
  26. child: HealthCheckTable(
  27. onRowTap: (value) {
  28. onRowTap.call(value);
  29. },
  30. onCheckTap: onCheckTap,
  31. ),
  32. ),
  33. ],
  34. ),
  35. );
  36. }
  37. Widget _buildHeartCheckFilter() {
  38. return Row(
  39. children: [
  40. Container(
  41. alignment: Alignment.centerLeft,
  42. margin: const EdgeInsets.all(10.0), // 设置外边距
  43. padding: const EdgeInsets.all(5.0), // 设置内边距
  44. decoration: BoxDecoration(
  45. color: Colors.grey[200], // 设置背景颜色
  46. borderRadius: BorderRadius.circular(16.0), // 设置圆角边框
  47. ),
  48. height: 60,
  49. width: 520,
  50. child: VSearchInput(
  51. textEditingController: TextEditingController(text: ""),
  52. placeholder: "请输入身份证号码",
  53. clearable: true,
  54. onClear: () {},
  55. onSearch: (value) {
  56. controller.getRegisterInfoPage(
  57. keyword: value,
  58. );
  59. },
  60. ),
  61. ),
  62. IconButton(
  63. onPressed: () {
  64. Get.dialog(
  65. FilterTime(
  66. onConfirm: (start, end) {
  67. controller.startTime = start;
  68. controller.endTime = start;
  69. controller.getRegisterInfoPage();
  70. },
  71. ),
  72. );
  73. },
  74. icon: Icon(
  75. Icons.filter_alt,
  76. size: 24,
  77. ),
  78. ),
  79. Expanded(child: SizedBox()),
  80. ],
  81. );
  82. }
  83. }