controller.dart 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /*
  2. * @Descripttion:
  3. * @version:
  4. * @Author: guanxiaoxin
  5. * @Date: 2023-09-22 14:09:39
  6. * @LastEditors: guanxiaoxin
  7. * @LastEditTime: 2023-10-16 17:08:10
  8. * @FilePath: \VNoteApp\lib\pages\check\examination\controller.dart
  9. */
  10. import 'package:fis_jsonrpc/rpc.dart';
  11. import 'package:get/get.dart';
  12. import 'package:vnoteapp/architecture/storage/text_storage.dart';
  13. import 'package:vnoteapp/architecture/utils/prompt_box.dart';
  14. import 'package:vnoteapp/managers/interfaces/exam.dart';
  15. import 'package:vnoteapp/pages/check/widgets/configurable_form.dart';
  16. class ExaminationController extends GetxController {
  17. ExaminationController();
  18. final _examManager = Get.find<IExamManager>();
  19. late String patientCode;
  20. _initData() {
  21. update(["examination"]);
  22. final p = Get.parameters;
  23. patientCode = p['patientCode'] ?? "";
  24. }
  25. List<MenuItem> menuList = [
  26. MenuItem(label: "一般状况", value: 'ZZYBZK'),
  27. MenuItem(label: "辅助检查", value: 'FZJC'),
  28. MenuItem(label: "生活方式", value: 'SHFS'),
  29. MenuItem(label: "脏器及查体", value: 'ZQCT'),
  30. MenuItem(label: "现存主要健康问题", value: 'XCZYWT'),
  31. MenuItem(label: "住院及用药情况", value: 'ZYYYFMYGHYFJZS'),
  32. MenuItem(label: "健康评价及指导", value: 'JKPJJZD'),
  33. ];
  34. void onTap() {}
  35. /// TODO 保存检查需要先判断一下是否本地存在
  36. /// 本地存在拿本地的,本地不存在拿serve
  37. /// serve不存在创建
  38. Future<void> createExam(key, templateCode, data) async {
  39. TextStorage template = TextStorage(
  40. fileName: key,
  41. directory: "patient/$patientCode/exam/2023",
  42. );
  43. final result = await _examManager.createExam(CreateExamRequest(
  44. key: key,
  45. patientCode: patientCode,
  46. templateCode: templateCode,
  47. examData: data,
  48. ));
  49. if (result?.isNotEmpty ?? false) {
  50. try {
  51. template.save(data);
  52. PromptBox.toast('保存成功');
  53. } catch (err) {
  54. print('🥟');
  55. PromptBox.toast('保存失败');
  56. }
  57. }
  58. }
  59. // @override
  60. // void onInit() {
  61. // super.onInit();
  62. // }
  63. @override
  64. void onReady() {
  65. super.onReady();
  66. _initData();
  67. }
  68. // @override
  69. // void onClose() {
  70. // super.onClose();
  71. // }
  72. }