view.dart 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. import 'package:fis_i18n/i18n.dart';
  2. import 'package:fis_lib_report/pages/theme.dart';
  3. import 'package:fis_theme/theme.dart';
  4. import 'package:flutter/foundation.dart';
  5. import 'package:flutter/material.dart';
  6. import 'package:get/get.dart';
  7. import 'package:fis_measure/process/workspace/measure_handler.dart';
  8. import 'package:fis_measure/view/mobile_view/mobile_measure_view.dart';
  9. import 'package:vitalapp/architecture/utils/prompt_box.dart';
  10. import 'package:vitalapp/managers/interfaces/models/vid_image_source.dart';
  11. import 'package:vitalapp/managers/interfaces/report.dart';
  12. import 'package:vitalapp/store/store.dart';
  13. import 'package:fis_measure/view/measure/measure_view.dart';
  14. import 'controller.dart';
  15. class MeasureHomePage extends GetView<MeasureHomeController> {
  16. MeasureHomePage({
  17. Key? key,
  18. }) : super(key: key);
  19. @override
  20. Widget build(BuildContext context) {
  21. final args = Get.arguments;
  22. if (!Get.isRegistered<MeasureHandler>()) {
  23. Get.put(MeasureHandler());
  24. }
  25. if (kIsWeb) {
  26. return _DesktopLayout(
  27. args["patientCode"] ?? '',
  28. args["recordCode"] ?? '',
  29. args["remedicalCode"] ?? '',
  30. args["remedicalAISelectedInfoCode"] ?? '',
  31. );
  32. }
  33. return _MobileLayout(
  34. args["patientCode"] ?? '',
  35. args["recordCode"] ?? '',
  36. args["remedicalCode"] ?? '',
  37. args["remedicalAISelectedInfoCode"] ?? '',
  38. isCanWriteReport: args["isCanWriteReport"] == true.toString(),
  39. );
  40. }
  41. }
  42. class _DesktopLayout extends GetView<MeasureHomeController> {
  43. _DesktopLayout(
  44. this.patientCode,
  45. this.recordCode,
  46. this.remedicalCode,
  47. this.remedicalAISelectedInfoCode, {
  48. Key? key,
  49. }) : super(key: key);
  50. final String? patientCode;
  51. final String? remedicalCode;
  52. final String? recordCode;
  53. final String? remedicalAISelectedInfoCode;
  54. @override
  55. Widget build(BuildContext context) {
  56. return Dialog(
  57. insetPadding: EdgeInsets.zero,
  58. child: Column(
  59. children: [
  60. Expanded(
  61. child: MeasureMainPage(
  62. Store.user.token ?? '',
  63. recordCode ?? '',
  64. patientCode ?? '',
  65. remedicalCode ?? '',
  66. needRouterBack: true,
  67. enableLoopPlayback: false,
  68. remedicalAISelectedInfoCode: remedicalAISelectedInfoCode,
  69. dispose: () async {},
  70. customWidgets: [],
  71. ),
  72. ),
  73. ],
  74. ),
  75. );
  76. }
  77. }
  78. class _MobileLayout extends GetView<MeasureHomeController> {
  79. _MobileLayout(
  80. this.patientCode,
  81. this.recordCode,
  82. this.remedicalCode,
  83. this.remedicalAISelectedInfoCode, {
  84. this.isCanWriteReport = false,
  85. Key? key,
  86. }) : super(key: key);
  87. final String? patientCode;
  88. final String? remedicalCode;
  89. final String? recordCode;
  90. final bool isCanWriteReport;
  91. final String? remedicalAISelectedInfoCode;
  92. @override
  93. Widget build(BuildContext context) {
  94. Widget body = Dialog(
  95. insetPadding: EdgeInsets.zero,
  96. child: Column(
  97. children: [
  98. Expanded(
  99. child: MobileMeasureMainPage(
  100. Store.user.token ?? '',
  101. recordCode!,
  102. patientCode!,
  103. remedicalCode!,
  104. isCanWriteReport: isCanWriteReport,
  105. onEditReport: () {
  106. Get.find<IReportManager>().onEditReport.emit(this, recordCode!);
  107. },
  108. remedicalAISelectedInfoCode,
  109. supportsPortraitMode: false,
  110. ),
  111. ),
  112. ],
  113. ),
  114. );
  115. // return FRotatedBox(quarterTurns: 1, child: FScaffold(body: body));
  116. return Scaffold(body: body);
  117. }
  118. }