You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			175 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Dart
		
	
			
		
		
	
	
			175 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Dart
		
	
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
 | 
						|
import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart';
 | 
						|
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
 | 
						|
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
 | 
						|
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
 | 
						|
import 'package:diplomaticquarterapp/uitl/utils.dart';
 | 
						|
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
 | 
						|
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
 | 
						|
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
 | 
						|
import 'package:flutter/material.dart';
 | 
						|
import 'package:provider/provider.dart';
 | 
						|
 | 
						|
class HelpPRO extends StatefulWidget {
 | 
						|
  const HelpPRO({Key? key}) : super(key: key);
 | 
						|
 | 
						|
  @override
 | 
						|
  State<HelpPRO> createState() => _HelpPROState();
 | 
						|
}
 | 
						|
 | 
						|
class _HelpPROState extends State<HelpPRO> {
 | 
						|
  TextEditingController assistText = new TextEditingController();
 | 
						|
  late ProjectViewModel projectViewModel;
 | 
						|
 | 
						|
  @override
 | 
						|
  Widget build(BuildContext context) {
 | 
						|
    projectViewModel = Provider.of(context);
 | 
						|
    return AppScaffold(
 | 
						|
      isShowAppBar: true,
 | 
						|
      isShowDecPage: false,
 | 
						|
      showNewAppBarTitle: true,
 | 
						|
      showNewAppBar: true,
 | 
						|
      appBarTitle: TranslationBase.of(context).patientRelationOffice,
 | 
						|
      body: SingleChildScrollView(
 | 
						|
        child: Container(
 | 
						|
          width: MediaQuery.of(context).size.width,
 | 
						|
          decoration: containerRadius(Colors.white, 12),
 | 
						|
          margin: EdgeInsets.all(21.0),
 | 
						|
          padding: const EdgeInsets.all(21.0),
 | 
						|
          child: Column(
 | 
						|
            crossAxisAlignment: CrossAxisAlignment.start,
 | 
						|
            children: [
 | 
						|
              Text(
 | 
						|
                TranslationBase.of(context).assistYou,
 | 
						|
                overflow: TextOverflow.clip,
 | 
						|
                style: TextStyle(
 | 
						|
                  fontSize: 16.0,
 | 
						|
                  fontWeight: FontWeight.w600,
 | 
						|
                  color: Color(0xff2B353E),
 | 
						|
                  letterSpacing: -0.64,
 | 
						|
                ),
 | 
						|
              ),
 | 
						|
              mHeight(16),
 | 
						|
              inputWidget(TranslationBase.of(context).enterDetails, "", assistText),
 | 
						|
              mHeight(16),
 | 
						|
              DefaultButton(
 | 
						|
                TranslationBase.of(context).send,
 | 
						|
                () {
 | 
						|
                  if (assistText.text.isNotEmpty) {
 | 
						|
                    callReceivePrescriptionAPI(context);
 | 
						|
                  } else {
 | 
						|
                    Utils.showErrorToast(TranslationBase.of(context).emptyMessage);
 | 
						|
                  }
 | 
						|
                },
 | 
						|
              ),
 | 
						|
            ],
 | 
						|
          ),
 | 
						|
        ),
 | 
						|
      ),
 | 
						|
    );
 | 
						|
  }
 | 
						|
 | 
						|
  Widget inputWidget(String _labelText, String _hintText, TextEditingController _controller, {String? prefix, bool isEnable = true, bool hasSelection = false}) {
 | 
						|
    return Container(
 | 
						|
      padding: EdgeInsets.only(left: 16, right: 16, bottom: 15, top: 15),
 | 
						|
      alignment: Alignment.center,
 | 
						|
      decoration: BoxDecoration(
 | 
						|
        borderRadius: BorderRadius.circular(12),
 | 
						|
        color: Colors.white,
 | 
						|
        border: Border.all(
 | 
						|
          color: Color(0xffefefef),
 | 
						|
          width: 1,
 | 
						|
        ),
 | 
						|
      ),
 | 
						|
      child: InkWell(
 | 
						|
        onTap: hasSelection ? () {} : null,
 | 
						|
        child: Row(
 | 
						|
          children: [
 | 
						|
            Expanded(
 | 
						|
              child: Column(
 | 
						|
                mainAxisSize: MainAxisSize.min,
 | 
						|
                crossAxisAlignment: CrossAxisAlignment.start,
 | 
						|
                children: [
 | 
						|
                  Text(
 | 
						|
                    _labelText,
 | 
						|
                    style: TextStyle(
 | 
						|
                      fontSize: 11,
 | 
						|
                      fontWeight: FontWeight.w600,
 | 
						|
                      color: Color(0xff2B353E),
 | 
						|
                      letterSpacing: -0.44,
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                  TextField(
 | 
						|
                    enabled: isEnable,
 | 
						|
                    scrollPadding: EdgeInsets.zero,
 | 
						|
                    keyboardType: TextInputType.name,
 | 
						|
                    controller: _controller,
 | 
						|
                    onChanged: (value) => {},
 | 
						|
                    style: TextStyle(
 | 
						|
                      fontSize: 14,
 | 
						|
                      height: 21 / 14,
 | 
						|
                      fontWeight: FontWeight.w400,
 | 
						|
                      color: Color(0xff2B353E),
 | 
						|
                      letterSpacing: -0.44,
 | 
						|
                    ),
 | 
						|
                    decoration: InputDecoration(
 | 
						|
                      isDense: true,
 | 
						|
                      hintText: _hintText,
 | 
						|
                      hintStyle: TextStyle(
 | 
						|
                        fontSize: 14,
 | 
						|
                        height: 21 / 14,
 | 
						|
                        fontWeight: FontWeight.w400,
 | 
						|
                        color: Color(0xff575757),
 | 
						|
                        letterSpacing: -0.56,
 | 
						|
                      ),
 | 
						|
                      prefixIconConstraints: BoxConstraints(minWidth: 50),
 | 
						|
                      prefixIcon: prefix == null
 | 
						|
                          ? null
 | 
						|
                          : Text(
 | 
						|
                              "+" + prefix,
 | 
						|
                              style: TextStyle(
 | 
						|
                                fontSize: 14,
 | 
						|
                                height: 21 / 14,
 | 
						|
                                fontWeight: FontWeight.w500,
 | 
						|
                                color: Color(0xff2E303A),
 | 
						|
                                letterSpacing: -0.56,
 | 
						|
                              ),
 | 
						|
                            ),
 | 
						|
                      contentPadding: EdgeInsets.zero,
 | 
						|
                      border: InputBorder.none,
 | 
						|
                      focusedBorder: InputBorder.none,
 | 
						|
                      enabledBorder: InputBorder.none,
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                ],
 | 
						|
              ),
 | 
						|
            ),
 | 
						|
            if (hasSelection) Icon(Icons.keyboard_arrow_down_outlined),
 | 
						|
          ],
 | 
						|
        ),
 | 
						|
      ),
 | 
						|
    );
 | 
						|
  }
 | 
						|
 | 
						|
  void callReceivePrescriptionAPI(BuildContext context) {
 | 
						|
    ClinicListService service = new ClinicListService();
 | 
						|
    GifLoaderDialogUtils.showMyDialog(context);
 | 
						|
    service
 | 
						|
        .insertInPatientOrder(projectViewModel.getAdmissionInfoResponseModel, 1, (projectViewModel.user.firstName! + " " + projectViewModel.user.lastName!),
 | 
						|
            (projectViewModel.user.firstNameN! + " " + projectViewModel.user.lastNameN!), projectViewModel.user.mobileNumber!, assistText.text, context)
 | 
						|
        .then((res) {
 | 
						|
      GifLoaderDialogUtils.hideDialog(context);
 | 
						|
      if (res['MessageStatus'] == 1) {
 | 
						|
        AppToast.showSuccessToast(message: TranslationBase.of(context).successSendReport);
 | 
						|
        Navigator.of(context).pop();
 | 
						|
      } else {
 | 
						|
        AppToast.showErrorToast(message: res['ErrorEndUserMessage'], localContext: context);
 | 
						|
        Navigator.of(context).pop();
 | 
						|
      }
 | 
						|
    }).catchError((err) {
 | 
						|
      GifLoaderDialogUtils.hideDialog(context);
 | 
						|
      print(err);
 | 
						|
    });
 | 
						|
  }
 | 
						|
}
 |