123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- import 'dart:async';
- import 'dart:convert';
- import 'package:fis_jsonrpc/rpc.dart';
- import 'package:flutter/foundation.dart';
- import 'package:flutter/material.dart';
- import 'package:get/get.dart';
- import 'package:vitalapp/architecture/utils/prompt_box.dart';
- import 'package:vitalapp/architecture/values/features.dart';
- import 'package:vitalapp/consts/styles.dart';
- import 'package:vitalapp/managers/interfaces/csvData.dart';
- import 'package:vitalapp/managers/interfaces/models/crowd_labels.dart';
- import 'package:vitalapp/pages/check/prescription/Iodine_deficiency_disorder.dart';
- import 'package:vitalapp/pages/check/prescription/blood_sugar_disorder.dart';
- import 'package:vitalapp/pages/check/prescription/hypertension_prescription.dart';
- import 'package:vitalapp/pages/check/prescription/hypertrophic_osteoarthropathy_prescription.dart';
- import 'package:vitalapp/pages/check/prescription/pediatric_epilepsy.dart';
- import 'package:vitalapp/pages/check/prescription/pediatric_pneumonia.dart';
- import 'package:vitalapp/pages/check/prescription/prescription_form.dart';
- import 'package:vitalapp/pages/check/prescription/prescription_form_keys.dart';
- import 'package:vitalapp/pages/check/prescription/trichomoniasis_vaginitis.dart';
- import 'package:vitalapp/pages/check/prescription/psychiatric_prescription.dart';
- import 'package:vitalapp/pages/check/prescription/tuberculosis_prescription.dart';
- import 'package:vitalapp/pages/check/prescription/under_fiveMalnutrition_prescription.dart';
- import 'package:vitalapp/pages/patient/csv_datas/csv_datas_view.dart';
- import 'package:vitalapp/pages/widgets/function_button.dart';
- import 'package:vitalapp/store/store.dart';
- import 'package:universal_html/html.dart' as html;
- import '../controller.dart';
- import 'package:csv/csv.dart';
- import 'package:vitalapp/managers/interfaces/csvData.dart';
- import 'package:vitalapp/pages/patient/csv_datas/csv_datas_view.dart';
- import 'package:vitalapp/store/store.dart';
- /// 功能入口面板
- class FunctionsPanel extends GetView<PatientDetailController> {
- const FunctionsPanel({super.key});
- @override
- Widget build(BuildContext context) {
- return Container(
- alignment: Alignment.topLeft,
- margin: const EdgeInsets.all(8).copyWith(left: 0, right: 12),
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius: GlobalStyles.borderRadius,
- ),
- padding: const EdgeInsets.symmetric(horizontal: 0, vertical: 10)
- .copyWith(right: 0),
- child: Obx(
- () => GridView(
- padding: const EdgeInsets.symmetric(horizontal: 32).copyWith(top: 12),
- // shrinkWrap: true,
- // controller: scrollController,
- gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
- crossAxisCount: 3,
- mainAxisSpacing: 24,
- crossAxisSpacing: 24,
- childAspectRatio: 15 / 14,
- ),
- children: [
- if (kDebugMode) ...[
- FunctionButton(
- label: "处方",
- icon: _buildImgIcon("档案.png"),
- onTap: () {
- Get.to(PrescriptionForm(PrescriptionFormKeys.PFSCBIE));
- },
- ),
- ],
- if (Store.user.hasFeature(FeatureKeys.HealthRecordHandling))
- FunctionButton(
- label: "个人基本信息",
- icon: _buildImgIcon("档案.png"),
- onTap: controller.gotoInfo,
- ),
- if (controller.state.labels.contains(CrowdLabels.MENTAlDISORDER) &&
- Store.user.hasFeature(FeatureKeys.MentalDisorderInfo))
- FunctionButton(
- label: "精神障碍补充表",
- icon: _buildImgIcon("严重精神障碍补充表.png"),
- onTap: controller.gotoMentalDisorderInfo,
- ),
- if (Store.user.hasFeature(FeatureKeys.HealthCheckRecord))
- FunctionButton(
- label: "体检记录",
- icon: _buildImgIcon("体检记录.png"),
- onTap: controller.gotoHealthCheckRecord,
- ),
- // if (Store.user.hasFeature(FeatureKeys.FollowUpRecord))
- // FunctionButton(
- // label: "随访记录",
- // icon: _buildImgIcon("随访报告.png"),
- // onTap: controller.gotoFollowUpRecord,
- // ),
- // FunctionButton(
- // label: "双向转诊",
- // icon: _buildImgIcon("转诊.png"),
- // onTap: controller.gotoReferral,
- // ),
- if (Store.user.hasFeature(FeatureKeys.HealthCheckupRecords))
- FunctionButton(
- label: "健康检测记录",
- icon: _buildImgIcon("诊疗.png"),
- onTap: controller.gotoExamRecord,
- ),
- if (Store.user
- .hasFeature(FeatureKeys.TraditionalChineseMedicineConstitution))
- FunctionButton(
- label: "中医体质记录",
- icon: _buildImgIcon("中医体质.png"),
- onTap:
- controller.gotoTraditionalChineseMedicineConsitutionRecord,
- ),
- if (Store.user.hasFeature(FeatureKeys.HypertensionOperation))
- FunctionButton(
- label: "高血压随访",
- icon: _buildImgIcon("高血压随访.png"),
- onTap: controller.gotoHypertensionRecord,
- ),
- if (Store.user.hasFeature(FeatureKeys.DoctorContract))
- FunctionButton(
- label: "医生签约",
- icon: _buildImgIcon("签约.png"),
- onTap: controller.gotoContractRecords,
- ),
- if (Store.user.hasFeature(FeatureKeys.DiabeticOperational))
- FunctionButton(
- label: "2型糖尿病随访",
- icon: _buildImgIcon("2型糖尿病随访.png"),
- onTap: controller.gotoDiabetesRecord,
- ),
- if (Store.user.hasFeature(FeatureKeys.SelfCareAssessmentRecord))
- FunctionButton(
- label: "老年人自理评估",
- icon: _buildImgIcon("自理能力评估.png"),
- onTap: controller.gotoSelfCareAbilityAssessment,
- ),
- if (Store.user.hasFeature(FeatureKeys.MaternalHealthManagement) &&
- Store.user.currentSelectPatientInfo?.patientGender !=
- GenderEnum.Male)
- FunctionButton(
- label: "孕产妇健康管理",
- icon: _buildImgIcon("孕产妇健康管理.png"),
- onTap: controller.gotoMaternalHealthManagement,
- ),
- if (controller.state.labels.contains(CrowdLabels.MENTAlDISORDER) &&
- Store.user.hasFeature(FeatureKeys.MentalDisorderInfo))
- FunctionButton(
- label: "精神障碍随访",
- icon: _buildImgIcon("严重精神障碍随访.png"),
- onTap: controller.gotoMentalDisorderRecord,
- ),
- if ((Store.user.currentSelectPatientInfo?.crowdLabels
- ?.contains("RQFL_ET") ??
- false) &&
- Store.user.hasFeature(FeatureKeys.ChildrenHealthManagement))
- FunctionButton(
- label: "儿童健康管理",
- icon: _buildImgIcon("儿童健康管理.png"),
- onTap: controller.gotoChildHealth,
- ),
- if (Store.user
- .hasFeature(FeatureKeys.TuberculosisManagementRecord) &&
- controller.state.labels.contains(CrowdLabels.TUBERCULOSIS))
- FunctionButton(
- label: "肺结核健康管理",
- icon: _buildImgIcon("肺结核健康管理.png"),
- onTap: controller.gototuberculosisRecord,
- ),
- ],
- ),
- ),
- );
- }
- Widget _buildImgIcon(String assetName) {
- return Image.asset(
- "assets/images/patient/$assetName",
- width: 120,
- height: 120,
- fit: BoxFit.contain,
- );
- }
- }
|