view.dart 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. import 'package:fis_ui/index.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:get/get.dart';
  4. import 'package:vitalapp/architecture/storage/file_storage.dart';
  5. import 'package:vitalapp/pages/report_preview/controller.dart';
  6. import 'package:fis_lib_pdf/pdf_render_container.dart';
  7. import 'package:fis_lib_pdf/ultils/pdf_access_type.dart';
  8. // ///报告预览页面
  9. // class ReportPreviewPage extends GetView<ReportPreviewController> {
  10. // const ReportPreviewPage({Key? key}) : super(key: key);
  11. // @override
  12. // Widget build(BuildContext context) {
  13. // return Obx(() {
  14. // if (controller.state.isLoaded) {
  15. // List<FWidget> children = ReportPreviewController.imageOrFileUrls
  16. // .map(
  17. // (e) => FContainer(
  18. // child: FImage.network(
  19. // e,
  20. // fit: BoxFit.fitWidth,
  21. // ),
  22. // ),
  23. // )
  24. // .toList();
  25. // return LayoutBuilder(
  26. // builder: (BuildContext context, BoxConstraints constraints) {
  27. // print(
  28. // '${MediaQuery.of(context).size.height} ,, ${constraints.maxHeight}');
  29. // return InteractiveViewer(
  30. // constrained: false,
  31. // minScale: 0.5,
  32. // child: FContainer(
  33. // width: constraints.maxWidth,
  34. // child: FColumn(
  35. // mainAxisAlignment: MainAxisAlignment.center,
  36. // children: children,
  37. // ),
  38. // ),
  39. // );
  40. // },
  41. // );
  42. // // return FStack(
  43. // // children: [
  44. // // FPDFRenderContainer(
  45. // // pdfTypeEnum: ReportPreviewController.pdfType,
  46. // // demoMode: false,
  47. // // pdfAccessTypeEnum: PDFAccessTypeEnum.preview,
  48. // // fileName: _generateReaportFileName(),
  49. // // pdfExporter: TextMediaFileExporterForShell.exportFile,
  50. // // cacheGet: controller.fileStorage.read,
  51. // // cacheSave: controller.fileStorage.save,
  52. // // fromEditor: ReportPreviewController.isFromEditor,
  53. // // webSideShare: controller.shareReport,
  54. // // imageOrFileUrls: ReportPreviewController.imageOrFileUrls,
  55. // // onClose: controller.onPDFClose,
  56. // // customAction: [],
  57. // // ),
  58. // // ],
  59. // // );
  60. // } else {
  61. // return FSizedBox();
  62. // }
  63. // });
  64. // }
  65. // ///获取报告名称
  66. // String _generateReaportFileName() {
  67. // return controller.state.reportName;
  68. // }
  69. // }
  70. ///桌面端布局
  71. class ReportPreviewPage extends GetView<ReportPreviewController> {
  72. @override
  73. Widget build(BuildContext context) {
  74. return Obx(() {
  75. if (controller.state.isLoaded) {
  76. return FStack(
  77. children: [
  78. FPDFRenderContainer(
  79. pdfTypeEnum: ReportPreviewController.pdfType,
  80. demoMode: false,
  81. pdfAccessTypeEnum: PDFAccessTypeEnum.preview,
  82. fileName: _generateReaportFileName(),
  83. pdfExporter: TextMediaFileExporterForShell.exportFile,
  84. cacheGet: (a) async {
  85. return null;
  86. },
  87. cacheSave: (a, b) async {
  88. return false;
  89. },
  90. fromEditor: ReportPreviewController.isFromEditor,
  91. webSideShare: controller.shareReport,
  92. imageOrFileUrls: ReportPreviewController.imageOrFileUrls,
  93. onClose: controller.onPDFClose,
  94. customAction: [],
  95. ),
  96. ],
  97. );
  98. } else {
  99. return FSizedBox();
  100. }
  101. });
  102. }
  103. ///获取报告名称
  104. String _generateReaportFileName() {
  105. return controller.state.reportName;
  106. }
  107. }