files refactoring

design_3.0_asset_delivery_module
Sikander Saleem 3 months ago
parent 62cc13b1c0
commit 16a2fa2b26

@ -12,8 +12,8 @@ import 'package:test_sa/modules/cm_module/views/service_request_detail_main_view
import 'package:test_sa/modules/cx_module/survey/survey_page.dart';
import 'package:test_sa/modules/pm_module/ppm_wo/ppm_details_page.dart';
import 'package:test_sa/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart';
import 'package:test_sa/views/pages/device_transfer/device_transfer_details.dart';
import 'package:test_sa/views/pages/user/gas_refill/gas_refill_details.dart';
import 'package:test_sa/modules/tm_module/device_transfer/device_transfer_details.dart';
import 'package:test_sa/modules/tm_module/gas_refill/gas_refill_details.dart';
import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
@pragma('vm:entry-point')

@ -12,7 +12,6 @@ import 'package:test_sa/models/hospital.dart';
import 'package:test_sa/models/new_models/gas_refill_model.dart';
import 'package:test_sa/models/timer_model.dart';
import 'package:test_sa/models/user.dart';
import 'package:test_sa/views/pages/user/gas_refill/update_gas_refill_request.dart';
import '../../../new_views/common_widgets/app_lazy_loading.dart';

@ -4,7 +4,7 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/new_models/dashboard_detail.dart';
import 'package:test_sa/modules/asset_inventory_module/pages/inventory_session_item_view.dart';
import 'package:test_sa/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_item_view.dart';
import 'package:test_sa/modules/tm_module/tasks_wo/task_request_item_view.dart';
import 'package:test_sa/modules/tm_module/tasks/task_request_item_view.dart';
import 'package:test_sa/modules/traf_module/traf_request_item_view.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/pages/land_page/requests/device_item_view.dart';

