fix issues#26 & 27 & 28

fix_issues
Mohammad Aljmma 5 years ago
parent ed7b9d609f
commit 770d28033d

@ -840,4 +840,112 @@ const Map localizedValues = {
"Average": {"en": "Average", "ar": "المعدل"},
"DailyDoses": {"en": "Daily Doses", "ar": "جرعات يومية"},
"Period": {"en": "Period", "ar": "الفترة"},
"cm": {
"en": "CM",
"ar": "سم"
},
"kg": {
"en": "kg",
"ar": "كجم"
},
"mass": {
"en": "Mass",
"ar": "كتلة"
},
"temp-c": {
"en": "°C",
"ar": "°س"
},
"bpm": {
"en": "bpm",
"ar": "نبضة"
},
"respiration-signs": {
"en": "Respiration",
"ar": "تنفس"
},
"sys-dias": {
"en": "SBP/DBP",
"ar": "إنقباض/إنبساط"
},
"body": {
"en": "Body \n Mass",
"ar": "كتلة\nالجسم"
},
"feedback": {
"en": "Feedback",
"ar": "رأيك يهمنا"
},
"send": {
"en": "Send",
"ar": "أرسل"
},
"status": {
"en": "Status",
"ar": "الحالة"
},
"like-to-hear": {
"en": "We would love to hear the feedback, concerns on healthcare services and eServices experience. Please use the below form",
"ar": "يسعدنا سماع ملاحظاتك حول خدمات الرعاية الصحية والخدمات الإلكترونية. يرجى تعبئة الحقول المطلوبة"
},
"subject": {
"en": "Subject",
"ar": "الموضوع"
},
"message": {
"en": "Message",
"ar": "رسالة"
},
"empty-subject": {
"en": "Please enter the subject",
"ar": "يرجى ادخال الموضوع"
},
"empty-message": {
"en": "Please enter message",
"ar": "يرجى ادخال الموضوع"
},
"select-attachment": {
"en": "Select Attachment",
"ar": "إختر المرفق"
},
"complain-appo": {
"en": "Complaint for appointment",
"ar": "شكوى على موعد"
},
"complain-without-appo": {
"en": "Complaint without appointment",
"ar": "شكوى بدون موعد"
},
"question": {
"en": "Question",
"ar": "سؤال"
},
"message-type": {
"en": "Message Type",
"ar": "نوع الرسالة"
},
"compliment": {
"en": "compliment",
"ar": "ثناء"
},
"suggestion": {
"en": "Suggestion",
"ar": "إقتراح"
},
"your-feedback": {
"en": "Your feedback was sent",
"ar": "إقتراح"
},
"select-part": {
"en": "Please select the part that complain about",
"ar": "يرجى تحديد الجزء الذي تشكو منه"
},
"number": {
"en": "Number",
"ar": "الرقم"
},
"not-classified": {
"en": "Not classified",
"ar": "غير محدد"
},
};

