Working on gas request screen

main_design2.0
zaid_daoud 2 years ago
parent 3bdae42769
commit 1db543710e

@ -25,5 +25,9 @@
"gasType" : "نوع الغاز", "gasType" : "نوع الغاز",
"quantity" : "الكمية", "quantity" : "الكمية",
"cylinderType" : "نوع الأسطوانة", "cylinderType" : "نوع الأسطوانة",
"cylinderSize" : "حجم الأسطوانة" "cylinderSize" : "حجم الأسطوانة",
"department" : "القسم",
"httpError" : "خطأ فشل الطلب",
"tryAgain" : "أعد المحاولة",
"destinationSite" : "موقع الوجهة"
} }

@ -25,5 +25,9 @@
"gasType": "Gas Type", "gasType": "Gas Type",
"quantity" : "Quantity", "quantity" : "Quantity",
"cylinderType" : "Cylinder Type", "cylinderType" : "Cylinder Type",
"cylinderSize" : "Cylinder Size" "cylinderSize" : "Cylinder Size",
"department" : "Department",
"httpError" : "Error Request Failed",
"tryAgain" : "Try Again",
"destinationSite" : "Destination Site"
} }

@ -12,6 +12,7 @@ import 'package:test_sa/new_views/pages/login_page.dart';
import 'package:test_sa/new_views/pages/new_service_request_page.dart'; import 'package:test_sa/new_views/pages/new_service_request_page.dart';
import 'package:test_sa/new_views/pages/new_transfer_request_page.dart'; import 'package:test_sa/new_views/pages/new_transfer_request_page.dart';
import 'package:test_sa/new_views/pages/splash_page.dart'; import 'package:test_sa/new_views/pages/splash_page.dart';
import 'package:test_sa/providers/department_provider.dart';
import 'package:test_sa/providers/gas_request_providers/cylinder_size_provider.dart'; import 'package:test_sa/providers/gas_request_providers/cylinder_size_provider.dart';
import 'package:test_sa/providers/gas_request_providers/cylinder_type_provider.dart'; import 'package:test_sa/providers/gas_request_providers/cylinder_type_provider.dart';
import 'package:test_sa/providers/gas_request_providers/gas_types_provider.dart'; import 'package:test_sa/providers/gas_request_providers/gas_types_provider.dart';
@ -58,6 +59,7 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider(create: (_) => GasTypesProvider()), ChangeNotifierProvider(create: (_) => GasTypesProvider()),
ChangeNotifierProvider(create: (_) => CylinderTypesProvider()), ChangeNotifierProvider(create: (_) => CylinderTypesProvider()),
ChangeNotifierProvider(create: (_) => CylinderSizeProvider()), ChangeNotifierProvider(create: (_) => CylinderSizeProvider()),
ChangeNotifierProvider(create: (_) => DepartmentProvider()),
], ],
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {

@ -26,4 +26,8 @@ enum TranslationKeys {
quantity, quantity,
cylinderType, cylinderType,
cylinderSize, cylinderSize,
department,
httpError,
tryAgain,
destinationSite,
} }

@ -1,6 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/models/enums/translation_keys.dart';
import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart'; import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart';
import '../app_style/app_color.dart'; import '../app_style/app_color.dart';
@ -69,11 +70,11 @@ class _AppLoadingManagerState extends State<AppLoadingManager> {
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Text("Error Request Failed", style: Theme.of(context).textTheme.titleMedium), Text(context.translate(TranslationKeys.httpError), style: Theme.of(context).textTheme.titleMedium),
16.height, 4.height,
OutlinedButton( OutlinedButton(
onPressed: widget.onRefresh, onPressed: widget.onRefresh,
child: const Text("try again"), child: Text(context.translate(TranslationKeys.tryAgain)),
) )
], ],
), ),

@ -45,6 +45,16 @@ class NewGasRefillRequestPage extends StatelessWidget {
title: TranslationKeys.cylinderSize, title: TranslationKeys.cylinderSize,
), ),
8.height, 8.height,
// SingleItemDropDownMenu<Lookup, CylinderTypesProvider>(
// context: context,
// title: TranslationKeys.department,
// ),
// 8.height,
// SingleItemDropDownMenu<Lookup, CylinderTypesProvider>(
// context: context,
// title: TranslationKeys.destinationSite,
// ),
// 8.height,
], ],
), ),
), ),

@ -0,0 +1,34 @@
import 'dart:convert';
import 'package:http/http.dart';
import '../../controllers/api_routes/api_manager.dart';
import '../../controllers/api_routes/urls.dart';
import '../../models/lookup.dart';
import 'loading_list_notifier.dart';
class DepartmentProvider extends LoadingListNotifier<Lookup> {
@override
Future getDate() async {
if (loading ?? false) return -2;
loading = true;
notifyListeners();
try {
Response response = await ApiManager.instance.get(URLs.getDepartments);
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received
List categoriesListJson = json.decode(response.body)["data"];
items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
}
loading = false;
notifyListeners();
return response.statusCode;
} catch (error) {
loading = false;
stateCode = -1;
notifyListeners();
return -1;
}
}
}

@ -14,7 +14,7 @@ class CylinderSizeProvider extends LoadingListNotifier<Lookup> {
loading = true; loading = true;
notifyListeners(); notifyListeners();
try { try {
Response response = await ApiManager.instance.get(URLs.getGasTypes); Response response = await ApiManager.instance.get(URLs.getGasCylinderSize);
stateCode = response.statusCode; stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) { if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received // client's request was successfully received

@ -14,7 +14,7 @@ class CylinderTypesProvider extends LoadingListNotifier<Lookup> {
loading = true; loading = true;
notifyListeners(); notifyListeners();
try { try {
Response response = await ApiManager.instance.get(URLs.getGasTypes); Response response = await ApiManager.instance.get(URLs.getGasCylinderType);
stateCode = response.statusCode; stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) { if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received // client's request was successfully received

Loading…
Cancel
Save