@ -41,7 +41,8 @@ import 'package:test_sa/modules/loan_module/pages/create_loan_request_view.dart'
import 'package:test_sa/modules/loan_module/provider/loan_period_provider.dart';
import 'package:test_sa/modules/loan_module/provider/loan_provider.dart';
import 'package:test_sa/modules/loan_module/provider/medical_department_provider.dart';
import 'package:test_sa/modules/tm_module/tasks_wo/create_task_view.dart';
import 'package:test_sa/modules/tm_module/gas_refill/create_gas_refill_request.dart';
import 'package:test_sa/modules/tm_module/gas_refill/update_gas_refill_request.dart';
import 'package:test_sa/modules/traf_module/create_traf_request_page.dart';
import 'package:test_sa/modules/traf_module/traf_request_provider.dart';
import 'package:test_sa/modules/traf_module/update_traf_request_page.dart';
@ -90,11 +91,6 @@ import 'package:test_sa/providers/work_order/service_type_provider.dart';
import 'package:test_sa/providers/work_order/supplier_engineer_provider.dart';
import 'package:test_sa/providers/work_order/vendor_provider.dart';
import 'package:test_sa/providers/work_order/wo_frame_provider.dart';
import 'package:test_sa/views/pages/device_transfer/create__device_transfer_request.dart';
import 'package:test_sa/views/pages/device_transfer/device_filter_screen.dart';
import 'package:test_sa/views/pages/device_transfer/device_search_screen.dart';
import 'package:test_sa/views/pages/user/gas_refill/request_gas_refill.dart';
import 'package:test_sa/views/pages/user/gas_refill/update_gas_refill_request.dart';
import 'package:test_sa/views/pages/user/notifications/notifications_page.dart';
import 'package:test_sa/views/pages/user/profile_page.dart';
import 'package:test_sa/views/pages/user/requests/create_service_request_page.dart';
@ -113,6 +109,10 @@ import 'dashboard_latest/dashboard_provider.dart';
import 'modules/internal_audit_module/pages/equipment_internal_audit/update_equipment_internal_audit_page.dart';
import 'modules/internal_audit_module/provider/internal_audit_checklist_provider.dart';
import 'modules/cx_module/survey/survey_provider.dart';
import 'modules/tm_module/device_transfer/create_device_transfer_request.dart';
import 'modules/tm_module/device_transfer/device_filter_screen.dart';
import 'modules/tm_module/device_transfer/device_search_screen.dart';
import 'modules/tm_module/tasks/create_task_view.dart';
import 'new_views/pages/gas_refill_request_form.dart';
import 'providers/lookups/classification_lookup_provider.dart';
import 'providers/lookups/department_lookup_provider.dart';
@ -350,7 +350,7 @@ class MyApp extends StatelessWidget {
CreateTaskView.id: (_) => const CreateTaskView(),
CreateTRAFRequestPage.id: (_) => CreateTRAFRequestPage(),
UpdateTrafRequestPage.id: (_) => UpdateTrafRequestPage(),
RequestGasRefill.id: (_) => const RequestGasRefill(),
CreateGasRefillRequest.id: (_) => const CreateGasRefillRequest(),
UpdateGasRefillRequest.id: (_) => const UpdateGasRefillRequest(),
// CreateServiceRequestPage.id: (_) => const CreateServiceRequestPage(),
CreateNewRequest.id: (_) => const CreateNewRequest(),

@ -13,11 +13,11 @@ import 'package:test_sa/new_views/common_widgets/single_item_drop_down_menu.dart
import 'package:test_sa/providers/department_provider.dart';
import 'package:test_sa/providers/gas_request_providers/site_provider.dart';
import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
import 'package:test_sa/views/widgets/equipment/commissioning_status_buttons.dart';
import '../../../models/device/asset_search.dart';
import '../../../new_views/common_widgets/app_lazy_loading.dart';
import '../../../new_views/common_widgets/default_app_bar.dart';
import '../../widgets/equipment/commissioning_status_buttons.dart';
class DeviceFilterScreen extends StatefulWidget {
static const String id = "asset_filter_screen";
@ -88,7 +88,6 @@ class _DeviceFilterScreenState extends State<DeviceFilterScreen> {
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
/// todo : TBD
CommissioningStatusButtons(
initialValue: _commissioningStatus,
onSelect: (value) {

@ -9,16 +9,16 @@ 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/views/pages/device_transfer/update_device_transfer.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/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
import 'package:test_sa/views/widgets/requests/request_status.dart';
import '../../../extensions/text_extensions.dart';
import '../../../models/enums/user_types.dart';
import '../../../new_views/app_style/app_color.dart';
import '../../../new_views/common_widgets/default_app_bar.dart';
import '../../widgets/requests/request_status.dart';
import 'update_device_transfer.dart';
class DeviceTransferDetails extends StatefulWidget {
final DeviceTransfer model;

@ -8,16 +8,16 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
import 'package:test_sa/views/widgets/equipment/asset_item_listview.dart';
import 'package:test_sa/views/widgets/horizontal_list_widget.dart';
import 'package:test_sa/views/widgets/loaders/lazy_loading.dart';
import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
import '../../../models/device/asset.dart';
import '../../../models/device/asset_search.dart';
import '../../../new_views/app_style/app_color.dart';
import '../../../new_views/common_widgets/app_lazy_loading.dart';
import '../../../new_views/common_widgets/custom_app_bar.dart';
import '../../widgets/equipment/asset_item_listview.dart';
import '../../widgets/horizontal_list_widget.dart';
import '../../widgets/loaders/lazy_loading.dart';
import '../../widgets/loaders/no_data_found.dart';
class SearchDevicePage extends StatefulWidget {
/// add on route

@ -28,6 +28,7 @@ import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
import 'package:test_sa/views/widgets/images/multi_image_picker.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/timer/app_timer.dart';
import 'package:test_sa/views/widgets/total_working_time_detail_bottomsheet.dart';
import '../../../extensions/text_extensions.dart';
@ -35,7 +36,6 @@ import '../../../models/ppm/ppm.dart';
import '../../../new_views/app_style/app_color.dart';
import '../../../new_views/common_widgets/app_text_form_field.dart';
import '../../../new_views/common_widgets/default_app_bar.dart';
import '../../widgets/timer/app_timer.dart';
class UpdateDeviceTransfer extends StatefulWidget {
final DeviceTransfer model;

@ -17,7 +17,9 @@ import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/timer_model.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/providers/loading_list_notifier.dart';
import 'package:test_sa/views/widgets/e_signature/e_signature.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/timer/app_timer.dart';
import '../../../../controllers/providers/api/hospitals_provider.dart';
import '../../../../extensions/text_extensions.dart';
@ -26,20 +28,18 @@ 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/gas_request_providers/gas_status_provider.dart';
import '../../../widgets/e_signature/e_signature.dart';
import '../../../widgets/timer/app_timer.dart';
class RequestGasRefill extends StatefulWidget {
class CreateGasRefillRequest extends StatefulWidget {
static const String id = "/request-gas-refill";
final GasRefillModel? gasRefillModel;
const RequestGasRefill({this.gasRefillModel, Key? key}) : super(key: key);
const CreateGasRefillRequest({this.gasRefillModel, Key? key}) : super(key: key);
@override
State<RequestGasRefill> createState() => _RequestGasRefillState();
State<CreateGasRefillRequest> createState() => _RequestGasRefillState();
}
class _RequestGasRefillState extends State<RequestGasRefill> {
class _RequestGasRefillState extends State<CreateGasRefillRequest> {
final bool _isLoading = false;
bool _validate = false;
Uint8List? _engineerSignature;
@ -121,7 +121,6 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
}
}
if (_formModel.gasRefillDetails?.isNotEmpty ?? false) {
if (!(await _addNewModel(context))) return;
}

@ -9,12 +9,12 @@ 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/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.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 '../../../../new_views/app_style/app_color.dart';
import '../../../widgets/loaders/loading_manager.dart';
class GasRefillCommentsBottomSheet extends StatefulWidget {
final String requestId;

@ -13,17 +13,17 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/modules/cx_module/chat/chat_widget.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/views/pages/user/gas_refill/update_gas_refill_request.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/loaders/no_data_found.dart';
import 'package:test_sa/views/widgets/requests/request_status.dart';
import '../../../../extensions/text_extensions.dart';
import '../../../../models/enums/user_types.dart';
import '../../../../models/new_models/gas_refill_model.dart';
import '../../../../new_views/app_style/app_color.dart';
import '../../../../new_views/common_widgets/default_app_bar.dart';
import '../../../widgets/requests/request_status.dart';
import 'update_gas_refill_request.dart';
class GasRefillDetailsPage extends StatefulWidget {
GasRefillModel model;

@ -23,6 +23,7 @@ import 'package:test_sa/new_views/common_widgets/working_time_tile.dart';
import 'package:test_sa/providers/loading_list_notifier.dart';
import 'package:test_sa/views/widgets/images/multi_image_picker.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/timer/app_timer.dart';
import 'package:test_sa/views/widgets/total_working_time_detail_bottomsheet.dart';
import '../../../../extensions/text_extensions.dart';
@ -30,7 +31,6 @@ import '../../../../models/new_models/gas_refill_model.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/timer/app_timer.dart';
class UpdateGasRefillRequest extends StatefulWidget {
static const String id = "/gas-refill-form";
@ -85,9 +85,10 @@ class _UpdateGasRefillRequestState extends State<UpdateGasRefillRequest> {
} catch (ex) {}
}
if (_formModel.gasRefillAttachments != null && _formModel.gasRefillAttachments!.isNotEmpty) {
_attachments.addAll(_formModel.gasRefillAttachments!.map((e) => GenericAttachmentModel(id:e.id,name:e.attachmentName!)).toList());
_attachments.addAll(_formModel.gasRefillAttachments!.map((e) => GenericAttachmentModel(id: e.id, name: e.attachmentName!)).toList());
}
}
void calculateWorkingTime() {
final timers = _formModel.gasRefillTimers ?? [];
totalWorkingHours = timers.fold<double>(0.0, (sum, item) {
@ -111,6 +112,7 @@ class _UpdateGasRefillRequestState extends State<UpdateGasRefillRequest> {
);
}).toList();
}
@override
void setState(VoidCallback fn) {
if (mounted) super.setState(() {});
@ -178,9 +180,8 @@ class _UpdateGasRefillRequestState extends State<UpdateGasRefillRequest> {
});
_formModel.gasRefillAttachments = [];
for (var item in _attachments) {
String fileName = ServiceRequestUtils.isLocalUrl(item.name??'') ? ("${item.name??''.split("/").last}|${base64Encode(File(item.name??'').readAsBytesSync())}") :item.name??'';
_formModel.gasRefillAttachments?.add(GasRefillAttachments(
id: item.id, gasRefillId: _formModel.id ?? 0, attachmentName: fileName));
String fileName = ServiceRequestUtils.isLocalUrl(item.name ?? '') ? ("${item.name ?? ''.split("/").last}|${base64Encode(File(item.name ?? '').readAsBytesSync())}") : item.name ?? '';
_formModel.gasRefillAttachments?.add(GasRefillAttachments(id: item.id, gasRefillId: _formModel.id ?? 0, attachmentName: fileName));
}
await _gasRefillProvider?.updateGasRefill(status: status, model: _formModel).then((success) {
@ -239,85 +240,84 @@ class _UpdateGasRefillRequestState extends State<UpdateGasRefillRequest> {
key: _scaffoldKey,
body: Form(
key: _formKey,
child: LoadingManager(
isLoading: _isLoading,
isFailedLoading: false,
stateCode: 200,
onRefresh: () async {},
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
SingleChildScrollView(
padding: const EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
8.height,
SingleItemDropDownMenu<Lookup, NullableLoadingProvider>(
context: context,
title: context.translation.quantity,
backgroundColor: AppColor.fieldBgColor(context),
showShadow: false,
showAsBottomSheet: true,
initialValue: _deliveredQuantity,
staticData: deliveredQuantity,
onSelect: (value) {
_deliveredQuantity = value;
_currentDetails.deliverdQty = value!.value;
},
),
8.height,
_timerWidget(context, totalWorkingHours),
8.height,
AppTextFormField(
labelText: context.translation.technicalComment,
textInputType: TextInputType.multiline,
hintStyle: TextStyle(color: context.isDark?AppColor.white10:AppColor.black10),
labelStyle: TextStyle(color: context.isDark?AppColor.white10:AppColor.black10),
alignLabelWithHint: true,
backgroundColor: AppColor.fieldBgColor(context),
showShadow: false,
controller: _commentController,
onChange: (value) {
_formModel.techComment = value;
},
onSaved: (value) {},
),
16.height,
AttachmentPicker(
label: context.translation.attachFiles,
attachment: _attachments,
buttonColor: AppColor.black10,
onlyImages: false,
buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.neutral120),
),
8.height,
],
).toShadowContainer(context),
).expanded,
FooterActionButton.footerContainer(
context: context,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
AppFilledButton(
label: context.translation.save,
buttonColor: context.isDark?AppColor.neutral70:AppColor.white60,
textColor: context.isDark?AppColor.white10:AppColor.black10,
onPressed: () => _onSubmit(context, 0),
).expanded,
12.width,
AppFilledButton(
label: context.translation.complete,
buttonColor: AppColor.primary10,
onPressed: () => _onSubmit(context, 1),
).expanded,
],
),
child: LoadingManager(
isLoading: _isLoading,
isFailedLoading: false,
stateCode: 200,
onRefresh: () async {},
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
SingleChildScrollView(
padding: const EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
8.height,
SingleItemDropDownMenu<Lookup, NullableLoadingProvider>(
context: context,
title: context.translation.quantity,
backgroundColor: AppColor.fieldBgColor(context),
showShadow: false,
showAsBottomSheet: true,
initialValue: _deliveredQuantity,
staticData: deliveredQuantity,
onSelect: (value) {
_deliveredQuantity = value;
_currentDetails.deliverdQty = value!.value;
},
),
8.height,
_timerWidget(context, totalWorkingHours),
8.height,
AppTextFormField(
labelText: context.translation.technicalComment,
textInputType: TextInputType.multiline,
hintStyle: TextStyle(color: context.isDark ? AppColor.white10 : AppColor.black10),
labelStyle: TextStyle(color: context.isDark ? AppColor.white10 : AppColor.black10),
alignLabelWithHint: true,
backgroundColor: AppColor.fieldBgColor(context),
showShadow: false,
controller: _commentController,
onChange: (value) {
_formModel.techComment = value;
},
onSaved: (value) {},
),
16.height,
AttachmentPicker(
label: context.translation.attachFiles,
attachment: _attachments,
buttonColor: AppColor.black10,
onlyImages: false,
buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.neutral120),
),
8.height,
],
).toShadowContainer(context),
).expanded,
FooterActionButton.footerContainer(
context: context,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
AppFilledButton(
label: context.translation.save,
buttonColor: context.isDark ? AppColor.neutral70 : AppColor.white60,
textColor: context.isDark ? AppColor.white10 : AppColor.black10,
onPressed: () => _onSubmit(context, 0),
).expanded,
12.width,
AppFilledButton(
label: context.translation.complete,
buttonColor: AppColor.primary10,
onPressed: () => _onSubmit(context, 1),
).expanded,
],
),
],
)),
),
],
)),
),
).handlePopScope(
cxt: context,

@ -9,7 +9,7 @@
// 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/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';

@ -13,11 +13,11 @@ import 'package:test_sa/modules/cm_module/views/nurse/create_new_request_view.da
import 'package:test_sa/modules/internal_audit_module/pages/equipment_internal_audit/create_equipment_internal_audit_form.dart';
import 'package:test_sa/modules/internal_audit_module/pages/system_internal_audit/create_system_internal_audit_form.dart';
import 'package:test_sa/modules/loan_module/pages/create_loan_request_view.dart';
import 'package:test_sa/modules/tm_module/tasks_wo/create_task_view.dart';
import 'package:test_sa/modules/tm_module/device_transfer/create_device_transfer_request.dart';
import 'package:test_sa/modules/tm_module/tasks/create_task_view.dart';
import 'package:test_sa/modules/traf_module/create_traf_request_page.dart';
import 'package:test_sa/new_views/app_style/app_color.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';
class CreateRequestTypeBottomSheet extends StatelessWidget {
const CreateRequestTypeBottomSheet({super.key});

@ -14,7 +14,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/models/enums/user_types.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/pages/land_page/create_request-type_bottomsheet.dart';
import 'package:test_sa/new_views/pages/land_page/create_request_type_bottom_sheet.dart';
import 'package:test_sa/new_views/pages/land_page/my_request/my_requests_page.dart';
import 'package:test_sa/new_views/pages/login_page.dart';
import 'package:test_sa/new_views/pages/settings_page.dart';

@ -7,7 +7,7 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/all_requests_and_count_model.dart';
import 'package:test_sa/models/device/device_transfer.dart';
import 'package:test_sa/models/new_models/dashboard_detail.dart';
import 'package:test_sa/views/pages/device_transfer/device_transfer_details.dart';
import 'package:test_sa/modules/tm_module/device_transfer/device_transfer_details.dart';
import '../../../../views/widgets/requests/request_status.dart';
import '../../../app_style/app_color.dart';

@ -7,7 +7,7 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/all_requests_and_count_model.dart';
import 'package:test_sa/models/new_models/dashboard_detail.dart';
import 'package:test_sa/models/new_models/gas_refill_model.dart';
import 'package:test_sa/views/pages/user/gas_refill/gas_refill_details.dart';
import 'package:test_sa/modules/tm_module/gas_refill/gas_refill_details.dart';
import '../../../../views/widgets/requests/request_status.dart';
import '../../../app_style/app_color.dart';

@ -4,7 +4,7 @@ import 'package:test_sa/models/new_models/dashboard_detail.dart';
import 'package:test_sa/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_item_view.dart';
import 'package:test_sa/modules/internal_audit_module/pages/system_internal_audit/system_internal_audit_item_view.dart';
import 'package:test_sa/modules/asset_inventory_module/pages/inventory_session_item_view.dart';
import 'package:test_sa/modules/tm_module/tasks_wo/task_request_item_view.dart';
import 'package:test_sa/modules/tm_module/tasks/task_request_item_view.dart';
import 'package:test_sa/modules/traf_module/traf_request_item_view.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/pages/land_page/requests/device_item_view.dart';

@ -9,7 +9,7 @@ import 'package:test_sa/models/all_requests_and_count_model.dart';
import 'package:test_sa/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_item_view.dart';
import 'package:test_sa/modules/internal_audit_module/pages/system_internal_audit/system_internal_audit_item_view.dart';
import 'package:test_sa/modules/asset_inventory_module/pages/inventory_session_item_view.dart';
import 'package:test_sa/modules/tm_module/tasks_wo/task_request_item_view.dart';
import 'package:test_sa/modules/tm_module/tasks/task_request_item_view.dart';
import 'package:test_sa/modules/traf_module/traf_request_item_view.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/pages/land_page/requests/device_item_view.dart';

@ -19,7 +19,7 @@
//
// import '../../../models/enums/user_types.dart';
// import '../../widgets/land_page/land_page_item.dart';
// import '../device_transfer/create__device_transfer_request.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")

@ -7,7 +7,8 @@ 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/views/pages/device_transfer/device_search_screen.dart';
import 'package:test_sa/modules/tm_module/device_transfer/device_filter_screen.dart';
import 'package:test_sa/modules/tm_module/device_transfer/device_search_screen.dart';
import 'package:test_sa/views/widgets/equipment/asset_detail_page.dart';
import 'package:test_sa/views/widgets/equipment/asset_item_gridview.dart';
import 'package:test_sa/views/widgets/equipment/asset_item_listview.dart';
@ -19,7 +20,6 @@ import 'package:test_sa/views/widgets/qr/scan_qr.dart';
import '../../../models/device/asset.dart';
import '../../../models/device/asset_search.dart';
import '../../../new_views/app_style/app_color.dart';
import '../../pages/device_transfer/device_filter_screen.dart';
class MyAssetsPage extends StatefulWidget {
static const String id = "/single-device-Picker";

@ -1,135 +1,135 @@
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;
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);
}
}
// 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 +1,50 @@
import 'package:flutter/material.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/views/pages/user/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';
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(() {});
});
},
);
}),
);
}
}
// 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(() {});
// });
// },
// );
// }),
// );
// }
// }

