1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import 'dart:convert';
- import 'package:get/get.dart';
- import 'package:vitalapp/architecture/defines.dart';
- import 'package:vitalapp/architecture/utils/prompt_box.dart';
- import 'package:vitalapp/consts/diagnosis.dart';
- import 'package:vitalapp/global.dart';
- import 'package:vitalapp/helper/goto_helper.dart';
- import 'package:vitalapp/managers/interfaces/diagnosis.dart';
- import 'package:vitalapp/managers/interfaces/dictionary.dart';
- import 'package:vitalapp/managers/interfaces/models/diagnosis_aggregation_record_model.dart';
- import 'package:vitalapp/pages/home/controller.dart';
- import 'package:vitalapp/pages/medical/records/state.dart';
- import 'package:vitalapp/routes/routes.dart';
- class MedicalRecordsController extends FControllerBase {
- final state = MedicalRecordsState();
- final _diagnosisManager = Get.find<IDiagnosisManager>();
- final _dictionaryManager = Get.find<IDictionaryManager>();
- late String patientCode;
- @override
- void onReady() {
- super.onReady();
- final p = Get.parameters;
- patientCode = p['patientCode'] ?? "";
- _loadData();
- }
- _loadData() async {
- try {
- state.pageIndex = 0;
- state.dataList = [];
- var listRecord =
- await _diagnosisManager.getListByPatientCode(patientCode);
- if (listRecord != null) {
- state.appendDataList(listRecord);
- }
- await loadNextPageList();
- } catch (e) {}
- }
- Future<void> loadNextPageList() async {
- var result = await _diagnosisManager.getDiagnosisAggregationPageAsync(
- patientCode, state.pageIndex + 1, state.pageSize);
- if (result != null) {
- state.totalCount = result.dataCount;
- if (result.pageData != null) {
- state.pageIndex = state.pageIndex + 1;
- state.appendDataList(result.pageData!);
- }
- }
- }
- Future<List<List<String>>> getTableData(
- DiagnosisAggregationRecordModel dto) async {
- var currentDiagnosis = await _diagnosisManager.getTableData(dto);
- return currentDiagnosis;
- }
- Future<void> removeRecord(String appDataId) async {
- setBusy("正在删除...");
- final result = await _diagnosisManager.removeDiagnosis(appDataId);
- cancelBusy();
- if (result) {
- PromptBox.toast("删除成功");
- await Future.delayed(const Duration(milliseconds: 500));
- await _loadData();
- } else {
- PromptBox.toast("删除失败");
- }
- }
- /// 编辑记录(离线)
- Future<void> editRecord(DiagnosisAggregationRecordModel model) async {
- Get.back();
- busy = true;
- await Future.delayed(const Duration(milliseconds: 800));
- Routes.parameters["diagnosisEditData"] = model;
- Get.find<HomeController>().switchNavByName("/medical");
- }
- }
|