commented files/codes deleted.
parent
32038102fc
commit
b09609f692
@ -1,45 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'dart:convert';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:flutter/services.dart';
|
|
||||||
// import 'package:localization/localization.dart';
|
|
||||||
//
|
|
||||||
// class AppLocalization {
|
|
||||||
// AppLocalization(this.locale);
|
|
||||||
//
|
|
||||||
// final Locale locale;
|
|
||||||
// static AppLocalization of(BuildContext context) {
|
|
||||||
// return Localizations.of<AppLocalization>(context, AppLocalization);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// AppLocalizations _subtitle;
|
|
||||||
// Subtitle get subtitle => _subtitle;
|
|
||||||
//
|
|
||||||
// Future<void> load() async {
|
|
||||||
// String jsonStringValues = await rootBundle.loadString('assets/subtitles/${locale.languageCode}_subtitle.json');
|
|
||||||
// _subtitle = Subtitle.fromJson(json.decode(jsonStringValues));
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // static member to have simple access to the delegate from Material App
|
|
||||||
// static const LocalizationsDelegate<AppLocalization> delegate = _DemoLocalizationsDelegate();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _DemoLocalizationsDelegate extends LocalizationsDelegate<AppLocalization> {
|
|
||||||
// const _DemoLocalizationsDelegate();
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// bool isSupported(Locale locale) {
|
|
||||||
// return ['en', 'ar'].contains(locale.languageCode);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Future<AppLocalization> load(Locale locale) async {
|
|
||||||
// AppLocalization localization = new AppLocalization(locale);
|
|
||||||
// await localization.load();
|
|
||||||
// return localization;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// bool shouldReload(LocalizationsDelegate<AppLocalization> old) => false;
|
|
||||||
// }
|
|
||||||
@ -1,76 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'dart:convert';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/cupertino.dart';
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:http/http.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
// import 'package:test_sa/models/user.dart';
|
|
||||||
//
|
|
||||||
// class AssetTransferStatusProvider extends ChangeNotifier {
|
|
||||||
// //reset provider data
|
|
||||||
// void reset() {
|
|
||||||
// _items = null;
|
|
||||||
// _loading = null;
|
|
||||||
// _stateCode = null;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // state code of current request to defied error message
|
|
||||||
// // like 400 customer request failed
|
|
||||||
// // 500 service not available
|
|
||||||
// int _stateCode;
|
|
||||||
//
|
|
||||||
// int get stateCode => _stateCode;
|
|
||||||
//
|
|
||||||
// // contain user data
|
|
||||||
// // when user not login or register _user = null
|
|
||||||
// List<Lookup> _items;
|
|
||||||
//
|
|
||||||
// List<Lookup> get items => _items;
|
|
||||||
//
|
|
||||||
// // when categories in-process _loading = true
|
|
||||||
// // done _loading = true
|
|
||||||
// // failed _loading = false
|
|
||||||
// bool _loading;
|
|
||||||
//
|
|
||||||
// bool get isLoading => _loading;
|
|
||||||
//
|
|
||||||
// set isLoading(bool isLoading) {
|
|
||||||
// _loading = isLoading;
|
|
||||||
// notifyListeners();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /// return -2 if request in progress
|
|
||||||
// /// return -1 if error happen when sending request
|
|
||||||
// /// return state code if request complete may be 200, 404 or 403
|
|
||||||
// /// for more details check http state manager
|
|
||||||
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
|
||||||
// Future<int> getData({
|
|
||||||
// String host,
|
|
||||||
// User user,
|
|
||||||
// }) async {
|
|
||||||
// if (_loading == true) return -2;
|
|
||||||
// _loading = true;
|
|
||||||
// notifyListeners();
|
|
||||||
// Response response;
|
|
||||||
// try {
|
|
||||||
// response = await ApiManager.instance.get(URLs.getAssetTransferStatus);
|
|
||||||
// _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;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,73 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'dart:convert';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/cupertino.dart';
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:http/http.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
// import 'package:test_sa/models/user.dart';
|
|
||||||
//
|
|
||||||
// class ServiceReportEquipmentStatusProvider extends ChangeNotifier {
|
|
||||||
// //reset provider data
|
|
||||||
// void reset() {
|
|
||||||
// _status = null;
|
|
||||||
// _stateCode = null;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // state code of current request to defied error message
|
|
||||||
// // like 400 customer request failed
|
|
||||||
// // 500 service not available
|
|
||||||
// int _stateCode;
|
|
||||||
//
|
|
||||||
// int get stateCode => _stateCode;
|
|
||||||
//
|
|
||||||
// // contain user data
|
|
||||||
// // when user not login or register _user = null
|
|
||||||
// List<Lookup> _status;
|
|
||||||
//
|
|
||||||
// List<Lookup> get statuses => _status;
|
|
||||||
//
|
|
||||||
// // when categories in-process _loading = true
|
|
||||||
// // done _loading = true
|
|
||||||
// // failed _loading = false
|
|
||||||
// bool _loading;
|
|
||||||
//
|
|
||||||
// bool get isLoading => _loading;
|
|
||||||
//
|
|
||||||
// set isLoading(bool isLoading) {
|
|
||||||
// _loading = isLoading;
|
|
||||||
// notifyListeners();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /// return -2 if request in progress
|
|
||||||
// /// return -1 if error happen when sending request
|
|
||||||
// /// return state code if request complete may be 200, 404 or 403
|
|
||||||
// /// for more details check http state manager
|
|
||||||
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
|
||||||
// Future<int> getTypes({String host, User user}) async {
|
|
||||||
// if (_loading == true) return -2;
|
|
||||||
// _loading = true;
|
|
||||||
// notifyListeners();
|
|
||||||
// Response response;
|
|
||||||
// try {
|
|
||||||
// response = await ApiManager.instance.get(URLs.equipmentStatus);
|
|
||||||
//
|
|
||||||
// _stateCode = response.statusCode;
|
|
||||||
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
||||||
// // client's request was successfully received
|
|
||||||
// List categoriesListJson = json.decode(response.body)["data"];
|
|
||||||
// _status = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
|
||||||
// }
|
|
||||||
// _loading = false;
|
|
||||||
// notifyListeners();
|
|
||||||
// return response.statusCode;
|
|
||||||
// } catch (error) {
|
|
||||||
// _loading = false;
|
|
||||||
// _stateCode = -1;
|
|
||||||
// notifyListeners();
|
|
||||||
// return -1;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,80 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'dart:convert';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/cupertino.dart';
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:http/http.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
//
|
|
||||||
// class ServiceReportMaintenanceSituationProvider extends ChangeNotifier {
|
|
||||||
// //reset provider data
|
|
||||||
// void reset() {
|
|
||||||
// _calls = null;
|
|
||||||
// _loading = null;
|
|
||||||
// _stateCode = null;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // state code of current request to defied error message
|
|
||||||
// // like 400 customer request failed
|
|
||||||
// // 500 service not available
|
|
||||||
// int _stateCode;
|
|
||||||
//
|
|
||||||
// int get stateCode => _stateCode;
|
|
||||||
//
|
|
||||||
// // contain user data
|
|
||||||
// // when user not login or register _user = null
|
|
||||||
// List<Lookup> _calls;
|
|
||||||
//
|
|
||||||
// List<Lookup> get operators => _calls;
|
|
||||||
//
|
|
||||||
// // when categories in-process _loading = true
|
|
||||||
// // done _loading = true
|
|
||||||
// // failed _loading = false
|
|
||||||
// bool _loading;
|
|
||||||
//
|
|
||||||
// bool get isLoading => _loading;
|
|
||||||
//
|
|
||||||
// set isLoading(bool isLoading) {
|
|
||||||
// _loading = isLoading;
|
|
||||||
// notifyListeners();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /// return -2 if request in progress
|
|
||||||
// /// return -1 if error happen when sending request
|
|
||||||
// /// return state code if request complete may be 200, 404 or 403
|
|
||||||
// /// for more details check http state manager
|
|
||||||
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
|
||||||
// Future<int> getOperators(String woId) async {
|
|
||||||
// if (_loading == true) return -2;
|
|
||||||
// _loading = true;
|
|
||||||
// notifyListeners();
|
|
||||||
// Response response;
|
|
||||||
// try {
|
|
||||||
// response = await ApiManager.instance.get(
|
|
||||||
// woId == null ? "${URLs.getMaintenanceSituation}" : "${URLs.getServiceReportLastCalls}?parentWOId=$woId&isAdd=true&id=${0}&typeTransaction='Nothing'",
|
|
||||||
// );
|
|
||||||
// // response = await get(
|
|
||||||
// // Uri.parse(
|
|
||||||
// // URLs.getServiceReportLastCalls
|
|
||||||
// // +(serviceStatus == null ? "" : "?service_status=$serviceStatus")
|
|
||||||
// // ),
|
|
||||||
// // );
|
|
||||||
// _stateCode = response.statusCode;
|
|
||||||
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
||||||
// // client's request was successfully received
|
|
||||||
// List categoriesListJson = json.decode(response.body)["data"];
|
|
||||||
// _calls = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
|
||||||
// }
|
|
||||||
// _loading = false;
|
|
||||||
// notifyListeners();
|
|
||||||
// return response.statusCode;
|
|
||||||
// } catch (error) {
|
|
||||||
// _loading = false;
|
|
||||||
// _stateCode = -1;
|
|
||||||
// notifyListeners();
|
|
||||||
// return -1;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,74 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'dart:convert';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/cupertino.dart';
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:http/http.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
// import 'package:test_sa/models/user.dart';
|
|
||||||
//
|
|
||||||
// class ServiceReportReasonsProvider extends ChangeNotifier {
|
|
||||||
// //reset provider data
|
|
||||||
// void reset() {
|
|
||||||
// _reasons = null;
|
|
||||||
// _stateCode = null;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // state code of current request to defied error message
|
|
||||||
// // like 400 customer request failed
|
|
||||||
// // 500 service not available
|
|
||||||
// int _stateCode;
|
|
||||||
//
|
|
||||||
// int get stateCode => _stateCode;
|
|
||||||
//
|
|
||||||
// // contain user data
|
|
||||||
// // when user not login or register _user = null
|
|
||||||
// List<Lookup> _reasons;
|
|
||||||
//
|
|
||||||
// List<Lookup> get reasons => _reasons;
|
|
||||||
//
|
|
||||||
// // when categories in-process _loading = true
|
|
||||||
// // done _loading = true
|
|
||||||
// // failed _loading = false
|
|
||||||
// bool _loading;
|
|
||||||
//
|
|
||||||
// bool get isLoading => _loading;
|
|
||||||
//
|
|
||||||
// set isLoading(bool isLoading) {
|
|
||||||
// _loading = isLoading;
|
|
||||||
// notifyListeners();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /// return -2 if request in progress
|
|
||||||
// /// return -1 if error happen when sending request
|
|
||||||
// /// return state code if request complete may be 200, 404 or 403
|
|
||||||
// /// for more details check http state manager
|
|
||||||
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
|
||||||
// Future<int> getTypes({String host, User user}) async {
|
|
||||||
// if (_loading == true) return -2;
|
|
||||||
// _loading = true;
|
|
||||||
// notifyListeners();
|
|
||||||
// Response response;
|
|
||||||
// try {
|
|
||||||
// response = await ApiManager.instance.get(
|
|
||||||
// URLs.getServiceReportReasons+"&serviceRequestId=72355",
|
|
||||||
// );
|
|
||||||
// _stateCode = response.statusCode;
|
|
||||||
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
||||||
// // client's request was successfully received
|
|
||||||
// List categoriesListJson = json.decode(response.body)["data"];
|
|
||||||
// _reasons = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
|
||||||
// }
|
|
||||||
// _loading = false;
|
|
||||||
// notifyListeners();
|
|
||||||
// return response.statusCode;
|
|
||||||
// } catch (error) {
|
|
||||||
// _loading = false;
|
|
||||||
// _stateCode = -1;
|
|
||||||
// notifyListeners();
|
|
||||||
// return -1;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,75 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'dart:convert';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/cupertino.dart';
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:http/http.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
// import 'package:test_sa/models/user.dart';
|
|
||||||
//
|
|
||||||
// class ServiceReportStatusProvider extends ChangeNotifier {
|
|
||||||
// //reset provider data
|
|
||||||
// void reset() {
|
|
||||||
// _status = null;
|
|
||||||
// _stateCode = null;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // state code of current request to defied error message
|
|
||||||
// // like 400 customer request failed
|
|
||||||
// // 500 service not available
|
|
||||||
// int _stateCode;
|
|
||||||
//
|
|
||||||
// int get stateCode => _stateCode;
|
|
||||||
//
|
|
||||||
// // contain user data
|
|
||||||
// // when user not login or register _user = null
|
|
||||||
// List<Lookup> _status;
|
|
||||||
//
|
|
||||||
// List<Lookup> get statuses => _status;
|
|
||||||
//
|
|
||||||
// // when categories in-process _loading = true
|
|
||||||
// // done _loading = true
|
|
||||||
// // failed _loading = false
|
|
||||||
// bool _loading;
|
|
||||||
//
|
|
||||||
// bool get isLoading => _loading;
|
|
||||||
//
|
|
||||||
// set isLoading(bool isLoading) {
|
|
||||||
// _loading = isLoading;
|
|
||||||
// notifyListeners();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /// return -2 if request in progress
|
|
||||||
// /// return -1 if error happen when sending request
|
|
||||||
// /// return state code if request complete may be 200, 404 or 403
|
|
||||||
// /// for more details check http state manager
|
|
||||||
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
|
||||||
// Future<int> getTypes({String host, User user}) async {
|
|
||||||
// if (_loading == true) return -2;
|
|
||||||
// _loading = true;
|
|
||||||
// notifyListeners();
|
|
||||||
// Response response;
|
|
||||||
// try {
|
|
||||||
// response = await ApiManager.instance.get(
|
|
||||||
// URLs.getServiceReportStatus,
|
|
||||||
// );
|
|
||||||
//
|
|
||||||
// _stateCode = response.statusCode;
|
|
||||||
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
||||||
// // client's request was successfully received
|
|
||||||
// List categoriesListJson = json.decode(response.body)["data"];
|
|
||||||
// _status = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
|
||||||
// }
|
|
||||||
// _loading = false;
|
|
||||||
// notifyListeners();
|
|
||||||
// return response.statusCode;
|
|
||||||
// } catch (error) {
|
|
||||||
// _loading = false;
|
|
||||||
// _stateCode = -1;
|
|
||||||
// notifyListeners();
|
|
||||||
// return -1;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,74 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'dart:convert';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/cupertino.dart';
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:http/http.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
// import 'package:test_sa/models/user.dart';
|
|
||||||
//
|
|
||||||
// class ServiceReportTypesProvider extends ChangeNotifier {
|
|
||||||
// //reset provider data
|
|
||||||
// void reset() {
|
|
||||||
// _types = null;
|
|
||||||
// _stateCode = null;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // state code of current request to defied error message
|
|
||||||
// // like 400 customer request failed
|
|
||||||
// // 500 service not available
|
|
||||||
// int _stateCode;
|
|
||||||
//
|
|
||||||
// int get stateCode => _stateCode;
|
|
||||||
//
|
|
||||||
// // contain user data
|
|
||||||
// // when user not login or register _user = null
|
|
||||||
// List<Lookup> _types;
|
|
||||||
//
|
|
||||||
// List<Lookup> get types => _types;
|
|
||||||
//
|
|
||||||
// // when categories in-process _loading = true
|
|
||||||
// // done _loading = true
|
|
||||||
// // failed _loading = false
|
|
||||||
// bool _loading;
|
|
||||||
//
|
|
||||||
// bool get isLoading => _loading;
|
|
||||||
//
|
|
||||||
// set isLoading(bool isLoading) {
|
|
||||||
// _loading = isLoading;
|
|
||||||
// notifyListeners();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /// return -2 if request in progress
|
|
||||||
// /// return -1 if error happen when sending request
|
|
||||||
// /// return state code if request complete may be 200, 404 or 403
|
|
||||||
// /// for more details check http state manager
|
|
||||||
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
|
||||||
// Future<int> getTypes({String host, User user}) async {
|
|
||||||
// if (_loading == true) return -2;
|
|
||||||
// _loading = true;
|
|
||||||
// notifyListeners();
|
|
||||||
// Response response;
|
|
||||||
// try {
|
|
||||||
// response = await ApiManager.instance.get(
|
|
||||||
// URLs.getServiceReportTypes,
|
|
||||||
// );
|
|
||||||
// _stateCode = response.statusCode;
|
|
||||||
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
||||||
// // client's request was successfully received
|
|
||||||
// List categoriesListJson = json.decode(response.body)["data"];
|
|
||||||
// _types = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
|
||||||
// }
|
|
||||||
// _loading = false;
|
|
||||||
// notifyListeners();
|
|
||||||
// return response.statusCode;
|
|
||||||
// } catch (error) {
|
|
||||||
// _loading = false;
|
|
||||||
// _stateCode = -1;
|
|
||||||
// notifyListeners();
|
|
||||||
// return -1;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,80 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'dart:convert';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/cupertino.dart';
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:http/http.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
//
|
|
||||||
// class ServiceReportVisitOperatorProvider extends ChangeNotifier {
|
|
||||||
// //reset provider data
|
|
||||||
// void reset() {
|
|
||||||
// _calls = null;
|
|
||||||
// _loading = null;
|
|
||||||
// _stateCode = null;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // state code of current request to defied error message
|
|
||||||
// // like 400 customer request failed
|
|
||||||
// // 500 service not available
|
|
||||||
// int _stateCode;
|
|
||||||
//
|
|
||||||
// int get stateCode => _stateCode;
|
|
||||||
//
|
|
||||||
// // contain user data
|
|
||||||
// // when user not login or register _user = null
|
|
||||||
// List<Lookup> _calls;
|
|
||||||
//
|
|
||||||
// List<Lookup> get operators => _calls;
|
|
||||||
//
|
|
||||||
// // when categories in-process _loading = true
|
|
||||||
// // done _loading = true
|
|
||||||
// // failed _loading = false
|
|
||||||
// bool _loading;
|
|
||||||
//
|
|
||||||
// bool get isLoading => _loading;
|
|
||||||
//
|
|
||||||
// set isLoading(bool isLoading) {
|
|
||||||
// _loading = isLoading;
|
|
||||||
// notifyListeners();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /// return -2 if request in progress
|
|
||||||
// /// return -1 if error happen when sending request
|
|
||||||
// /// return state code if request complete may be 200, 404 or 403
|
|
||||||
// /// for more details check http state manager
|
|
||||||
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
|
||||||
// Future<int> getOperators() async {
|
|
||||||
// if (_loading == true) return -2;
|
|
||||||
// _loading = true;
|
|
||||||
// notifyListeners();
|
|
||||||
// Response response;
|
|
||||||
// try {
|
|
||||||
// response = await ApiManager.instance.get(
|
|
||||||
// "${URLs.getDateOperators}",
|
|
||||||
// );
|
|
||||||
// // response = await get(
|
|
||||||
// // Uri.parse(
|
|
||||||
// // URLs.getServiceReportLastCalls
|
|
||||||
// // +(serviceStatus == null ? "" : "?service_status=$serviceStatus")
|
|
||||||
// // ),
|
|
||||||
// // );
|
|
||||||
// _stateCode = response.statusCode;
|
|
||||||
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
||||||
// // client's request was successfully received
|
|
||||||
// List categoriesListJson = json.decode(response.body)["data"];
|
|
||||||
// _calls = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
|
||||||
// }
|
|
||||||
// _loading = false;
|
|
||||||
// notifyListeners();
|
|
||||||
// return response.statusCode;
|
|
||||||
// } catch (error) {
|
|
||||||
// _loading = false;
|
|
||||||
// _stateCode = -1;
|
|
||||||
// notifyListeners();
|
|
||||||
// return -1;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,150 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// class Customer {
|
|
||||||
// List<Data> data;
|
|
||||||
// String message;
|
|
||||||
// String innerMessage;
|
|
||||||
// int responseCode;
|
|
||||||
// bool isSuccess;
|
|
||||||
//
|
|
||||||
// Customer({this.data, this.message, this.innerMessage, this.responseCode, this.isSuccess});
|
|
||||||
//
|
|
||||||
// Customer.fromJson(Map<String, dynamic> json) {
|
|
||||||
// if (json['data'] != null) {
|
|
||||||
// data = [];
|
|
||||||
// json['data'].forEach((v) {
|
|
||||||
// data.add(new Data.fromJson(v));
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// message = json['message'];
|
|
||||||
// innerMessage = json['innerMessage'];
|
|
||||||
// responseCode = json['responseCode'];
|
|
||||||
// isSuccess = json['isSuccess'];
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Map<String, dynamic> toJson() {
|
|
||||||
// final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
||||||
// if (this.data != null) {
|
|
||||||
// data['data'] = this.data.map((v) => v.toJson()).toList();
|
|
||||||
// }
|
|
||||||
// data['message'] = this.message;
|
|
||||||
// data['innerMessage'] = this.innerMessage;
|
|
||||||
// data['responseCode'] = this.responseCode;
|
|
||||||
// data['isSuccess'] = this.isSuccess;
|
|
||||||
// return data;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class Data {
|
|
||||||
// int id;
|
|
||||||
// int customerCode;
|
|
||||||
// String custName;
|
|
||||||
// List<Buildings> buildings;
|
|
||||||
//
|
|
||||||
// Data({this.id, this.customerCode, this.custName, this.buildings});
|
|
||||||
//
|
|
||||||
// Data.fromJson(Map<String, dynamic> json) {
|
|
||||||
// id = json['id'];
|
|
||||||
// customerCode = json['customerCode'];
|
|
||||||
// custName = json['custName'];
|
|
||||||
// if (json['buildings'] != null) {
|
|
||||||
// buildings = [];
|
|
||||||
// json['buildings'].forEach((v) {
|
|
||||||
// buildings.add(new Buildings.fromJson(v));
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Map<String, dynamic> toJson() {
|
|
||||||
// final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
||||||
// data['id'] = this.id;
|
|
||||||
// data['customerCode'] = this.customerCode;
|
|
||||||
// data['custName'] = this.custName;
|
|
||||||
// if (this.buildings != null) {
|
|
||||||
// data['buildings'] = this.buildings.map((v) => v.toJson()).toList();
|
|
||||||
// }
|
|
||||||
// return data;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class Buildings {
|
|
||||||
// int id;
|
|
||||||
// String name;
|
|
||||||
// int value;
|
|
||||||
// List<Floors> floors;
|
|
||||||
//
|
|
||||||
// Buildings({this.id, this.name, this.value, this.floors});
|
|
||||||
//
|
|
||||||
// Buildings.fromJson(Map<String, dynamic> json) {
|
|
||||||
// id = json['id'];
|
|
||||||
// name = json['name'];
|
|
||||||
// value = json['value'];
|
|
||||||
// if (json['floors'] != null) {
|
|
||||||
// floors = [];
|
|
||||||
// json['floors'].forEach((v) {
|
|
||||||
// floors.add(new Floors.fromJson(v));
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Map<String, dynamic> toJson() {
|
|
||||||
// final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
||||||
// data['id'] = this.id;
|
|
||||||
// data['name'] = this.name;
|
|
||||||
// data['value'] = this.value;
|
|
||||||
// if (this.floors != null) {
|
|
||||||
// data['floors'] = this.floors.map((v) => v.toJson()).toList();
|
|
||||||
// }
|
|
||||||
// return data;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class Floors {
|
|
||||||
// int id;
|
|
||||||
// String name;
|
|
||||||
// int value;
|
|
||||||
// List<Departments> departments;
|
|
||||||
//
|
|
||||||
// Floors({this.id, this.name, this.value, this.departments});
|
|
||||||
//
|
|
||||||
// Floors.fromJson(Map<String, dynamic> json) {
|
|
||||||
// id = json['id'];
|
|
||||||
// name = json['name'];
|
|
||||||
// value = json['value'];
|
|
||||||
// if (json['departments'] != null) {
|
|
||||||
// departments = [];
|
|
||||||
// json['departments'].forEach((v) {
|
|
||||||
// departments.add(new Departments.fromJson(v));
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Map<String, dynamic> toJson() {
|
|
||||||
// final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
||||||
// data['id'] = this.id;
|
|
||||||
// data['name'] = this.name;
|
|
||||||
// data['value'] = this.value;
|
|
||||||
// if (this.departments != null) {
|
|
||||||
// data['departments'] = this.departments.map((v) => v.toJson()).toList();
|
|
||||||
// }
|
|
||||||
// return data;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class Departments {
|
|
||||||
// int id;
|
|
||||||
// String name;
|
|
||||||
//
|
|
||||||
// Departments({this.id, this.name});
|
|
||||||
//
|
|
||||||
// Departments.fromJson(Map<String, dynamic> json) {
|
|
||||||
// id = json['id'];
|
|
||||||
// name = json['name'];
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Map<String, dynamic> toJson() {
|
|
||||||
// final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
||||||
// data['id'] = this.id;
|
|
||||||
// data['name'] = this.name;
|
|
||||||
// return data;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,50 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// @Deprecated("Use the class inside model_definition.dart")
|
|
||||||
// class ModelDefinition {
|
|
||||||
// int id;
|
|
||||||
// String assetName;
|
|
||||||
// String modelDefCode;
|
|
||||||
// String modelName;
|
|
||||||
// String manufacturerName;
|
|
||||||
// String supplierName;
|
|
||||||
// String replacementDate;
|
|
||||||
// int lifeSpan;
|
|
||||||
//
|
|
||||||
// ModelDefinition({
|
|
||||||
// this.id,
|
|
||||||
// this.assetName,
|
|
||||||
// this.modelDefCode,
|
|
||||||
// this.modelName,
|
|
||||||
// this.manufacturerName,
|
|
||||||
// this.supplierName,
|
|
||||||
// this.replacementDate,
|
|
||||||
// this.lifeSpan,
|
|
||||||
// });
|
|
||||||
//
|
|
||||||
// Map<String, dynamic> toJson() {
|
|
||||||
// final Map<String, dynamic> data = <String, dynamic>{};
|
|
||||||
// data['id'] = id;
|
|
||||||
// data['assetName'] = assetName;
|
|
||||||
// data['modelDefCode'] = modelDefCode;
|
|
||||||
// data['modelName'] = modelName;
|
|
||||||
// data['manufacturerName'] = manufacturerName;
|
|
||||||
// data['supplierName'] = supplierName;
|
|
||||||
// data['replacementDate'] = replacementDate;
|
|
||||||
// data['lifeSpan'] = lifeSpan;
|
|
||||||
// return data;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// factory ModelDefinition.fromJson(Map<String, dynamic> map) {
|
|
||||||
// if (map == null) return null;
|
|
||||||
// return ModelDefinition(
|
|
||||||
// id: map['id'] as int,
|
|
||||||
// assetName: map['assetName'] as String,
|
|
||||||
// modelDefCode: map['modelDefCode'] as String,
|
|
||||||
// modelName: map['modelName'] as String,
|
|
||||||
// manufacturerName: map['manufacturerName'] as String,
|
|
||||||
// supplierName: map['supplierName'] as String,
|
|
||||||
// replacementDate: map['replacementDate'] as String,
|
|
||||||
// lifeSpan: map['lifeSpan'] as int,
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,669 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'package:meta/meta.dart';
|
|
||||||
//
|
|
||||||
// class Subtitle1 {
|
|
||||||
// // http requests status messages
|
|
||||||
// String currentlyServiceNotAvailable;
|
|
||||||
// String waitUntilYourRequestComplete;
|
|
||||||
// String requestCompleteSuccessfully;
|
|
||||||
// String failedToCompleteRequest;
|
|
||||||
//
|
|
||||||
// // dialogs
|
|
||||||
// // words
|
|
||||||
// String signOut;
|
|
||||||
// String exit;
|
|
||||||
// String confirm;
|
|
||||||
// String cancel;
|
|
||||||
// // phrases
|
|
||||||
// String signOutAlert;
|
|
||||||
// String exitAlert;
|
|
||||||
//
|
|
||||||
// // image picker
|
|
||||||
// String pickFromCamera;
|
|
||||||
// String pickFromGallery;
|
|
||||||
// String maxImagesNumberIs5;
|
|
||||||
// String imagesRequired;
|
|
||||||
// String images;
|
|
||||||
//
|
|
||||||
// // login and register page
|
|
||||||
// // words
|
|
||||||
// String language;
|
|
||||||
// String name;
|
|
||||||
// String email;
|
|
||||||
// String phoneNumber;
|
|
||||||
// String password;
|
|
||||||
// String confirmPassword;
|
|
||||||
// String showPassword;
|
|
||||||
// String forgetPassword;
|
|
||||||
// String forgetPasswordWithMark;
|
|
||||||
// String signIn;
|
|
||||||
// String signUp;
|
|
||||||
// // phrases
|
|
||||||
// String wrongEmailOrPassword;
|
|
||||||
// String emailExist;
|
|
||||||
// String nameExist;
|
|
||||||
// String phoneNumberExist;
|
|
||||||
// String nameValidateMessage;
|
|
||||||
// String emailValidateMessage;
|
|
||||||
// String phoneNumberValidateMessage;
|
|
||||||
// String passwordValidateMessage;
|
|
||||||
// String confirmPasswordValidateMessage;
|
|
||||||
//
|
|
||||||
// // commend words
|
|
||||||
// String title;
|
|
||||||
// String address;
|
|
||||||
// String description;
|
|
||||||
// String update;
|
|
||||||
// String next;
|
|
||||||
// String back;
|
|
||||||
// String edit;
|
|
||||||
// String search;
|
|
||||||
// String searchByName;
|
|
||||||
// String from;
|
|
||||||
// String to;
|
|
||||||
//
|
|
||||||
// String descriptionValidateMessage;
|
|
||||||
// String titleValidateMessage;
|
|
||||||
// String addressValidateMessage;
|
|
||||||
//
|
|
||||||
// String nameNotFound;
|
|
||||||
// String titleNotFound;
|
|
||||||
// String phoneNumberNotFound;
|
|
||||||
// String emailNotFound;
|
|
||||||
// String descriptionNotFound;
|
|
||||||
// String addressNotFound;
|
|
||||||
// String dataNotFound;
|
|
||||||
// String linkNotFound;
|
|
||||||
// String urlNotFound;
|
|
||||||
//
|
|
||||||
// // notifications
|
|
||||||
// String notifications;
|
|
||||||
// String notificationsNotFound;
|
|
||||||
//
|
|
||||||
// // service request
|
|
||||||
// String createServiceRequest;
|
|
||||||
// String hospital;
|
|
||||||
// String device;
|
|
||||||
// String deviceImages;
|
|
||||||
// String deviceFiles;
|
|
||||||
// String pickDevice;
|
|
||||||
// String maintenanceIssue;
|
|
||||||
// String create;
|
|
||||||
// String delete;
|
|
||||||
// String newServiceRequest;
|
|
||||||
// String trackServiceRequest;
|
|
||||||
// String hospitalRequired;
|
|
||||||
// String deviceRequired;
|
|
||||||
// String maintenanceIssueRequired;
|
|
||||||
// String add;
|
|
||||||
// String noServiceRequestFound;
|
|
||||||
// String noModelFound;
|
|
||||||
// String noSnFound;
|
|
||||||
// String noDateFound;
|
|
||||||
// String requestInformation;
|
|
||||||
// String clearSearch;
|
|
||||||
// String deviceName;
|
|
||||||
// String serialNumber;
|
|
||||||
// String code;
|
|
||||||
// String deviceSN;
|
|
||||||
// String deviceModel;
|
|
||||||
// String engineerName;
|
|
||||||
// String engineerPhone;
|
|
||||||
// String date;
|
|
||||||
// String status;
|
|
||||||
// String unite;
|
|
||||||
// String unitRequired;
|
|
||||||
// String deviceArName;
|
|
||||||
// String details;
|
|
||||||
// String general;
|
|
||||||
// String serviceRequestInformation;
|
|
||||||
// String faultDescription;
|
|
||||||
// String workPerformed;
|
|
||||||
// String visitDate;
|
|
||||||
// String nextVisitDate;
|
|
||||||
// String jobSheetNumber;
|
|
||||||
// String noHospitalFound;
|
|
||||||
// String pickHospital;
|
|
||||||
// String pickUnite;
|
|
||||||
// String noUniteFound;
|
|
||||||
// String serviceRequests;
|
|
||||||
//
|
|
||||||
// // device
|
|
||||||
// String model;
|
|
||||||
// String brand;
|
|
||||||
// String sn;
|
|
||||||
// String searchBySn;
|
|
||||||
// String noDeviceFound;
|
|
||||||
//
|
|
||||||
// // report issue
|
|
||||||
// String reason1;
|
|
||||||
// String reason2;
|
|
||||||
// String reason3;
|
|
||||||
// String reason4;
|
|
||||||
// String reason5;
|
|
||||||
// String reportIssue;
|
|
||||||
// String submit;
|
|
||||||
// String shareAntherIssue;
|
|
||||||
//
|
|
||||||
// // request status
|
|
||||||
// String newWord;
|
|
||||||
// String repaired;
|
|
||||||
// String repeated;
|
|
||||||
// String closed;
|
|
||||||
// String underRepair;
|
|
||||||
//
|
|
||||||
// // visit status
|
|
||||||
// String done;
|
|
||||||
// String notYet;
|
|
||||||
// String onHold;
|
|
||||||
//
|
|
||||||
// // land page
|
|
||||||
// String hotLine;
|
|
||||||
// String facebook;
|
|
||||||
// String linkedIn;
|
|
||||||
// String twitter;
|
|
||||||
// String whatsApp;
|
|
||||||
// String ourWebsite;
|
|
||||||
// String shareApp;
|
|
||||||
// String policy;
|
|
||||||
//
|
|
||||||
// // visits
|
|
||||||
// String preventiveMaintenance;
|
|
||||||
// String regularVisits;
|
|
||||||
// String updatePreventiveMaintenance;
|
|
||||||
// String updateRegularVisits;
|
|
||||||
// String preventiveMaintenanceUpdatedSuccessfully;
|
|
||||||
// String regularVisitsUpdatedSuccessfully;
|
|
||||||
// String updatingDots;
|
|
||||||
// String updateVisitsGroup;
|
|
||||||
// String noSerialNumberFound;
|
|
||||||
// String requiredStatus;
|
|
||||||
// String visitInformation;
|
|
||||||
// String expectDate;
|
|
||||||
// String actualDate;
|
|
||||||
// String noVisitsFound;
|
|
||||||
// String contactStatus;
|
|
||||||
// String workingHours;
|
|
||||||
// String travelingHours;
|
|
||||||
// String image;
|
|
||||||
// String pickImage;
|
|
||||||
// String requiredImage;
|
|
||||||
// String requiredFile;
|
|
||||||
// String taskStatus;
|
|
||||||
// String activationAlert;
|
|
||||||
//
|
|
||||||
// // service report
|
|
||||||
// String newServiceReport;
|
|
||||||
// String editServiceReport;
|
|
||||||
// String callId;
|
|
||||||
// String customer;
|
|
||||||
// String reportType;
|
|
||||||
// String requiredWord;
|
|
||||||
// String assetType;
|
|
||||||
// String reportStatus;
|
|
||||||
// String callLastSituation;
|
|
||||||
// String invoiceNumber;
|
|
||||||
// String invoiceCode;
|
|
||||||
// String workPreformed;
|
|
||||||
// String reasons;
|
|
||||||
// String attachImage;
|
|
||||||
// String operatingHours;
|
|
||||||
// String partNumberName;
|
|
||||||
// String number;
|
|
||||||
// String quantity;
|
|
||||||
// String orderWorkNumber;
|
|
||||||
// String assignedEmployee;
|
|
||||||
// String assetSN;
|
|
||||||
// String assetName;
|
|
||||||
// String assetNumber;
|
|
||||||
// String site;
|
|
||||||
// String maintenanceSituation;
|
|
||||||
// String currentSituation;
|
|
||||||
//
|
|
||||||
// // all
|
|
||||||
// String duplicateRequest;
|
|
||||||
// String duplicateAlert;
|
|
||||||
// String duplicateAlertMessage;
|
|
||||||
// String alert;
|
|
||||||
// String comment;
|
|
||||||
// String updateServiceRequest;
|
|
||||||
// String repairLocation;
|
|
||||||
// String travelingExpense;
|
|
||||||
// String startDate;
|
|
||||||
// String endDate;
|
|
||||||
// String requestedQuantity;
|
|
||||||
// String deliveredQuantity;
|
|
||||||
// String destinationSite;
|
|
||||||
// String building;
|
|
||||||
// String floor;
|
|
||||||
// String department;
|
|
||||||
// String room;
|
|
||||||
// String actions;
|
|
||||||
// String pickFromFiles;
|
|
||||||
// String pickFile;
|
|
||||||
//
|
|
||||||
// void setIssues(List<String> issues) {
|
|
||||||
// issues.clear();
|
|
||||||
// issues.add(reason1);
|
|
||||||
// issues.add(reason2);
|
|
||||||
// issues.add(reason3);
|
|
||||||
// issues.add(reason4);
|
|
||||||
// issues.add(reason5);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Subtitle({
|
|
||||||
// required this.updateServiceRequest,
|
|
||||||
// required this.comment,
|
|
||||||
// required this.currentlyServiceNotAvailable,
|
|
||||||
// required this.waitUntilYourRequestComplete,
|
|
||||||
// required this.requestCompleteSuccessfully,
|
|
||||||
// required this.failedToCompleteRequest,
|
|
||||||
// required this.update,
|
|
||||||
// required this.cancel,
|
|
||||||
// required this.confirm,
|
|
||||||
// required this.exit,
|
|
||||||
// required this.exitAlert,
|
|
||||||
// required this.signOutAlert,
|
|
||||||
// required this.language,
|
|
||||||
// required this.name,
|
|
||||||
// required this.email,
|
|
||||||
// required this.phoneNumber,
|
|
||||||
// required this.password,
|
|
||||||
// required this.forgetPassword,
|
|
||||||
// required this.confirmPassword,
|
|
||||||
// required this.signIn,
|
|
||||||
// required this.signUp,
|
|
||||||
// required this.nameValidateMessage,
|
|
||||||
// required this.emailValidateMessage,
|
|
||||||
// required this.phoneNumberValidateMessage,
|
|
||||||
// required this.passwordValidateMessage,
|
|
||||||
// required this.confirmPasswordValidateMessage,
|
|
||||||
// required this.emailExist,
|
|
||||||
// required this.forgetPasswordWithMark,
|
|
||||||
// required this.phoneNumberExist,
|
|
||||||
// required this.showPassword,
|
|
||||||
// required this.signOut,
|
|
||||||
// required this.wrongEmailOrPassword,
|
|
||||||
// required this.next,
|
|
||||||
// required this.back,
|
|
||||||
// required this.search,
|
|
||||||
// required this.searchByName,
|
|
||||||
// required this.address,
|
|
||||||
// required this.description,
|
|
||||||
// required this.title,
|
|
||||||
// required this.addressNotFound,
|
|
||||||
// required this.addressValidateMessage,
|
|
||||||
// required this.dataNotFound,
|
|
||||||
// required this.descriptionNotFound,
|
|
||||||
// required this.descriptionValidateMessage,
|
|
||||||
// required this.edit,
|
|
||||||
// required this.emailNotFound,
|
|
||||||
// required this.from,
|
|
||||||
// required this.linkNotFound,
|
|
||||||
// required this.nameNotFound,
|
|
||||||
// required this.phoneNumberNotFound,
|
|
||||||
// required this.titleNotFound,
|
|
||||||
// required this.titleValidateMessage,
|
|
||||||
// required this.to,
|
|
||||||
// required this.urlNotFound,
|
|
||||||
// required this.nameExist,
|
|
||||||
// required this.unitRequired,
|
|
||||||
// required this.unite,
|
|
||||||
// required this.hospitalRequired,
|
|
||||||
// required this.whatsApp,
|
|
||||||
// required this.submit,
|
|
||||||
// required this.shareAntherIssue,
|
|
||||||
// required this.reportIssue,
|
|
||||||
// required this.noUniteFound,
|
|
||||||
// required this.pickUnite,
|
|
||||||
// required this.noHospitalFound,
|
|
||||||
// required this.pickHospital,
|
|
||||||
// required this.shareApp,
|
|
||||||
// required this.ourWebsite,
|
|
||||||
// required this.linkedIn,
|
|
||||||
// required this.facebook,
|
|
||||||
// required this.hotLine,
|
|
||||||
// required this.trackServiceRequest,
|
|
||||||
// required this.newServiceRequest,
|
|
||||||
// required this.deviceModel,
|
|
||||||
// required this.noServiceRequestFound,
|
|
||||||
// required this.engineerName,
|
|
||||||
// required this.serviceRequests,
|
|
||||||
// required this.jobSheetNumber,
|
|
||||||
// required this.visitDate,
|
|
||||||
// required this.workPerformed,
|
|
||||||
// required this.faultDescription,
|
|
||||||
// required this.serviceRequestInformation,
|
|
||||||
// required this.maintenanceIssue,
|
|
||||||
// required this.deviceArName,
|
|
||||||
// required this.hospital,
|
|
||||||
// required this.status,
|
|
||||||
// required this.date,
|
|
||||||
// required this.engineerPhone,
|
|
||||||
// required this.device,
|
|
||||||
// required this.deviceSN,
|
|
||||||
// required this.details,
|
|
||||||
// required this.requestInformation,
|
|
||||||
// required this.model,
|
|
||||||
// required this.brand,
|
|
||||||
// required this.noDeviceFound,
|
|
||||||
// required this.noDateFound,
|
|
||||||
// required this.searchBySn,
|
|
||||||
// required this.pickDevice,
|
|
||||||
// required this.notifications,
|
|
||||||
// required this.notificationsNotFound,
|
|
||||||
// required this.twitter,
|
|
||||||
// required this.add,
|
|
||||||
// required this.code,
|
|
||||||
// required this.deviceName,
|
|
||||||
// required this.serialNumber,
|
|
||||||
// required this.policy,
|
|
||||||
// required this.clearSearch,
|
|
||||||
// required this.closed,
|
|
||||||
// required this.create,
|
|
||||||
// required this.createServiceRequest,
|
|
||||||
// required this.delete,
|
|
||||||
// required this.deviceImages,
|
|
||||||
// required this.deviceFiles,
|
|
||||||
// required this.deviceRequired,
|
|
||||||
// required this.general,
|
|
||||||
// required this.maintenanceIssueRequired,
|
|
||||||
// required this.maxImagesNumberIs5,
|
|
||||||
// required this.newWord,
|
|
||||||
// required this.noModelFound,
|
|
||||||
// required this.noSnFound,
|
|
||||||
// required this.reason1,
|
|
||||||
// required this.reason2,
|
|
||||||
// required this.reason3,
|
|
||||||
// required this.reason4,
|
|
||||||
// required this.reason5,
|
|
||||||
// required this.repaired,
|
|
||||||
// required this.repeated,
|
|
||||||
// required this.sn,
|
|
||||||
// required this.underRepair,
|
|
||||||
// required this.actualDate,
|
|
||||||
// required this.expectDate,
|
|
||||||
// required this.visitInformation,
|
|
||||||
// required this.regularVisitsUpdatedSuccessfully,
|
|
||||||
// required this.regularVisits,
|
|
||||||
// required this.updateRegularVisits,
|
|
||||||
// required this.updatingDots,
|
|
||||||
// required this.preventiveMaintenanceUpdatedSuccessfully,
|
|
||||||
// required this.updatePreventiveMaintenance,
|
|
||||||
// required this.preventiveMaintenance,
|
|
||||||
// required this.requiredStatus,
|
|
||||||
// required this.noSerialNumberFound,
|
|
||||||
// required this.updateVisitsGroup,
|
|
||||||
// required this.pickFromGallery,
|
|
||||||
// required this.pickFromCamera,
|
|
||||||
// required this.images,
|
|
||||||
// required this.done,
|
|
||||||
// required this.imagesRequired,
|
|
||||||
// required this.notYet,
|
|
||||||
// required this.noVisitsFound,
|
|
||||||
// required this.onHold,
|
|
||||||
// required this.nextVisitDate,
|
|
||||||
// required this.contactStatus,
|
|
||||||
// required this.travelingHours,
|
|
||||||
// required this.workingHours,
|
|
||||||
// required this.taskStatus,
|
|
||||||
// required this.image,
|
|
||||||
// required this.pickImage,
|
|
||||||
// required this.requiredImage,
|
|
||||||
// required this.requiredFile,
|
|
||||||
// required this.activationAlert,
|
|
||||||
// required this.callId,
|
|
||||||
// required this.requiredWord,
|
|
||||||
// required this.quantity,
|
|
||||||
// required this.callLastSituation,
|
|
||||||
// required this.invoiceNumber,
|
|
||||||
// required this.invoiceCode,
|
|
||||||
// required this.attachImage,
|
|
||||||
// required this.customer,
|
|
||||||
// required this.editServiceReport,
|
|
||||||
// required this.newServiceReport,
|
|
||||||
// required this.number,
|
|
||||||
// required this.operatingHours,
|
|
||||||
// required this.partNumberName,
|
|
||||||
// required this.reasons,
|
|
||||||
// required this.reportStatus,
|
|
||||||
// required this.reportType,
|
|
||||||
// required this.assetType,
|
|
||||||
// required this.workPreformed,
|
|
||||||
// required this.alert,
|
|
||||||
// required this.duplicateAlert,
|
|
||||||
// required this.duplicateAlertMessage,
|
|
||||||
// required this.duplicateRequest,
|
|
||||||
// required this.orderWorkNumber,
|
|
||||||
// required this.assignedEmployee,
|
|
||||||
// required this.assetSN,
|
|
||||||
// required this.assetName,
|
|
||||||
// required this.site,
|
|
||||||
// required this.maintenanceSituation,
|
|
||||||
// required this.currentSituation,
|
|
||||||
// required this.repairLocation,
|
|
||||||
// required this.travelingExpense,
|
|
||||||
// required this.startDate,
|
|
||||||
// required this.endDate,
|
|
||||||
// required this.requestedQuantity,
|
|
||||||
// required this.deliveredQuantity,
|
|
||||||
// required this.assetNumber,
|
|
||||||
// required this.destinationSite,
|
|
||||||
// required this.building,
|
|
||||||
// required this.floor,
|
|
||||||
// required this.department,
|
|
||||||
// required this.room,
|
|
||||||
// required this.actions,
|
|
||||||
// required this.pickFromFiles,
|
|
||||||
// required this.pickFile,
|
|
||||||
// });
|
|
||||||
//
|
|
||||||
// factory Subtitle.fromJson(Map<String, dynamic> parsedJson) {
|
|
||||||
// return Subtitle(
|
|
||||||
// updateServiceRequest: parsedJson["updateServiceRequest"],
|
|
||||||
// comment: parsedJson["comment"],
|
|
||||||
// currentlyServiceNotAvailable: parsedJson["server_error_message"],
|
|
||||||
// failedToCompleteRequest: parsedJson["failed_request_message"],
|
|
||||||
// requestCompleteSuccessfully: parsedJson["successful_request_message"],
|
|
||||||
// waitUntilYourRequestComplete: parsedJson["request_lock_message"],
|
|
||||||
// update: parsedJson["update"],
|
|
||||||
// cancel: parsedJson["cancel"],
|
|
||||||
// confirm: parsedJson["confirm"],
|
|
||||||
// exit: parsedJson["exit"],
|
|
||||||
// exitAlert: parsedJson["exit_alert"],
|
|
||||||
// signOut: parsedJson["sign_out"],
|
|
||||||
// signOutAlert: parsedJson["logout_alert"],
|
|
||||||
// language: parsedJson["language"],
|
|
||||||
// name: parsedJson["name"],
|
|
||||||
// email: parsedJson["email"],
|
|
||||||
// phoneNumber: parsedJson["phone_number"],
|
|
||||||
// password: parsedJson["password"],
|
|
||||||
// confirmPassword: parsedJson["confirm_password"],
|
|
||||||
// signUp: parsedJson["sign_up"],
|
|
||||||
// signIn: parsedJson["sign_in"],
|
|
||||||
// forgetPassword: parsedJson["forget_password"],
|
|
||||||
// emailValidateMessage: parsedJson["email_validate_message"],
|
|
||||||
// nameValidateMessage: parsedJson["name_validate_message"],
|
|
||||||
// passwordValidateMessage: parsedJson["password_validate_message"],
|
|
||||||
// confirmPasswordValidateMessage: parsedJson["confirm_password_validate_message"],
|
|
||||||
// phoneNumberValidateMessage: parsedJson["phone_number_validate_message"],
|
|
||||||
// forgetPasswordWithMark: parsedJson["forget_password_with_mark"],
|
|
||||||
// showPassword: parsedJson["show_password"],
|
|
||||||
// wrongEmailOrPassword: parsedJson["wrong_email_or_password"],
|
|
||||||
// emailExist: parsedJson["email_exist"],
|
|
||||||
// phoneNumberExist: parsedJson["phone_number_exist"],
|
|
||||||
// next: parsedJson["next"],
|
|
||||||
// back: parsedJson["back"],
|
|
||||||
// search: parsedJson["search"],
|
|
||||||
// searchByName: parsedJson["search_by_name"],
|
|
||||||
// address: parsedJson["address"],
|
|
||||||
// addressNotFound: parsedJson["address_not_found"],
|
|
||||||
// addressValidateMessage: parsedJson["address_validate_message"],
|
|
||||||
// dataNotFound: parsedJson["data_not_found"],
|
|
||||||
// description: parsedJson["description"],
|
|
||||||
// descriptionNotFound: parsedJson["description_not_found"],
|
|
||||||
// descriptionValidateMessage: parsedJson["description_validate_message"],
|
|
||||||
// edit: parsedJson["edit"],
|
|
||||||
// emailNotFound: parsedJson["email_not_found"],
|
|
||||||
// from: parsedJson["from"],
|
|
||||||
// to: parsedJson["to"],
|
|
||||||
// linkNotFound: parsedJson["link_not_found"],
|
|
||||||
// nameNotFound: parsedJson["name_not_found"],
|
|
||||||
// phoneNumberNotFound: parsedJson["phone_number_not_found"],
|
|
||||||
// title: parsedJson["title"],
|
|
||||||
// titleNotFound: parsedJson["title_not_found"],
|
|
||||||
// titleValidateMessage: parsedJson["title_validate_message"],
|
|
||||||
// urlNotFound: parsedJson["url_not_found"],
|
|
||||||
// date: parsedJson["date"],
|
|
||||||
// status: parsedJson["status"],
|
|
||||||
// code: parsedJson["code"],
|
|
||||||
// serialNumber: parsedJson["serialNumber"],
|
|
||||||
// add: parsedJson["add"],
|
|
||||||
// brand: parsedJson["brand"],
|
|
||||||
// clearSearch: parsedJson["clearSearch"],
|
|
||||||
// closed: parsedJson["closed"],
|
|
||||||
// create: parsedJson["create"],
|
|
||||||
// createServiceRequest: parsedJson["createServiceRequest"],
|
|
||||||
// delete: parsedJson["delete"],
|
|
||||||
// details: parsedJson["details"],
|
|
||||||
// device: parsedJson["device"],
|
|
||||||
// deviceArName: parsedJson["deviceArName"],
|
|
||||||
// deviceImages: parsedJson["deviceImages"],
|
|
||||||
// deviceFiles: parsedJson["deviceFiles"],
|
|
||||||
// deviceModel: parsedJson["deviceModel"],
|
|
||||||
// deviceName: parsedJson["deviceName"],
|
|
||||||
// deviceRequired: parsedJson["deviceRequired"],
|
|
||||||
// deviceSN: parsedJson["deviceSN"],
|
|
||||||
// engineerName: parsedJson["engineerName"],
|
|
||||||
// engineerPhone: parsedJson["engineerPhone"],
|
|
||||||
// facebook: parsedJson["facebook"],
|
|
||||||
// faultDescription: parsedJson["faultDescription"],
|
|
||||||
// general: parsedJson["general"],
|
|
||||||
// hospital: parsedJson["hospital"],
|
|
||||||
// hospitalRequired: parsedJson["hospitalRequired"],
|
|
||||||
// hotLine: parsedJson["hotLine"],
|
|
||||||
// jobSheetNumber: parsedJson["jobSheetNumber"],
|
|
||||||
// linkedIn: parsedJson["linkedIn"],
|
|
||||||
// maintenanceIssue: parsedJson["maintenanceIssue"],
|
|
||||||
// maintenanceIssueRequired: parsedJson["maintenanceIssueRequired"],
|
|
||||||
// maxImagesNumberIs5: parsedJson["maxImagesNumberIs5"],
|
|
||||||
// model: parsedJson["model"],
|
|
||||||
// nameExist: parsedJson["nameExist"],
|
|
||||||
// newServiceRequest: parsedJson["newServiceRequest"],
|
|
||||||
// newWord: parsedJson["newWord"],
|
|
||||||
// noDateFound: parsedJson["noDateFound"],
|
|
||||||
// noDeviceFound: parsedJson["noDeviceFound"],
|
|
||||||
// noHospitalFound: parsedJson["noHospitalFound"],
|
|
||||||
// noModelFound: parsedJson["noModelFound"],
|
|
||||||
// noServiceRequestFound: parsedJson["noServiceRequestFound"],
|
|
||||||
// noSnFound: parsedJson["noSnFound"],
|
|
||||||
// notifications: parsedJson["notifications"],
|
|
||||||
// notificationsNotFound: parsedJson["notificationsNotFound"],
|
|
||||||
// noUniteFound: parsedJson["noUniteFound"],
|
|
||||||
// ourWebsite: parsedJson["ourWebsite"],
|
|
||||||
// pickDevice: parsedJson["pickDevice"],
|
|
||||||
// pickHospital: parsedJson["pickHospital"],
|
|
||||||
// pickUnite: parsedJson["pickUnite"],
|
|
||||||
// policy: parsedJson["policy"],
|
|
||||||
// reason1: parsedJson["reason1"],
|
|
||||||
// reason2: parsedJson["reason2"],
|
|
||||||
// reason3: parsedJson["reason3"],
|
|
||||||
// reason4: parsedJson["reason4"],
|
|
||||||
// reason5: parsedJson["reason5"],
|
|
||||||
// repaired: parsedJson["repaired"],
|
|
||||||
// repeated: parsedJson["repeated"],
|
|
||||||
// reportIssue: parsedJson["reportIssue"],
|
|
||||||
// requestInformation: parsedJson["requestInformation"],
|
|
||||||
// searchBySn: parsedJson["searchBySn"],
|
|
||||||
// serviceRequestInformation: parsedJson["serviceRequestInformation"],
|
|
||||||
// serviceRequests: parsedJson["serviceRequests"],
|
|
||||||
// shareAntherIssue: parsedJson["shareAntherIssue"],
|
|
||||||
// shareApp: parsedJson["shareApp"],
|
|
||||||
// sn: parsedJson["sn"],
|
|
||||||
// submit: parsedJson["submit"],
|
|
||||||
// trackServiceRequest: parsedJson["trackServiceRequest"],
|
|
||||||
// twitter: parsedJson["twitter"],
|
|
||||||
// underRepair: parsedJson["underRepair"],
|
|
||||||
// unite: parsedJson["unite"],
|
|
||||||
// unitRequired: parsedJson["uniteRequired"],
|
|
||||||
// visitDate: parsedJson["visitDate"],
|
|
||||||
// whatsApp: parsedJson["whatsApp"],
|
|
||||||
// workPerformed: parsedJson["workPerformed"],
|
|
||||||
// actualDate: parsedJson["actualDate"],
|
|
||||||
// done: parsedJson["done"],
|
|
||||||
// expectDate: parsedJson["expectDate"],
|
|
||||||
// images: parsedJson["images"],
|
|
||||||
// imagesRequired: parsedJson["imagesRequired"],
|
|
||||||
// noSerialNumberFound: parsedJson["noSerialNumberFound"],
|
|
||||||
// notYet: parsedJson["notYet"],
|
|
||||||
// noVisitsFound: parsedJson["noVisitsFound"],
|
|
||||||
// onHold: parsedJson["onHold"],
|
|
||||||
// pickFromCamera: parsedJson["pickFromCamera"],
|
|
||||||
// pickFromGallery: parsedJson["pickFromGallery"],
|
|
||||||
// preventiveMaintenance: parsedJson["preventiveMaintenance"],
|
|
||||||
// preventiveMaintenanceUpdatedSuccessfully: parsedJson["preventiveMaintenanceUpdatedSuccessfully"],
|
|
||||||
// regularVisits: parsedJson["regularVisits"],
|
|
||||||
// regularVisitsUpdatedSuccessfully: parsedJson["regularVisitsUpdatedSuccessfully"],
|
|
||||||
// requiredStatus: parsedJson["requiredStatus"],
|
|
||||||
// updatePreventiveMaintenance: parsedJson["updatePreventiveMaintenance"],
|
|
||||||
// updateRegularVisits: parsedJson["updateRegularVisits"],
|
|
||||||
// updateVisitsGroup: parsedJson["updateVisitsGroup"],
|
|
||||||
// updatingDots: parsedJson["updatingDots"],
|
|
||||||
// visitInformation: parsedJson["visitInformation"],
|
|
||||||
// nextVisitDate: parsedJson["expectedVisitDate"],
|
|
||||||
// contactStatus: parsedJson["contactStatus"],
|
|
||||||
// travelingHours: parsedJson["travelingHours"],
|
|
||||||
// workingHours: parsedJson["workingHours"],
|
|
||||||
// image: parsedJson["image"],
|
|
||||||
// pickImage: parsedJson["pickImage"],
|
|
||||||
// requiredImage: parsedJson["requiredImage"],
|
|
||||||
// requiredFile: parsedJson["requiredFile"],
|
|
||||||
// taskStatus: parsedJson["taskStatus"],
|
|
||||||
// activationAlert: parsedJson["activationAlert"],
|
|
||||||
// attachImage: parsedJson["attachImage"],
|
|
||||||
// callLastSituation: parsedJson["callLastSituation"],
|
|
||||||
// customer: parsedJson["customer"],
|
|
||||||
// editServiceReport: parsedJson["editServiceReport"],
|
|
||||||
// invoiceCode: parsedJson["invoiceCode"],
|
|
||||||
// invoiceNumber: parsedJson["invoiceNumber"],
|
|
||||||
// newServiceReport: parsedJson["newServiceReport"],
|
|
||||||
// number: parsedJson["number"],
|
|
||||||
// operatingHours: parsedJson["operatingHours"],
|
|
||||||
// partNumberName: parsedJson["partNumberName"],
|
|
||||||
// quantity: parsedJson["quantity"],
|
|
||||||
// reasons: parsedJson["reasons"],
|
|
||||||
// reportStatus: parsedJson["reportStatus"],
|
|
||||||
// reportType: parsedJson["reportType"],
|
|
||||||
// callId: parsedJson["callId"],
|
|
||||||
// requiredWord: parsedJson["requiredWord"],
|
|
||||||
// assetType: parsedJson["AssetType"],
|
|
||||||
// workPreformed: parsedJson["workPreformed"],
|
|
||||||
// alert: parsedJson["alert"],
|
|
||||||
// duplicateAlert: parsedJson["duplicateAlert"],
|
|
||||||
// duplicateAlertMessage: parsedJson["duplicateAlertMessage"],
|
|
||||||
// duplicateRequest: parsedJson["duplicateRequest"],
|
|
||||||
// orderWorkNumber: parsedJson["orderWorkNumber"],
|
|
||||||
// assignedEmployee: parsedJson["assignedEmployee"],
|
|
||||||
// assetSN: parsedJson["assetSN"],
|
|
||||||
// assetName: parsedJson["assetName"],
|
|
||||||
// assetNumber: parsedJson["assetNumber"],
|
|
||||||
// site: parsedJson["site"],
|
|
||||||
// maintenanceSituation: parsedJson["maintenanceSituation"],
|
|
||||||
// currentSituation: parsedJson["currentSituation"],
|
|
||||||
// repairLocation: parsedJson["repairLocation"],
|
|
||||||
// travelingExpense: parsedJson["travelingExpense"],
|
|
||||||
// startDate: parsedJson["startDate"],
|
|
||||||
// endDate: parsedJson["endDate"],
|
|
||||||
// requestedQuantity: parsedJson["requestedQuantity"],
|
|
||||||
// deliveredQuantity: parsedJson["deliveredQuantity"],
|
|
||||||
// destinationSite: parsedJson["destinationSite"],
|
|
||||||
// building: parsedJson["building"],
|
|
||||||
// floor: parsedJson["floor"],
|
|
||||||
// department: parsedJson["department"],
|
|
||||||
// room: parsedJson["room"],
|
|
||||||
// actions: parsedJson["actions"],
|
|
||||||
// pickFromFiles: parsedJson["pickFromFiles"],
|
|
||||||
// pickFile: parsedJson["pickFile"],
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,87 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/string_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/text_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/enums/user_types.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/search_work_order.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_request.dart';
|
|
||||||
// import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/requests/work_order/update_service_report.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/requests/work_order/work_order_details_page.dart';
|
|
||||||
//
|
|
||||||
// import '../../../../views/widgets/requests/request_status.dart';
|
|
||||||
//// //todo @delete
|
|
||||||
// class ActivityCardView extends StatelessWidget {
|
|
||||||
// final SearchWorkOrder workOrder;
|
|
||||||
// final ServiceRequest serviceRequest;
|
|
||||||
// final bool showShadow;
|
|
||||||
//
|
|
||||||
// const ActivityCardView(this.workOrder, this.serviceRequest, {Key? key, this.showShadow = true}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// UserProvider userProvider = Provider.of<UserProvider>(context, listen: false);
|
|
||||||
// return Row(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// Column(
|
|
||||||
// mainAxisSize: MainAxisSize.min,
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// StatusLabel(
|
|
||||||
// label: workOrder.currentSituation!.name,
|
|
||||||
// textColor: AppColor.getRequestStatusTextColorByName(context, workOrder.currentSituation!.name!),
|
|
||||||
// backgroundColor: AppColor.getRequestStatusColorByName(context, workOrder.currentSituation!.name!),
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// Text(serviceRequest.requestCode!, style: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50)),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.assetName}: ${workOrder.callRequest!.asset!.modelDefinition!.assetName?.cleanupWhitespace.capitalizeFirstOfEach}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.currentSituation}: ${workOrder.currentSituation!.name}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// 16.height,
|
|
||||||
// Row(
|
|
||||||
// mainAxisSize: MainAxisSize.min,
|
|
||||||
// children: [
|
|
||||||
// Text(
|
|
||||||
// context.translation.readCompleteThread,
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context), decoration: TextDecoration.underline),
|
|
||||||
// ),
|
|
||||||
// // 4.width,
|
|
||||||
// // Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14)
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ).onPress(() {
|
|
||||||
// Navigator.push(
|
|
||||||
// context,
|
|
||||||
// MaterialPageRoute(builder: (context) => WorkOrderDetailsPage(workOrder: workOrder, serviceRequest: serviceRequest)),
|
|
||||||
// );
|
|
||||||
// }).expanded,
|
|
||||||
// Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.end,
|
|
||||||
// mainAxisAlignment: MainAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// if (userProvider.user!.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3)
|
|
||||||
// "edit_icon".toSvgAsset(height: 21, width: 21).onPress(() {
|
|
||||||
// Navigator.of(context).push(
|
|
||||||
// MaterialPageRoute(builder: (_) => UpdateServiceReport(request: serviceRequest, workOrder: workOrder)),
|
|
||||||
// );
|
|
||||||
// }),
|
|
||||||
// if (userProvider.user!.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3) 8.height,
|
|
||||||
// Text(workOrder.visitDate?.toServiceRequestCardFormat ?? "",
|
|
||||||
// textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral30 : const Color(0xFF3B3D4A))),
|
|
||||||
// ],
|
|
||||||
// )
|
|
||||||
// ],
|
|
||||||
// ).toShadowContainer(context);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,87 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/string_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/text_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/enums/user_types.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/search_work_order.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_request.dart';
|
|
||||||
// import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/requests/work_order/update_service_report.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/requests/work_order/work_order_details_page.dart';
|
|
||||||
//
|
|
||||||
// import '../../../../views/widgets/requests/request_status.dart';
|
|
||||||
//// //todo @delete
|
|
||||||
// class WorkOrderCardView extends StatelessWidget {
|
|
||||||
// final SearchWorkOrder workOrder;
|
|
||||||
// final ServiceRequest serviceRequest;
|
|
||||||
// final bool showShadow;
|
|
||||||
//
|
|
||||||
// WorkOrderCardView(this.workOrder, this.serviceRequest, {Key? key, this.showShadow = true}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// UserProvider _userProvider = Provider.of<UserProvider>(context, listen: false);
|
|
||||||
// return Row(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// Column(
|
|
||||||
// mainAxisSize: MainAxisSize.min,
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// StatusLabel(
|
|
||||||
// label: workOrder.currentSituation!.name,
|
|
||||||
// textColor: AppColor.getRequestStatusTextColorByName(context, workOrder.currentSituation?.name),
|
|
||||||
// backgroundColor: AppColor.getRequestStatusColorByName(context, workOrder.currentSituation?.name),
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// Text(serviceRequest.requestCode!, style: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50)),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.assetName}: ${workOrder.callRequest?.asset?.modelDefinition?.assetName?.cleanupWhitespace?.capitalizeFirstOfEach}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.currentSituation}: ${workOrder.currentSituation?.name}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// 16.height,
|
|
||||||
// Row(
|
|
||||||
// mainAxisSize: MainAxisSize.min,
|
|
||||||
// children: [
|
|
||||||
// Text(
|
|
||||||
// context.translation.readCompleteThread,
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context), decoration: TextDecoration.underline),
|
|
||||||
// ),
|
|
||||||
// // 4.width,
|
|
||||||
// // Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14)
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ).onPress(() {
|
|
||||||
// Navigator.push(
|
|
||||||
// context,
|
|
||||||
// MaterialPageRoute(builder: (context) => WorkOrderDetailsPage(workOrder: workOrder, serviceRequest: serviceRequest)),
|
|
||||||
// );
|
|
||||||
// }).expanded,
|
|
||||||
// Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.end,
|
|
||||||
// mainAxisAlignment: MainAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// if (_userProvider.user!.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3)
|
|
||||||
// "edit_icon".toSvgAsset(height: 21, width: 21).onPress(() {
|
|
||||||
// Navigator.of(context).push(
|
|
||||||
// MaterialPageRoute(builder: (_) => UpdateServiceReport(request: serviceRequest, workOrder: workOrder)),
|
|
||||||
// );
|
|
||||||
// }),
|
|
||||||
// if (_userProvider.user!.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3) 8.height,
|
|
||||||
// Text(workOrder.visitDate?.toServiceRequestCardFormat ?? "",
|
|
||||||
// textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral30 : const Color(0xFF3B3D4A))),
|
|
||||||
// ],
|
|
||||||
// )
|
|
||||||
// ],
|
|
||||||
// ).toShadowContainer(context);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
// import 'dart:io';
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/text_extensions.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/images/multi_image_picker.dart';
|
|
||||||
//
|
|
||||||
// class AttachmentView extends StatelessWidget {
|
|
||||||
// const AttachmentView({Key? key}) : super(key: key); todo @delete
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// //TODO user the same form key everywhere....
|
|
||||||
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
|
||||||
// final List<File> _files = [];
|
|
||||||
// return Consumer<ServiceRequestsProvider>(builder: (context, serviceRequestProvider, child) {
|
|
||||||
// serviceRequestProvider.currentSelectedRequest?.visitDate = '';
|
|
||||||
// return Form(
|
|
||||||
// key: _formKey,
|
|
||||||
// child: SingleChildScrollView(
|
|
||||||
// child: Column(
|
|
||||||
// children: [
|
|
||||||
// MultiFilesPicker(
|
|
||||||
// label: context.translation.attachImage,
|
|
||||||
// buttonHeight: 108.toScreenHeight,
|
|
||||||
// buttonIcon: 'image_icon'?.toSvgAsset(),
|
|
||||||
// files: _files,
|
|
||||||
// onlyImages: true,
|
|
||||||
// ),
|
|
||||||
// 16.height,
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,119 +0,0 @@
|
|||||||
//
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/timer_model.dart';
|
|
||||||
// import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/date_and_time/time_picker.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/timer/app_timer.dart';
|
|
||||||
//
|
|
||||||
// class TimeDurationView extends StatelessWidget {
|
|
||||||
// const TimeDurationView({Key ?key}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) { todo @delete
|
|
||||||
// //TODO user the same form key everywhere....
|
|
||||||
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
|
||||||
// return Consumer<ServiceRequestsProvider>(
|
|
||||||
// builder: (context, serviceRequestProvider,child) {
|
|
||||||
// serviceRequestProvider.currentSelectedRequest?.visitDate = '';
|
|
||||||
// return Form(
|
|
||||||
// key: _formKey,
|
|
||||||
// child: SingleChildScrollView(
|
|
||||||
// child: Column(
|
|
||||||
// children: [
|
|
||||||
// ADatePicker(
|
|
||||||
// label: context.translation.visitDate,
|
|
||||||
// hideShadow: true,
|
|
||||||
// withIcon: false,
|
|
||||||
// hint: context.translation.select,
|
|
||||||
// height: 70.toScreenHeight,
|
|
||||||
// date: DateTime.tryParse(serviceRequestProvider.currentSelectedRequest?.visitDate ?? ""),
|
|
||||||
// formatDateWithTime: true,
|
|
||||||
// onDatePicker: (selectedDate) {
|
|
||||||
// if (selectedDate != null) {
|
|
||||||
// showTimePicker(
|
|
||||||
// context: context,
|
|
||||||
// initialTime: TimeOfDay.now(),
|
|
||||||
// ).then((selectedTime) {
|
|
||||||
// // Handle the selected date and time here.
|
|
||||||
// if (selectedTime != null) {
|
|
||||||
// DateTime ? selectedDateTime = DateTime(
|
|
||||||
// selectedDate.year,
|
|
||||||
// selectedDate.month,
|
|
||||||
// selectedDate.day,
|
|
||||||
// selectedTime.hour,
|
|
||||||
// selectedTime.minute,
|
|
||||||
// );
|
|
||||||
// serviceRequestProvider.currentSelectedRequest?.visitDate = selectedDateTime?.toIso8601String();
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ATimePicker(
|
|
||||||
// label: context.translation.startTime,
|
|
||||||
// hint: context.translation.select,
|
|
||||||
// withIcon: false,
|
|
||||||
// withBorder: false,
|
|
||||||
// height: 70.toScreenHeight,
|
|
||||||
// time: serviceRequestProvider.selectedTime,
|
|
||||||
// onTimePicker: (selectedTime) {
|
|
||||||
// if (selectedTime != null) {
|
|
||||||
// print('time selected $selectedTime');
|
|
||||||
// serviceRequestProvider.selectedTime = selectedTime;
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ATimePicker(
|
|
||||||
// label: context.translation.endTime,
|
|
||||||
// hint: context.translation.select,
|
|
||||||
// withIcon: false,
|
|
||||||
// withBorder: false,
|
|
||||||
// height: 70.toScreenHeight,
|
|
||||||
// time: serviceRequestProvider.selectedTime,
|
|
||||||
// onTimePicker: (selectedTime) {
|
|
||||||
// if (selectedTime != null) {
|
|
||||||
// print('time selected $selectedTime');
|
|
||||||
// serviceRequestProvider.selectedTime = selectedTime;
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// SizedBox(
|
|
||||||
// width: double.infinity,
|
|
||||||
// height: 70.toScreenHeight,
|
|
||||||
// child: AppTimer(
|
|
||||||
// label: context.translation.workingHours,
|
|
||||||
// timer: TimerModel(),
|
|
||||||
// onPick: (TimerModel ?value){
|
|
||||||
//
|
|
||||||
// },
|
|
||||||
// decoration: BoxDecoration(
|
|
||||||
// color: AppColor.background(context),
|
|
||||||
// borderRadius: BorderRadius.circular(10),
|
|
||||||
// // boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)],
|
|
||||||
// ),
|
|
||||||
// // enabled: serviceRequestProvider.currentSelectedRequest.date == null,
|
|
||||||
// enabled: true,
|
|
||||||
// onChange: (timer) async {
|
|
||||||
// print('timer i got is ${timer.toString()}');
|
|
||||||
// return true;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
//
|
|
||||||
// ),
|
|
||||||
// 16.height,
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,180 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:test_sa/common_widgets/stapper_widget/components/base_step.dart';
|
|
||||||
// import 'package:test_sa/common_widgets/stapper_widget/components/custom_line.dart';
|
|
||||||
// import 'package:test_sa/common_widgets/stapper_widget/custom_stepper.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/text_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
|
|
||||||
//
|
|
||||||
// import 'components/asset_conditon_view.dart';
|
|
||||||
// import 'components/attachments_view.dart';
|
|
||||||
// import 'components/time_duration_view.dart';
|
|
||||||
//
|
|
||||||
// class WorkOrderFormView extends StatefulWidget {
|
|
||||||
// const WorkOrderFormView({Key? key}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// _WorkOrderFormViewState createState() => _WorkOrderFormViewState();
|
|
||||||
// }
|
|
||||||
// todo @delete
|
|
||||||
// class _WorkOrderFormViewState extends State<WorkOrderFormView> {
|
|
||||||
// int currentStep = 0;
|
|
||||||
// int activeStep = 0;
|
|
||||||
// int reachedStep = 0;
|
|
||||||
// int upperBound = 2;
|
|
||||||
// final formKey = GlobalKey<FormState>();
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void initState() {
|
|
||||||
// super.initState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// return Scaffold(
|
|
||||||
// backgroundColor: AppColor.neutral100,
|
|
||||||
// appBar: DefaultAppBar(title: context.translation.createWorkOrder),
|
|
||||||
// body: Column(
|
|
||||||
// children: [
|
|
||||||
// 16.height,
|
|
||||||
// CustomStepper(
|
|
||||||
// activeStep: activeStep,
|
|
||||||
// lineStyle: LineStyle(
|
|
||||||
// activeLineColor: AppColor.primary10,
|
|
||||||
// finishedLineColor: AppColor.primary10,
|
|
||||||
// defaultLineColor: AppColor.white40,
|
|
||||||
// lineThickness: 1,
|
|
||||||
// lineLength: 93.toScreenWidth,
|
|
||||||
// lineType: LineType.normal,
|
|
||||||
// ),
|
|
||||||
// internalPadding: 2.toScreenWidth,
|
|
||||||
// steps: [
|
|
||||||
// StepModel(customStep: customStepWidget(index: 0, stepIndex: 1), customTitle: customStepLabel(index: 1, label: context.translation.timeAndDuration)),
|
|
||||||
// StepModel(customStep: customStepWidget(index: 1, stepIndex: 2), customTitle: customStepLabel(index: 1, label: context.translation.assetsCondition)),
|
|
||||||
// StepModel(customStep: customStepWidget(index: 2, stepIndex: 3), customTitle: customStepLabel(index: 1, label: context.translation.attachmentsAcknowledge)),
|
|
||||||
// ],
|
|
||||||
// onStepReached: (index) => setState(() => activeStep = index),
|
|
||||||
// ),
|
|
||||||
// Expanded(
|
|
||||||
// child: Padding(
|
|
||||||
// padding: EdgeInsetsDirectional.symmetric(horizontal: 16.toScreenWidth, vertical: 25.toScreenHeight),
|
|
||||||
// child: getStepWidget(),
|
|
||||||
// )),
|
|
||||||
// bottomContainerWidget(),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Widget bottomContainerWidget() {
|
|
||||||
// return Container(
|
|
||||||
// padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 16.toScreenHeight),
|
|
||||||
// color: AppColor.white10,
|
|
||||||
// child: Row(
|
|
||||||
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
// children: [
|
|
||||||
// AppFilledButton(
|
|
||||||
// label: context.translation.cancel,
|
|
||||||
// loading: false,
|
|
||||||
// buttonColor: AppColor.white60,
|
|
||||||
// textColor: AppColor.black10,
|
|
||||||
// onPressed: () async {
|
|
||||||
// Navigator.pop(context);
|
|
||||||
// // await snapshot.updateRequest(user: userProvider.user, request: serviceRequestProvider.serviceRequest);
|
|
||||||
// // Navigator.pop(context, true);
|
|
||||||
// },
|
|
||||||
// ).expanded,
|
|
||||||
// 12.width,
|
|
||||||
// AppFilledButton(
|
|
||||||
// label: context.translation.next,
|
|
||||||
// buttonColor: AppColor.primary10,
|
|
||||||
// loading: false,
|
|
||||||
// onPressed: () {
|
|
||||||
// _incrementActiveStep();
|
|
||||||
// //TODO move to next step..
|
|
||||||
// },
|
|
||||||
// ).expanded,
|
|
||||||
// ],
|
|
||||||
// ));
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// void _incrementActiveStep() {
|
|
||||||
// setState(() {
|
|
||||||
// ++activeStep;
|
|
||||||
// if (reachedStep < activeStep) {
|
|
||||||
// reachedStep = activeStep;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Future<void> _navigateNext(ServiceRequestsProvider serviceRequestsProvider) async {
|
|
||||||
// if (activeStep < upperBound) {
|
|
||||||
// switch (activeStep) {
|
|
||||||
// case 0:
|
|
||||||
// // await _navigateNextStep(listingVm);
|
|
||||||
// break;
|
|
||||||
// case 1:
|
|
||||||
// break;
|
|
||||||
// case 2:
|
|
||||||
// _incrementActiveStep();
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // Your onPressed code
|
|
||||||
//
|
|
||||||
// Widget customStepWidget({required int index, required int stepIndex}) {
|
|
||||||
// return CircleAvatar(
|
|
||||||
// backgroundColor: activeStep >= index ? AppColor.primary10 : AppColor.background(context),
|
|
||||||
// child: activeStep > index
|
|
||||||
// ? Icon(
|
|
||||||
// Icons.done,
|
|
||||||
// color: AppColor.white10,
|
|
||||||
// size: 26.toScreenHeight,
|
|
||||||
// )
|
|
||||||
// : activeStep == index
|
|
||||||
// ? Text(
|
|
||||||
// '0$stepIndex',
|
|
||||||
// style: const TextStyle(fontWeight: FontWeight.w500, color: AppColor.white10),
|
|
||||||
// textAlign: TextAlign.center,
|
|
||||||
// )
|
|
||||||
// : Text(
|
|
||||||
// '0$stepIndex',
|
|
||||||
// style: const TextStyle(color: AppColor.black20),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Widget customStepLabel({required String label, required int index}) {
|
|
||||||
// return Column(
|
|
||||||
// children: [
|
|
||||||
// Text(
|
|
||||||
// label,
|
|
||||||
// textAlign: TextAlign.center,
|
|
||||||
// style: AppTextStyles.bodyText2.copyWith(color: AppColor.black20),
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /// Returns the previous button.
|
|
||||||
//
|
|
||||||
// Widget getStepWidget() {
|
|
||||||
// switch (activeStep) {
|
|
||||||
// case 0:
|
|
||||||
// return const TimeDurationView();
|
|
||||||
// case 1:
|
|
||||||
// return AssetConditionView();
|
|
||||||
// case 2:
|
|
||||||
// return AttachmentView();
|
|
||||||
// default:
|
|
||||||
// return const SizedBox();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,65 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/ppm_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/models/ppm/ppm.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/lazy_loading.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/ppm/ppm_item.dart';
|
|
||||||
////todo @delete
|
|
||||||
// class PpmPage extends StatefulWidget {
|
|
||||||
// static const String id = "/ppm_page";
|
|
||||||
//
|
|
||||||
// const PpmPage({Key? key}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// _PpmPageState createState() => _PpmPageState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _PpmPageState extends State<PpmPage> with TickerProviderStateMixin {
|
|
||||||
// late PpmProvider _visitsProvider;
|
|
||||||
// late UserProvider _userProvider;
|
|
||||||
// late SettingProvider _settingProvider;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// _visitsProvider = Provider.of<PpmProvider>(context);
|
|
||||||
// _settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
// _userProvider = Provider.of<UserProvider>(context);
|
|
||||||
//
|
|
||||||
// return Scaffold(
|
|
||||||
// appBar: DefaultAppBar(title: context.translation.preventiveMaintenance),
|
|
||||||
// body: SafeArea(
|
|
||||||
// child: LoadingManager(
|
|
||||||
// isLoading: _visitsProvider.isLoading,
|
|
||||||
// isFailedLoading: _visitsProvider.ppms == null,
|
|
||||||
// stateCode: _visitsProvider.stateCode,
|
|
||||||
// onRefresh: () async {
|
|
||||||
// _visitsProvider.reset();
|
|
||||||
// await _visitsProvider.getVisits(user: _userProvider.user!, host: _settingProvider.host!);
|
|
||||||
// },
|
|
||||||
// child: _visitsProvider.ppms?.isEmpty ?? true
|
|
||||||
// ? NoDataFound(message: context.translation.noVisitsFound)
|
|
||||||
// : LazyLoading(
|
|
||||||
// nextPage: _visitsProvider.nextPage,
|
|
||||||
// onLazyLoad: () async {
|
|
||||||
// await _visitsProvider.getVisits(user: _userProvider.user!, host: _settingProvider.host!);
|
|
||||||
// },
|
|
||||||
// child: ListView.builder(
|
|
||||||
// itemCount: _visitsProvider.ppms!.length,
|
|
||||||
// padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 16),
|
|
||||||
// itemBuilder: (context, itemIndex) {
|
|
||||||
// Ppm ppm = _visitsProvider.ppms![itemIndex];
|
|
||||||
// return Padding(padding: const EdgeInsets.only(bottom: 8.0), child: PpmItem(ppm: ppm));
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,64 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/device_transfer_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/device_trancfer/device_transfer_list.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
//
|
|
||||||
// import '../../../new_views/common_widgets/default_app_bar.dart';
|
|
||||||
//
|
|
||||||
// class TrackDeviceTransferPage extends StatefulWidget {
|
|
||||||
// static const String id = "/track-device-transfer";
|
|
||||||
//
|
|
||||||
// const TrackDeviceTransferPage({Key? key}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// State<TrackDeviceTransferPage> createState() => _TrackDeviceTransferPageState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _TrackDeviceTransferPageState extends State<TrackDeviceTransferPage> with TickerProviderStateMixin {
|
|
||||||
// late DeviceTransferProvider _deviceTransferProvider;
|
|
||||||
// late UserProvider _userProvider;
|
|
||||||
// late SettingProvider _settingProvider;
|
|
||||||
//// //todo @delete
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// _deviceTransferProvider = Provider.of<DeviceTransferProvider>(context);
|
|
||||||
// _userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// _settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
//
|
|
||||||
// return Scaffold(
|
|
||||||
// appBar: DefaultAppBar(title: context.translation.deviceTransfer),
|
|
||||||
// body: SafeArea(
|
|
||||||
// child: LoadingManager(
|
|
||||||
// isLoading: _deviceTransferProvider.isLoading,
|
|
||||||
// isFailedLoading: _deviceTransferProvider.items == null,
|
|
||||||
// stateCode: _deviceTransferProvider.stateCode,
|
|
||||||
// onRefresh: () async {
|
|
||||||
// _deviceTransferProvider.reset();
|
|
||||||
// await _deviceTransferProvider.getRequests(user: _userProvider.user!, host: _settingProvider.host!);
|
|
||||||
// },
|
|
||||||
// child: Stack(
|
|
||||||
// children: [
|
|
||||||
// Column(
|
|
||||||
// children: [
|
|
||||||
// Expanded(
|
|
||||||
// child: DeviceTransferList(
|
|
||||||
// nextPage: _deviceTransferProvider.nextPage,
|
|
||||||
// onLazyLoad: () async {
|
|
||||||
// await _deviceTransferProvider.getRequests(user: _userProvider.user!, host: _settingProvider.host!);
|
|
||||||
// },
|
|
||||||
// items: _deviceTransferProvider.items!,
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,68 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/gas_refill_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/gas_refill/gas_refill_list.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
//
|
|
||||||
// import '../../../../new_views/common_widgets/default_app_bar.dart';
|
|
||||||
//
|
|
||||||
// class TrackGasRefillPage extends StatefulWidget {
|
|
||||||
// static const String id = "/track-gas-refill";
|
|
||||||
//// //todo @delete
|
|
||||||
// const TrackGasRefillPage({Key? key}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// State<TrackGasRefillPage> createState() => _TrackGasRefillPageState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _TrackGasRefillPageState extends State<TrackGasRefillPage> with TickerProviderStateMixin {
|
|
||||||
// GasRefillProvider? _gasRefillProvider;
|
|
||||||
// late UserProvider _userProvider;
|
|
||||||
// late SettingProvider _settingProvider;
|
|
||||||
// bool mostRecent = true;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// if (_gasRefillProvider == null) {
|
|
||||||
// _gasRefillProvider = Provider.of<GasRefillProvider>(context);
|
|
||||||
// _gasRefillProvider!.reset();
|
|
||||||
// }
|
|
||||||
// _userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// _settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
//
|
|
||||||
// return Scaffold(
|
|
||||||
// appBar: DefaultAppBar(title: context.translation.gasRefillRequest),
|
|
||||||
// body: SafeArea(
|
|
||||||
// child: LoadingManager(
|
|
||||||
// isLoading: _gasRefillProvider!.isLoading,
|
|
||||||
// isFailedLoading: _gasRefillProvider!.items == null,
|
|
||||||
// stateCode: _gasRefillProvider!.stateCode,
|
|
||||||
// onRefresh: () async {
|
|
||||||
// _gasRefillProvider!.reset();
|
|
||||||
// await _gasRefillProvider!.getRequests(user: _userProvider.user!, host: _settingProvider.host!, mostRecent: mostRecent);
|
|
||||||
// },
|
|
||||||
// child: Stack(
|
|
||||||
// children: [
|
|
||||||
// Column(
|
|
||||||
// children: [
|
|
||||||
// Expanded(
|
|
||||||
// child: GasRefillList(
|
|
||||||
// nextPage: _gasRefillProvider!.nextPage,
|
|
||||||
// onLazyLoad: () async {
|
|
||||||
// await _gasRefillProvider!.getRequests(user: _userProvider.user!, host: _settingProvider.host!, mostRecent: mostRecent);
|
|
||||||
// },
|
|
||||||
// items: _gasRefillProvider?.items ?? [],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,112 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/all_requests_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/text_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/enums/user_types.dart';
|
|
||||||
// import 'package:test_sa/models/user.dart';
|
|
||||||
// import 'package:test_sa/new_views/pages/gas_refill_request_form.dart';
|
|
||||||
// import 'package:test_sa/views/pages/device_transfer/create_device_transfer_request.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/requests/create_service_request_page.dart';
|
|
||||||
// // todo @delete file
|
|
||||||
// import '../app_style/app_color.dart';
|
|
||||||
//
|
|
||||||
// class AppFloatingActionButton extends StatefulWidget {
|
|
||||||
// const AppFloatingActionButton({Key? key}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// State<AppFloatingActionButton> createState() => _AppFloatingActionButtonState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _AppFloatingActionButtonState extends State<AppFloatingActionButton> {
|
|
||||||
// double turns = 0.0;
|
|
||||||
//
|
|
||||||
// void _rotate() {
|
|
||||||
// setState(() {
|
|
||||||
// if (turns == 0) {
|
|
||||||
// turns += 1.0 / 8.0;
|
|
||||||
// } else {
|
|
||||||
// turns = 0;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// User user = Provider.of<UserProvider>(context, listen: false).user!;
|
|
||||||
// final elements = [
|
|
||||||
// if (user.type == UsersTypes.normal_user) fabItem(context.translation.gasRefillRequest, "gas_refill_request", NewGasRefillRequestPage.routeName),
|
|
||||||
// if (user.type == UsersTypes.normal_user) const Divider().defaultStyle(context).paddingOnly(top: 16, bottom: 16),
|
|
||||||
// if (user.type == UsersTypes.normal_user) fabItem(context.translation.transferRequest, "transfer_request", CreateAssetTransferRequest.id),
|
|
||||||
// if (user.type == UsersTypes.normal_user) const Divider().defaultStyle(context).paddingOnly(top: 16, bottom: 16),
|
|
||||||
// if (user.type == UsersTypes.normal_user) fabItem(context.translation.serviceRequest, "service_request", CreateServiceRequestPage.id),
|
|
||||||
// ];
|
|
||||||
// const duration = Duration(milliseconds: 250);
|
|
||||||
// return elements.isEmpty
|
|
||||||
// ? const SizedBox.shrink()
|
|
||||||
// : Column(
|
|
||||||
// mainAxisAlignment: MainAxisAlignment.end,
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.end,
|
|
||||||
// mainAxisSize: MainAxisSize.min,
|
|
||||||
// children: [
|
|
||||||
// Visibility(
|
|
||||||
// visible: turns != 0,
|
|
||||||
// maintainAnimation: true,
|
|
||||||
// maintainState: true,
|
|
||||||
// child: AnimatedOpacity(
|
|
||||||
// opacity: turns != 0 ? 1 : 0,
|
|
||||||
// duration: duration,
|
|
||||||
// child: Container(
|
|
||||||
// width: MediaQuery.of(context).size.width * .66,
|
|
||||||
// padding: const EdgeInsets.all(16),
|
|
||||||
// decoration: ShapeDecoration(
|
|
||||||
// color: AppColor.background(context),
|
|
||||||
// shape: RoundedRectangleBorder(
|
|
||||||
// borderRadius: BorderRadius.circular(10),
|
|
||||||
// ),
|
|
||||||
// shadows: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 14, offset: const Offset(0, 0), spreadRadius: 0)],
|
|
||||||
// // shadows: const [BoxShadow(color: Color(0x0C000000), blurRadius: 10, offset: Offset(0, 0), spreadRadius: 0)],
|
|
||||||
// ),
|
|
||||||
// child: Column(mainAxisSize: MainAxisSize.min, children: elements),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// 16.height,
|
|
||||||
// FloatingActionButton(
|
|
||||||
// child: AnimatedRotation(
|
|
||||||
// turns: turns,
|
|
||||||
// duration: duration,
|
|
||||||
// child: const Icon(Icons.add),
|
|
||||||
// ),
|
|
||||||
// onPressed: () {
|
|
||||||
// _rotate();
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Widget fabItem(String label, String iconName, routeName) {
|
|
||||||
// return Row(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.center,
|
|
||||||
// children: [
|
|
||||||
// Expanded(
|
|
||||||
// flex: 4,
|
|
||||||
// child: label.heading5(context),
|
|
||||||
// ),
|
|
||||||
// // 4.width,
|
|
||||||
// Expanded(
|
|
||||||
// flex: 1,
|
|
||||||
// child: iconName.toSvgAsset(width: 24, height: 24, color: AppColor.blueStatus(context)),
|
|
||||||
// )
|
|
||||||
// ],
|
|
||||||
// ).onPress(() async {
|
|
||||||
// _rotate();
|
|
||||||
// await Navigator.of(context).pushNamed(routeName);
|
|
||||||
// Provider.of<AllRequestsProvider>(context, listen: false).getRequests();
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,217 +0,0 @@
|
|||||||
// import 'dart:convert';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/notification/firebase_notification_manger.dart';
|
|
||||||
// import 'package:test_sa/controllers/notification/notification_manger.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/all_requests_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/notifications_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/text_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/user.dart';
|
|
||||||
// import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
||||||
// import 'package:test_sa/dashboard_latest/widgets/progress_fragment.dart';
|
|
||||||
// import 'package:test_sa/dashboard_latest/widgets/recent_activites_fragment.dart';
|
|
||||||
// import 'package:test_sa/dashboard_latest/widgets/requests_fragment.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/notifications/notifications_page.dart';
|
|
||||||
//
|
|
||||||
// class DashboardPage extends StatefulWidget {
|
|
||||||
// final VoidCallback onDrawerPress; //todo @delete
|
|
||||||
//
|
|
||||||
// const DashboardPage({Key? key,required this.onDrawerPress}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// State<DashboardPage> createState() => _DashboardPageState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _DashboardPageState extends State<DashboardPage> {
|
|
||||||
// int _currentPage = 0;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void initState() {
|
|
||||||
// super.initState();
|
|
||||||
// getAllRequests();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// void getAllRequests() {
|
|
||||||
// WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
||||||
// Provider.of<AllRequestsProvider>(context, listen: false).getRequests();
|
|
||||||
// Provider.of<NotificationsProvider>(context, listen: false).getSystemNotifications(user: Provider.of<UserProvider>(context, listen: false).user!, resetProvider: true);
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void dispose() {
|
|
||||||
// super.dispose();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// bool isFCM = true;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// if (isFCM) {
|
|
||||||
// FirebaseNotificationManger.initialized(context);
|
|
||||||
// NotificationManger.initialisation((notificationDetails) {
|
|
||||||
// FirebaseNotificationManger.handleMessage(context, json.decode(notificationDetails.payload!));
|
|
||||||
// }, (id, title, body, payload) async {});
|
|
||||||
//
|
|
||||||
// isFCM = false;
|
|
||||||
// }
|
|
||||||
// final User user = Provider.of<UserProvider>(context, listen: false).user!;
|
|
||||||
// final setting = Provider.of<SettingProvider>(context, listen: false);
|
|
||||||
// return Scaffold(
|
|
||||||
// appBar: AppBar(
|
|
||||||
// automaticallyImplyLeading: false,
|
|
||||||
// backgroundColor: Theme.of(context).scaffoldBackgroundColor,
|
|
||||||
// titleSpacing: 0,
|
|
||||||
// title: Row(
|
|
||||||
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.center,
|
|
||||||
// children: [
|
|
||||||
// Consumer<UserProvider>(builder: (context, snapshot, _) {
|
|
||||||
// return CircleAvatar(
|
|
||||||
// radius: 24,
|
|
||||||
// backgroundColor: context.isDark ? AppColor.neutral50 : AppColor.neutral40,
|
|
||||||
// child: Padding(
|
|
||||||
// padding: const EdgeInsets.all(1), // Border radius
|
|
||||||
// child: ClipOval(
|
|
||||||
// child: snapshot.profileImage != null
|
|
||||||
// ? Image.file(snapshot.profileImage!)
|
|
||||||
// : (snapshot.user?.profilePhotoName?.isNotEmpty ?? false)
|
|
||||||
// ? Image.network(snapshot.user!.profilePhotoName!)
|
|
||||||
// : const Icon(Icons.person, size: 24, color: Colors.white),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }).onPress(widget.onDrawerPress),
|
|
||||||
// const Spacer(),
|
|
||||||
// Container(
|
|
||||||
// padding: const EdgeInsets.fromLTRB(12, 6, 6, 6),
|
|
||||||
// decoration: BoxDecoration(
|
|
||||||
// borderRadius: BorderRadius.circular(8),
|
|
||||||
// color: AppColor.background(context),
|
|
||||||
// boxShadow: const [
|
|
||||||
// BoxShadow(
|
|
||||||
// color: Color(0x07000000),
|
|
||||||
// blurRadius: 14,
|
|
||||||
// offset: Offset(0, 0),
|
|
||||||
// spreadRadius: 0,
|
|
||||||
// )
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// child: DropdownButton<AssetGroup>(
|
|
||||||
// value: setting.assetGroup,
|
|
||||||
// //iconSize: 24,
|
|
||||||
// isDense: true,
|
|
||||||
// icon: const Icon(Icons.keyboard_arrow_down),
|
|
||||||
// elevation: 8,
|
|
||||||
// // dropdownColor: Colors.amber,
|
|
||||||
// borderRadius: BorderRadius.circular(8),
|
|
||||||
// style: TextStyle(color: Theme.of(context).primaryColor),
|
|
||||||
// underline: const SizedBox.shrink(),
|
|
||||||
// onChanged: (newValue) {
|
|
||||||
// if (setting.assetGroup != newValue) {
|
|
||||||
// Provider.of<SettingProvider>(context, listen: false).setAssetGroup(newValue);
|
|
||||||
// setState(() {});
|
|
||||||
// getAllRequests();
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// items: user.assetGroups!.map<DropdownMenuItem<AssetGroup>>((value) {
|
|
||||||
// return DropdownMenuItem<AssetGroup>(
|
|
||||||
// value: value,
|
|
||||||
// child: Text(
|
|
||||||
// value.name ?? "",
|
|
||||||
// style: Theme.of(context).textTheme.bodyLarge,
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }).toList(),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// 16.width,
|
|
||||||
// Stack(
|
|
||||||
// alignment: Alignment.topRight,
|
|
||||||
// children: [
|
|
||||||
// Icon(Icons.notifications, color: context.isDark ? AppColor.neutral30 : AppColor.neutral20, size: 30).paddingOnly(top: 6, end: 0),
|
|
||||||
// // todo @sikander will add count for unread notifications
|
|
||||||
// // Positioned(
|
|
||||||
// // top: 0,
|
|
||||||
// // right: 0,
|
|
||||||
// // child: Container(
|
|
||||||
// // padding: const EdgeInsets.all(4),
|
|
||||||
// // decoration: const ShapeDecoration(
|
|
||||||
// // color: Color(0xFFD02127),
|
|
||||||
// // shape: CircleBorder(),
|
|
||||||
// // ),
|
|
||||||
// // child: Text("", style: AppTextStyles.bodyText),
|
|
||||||
// // ),
|
|
||||||
// // )
|
|
||||||
// ],
|
|
||||||
// ).onPress(() {
|
|
||||||
// Navigator.of(context).pushNamed(NotificationsPage.id);
|
|
||||||
// }),
|
|
||||||
// ],
|
|
||||||
// ).paddingOnly(start: 16, end: 16),
|
|
||||||
// ),
|
|
||||||
// body: Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// mainAxisSize: MainAxisSize.min,
|
|
||||||
// children: [
|
|
||||||
// Text(
|
|
||||||
// context.translation.welcome,
|
|
||||||
// style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// user.username ?? "",
|
|
||||||
// style: AppTextStyles.heading2.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50, fontWeight: FontWeight.w600),
|
|
||||||
// ),
|
|
||||||
// 24.height,
|
|
||||||
// Row(
|
|
||||||
// children: [
|
|
||||||
// indicatorView(0),
|
|
||||||
// 3.width,
|
|
||||||
// indicatorView(1),
|
|
||||||
// 3.width,
|
|
||||||
// indicatorView(2),
|
|
||||||
// 10.width,
|
|
||||||
// "0${_currentPage + 1}/03".tinyFont(context).custom(fontWeight: FontWeight.w500, color: context.isDark ? AppColor.neutral30 : AppColor.neutral60),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ).paddingOnly(start: 16, end: 16, top: 8, bottom: 8),
|
|
||||||
// PageView(
|
|
||||||
// onPageChanged: (index) => setState(() => _currentPage = index),
|
|
||||||
// children: [
|
|
||||||
// const RequestsFragment(),
|
|
||||||
// ProgressFragment(),
|
|
||||||
// const RecentActivitiesFragment(),
|
|
||||||
// ],
|
|
||||||
// ).expanded,
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Widget indicatorView(int index) {
|
|
||||||
// bool isActive = _currentPage == index;
|
|
||||||
//
|
|
||||||
// return AnimatedContainer(
|
|
||||||
// duration: const Duration(milliseconds: 250),
|
|
||||||
// width: (isActive ? 30 : 12).toScreenWidth,
|
|
||||||
// height: 9.toScreenHeight,
|
|
||||||
// decoration: BoxDecoration(
|
|
||||||
// color: isActive
|
|
||||||
// ? AppColor.greenStatus(context)
|
|
||||||
// : context.isDark
|
|
||||||
// ? AppColor.neutral20
|
|
||||||
// : AppColor.neutral40,
|
|
||||||
// borderRadius: BorderRadius.circular(8)),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,145 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
||||||
//
|
|
||||||
// class AColors {
|
|
||||||
// AColors._();
|
|
||||||
//
|
|
||||||
// static const Color white = Color(0xffffffff);
|
|
||||||
// static const Color black = Color(0xff000000);
|
|
||||||
// static const Color grey3A = Color(0xff2e303a);
|
|
||||||
// static const Color grey = Color(0xffe1e7e7);
|
|
||||||
// static const green = Colors.green;
|
|
||||||
// static const Color orange = Colors.orange;
|
|
||||||
// static const Color deepOrange = Colors.deepOrangeAccent;
|
|
||||||
// static const Color red = Colors.red;
|
|
||||||
// static const Color deepRed = Color(0xFFD32F2F);
|
|
||||||
// static const Color scaffoldBackgroundColor = Color(0xffffffff);
|
|
||||||
// static const Color secondaryColor = Color(0xff111427);
|
|
||||||
// static const Color primaryColor = Color(0xff5bb0da);
|
|
||||||
// static const Color cyan = Color(0xff4A8DB7);
|
|
||||||
// static const Color onPrimaryColor = Color(0xffffffff);
|
|
||||||
// static Color inputFieldBackgroundColor = Color(0xfff5f5f5);
|
|
||||||
// static Color greyEF = Color(0xffEFEFEF);
|
|
||||||
//
|
|
||||||
// static Color statusYellow = const Color(0xFF886300);
|
|
||||||
// static Color statusYellowLight = const Color(0xFFFFEDBC);
|
|
||||||
// static Color statusGreen = const Color(0xFF62BE96);
|
|
||||||
// static Color statusGreenLight = const Color(0xFF62BE96);
|
|
||||||
// static Color statusRed = const Color(0xFF8C0409);
|
|
||||||
// static Color statusRedLight = const Color(0xFFFFDBDC);
|
|
||||||
// static Color statusBlue = AppColor.primary50;
|
|
||||||
// // static Color statusBlueLight = const Color(0xFFA2E2F8);
|
|
||||||
// static Color statusDefault = const Color(0xFF3B3D4A);
|
|
||||||
//
|
|
||||||
// static Color getRequestStatusTextColorByName(String status) {
|
|
||||||
// switch ((status ?? "").toLowerCase()) {
|
|
||||||
// case "in progress":
|
|
||||||
// return AColors.statusYellow;
|
|
||||||
// case "high priority":
|
|
||||||
// return AColors.statusRed;
|
|
||||||
// // case "low priority":
|
|
||||||
// // return AColors.statusGreen;
|
|
||||||
// default:
|
|
||||||
// return AColors.white;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// static Color getRequestStatusColorByName(String status) {
|
|
||||||
// switch ((status ?? "").toLowerCase()) {
|
|
||||||
// case "medium":
|
|
||||||
// return AColors.statusBlue.withOpacity(0.7);
|
|
||||||
// case "in progress":
|
|
||||||
// return AColors.statusYellowLight;
|
|
||||||
// case "complete":
|
|
||||||
// return AColors.statusGreenLight;
|
|
||||||
// case "closed":
|
|
||||||
// return AColors.statusGreenLight;
|
|
||||||
// case "high priority":
|
|
||||||
// return AColors.statusRedLight;
|
|
||||||
// case "low priority":
|
|
||||||
// return AColors.statusGreenLight;
|
|
||||||
// case "open":
|
|
||||||
// return AColors.statusBlue.withOpacity(0.7);
|
|
||||||
// default:
|
|
||||||
// return AColors.statusDefault;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// static Color getRequestStatusColor(int id) {
|
|
||||||
// switch (id) {
|
|
||||||
// case 1:
|
|
||||||
// return AColors.statusBlue.withOpacity(0.7);
|
|
||||||
// case 2:
|
|
||||||
// return AColors.statusYellowLight;
|
|
||||||
// case 3:
|
|
||||||
// return AColors.statusGreenLight;
|
|
||||||
// case 4:
|
|
||||||
// return AColors.statusRedLight;
|
|
||||||
// case 6:
|
|
||||||
// return AColors.statusGreenLight;
|
|
||||||
// case 5:
|
|
||||||
// return AColors.statusGreenLight;
|
|
||||||
// case 8:
|
|
||||||
// return AColors.statusGreenLight;
|
|
||||||
// case 9:
|
|
||||||
// return AColors.orange;
|
|
||||||
// default:
|
|
||||||
// return AColors.statusDefault;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// static Color getRequestStatusTextColor(int id) {
|
|
||||||
// switch (id) {
|
|
||||||
// case 2:
|
|
||||||
// return AColors.statusYellow;
|
|
||||||
// case 3:
|
|
||||||
// return AColors.white;
|
|
||||||
// case 4:
|
|
||||||
// return AColors.deepRed;
|
|
||||||
// case 6:
|
|
||||||
// return AColors.green;
|
|
||||||
// case 5:
|
|
||||||
// return AColors.white;
|
|
||||||
// case 8:
|
|
||||||
// return AColors.green;
|
|
||||||
// case 9:
|
|
||||||
// return AColors.orange;
|
|
||||||
// default:
|
|
||||||
// return AColors.white;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// static Color getGasStatusColor(int id) {
|
|
||||||
// switch (id) {
|
|
||||||
// case 0:
|
|
||||||
// return AColors.orange;
|
|
||||||
// case 1:
|
|
||||||
// return AColors.green;
|
|
||||||
// default:
|
|
||||||
// return AColors.statusDefault;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// static Color getPriorityStatusTextColor(int id) {
|
|
||||||
// switch (id) {
|
|
||||||
// case 81:
|
|
||||||
// return AColors.white;
|
|
||||||
// case 82:
|
|
||||||
// return AColors.statusRed;
|
|
||||||
// default:
|
|
||||||
// return AColors.statusDefault;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// static Color getPriorityStatusColor(int id) {l
|
|
||||||
// switch (id) {
|
|
||||||
// case 81:
|
|
||||||
// return AColors.statusGreenLight;
|
|
||||||
// case 82:
|
|
||||||
// return AColors.statusRedLight;
|
|
||||||
// default:
|
|
||||||
// return AColors.statusDefault;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,162 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:fluttertoast/fluttertoast.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/http_status_manger.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/validator/validator.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/models/user.dart';
|
|
||||||
// import 'package:test_sa/new_views/pages/land_page/land_page.dart';
|
|
||||||
// import 'package:test_sa/views/app_style/sizing.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/app_text_form_field.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/buttons/app_button.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
//
|
|
||||||
// class Login extends StatefulWidget {
|
|
||||||
// static final String id = "/login";
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// _LoginState createState() => _LoginState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _LoginState extends State<Login> {
|
|
||||||
// UserProvider _userProvider;
|
|
||||||
// SettingProvider _settingProvider;
|
|
||||||
// User _user = User();
|
|
||||||
// bool _obscurePassword = true;
|
|
||||||
// bool _firstTime = true;
|
|
||||||
// double _height;
|
|
||||||
// double _width;
|
|
||||||
// String _payload;
|
|
||||||
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
|
||||||
// final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// _userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// _settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
// _height = MediaQuery.of(context).size.height;
|
|
||||||
// _width = MediaQuery.of(context).size.width;
|
|
||||||
//
|
|
||||||
// return Scaffold(
|
|
||||||
// key: _scaffoldKey,
|
|
||||||
// body: SafeArea(
|
|
||||||
// child: LoadingManager(
|
|
||||||
// isLoading: _userProvider.isLoading || !_settingProvider.isLoaded,
|
|
||||||
// isFailedLoading: false,
|
|
||||||
// stateCode: 200,
|
|
||||||
// onRefresh: () async {},
|
|
||||||
// child: Form(
|
|
||||||
// key: _formKey,
|
|
||||||
// child: SingleChildScrollView(
|
|
||||||
// //padding: EdgeInsets.symmetric(horizontal: 32),
|
|
||||||
// child: Column(
|
|
||||||
// children: [
|
|
||||||
// //AppNameBar(),
|
|
||||||
// SizedBox(
|
|
||||||
// height: MediaQuery.of(context).size.height / 7,
|
|
||||||
// ),
|
|
||||||
// Hero(
|
|
||||||
// tag: "logo",
|
|
||||||
// child: Image(
|
|
||||||
// height: _height / 6,
|
|
||||||
// fit: BoxFit.contain,
|
|
||||||
// image: AssetImage("assets/images/logo.png"),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// Padding(
|
|
||||||
// padding: EdgeInsets.symmetric(horizontal: 24 * AppStyle.getScaleFactor(context), vertical: 24 * AppStyle.getScaleFactor(context)),
|
|
||||||
// child: Column(
|
|
||||||
// children: [
|
|
||||||
// SizedBox(
|
|
||||||
// height: 24 * AppStyle.getScaleFactor(context),
|
|
||||||
// ),
|
|
||||||
// ATextFormField(
|
|
||||||
// initialValue: _user?.userName,
|
|
||||||
// hintText: context.translation.name,
|
|
||||||
// textAlign: TextAlign.left,
|
|
||||||
// style: Theme.of(context).textTheme.bodyText1,
|
|
||||||
// prefixIconData: Icons.account_circle,
|
|
||||||
// validator: (value) => Validator.hasValue(value) ? null : context.translation.nameValidateMessage,
|
|
||||||
// textInputType: TextInputType.name,
|
|
||||||
// onSaved: (value) {
|
|
||||||
// _user.userName = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// SizedBox(height: 12),
|
|
||||||
// ATextFormField(
|
|
||||||
// initialValue: _user?.password,
|
|
||||||
// hintText: context.translation.password,
|
|
||||||
// obscureText: _obscurePassword,
|
|
||||||
// style: Theme.of(context).textTheme.bodyText1,
|
|
||||||
// prefixIconData: Icons.vpn_key_sharp,
|
|
||||||
// textAlign: TextAlign.left,
|
|
||||||
// validator: (value) => Validator.isValidPassword(value) ? null : context.translation.passwordValidateMessage,
|
|
||||||
// showPassword: () {
|
|
||||||
// _obscurePassword = !_obscurePassword;
|
|
||||||
// setState(() {});
|
|
||||||
// },
|
|
||||||
// onSaved: (value) {
|
|
||||||
// _user.password = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// SizedBox(
|
|
||||||
// height: 32 * AppStyle.getScaleFactor(context),
|
|
||||||
// ),
|
|
||||||
// AButton(
|
|
||||||
// text: context.translation.signIn,
|
|
||||||
// onPressed: () async {
|
|
||||||
// if (!_formKey.currentState.validate()) return;
|
|
||||||
// _formKey.currentState.save();
|
|
||||||
// int status = await _userProvider.login(
|
|
||||||
// user: _user,
|
|
||||||
// );
|
|
||||||
// if (status >= 200 && status < 300) {
|
|
||||||
// if (_userProvider.user.isAuthenticated ?? false) {
|
|
||||||
// _settingProvider.setUser(_userProvider.user);
|
|
||||||
// Navigator.of(context).pushNamed(LandPage.routeName);
|
|
||||||
// } else {
|
|
||||||
// Fluttertoast.showToast(msg: _userProvider.user.message);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // if (_userProvider.user.isActive)
|
|
||||||
//
|
|
||||||
// // else
|
|
||||||
// // Fluttertoast.showToast(msg: context.translation.activationAlert);
|
|
||||||
// } else {
|
|
||||||
// if (status >= 400 && status < 500) return;
|
|
||||||
//
|
|
||||||
// String errorMessage = status == 400 || _userProvider.user?.userName == null
|
|
||||||
// ? context.translation.wrongEmailOrPassword
|
|
||||||
// : HttpStatusManger.getStatusMessage(status: status, subtitle: context.translation);
|
|
||||||
// ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
|
||||||
// content: Text(errorMessage),
|
|
||||||
// ));
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// // SizedBox(
|
|
||||||
// // height: 140 * AppStyle.getScaleFactor(context),
|
|
||||||
// // ),
|
|
||||||
// // AOutLinedButton(
|
|
||||||
// // text: context.translation.signUp,
|
|
||||||
// // //color: AColors.cyan,
|
|
||||||
// // onPressed: () {
|
|
||||||
// // Navigator.of(context).pushNamed(Register.id);
|
|
||||||
// // },
|
|
||||||
// // ),
|
|
||||||
// const SizedBox(height: 32),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,213 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:fluttertoast/fluttertoast.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/api_routes/http_status_manger.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/validator/validator.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/models/hospital.dart';
|
|
||||||
// import 'package:test_sa/models/user.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/app_text_form_field.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/buttons/app_back_button.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/buttons/app_button.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/hospitals/hospital_button.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
//
|
|
||||||
// class Register extends StatefulWidget {
|
|
||||||
// static final String id = "/register";
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// _RegisterState createState() => _RegisterState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _RegisterState extends State<Register> {
|
|
||||||
// UserProvider _userProvider;
|
|
||||||
// SettingProvider _settingProvider;
|
|
||||||
// double _width;
|
|
||||||
// double _height;
|
|
||||||
// User _user = User();
|
|
||||||
// bool _obscurePassword = true;
|
|
||||||
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
|
||||||
// final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// _userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// _settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
// _width = MediaQuery.of(context).size.width;
|
|
||||||
// _height = MediaQuery.of(context).size.height;
|
|
||||||
//
|
|
||||||
// return Scaffold(
|
|
||||||
// key: _scaffoldKey,
|
|
||||||
// body: LoadingManager(
|
|
||||||
// isLoading: _userProvider.isLoading,
|
|
||||||
// isFailedLoading: false,
|
|
||||||
// stateCode: 200,
|
|
||||||
// onRefresh: () async {},
|
|
||||||
// child: SafeArea(
|
|
||||||
// child: Stack(
|
|
||||||
// children: [
|
|
||||||
// Form(
|
|
||||||
// key: _formKey,
|
|
||||||
// child: ListView(
|
|
||||||
// padding: const EdgeInsets.all(20),
|
|
||||||
// children: [
|
|
||||||
// //AppNameBar(),
|
|
||||||
// //SizedBox(height: 16,),
|
|
||||||
// Hero(
|
|
||||||
// tag: "logo",
|
|
||||||
// child: Padding(
|
|
||||||
// padding: const EdgeInsets.all(16),
|
|
||||||
// child: Image(
|
|
||||||
// height: _height / 6,
|
|
||||||
// image: AssetImage("assets/images/logo.png"),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ATextFormField(
|
|
||||||
// initialValue: _user.userName,
|
|
||||||
// hintText: context.translation.name,
|
|
||||||
// prefixIconData: Icons.account_circle,
|
|
||||||
// style: Theme.of(context).textTheme.headline6,
|
|
||||||
// validator: (value) => Validator.hasValue(value) ? null : context.translation.nameValidateMessage,
|
|
||||||
// onSaved: (value) {
|
|
||||||
// _user.userName = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// const SizedBox(height: 12),
|
|
||||||
// ATextFormField(
|
|
||||||
// initialValue: _user.email,
|
|
||||||
// hintText: context.translation.email,
|
|
||||||
// prefixIconData: Icons.email,
|
|
||||||
// textInputType: TextInputType.emailAddress,
|
|
||||||
// style: Theme.of(context).textTheme.headline6,
|
|
||||||
// validator: (value) => Validator.isEmail(value) ? null : context.translation.emailValidateMessage,
|
|
||||||
// onSaved: (value) {
|
|
||||||
// _user.email = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// const SizedBox(height: 12),
|
|
||||||
// ATextFormField(
|
|
||||||
// initialValue: _user.password,
|
|
||||||
// hintText: context.translation.password,
|
|
||||||
// prefixIconData: Icons.vpn_key_sharp,
|
|
||||||
// style: Theme.of(context).textTheme.headline6,
|
|
||||||
// obscureText: _obscurePassword,
|
|
||||||
// validator: (value) => Validator.isValidPassword(value) ? null : context.translation.passwordValidateMessage,
|
|
||||||
// showPassword: () {
|
|
||||||
// _obscurePassword = !_obscurePassword;
|
|
||||||
// setState(() {});
|
|
||||||
// },
|
|
||||||
// onSaved: (value) {
|
|
||||||
// _user.password = value;
|
|
||||||
// },
|
|
||||||
// onChange: (value) {
|
|
||||||
// _user.password = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// const SizedBox(height: 12),
|
|
||||||
// ATextFormField(
|
|
||||||
// initialValue: _user.password,
|
|
||||||
// prefixIconData: Icons.vpn_key_sharp,
|
|
||||||
// hintText: context.translation.confirmPassword,
|
|
||||||
// style: Theme.of(context).textTheme.headline6,
|
|
||||||
// obscureText: _obscurePassword,
|
|
||||||
// validator: (value) => _user.password == value ? null : context.translation.confirmPasswordValidateMessage,
|
|
||||||
// showPassword: () {
|
|
||||||
// _obscurePassword = !_obscurePassword;
|
|
||||||
// setState(() {});
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// const SizedBox(height: 12),
|
|
||||||
// HospitalButton(
|
|
||||||
// hospital: Hospital(id: _user.clientId, name: _user.clientName),
|
|
||||||
// onHospitalPick: (hospital) {
|
|
||||||
// _user.clientId = hospital.id;
|
|
||||||
// _user.clientName = hospital.name;
|
|
||||||
// setState(() {});
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// // const SizedBox(height: 12),
|
|
||||||
// // DepartmentButton(
|
|
||||||
// // department: Department(id: _user.departmentId, name: _user.departmentName),
|
|
||||||
// // onDepartmentPick: (department) {
|
|
||||||
// // _user.departmentId = department.id;
|
|
||||||
// // _user.departmentName = department.name;
|
|
||||||
// // setState(() {});
|
|
||||||
// // },
|
|
||||||
// // ),
|
|
||||||
// const SizedBox(height: 12),
|
|
||||||
// ATextFormField(
|
|
||||||
// initialValue: _user.phoneNumber,
|
|
||||||
// hintText: context.translation.phoneNumber,
|
|
||||||
// style: Theme.of(context).textTheme.headline6,
|
|
||||||
// prefixIconData: Icons.phone_android,
|
|
||||||
// validator: (value) => Validator.isPhoneNumber(value) ? null : context.translation.phoneNumberValidateMessage,
|
|
||||||
// textInputType: TextInputType.phone,
|
|
||||||
// onSaved: (value) {
|
|
||||||
// _user.phoneNumber = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// SizedBox(height: 8),
|
|
||||||
// // ATextFormField(
|
|
||||||
// // initialValue: _user.whatsApp,
|
|
||||||
// // hintText: context.translation.whatsApp,
|
|
||||||
// // style: Theme.of(context).textTheme.headline6,
|
|
||||||
// // prefixIconData: FontAwesomeIcons.whatsapp,
|
|
||||||
// // prefixIconSize: 36,
|
|
||||||
// // validator: (value) => Validator.isPhoneNumber(value) ? null : context.translation.phoneNumberValidateMessage,
|
|
||||||
// // textInputType: TextInputType.phone,
|
|
||||||
// // onSaved: (value) {
|
|
||||||
// // _user.whatsApp = value;
|
|
||||||
// // },
|
|
||||||
// // ),
|
|
||||||
// const SizedBox(height: 12),
|
|
||||||
// AButton(
|
|
||||||
// text: context.translation.signUp,
|
|
||||||
// onPressed: () async {
|
|
||||||
// if (!_formKey.currentState.validate()) return;
|
|
||||||
// _formKey.currentState.save();
|
|
||||||
// if (_user.clientId == null) {
|
|
||||||
// ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
|
||||||
// content: Text(context.translation.hospitalRequired),
|
|
||||||
// ));
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// if (_user.departmentId == null) {
|
|
||||||
// ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
|
||||||
// content: Text(context.translation.uniteRequired),
|
|
||||||
// ));
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// int status = await _userProvider.register(
|
|
||||||
// user: _user,
|
|
||||||
// host: _settingProvider.host,
|
|
||||||
// );
|
|
||||||
// if (status >= 200 && status < 300) {
|
|
||||||
// Fluttertoast.showToast(msg: context.translation.activationAlert);
|
|
||||||
// Navigator.of(context).pop();
|
|
||||||
// } else {
|
|
||||||
// String errorMessage = status == 402
|
|
||||||
// ? context.translation.nameExist
|
|
||||||
// : status == 401
|
|
||||||
// ? context.translation.emailExist
|
|
||||||
// : HttpStatusManger.getStatusMessage(status: status, subtitle: context.translation);
|
|
||||||
// ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
|
||||||
// content: Text(errorMessage),
|
|
||||||
// ));
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ABackButton(),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,622 +0,0 @@
|
|||||||
// import 'dart:convert';
|
|
||||||
// import 'dart:io';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:fluttertoast/fluttertoast.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_assistants_employee_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_types_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/string_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/text_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/device/asset.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
// import 'package:test_sa/models/new_models/assigned_employee.dart';
|
|
||||||
// import 'package:test_sa/models/new_models/assistant_employee.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/search_work_order.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_report.dart';
|
|
||||||
// import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
|
|
||||||
// import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart';
|
|
||||||
// import 'package:test_sa/providers/service_request_providers/loan_availability_provider.dart';
|
|
||||||
// import 'package:test_sa/providers/work_order/vendor_provider.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/requests/add_supplier_engineer_bottom_sheet.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/e_signature/e_signature.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/equipment/pick_asset.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/images/multi_image_picker.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/app_loading.dart';
|
|
||||||
//
|
|
||||||
// import '../../../attachment.dart';
|
|
||||||
// import '../../../controllers/api_routes/http_status_manger.dart';
|
|
||||||
// import '../../../controllers/providers/api/parts_provider.dart';
|
|
||||||
// import '../../../controllers/providers/api/status_drop_down/report/service_report_fault_description_provider.dart';
|
|
||||||
// import '../../../controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart';
|
|
||||||
// import '../../../controllers/providers/api/user_provider.dart';
|
|
||||||
// import '../../../models/service_request/spare_parts.dart';
|
|
||||||
// import '../../../models/service_request/supp_engineer_work_orders.dart';
|
|
||||||
// import '../../../models/service_request/supplier_details.dart';
|
|
||||||
// import '../../../models/service_request/wo_call_request.dart';
|
|
||||||
// import '../../../new_views/common_widgets/app_lazy_loading.dart';
|
|
||||||
// import '../../../new_views/common_widgets/app_text_form_field.dart';
|
|
||||||
// import '../../../new_views/common_widgets/single_item_drop_down_menu.dart';
|
|
||||||
// import '../../../providers/loading_list_notifier.dart';
|
|
||||||
// import '../../../providers/work_order/reason_provider.dart';
|
|
||||||
// import '../../widgets/date_and_time/date_picker.dart';
|
|
||||||
// import '../../widgets/loaders/loading_manager.dart';
|
|
||||||
// import '../../widgets/status/report/service_report_assistant_employee_menu.dart';
|
|
||||||
// import '../../widgets/status/report/service_report_fault_description.dart';
|
|
||||||
// import '../../widgets/status/report/service_report_last_call.dart';
|
|
||||||
// import '../../widgets/status/report/service_report_repair_location.dart';
|
|
||||||
// import '../../widgets/timer/app_timer.dart';
|
|
||||||
// import '../user/requests/work_order/part_no_button.dart';
|
|
||||||
//
|
|
||||||
// class CreateSubWorkOrderPage extends StatefulWidget {
|
|
||||||
// static const id = "/CreateSubWorkOrder";
|
|
||||||
// final SearchWorkOrder? workOrder;
|
|
||||||
//// //todo @delete
|
|
||||||
// const CreateSubWorkOrderPage({this.workOrder, Key? key}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// State<CreateSubWorkOrderPage> createState() => _CreateSubWorkOrderPageState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
|
|
||||||
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
|
||||||
// late SearchWorkOrder _subWorkOrders;
|
|
||||||
// late ServiceReport _serviceReport;
|
|
||||||
// late PartsProvider _partsProvider;
|
|
||||||
// final List<File> _files = [];
|
|
||||||
// List<SparePart> _spareParts = [];
|
|
||||||
// bool _isLoading = false;
|
|
||||||
// bool _showVendorFields = false;
|
|
||||||
// SuppEngineerWorkOrders? engineer;
|
|
||||||
// SupplierDetails? initialSupplier;
|
|
||||||
// final TextEditingController _workPreformedController = TextEditingController();
|
|
||||||
// final TextEditingController _partQtyController = TextEditingController();
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void initState() {
|
|
||||||
// _subWorkOrders = SearchWorkOrder(
|
|
||||||
// assignedEmployee: widget.workOrder?.callRequest?.assignedEmployee,
|
|
||||||
// callRequest: CallRequest(id: widget.workOrder?.callRequest?.id),
|
|
||||||
// currentSituation: null,
|
|
||||||
// supplier: null,
|
|
||||||
// parentWOId: widget.workOrder?.id,
|
|
||||||
// );
|
|
||||||
// _serviceReport = ServiceReport(id: widget.workOrder?.id, assetType: widget.workOrder?.assetType, equipmentStatus: widget.workOrder?.equipmentStatus);
|
|
||||||
// _isLoading = true;
|
|
||||||
// super.initState();
|
|
||||||
// if (context.mounted) {
|
|
||||||
// Provider.of<ServiceReportAssistantsEmployeeProvider>(context, listen: false).reset();
|
|
||||||
// Provider.of<ReasonProvider>(context, listen: false).reset();
|
|
||||||
// Provider.of<ReasonProvider>(context, listen: false).serviceRequestId = widget.workOrder?.callRequest!.id.toString();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// late ServiceStatusProvider assetTypesProvider;
|
|
||||||
// CallRequest? _callRequestForWorkOrder;
|
|
||||||
//
|
|
||||||
// Future getAssetType() async {
|
|
||||||
// Provider.of<ServiceReportLastCallsProvider>(context, listen: false).reset();
|
|
||||||
// final serviceRequestProvider = Provider.of<ServiceRequestsProvider>(context);
|
|
||||||
// Provider.of<ServiceRequestFaultDescriptionProvider>(context, listen: false).reset();
|
|
||||||
// assetTypesProvider = Provider.of<ServiceStatusProvider>(context, listen: false);
|
|
||||||
// _callRequestForWorkOrder = await serviceRequestProvider.getCallRequestForWorkOrder(callId: widget.workOrder!.callRequest!.id!.toString());
|
|
||||||
// if (_subWorkOrders.parentWOId != null) {
|
|
||||||
// ServiceReport? subWoDetails = await serviceRequestProvider.getSubWorkOrderDetails(parentId: _subWorkOrders.parentWOId.toString());
|
|
||||||
// if (subWoDetails != null) {
|
|
||||||
// _subWorkOrders.copyDetails(subWoDetails);
|
|
||||||
// _serviceReport.equipmentStatus = subWoDetails.equipmentStatus;
|
|
||||||
// _serviceReport.reason = subWoDetails.reason;
|
|
||||||
// initialSupplier = subWoDetails.supplier;
|
|
||||||
// _serviceReport.faultDescription = subWoDetails.faultDescription;
|
|
||||||
// _subWorkOrders.visitDate = subWoDetails.visitDate;
|
|
||||||
// _subWorkOrders.sparePartsWorkOrders = subWoDetails.sparePartsWorkOrders;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// await assetTypesProvider.getTypes();
|
|
||||||
// _subWorkOrders.assetType = assetTypesProvider.statuses?.firstWhere(
|
|
||||||
// (element) => element.value == _callRequestForWorkOrder?.assetType,
|
|
||||||
// orElse: null,
|
|
||||||
// );
|
|
||||||
// if (checkVendorFieldsVisibility(_subWorkOrders.calllastSituation)) {
|
|
||||||
// if (_subWorkOrders.suppEngineerWorkOrders?.isNotEmpty ?? false) {
|
|
||||||
// engineer = _subWorkOrders.suppEngineerWorkOrders?.last;
|
|
||||||
// engineer?.id = engineer?.supplierContactId;
|
|
||||||
// }
|
|
||||||
// _subWorkOrders.supplier ??= SupplierDetails(id: _subWorkOrders.supplier?.id);
|
|
||||||
// }
|
|
||||||
// _spareParts = await _partsProvider.getPartsList(assetId: widget.workOrder?.callRequest?.asset?.id);
|
|
||||||
// setState(() {
|
|
||||||
// _isLoading = false;
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Asset? loanAvailabilityAsset;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void dispose() {
|
|
||||||
// _workPreformedController.dispose();
|
|
||||||
// _partQtyController.dispose();
|
|
||||||
// super.dispose();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// final user = Provider.of<UserProvider>(context).user!;
|
|
||||||
// final isCurrentUserIsAssistantEmp = (user.userID != widget.workOrder?.assignedEmployee?.id);
|
|
||||||
// if (isCurrentUserIsAssistantEmp) {
|
|
||||||
// // _subWorkOrders.assistantEmployees = [widget.workOrder.assistantEmployees?.first?.copyWith(id: 0)];
|
|
||||||
// _subWorkOrders.assistantEmployees = [AssistantEmployees(id: 0, user: AssignedEmployee(id: user.userID, name: user.username))];
|
|
||||||
// } else {}
|
|
||||||
// if (_callRequestForWorkOrder == null) {
|
|
||||||
// _partsProvider = Provider.of<PartsProvider>(context);
|
|
||||||
// getAssetType();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// bool disablePart = _subWorkOrders.calllastSituation?.value == 12;
|
|
||||||
//
|
|
||||||
// return Scaffold(
|
|
||||||
// appBar: DefaultAppBar(title: context.translation.createSubWorkOrder),
|
|
||||||
// body: SafeArea(
|
|
||||||
// child: _isLoading
|
|
||||||
// ? const ALoading()
|
|
||||||
// : Column(
|
|
||||||
// children: [
|
|
||||||
// SingleChildScrollView(
|
|
||||||
// child: Form(
|
|
||||||
// key: _formKey,
|
|
||||||
// child: Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
||||||
// children: [
|
|
||||||
// Card(
|
|
||||||
// child: Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
||||||
// children: [
|
|
||||||
// (widget.workOrder?.callRequest?.asset?.site?.custName ?? "").heading5(context),
|
|
||||||
// 8.height,
|
|
||||||
// "${context.translation.assetNo}: ${widget.workOrder?.callRequest?.asset?.assetNumber ?? ""}".bodyText(context),
|
|
||||||
// "${context.translation.callId}: ${widget.workOrder?.callRequest?.id}".bodyText(context),
|
|
||||||
// ],
|
|
||||||
// ).paddingAll(16),
|
|
||||||
// ),
|
|
||||||
// // WorkOrderDetails(item: widget.workOrder, assetType: _subWorkOrders?.assetType),
|
|
||||||
// 8.height,
|
|
||||||
// ADatePicker(
|
|
||||||
// label: context.translation.returnToService,
|
|
||||||
// date: DateTime.tryParse(_subWorkOrders.visitDate ?? ""),
|
|
||||||
// formatDateWithTime: true,
|
|
||||||
// onDatePicker: (selectedDate) {
|
|
||||||
// showTimePicker(
|
|
||||||
// context: context,
|
|
||||||
// initialTime: TimeOfDay.now(),
|
|
||||||
// ).then((selectedTime) {
|
|
||||||
// if (selectedTime != null) {
|
|
||||||
// DateTime selectedDateTime = DateTime(
|
|
||||||
// selectedDate.year,
|
|
||||||
// selectedDate.month,
|
|
||||||
// selectedDate.day,
|
|
||||||
// selectedTime.hour,
|
|
||||||
// selectedTime.minute,
|
|
||||||
// );
|
|
||||||
// if (_subWorkOrders.visitDate != null && selectedDateTime.isBefore(DateTime.parse(_subWorkOrders.visitDate!))) {
|
|
||||||
// "Visit Date time must be greater then previous date".showToast;
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// setState(() {
|
|
||||||
// _subWorkOrders.visitDate = selectedDateTime.toIso8601String();
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// AppTimer(
|
|
||||||
// label: context.translation.workingHours,
|
|
||||||
// timer: _subWorkOrders.timer,
|
|
||||||
// enabled: _subWorkOrders.timer?.endAt == null,
|
|
||||||
// onChange: (timer) async {
|
|
||||||
// _subWorkOrders.timer = timer;
|
|
||||||
// if (timer.startAt != null && timer.endAt != null) {
|
|
||||||
// if (timer.durationInSecond != 0) {
|
|
||||||
// _subWorkOrders.workingHours = num.tryParse((((timer.durationInSecond ?? 0) / 60) / 60).toStringAsFixed(2) ?? "0");
|
|
||||||
// } else {
|
|
||||||
// timer.durationInSecond = (timer.endAt!.difference(timer.startAt!)).inSeconds;
|
|
||||||
// String workingHours = (((timer.durationInSecond ?? 0) / 60) / 60).toStringAsFixed(2);
|
|
||||||
// _subWorkOrders.workingHours = num.tryParse(workingHours ?? "0");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return true;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// LoadingManager(
|
|
||||||
// isLoading: assetTypesProvider.isLoading,
|
|
||||||
// isFailedLoading: assetTypesProvider.statuses == null,
|
|
||||||
// stateCode: assetTypesProvider.stateCode,
|
|
||||||
// onRefresh: () async {
|
|
||||||
// assetTypesProvider.reset();
|
|
||||||
// await assetTypesProvider.getTypes();
|
|
||||||
// _subWorkOrders.assetType = assetTypesProvider.statuses?.firstWhere(
|
|
||||||
// (element) => element.value == _serviceReport.callRequest?.assetType,
|
|
||||||
// orElse: null,
|
|
||||||
// );
|
|
||||||
// },
|
|
||||||
// child: AppTextFormField(
|
|
||||||
// labelText: context.translation.assetType,
|
|
||||||
// initialValue: _subWorkOrders.assetType?.name,
|
|
||||||
// textAlign: TextAlign.center,
|
|
||||||
// enable: false,
|
|
||||||
// style: Theme.of(context).textTheme.titleMedium,
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// SingleItemDropDownMenu<Lookup, ReasonProvider>(
|
|
||||||
// context: context,
|
|
||||||
// title: context.translation.reason,
|
|
||||||
// initialValue: _subWorkOrders.reason,
|
|
||||||
// onSelect: (value) {
|
|
||||||
// if (value != null) {
|
|
||||||
// _subWorkOrders.reason = value;
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// SingleItemDropDownMenu<Lookup, EquipmentStatusProvider>(
|
|
||||||
// context: context,
|
|
||||||
// title: context.translation.equipmentStatus,
|
|
||||||
// initialValue: _subWorkOrders.equipmentStatus,
|
|
||||||
// onSelect: (value) {
|
|
||||||
// if (value != null) {
|
|
||||||
// _subWorkOrders.equipmentStatus = value;
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ServiceReportLastCallsMenu(
|
|
||||||
// report: _serviceReport,
|
|
||||||
// title: context.translation.callLastSituation,
|
|
||||||
// parentId: widget.workOrder?.id?.toString(),
|
|
||||||
// onSelect: (status) {
|
|
||||||
// _serviceReport.calllastSituation = status;
|
|
||||||
// if (checkVendorFieldsVisibility(status)) {
|
|
||||||
// _subWorkOrders.supplier ??= SupplierDetails(id: _subWorkOrders.supplier?.id);
|
|
||||||
// engineer = null;
|
|
||||||
// } else {
|
|
||||||
// _subWorkOrders.supplier = initialSupplier;
|
|
||||||
// }
|
|
||||||
// if (status?.value == 12 || _subWorkOrders.calllastSituation?.value == 12) {
|
|
||||||
// _subWorkOrders.calllastSituation = status;
|
|
||||||
// _subWorkOrders.mrNumber = null;
|
|
||||||
// } else {
|
|
||||||
// _subWorkOrders.calllastSituation = status;
|
|
||||||
// }
|
|
||||||
// setState(() {});
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// if (_subWorkOrders.calllastSituation?.value == 12) const SizedBox(height: 8),
|
|
||||||
// if (_subWorkOrders.calllastSituation?.value == 12)
|
|
||||||
// AppTextFormField(
|
|
||||||
// labelText: context.translation.mrNumber,
|
|
||||||
// initialValue: _subWorkOrders.mrNumber,
|
|
||||||
// onSaved: (value) {
|
|
||||||
// _subWorkOrders.mrNumber = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// if (_showVendorFields) const SizedBox(height: 8),
|
|
||||||
// if (_showVendorFields)
|
|
||||||
// SingleItemDropDownMenu<SupplierDetails, VendorProvider>(
|
|
||||||
// context: context,
|
|
||||||
// title: context.translation.supplier,
|
|
||||||
// initialValue: _subWorkOrders.supplier ?? initialSupplier,
|
|
||||||
// showAsBottomSheet: true,
|
|
||||||
// onSelect: (supplier) {
|
|
||||||
// if (supplier != null) {
|
|
||||||
// _subWorkOrders.supplier = supplier;
|
|
||||||
// // log(_subWorkOrders.supplier?.suppPersons?.map((e) => e.personName)?.toString());
|
|
||||||
// setState(() {});
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// if (_showVendorFields) const SizedBox(height: 8),
|
|
||||||
// if (_showVendorFields)
|
|
||||||
// Row(
|
|
||||||
// children: [
|
|
||||||
// SingleItemDropDownMenu<SuppPersons, NullableLoadingProvider>(
|
|
||||||
// context: context,
|
|
||||||
// title: context.translation.supplierEngineer,
|
|
||||||
// enabled: _subWorkOrders.supplier?.suppPersons?.isNotEmpty ?? false,
|
|
||||||
// staticData: _subWorkOrders.supplier?.suppPersons,
|
|
||||||
// showAsBottomSheet: true,
|
|
||||||
// initialValue: engineer == null ? null : SuppPersons.fromJson(engineer!.toJson()),
|
|
||||||
// onSelect: (suppPerson) {
|
|
||||||
// if (suppPerson != null) {
|
|
||||||
// engineer = SuppEngineerWorkOrders.fromJson(suppPerson.toJson());
|
|
||||||
// // engineer = SuppEngineerWorkOrders(
|
|
||||||
// // id: suppPerson?.supplierId,
|
|
||||||
// // supplierContactId: suppPerson?.id,
|
|
||||||
// // personName: suppPerson?.personName,
|
|
||||||
// // contact: suppPerson?.contact,
|
|
||||||
// // externalEngCode: suppPerson?.externalEngCode,
|
|
||||||
// // email: suppPerson?.email,
|
|
||||||
// // );
|
|
||||||
// setState(() {});
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ).expanded,
|
|
||||||
// 8.width,
|
|
||||||
// Container(
|
|
||||||
// height: 60.toScreenHeight,
|
|
||||||
// width: 60.toScreenWidth,
|
|
||||||
// decoration: BoxDecoration(
|
|
||||||
// color: _subWorkOrders.supplier?.suppliername == null ? AppColor.neutral40 : AppColor.background(context),
|
|
||||||
// borderRadius: BorderRadius.circular(10),
|
|
||||||
// boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)],
|
|
||||||
// ),
|
|
||||||
// child: Icon(
|
|
||||||
// Icons.add,
|
|
||||||
// color: context.isDark ? null : AppColor.neutral60,
|
|
||||||
// ),
|
|
||||||
// ).onPress(_subWorkOrders.supplier?.suppliername == null
|
|
||||||
// ? null
|
|
||||||
// : () async {
|
|
||||||
// SuppEngineerWorkOrders suppEngineer = (await showModalBottomSheet(
|
|
||||||
// context: context,
|
|
||||||
// useSafeArea: true,
|
|
||||||
// isScrollControlled: true,
|
|
||||||
// backgroundColor: Colors.transparent,
|
|
||||||
// builder: (context) => AddSupplierEngineerBottomSheet(_subWorkOrders.supplier!.id!.toInt()),
|
|
||||||
// )) as SuppEngineerWorkOrders;
|
|
||||||
// _subWorkOrders.supplier?.suppPersons ??= [];
|
|
||||||
// _subWorkOrders.supplier?.suppPersons?.add(SuppPersons.fromJson(suppEngineer.toJson()));
|
|
||||||
// engineer = suppEngineer;
|
|
||||||
// setState(() {});
|
|
||||||
// }),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ServiceReportFaultDescription(
|
|
||||||
// requestId: widget.workOrder?.callRequest?.id?.toString(),
|
|
||||||
// initialValue: _subWorkOrders.faultDescription,
|
|
||||||
// onSelect: (status) {
|
|
||||||
// _subWorkOrders.faultDescription = status;
|
|
||||||
// _workPreformedController.text = _subWorkOrders.faultDescription?.workPerformed ?? "";
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// AppTextFormField(
|
|
||||||
// labelText: context.translation.solution,
|
|
||||||
// initialValue: _subWorkOrders.faultDescription?.workPerformed,
|
|
||||||
// textAlign: TextAlign.center,
|
|
||||||
// enable: false,
|
|
||||||
// controller: _workPreformedController,
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>(
|
|
||||||
// context: context,
|
|
||||||
// title: context.translation.loanAvailability,
|
|
||||||
// initialValue: _subWorkOrders.loanAvailablity,
|
|
||||||
// onSelect: (status) {
|
|
||||||
// if (status != null) {
|
|
||||||
// setState(() {
|
|
||||||
// _subWorkOrders.loanAvailablity = status;
|
|
||||||
// if (_subWorkOrders.loanAvailablity?.value != 1) {
|
|
||||||
// loanAvailabilityAsset = null;
|
|
||||||
// _subWorkOrders.assetLoan = null;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// if (_subWorkOrders.loanAvailablity?.value == 1) 8.height,
|
|
||||||
// if (_subWorkOrders.loanAvailablity?.value == 1)
|
|
||||||
//
|
|
||||||
// PickAsset(
|
|
||||||
// device: loanAvailabilityAsset, // ?? _serviceReport.device,
|
|
||||||
// onPickAsset: (asset) {
|
|
||||||
// _subWorkOrders.assetLoan = AssetInfo.fromJson(asset.toJson());
|
|
||||||
// setState(() {
|
|
||||||
// loanAvailabilityAsset = asset;
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ServiceReportAssistantEmployeeMenu(
|
|
||||||
// title: context.translation.assignAssistant,
|
|
||||||
// assetId: widget.workOrder!.callRequest!.asset!.id!.toInt(),
|
|
||||||
//
|
|
||||||
// initialValue: (_subWorkOrders.assistantEmployees?.isNotEmpty ?? false) ? _subWorkOrders.assistantEmployees?.first : null,
|
|
||||||
// // initialValue: !isCurrentAssigned
|
|
||||||
// // ? (widget.workOrder.assistantEmployees?.first)
|
|
||||||
// // : (_subWorkOrders.assistantEmployees?.isNotEmpty ?? false)
|
|
||||||
// // ? _subWorkOrders.assistantEmployees?.first
|
|
||||||
// // : null,
|
|
||||||
// enable: !isCurrentUserIsAssistantEmp,
|
|
||||||
// onSelect: (employee) {
|
|
||||||
// if (employee == null) {
|
|
||||||
// _subWorkOrders.assistantEmployees = [];
|
|
||||||
// } else {
|
|
||||||
// _subWorkOrders.assistantEmployees = [employee.copyWith(id: 0)];
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ServiceReportRepairLocation(
|
|
||||||
// label: context.translation.repairLocation,
|
|
||||||
// initialValue: _subWorkOrders.repairLocation,
|
|
||||||
// onSelect: (status) {
|
|
||||||
// _subWorkOrders.repairLocation = status;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// PartNoButton(
|
|
||||||
// controller: _partQtyController,
|
|
||||||
// spareParts: _spareParts,
|
|
||||||
// disablePartEdit: disablePart,
|
|
||||||
// initialList: _subWorkOrders.sparePartsWorkOrders,
|
|
||||||
// onChange: (parts) {
|
|
||||||
// _subWorkOrders.sparePartsWorkOrders = parts;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// MultiFilesPicker(label: context.translation.attachImage, files: _files),
|
|
||||||
// 8.height,
|
|
||||||
// AppTextFormField(
|
|
||||||
// labelText: context.translation.travelingExpense,
|
|
||||||
// initialValue: _subWorkOrders.travelingExpenses?.toString(),
|
|
||||||
// textInputType: TextInputType.number,
|
|
||||||
// onSaved: (value) {
|
|
||||||
// _subWorkOrders.travelingExpenses = double.tryParse(value) ?? 0.0;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// AppTextFormField(
|
|
||||||
// labelText: context.translation.travelingHours,
|
|
||||||
// initialValue: _subWorkOrders.travelingHours?.toString(),
|
|
||||||
// textInputType: TextInputType.number,
|
|
||||||
// onSaved: (value) {
|
|
||||||
// _subWorkOrders.travelingHours = double.tryParse(value) ?? 0.0;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// AppTextFormField(
|
|
||||||
// initialValue: _subWorkOrders.comment,
|
|
||||||
// labelText: context.translation.technicalComment,
|
|
||||||
// alignLabelWithHint: true,
|
|
||||||
// textInputType: TextInputType.multiline,
|
|
||||||
// onSaved: (value) {
|
|
||||||
// _subWorkOrders.comment = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ESignature(
|
|
||||||
// title: context.translation.engSign,
|
|
||||||
// oldSignature: _subWorkOrders.engSignature,
|
|
||||||
// newSignature: _subWorkOrders.localEngSignature,
|
|
||||||
// // onChange: (signature) {
|
|
||||||
// // // if (signature == null || signature.isEmpty) {
|
|
||||||
// // // setState(() {});
|
|
||||||
// // // return;
|
|
||||||
// // // }
|
|
||||||
// // if (signature == null || signature.isEmpty) return;
|
|
||||||
// // _subWorkOrders.localEngSignature = signature;
|
|
||||||
// // _subWorkOrders.engSignature = signature != null ? "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}" : null;
|
|
||||||
// // print("_serviceReport.engSignature:${_serviceReport.engSignature}");
|
|
||||||
// // },
|
|
||||||
// onSaved: (signature) {
|
|
||||||
// if (signature == null || signature.isEmpty) {
|
|
||||||
// setState(() {});
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// if (signature.isEmpty) return;
|
|
||||||
// _subWorkOrders.localEngSignature = signature;
|
|
||||||
// _subWorkOrders.engSignature = signature != null ? "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}" : null;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ESignature(
|
|
||||||
// title: context.translation.nurseSignature,
|
|
||||||
// oldSignature: _subWorkOrders.nurseSignature,
|
|
||||||
// newSignature: _subWorkOrders.localNurseSignature,
|
|
||||||
// onSaved: (signature) {
|
|
||||||
// // if (signature == null || signature.isEmpty) {
|
|
||||||
// // setState(() {});
|
|
||||||
// // return;
|
|
||||||
// // }
|
|
||||||
// if (signature == null || signature.isEmpty) return;
|
|
||||||
// _subWorkOrders.localNurseSignature = signature;
|
|
||||||
// _subWorkOrders.nurseSignature = signature != null ? "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}" : null;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 16.height,
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ).paddingAll(16).expanded,
|
|
||||||
// AppFilledButton(
|
|
||||||
// label: context.translation.submitRequest,
|
|
||||||
// onPressed: () async {
|
|
||||||
// setState(() {});
|
|
||||||
// _subWorkOrders.suppEngineerWorkOrders = [];
|
|
||||||
// if (engineer != null) {
|
|
||||||
// _subWorkOrders.suppEngineerWorkOrders!.add(engineer!);
|
|
||||||
// }
|
|
||||||
// // return;
|
|
||||||
// if (await validate()) {
|
|
||||||
// _subWorkOrders.attachmentsWorkOrder ??= [];
|
|
||||||
// for (var file in _files) {
|
|
||||||
// _subWorkOrders.attachmentsWorkOrder!.add(Attachment(id: 0, name: "${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}"));
|
|
||||||
// }
|
|
||||||
// if (_formKey.currentState?.validate() ?? false) {}
|
|
||||||
// _formKey.currentState?.save();
|
|
||||||
// final serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context, listen: false);
|
|
||||||
// for (var element in (_subWorkOrders.suppEngineerWorkOrders ?? [])) {
|
|
||||||
// if (element != null && element.id != 0) {
|
|
||||||
// element.supplierContactId = element.id;
|
|
||||||
// element.id = 0;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
|
|
||||||
// final status = await serviceRequestsProvider.createSubWorkOrder(workOrder: _subWorkOrders, makeSuppPersonsEmpty: true);
|
|
||||||
// Navigator.of(context).pop();
|
|
||||||
// if (status >= 200 && status < 300) {
|
|
||||||
// Fluttertoast.showToast(msg: context.translation.successfulRequestMessage);
|
|
||||||
// Navigator.of(context).pop();
|
|
||||||
// } else {
|
|
||||||
// String errorMessage = HttpStatusManger.getStatusMessage(status: serviceRequestsProvider.stateCode, subtitle: context.translation);
|
|
||||||
// ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text(errorMessage)));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ).paddingAll(16),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// bool checkVendorFieldsVisibility(Lookup? callsLastSituation) {
|
|
||||||
// bool result = (initialSupplier?.suppliername?.isNotEmpty ?? false) ||
|
|
||||||
// (callsLastSituation?.name?.toLowerCase().contains("under repair-vendor") ?? false) ||
|
|
||||||
// (callsLastSituation?.name?.toLowerCase().contains("waiting for vendor") ?? false);
|
|
||||||
// setState(() {
|
|
||||||
// _showVendorFields = result;
|
|
||||||
// });
|
|
||||||
// return result;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Future<bool> validate() async {
|
|
||||||
// if (_subWorkOrders.reason == null) {
|
|
||||||
// Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.reason}");
|
|
||||||
// return false;
|
|
||||||
// } else if (_subWorkOrders.equipmentStatus == null) {
|
|
||||||
// Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.equipmentStatus}");
|
|
||||||
// return false;
|
|
||||||
// } else if (_subWorkOrders.calllastSituation == null) {
|
|
||||||
// Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.callLastSituation}");
|
|
||||||
// return false;
|
|
||||||
// } else if (_showVendorFields && _subWorkOrders.suppEngineerWorkOrders == null) {
|
|
||||||
// Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.supplierEngineer}");
|
|
||||||
// return false;
|
|
||||||
// } else if (_showVendorFields && (_subWorkOrders.supplier?.suppliername?.isEmpty ?? true)) {
|
|
||||||
// Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.supplier}");
|
|
||||||
// return false;
|
|
||||||
// } else if (_subWorkOrders.calllastSituation!.value == 12 && (_subWorkOrders.sparePartsWorkOrders?.isEmpty ?? true)) {
|
|
||||||
// Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.partNo}");
|
|
||||||
// return false;
|
|
||||||
// } else if (_subWorkOrders.timer?.startAt == null) {
|
|
||||||
// await Fluttertoast.showToast(msg: "Working Hours Required");
|
|
||||||
// return false;
|
|
||||||
// } else if (_subWorkOrders.timer?.endAt == null) {
|
|
||||||
// await Fluttertoast.showToast(msg: "Please Stop The Timer");
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,437 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'dart:io';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:flutter/services.dart';
|
|
||||||
// import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/notification/firebase_notification_manger.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/new_views/pages/gas_refill_request_form.dart';
|
|
||||||
// import 'package:test_sa/views/app_style/sizing.dart';
|
|
||||||
// import 'package:test_sa/views/pages/device_transfer/track_device_transfer.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/gas_refill/track_gas_refill.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/ppm/ppm_page.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/requests/create_service_request_page.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/dialogs/dialog.dart';
|
|
||||||
//
|
|
||||||
// import '../../../models/enums/user_types.dart';
|
|
||||||
// import '../../widgets/land_page/land_page_item.dart';
|
|
||||||
// import '../device_transfer/create_device_transfer_request.dart';
|
|
||||||
// import 'requests/requests_page.dart';
|
|
||||||
//
|
|
||||||
// @Deprecated("Use the page which is inside the [new_views/pages/land_page] folder")
|
|
||||||
// class LandPage extends StatefulWidget {
|
|
||||||
// static const String id = "/old-land-page";
|
|
||||||
//
|
|
||||||
// const LandPage({Key? key}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// State<LandPage> createState() => _LandPageState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _LandPageState extends State<LandPage> {
|
|
||||||
// double _height;
|
|
||||||
// double _width;
|
|
||||||
// UserProvider _userProvider;
|
|
||||||
// SettingProvider _settingProvider;
|
|
||||||
//
|
|
||||||
// // DepartmentsProvider _departmentsProvider;
|
|
||||||
// // DevicesProvider _devicesProvider;
|
|
||||||
// double _buttonHeight;
|
|
||||||
// bool firstTime = true;
|
|
||||||
//
|
|
||||||
// // ServiceRequestsProvider _serviceRequestsProvider;
|
|
||||||
// // PreventiveMaintenanceVisitsProvider _preventiveMaintenanceVisitsProvider;
|
|
||||||
// // RegularVisitsProvider _regularVisitsProvider;
|
|
||||||
// final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void initState() {
|
|
||||||
// WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
|
|
||||||
// try {
|
|
||||||
// FirebaseNotificationManger.initialized(context);
|
|
||||||
// } catch (error) {}
|
|
||||||
// });
|
|
||||||
// super.initState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// String path = ModalRoute.of(context).settings.arguments;
|
|
||||||
// _height = MediaQuery.of(context).size.height;
|
|
||||||
// _width = MediaQuery.of(context).size.width;
|
|
||||||
// _settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
// _userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// // _departmentsProvider = Provider.of<DepartmentsProvider>(context);
|
|
||||||
// // _devicesProvider = Provider.of<DevicesProvider>(context);
|
|
||||||
// // _serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
|
|
||||||
// // _preventiveMaintenanceVisitsProvider = Provider.of<PreventiveMaintenanceVisitsProvider>(context);
|
|
||||||
// // _regularVisitsProvider = Provider.of<RegularVisitsProvider>(context);
|
|
||||||
// //
|
|
||||||
// if (firstTime) {
|
|
||||||
// if (path != null) {
|
|
||||||
// Navigator.of(context).pushNamed("/" + path.split("/").first, arguments: path.split("/").last);
|
|
||||||
// }
|
|
||||||
// firstTime = false;
|
|
||||||
// }
|
|
||||||
// _buttonHeight = 68 * AppStyle.getScaleFactor(context);
|
|
||||||
// return WillPopScope(
|
|
||||||
// onWillPop: () async {
|
|
||||||
// bool result = await showDialog(
|
|
||||||
// context: context,
|
|
||||||
// builder: (_) => AAlertDialog(
|
|
||||||
// // title: _subtitle.exit,
|
|
||||||
// title: context.translation.exit,
|
|
||||||
// // content: _subtitle.exitAlert,
|
|
||||||
// content: context.translation.sureExit,
|
|
||||||
// ));
|
|
||||||
// if (result == true) {
|
|
||||||
// if (Platform.isAndroid) {
|
|
||||||
// SystemChannels.platform.invokeMethod('SystemNavigator.pop');
|
|
||||||
// } else {
|
|
||||||
// exit(0);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return false;
|
|
||||||
// },
|
|
||||||
// child: Scaffold(
|
|
||||||
// key: _scaffoldKey, //backgroundColor: Color(0xffF8F8F8),
|
|
||||||
// body: SafeArea(
|
|
||||||
// child: Stack(
|
|
||||||
// children: [
|
|
||||||
// ListView(
|
|
||||||
// padding: const EdgeInsets.all(16.0),
|
|
||||||
// children: [
|
|
||||||
// //AppNameBar(),
|
|
||||||
// // SizedBox(
|
|
||||||
// // height: _height/3.2,
|
|
||||||
// // width: _width,
|
|
||||||
// // child: CarouselSlider.builder(
|
|
||||||
// // options: CarouselOptions(
|
|
||||||
// // height: _height/3,
|
|
||||||
// // autoPlay: true,
|
|
||||||
// // viewportFraction: 1
|
|
||||||
// // ),
|
|
||||||
// // itemCount: 4,
|
|
||||||
// // itemBuilder: (BuildContext context, int itemIndex, int pageViewIndex) =>
|
|
||||||
// // Image(
|
|
||||||
// // //width: _width,
|
|
||||||
// // image: AssetImage("assets/images/$itemIndex.png"),
|
|
||||||
// // fit: BoxFit.cover,
|
|
||||||
// // )
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// // SizedBox(
|
|
||||||
// // height: 48 * AppStyle.getScaleFactor(context),
|
|
||||||
// // ),
|
|
||||||
// // Hero(
|
|
||||||
// // tag: "logo",
|
|
||||||
// // child: Image(
|
|
||||||
// // height: _height / 6,
|
|
||||||
// // image: const AssetImage("assets/images/logo.png"),
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// GridView.count(
|
|
||||||
// shrinkWrap: true,
|
|
||||||
// physics: const ClampingScrollPhysics(),
|
|
||||||
// crossAxisCount: 2,
|
|
||||||
// crossAxisSpacing: 12,
|
|
||||||
// mainAxisSpacing: 12,
|
|
||||||
// childAspectRatio: 1,
|
|
||||||
// children: [
|
|
||||||
// if (_userProvider.user != null && _userProvider.user.type == UsersTypes.normal_user)
|
|
||||||
// LandPageItem(
|
|
||||||
// // text: _subtitle.newServiceRequest,
|
|
||||||
// text: context.translation.newServiceRequest,
|
|
||||||
// icon: FontAwesomeIcons.screwdriverWrench,
|
|
||||||
// onPressed: () {
|
|
||||||
// Navigator.of(context).pushNamed(CreateServiceRequestPage.id);
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// LandPageItem(
|
|
||||||
// // text: _subtitle.trackServiceRequest,
|
|
||||||
// text: context.translation.trackServiceRequest,
|
|
||||||
// icon: FontAwesomeIcons.listCheck,
|
|
||||||
// onPressed: () {
|
|
||||||
// Navigator.of(context).pushNamed(ServiceRequestsPage.id);
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// //if (_userProvider.user.type == UsersTypes.engineer)
|
|
||||||
// LandPageItem(
|
|
||||||
// // text: _subtitle.preventiveMaintenance,
|
|
||||||
// text: context.translation.preventiveMaintenance,
|
|
||||||
// icon: FontAwesomeIcons.personWalking,
|
|
||||||
// onPressed: () {
|
|
||||||
// Navigator.of(context).pushNamed(PpmPage.id);
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// //if (_userProvider.user.type == UsersTypes.engineer)
|
|
||||||
// // LandPageItem(
|
|
||||||
// // text: _subtitle.preventiveMaintenance,
|
|
||||||
// // icon: FontAwesomeIcons.toolbox,
|
|
||||||
// // onPressed: (){
|
|
||||||
// // Navigator.of(context).pushNamed(PreventiveMaintenanceVisitsPage.id);
|
|
||||||
// // },
|
|
||||||
// // ),
|
|
||||||
// if (_userProvider?.user != null && _userProvider?.user?.type != UsersTypes.engineer)
|
|
||||||
// LandPageItem(
|
|
||||||
// text: context.translation.requestGasRefill,
|
|
||||||
// icon: FontAwesomeIcons.truckFast,
|
|
||||||
// onPressed: () {
|
|
||||||
// // Navigator.of(context).pushNamed(RequestGasRefill.id);
|
|
||||||
// Navigator.of(context).pushNamed(NewGasRefillRequestPage.routeName);
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// LandPageItem(
|
|
||||||
// text: context.translation.trackGasRefill,
|
|
||||||
// icon: Icons.content_paste_search,
|
|
||||||
// onPressed: () {
|
|
||||||
// Navigator.of(context).pushNamed(TrackGasRefillPage.id);
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// LandPageItem(
|
|
||||||
// text: context.translation.deviceTransfer,
|
|
||||||
// icon: FontAwesomeIcons.rightLeft,
|
|
||||||
// onPressed: () {
|
|
||||||
// Navigator.of(context).pushNamed(RequestDeviceTransfer.id);
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// LandPageItem(
|
|
||||||
// text: context.translation.trackAssetTransfer,
|
|
||||||
// icon: FontAwesomeIcons.peopleCarryBox,
|
|
||||||
// onPressed: () {
|
|
||||||
// Navigator.of(context).pushNamed(TrackDeviceTransferPage.id);
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// // if (_userProvider?.user != null && _userProvider?.user?.type != UsersTypes.normal_user)
|
|
||||||
// // LandPageItem(
|
|
||||||
// // text: "Create Sub Work Order",
|
|
||||||
// // svgPath: "assets/images/sub_workorder_icon.svg",
|
|
||||||
// // onPressed: () {
|
|
||||||
// // Navigator.of(context).pushNamed(SearchSubWorkOrderPage.id);
|
|
||||||
// // },
|
|
||||||
// // ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// // Align(
|
|
||||||
// // alignment: Alignment.topLeft,
|
|
||||||
// // child: ABackButton(
|
|
||||||
// // icon: Icons.power_settings_new_rounded,
|
|
||||||
// // onPressed: () async {
|
|
||||||
// // bool result = await showDialog(
|
|
||||||
// // context: context,
|
|
||||||
// // builder: (_) => const AAlertDialog(
|
|
||||||
// // // title: _subtitle.signOut,
|
|
||||||
// // title: "Sign Out",
|
|
||||||
// // // content: _subtitle.signOutAlert,
|
|
||||||
// // content: "Are you sure you want to exit?",
|
|
||||||
// // ));
|
|
||||||
// // if (result) {
|
|
||||||
// // // _devicesProvider.reset();
|
|
||||||
// // // _departmentsProvider.reset();
|
|
||||||
// // // _serviceRequestsProvider.reset();
|
|
||||||
// // // _regularVisitsProvider.reset();
|
|
||||||
// // // _preventiveMaintenanceVisitsProvider.reset();
|
|
||||||
// // _settingProvider.resetSettings();
|
|
||||||
// // _userProvider.reset();
|
|
||||||
// // Navigator.of(context).pop();
|
|
||||||
// // }
|
|
||||||
// // },
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// // Align(
|
|
||||||
// // alignment: Alignment.topRight,
|
|
||||||
// // child: Padding(
|
|
||||||
// // padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
|
|
||||||
// // child: AIconButton(
|
|
||||||
// // iconData: Icons.menu,
|
|
||||||
// // color: AColors.primaryColor,
|
|
||||||
// // buttonSize: 42,
|
|
||||||
// // backgroundColor: AColors.white,
|
|
||||||
// // onPressed: () {
|
|
||||||
// // _scaffoldKey.currentState.openEndDrawer();
|
|
||||||
// // },
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// // endDrawer: Drawer(
|
|
||||||
// // backgroundColor: Colors.white,
|
|
||||||
// // child: Column(
|
|
||||||
// // children: [
|
|
||||||
// // 40.height,
|
|
||||||
// // Row(
|
|
||||||
// // mainAxisAlignment: MainAxisAlignment.end,
|
|
||||||
// // children: [
|
|
||||||
// // const Icon(Icons.clear).onPress(() => Navigator.pop(context)),
|
|
||||||
// // ],
|
|
||||||
// // ).paddingOnly(start: 4, end: 14),
|
|
||||||
// // Row(
|
|
||||||
// // children: [
|
|
||||||
// // Container(
|
|
||||||
// // height: 50 * AppStyle.getScaleFactor(context),
|
|
||||||
// // width: 50 * AppStyle.getScaleFactor(context),
|
|
||||||
// // padding: EdgeInsets.all(4),
|
|
||||||
// // decoration: BoxDecoration(border: Border.all(color: Theme.of(context).primaryColor, width: 2), shape: BoxShape.circle),
|
|
||||||
// // child: ClipOval(
|
|
||||||
// // child: ClipOval(
|
|
||||||
// // child: Icon(
|
|
||||||
// // Icons.person,
|
|
||||||
// // size: 36,
|
|
||||||
// // color: Theme.of(context).colorScheme.primary,
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// // 12.width,
|
|
||||||
// // Text(
|
|
||||||
// // _userProvider.user?.userName ?? "??",
|
|
||||||
// // style: Theme.of(context).textTheme.headline6.copyWith(
|
|
||||||
// // fontWeight: FontWeight.w600,
|
|
||||||
// // ),
|
|
||||||
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
|
||||||
// // ).expanded
|
|
||||||
// // ],
|
|
||||||
// // ).paddingOnly(start: 14, end: 14, top: 21, bottom: 21),
|
|
||||||
// // Divider(
|
|
||||||
// // height: 1,
|
|
||||||
// // thickness: 1,
|
|
||||||
// // color: AColors.greyEF,
|
|
||||||
// // ),
|
|
||||||
// // ListView(
|
|
||||||
// // children: [
|
|
||||||
// // Row(
|
|
||||||
// // children: [
|
|
||||||
// // Radio(
|
|
||||||
// // value: "en",
|
|
||||||
// // activeColor: AColors.grey3A,
|
|
||||||
// // focusColor: AColors.grey3A,
|
|
||||||
// // groupValue: _settingProvider.language,
|
|
||||||
// // onChanged: (value) {
|
|
||||||
// // _settingProvider.setLanguage(value);
|
|
||||||
// // }),
|
|
||||||
// // Text(
|
|
||||||
// // "English",
|
|
||||||
// // style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
|
|
||||||
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
|
||||||
// // ),
|
|
||||||
// // Radio(
|
|
||||||
// // value: "ar",
|
|
||||||
// // activeColor: AColors.grey3A,
|
|
||||||
// // focusColor: AColors.grey3A,
|
|
||||||
// // groupValue: _settingProvider.language,
|
|
||||||
// // onChanged: (value) {
|
|
||||||
// // _settingProvider.setLanguage(value);
|
|
||||||
// // }),
|
|
||||||
// // Text(
|
|
||||||
// // "عربي",
|
|
||||||
// // style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
|
|
||||||
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
|
||||||
// // ),
|
|
||||||
// // ],
|
|
||||||
// // ),
|
|
||||||
// // Row(
|
|
||||||
// // children: [
|
|
||||||
// // Radio(
|
|
||||||
// // value: true,
|
|
||||||
// // activeColor: AColors.grey3A,
|
|
||||||
// // focusColor: AColors.grey3A,
|
|
||||||
// // groupValue: _settingProvider.language,
|
|
||||||
// // onChanged: (value) {
|
|
||||||
// // _settingProvider.setDarkTheme(value);
|
|
||||||
// // }),
|
|
||||||
// // Text(
|
|
||||||
// // "Dark",
|
|
||||||
// // style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
|
|
||||||
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
|
||||||
// // ),
|
|
||||||
// // Radio(
|
|
||||||
// // value: false,
|
|
||||||
// // activeColor: AColors.grey3A,
|
|
||||||
// // focusColor: AColors.grey3A,
|
|
||||||
// // groupValue: _settingProvider.language,
|
|
||||||
// // onChanged: (value) {
|
|
||||||
// // _settingProvider.setDarkTheme(value);
|
|
||||||
// // }),
|
|
||||||
// // Text(
|
|
||||||
// // "Light",
|
|
||||||
// // style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
|
|
||||||
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
|
||||||
// // ),
|
|
||||||
// // ],
|
|
||||||
// // ),
|
|
||||||
// // // DrawerItem(
|
|
||||||
// // // icon: Icons.notifications,
|
|
||||||
// // // title: _subtitle.notifications,
|
|
||||||
// // // onPressed: () {
|
|
||||||
// // // Navigator.of(context).pushNamed(NotificationsPage.id);
|
|
||||||
// // // },
|
|
||||||
// // // ),
|
|
||||||
// // DrawerItem(
|
|
||||||
// // icon: Icons.mail,
|
|
||||||
// // // title: _subtitle.email,
|
|
||||||
// // title: "Email",
|
|
||||||
// // onPressed: () {
|
|
||||||
// // launch("mailto:customerservice@Test SA.com");
|
|
||||||
// // },
|
|
||||||
// // ),
|
|
||||||
// // // DrawerItem(
|
|
||||||
// // // icon: Icons.phone_in_talk,
|
|
||||||
// // // title: "${_subtitle.hotLine} 15564",
|
|
||||||
// // // onPressed: () {
|
|
||||||
// // // launch("tel:15564");
|
|
||||||
// // // },
|
|
||||||
// // // ),
|
|
||||||
// // // DrawerItem(
|
|
||||||
// // // icon: FontAwesomeIcons.linkedinIn,
|
|
||||||
// // // title: _subtitle.linkedIn,
|
|
||||||
// // // onPressed: () {
|
|
||||||
// // // launch("https://www.linkedin.com/company/Test SA/");
|
|
||||||
// // // },
|
|
||||||
// // // ),
|
|
||||||
// // // DrawerItem(
|
|
||||||
// // // icon: FontAwesomeIcons.globe,
|
|
||||||
// // // title: _subtitle.ourWebsite,
|
|
||||||
// // // onPressed: () {
|
|
||||||
// // // launch("https://www.Test SA.com/");
|
|
||||||
// // // },
|
|
||||||
// // // ),
|
|
||||||
// // DrawerItem(
|
|
||||||
// // icon: Icons.share,
|
|
||||||
// // // title: _subtitle.shareApp,
|
|
||||||
// // title: "Share App",
|
|
||||||
// // onPressed: () async {
|
|
||||||
// // PackageInfo packageInfo = await PackageInfo.fromPlatform();
|
|
||||||
// // String shareLink = "\n https://play.google.com/store/apps/details?id=" + packageInfo.packageName + "\n https://apps.apple.com/us/app/";
|
|
||||||
// // Share.share(shareLink);
|
|
||||||
// // },
|
|
||||||
// // ),
|
|
||||||
// // ],
|
|
||||||
// // ).expanded,
|
|
||||||
// // Divider(height: 1, thickness: 1, color: AColors.greyEF),
|
|
||||||
// // Row(
|
|
||||||
// // mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
// // children: [
|
|
||||||
// // Text(
|
|
||||||
// // "Powered By Cloud Solutions",
|
|
||||||
// // style: Theme.of(context).textTheme.headline6.copyWith(fontWeight: FontWeight.w500, color: AColors.grey3A, fontSize: 12),
|
|
||||||
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
|
||||||
// // ),
|
|
||||||
// // 6.width,
|
|
||||||
// // Image.asset("assets/images/cloud_logo.png", width: 32, height: 32)
|
|
||||||
// // ],
|
|
||||||
// // ).paddingOnly(start: 20, end: 20, top: 8, bottom: 8),
|
|
||||||
// // ],
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,241 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/string_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/text_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/device/asset.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_request.dart';
|
|
||||||
//
|
|
||||||
// import '../../../../controllers/providers/api/service_requests_provider.dart';
|
|
||||||
// import '../../../../models/lookup.dart';
|
|
||||||
// import '../../../../new_views/app_style/app_color.dart';
|
|
||||||
// import '../../../../new_views/common_widgets/app_filled_button.dart';
|
|
||||||
// import '../../../../new_views/common_widgets/app_text_form_field.dart';
|
|
||||||
// import '../../../../new_views/common_widgets/single_item_drop_down_menu.dart';
|
|
||||||
// import '../../../../providers/service_request_providers/first_action_provider.dart';
|
|
||||||
// import '../../../widgets/date_and_time/date_picker.dart';
|
|
||||||
//
|
|
||||||
// class FirstActionBottomSheet extends StatefulWidget {
|
|
||||||
// final ServiceRequest request;
|
|
||||||
// todo @delete
|
|
||||||
// const FirstActionBottomSheet({Key? key, required this.request}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// State<FirstActionBottomSheet> createState() => _FirstActionBottomSheetState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _FirstActionBottomSheetState extends State<FirstActionBottomSheet> {
|
|
||||||
// late ServiceRequest _serviceRequest;
|
|
||||||
// Asset? asset;
|
|
||||||
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
|
||||||
//
|
|
||||||
// Lookup? firstAction;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void initState() {
|
|
||||||
// super.initState();
|
|
||||||
// _serviceRequest = widget.request;
|
|
||||||
// firstAction = _serviceRequest.firstAction;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// final userProvider = Provider.of<UserProvider>(context, listen: false);
|
|
||||||
// return Wrap(
|
|
||||||
// children: [
|
|
||||||
// Container(
|
|
||||||
// clipBehavior: Clip.antiAlias,
|
|
||||||
// margin: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
|
|
||||||
// decoration: BoxDecoration(
|
|
||||||
// color: Theme.of(context).scaffoldBackgroundColor,
|
|
||||||
// borderRadius: const BorderRadius.only(topRight: Radius.circular(20), topLeft: Radius.circular(20)),
|
|
||||||
// ),
|
|
||||||
// padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 8.toScreenHeight),
|
|
||||||
// child: Form(
|
|
||||||
// key: _formKey,
|
|
||||||
// child: SingleChildScrollView(
|
|
||||||
// child: Column(
|
|
||||||
// children: [
|
|
||||||
// Container(
|
|
||||||
// width: 40.toScreenWidth,
|
|
||||||
// height: 5.toScreenHeight,
|
|
||||||
// decoration: BoxDecoration(color: AppColor.neutral40, borderRadius: BorderRadius.circular(30)),
|
|
||||||
// ),
|
|
||||||
// Align(
|
|
||||||
// alignment: AlignmentDirectional.centerStart,
|
|
||||||
// child: context.translation.firstAction.heading3(context).custom(fontWeight: FontWeight.w600).paddingOnly(top: 16, bottom: 16),
|
|
||||||
// ),
|
|
||||||
// SingleItemDropDownMenu<Lookup, FirstActionStatusProvider>(
|
|
||||||
// context: context,
|
|
||||||
// title: context.translation.firstActionStatus,
|
|
||||||
// initialValue: firstAction, //_serviceRequest.firstAction,
|
|
||||||
// onSelect: (value) {
|
|
||||||
// setState(() {
|
|
||||||
// //_serviceRequest.firstAction = value;
|
|
||||||
// firstAction = value;
|
|
||||||
// if (firstAction?.value != 2) {
|
|
||||||
// _serviceRequest.visitDate = null;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// if (firstAction?.value == 2) ...[
|
|
||||||
// 8.height,
|
|
||||||
// ADatePicker(
|
|
||||||
// label: context.translation.visitDate,
|
|
||||||
// date: DateTime.tryParse(_serviceRequest.visitDate ?? ""),
|
|
||||||
// formatDateWithTime: true,
|
|
||||||
// onDatePicker: (selectedDate) {
|
|
||||||
// showTimePicker(
|
|
||||||
// context: context,
|
|
||||||
// initialTime: TimeOfDay.now(),
|
|
||||||
// ).then((selectedTime) {
|
|
||||||
// // Handle the selected date and time here.
|
|
||||||
// if (selectedTime != null) {
|
|
||||||
// DateTime selectedDateTime = DateTime(
|
|
||||||
// selectedDate.year,
|
|
||||||
// selectedDate.month,
|
|
||||||
// selectedDate.day,
|
|
||||||
// selectedTime.hour,
|
|
||||||
// selectedTime.minute,
|
|
||||||
// );
|
|
||||||
// if (selectedDateTime.isBefore(DateTime.parse(_serviceRequest.date!))) {
|
|
||||||
// "Visit Date time must be greater then request date".showToast;
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// setState(() {
|
|
||||||
// _serviceRequest.visitDate = selectedDateTime.toIso8601String();
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
//
|
|
||||||
// if (firstAction?.id == 404 && Provider.of<SettingProvider>(context, listen: false).assetGroup!.id == 1) ...[
|
|
||||||
// 8.height,
|
|
||||||
// Row(
|
|
||||||
// children: [
|
|
||||||
// ADatePicker(
|
|
||||||
// label: context.translation.startDate,
|
|
||||||
// date: DateTime.tryParse(_serviceRequest.startDate ?? ""),
|
|
||||||
// formatDateWithTime: true,
|
|
||||||
// onDatePicker: (selectedDate) {
|
|
||||||
// showTimePicker(
|
|
||||||
// context: context,
|
|
||||||
// initialTime: TimeOfDay.now(),
|
|
||||||
// ).then((selectedTime) {
|
|
||||||
// // Handle the selected date and time here.
|
|
||||||
// if (selectedTime != null) {
|
|
||||||
// DateTime selectedDateTime = DateTime(
|
|
||||||
// selectedDate.year,
|
|
||||||
// selectedDate.month,
|
|
||||||
// selectedDate.day,
|
|
||||||
// selectedTime.hour,
|
|
||||||
// selectedTime.minute,
|
|
||||||
// );
|
|
||||||
// setState(() {
|
|
||||||
// _serviceRequest.startDate = selectedDateTime.toIso8601String();
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// ).expanded,
|
|
||||||
// 8.width,
|
|
||||||
// ADatePicker(
|
|
||||||
// label: context.translation.endDate,
|
|
||||||
// date: DateTime.tryParse(_serviceRequest.endDate ?? ""),
|
|
||||||
// formatDateWithTime: true,
|
|
||||||
// onDatePicker: (selectedDate) {
|
|
||||||
// showTimePicker(
|
|
||||||
// context: context,
|
|
||||||
// initialTime: TimeOfDay.now(),
|
|
||||||
// ).then((selectedTime) {
|
|
||||||
// // Handle the selected date and time here.
|
|
||||||
// if (selectedTime != null) {
|
|
||||||
// DateTime selectedDateTime = DateTime(
|
|
||||||
// selectedDate.year,
|
|
||||||
// selectedDate.month,
|
|
||||||
// selectedDate.day,
|
|
||||||
// selectedTime.hour,
|
|
||||||
// selectedTime.minute,
|
|
||||||
// );
|
|
||||||
// setState(() {
|
|
||||||
// _serviceRequest.endDate = selectedDateTime.toIso8601String();
|
|
||||||
// _serviceRequest.workingHours =
|
|
||||||
// (((DateTime.parse(_serviceRequest.endDate!).difference(DateTime.parse(_serviceRequest.startDate!)).inSeconds ?? 0) / 60) / 60).toStringAsFixed(2);
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// ).expanded,
|
|
||||||
// ],
|
|
||||||
// )
|
|
||||||
// ],
|
|
||||||
//
|
|
||||||
// /// Loan availability not required
|
|
||||||
// // 8.height,
|
|
||||||
// // SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>(
|
|
||||||
// // context: context,
|
|
||||||
// // title: context.translation.loanAvailability,
|
|
||||||
// // initialValue: _serviceRequest.loanAvailability,
|
|
||||||
// // onSelect: (status) {
|
|
||||||
// // setState(() {
|
|
||||||
// // _serviceRequest.loanAvailability = status;
|
|
||||||
// // if (_serviceRequest.loanAvailability.value != 1) {
|
|
||||||
// // asset = null;
|
|
||||||
// // }
|
|
||||||
// // });
|
|
||||||
// // },
|
|
||||||
// // ),
|
|
||||||
// // if (_serviceRequest?.loanAvailability?.value == 1) 8.height,
|
|
||||||
// // if (_serviceRequest?.loanAvailability?.value == 1)
|
|
||||||
// // PickAsset(
|
|
||||||
// // device: asset ?? _serviceRequest.device,
|
|
||||||
// // onPickAsset: (asset) {
|
|
||||||
// // setState(() {
|
|
||||||
// // this.asset = asset;
|
|
||||||
// // });
|
|
||||||
// // },
|
|
||||||
// // ),
|
|
||||||
// 8.height,
|
|
||||||
// AppTextFormField(
|
|
||||||
// labelText: context.translation.comments,
|
|
||||||
// textInputType: TextInputType.multiline,
|
|
||||||
// alignLabelWithHint: true,
|
|
||||||
// onChange: (text) {
|
|
||||||
// _serviceRequest.comments = text;
|
|
||||||
// },
|
|
||||||
// onSaved: (text) {
|
|
||||||
// _serviceRequest.comments = text;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 16.height,
|
|
||||||
// Consumer<ServiceRequestsProvider>(
|
|
||||||
// builder: (context, snapshot, _) => AppFilledButton(
|
|
||||||
// label: context.translation.save,
|
|
||||||
// loading: snapshot.isLoading ?? false,
|
|
||||||
// onPressed: () async {
|
|
||||||
// _formKey.currentState!.save();
|
|
||||||
// _serviceRequest.device = asset;
|
|
||||||
// _serviceRequest.firstAction = firstAction;
|
|
||||||
// await snapshot.updateRequest(user: userProvider.user!, request: _serviceRequest);
|
|
||||||
// Navigator.pop(context, true);
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// 16.height,
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// )
|
|
||||||
// ],
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/requests/service_request_list.dart';
|
|
||||||
// //todo @delete
|
|
||||||
// class ServiceRequestsPage extends StatefulWidget {
|
|
||||||
// static const String id = "/service-requests";
|
|
||||||
//
|
|
||||||
// const ServiceRequestsPage({Key? key}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// _ServiceRequestsPageState createState() => _ServiceRequestsPageState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _ServiceRequestsPageState extends State<ServiceRequestsPage> with TickerProviderStateMixin {
|
|
||||||
// late ServiceRequestsProvider _serviceRequestsProvider;
|
|
||||||
// late UserProvider _userProvider;
|
|
||||||
// late SettingProvider _settingProvider;
|
|
||||||
// final bool _expandedSearch = false;
|
|
||||||
// bool _firstTime = true;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// _serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
|
|
||||||
// _userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// _settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
// if (_firstTime) {
|
|
||||||
// _serviceRequestsProvider.reset();
|
|
||||||
// _firstTime = false;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// return Scaffold(
|
|
||||||
// appBar: DefaultAppBar(title: context.translation.serviceRequest),
|
|
||||||
// //backgroundColor: context.isDark? :const Color(0xfff8f9fb),
|
|
||||||
// body: SafeArea(
|
|
||||||
// child: LoadingManager(
|
|
||||||
// isLoading: _serviceRequestsProvider.isLoading,
|
|
||||||
// isFailedLoading: _serviceRequestsProvider.serviceRequests == null,
|
|
||||||
// stateCode: _serviceRequestsProvider.stateCode,
|
|
||||||
// onRefresh: () async {
|
|
||||||
// _serviceRequestsProvider.reset();
|
|
||||||
// await _serviceRequestsProvider.getRequests(hospitalId: _userProvider.user!.clientId!);
|
|
||||||
// },
|
|
||||||
// child: ServiceRequestsList(
|
|
||||||
// nextPage: _serviceRequestsProvider.nextPage,
|
|
||||||
// onLazyLoad: () async {
|
|
||||||
// await _serviceRequestsProvider.getRequests(hospitalId: _userProvider.user!.clientId!);
|
|
||||||
// },
|
|
||||||
// requests: _serviceRequestsProvider.serviceRequests!,
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,302 +0,0 @@
|
|||||||
//
|
|
||||||
// //TODO old Flow ..
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/comments_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/string_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/text_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/enums/user_types.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_request.dart';
|
|
||||||
// import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/requests/comments_bottom_sheet.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/requests/work_order/work_orders_list_page.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/images/files_list.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/app_loading.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/sound/sound_player.dart';
|
|
||||||
//
|
|
||||||
// import '../../../widgets/requests/request_status.dart';
|
|
||||||
// import 'first_action_bottom_sheet.dart';
|
|
||||||
//// //todo @delete
|
|
||||||
// class ServiceRequestDetailsPage extends StatefulWidget {
|
|
||||||
// static const String id = "/call-details";
|
|
||||||
// ServiceRequest serviceRequest;
|
|
||||||
//
|
|
||||||
// ServiceRequestDetailsPage({Key? key, required this.serviceRequest}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// State<ServiceRequestDetailsPage> createState() => _ServiceRequestDetailsPageState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _ServiceRequestDetailsPageState extends State<ServiceRequestDetailsPage> {
|
|
||||||
// bool loading = false;
|
|
||||||
// ServiceRequest? serviceRequest;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void initState() {
|
|
||||||
// super.initState();
|
|
||||||
// getServiceRequest();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// void getServiceRequest() {
|
|
||||||
// loading = true;
|
|
||||||
// setState(() {});
|
|
||||||
// WidgetsFlutterBinding.ensureInitialized().addPostFrameCallback((timeStamp) async {
|
|
||||||
// Provider.of<CommentsProvider>(context, listen: false).reset();
|
|
||||||
// serviceRequest = await Provider.of<ServiceRequestsProvider>(context, listen: false).getServiceRequestObjectById(requestId: widget.serviceRequest.id!);
|
|
||||||
// loading = false;
|
|
||||||
// setState(() {});
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// UserProvider userProvider = Provider.of<UserProvider>(context, listen: false);
|
|
||||||
//
|
|
||||||
// Widget informationCard(ServiceRequest serviceRequest) {
|
|
||||||
// return Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// Column(
|
|
||||||
// mainAxisSize: MainAxisSize.min,
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// Row(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// Row(
|
|
||||||
// children: [
|
|
||||||
// StatusLabel(
|
|
||||||
// label: serviceRequest.priority!.name,
|
|
||||||
// id: serviceRequest.priority!.id!,
|
|
||||||
// textColor: AppColor.getPriorityStatusTextColor(context, serviceRequest.priority!.id!),
|
|
||||||
// backgroundColor: AppColor.getPriorityStatusColor(context, serviceRequest.priority!.id!),
|
|
||||||
// ),
|
|
||||||
// 8.width,
|
|
||||||
// StatusLabel(
|
|
||||||
// label: serviceRequest.statusLabel,
|
|
||||||
// textColor: AppColor.getRequestStatusTextColor(context, serviceRequest.statusValue!),
|
|
||||||
// backgroundColor: AppColor.getRequestStatusColor(context, serviceRequest.statusValue!),
|
|
||||||
// ),
|
|
||||||
// 1.width.expanded,
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// Text(serviceRequest.deviceEnName?.cleanupWhitespace.capitalizeFirstOfEach ?? "",
|
|
||||||
// style: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50)),
|
|
||||||
// 8.height,
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.assetNumber}: ${serviceRequest.device!.assetNumber}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.requestType}: ${serviceRequest.type!.name}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.equipmentStatus}: ${serviceRequest.defectType!.name}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.requestNo}: ${serviceRequest.requestCode}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.requesterName}: ${serviceRequest.callCreatedBy?.name ?? "-"}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ).expanded,
|
|
||||||
// Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.end,
|
|
||||||
// children: [
|
|
||||||
// // if (userProvider.user!.type == UsersTypes.normal_user)
|
|
||||||
// // context.translation.code.toSvgAsset(width: 48).onPress(() {
|
|
||||||
// // Navigator.push(context, MaterialPageRoute(builder: (context) => UpdateServiceRequestPage(serviceRequest: serviceRequest)));
|
|
||||||
// // }),
|
|
||||||
// if (userProvider.user!.type == UsersTypes.engineer) 16.height,
|
|
||||||
// Text(
|
|
||||||
// serviceRequest.date!.toServiceRequestCardFormat,
|
|
||||||
// textAlign: TextAlign.end,
|
|
||||||
// style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// )
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// const Divider().defaultStyle(context),
|
|
||||||
// 8.height,
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.manufacture}: ${serviceRequest.device!.modelDefinition!.manufacturerName?.cleanupWhitespace.capitalizeFirstOfEach}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.model}: ${serviceRequest.device!.modelDefinition!.modelName?.cleanupWhitespace.capitalizeFirstOfEach}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.site}: ${serviceRequest.device!.site?.custName?.cleanupWhitespace.capitalizeFirstOfEach}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.building}: ${serviceRequest.device!.building?.name?.cleanupWhitespace.capitalizeFirstOfEach}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.floor}: ${serviceRequest.device!.floor?.name?.cleanupWhitespace.capitalizeFirstOfEach ?? ""}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.department}: ${serviceRequest.device!.department?.departmentName?.cleanupWhitespace.capitalizeFirstOfEach}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.room}: ${(serviceRequest.device!.room?.name ?? "").cleanupWhitespace.capitalizeFirstOfEach}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// if ((serviceRequest.callComments ?? "").isNotEmpty) ...[
|
|
||||||
// const Divider().defaultStyle(context),
|
|
||||||
// 8.height,
|
|
||||||
// Text(
|
|
||||||
// serviceRequest.callComments!,
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// if (serviceRequest.devicePhotos?.isNotEmpty ?? false) ...[
|
|
||||||
// 8.height,
|
|
||||||
// const Divider().defaultStyle(context),
|
|
||||||
// FilesList(images: serviceRequest.devicePhotos!),
|
|
||||||
// ],
|
|
||||||
// if (serviceRequest.audio?.isNotEmpty ?? false) ...[
|
|
||||||
// const Divider().defaultStyle(context),
|
|
||||||
// 16.height,
|
|
||||||
// ASoundPlayer(audio: serviceRequest.audio!),
|
|
||||||
// 8.height,
|
|
||||||
// ],
|
|
||||||
// ],
|
|
||||||
// ).paddingOnly(start: 16, end: 16, top: 16, bottom: 8),
|
|
||||||
// (userProvider.user!.type == UsersTypes.normal_user
|
|
||||||
// ? Container(
|
|
||||||
// height: 50,
|
|
||||||
// padding: const EdgeInsets.only(left: 16, right: 16),
|
|
||||||
// alignment: Alignment.center,
|
|
||||||
// width: double.infinity,
|
|
||||||
// decoration: ShapeDecoration(
|
|
||||||
// color: context.isDark ? AppColor.neutral50 : AppColor.neutral30,
|
|
||||||
// shape: const RoundedRectangleBorder(
|
|
||||||
// borderRadius: BorderRadius.only(
|
|
||||||
// bottomLeft: Radius.circular(20),
|
|
||||||
// bottomRight: Radius.circular(20),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// child: Row(
|
|
||||||
// children: [
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.commentHere}...',
|
|
||||||
// style: AppTextStyles.heading6.copyWith(
|
|
||||||
// color: (context.isDark ? AppColor.neutral30 : AppColor.neutral50).withOpacity(.6),
|
|
||||||
// ),
|
|
||||||
// ).expanded,
|
|
||||||
// "comment_send".toSvgAsset(width: 24, color: context.isDark ? AppColor.primary50 : AppColor.primary70),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// )
|
|
||||||
// : Column(
|
|
||||||
// mainAxisSize: MainAxisSize.min,
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// const Divider().defaultStyle(context),
|
|
||||||
// 16.height,
|
|
||||||
// Row(
|
|
||||||
// mainAxisSize: MainAxisSize.min,
|
|
||||||
// children: [
|
|
||||||
// Text(
|
|
||||||
// context.translation.viewComments,
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)),
|
|
||||||
// ),
|
|
||||||
// 4.width,
|
|
||||||
// Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14)
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ).paddingOnly(bottom: 16, start: 16, end: 16))
|
|
||||||
// .onPress(() {
|
|
||||||
// showModalBottomSheet(
|
|
||||||
// context: context,
|
|
||||||
// useSafeArea: true,
|
|
||||||
// isScrollControlled: true,
|
|
||||||
// useRootNavigator: true,
|
|
||||||
// backgroundColor: Colors.transparent,
|
|
||||||
// builder: (context) => CommentsBottomSheet(requestId: serviceRequest.id!),
|
|
||||||
// );
|
|
||||||
// }),
|
|
||||||
// ],
|
|
||||||
// ).toShadowContainer(context, padding: 0);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// return Scaffold(
|
|
||||||
// appBar: DefaultAppBar(title: context.translation.serviceDetails),
|
|
||||||
// //backgroundColor: const Color(0xfff8f9fb),
|
|
||||||
// body: SafeArea(
|
|
||||||
// child: loading
|
|
||||||
// ? const ALoading().center
|
|
||||||
// : serviceRequest == null
|
|
||||||
// ? Text(
|
|
||||||
// context.translation.noDataFound,
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ).center
|
|
||||||
// : Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// SingleChildScrollView(
|
|
||||||
// padding: const EdgeInsets.all(16),
|
|
||||||
// child: informationCard(serviceRequest!),
|
|
||||||
// ).expanded,
|
|
||||||
// if (userProvider.user!.type == UsersTypes.engineer || (serviceRequest!.statusValue == 5 || serviceRequest!.statusValue == 3))
|
|
||||||
// (serviceRequest?.firstAction == null
|
|
||||||
// ? AppFilledButton(
|
|
||||||
// label: context.translation.firstAction,
|
|
||||||
// maxWidth: true,
|
|
||||||
// onPressed: () async {
|
|
||||||
// bool shouldReloadData = (await showModalBottomSheet(
|
|
||||||
// context: context,
|
|
||||||
// useSafeArea: true,
|
|
||||||
// isScrollControlled: true,
|
|
||||||
// backgroundColor: Colors.transparent,
|
|
||||||
// builder: (context) => FirstActionBottomSheet(request: serviceRequest!),
|
|
||||||
// )) as bool;
|
|
||||||
// if (shouldReloadData ?? false) {
|
|
||||||
// getServiceRequest();
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// )
|
|
||||||
// : AppFilledButton(
|
|
||||||
// label: context.translation.viewWorkOrder,
|
|
||||||
// maxWidth: true,
|
|
||||||
// onPressed: () {
|
|
||||||
// Navigator.push(
|
|
||||||
// context,
|
|
||||||
// MaterialPageRoute(builder: (context) => WorkOrderListPage(serviceRequest: serviceRequest)),
|
|
||||||
// );
|
|
||||||
// // Navigator.of(context).pushNamed(WorkOrderListPage.id, arguments: serviceRequest);
|
|
||||||
// },
|
|
||||||
// ))
|
|
||||||
// .paddingOnly(start: 16, end: 16, bottom: 24),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,173 +0,0 @@
|
|||||||
// import 'dart:convert';
|
|
||||||
// import 'dart:io';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/text_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_request.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
|
|
||||||
//
|
|
||||||
// import '../../../../models/lookup.dart';
|
|
||||||
// import '../../../../new_views/app_style/app_color.dart';
|
|
||||||
// import '../../../../new_views/common_widgets/app_filled_button.dart';
|
|
||||||
// import '../../../../new_views/common_widgets/app_lazy_loading.dart';
|
|
||||||
// import '../../../../new_views/common_widgets/app_text_form_field.dart';
|
|
||||||
// import '../../../../new_views/common_widgets/single_item_drop_down_menu.dart';
|
|
||||||
// import '../../../../providers/service_request_providers/equipment_status_provider.dart';
|
|
||||||
// import '../../../../providers/service_request_providers/priority_provider.dart';
|
|
||||||
// import '../../../../providers/service_request_providers/requested_through_provider.dart';
|
|
||||||
// import '../../../../providers/service_request_providers/type_of_request_provider.dart';
|
|
||||||
// import '../../../widgets/equipment/pick_asset.dart';
|
|
||||||
// import '../../../widgets/images/multi_image_picker.dart';
|
|
||||||
// import '../../../widgets/sound/record_sound.dart';
|
|
||||||
//
|
|
||||||
// class UpdateServiceRequestPage extends StatefulWidget {
|
|
||||||
// static const String id = "/update_service_request_page";
|
|
||||||
// final ServiceRequest? serviceRequest;
|
|
||||||
//
|
|
||||||
// const UpdateServiceRequestPage({Key? key, this.serviceRequest}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// State<UpdateServiceRequestPage> createState() => _UpdateServiceRequestPageState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _UpdateServiceRequestPageState extends State<UpdateServiceRequestPage> {
|
|
||||||
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
|
||||||
// late TextEditingController _commentController;
|
|
||||||
// List<File> _deviceImages = [];
|
|
||||||
// late UserProvider _userProvider;
|
|
||||||
//// //todo @delete
|
|
||||||
// @override
|
|
||||||
// void initState() {
|
|
||||||
// super.initState();
|
|
||||||
// _deviceImages = widget.serviceRequest?.devicePhotos?.map((e) => File(e)).toList() ?? [];
|
|
||||||
// _commentController = TextEditingController(text: widget.serviceRequest?.callComments ?? "");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void dispose() {
|
|
||||||
// _commentController.dispose();
|
|
||||||
// super.dispose();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// _userProvider = Provider.of<UserProvider>(context, listen: false);
|
|
||||||
// return Scaffold(
|
|
||||||
// appBar: DefaultAppBar(title: context.translation.updateServiceRequest),
|
|
||||||
// body: SafeArea(
|
|
||||||
// child: Form(
|
|
||||||
// key: _formKey,
|
|
||||||
// child: Column(
|
|
||||||
// children: [
|
|
||||||
// SingleChildScrollView(
|
|
||||||
// child: Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// PickAsset(
|
|
||||||
// editable: false,
|
|
||||||
// device: widget.serviceRequest?.device,
|
|
||||||
// onPickAsset: (asset) {
|
|
||||||
// widget.serviceRequest!.device = asset;
|
|
||||||
// setState(() {});
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// SingleItemDropDownMenu<Lookup, PriorityProvider>(
|
|
||||||
// context: context,
|
|
||||||
// title: context.translation.priority,
|
|
||||||
// initialValue: widget.serviceRequest?.priority,
|
|
||||||
// onSelect: (value) {
|
|
||||||
// widget.serviceRequest!.priority = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// SingleItemDropDownMenu<Lookup, EquipmentStatusProvider>(
|
|
||||||
// context: context,
|
|
||||||
// title: context.translation.equipmentStatus,
|
|
||||||
// initialValue: widget.serviceRequest?.defectType,
|
|
||||||
// onSelect: (value) {
|
|
||||||
// widget.serviceRequest!.defectType = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// Consumer<RequestedThroughProvider>(builder: (context, snapshot, _) {
|
|
||||||
// return SingleItemDropDownMenu<Lookup, RequestedThroughProvider>(
|
|
||||||
// context: context,
|
|
||||||
// enabled: false,
|
|
||||||
// title: context.translation.source,
|
|
||||||
// initialValue: snapshot.items.firstWhere((element) => element.value == 3, orElse: null),
|
|
||||||
// );
|
|
||||||
// }),
|
|
||||||
// 8.height,
|
|
||||||
// SingleItemDropDownMenu<Lookup, TypeOfRequestProvider>(
|
|
||||||
// context: context,
|
|
||||||
// title: context.translation.requestType,
|
|
||||||
// initialValue: widget.serviceRequest?.type,
|
|
||||||
// onSelect: (value) {
|
|
||||||
// widget.serviceRequest!.type = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// MultiFilesPicker(label: context.translation.attachImage, files: _deviceImages),
|
|
||||||
// ((widget.serviceRequest!.devicePhotos?.isNotEmpty ?? false) ? 16 : 8).height,
|
|
||||||
// Align(
|
|
||||||
// alignment: AlignmentDirectional.centerStart,
|
|
||||||
// child: context.translation.callComments.heading5(context),
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// AppTextFormField(
|
|
||||||
// controller: _commentController,
|
|
||||||
// labelText: context.translation.problemDesc,
|
|
||||||
// initialValue: widget.serviceRequest!.callComments,
|
|
||||||
// suffixIcon: "warning".toSvgAsset(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20, width: 24).paddingOnly(end: 16),
|
|
||||||
// onSaved: (text) {
|
|
||||||
// widget.serviceRequest!.callComments = text;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// RecordSound(
|
|
||||||
// onRecord: (audio) {
|
|
||||||
// widget.serviceRequest!.audio = audio;
|
|
||||||
// },
|
|
||||||
// enabled: widget.serviceRequest == null ? true : false,
|
|
||||||
// ),
|
|
||||||
// 16.height,
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ).expanded,
|
|
||||||
// AppFilledButton(onPressed: _submit, label: context.translation.updateRequest),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ).paddingOnly(start: 16, end: 16, bottom: 24, top: 16),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Future<void> _submit() async {
|
|
||||||
// widget.serviceRequest?.requestedThrough = Provider.of<RequestedThroughProvider>(context, listen: false).items.firstWhere((element) => element.value == 3, orElse: null);
|
|
||||||
// if (_formKey.currentState!.validate() && await widget.serviceRequest!.validateNewRequest(context)) {
|
|
||||||
// _formKey.currentState!.save();
|
|
||||||
// widget.serviceRequest!.devicePhotos = _deviceImages.map((e) => _isLocalUrl(e.path) ? "${e.path.split("/").last}|${base64Encode(e.readAsBytesSync())}" : e.path).toList();
|
|
||||||
// if (widget.serviceRequest!.audio != null) {
|
|
||||||
// if (_isLocalUrl(widget.serviceRequest!.audio!)) {
|
|
||||||
// final File file = File(widget.serviceRequest!.audio!);
|
|
||||||
// widget.serviceRequest!.audio = "${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}";
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
|
|
||||||
// await Provider.of<ServiceRequestsProvider>(context, listen: false).updateRequest(user: _userProvider.user!, request: widget.serviceRequest!);
|
|
||||||
// Navigator.of(context).pop();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// bool _isLocalUrl(String url) {
|
|
||||||
// if (url.isEmpty != false) return false;
|
|
||||||
// return url.startsWith("/") || url.startsWith("file://") || url.substring(1).startsWith(':\\');
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,428 +0,0 @@
|
|||||||
import 'dart:convert';
|
|
||||||
import 'dart:io';
|
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
|
||||||
import 'package:test_sa/attachment.dart';
|
|
||||||
import 'package:test_sa/controllers/providers/api/parts_provider.dart';
|
|
||||||
import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
import 'package:test_sa/extensions/string_extensions.dart';
|
|
||||||
import 'package:test_sa/extensions/text_extensions.dart';
|
|
||||||
import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
import 'package:test_sa/models/device/asset.dart';
|
|
||||||
import 'package:test_sa/models/generic_attachment_model.dart';
|
|
||||||
import 'package:test_sa/models/service_request/service_report.dart';
|
|
||||||
import 'package:test_sa/models/service_request/service_request.dart';
|
|
||||||
import 'package:test_sa/modules/cm_module/cm_request_utils.dart';
|
|
||||||
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
|
|
||||||
import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart';
|
|
||||||
import 'package:test_sa/providers/service_request_providers/loan_availability_provider.dart';
|
|
||||||
import 'package:test_sa/providers/work_order/reason_provider.dart';
|
|
||||||
import 'package:test_sa/providers/work_order/service_type_provider.dart';
|
|
||||||
import 'package:test_sa/views/pages/user/requests/work_order/part_no_button.dart';
|
|
||||||
import 'package:test_sa/views/widgets/e_signature/e_signature.dart';
|
|
||||||
import 'package:test_sa/views/widgets/equipment/pick_asset.dart';
|
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
import 'package:test_sa/views/widgets/status/report/service_report_assistant_employee_menu.dart';
|
|
||||||
import 'package:test_sa/views/widgets/status/report/service_report_last_call.dart';
|
|
||||||
|
|
||||||
import '../../../../../controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart';
|
|
||||||
import '../../../../../controllers/providers/api/status_drop_down/report/service_types_provider.dart';
|
|
||||||
import '../../../../../models/lookup.dart';
|
|
||||||
import '../../../../../models/service_request/spare_parts.dart';
|
|
||||||
import '../../../../../new_views/common_widgets/app_text_form_field.dart';
|
|
||||||
import '../../../../../new_views/common_widgets/default_app_bar.dart';
|
|
||||||
import '../../../../../new_views/common_widgets/single_item_drop_down_menu.dart';
|
|
||||||
import '../../../../widgets/date_and_time/date_picker.dart';
|
|
||||||
import '../../../../widgets/images/multi_image_picker.dart';
|
|
||||||
import '../../../../widgets/status/report/service_report_fault_description.dart';
|
|
||||||
import '../../../../widgets/status/report/service_report_repair_location.dart';
|
|
||||||
import '../../../../widgets/timer/app_timer.dart';
|
|
||||||
|
|
||||||
class CreateServiceReport extends StatefulWidget {
|
|
||||||
static const String id = "/create-service-report";
|
|
||||||
final ServiceRequest request;
|
|
||||||
|
|
||||||
const CreateServiceReport({Key? key, required this.request}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
|
||||||
_CreateServiceReportState createState() => _CreateServiceReportState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _CreateServiceReportState extends State<CreateServiceReport> with TickerProviderStateMixin {
|
|
||||||
late UserProvider _userProvider;
|
|
||||||
late SettingProvider _settingProvider;
|
|
||||||
late ServiceRequestsProvider _serviceRequestsProvider;
|
|
||||||
late ServiceStatusProvider _assetTypeProvider;
|
|
||||||
late PartsProvider _partsProvider;
|
|
||||||
late ServiceReport _serviceReport;
|
|
||||||
bool _isLoading = false;
|
|
||||||
List<SparePart> _spareParts = [];
|
|
||||||
|
|
||||||
final List<GenericAttachmentModel> attachments = [];
|
|
||||||
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
|
||||||
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
|
||||||
final TextEditingController _faultController = TextEditingController();
|
|
||||||
final TextEditingController _workPreformedController = TextEditingController();
|
|
||||||
final TextEditingController _partQtyController = TextEditingController();
|
|
||||||
|
|
||||||
@override
|
|
||||||
void initState() {
|
|
||||||
_serviceReport = ServiceReport(
|
|
||||||
// returnToService: DateTime.now(),
|
|
||||||
// //type: const Lookup(value: 2),
|
|
||||||
// device: widget.request.device,
|
|
||||||
sparePartsWorkOrders: [],
|
|
||||||
);
|
|
||||||
super.initState();
|
|
||||||
if (context.mounted) {
|
|
||||||
Provider.of<ServiceReportLastCallsProvider>(context, listen: false).reset();
|
|
||||||
Provider.of<ReasonProvider>(context, listen: false).reset();
|
|
||||||
Provider.of<ReasonProvider>(context, listen: false).serviceRequestId = widget.request.id!;
|
|
||||||
}
|
|
||||||
// _isLoading = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
Asset? loanAvailabilityAsset;
|
|
||||||
|
|
||||||
@override
|
|
||||||
void dispose() {
|
|
||||||
_faultController.dispose();
|
|
||||||
_workPreformedController.dispose();
|
|
||||||
_partQtyController.dispose();
|
|
||||||
super.dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
void getRequestForWorkOrder() async {
|
|
||||||
_isLoading = true;
|
|
||||||
setState(() {});
|
|
||||||
_serviceReport.callRequest = await _serviceRequestsProvider.getCallRequestForWorkOrder(callId: widget.request.id!);
|
|
||||||
await _assetTypeProvider.getTypes();
|
|
||||||
_serviceReport.assignedEmployee = _serviceReport.callRequest?.assignedEmployee;
|
|
||||||
_serviceReport.equipmentStatus = _serviceReport.callRequest?.defectType;
|
|
||||||
_serviceReport.serviceType = Lookup(id: 65, name: "Interval", value: 1); // default value in service type as in web
|
|
||||||
_spareParts = await _partsProvider.getPartsList(assetId: widget.request.deviceId);
|
|
||||||
_isLoading = false;
|
|
||||||
setState(() {});
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
_userProvider = Provider.of<UserProvider>(context);
|
|
||||||
_settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
_serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
|
|
||||||
_assetTypeProvider = Provider.of<ServiceStatusProvider>(context);
|
|
||||||
_partsProvider = Provider.of<PartsProvider>(context);
|
|
||||||
if (_serviceReport.callRequest == null) {
|
|
||||||
getRequestForWorkOrder();
|
|
||||||
}
|
|
||||||
_serviceReport.assetType = _assetTypeProvider.statuses?.firstWhere(
|
|
||||||
(element) => element.value == _serviceReport.callRequest?.assetType,
|
|
||||||
orElse: null,
|
|
||||||
);
|
|
||||||
|
|
||||||
return Scaffold(
|
|
||||||
key: _scaffoldKey,
|
|
||||||
appBar: DefaultAppBar(title: context.translation.newServiceReport),
|
|
||||||
body: SafeArea(
|
|
||||||
child: LoadingManager(
|
|
||||||
isLoading: _isLoading,
|
|
||||||
isFailedLoading: false,
|
|
||||||
stateCode: 200,
|
|
||||||
onRefresh: () async {},
|
|
||||||
child: Form(
|
|
||||||
key: _formKey,
|
|
||||||
child: Column(
|
|
||||||
children: [
|
|
||||||
SingleChildScrollView(
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
||||||
children: [
|
|
||||||
Card(
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
||||||
children: [
|
|
||||||
widget.request.hospitalName!.heading5(context),
|
|
||||||
8.height,
|
|
||||||
"${context.translation.assetNo}: ${widget.request.deviceNumber}".bodyText(context),
|
|
||||||
"${context.translation.callId}: ${widget.request.requestCode}".bodyText(context),
|
|
||||||
],
|
|
||||||
).paddingAll(16),
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
ADatePicker(
|
|
||||||
label: context.translation.returnToService,
|
|
||||||
date: DateTime.tryParse(_serviceReport.visitDate ?? ""),
|
|
||||||
formatDateWithTime: true,
|
|
||||||
onDatePicker: (selectedDate) {
|
|
||||||
showTimePicker(
|
|
||||||
context: context,
|
|
||||||
initialTime: TimeOfDay.now(),
|
|
||||||
).then((selectedTime) {
|
|
||||||
if (selectedTime != null) {
|
|
||||||
DateTime selectedDateTime = DateTime(
|
|
||||||
selectedDate.year,
|
|
||||||
selectedDate.month,
|
|
||||||
selectedDate.day,
|
|
||||||
selectedTime.hour,
|
|
||||||
selectedTime.minute,
|
|
||||||
);
|
|
||||||
if (selectedDateTime.isBefore(DateTime.parse(widget.request.date!))) {
|
|
||||||
"Return to service Date time must be greater then request date".showToast;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
setState(() {
|
|
||||||
_serviceReport.visitDate = selectedDateTime.toIso8601String();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
AppTimer(
|
|
||||||
label: context.translation.workingHours,
|
|
||||||
timer: _serviceReport.timer,
|
|
||||||
enabled: _serviceReport.endofWorkTime == null,
|
|
||||||
onPick: (value) {},
|
|
||||||
onChange: (timer) async {
|
|
||||||
_serviceReport.timer = timer;
|
|
||||||
if (timer.startAt != null && timer.endAt != null) {
|
|
||||||
if (timer.durationInSecond != 0) {
|
|
||||||
_serviceReport.workingHours = num.tryParse((((timer.durationInSecond ?? 0) / 60) / 60).toStringAsFixed(2) ?? "0");
|
|
||||||
} else {
|
|
||||||
timer.durationInSecond = (timer.endAt!.difference(timer.startAt!)).inSeconds;
|
|
||||||
String workingHours = (((timer.durationInSecond ?? 0) / 60) / 60).toStringAsFixed(2);
|
|
||||||
_serviceReport.workingHours = num.tryParse(workingHours ?? "0");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
LoadingManager(
|
|
||||||
isLoading: _assetTypeProvider.isLoading,
|
|
||||||
isFailedLoading: _assetTypeProvider.statuses == null,
|
|
||||||
stateCode: _assetTypeProvider.stateCode,
|
|
||||||
onRefresh: () async {
|
|
||||||
_assetTypeProvider.reset();
|
|
||||||
await _assetTypeProvider.getTypes();
|
|
||||||
_serviceReport.assetType = _assetTypeProvider.statuses?.firstWhere(
|
|
||||||
(element) => element.value == _serviceReport.callRequest!.assetType,
|
|
||||||
orElse: null,
|
|
||||||
);
|
|
||||||
},
|
|
||||||
child: AppTextFormField(
|
|
||||||
labelText: context.translation.assetType,
|
|
||||||
initialValue: _serviceReport.assetType?.name,
|
|
||||||
textAlign: TextAlign.center,
|
|
||||||
enable: false,
|
|
||||||
style: Theme.of(context).textTheme.titleMedium,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
SingleItemDropDownMenu<Lookup, EquipmentStatusProvider>(
|
|
||||||
context: context,
|
|
||||||
title: context.translation.equipmentStatus,
|
|
||||||
initialValue: _serviceReport.equipmentStatus,
|
|
||||||
onSelect: (value) {
|
|
||||||
if (value != null) {
|
|
||||||
_serviceReport.equipmentStatus = value;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
SingleItemDropDownMenu<Lookup, ReasonProvider>(
|
|
||||||
context: context,
|
|
||||||
title: context.translation.reason,
|
|
||||||
initialValue: _serviceReport.reason,
|
|
||||||
onSelect: (value) {
|
|
||||||
_serviceReport.reason = value;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
SingleItemDropDownMenu<Lookup, ServiceTypeProvider>(
|
|
||||||
context: context,
|
|
||||||
title: context.translation.serviceType,
|
|
||||||
initialValue: _serviceReport.serviceType,
|
|
||||||
onSelect: (value) {
|
|
||||||
_serviceReport.serviceType = value;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
ServiceReportLastCallsMenu(
|
|
||||||
report: _serviceReport,
|
|
||||||
title: context.translation.callLastSituation,
|
|
||||||
parentId: "0", //widget.request.id,
|
|
||||||
onSelect: (status) {
|
|
||||||
_serviceReport.calllastSituation = status;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
ServiceReportFaultDescription(
|
|
||||||
requestId: widget.request.id,
|
|
||||||
initialValue: _serviceReport.faultDescription,
|
|
||||||
onSelect: (status) {
|
|
||||||
_serviceReport.faultDescription = status;
|
|
||||||
_workPreformedController.text = _serviceReport.faultDescription?.workPerformed ?? "";
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
AppTextFormField(
|
|
||||||
labelText: context.translation.solution,
|
|
||||||
initialValue: _serviceReport.faultDescription?.workPerformed,
|
|
||||||
textAlign: TextAlign.center,
|
|
||||||
enable: false,
|
|
||||||
controller: _workPreformedController,
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>(
|
|
||||||
context: context,
|
|
||||||
title: context.translation.loanAvailability,
|
|
||||||
initialValue: _serviceReport.loanAvailablity,
|
|
||||||
onSelect: (status) {
|
|
||||||
if (status != null) {
|
|
||||||
setState(() {
|
|
||||||
_serviceReport.loanAvailablity = status;
|
|
||||||
if (_serviceReport.loanAvailablity!.value != 1) {
|
|
||||||
loanAvailabilityAsset = null;
|
|
||||||
_serviceReport.assetLoan = null;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
if (_serviceReport.loanAvailablity?.value == 1) 8.height,
|
|
||||||
if (_serviceReport.loanAvailablity?.value == 1)
|
|
||||||
PickAsset(
|
|
||||||
device: loanAvailabilityAsset, // ?? _serviceReport.device,
|
|
||||||
onPickAsset: (asset) {
|
|
||||||
_serviceReport.assetLoan = AssetInfo.fromJson(asset.toJson());
|
|
||||||
setState(() {
|
|
||||||
loanAvailabilityAsset = asset;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
ServiceReportAssistantEmployeeMenu(
|
|
||||||
title: context.translation.assignAssistant,
|
|
||||||
assetId: _serviceReport.callRequest!.asset!.id!,
|
|
||||||
initialValue: (_serviceReport.assistantEmployees?.isNotEmpty ?? false) ? _serviceReport.assistantEmployees?.first : null,
|
|
||||||
onSelect: (employee) {
|
|
||||||
if (employee == null) {
|
|
||||||
_serviceReport.assistantEmployees = [];
|
|
||||||
} else {
|
|
||||||
_serviceReport.assistantEmployees = [employee.copyWith(id: 0)];
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
AppTextFormField(
|
|
||||||
labelText: context.translation.travelingExpense,
|
|
||||||
initialValue: _serviceReport.travelingExpenses?.toString(),
|
|
||||||
textInputType: const TextInputType.numberWithOptions(decimal: true),
|
|
||||||
onSaved: (value) {
|
|
||||||
_serviceReport.travelingExpenses = double.tryParse(value) ?? 0.0;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
AppTextFormField(
|
|
||||||
labelText: context.translation.travelingHours,
|
|
||||||
initialValue: _serviceReport.travelingHours?.toString(),
|
|
||||||
textInputType: const TextInputType.numberWithOptions(decimal: true),
|
|
||||||
onSaved: (value) {
|
|
||||||
_serviceReport.travelingHours = double.tryParse(value) ?? 0.0;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
AppTextFormField(
|
|
||||||
initialValue: _serviceReport.comment,
|
|
||||||
labelText: context.translation.technicalComment,
|
|
||||||
alignLabelWithHint: true,
|
|
||||||
textInputType: TextInputType.multiline,
|
|
||||||
onSaved: (value) {
|
|
||||||
_serviceReport.comment = value;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
ServiceReportRepairLocation(
|
|
||||||
label: context.translation.repairLocation,
|
|
||||||
initialValue: _serviceReport.repairLocation,
|
|
||||||
onSelect: (status) {
|
|
||||||
_serviceReport.repairLocation = status;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
PartNoButton(
|
|
||||||
controller: _partQtyController,
|
|
||||||
spareParts: _spareParts,
|
|
||||||
initialList: _serviceReport.sparePartsWorkOrders,
|
|
||||||
onChange: (parts) {
|
|
||||||
_serviceReport.sparePartsWorkOrders = parts;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
AttachmentPicker(label: context.translation.attachImage, attachment: attachments),
|
|
||||||
8.height,
|
|
||||||
ESignature(
|
|
||||||
title: context.translation.engSign,
|
|
||||||
oldSignature: _serviceReport.engSignature,
|
|
||||||
newSignature: _serviceReport.localEngSignature,
|
|
||||||
onSaved: (signature) {
|
|
||||||
// if (signature == null || signature.isEmpty) {
|
|
||||||
// setState(() {});
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
if (signature == null || signature.isEmpty) return;
|
|
||||||
_serviceReport.localEngSignature = signature;
|
|
||||||
_serviceReport.engSignature = signature != null ? "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}" : null;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
8.height,
|
|
||||||
ESignature(
|
|
||||||
title: context.translation.nurseSignature,
|
|
||||||
oldSignature: _serviceReport.nurseSignature,
|
|
||||||
newSignature: _serviceReport.localNurseSignature,
|
|
||||||
onSaved: (signature) {
|
|
||||||
// if (signature == null || signature.isEmpty) {
|
|
||||||
// setState(() {});
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
if (signature == null || signature.isEmpty) return;
|
|
||||||
_serviceReport.localNurseSignature = signature;
|
|
||||||
_serviceReport.nurseSignature = signature != null ? "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}" : null;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
24.height,
|
|
||||||
],
|
|
||||||
),
|
|
||||||
).expanded,
|
|
||||||
AppFilledButton(
|
|
||||||
label: context.translation.submitRequest,
|
|
||||||
onPressed: () async {
|
|
||||||
if ((!_formKey.currentState!.validate()) || (!(await _serviceReport.validate(context)))) {
|
|
||||||
setState(() {});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_formKey.currentState!.save();
|
|
||||||
_serviceReport.attachmentsWorkOrder ??= [];
|
|
||||||
if (attachments.isEmpty) _serviceReport.attachmentsWorkOrder = [];
|
|
||||||
for (var item in attachments) {
|
|
||||||
String fileName = CMRequestUtils.isLocalUrl(item.name??'') ? ("${item.name??''.split("/").last}|${base64Encode(File(item.name??'').readAsBytesSync())}") :item.name??'';
|
|
||||||
_serviceReport.attachmentsWorkOrder!.add(Attachment(id: item.id, name: fileName));
|
|
||||||
}
|
|
||||||
final user = Provider.of<UserProvider>(context, listen: false).user!;
|
|
||||||
await _serviceRequestsProvider.createServiceReport(context, report: _serviceReport, request: widget.request, user: user);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
).paddingAll(16),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,398 +0,0 @@
|
|||||||
// import 'dart:convert';
|
|
||||||
// import 'dart:io';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_types_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/text_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/device/asset.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_report.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_request.dart';
|
|
||||||
// import 'package:test_sa/providers/service_request_providers/loan_availability_provider.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/requests/work_order/part_no_button.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/equipment/pick_asset.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/status/report/service_report_last_call.dart';
|
|
||||||
//
|
|
||||||
// import '../../../../../attachment.dart';
|
|
||||||
// import '../../../../../models/lookup.dart';
|
|
||||||
// import '../../../../../models/service_request/spare_parts.dart';
|
|
||||||
// import '../../../../../models/service_request/wo_call_request.dart';
|
|
||||||
// import '../../../../../new_views/common_widgets/app_filled_button.dart';
|
|
||||||
// import '../../../../../new_views/common_widgets/app_text_form_field.dart';
|
|
||||||
// import '../../../../../new_views/common_widgets/default_app_bar.dart';
|
|
||||||
// import '../../../../../new_views/common_widgets/single_item_drop_down_menu.dart';
|
|
||||||
// import '../../../../../providers/service_request_providers/equipment_status_provider.dart';
|
|
||||||
// import '../../../../../providers/work_order/reason_provider.dart';
|
|
||||||
// import '../../../../../providers/work_order/service_type_provider.dart';
|
|
||||||
// import '../../../../widgets/date_and_time/date_picker.dart';
|
|
||||||
// import '../../../../widgets/e_signature/e_signature.dart';
|
|
||||||
// import '../../../../widgets/images/multi_image_picker.dart';
|
|
||||||
// import '../../../../widgets/status/report/service_report_assistant_employee_menu.dart';
|
|
||||||
// import '../../../../widgets/status/report/service_report_fault_description.dart';
|
|
||||||
// import '../../../../widgets/status/report/service_report_repair_location.dart';
|
|
||||||
// import '../../../../widgets/timer/app_timer.dart';
|
|
||||||
//
|
|
||||||
// class EditServiceReport extends StatefulWidget {
|
|
||||||
// static const String id = "/edit-service-report";
|
|
||||||
// final ServiceRequest request;
|
|
||||||
// final ServiceReport report;
|
|
||||||
//
|
|
||||||
// const EditServiceReport({Key? key, required this.request, required this.report}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// _EditServiceReportState createState() => _EditServiceReportState();
|
|
||||||
// }
|
|
||||||
// // todo @delete
|
|
||||||
// class _EditServiceReportState extends State<EditServiceReport> with TickerProviderStateMixin {
|
|
||||||
// late UserProvider _userProvider;
|
|
||||||
// late SettingProvider _settingProvider;
|
|
||||||
// late ServiceRequestsProvider _serviceRequestsProvider;
|
|
||||||
// List<SparePart> _spareParts = [];
|
|
||||||
// late ServiceReport _serviceReport;
|
|
||||||
// bool _isLoading = false;
|
|
||||||
// List<File> _files = [];
|
|
||||||
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
|
||||||
// final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
|
||||||
// final TextEditingController _faultController = TextEditingController();
|
|
||||||
// final TextEditingController _workPreformedController = TextEditingController();
|
|
||||||
// final TextEditingController _partQtyController = TextEditingController();
|
|
||||||
// late ServiceStatusProvider _assetTypeProvider;
|
|
||||||
// late CallRequest _callRequestForWorkOrder;
|
|
||||||
//
|
|
||||||
// Asset? loanAvailabilityAsset;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void initState() {
|
|
||||||
// _serviceReport = widget.report;
|
|
||||||
// _files = widget.report.attachmentsWorkOrder?.map((e) => File(e.name!)).toList() ?? [];
|
|
||||||
// _spareParts = _serviceReport.sparePartsWorkOrders?.map((e) => e.sparePart!).toList() ?? [];
|
|
||||||
// super.initState();
|
|
||||||
// if (context.mounted) {
|
|
||||||
// Provider.of<ReasonProvider>(context, listen: false).reset();
|
|
||||||
// Provider.of<ReasonProvider>(context, listen: false).serviceRequestId = _serviceReport.callRequest!.id.toString();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// void getRequestForWorkOrder() async {
|
|
||||||
// _isLoading = true;
|
|
||||||
// setState(() {});
|
|
||||||
// _callRequestForWorkOrder = (await _serviceRequestsProvider.getCallRequestForWorkOrder(callId: widget.request.id!))!;
|
|
||||||
// _serviceReport.assignedEmployee = _callRequestForWorkOrder.assignedEmployee;
|
|
||||||
// await _assetTypeProvider.getTypes();
|
|
||||||
// _isLoading = false;
|
|
||||||
// setState(() {});
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void dispose() {
|
|
||||||
// _faultController.dispose();
|
|
||||||
// _workPreformedController.dispose();
|
|
||||||
// _partQtyController.dispose();
|
|
||||||
// super.dispose();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// _userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// _settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
// _serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
|
|
||||||
// _assetTypeProvider = Provider.of<ServiceStatusProvider>(context);
|
|
||||||
// _serviceReport.assetType = _assetTypeProvider.statuses?.firstWhere((element) => element.value == _callRequestForWorkOrder.assetType, orElse: null);
|
|
||||||
// return Scaffold(
|
|
||||||
// key: _scaffoldKey,
|
|
||||||
// appBar: DefaultAppBar(title: context.translation.updateWorkOrder),
|
|
||||||
// body: SafeArea(
|
|
||||||
// child: LoadingManager(
|
|
||||||
// isLoading: _isLoading,
|
|
||||||
// isFailedLoading: false,
|
|
||||||
// stateCode: 200,
|
|
||||||
// onRefresh: () async {},
|
|
||||||
// child: Form(
|
|
||||||
// key: _formKey,
|
|
||||||
// child: Column(
|
|
||||||
// children: [
|
|
||||||
// SingleChildScrollView(
|
|
||||||
// child: Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
||||||
// children: [
|
|
||||||
// Card(
|
|
||||||
// child: Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
||||||
// children: [
|
|
||||||
// widget.request.hospitalName!.heading5(context),
|
|
||||||
// 8.height,
|
|
||||||
// "${context.translation.assetNo}: ${widget.request.deviceNumber}".bodyText(context),
|
|
||||||
// "${context.translation.callId}: ${widget.request.requestCode}".bodyText(context),
|
|
||||||
// ],
|
|
||||||
// ).paddingAll(16),
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ADatePicker(
|
|
||||||
// label: context.translation.returnToService,
|
|
||||||
// date: DateTime.tryParse(_serviceReport.visitDate ?? ""),
|
|
||||||
// formatDateWithTime: true,
|
|
||||||
// onDatePicker: (selectedDate) {
|
|
||||||
// showTimePicker(
|
|
||||||
// context: context,
|
|
||||||
// initialTime: TimeOfDay.now(),
|
|
||||||
// ).then((selectedTime) {
|
|
||||||
// if (selectedTime != null) {
|
|
||||||
// DateTime selectedDateTime = DateTime(
|
|
||||||
// selectedDate.year,
|
|
||||||
// selectedDate.month,
|
|
||||||
// selectedDate.day,
|
|
||||||
// selectedTime.hour,
|
|
||||||
// selectedTime.minute,
|
|
||||||
// );
|
|
||||||
// setState(() {
|
|
||||||
// _serviceReport.visitDate = selectedDateTime.toIso8601String();
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// AppTimer(
|
|
||||||
// label: context.translation.workingHours,
|
|
||||||
// timer: _serviceReport.timer,
|
|
||||||
// enabled: _serviceReport.endofWorkTime == null,
|
|
||||||
// onChange: (timer) async {
|
|
||||||
// _serviceReport.timer = timer;
|
|
||||||
// return true;
|
|
||||||
// },
|
|
||||||
// onPick: (value) {},
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// LoadingManager(
|
|
||||||
// isLoading: _assetTypeProvider.isLoading,
|
|
||||||
// isFailedLoading: _assetTypeProvider.statuses == null,
|
|
||||||
// stateCode: _assetTypeProvider.stateCode,
|
|
||||||
// onRefresh: () async {
|
|
||||||
// _assetTypeProvider.reset();
|
|
||||||
// await _assetTypeProvider.getTypes();
|
|
||||||
// _serviceReport.assetType = _assetTypeProvider.statuses?.firstWhere(
|
|
||||||
// (element) => element.value == _serviceReport.callRequest?.assetType,
|
|
||||||
// orElse: null,
|
|
||||||
// );
|
|
||||||
// },
|
|
||||||
// child: AppTextFormField(
|
|
||||||
// labelText: context.translation.assetType,
|
|
||||||
// initialValue: _serviceReport.assetType?.name,
|
|
||||||
// textAlign: TextAlign.center,
|
|
||||||
// enable: false,
|
|
||||||
// style: Theme.of(context).textTheme.titleMedium,
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// SingleItemDropDownMenu<Lookup, EquipmentStatusProvider>(
|
|
||||||
// context: context,
|
|
||||||
// title: context.translation.equipmentStatus,
|
|
||||||
// initialValue: _serviceReport.equipmentStatus,
|
|
||||||
// onSelect: (value) {
|
|
||||||
// _serviceReport.equipmentStatus = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// SingleItemDropDownMenu<Lookup, ReasonProvider>(
|
|
||||||
// context: context,
|
|
||||||
// title: context.translation.reason,
|
|
||||||
// initialValue: _serviceReport.reason,
|
|
||||||
// onSelect: (value) {
|
|
||||||
// if (value != null) {
|
|
||||||
// _serviceReport.reason = value;
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// SingleItemDropDownMenu<Lookup, ServiceTypeProvider>(
|
|
||||||
// context: context,
|
|
||||||
// title: context.translation.serviceType,
|
|
||||||
// initialValue: _serviceReport.serviceType,
|
|
||||||
// onSelect: (value) {
|
|
||||||
// _serviceReport.serviceType = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ServiceReportLastCallsMenu(
|
|
||||||
// report: _serviceReport,
|
|
||||||
// title: context.translation.callLastSituation,
|
|
||||||
// parentId: widget.request.id,
|
|
||||||
// onSelect: (status) {
|
|
||||||
// _serviceReport.calllastSituation = status;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ServiceReportFaultDescription(
|
|
||||||
// requestId: widget.request.id,
|
|
||||||
// initialValue: _serviceReport.faultDescription,
|
|
||||||
// onSelect: (status) {
|
|
||||||
// _serviceReport.faultDescription = status;
|
|
||||||
// _workPreformedController.text = _serviceReport.faultDescription?.workPerformed ?? "";
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// AppTextFormField(
|
|
||||||
// labelText: context.translation.solution,
|
|
||||||
// initialValue: _serviceReport.faultDescription?.workPerformed,
|
|
||||||
// textAlign: TextAlign.center,
|
|
||||||
// enable: false,
|
|
||||||
// controller: _workPreformedController,
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>(
|
|
||||||
// context: context,
|
|
||||||
// title: context.translation.loanAvailability,
|
|
||||||
// initialValue: _serviceReport.loanAvailablity,
|
|
||||||
// onSelect: (status) {
|
|
||||||
// if (status != null) {
|
|
||||||
// setState(() {
|
|
||||||
// _serviceReport.loanAvailablity = status;
|
|
||||||
// if (_serviceReport.loanAvailablity?.value != 1) {
|
|
||||||
// loanAvailabilityAsset = null;
|
|
||||||
// _serviceReport.assetLoan = null;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// if (_serviceReport.loanAvailablity?.value == 1) 8.height,
|
|
||||||
// if (_serviceReport.loanAvailablity?.value == 1)
|
|
||||||
// PickAsset(
|
|
||||||
// device: loanAvailabilityAsset, // ?? _serviceReport.device,
|
|
||||||
// onPickAsset: (asset) {
|
|
||||||
// _serviceReport.assetLoan = AssetInfo.fromJson(asset.toJson());
|
|
||||||
// setState(() {
|
|
||||||
// loanAvailabilityAsset = asset;
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// if (_serviceReport.assetLoan != null && loanAvailabilityAsset == null)
|
|
||||||
// Card(child: "${context.translation.assetNumber}: ${_serviceReport.assetLoan?.assetNumber}".bodyText(context).paddingAll(16)),
|
|
||||||
// 8.height,
|
|
||||||
// ServiceReportAssistantEmployeeMenu(
|
|
||||||
// title: context.translation.assignAssistant,
|
|
||||||
// assetId: _serviceReport.callRequest!.asset!.id!,
|
|
||||||
// initialValue: (_serviceReport.assistantEmployees?.isNotEmpty ?? false) ? _serviceReport.assistantEmployees?.first : null,
|
|
||||||
// onSelect: (employee) {
|
|
||||||
// if (employee == null) {
|
|
||||||
// _serviceReport.assistantEmployees = [];
|
|
||||||
// } else {
|
|
||||||
// _serviceReport.assistantEmployees = [employee.copyWith(id: 0)];
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// AppTextFormField(
|
|
||||||
// labelText: context.translation.travelingExpense,
|
|
||||||
// initialValue: _serviceReport.travelingExpenses?.toString(),
|
|
||||||
// textInputType: TextInputType.number,
|
|
||||||
// onSaved: (value) {
|
|
||||||
// _serviceReport.travelingExpenses = double.tryParse(value) ?? 0.0;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// AppTextFormField(
|
|
||||||
// labelText: context.translation.travelingHours,
|
|
||||||
// initialValue: _serviceReport.travelingHours?.toString(),
|
|
||||||
// textInputType: TextInputType.number,
|
|
||||||
// onSaved: (value) {
|
|
||||||
// _serviceReport.travelingHours = double.tryParse(value) ?? 0.0;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// AppTextFormField(
|
|
||||||
// initialValue: _serviceReport.comment,
|
|
||||||
// labelText: context.translation.technicalComment,
|
|
||||||
// alignLabelWithHint: true,
|
|
||||||
// textInputType: TextInputType.multiline,
|
|
||||||
// onSaved: (value) {
|
|
||||||
// _serviceReport.comment = value;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ServiceReportRepairLocation(
|
|
||||||
// label: context.translation.repairLocation,
|
|
||||||
// initialValue: _serviceReport.repairLocation,
|
|
||||||
// onSelect: (status) {
|
|
||||||
// _serviceReport.repairLocation = status;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// PartNoButton(
|
|
||||||
// controller: _partQtyController,
|
|
||||||
// spareParts: _spareParts,
|
|
||||||
// initialList: _serviceReport.sparePartsWorkOrders,
|
|
||||||
// onChange: (parts) {
|
|
||||||
// _serviceReport.sparePartsWorkOrders = parts;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// MultiFilesPicker(label: context.translation.attachImage, files: _files),
|
|
||||||
// 8.height,
|
|
||||||
// ESignature(
|
|
||||||
// title: context.translation.engSign,
|
|
||||||
// oldSignature: _serviceReport.engSignature,
|
|
||||||
// newSignature: _serviceReport.localEngSignature,
|
|
||||||
// onSaved: (signature) {
|
|
||||||
// if (signature == null || signature.isEmpty) {
|
|
||||||
// setState(() {});
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// _serviceReport.localEngSignature = signature;
|
|
||||||
// _serviceReport.engSignature = signature != null ? "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}" : null;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ESignature(
|
|
||||||
// title: context.translation.nurseSignature,
|
|
||||||
// oldSignature: _serviceReport.nurseSignature,
|
|
||||||
// newSignature: _serviceReport.localNurseSignature,
|
|
||||||
// onSaved: (signature) {
|
|
||||||
// if (signature == null || signature.isEmpty) {
|
|
||||||
// setState(() {});
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// _serviceReport.localNurseSignature = signature;
|
|
||||||
// _serviceReport.nurseSignature = signature != null ? "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}" : null;
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// 24.height,
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ).expanded,
|
|
||||||
// AppFilledButton(
|
|
||||||
// label: context.translation.updateRequest,
|
|
||||||
// onPressed: () async {
|
|
||||||
// if ((!_formKey.currentState!.validate()) || (!(await _serviceReport.validate(context)))) {
|
|
||||||
// setState(() {});
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// _formKey.currentState!.save();
|
|
||||||
// _serviceReport.attachmentsWorkOrder ??= [];
|
|
||||||
// if (_files.isEmpty) _serviceReport.attachmentsWorkOrder = [];
|
|
||||||
// try {
|
|
||||||
// for (var file in _files) {
|
|
||||||
// _serviceReport.attachmentsWorkOrder!.add(Attachment(id: 0, name: "${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}"));
|
|
||||||
// }
|
|
||||||
// } catch (error) {
|
|
||||||
// print(error);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// await _serviceRequestsProvider.updateServiceReport(context, report: _serviceReport);
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ).paddingAll(16),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,45 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/search_work_order.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_report.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_request.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/app_loading.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/failed_loading.dart';
|
|
||||||
//
|
|
||||||
// import 'edit_service_report.dart';
|
|
||||||
// todo @delete
|
|
||||||
// class UpdateServiceReport extends StatefulWidget {
|
|
||||||
// final ServiceRequest request;
|
|
||||||
// final SearchWorkOrder workOrder;
|
|
||||||
//
|
|
||||||
// const UpdateServiceReport({Key? key, required this.request, required this.workOrder}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// _UpdateServiceReportState createState() => _UpdateServiceReportState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _UpdateServiceReportState extends State<UpdateServiceReport> {
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// ServiceRequestsProvider().getSingleServiceReport(context, reportId: widget.workOrder.id!.toInt());
|
|
||||||
// return Scaffold(
|
|
||||||
// body: FutureBuilder<ServiceReport>(
|
|
||||||
// future: ServiceRequestsProvider().getSingleServiceReport(context, reportId: widget.workOrder.id!.toInt()),
|
|
||||||
// builder: (BuildContext context, AsyncSnapshot<ServiceReport> snapshot) {
|
|
||||||
// if (snapshot.hasError) {
|
|
||||||
// return FailedLoading(
|
|
||||||
// message: snapshot.error.toString(),
|
|
||||||
// onReload: () {
|
|
||||||
// setState(() {});
|
|
||||||
// },
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// if (snapshot.connectionState == ConnectionState.done) {
|
|
||||||
// return EditServiceReport(report: snapshot.data as ServiceReport, request: widget.request);
|
|
||||||
// }
|
|
||||||
// return const Center(child: ALoading());
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,126 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/string_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/text_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_request.dart';
|
|
||||||
// import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
|
|
||||||
// import 'package:test_sa/views/pages/sub_workorder/create_sub_workorder_page.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/requests/work_order/update_service_report.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/images/files_list.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/app_loading.dart';
|
|
||||||
//
|
|
||||||
// import '../../../../../controllers/providers/api/user_provider.dart';
|
|
||||||
// import '../../../../../models/enums/user_types.dart';
|
|
||||||
// import '../../../../../models/service_request/search_work_order.dart';
|
|
||||||
// import '../../../../../models/service_request/service_report.dart';
|
|
||||||
// import '../../../../widgets/requests/request_status.dart';
|
|
||||||
//
|
|
||||||
// class WorkOrderDetailsPage extends StatelessWidget {
|
|
||||||
// static const String id = "/work_order_details_page";
|
|
||||||
// final SearchWorkOrder? workOrder;
|
|
||||||
// final ServiceRequest? serviceRequest;
|
|
||||||
//// //todo @delete
|
|
||||||
// const WorkOrderDetailsPage({Key? key, this.workOrder, this.serviceRequest}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// UserProvider userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// return Scaffold(
|
|
||||||
// appBar: DefaultAppBar(title: context.translation.activities),
|
|
||||||
// body: FutureBuilder<ServiceReport>(
|
|
||||||
// future: Provider.of<ServiceRequestsProvider>(context).getSingleServiceReport(context, reportId: workOrder!.id!.toInt()),
|
|
||||||
// builder: (context, snapshot) {
|
|
||||||
// final workOrderDetails = snapshot.data;
|
|
||||||
// return Column(
|
|
||||||
// children: [
|
|
||||||
// snapshot.connectionState == ConnectionState.waiting
|
|
||||||
// ? const Expanded(child: ALoading())
|
|
||||||
// : SingleChildScrollView(
|
|
||||||
// child: Row(
|
|
||||||
// mainAxisSize: MainAxisSize.min,
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// StatusLabel(
|
|
||||||
// label: workOrderDetails?.currentSituation?.name,
|
|
||||||
// textColor: AppColor.getRequestStatusTextColorByName(context, workOrderDetails?.currentSituation?.name),
|
|
||||||
// backgroundColor: AppColor.getRequestStatusColorByName(context, workOrderDetails?.currentSituation?.name),
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// Text(serviceRequest!.requestCode!, style: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50)),
|
|
||||||
// 8.height,
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.assetName}: ${workOrderDetails?.callRequest?.asset?.modelDefinition?.assetName?.cleanupWhitespace.capitalizeFirstOfEach}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.orderWorkNumber}: ${workOrderDetails!.workOrderNo}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// '${context.translation.assignedEmployee}: ${workOrderDetails.assignedEmployee?.name ?? ""}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// ),
|
|
||||||
// Text('${context.translation.assetSN}: ${workOrderDetails.callRequest?.asset?.assetSerialNo ?? ""}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)),
|
|
||||||
// Text('${context.translation.assetName}: ${workOrderDetails.callRequest?.asset?.modelDefinition?.assetName ?? ""}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)),
|
|
||||||
// Text('${context.translation.assetNumber}: ${workOrderDetails.callRequest?.asset?.assetNumber ?? ""}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)),
|
|
||||||
// Text('${context.translation.model}: ${workOrderDetails.callRequest?.asset?.modelDefinition?.modelName ?? ""}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)),
|
|
||||||
// Text('${context.translation.site}: ${workOrderDetails.callRequest?.asset?.site?.custName ?? ""}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)),
|
|
||||||
// Text('${context.translation.currentSituation}: ${workOrderDetails.currentSituation?.name}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)),
|
|
||||||
// Text('Situation: ${workOrderDetails.calllastSituation?.name ?? '' ?? ""}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)),
|
|
||||||
// Text('${context.translation.startDate}: ${workOrderDetails.startofWorkTime?.toServiceRequestDetailsFormat ?? "" ?? '' ?? ""}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)),
|
|
||||||
// Text('${context.translation.endDate}: ${workOrderDetails.endofWorkTime?.toServiceRequestDetailsFormat ?? "" ?? '' ?? ""}',
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)),
|
|
||||||
// if (workOrderDetails.attachmentsWorkOrder?.isNotEmpty ?? false) ...[
|
|
||||||
// 8.height,
|
|
||||||
// const Divider().defaultStyle(context),
|
|
||||||
// FilesList(images: workOrderDetails.attachmentsWorkOrder!.map((e) => e.name!).toList()),
|
|
||||||
// ],
|
|
||||||
// ],
|
|
||||||
// ).expanded,
|
|
||||||
// Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.end,
|
|
||||||
// children: [
|
|
||||||
// if (userProvider.user!.type == UsersTypes.engineer && serviceRequest?.statusValue != 5 && serviceRequest?.statusValue != 3)
|
|
||||||
// Align(alignment: AlignmentDirectional.centerEnd, child: "edit_icon".toSvgAsset(height: 21, width: 21)).onPress(() {
|
|
||||||
// Navigator.of(context).push(MaterialPageRoute(builder: (_) => UpdateServiceReport(workOrder: workOrder!, request: serviceRequest!)));
|
|
||||||
// }),
|
|
||||||
// // if (userProvider.user.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3) 8.height,
|
|
||||||
// // Text(workOrderDetails.endofWorkTime?.toServiceRequestCardFormat ?? "",
|
|
||||||
// // style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)),
|
|
||||||
// ],
|
|
||||||
// )
|
|
||||||
// ],
|
|
||||||
// ).toShadowContainer(context),
|
|
||||||
// ).paddingAll(16).expanded,
|
|
||||||
// if (userProvider.user!.type == UsersTypes.engineer && serviceRequest?.statusValue != 5 && serviceRequest?.statusValue != 3)
|
|
||||||
// AppFilledButton(
|
|
||||||
// onPressed: () {
|
|
||||||
// Navigator.of(context).push(
|
|
||||||
// MaterialPageRoute(builder: (context) => CreateSubWorkOrderPage(workOrder: workOrder)),
|
|
||||||
// );
|
|
||||||
// },
|
|
||||||
// label: context.translation.createSubWorkOrder,
|
|
||||||
// ).paddingAll(16),
|
|
||||||
// ],
|
|
||||||
// );
|
|
||||||
// }),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,127 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/enums/user_types.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/search_work_order.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_request.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
|
|
||||||
// import 'package:test_sa/cm_module/views/components/activity_card_view.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/requests/work_order/create_service_report.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
|
|
||||||
//// //todo @delete
|
|
||||||
// class WorkOrderListPage extends StatelessWidget {
|
|
||||||
// static const String id = "/work-order-list";
|
|
||||||
// final ServiceRequest? serviceRequest;
|
|
||||||
//
|
|
||||||
// WorkOrderListPage({Key? key, this.serviceRequest}) : super(key: key);
|
|
||||||
//
|
|
||||||
// late ServiceRequestsProvider serviceRequestsProvider;
|
|
||||||
// late UserProvider _userProvider;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// List<SearchWorkOrder> workOrders = [];
|
|
||||||
// _userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
|
|
||||||
// return Scaffold(
|
|
||||||
// appBar: DefaultAppBar(title: context.translation.activities),
|
|
||||||
// //backgroundColor: const Color(0xfff8f9fb),
|
|
||||||
// body: SafeArea(
|
|
||||||
// child: FutureBuilder(
|
|
||||||
// future: serviceRequestsProvider.searchWorkOrders(callId: serviceRequest!.requestCode!),
|
|
||||||
// builder: (context, snap) {
|
|
||||||
// if (snap.connectionState == ConnectionState.waiting) return const Center(child: CircularProgressIndicator());
|
|
||||||
// workOrders = snap.data as List<SearchWorkOrder>;
|
|
||||||
// return Column(
|
|
||||||
// children: [
|
|
||||||
// (workOrders.isEmpty)
|
|
||||||
// ? NoDataFound(message: context.translation.noDataFound).expanded
|
|
||||||
// : ListView.separated(
|
|
||||||
// padding: const EdgeInsets.all(16),
|
|
||||||
// itemCount: workOrders.length,
|
|
||||||
// separatorBuilder: (czt, index) => 8.height,
|
|
||||||
// itemBuilder: (context, index) {
|
|
||||||
// return ActivityCardView(workOrders[index], serviceRequest!);
|
|
||||||
//
|
|
||||||
// //older code....
|
|
||||||
// // Row(
|
|
||||||
// // crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// // children: [
|
|
||||||
// // Column(
|
|
||||||
// // mainAxisSize: MainAxisSize.min,
|
|
||||||
// // crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// // children: [
|
|
||||||
// // StatusLabel(
|
|
||||||
// // label: workOrders[index].currentSituation.name,
|
|
||||||
// // textColor: AppColor.getRequestStatusTextColorByName(context, workOrders[index].currentSituation.name),
|
|
||||||
// // backgroundColor: AppColor.getRequestStatusColorByName(context, workOrders[index].currentSituation.name),
|
|
||||||
// // ),
|
|
||||||
// // 8.height,
|
|
||||||
// // Text(serviceRequest.requestCode, style: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50)),
|
|
||||||
// // Text(
|
|
||||||
// // '${context.translation.assetName}: ${workOrders[index].callRequest.asset.modelDefinition.assetName?.cleanupWhitespace?.capitalizeFirstOfEach}',
|
|
||||||
// // style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// // ),
|
|
||||||
// // Text(
|
|
||||||
// // '${context.translation.currentSituation}: ${workOrders[index].currentSituation.name}',
|
|
||||||
// // style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
|
||||||
// // ),
|
|
||||||
// // 16.height,
|
|
||||||
// // Row(
|
|
||||||
// // mainAxisSize: MainAxisSize.min,
|
|
||||||
// // children: [
|
|
||||||
// // Text(
|
|
||||||
// // context.translation.viewDetails,
|
|
||||||
// // style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)),
|
|
||||||
// // ),
|
|
||||||
// // 4.width,
|
|
||||||
// // Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14)
|
|
||||||
// // ],
|
|
||||||
// // ),
|
|
||||||
// // ],
|
|
||||||
// // ).onPress(() {
|
|
||||||
// // Navigator.push(
|
|
||||||
// // context,
|
|
||||||
// // MaterialPageRoute(builder: (context) => WorkOrderDetailsPage(workOrder: workOrders[index], serviceRequest: serviceRequest)),
|
|
||||||
// // );
|
|
||||||
// // }).expanded,
|
|
||||||
// // Column(
|
|
||||||
// // crossAxisAlignment: CrossAxisAlignment.end,
|
|
||||||
// // mainAxisAlignment: MainAxisAlignment.start,
|
|
||||||
// // children: [
|
|
||||||
// // if (_userProvider.user.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3)
|
|
||||||
// // "edit".toSvgAsset(height: 48, width: 48).onPress(() {
|
|
||||||
// // Navigator.of(context).push(
|
|
||||||
// // MaterialPageRoute(builder: (_) => UpdateServiceReport(request: serviceRequest, workOrder: workOrders[index])),
|
|
||||||
// // );
|
|
||||||
// // }),
|
|
||||||
// // if (_userProvider.user.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3) 8.height,
|
|
||||||
// // Text(workOrders[index].visitDate?.toServiceRequestCardFormat ?? "",
|
|
||||||
// // textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral30 : const Color(0xFF3B3D4A))),
|
|
||||||
// // ],
|
|
||||||
// // )
|
|
||||||
// // ],
|
|
||||||
// // ).toShadowContainer(context);
|
|
||||||
// },
|
|
||||||
// ).expanded,
|
|
||||||
// if (_userProvider.user!.type == UsersTypes.engineer && (serviceRequest!.statusValue != 5 && serviceRequest!.statusValue != 3))
|
|
||||||
// AppFilledButton(
|
|
||||||
// label: context.translation.createWorkOrder,
|
|
||||||
// maxWidth: true,
|
|
||||||
// onPressed: () {
|
|
||||||
// Navigator.of(context).push(MaterialPageRoute(builder: (_) => CreateServiceReport(request: serviceRequest!)));
|
|
||||||
// },
|
|
||||||
// ).paddingOnly(start: 16, end: 16, bottom: 16)
|
|
||||||
// ],
|
|
||||||
// );
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,68 +0,0 @@
|
|||||||
// 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/extensions/string_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/device/device_transfer.dart';
|
|
||||||
// import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
||||||
//
|
|
||||||
// import '../../../extensions/text_extensions.dart';
|
|
||||||
//
|
|
||||||
// class DeviceTransferItem extends StatelessWidget {
|
|
||||||
// final int index;
|
|
||||||
// final DeviceTransfer item;
|
|
||||||
// final Function(DeviceTransfer) onPressed;
|
|
||||||
//
|
|
||||||
// const DeviceTransferItem({Key? key,required this.item,required this.onPressed,required this.index}) : super(key: key);
|
|
||||||
//// //todo @delete
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// return Row(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
||||||
// children: [
|
|
||||||
// context.translation.deviceTransferRequest.heading5(context),
|
|
||||||
// '${context.translation.from} : ${item.senderAssignedEmployeeName}'.bodyText(context),
|
|
||||||
// '${context.translation.to} : ${item.receiverAssignedEmployeeName}'.bodyText(context),
|
|
||||||
// 8.height,
|
|
||||||
// Row(
|
|
||||||
// mainAxisSize: MainAxisSize.min,
|
|
||||||
// children: [
|
|
||||||
// Text(
|
|
||||||
// context.translation.viewDetails,
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)),
|
|
||||||
// ),
|
|
||||||
// 4.width,
|
|
||||||
// const Icon(
|
|
||||||
// Icons.arrow_forward,
|
|
||||||
// color: Color(0xFF4A8DB7),
|
|
||||||
// size: 14,
|
|
||||||
// )
|
|
||||||
// ],
|
|
||||||
// ).onPress(() => onPressed(item)),
|
|
||||||
// ],
|
|
||||||
// ).expanded,
|
|
||||||
// Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.end,
|
|
||||||
// children: [
|
|
||||||
// /// TBD
|
|
||||||
// // StatusLabel(
|
|
||||||
// // label: '',
|
|
||||||
// // id: 0,
|
|
||||||
// // textColor: AColors.getPriorityStatusTextColor(0),
|
|
||||||
// // backgroundColor: AColors.getPriorityStatusColor(0)),
|
|
||||||
// // 8.width,
|
|
||||||
//
|
|
||||||
// /// TBD
|
|
||||||
// //StatusLabel(label: '', textColor: AColors.getRequestStatusTextColor(0), backgroundColor: AColors.getRequestStatusColor(0)),
|
|
||||||
// 1.width,
|
|
||||||
// Text(item.createdOn != null ? item.createdOn!.toServiceRequestCardFormat : "",
|
|
||||||
// textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF3B3D4A))),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ).toShadowContainer(context).paddingOnly(bottom: 8);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,41 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/models/device/device_transfer.dart';
|
|
||||||
// import 'package:test_sa/views/pages/device_transfer/device_transfer_details.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/device_trancfer/device_transfer_item.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/lazy_loading.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
|
|
||||||
//
|
|
||||||
// class DeviceTransferList extends StatelessWidget {
|
|
||||||
// final List<DeviceTransfer> items;
|
|
||||||
// final bool nextPage;
|
|
||||||
// final Future<void> Function() onLazyLoad;
|
|
||||||
//// //todo @delete
|
|
||||||
// const DeviceTransferList({Key? key,required this.items,required this.nextPage,required this.onLazyLoad}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// if (items.isEmpty) {
|
|
||||||
// return NoDataFound(
|
|
||||||
// message: context.translation.noServiceRequestFound,
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// return LazyLoading(
|
|
||||||
// nextPage: nextPage,
|
|
||||||
// onLazyLoad: onLazyLoad,
|
|
||||||
// child: ListView.builder(
|
|
||||||
// //physics: const BouncingScrollPhysics(),
|
|
||||||
// itemCount: items.length,
|
|
||||||
// padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
|
|
||||||
// itemBuilder: (context, itemIndex) {
|
|
||||||
// return DeviceTransferItem(
|
|
||||||
// index: itemIndex,
|
|
||||||
// item: items[itemIndex],
|
|
||||||
// onPressed: (model) async {
|
|
||||||
// Navigator.of(context).push(MaterialPageRoute(builder: (_) => DeviceTransferDetails(model: model)));
|
|
||||||
// },
|
|
||||||
// );
|
|
||||||
// }),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,135 +0,0 @@
|
|||||||
// 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/extensions/string_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
//
|
|
||||||
// import '../../../extensions/text_extensions.dart';
|
|
||||||
// import '../../../models/new_models/gas_refill_model.dart';
|
|
||||||
// import '../../../new_views/app_style/app_color.dart';
|
|
||||||
// import '../requests/request_status.dart';
|
|
||||||
//
|
|
||||||
// class GasRefillItem extends StatelessWidget {
|
|
||||||
// final int index;
|
|
||||||
// final GasRefillModel item;
|
|
||||||
// final Function(GasRefillModel) onPressed;
|
|
||||||
// todo @delete
|
|
||||||
// const GasRefillItem({Key? key,required this.item,required this.onPressed,required this.index}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// return Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// Row(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// // StatusLabel(
|
|
||||||
// // label: item.priority,
|
|
||||||
// // textColor: AppColor.getRequestStatusTextColorByName(context, item.priority),
|
|
||||||
// // backgroundColor: AppColor.getRequestStatusColorByName(context, item.priority),
|
|
||||||
// // ),
|
|
||||||
// StatusLabel(
|
|
||||||
// label: item.status!.name,
|
|
||||||
// textColor: AppColor.getRequestStatusTextColor(context, item.status!.value!),
|
|
||||||
// backgroundColor: AppColor.getRequestStatusColor(context, item.status!.value!),
|
|
||||||
// ),
|
|
||||||
// 1.width.expanded,
|
|
||||||
// Text(item.startDate != null ? item.startDate!.toServiceRequestCardFormat : "",
|
|
||||||
// textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF3B3D4A))),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// context.translation.gasRefillRequest.heading5(context),
|
|
||||||
// '${context.translation.gasType}: ${item.gasRefillDetails![0].gasType!.name}'.bodyText(context),
|
|
||||||
// '${context.translation.site}: ${item.site!.name}'.bodyText(context),
|
|
||||||
// 8.height,
|
|
||||||
// Row(
|
|
||||||
// mainAxisSize: MainAxisSize.min,
|
|
||||||
// children: [
|
|
||||||
// Text(
|
|
||||||
// context.translation.viewDetails,
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)),
|
|
||||||
// ),
|
|
||||||
// 4.width,
|
|
||||||
// const Icon(
|
|
||||||
// Icons.arrow_forward,
|
|
||||||
// color: Color(0xFF4A8DB7),
|
|
||||||
// size: 14,
|
|
||||||
// )
|
|
||||||
// ],
|
|
||||||
// ).onPress(() => onPressed(item)),
|
|
||||||
// // Row(
|
|
||||||
// // children: [
|
|
||||||
// // Expanded(
|
|
||||||
// // child: Column(
|
|
||||||
// // crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// // children: [
|
|
||||||
// // Text(
|
|
||||||
// // item.title ?? "-----",
|
|
||||||
// // style: Theme.of(context).textTheme.titleLarge.copyWith(color: onItemColor, fontSize: 16, fontWeight: FontWeight.bold),
|
|
||||||
// // ),
|
|
||||||
// // Row(
|
|
||||||
// // children: [
|
|
||||||
// // Expanded(
|
|
||||||
// // child: Text(
|
|
||||||
// // subtitle.hospital,
|
|
||||||
// // style: Theme.of(context).textTheme.titleSmall.copyWith(
|
|
||||||
// // color: onItemColor,
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// // if (item.clientName != null)
|
|
||||||
// // Text(
|
|
||||||
// // item.clientName,
|
|
||||||
// // style: Theme.of(context).textTheme.titleSmall.copyWith(
|
|
||||||
// // color: onItemColor,
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// // ],
|
|
||||||
// // ),
|
|
||||||
// // Divider(color: onItemColor),
|
|
||||||
// // Row(
|
|
||||||
// // children: [
|
|
||||||
// // Expanded(
|
|
||||||
// // child: Text(subtitle.status, style: Theme.of(context).textTheme.titleSmall.copyWith(color: onItemColor)),
|
|
||||||
// // ),
|
|
||||||
// // if (item.status?.id != null) StatusLabel(label: item.status.name, color: AColors.getGasStatusColor(item.status.id)),
|
|
||||||
// // ],
|
|
||||||
// // ),
|
|
||||||
// // if (item?.expectedDate != null) Divider(color: onItemColor),
|
|
||||||
// // if (item?.expectedDate != null)
|
|
||||||
// // Row(
|
|
||||||
// // mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
// // children: [
|
|
||||||
// // Text("Expected Date", style: Theme.of(context).textTheme.titleSmall.copyWith(color: onItemColor)),
|
|
||||||
// // Text(item.expectedDate.toIso8601String().split("T").first, style: Theme.of(context).textTheme.titleSmall.copyWith(color: onItemColor)),
|
|
||||||
// // ],
|
|
||||||
// // ),
|
|
||||||
// // if (item?.details?.isNotEmpty ?? false) Divider(color: onItemColor),
|
|
||||||
// // Row(
|
|
||||||
// // mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
// // crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// // children: [
|
|
||||||
// // if (item?.details?.isNotEmpty ?? false) Text("Gas Type", style: Theme.of(context).textTheme.titleSmall.copyWith(color: onItemColor)),
|
|
||||||
// // Column(
|
|
||||||
// // crossAxisAlignment: CrossAxisAlignment.end,
|
|
||||||
// // children: item.details
|
|
||||||
// // .map(
|
|
||||||
// // (gas) => gas?.type?.name?.isNotEmpty ?? false
|
|
||||||
// // ? Text(gas?.type?.name, style: Theme.of(context).textTheme.titleSmall.copyWith(color: onItemColor))
|
|
||||||
// // : const SizedBox.shrink(),
|
|
||||||
// // )
|
|
||||||
// // .toList(),
|
|
||||||
// // )
|
|
||||||
// // ],
|
|
||||||
// // ),
|
|
||||||
// // ],
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// // ],
|
|
||||||
// // ),
|
|
||||||
// ],
|
|
||||||
// ).toShadowContainer(context).paddingOnly(bottom: 8);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,50 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/modules/tm_module/gas_refill/gas_refill_details.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/gas_refill/gas_refill_item.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/lazy_loading.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
|
|
||||||
//
|
|
||||||
// import '../../../models/new_models/gas_refill_model.dart';
|
|
||||||
// todo @delete
|
|
||||||
// class GasRefillList extends StatefulWidget {
|
|
||||||
// final List<GasRefillModel> items;
|
|
||||||
// final bool nextPage;
|
|
||||||
// final Future<void> Function() onLazyLoad;
|
|
||||||
//
|
|
||||||
// const GasRefillList({Key? key,required this.items,required this.nextPage,required this.onLazyLoad}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// State<GasRefillList> createState() => _GasRefillListState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _GasRefillListState extends State<GasRefillList> {
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// if (widget.items.isEmpty) {
|
|
||||||
// return NoDataFound(
|
|
||||||
// message: context.translation.noServiceRequestFound,
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// return LazyLoading(
|
|
||||||
// nextPage: widget.nextPage,
|
|
||||||
// onLazyLoad: widget.onLazyLoad,
|
|
||||||
// child: ListView.builder(
|
|
||||||
// //physics: const BouncingScrollPhysics(),
|
|
||||||
// itemCount: widget.items.length,
|
|
||||||
// padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
|
|
||||||
// itemBuilder: (context, itemIndex) {
|
|
||||||
// return GasRefillItem(
|
|
||||||
// index: itemIndex,
|
|
||||||
// item: widget.items[itemIndex],
|
|
||||||
// onPressed: (model) {
|
|
||||||
// Navigator.of(context).push(MaterialPageRoute(builder: (_) => GasRefillDetailsPage(model: model))).then((value) {
|
|
||||||
// model = value;
|
|
||||||
// setState(() {});
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// );
|
|
||||||
// }),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/models/hospital.dart';
|
|
||||||
// import 'package:test_sa/views/app_style/sizing.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/hospitals/single_hospital_picker.dart';
|
|
||||||
//
|
|
||||||
// class HospitalButton extends StatelessWidget {
|
|
||||||
// final Function(Hospital) onHospitalPick;
|
|
||||||
// final Hospital hospital;
|
|
||||||
//
|
|
||||||
// const HospitalButton({Key? key, this.hospital, this.onHospitalPick}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// return ElevatedButton(
|
|
||||||
// style: ElevatedButton.styleFrom(
|
|
||||||
// elevation: 0,
|
|
||||||
// // foregroundColor: AColors.primaryColor,
|
|
||||||
// // backgroundColor: AColors.inputFieldBackgroundColor,
|
|
||||||
// padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
|
|
||||||
// shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context))),
|
|
||||||
// ),
|
|
||||||
// child: Row(
|
|
||||||
// children: [
|
|
||||||
// Expanded(
|
|
||||||
// child: Padding(
|
|
||||||
// padding: const EdgeInsets.symmetric(horizontal: 8),
|
|
||||||
// child: Text(
|
|
||||||
// hospital?.name ?? context.translation.pickHospital,
|
|
||||||
// // style: Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 14, color: AColors.grey3A),
|
|
||||||
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
|
||||||
// textDirection: TextDirection.rtl,
|
|
||||||
// textAlign: TextAlign.left,
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// const Icon(
|
|
||||||
// Icons.keyboard_arrow_down,
|
|
||||||
// size: 28, /*color: AColors.grey3A*/
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// onPressed: () async {
|
|
||||||
// Hospital _hospital = await Navigator.of(context).pushNamed(SingleHospitalPicker.id) as Hospital;
|
|
||||||
// onHospitalPick(_hospital);
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,91 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
// import 'package:test_sa/extensions/int_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/string_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/all_requests_and_count_model.dart';
|
|
||||||
// import 'package:test_sa/models/enums/user_types.dart';
|
|
||||||
// import 'package:test_sa/models/ppm/ppm.dart';
|
|
||||||
// import 'package:test_sa/modules/pm_module/ppm_wo/ppm_details_page.dart';
|
|
||||||
// import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
||||||
//
|
|
||||||
// import '../../../controllers/providers/api/user_provider.dart';
|
|
||||||
// import '../../../extensions/text_extensions.dart';
|
|
||||||
// import '../requests/request_status.dart';
|
|
||||||
//todo @delete
|
|
||||||
// class PpmItem extends StatelessWidget {
|
|
||||||
// final Ppm ppm;
|
|
||||||
// final RequestsDetails? request;
|
|
||||||
//
|
|
||||||
// const PpmItem({Key? key, required this.ppm, this.request}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// UserProvider userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// return Row(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// children: [
|
|
||||||
// Row(
|
|
||||||
// children: [
|
|
||||||
// if (request?.priority != null)
|
|
||||||
// StatusLabel(
|
|
||||||
// label: request!.priority,
|
|
||||||
// textColor: AppColor.getRequestStatusTextColorByName(context, request!.priority!),
|
|
||||||
// backgroundColor: AppColor.getRequestStatusColorByName(context, request!.priority!),
|
|
||||||
// ),
|
|
||||||
// if (request?.priority != null) 8.width,
|
|
||||||
// StatusLabel(
|
|
||||||
// label: ppm.visitStatusName,
|
|
||||||
// id: ppm.deviceStatusId!.toInt(),
|
|
||||||
// textColor: AppColor.getRequestStatusTextColorByName(context, ppm.visitStatusName!),
|
|
||||||
// backgroundColor: AppColor.getRequestStatusColorByName(context, ppm.visitStatusName!),
|
|
||||||
// ),
|
|
||||||
// 1.width.expanded,
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// 8.height,
|
|
||||||
// ppm.assetName!.heading5(context),
|
|
||||||
// 8.height,
|
|
||||||
// '${context.translation.assetNumber}: ${ppm.assetNumber}'.bodyText(context),
|
|
||||||
// '${context.translation.assetSN}: ${ppm.assetSerialNo}'.bodyText(context),
|
|
||||||
// '${context.translation.code}: ${ppm.visitCode}'.bodyText(context),
|
|
||||||
// 16.height,
|
|
||||||
// Row(
|
|
||||||
// mainAxisSize: MainAxisSize.min,
|
|
||||||
// children: [
|
|
||||||
// Text(
|
|
||||||
// context.translation.viewDetails,
|
|
||||||
// style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)),
|
|
||||||
// ),
|
|
||||||
// 4.width,
|
|
||||||
// Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14)
|
|
||||||
// ],
|
|
||||||
// ).onPress(() {
|
|
||||||
// Navigator.of(context).push(MaterialPageRoute(builder: (_) => PpmDetailsPage(requestId: ppm.id!.toInt())));
|
|
||||||
// }),
|
|
||||||
// ],
|
|
||||||
// ).expanded,
|
|
||||||
// 8.width,
|
|
||||||
// Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.end,
|
|
||||||
// children: [
|
|
||||||
// if (userProvider.user!.type == UsersTypes.engineer && (ppm.deviceStatusId != 270 || ppm.deviceStatusId != 269))
|
|
||||||
// "edit".toSvgAsset(height: 48, width: 48).onPress(() {
|
|
||||||
// // Navigator.of(context).push(MaterialPageRoute(builder: (_) => UpdatePpm(ppm: ppm, details: request, planPreventiveVisit: null,)));
|
|
||||||
// }),
|
|
||||||
// if (userProvider.user!.type == UsersTypes.engineer && (ppm.deviceStatusId != 270 || ppm.deviceStatusId != 269)) 8.height,
|
|
||||||
// Text(
|
|
||||||
// ppm.createdOn?.toServiceRequestCardFormat ?? "",
|
|
||||||
// textAlign: TextAlign.end,
|
|
||||||
// style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// )
|
|
||||||
// ],
|
|
||||||
// ).toShadowContainer(context).paddingOnly(bottom: 8);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,79 +0,0 @@
|
|||||||
//
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
//
|
|
||||||
// import 'package:qr_code_scanner/qr_code_scanner.dart';
|
|
||||||
// import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
|
|
||||||
// todo @delete
|
|
||||||
// class QrScannerDialog extends StatefulWidget {
|
|
||||||
// @override
|
|
||||||
// State<QrScannerDialog> createState() => _QrScannerDialogState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _QrScannerDialogState extends State<QrScannerDialog> {
|
|
||||||
// final GlobalKey qrKey = GlobalKey(debugLabel: 'QR');
|
|
||||||
// Barcode? result;
|
|
||||||
// QRViewController? controller;
|
|
||||||
// bool isPicked = false;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// return Scaffold(
|
|
||||||
// body: Container(
|
|
||||||
// width: double.infinity,
|
|
||||||
// height: double.infinity,
|
|
||||||
// color: Colors.white,
|
|
||||||
// child: Column(
|
|
||||||
// children: [
|
|
||||||
// Expanded(
|
|
||||||
// flex: 1,
|
|
||||||
// child: QRView(
|
|
||||||
// key: qrKey,
|
|
||||||
// onQRViewCreated: _onQRViewCreated,
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// // Expanded(
|
|
||||||
// // flex: 1,
|
|
||||||
// // child: Center(
|
|
||||||
// // child: (result != null)
|
|
||||||
// // ? Text(
|
|
||||||
// // 'Barcode Type: ${result!.format} Data: ${result!.code}')
|
|
||||||
// // : Text('Scan a code'),
|
|
||||||
// // ),
|
|
||||||
// // ),
|
|
||||||
// Padding(
|
|
||||||
// padding: const EdgeInsets.all(12.0),
|
|
||||||
// child: AppFilledButton(
|
|
||||||
// label: "LocaleKeys.cancel.tr()",
|
|
||||||
// onPressed: () {
|
|
||||||
// Navigator.pop(context);
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// void _onQRViewCreated(QRViewController controller) {
|
|
||||||
// this.controller = controller;
|
|
||||||
//
|
|
||||||
// controller.scannedDataStream.listen((scanData) {
|
|
||||||
// setState(() {
|
|
||||||
// result = scanData;
|
|
||||||
// if (!isPicked) {
|
|
||||||
// isPicked = true;
|
|
||||||
// Navigator.pop(context, result!.code);
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
// controller.pauseCamera();
|
|
||||||
// controller.resumeCamera();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void dispose() {
|
|
||||||
// controller?.dispose();
|
|
||||||
// super.dispose();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,48 +0,0 @@
|
|||||||
//
|
|
||||||
// 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/service_request/service_request.dart';
|
|
||||||
// import 'package:test_sa/views/pages/user/requests/service_request_details.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/lazy_loading.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/requests/service_request_item.dart';
|
|
||||||
//// //todo @delete
|
|
||||||
// class ServiceRequestsList extends StatelessWidget {
|
|
||||||
// final List<ServiceRequest> requests;
|
|
||||||
// final bool nextPage;
|
|
||||||
// final Future<void> Function() onLazyLoad;
|
|
||||||
//
|
|
||||||
// const ServiceRequestsList({Key? key,required this.requests,required this.nextPage,required this.onLazyLoad}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// print('servies request page');
|
|
||||||
// if (requests.isEmpty) {
|
|
||||||
// return NoDataFound(
|
|
||||||
// message: context.translation.noServiceRequestFound,
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// return LazyLoading(
|
|
||||||
// nextPage: nextPage,
|
|
||||||
// onLazyLoad: onLazyLoad,
|
|
||||||
// child: ListView.separated(
|
|
||||||
// //physics: BouncingScrollPhysics(),
|
|
||||||
// itemCount: requests.length,
|
|
||||||
// padding: const EdgeInsets.all(16),
|
|
||||||
// separatorBuilder: (cxt, index) => 8.height,
|
|
||||||
// itemBuilder: (context, itemIndex) {
|
|
||||||
// return ServiceRequestItem(
|
|
||||||
// index: itemIndex,
|
|
||||||
// request: requests[itemIndex],
|
|
||||||
// onPressed: (request) {
|
|
||||||
// Navigator.of(context).push(MaterialPageRoute(
|
|
||||||
// builder: (_) => ServiceRequestDetailsPage(
|
|
||||||
// serviceRequest: request,
|
|
||||||
// )));
|
|
||||||
// },
|
|
||||||
// );
|
|
||||||
// }),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,41 +0,0 @@
|
|||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/status_drop_down/employee/nurse_provider.dart';
|
|
||||||
// import 'package:test_sa/models/employee.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/status/nurse_employee_menu.dart';
|
|
||||||
// TODO DELETE
|
|
||||||
// class NurseMenu extends StatelessWidget {
|
|
||||||
// final Function(Employee?) onSelect; // Now accepts nullable Employee
|
|
||||||
// final Employee? initialValue; // Now nullable
|
|
||||||
//
|
|
||||||
// final String title; // Now nullable
|
|
||||||
// final bool enable;
|
|
||||||
// final int? siteId; // Now nullable
|
|
||||||
//
|
|
||||||
// const NurseMenu({Key? key, required this.onSelect, required this.title, this.initialValue, this.enable = true, this.siteId}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// final menuProvider = Provider.of<NurseProvider>(context, listen: false);
|
|
||||||
// if (siteId != null) {
|
|
||||||
// menuProvider.siteId = siteId!;
|
|
||||||
// }
|
|
||||||
// return LoadingManager(
|
|
||||||
// isLoading: menuProvider.isLoading,
|
|
||||||
// isFailedLoading: menuProvider.nursesList == null,
|
|
||||||
// stateCode: menuProvider.stateCode,
|
|
||||||
// onRefresh: menuProvider.getData,
|
|
||||||
// // Directly pass the getData method
|
|
||||||
// child: NurseEmployeeMenu(
|
|
||||||
// initialValue: initialValue,
|
|
||||||
// title: title,
|
|
||||||
// list: menuProvider.nursesList ?? [],
|
|
||||||
// // Provide an empty list if null
|
|
||||||
// onSelect: onSelect,
|
|
||||||
// // Pass the onSelect function directly
|
|
||||||
// enable: enable,
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,140 +0,0 @@
|
|||||||
// 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/extensions/text_extensions.dart';
|
|
||||||
// import 'package:test_sa/extensions/widget_extensions.dart';
|
|
||||||
// import 'package:test_sa/models/employee.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/bottom_sheets/selection_bottom_sheet.dart';
|
|
||||||
//
|
|
||||||
// import '../../../new_views/app_style/app_color.dart';
|
|
||||||
//// TODO DELETE
|
|
||||||
// class NurseEmployeeMenu extends StatefulWidget {
|
|
||||||
// final List<Employee>? list;
|
|
||||||
// final Employee? initialValue;
|
|
||||||
// final Function(Employee?) onSelect;
|
|
||||||
// final String title;
|
|
||||||
// final bool? enable;
|
|
||||||
//
|
|
||||||
// const NurseEmployeeMenu({Key? key, this.list, required this.title, required this.onSelect, this.initialValue, this.enable = true}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// _SingleNurseEmployeeMenuState createState() => _SingleNurseEmployeeMenuState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _SingleNurseEmployeeMenuState extends State<NurseEmployeeMenu> {
|
|
||||||
// Employee? _selectedStatus;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void setState(VoidCallback fn) {
|
|
||||||
// if (mounted) super.setState(fn);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void didUpdateWidget(covariant NurseEmployeeMenu oldWidget) {
|
|
||||||
// if (widget.initialValue != null) {
|
|
||||||
// final result = widget.list?.where((element) {
|
|
||||||
// return element.id == widget.initialValue?.id;
|
|
||||||
// }) ??
|
|
||||||
// [];
|
|
||||||
// if (result.isNotEmpty) {
|
|
||||||
// _selectedStatus = result.first;
|
|
||||||
// } else {
|
|
||||||
// _selectedStatus = null;
|
|
||||||
// }
|
|
||||||
// if ((widget.initialValue?.id ?? "") != (_selectedStatus?.id ?? "")) {
|
|
||||||
// widget.onSelect(_selectedStatus!);
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// _selectedStatus = null;
|
|
||||||
// }
|
|
||||||
// super.didUpdateWidget(oldWidget);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// void initState() {
|
|
||||||
// if (widget.initialValue != null) {
|
|
||||||
// final result = widget.list?.where((element) {
|
|
||||||
// return element.id == widget.initialValue?.id;
|
|
||||||
// }) ??
|
|
||||||
// [];
|
|
||||||
// if (result.isNotEmpty) _selectedStatus = result.first;
|
|
||||||
// if (widget.initialValue?.id != _selectedStatus?.id) {
|
|
||||||
// widget.onSelect(_selectedStatus);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// super.initState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// return Container(
|
|
||||||
// height: 60.toScreenHeight,
|
|
||||||
// width: double.infinity,
|
|
||||||
// padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth),
|
|
||||||
// decoration: BoxDecoration(
|
|
||||||
// color: context.isDark && (widget.enable == false)
|
|
||||||
// ? AppColor.neutral50
|
|
||||||
// : (widget.enable == false)
|
|
||||||
// ? AppColor.neutral40
|
|
||||||
// : AppColor.background(context),
|
|
||||||
// borderRadius: BorderRadius.circular(10),
|
|
||||||
// boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)],
|
|
||||||
// ),
|
|
||||||
// child: Stack(
|
|
||||||
// alignment: Alignment.centerLeft,
|
|
||||||
// children: [
|
|
||||||
// PositionedDirectional(
|
|
||||||
// end: 0,
|
|
||||||
// child: Icon(
|
|
||||||
// Icons.keyboard_arrow_down_rounded,
|
|
||||||
// color: widget.enable == null ? null : Colors.grey,
|
|
||||||
// )),
|
|
||||||
// Column(
|
|
||||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
// mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
// children: [
|
|
||||||
// Text(
|
|
||||||
// widget.title,
|
|
||||||
// style: Theme.of(context).textTheme.bodySmall?.copyWith(color: context.isDark ? null : AppColor.neutral20, fontWeight: FontWeight.w500),
|
|
||||||
// ),
|
|
||||||
// Text(
|
|
||||||
// _selectedStatus?.name?.cleanupWhitespace.capitalizeFirstOfEach ?? context.translation.select,
|
|
||||||
// style: Theme.of(context).textTheme.bodyLarge,
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ).onPress(((widget.enable ?? false)
|
|
||||||
// ? () async {
|
|
||||||
// _selectedStatus = (await showModalBottomSheet(
|
|
||||||
// context: context,
|
|
||||||
// isScrollControlled: true,
|
|
||||||
// shape: const RoundedRectangleBorder(
|
|
||||||
// borderRadius: BorderRadius.vertical(
|
|
||||||
// top: Radius.circular(20),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// clipBehavior: Clip.antiAliasWithSaveLayer,
|
|
||||||
// builder: (BuildContext context) => SelectionBottomSheet(
|
|
||||||
// items: widget.list ?? [],
|
|
||||||
// selectedItem: _selectedStatus,
|
|
||||||
// title: widget.title,
|
|
||||||
// onSelect: (selectedT) {
|
|
||||||
// setState(() {
|
|
||||||
// _selectedStatus = selectedT;
|
|
||||||
// });
|
|
||||||
// widget.onSelect(selectedT);
|
|
||||||
// },
|
|
||||||
// builderString: (emp) => emp?.name ?? "",
|
|
||||||
// ),
|
|
||||||
// )) as Employee?;
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// // if (_selectedStatus != null) setState(() {});
|
|
||||||
// // widget.onSelect(_selectedStatus!);
|
|
||||||
// }
|
|
||||||
// : null));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,72 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'dart:math';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_equipment_status_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_report.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_request.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
|
||||||
//
|
|
||||||
// class ServiceReportEquipmentStatusMenu extends StatefulWidget {
|
|
||||||
// final Function(Lookup) onSelect;
|
|
||||||
// final ServiceReport report;
|
|
||||||
// final ServiceRequest request;
|
|
||||||
//
|
|
||||||
// const ServiceReportEquipmentStatusMenu({Key? key, this.onSelect, this.report, this.request}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// State<ServiceReportEquipmentStatusMenu> createState() => _ServiceReportEquipmentStatusMenuState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _ServiceReportEquipmentStatusMenuState extends State<ServiceReportEquipmentStatusMenu> {
|
|
||||||
// bool firstTime = true;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// SettingProvider settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
// UserProvider userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// ServiceReportEquipmentStatusProvider menuProvider = Provider.of<ServiceReportEquipmentStatusProvider>(context);
|
|
||||||
// ServiceReportLastCallsProvider callsLastSituationsProvider = Provider.of<ServiceReportLastCallsProvider>(context);
|
|
||||||
// if (firstTime) {
|
|
||||||
// callsLastSituationsProvider.reset();
|
|
||||||
//
|
|
||||||
// firstTime = false;
|
|
||||||
// }
|
|
||||||
// return LoadingManager(
|
|
||||||
// isLoading: menuProvider.isLoading == true || callsLastSituationsProvider.isLoading == true,
|
|
||||||
// isFailedLoading: menuProvider.statuses == null || callsLastSituationsProvider.calls == null,
|
|
||||||
// stateCode: menuProvider.stateCode == null || callsLastSituationsProvider.stateCode == null ? null : max(menuProvider.stateCode ?? 0, callsLastSituationsProvider.stateCode ?? 0),
|
|
||||||
// onRefresh: () async {
|
|
||||||
// await callsLastSituationsProvider.getCalls(
|
|
||||||
// typeName: widget.report?.assetType?.name,
|
|
||||||
// id: widget.report?.id,
|
|
||||||
// parentId: widget.request?.id,
|
|
||||||
// );
|
|
||||||
// if (menuProvider.stateCode == null) {
|
|
||||||
// menuProvider.reset();
|
|
||||||
// await menuProvider.getTypes(user: userProvider.user, host: settingProvider.host);
|
|
||||||
// setState(() {});
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// child: SingleStatusMenu(
|
|
||||||
// statuses: menuProvider.statuses,
|
|
||||||
// initialStatus: widget.report?.equipmentStatus,
|
|
||||||
// onSelect: (status) {
|
|
||||||
// widget.report?.calllastSituation = null;
|
|
||||||
// callsLastSituationsProvider.getCalls(
|
|
||||||
// id: widget.report?.id,
|
|
||||||
// parentId: widget.request?.id,
|
|
||||||
// typeName: widget.report?.assetType?.name,
|
|
||||||
// );
|
|
||||||
//
|
|
||||||
// widget.onSelect(status);
|
|
||||||
// },
|
|
||||||
// ));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,75 +0,0 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
|
||||||
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_fault_description_provider.dart';
|
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
import 'package:test_sa/models/fault_description.dart';
|
|
||||||
import 'package:test_sa/new_views/common_widgets/single_item_drop_down_menu.dart';
|
|
||||||
import 'package:test_sa/providers/loading_list_notifier.dart';
|
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
|
|
||||||
class ServiceReportFaultDescription extends StatefulWidget {
|
|
||||||
final String? requestId; // Now nullable
|
|
||||||
final Function(FaultDescription?)? onSelect; // Now nullable
|
|
||||||
final FaultDescription? initialValue; // Now nullable
|
|
||||||
|
|
||||||
const ServiceReportFaultDescription({Key? key, this.requestId, this.onSelect, this.initialValue}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
|
||||||
State<ServiceReportFaultDescription> createState() => _ServiceReportFaultDescriptionState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _ServiceReportFaultDescriptionState extends State<ServiceReportFaultDescription> {
|
|
||||||
FaultDescription? initialValue;
|
|
||||||
|
|
||||||
@override
|
|
||||||
void initState() {
|
|
||||||
super.initState();
|
|
||||||
initialValue = widget.initialValue;
|
|
||||||
if (widget.initialValue == null && widget.requestId != null) {
|
|
||||||
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
|
|
||||||
ServiceRequestFaultDescriptionProvider menuProvider = Provider.of<ServiceRequestFaultDescriptionProvider>(context, listen: false);
|
|
||||||
menuProvider.reset();
|
|
||||||
menuProvider.getCallRequestForWorkOrder(widget.requestId!); // Non-null assertion since requestId is checked for null
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
void didUpdateWidget(covariant ServiceReportFaultDescription oldWidget) {
|
|
||||||
if (widget.initialValue != oldWidget.initialValue) {
|
|
||||||
setState(() {
|
|
||||||
initialValue = widget.initialValue;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
super.didUpdateWidget(oldWidget);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
|
||||||
final menuProvider = Provider.of<ServiceRequestFaultDescriptionProvider>(context);
|
|
||||||
return LoadingManager(
|
|
||||||
isLoading: menuProvider.isLoading,
|
|
||||||
isFailedLoading: menuProvider.items == null,
|
|
||||||
stateCode: menuProvider.stateCode,
|
|
||||||
onRefresh: () async {
|
|
||||||
if (widget.requestId != null) {
|
|
||||||
// Add null check for requestId
|
|
||||||
menuProvider.reset();
|
|
||||||
await menuProvider.getCallRequestForWorkOrder(widget.requestId!); // Non-null assertion since requestId is checked for null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
child: SingleItemDropDownMenu<FaultDescription, NullableLoadingProvider>(
|
|
||||||
context: context,
|
|
||||||
title: context.translation.faultDescription,
|
|
||||||
onSelect: widget.onSelect,
|
|
||||||
// Pass onSelect directly
|
|
||||||
initialValue: initialValue,
|
|
||||||
staticData: menuProvider.items ?? [],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,38 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_maintenance_situation_provider.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
|
||||||
//
|
|
||||||
// class ServiceReportMaintenanceSituation extends StatelessWidget {
|
|
||||||
// final Function(Lookup) onSelect;
|
|
||||||
// final Lookup initialValue;
|
|
||||||
// final String woId;
|
|
||||||
//
|
|
||||||
// const ServiceReportMaintenanceSituation({
|
|
||||||
// Key? key,
|
|
||||||
// required this.onSelect,
|
|
||||||
// required this.initialValue,
|
|
||||||
// required this.woId,
|
|
||||||
// }) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// ServiceReportMaintenanceSituationProvider menuProvider = Provider.of<ServiceReportMaintenanceSituationProvider>(context);
|
|
||||||
// return LoadingManager(
|
|
||||||
// isLoading: menuProvider.isLoading,
|
|
||||||
// isFailedLoading: menuProvider.operators == null,
|
|
||||||
// stateCode: menuProvider.stateCode,
|
|
||||||
// onRefresh: () async {
|
|
||||||
// menuProvider.getOperators(woId);
|
|
||||||
// },
|
|
||||||
// child: SingleStatusMenu(
|
|
||||||
// initialStatus: initialValue,
|
|
||||||
// statuses: menuProvider.operators,
|
|
||||||
// onSelect: onSelect,
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
|
||||||
//
|
|
||||||
// class ServiceReportReasonsMenu extends StatelessWidget {
|
|
||||||
// final Lookup initialValue;
|
|
||||||
// final Function(Lookup) onSelect;
|
|
||||||
//
|
|
||||||
// const ServiceReportReasonsMenu({Key? key, this.onSelect, this.initialValue}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// SettingProvider _settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
// UserProvider _userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// ServiceReportReasonsProvider _menuProvider = Provider.of<ServiceReportReasonsProvider>(context);
|
|
||||||
// return LoadingManager(
|
|
||||||
// isLoading: _menuProvider.isLoading,
|
|
||||||
// isFailedLoading: _menuProvider.reasons == null,
|
|
||||||
// stateCode: _menuProvider.stateCode,
|
|
||||||
// onRefresh: () async {
|
|
||||||
// _menuProvider.reset();
|
|
||||||
// await _menuProvider.getTypes(
|
|
||||||
// user: _userProvider.user,
|
|
||||||
// host: _settingProvider.host,
|
|
||||||
// );
|
|
||||||
// },
|
|
||||||
// child: SingleStatusMenu(
|
|
||||||
// initialStatus: initialValue,
|
|
||||||
// statuses: _menuProvider.reasons,
|
|
||||||
// onSelect: onSelect,
|
|
||||||
// ));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,72 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'dart:math';
|
|
||||||
//
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_status_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_report.dart';
|
|
||||||
// import 'package:test_sa/models/service_request/service_request.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
|
||||||
//
|
|
||||||
// class ServiceReportStatusMenu extends StatefulWidget {
|
|
||||||
// final Function(Lookup) onSelect;
|
|
||||||
// final ServiceReport report;
|
|
||||||
// final ServiceRequest request;
|
|
||||||
//
|
|
||||||
// const ServiceReportStatusMenu({Key? key, this.onSelect, this.report, this.request}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// State<ServiceReportStatusMenu> createState() => _ServiceReportStatusMenuState();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// class _ServiceReportStatusMenuState extends State<ServiceReportStatusMenu> {
|
|
||||||
// bool firstTime = true;
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// SettingProvider settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
// UserProvider userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// ServiceReportStatusProvider menuProvider = Provider.of<ServiceReportStatusProvider>(context);
|
|
||||||
// ServiceReportLastCallsProvider callsLastSituationsProvider = Provider.of<ServiceReportLastCallsProvider>(context);
|
|
||||||
// if (firstTime) {
|
|
||||||
// callsLastSituationsProvider.reset();
|
|
||||||
//
|
|
||||||
// firstTime = false;
|
|
||||||
// }
|
|
||||||
// return LoadingManager(
|
|
||||||
// isLoading: menuProvider.isLoading == true || callsLastSituationsProvider.isLoading == true,
|
|
||||||
// isFailedLoading: menuProvider.statuses == null || callsLastSituationsProvider.calls == null,
|
|
||||||
// stateCode: menuProvider.stateCode == null || callsLastSituationsProvider.stateCode == null ? null : max(menuProvider.stateCode ?? 0, callsLastSituationsProvider.stateCode ?? 0),
|
|
||||||
// onRefresh: () async {
|
|
||||||
// await callsLastSituationsProvider.getCalls(
|
|
||||||
// typeName: widget.report.assetType?.name,
|
|
||||||
// id: widget.report.id,
|
|
||||||
// parentId: widget.request.id,
|
|
||||||
// );
|
|
||||||
// if (menuProvider.stateCode == null) {
|
|
||||||
// menuProvider.reset();
|
|
||||||
// await menuProvider.getTypes(user: userProvider.user, host: settingProvider.host);
|
|
||||||
// setState(() {});
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// child: SingleStatusMenu(
|
|
||||||
// statuses: menuProvider.statuses,
|
|
||||||
// initialStatus: widget.report.equipmentStatus,
|
|
||||||
// onSelect: (status) {
|
|
||||||
// widget.report.calllastSituation = null;
|
|
||||||
// callsLastSituationsProvider.getCalls(
|
|
||||||
// id: widget.report.id,
|
|
||||||
// parentId: widget.request.id,
|
|
||||||
// typeName: widget.report.assetType?.name,
|
|
||||||
// );
|
|
||||||
//
|
|
||||||
// widget.onSelect(status);
|
|
||||||
// },
|
|
||||||
// ));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_types_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
|
||||||
//
|
|
||||||
// class ServiceReportTypeMenu extends StatelessWidget {
|
|
||||||
// final Function(Lookup) onSelect;
|
|
||||||
// final Lookup initialValue;
|
|
||||||
//
|
|
||||||
// const ServiceReportTypeMenu({Key? key, this.onSelect, this.initialValue}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// SettingProvider settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
// UserProvider userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// ServiceReportTypesProvider menuProvider = Provider.of<ServiceReportTypesProvider>(context);
|
|
||||||
// return LoadingManager(
|
|
||||||
// isLoading: menuProvider.isLoading,
|
|
||||||
// isFailedLoading: menuProvider.types == null,
|
|
||||||
// stateCode: menuProvider.stateCode,
|
|
||||||
// onRefresh: () async {
|
|
||||||
// menuProvider.reset();
|
|
||||||
// await menuProvider.getTypes(user: userProvider.user, host: settingProvider.host);
|
|
||||||
// onSelect(initialValue ?? menuProvider.types?.last);
|
|
||||||
// },
|
|
||||||
// child: SingleStatusMenu(
|
|
||||||
// initialStatus: initialValue ?? menuProvider.types?.last,
|
|
||||||
// statuses: menuProvider.types,
|
|
||||||
// onSelect: onSelect,
|
|
||||||
// ));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,32 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_visit_date_operator_provider.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
|
||||||
//
|
|
||||||
// class ServiceReportVisitDateOperator extends StatelessWidget {
|
|
||||||
// final Function(Lookup) onSelect;
|
|
||||||
// final Lookup initialValue;
|
|
||||||
//
|
|
||||||
// const ServiceReportVisitDateOperator({Key? key, required this.onSelect, required this.initialValue}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// ServiceReportVisitOperatorProvider menuProvider = Provider.of<ServiceReportVisitOperatorProvider>(context);
|
|
||||||
// return LoadingManager(
|
|
||||||
// isLoading: menuProvider.isLoading,
|
|
||||||
// isFailedLoading: menuProvider.operators == null,
|
|
||||||
// stateCode: menuProvider.stateCode,
|
|
||||||
// onRefresh: () async {
|
|
||||||
// menuProvider.getOperators();
|
|
||||||
// },
|
|
||||||
// child: SingleStatusMenu(
|
|
||||||
// initialStatus: initialValue,
|
|
||||||
// statuses: menuProvider.operators,
|
|
||||||
// onSelect: onSelect,
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@ -1,36 +0,0 @@
|
|||||||
///todo deleted
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:provider/provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_types_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
// import 'package:test_sa/models/lookup.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
||||||
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
|
||||||
//
|
|
||||||
// class ServiceAssetTypeMenu extends StatelessWidget {
|
|
||||||
// final Function(Lookup) onSelect;
|
|
||||||
// final Lookup initialValue;
|
|
||||||
//
|
|
||||||
// const ServiceAssetTypeMenu({Key? key, this.onSelect, this.initialValue}) : super(key: key);
|
|
||||||
//
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// SettingProvider _settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
// UserProvider _userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// ServiceStatusProvider _menuProvider = Provider.of<ServiceStatusProvider>(context);
|
|
||||||
// return LoadingManager(
|
|
||||||
// isLoading: _menuProvider.isLoading,
|
|
||||||
// isFailedLoading: _menuProvider.statuses == null,
|
|
||||||
// stateCode: _menuProvider.stateCode,
|
|
||||||
// onRefresh: () async {
|
|
||||||
// _menuProvider.reset();
|
|
||||||
// await _menuProvider.getTypes(user: _userProvider.user, host: _settingProvider.host);
|
|
||||||
// },
|
|
||||||
// child: SingleStatusMenu(
|
|
||||||
// initialStatus: initialValue,
|
|
||||||
// statuses: _menuProvider.statuses,
|
|
||||||
// onSelect: onSelect,
|
|
||||||
// ));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
Loading…
Reference in New Issue