@ -9,18 +9,17 @@ 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/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/modules/tm_module/device_transfer/search_device_page.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
import '../../../controllers/providers/api/devices_provider.dart';
import '../../../models/device/asset_search.dart';
import '../../../new_views/common_widgets/app_filled_button.dart';
import '../../../new_views/common_widgets/custom_app_bar.dart';
import '../../pages/device_transfer/search_device_page.dart';
class AssetScanQr extends StatefulWidget {
static const String id = "/asset-scan-qr";
const AssetScanQr({Key? key, required this.title, this.multiSelection = false,this.enablePickManually = true}) : super(key: key);
const AssetScanQr({Key? key, required this.title, this.multiSelection = false, this.enablePickManually = true}) : super(key: key);
final String title;
final bool multiSelection;
final bool enablePickManually;
@ -87,13 +86,13 @@ class _AssetScanQrState extends State<AssetScanQr> {
controller.scannedDataStream.listen((scanData) async {
if (!_scanDone) {
_scanDone = true;
if(!widget.enablePickManually){
if(scanData.code!=null){
if (!widget.enablePickManually) {
if (scanData.code != null) {
Navigator.of(context).pop(Asset(assetNumber: scanData.code!));
}else{
} else {
_scanDone = false;
}
}else{
} else {
final result = await _getDevice(scanData.code!, isQr: true);
if (result.isNotEmpty) {
if (widget.multiSelection) {
@ -118,14 +117,14 @@ class _AssetScanQrState extends State<AssetScanQr> {
),
],
).expanded,
if(widget.enablePickManually)
if (widget.enablePickManually)
FooterActionButton.footerContainer(
context: context,
child: AppFilledButton(
label: context.translation.pickManually,
onPressed: _pickManually,
context: context,
child: AppFilledButton(
label: context.translation.pickManually,
onPressed: _pickManually,
),
),
),
],
),
// bottomSheet:

Loading…
Cancel
Save