Working on gas request screen

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

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

@ -25,5 +25,9 @@
"gasType": "Gas Type",
"quantity" : "Quantity",
"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_transfer_request_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_type_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: (_) => CylinderTypesProvider()),
ChangeNotifierProvider(create: (_) => CylinderSizeProvider()),
ChangeNotifierProvider(create: (_) => DepartmentProvider()),
],
child: GestureDetector(
onTap: () {

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

@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:test_sa/extensions/context_extension.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 '../app_style/app_color.dart';
@ -69,11 +70,11 @@ class _AppLoadingManagerState extends State<AppLoadingManager> {
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("Error Request Failed", style: Theme.of(context).textTheme.titleMedium),
16.height,
Text(context.translate(TranslationKeys.httpError), style: Theme.of(context).textTheme.titleMedium),
4.height,
OutlinedButton(
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,
),
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;
notifyListeners();
try {
Response response = await ApiManager.instance.get(URLs.getGasTypes);
Response response = await ApiManager.instance.get(URLs.getGasCylinderSize);
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received

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

Loading…
Cancel
Save