123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- import 'package:flutter/gestures.dart';
- import 'package:flutter/material.dart';
- import 'package:get/get.dart';
- import 'package:vitalapp/managers/interfaces/models/image_report_list_params.dart';
- import 'package:vitalapp/pages/consultation_record_view/widgets/consultation_record_filter.dart';
- import 'package:vitalapp/pages/consultation_record_view/widgets/record_data_table.dart';
- import 'package:vitalapp/pages/image_report_inner_view/controller.dart';
- import 'package:vitalapp/pages/image_report_inner_view/view.dart';
- import 'index.dart';
- import 'widgets/consultation_record_filter_drawer.dart';
- import 'widgets/operation_buttons_row.dart';
- class ConsultationRecordViewPage
- extends GetView<ConsultationRecordViewController> {
- @override
- String get pageName => "ConsultationRecordViewPage";
- const ConsultationRecordViewPage({Key? key}) : super(key: key);
- // 主视图
- Widget _buildView() {
- var body = Row(
- children: [
- Expanded(
- child: InkWell(
- // 将highlightColor和splashColor设置为透明色
- highlightColor: Colors.transparent,
- splashColor: Colors.transparent,
- hoverColor: Colors.transparent,
- focusColor: Colors.transparent,
- mouseCursor: SystemMouseCursors.basic,
- onTap: () {
- controller.closePatientInfoDialog();
- },
- child: Column(
- children: [
- GetBuilder<ConsultationRecordViewController>(
- id: 'record_data_table_header',
- builder: (context) {
- return ConsultationRecordFilter();
- },
- ),
- Expanded(
- child: SizedBox(
- width: double.infinity,
- child: RecordDataTable(),
- ),
- ),
- OperationButtonsRow(),
- ],
- ),
- ),
- ),
- Container(
- width: 320,
- decoration: BoxDecoration(
- border: Border(
- left: BorderSide(
- color: Colors.grey[300]!,
- width: 1,
- ),
- ),
- ),
- child: FutureBuilder(
- future: Future.delayed(Duration(
- milliseconds: Get.isRegistered<ImagereportinnerviewController>()
- ? 800
- : 0)),
- builder: (context, snapshot) {
- if (snapshot.connectionState == ConnectionState.done) {
- return ImageReportInnerView(
- args: ImageReportListParams(
- recordCode: controller.desktopListSelectedRecordCode,
- ),
- );
- } else {
- return Container();
- }
- },
- ),
- )
- ],
- );
- return FutureBuilder<bool>(
- future: _checkConsultationRecordViewController(),
- builder: (c, snapshot) {
- if (snapshot.connectionState == ConnectionState.done &&
- snapshot.hasData &&
- snapshot.data == true) {
- return Scaffold(
- key: controller.scaffoldKey,
- body: GetBuilder<ConsultationRecordViewController>(
- id: 'record_body',
- builder: (_) {
- return Stack(
- children: [
- body,
- ],
- );
- },
- ),
- drawerEdgeDragWidth: 500,
- drawerDragStartBehavior: DragStartBehavior.down,
- endDrawer: Drawer(
- width: 500,
- child: RecordFilterDrawer(),
- ),
- );
- } else {
- return SizedBox();
- }
- });
- }
- @override
- Widget build(BuildContext context) {
- return _buildView();
- }
- static Future<bool>? _checkConsultationRecordViewController() async {
- if (Get.isRegistered<ConsultationRecordViewController>()) {
- await Future.delayed(const Duration(milliseconds: 200));
- }
- return true;
- }
- }
|