area.dart 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import 'package:flutter/material.dart';
  2. import 'package:get/get.dart';
  3. import 'package:vitalapp/architecture/types/kv.dart';
  4. import 'package:vitalapp/components/cell.dart';
  5. import 'package:vitalapp/components/dialog_select.dart';
  6. import 'package:vitalapp/pages/patient/create/controller.dart';
  7. class Area extends GetView<CreatePatientController> {
  8. const Area({super.key});
  9. @override
  10. Widget build(BuildContext context) {
  11. return Column(
  12. children: [
  13. VListFormCellGroup(
  14. children: [
  15. VListFormCell(
  16. label: "服务机构",
  17. content: controller.state.organizationName,
  18. ),
  19. Obx(
  20. () {
  21. return VListFormCell(
  22. label: "服务区域",
  23. content: controller.patientInfomationState.villageName,
  24. onTap: () async {
  25. final result = await VDialogSelect<StringKVModel, String>(
  26. title: "选择服务区域",
  27. source: controller.state.villageOptions,
  28. valueGetter: (data) => data.key,
  29. labelGetter: (data) => data.value,
  30. initialValue:
  31. controller.patientInfomationState.villageCode,
  32. ).show();
  33. if (result != null) {
  34. controller.patientInfomationState.villageCode = result;
  35. }
  36. },
  37. );
  38. },
  39. ),
  40. ],
  41. ),
  42. ],
  43. );
  44. }
  45. }