@ -3,6 +3,8 @@ import 'package:diplomaticquarterapp/core/model/feedback/COC_items.dart';
import 'package:diplomaticquarterapp/core/service/feedback/feedback_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import 'package:diplomaticquarterapp/pages/feedback/appointment_history.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:flutter/cupertino.dart';
import '../../../locator.dart';
@ -22,7 +24,31 @@ class FeedbackViewModel extends BaseViewModel {
MessageType messageType = MessageType.NON;
MessageType messageTypeDialog = MessageType.NON;
String selected = "not selected";
String getSelected(BuildContext context) {
switch (messageType) {
case MessageType.ComplaintOnAnAppointment:
return TranslationBase.of(context).complainAppo;
break;
case MessageType.ComplaintWithoutAppointment:
return TranslationBase.of(context).complainWithoutAppo;
break;
case MessageType.Question:
return TranslationBase.of(context).question;
break;
case MessageType.Compliment:
return TranslationBase.of(context).compliment;
break;
case MessageType.Suggestion:
return TranslationBase.of(context).suggestion;
break;
case MessageType.NON:
return TranslationBase.of(context).notClassified;
break;
}
return TranslationBase.of(context).notClassified;
}
setMessageDialogType(MessageType messageType) {
messageTypeDialog = messageType;
@ -33,19 +59,14 @@ class FeedbackViewModel extends BaseViewModel {
this.messageType = messageType;
switch (messageType) {
case MessageType.ComplaintOnAnAppointment:
selected = "Complaint on an appointment";
break;
case MessageType.ComplaintWithoutAppointment:
selected = "Complaint without appointment";
break;
case MessageType.Question:
selected = "Question";
break;
case MessageType.Compliment:
selected = "Compliment";
break;
case MessageType.Suggestion:
selected = "Suggestion";
break;
case MessageType.NON:
break;

@ -1,6 +1,7 @@
import 'dart:ui';
import 'package:diplomaticquarterapp/pages/feedback/send_feedback_page.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
@ -35,7 +36,7 @@ class _FeedbackHomePageState extends State<FeedbackHomePage>
isShowAppBar: true,
isBottomBar: false,
isShowDecPage: false,
appBarTitle: 'Feedback',
appBarTitle: TranslationBase.of(context).feedbackTitle,
body: Scaffold(
extendBodyBehindAppBar: true,
appBar: PreferredSize(
@ -82,13 +83,13 @@ class _FeedbackHomePageState extends State<FeedbackHomePage>
Container(
width: MediaQuery.of(context).size.width * 0.30,
child: Center(
child: Texts('Send'),
child: Texts(TranslationBase.of(context).send),
),
),
Container(
width: MediaQuery.of(context).size.width * 0.30,
child: Center(
child: Texts('Status'),
child: Texts(TranslationBase.of(context).status),
),
),
],

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/core/viewModels/feedback/feedback_view_mode
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/avatar/large_avatar.dart';
import 'package:diplomaticquarterapp/widgets/bottom_options/BottomSheet.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
@ -52,8 +53,7 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
Container(
margin: EdgeInsets.only(left: 20, right: 20, top: 8),
child: Texts(
'We\'d love to hear your feedback about the health care services and online services. Please fill in the required fields',
//يسعدنا سماع ملاحظاتك حول خدمات الرعاية الصحية والخدمات الإلكترونية. يرجى تعبئة الحقول المطلوبة
TranslationBase.of(context).likeToHear,
textAlign: TextAlign.center,
variant: 'body2Link',
),
@ -75,11 +75,12 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Container(
child: Texts(
model.selected,
model.getSelected(context),
variant: 'bodyText',
),
margin: EdgeInsets.only(left: 10),
margin: EdgeInsets.only(left: 10,right: 10),
),
Icon(
Icons.arrow_drop_down,
@ -278,14 +279,14 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
Container(
margin: EdgeInsets.only(left: 10, right: 10, top: 15),
child: TextFields(
hintText: 'Title',
hintText: TranslationBase.of(context).subject,
controller: titleController,
fontSize: 13.5,
hintColor: Colors.black,
fontWeight: FontWeight.w600,
validator: (value) {
if (value == null)
return "please Enter title";
return TranslationBase.of(context).emptySubject;
else
return null;
},
@ -294,7 +295,7 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
Container(
margin: EdgeInsets.only(left: 10, right: 10, top: 15),
child: TextFields(
hintText: 'message',
hintText: TranslationBase.of(context).message,
fontSize: 13.5,
hintColor: Colors.black,
fontWeight: FontWeight.w600,
@ -303,7 +304,7 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
controller: messageController,
validator: (value) {
if (value == null)
return "please Enter message";
return TranslationBase.of(context).emptyMessage;
else
return null;
}),
@ -332,7 +333,7 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
children: <Widget>[
Icon(Icons.attach_file),
Texts(
'selected attachment',
TranslationBase.of(context).selectAttachment,
variant: 'bodyText',
textAlign: TextAlign.center,
),
@ -391,7 +392,7 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
height: MediaQuery.of(context).size.height * 0.1,
width: MediaQuery.of(context).size.width * 0.8,
child: Button(
label: 'Send',
label: TranslationBase.of(context).send,
loading: model.state == ViewState.BusyLocal,
onTap: () {
final form = formKey.currentState;
@ -415,13 +416,13 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
});
model.setMessageType(MessageType.NON);
AppToast.showSuccessToast(
message: "Your feedback was send");
message: TranslationBase.of(context).yourFeedback);
} else {
AppToast.showErrorToast(message: model.error);
}
});
else {
AppToast.showErrorToast(message: "Please select COC");
AppToast.showErrorToast(message: TranslationBase.of(context).selectPart);
}
},
),
@ -489,7 +490,7 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
return BaseView<FeedbackViewModel>(
builder: (_, model, widge) => SimpleDialog(
title: Text(
"Message Type",
TranslationBase.of(context).messageType,
textAlign: TextAlign.center,
),
children: <Widget>[
@ -509,7 +510,7 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
onTap: () => model.setMessageDialogType(
MessageType.ComplaintOnAnAppointment),
child: ListTile(
title: const Text('Complaint on an appointment'),
title: Texts(TranslationBase.of(context).complainAppo),
leading: Radio(
value: MessageType.ComplaintOnAnAppointment,
groupValue: model.messageTypeDialog,
@ -533,7 +534,7 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
onTap: () => model.setMessageDialogType(
MessageType.ComplaintWithoutAppointment),
child: ListTile(
title: const Text('Complaint without appointment'),
title: Texts(TranslationBase.of(context).complainWithoutAppo),
leading: Radio(
value: MessageType.ComplaintWithoutAppointment,
groupValue: model.messageTypeDialog,
@ -557,7 +558,7 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
onTap: () =>
model.setMessageDialogType(MessageType.Question),
child: ListTile(
title: const Text('Question'),
title: Texts(TranslationBase.of(context).question),
leading: Radio(
value: MessageType.Question,
groupValue: model.messageTypeDialog,
@ -581,7 +582,7 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
onTap: () =>
model.setMessageDialogType(MessageType.Compliment),
child: ListTile(
title: const Text('compliment'),
title: Texts(TranslationBase.of(context).compliment),
leading: Radio(
value: MessageType.Compliment,
groupValue: model.messageTypeDialog,
@ -605,7 +606,7 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
onTap: () =>
model.setMessageDialogType(MessageType.Suggestion),
child: ListTile(
title: const Text('Suggestion'),
title: Texts(TranslationBase.of(context).suggestion),
leading: Radio(
value: MessageType.Suggestion,
groupValue: model.messageTypeDialog,
@ -638,11 +639,11 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
Navigator.pop(context);
},
child: Padding(
padding: const EdgeInsets.all(8.0),
padding: EdgeInsets.all(8.0),
child: Container(
child: Center(
child: Texts(
'cancel',
TranslationBase.of(context).cancel,
color: Colors.red,
),
),
@ -666,7 +667,7 @@ class FeedbackTypeDialogState extends State<FeedbackTypeDialog> {
padding: const EdgeInsets.all(8.0),
child: Center(
child: Texts(
'ok',
TranslationBase.of(context).ok,
fontWeight: FontWeight.w400,
)),
),

@ -1,6 +1,7 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/viewModels/feedback/feedback_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@ -52,7 +53,7 @@ class _StatusFeedbackPageState extends State<StatusFeedbackPage> {
children: <Widget>[
Texts('${model.cOCItemList[index].cOCTitle}'),
Texts(
'Number :${model.cOCItemList[index].itemID}',
TranslationBase.of(context).number + ' : ${model.cOCItemList[index].itemID}',
variant: 'overline',
),
],

@ -55,7 +55,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
mode.vitalSignResModelList.length - 1]
.heightCm
.toString(),
unit: ' Cm',
unit: TranslationBase.of(context).cm,
),
),
),
@ -73,7 +73,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
child: VitalSignItem(
des: TranslationBase.of(context).weight,
icon: DQIcons.weight_scale,
unit: ' Kg',
unit: TranslationBase.of(context).kg,
lastVal: mode
.vitalSignResModelList[
mode.vitalSignResModelList.length - 1]
@ -98,12 +98,12 @@ class VitalSignDetailsScreen extends StatelessWidget {
),
),
child: VitalSignItem(
des: TranslationBase.of(context).bodyMeasurements,
des: TranslationBase.of(context).body,
icon: DQIcons.bmi,
lastVal: mode
.vitalSignResModelList[0].pulseBeatPerMinute
.toString(),
unit: 'BMI',
unit: TranslationBase.of(context).mass,
),
),
InkWell(
@ -125,7 +125,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
lastVal: mode
.vitalSignResModelList[0].temperatureCelcius
.toString(),
unit: 'C',
unit: TranslationBase.of(context).tempC,
),
),
),
@ -152,7 +152,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
mode.vitalSignResModelList.length - 1]
.pulseBeatPerMinute
.toString(),
unit: ' bpm',
unit: TranslationBase.of(context).bpm,
),
),
InkWell(
@ -175,7 +175,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
mode.vitalSignResModelList.length - 1]
.respirationBeatPerMinute
.toString(),
unit: ' bmp',
unit: TranslationBase.of(context).respirationSigns,
),
),
],
@ -202,7 +202,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
mode.vitalSignResModelList.length - 1]
.bloodPressure
.toString(),
unit: ' SBP/DBP',
unit: TranslationBase.of(context).sysDias,
),
),
],

@ -794,6 +794,33 @@ class TranslationBase {
String get average => localizedValues['Average'][locale.languageCode];
String get dailyDoses => localizedValues['DailyDoses'][locale.languageCode];
String get period => localizedValues['Period'][locale.languageCode];
String get cm => localizedValues['cm'][locale.languageCode];
String get kg => localizedValues['kg'][locale.languageCode];
String get mass => localizedValues['mass'][locale.languageCode];
String get tempC => localizedValues['temp-c'][locale.languageCode];
String get bpm => localizedValues['bpm'][locale.languageCode];
String get respirationSigns => localizedValues['respiration-signs'][locale.languageCode];
String get sysDias => localizedValues['sys-dias'][locale.languageCode];
String get body => localizedValues['body'][locale.languageCode];
String get feedbackTitle => localizedValues['feedback'][locale.languageCode];
String get send => localizedValues['send'][locale.languageCode];
String get status => localizedValues['status'][locale.languageCode];
String get likeToHear => localizedValues['like-to-hear'][locale.languageCode];
String get subject => localizedValues['subject'][locale.languageCode];
String get message => localizedValues['message'][locale.languageCode];
String get emptySubject => localizedValues['empty-subject'][locale.languageCode];
String get emptyMessage => localizedValues['empty-message'][locale.languageCode];
String get selectAttachment => localizedValues['select-attachment'][locale.languageCode];
String get complainAppo => localizedValues['complain-appo'][locale.languageCode];
String get complainWithoutAppo => localizedValues['complain-without-appo'][locale.languageCode];
String get question => localizedValues['question'][locale.languageCode];
String get messageType => localizedValues['message-type'][locale.languageCode];
String get compliment => localizedValues['compliment'][locale.languageCode];
String get suggestion => localizedValues['suggestion'][locale.languageCode];
String get yourFeedback => localizedValues['your-feedback'][locale.languageCode];
String get selectPart => localizedValues['select-part'][locale.languageCode];
String get number => localizedValues['number'][locale.languageCode];
String get notClassified => localizedValues['not-classified'][locale.languageCode];
}

Loading…
Cancel
Save