123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- // ignore_for_file: unused_element
- 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/components/appbar.dart';
- import 'package:vitalapp/components/button.dart';
- import 'package:vitalapp/components/side_nav/defines.dart';
- import 'package:vitalapp/components/side_nav/side_nav.dart';
- import 'package:vitalapp/pages/patient/info/widgets/base.dart';
- import 'package:vitalapp/pages/patient_info/controller.dart';
- import 'package:vitalapp/store/store.dart';
- import 'controller.dart';
- import 'state.dart';
- class PatientInfoPage extends GetView<PatientInfoController> {
- const PatientInfoPage({super.key});
- @override
- Widget build(BuildContext context) {
- var patientInfomationController = Get.find<PatientInfomationController>();
- return Scaffold(
- backgroundColor: Colors.white,
- appBar: VAppBar(
- titleWidget: Obx(
- () => Text(
- "${patientInfomationController.state.name}健康档案",
- style: const TextStyle(fontSize: 24),
- ),
- ),
- actions: [
- Container(
- margin: EdgeInsets.only(right: 10),
- child: ElevatedButton(
- onPressed: () async {
- var result = await controller.updatePatientAsync();
- if (result) {
- Get.back();
- Future.delayed(Duration(milliseconds: 100), () {
- PromptBox.toast("保存成功");
- });
- await controller.changePatient();
- }
- },
- child: Text('保存信息'),
- ),
- ),
- ],
- ),
- body: Stack(
- children: [
- VSideNavView(
- items: _buildItems(),
- isRemoveSideView: true,
- ),
- ],
- ),
- );
- }
- List<VSideNavMenuItem> _buildItems() {
- final items = <VSideNavMenuItem>[];
- items.add(_buildPersonalInfo());
- return items;
- }
- VSideNavMenuItem _buildPersonalInfo() {
- return VSideNavMenuItem(
- title: "基本信息",
- icon: Icon(Icons.edit_document, color: Colors.grey.shade700),
- pageBuilder: (_) => const _NavWidget(anchor: NavAnchorType.base),
- );
- }
- }
- class _NavWidget extends GetView<PatientInfoController> {
- final NavAnchorType anchor;
- const _NavWidget({required this.anchor});
- @override
- Widget build(BuildContext context) {
- return Stack(
- children: [
- PatientInfoBaseView(),
- ],
- );
- }
- }
|