From e1efd59252032b97e0db60ed2be468f1d38584f7 Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Mon, 15 Dec 2025 12:24:37 +0300 Subject: [PATCH] request no, md and site details, remove item if no finding selected and dashboard api added for quality user. --- lib/controllers/api_routes/urls.dart | 2 + lib/dashboard_latest/dashboard_provider.dart | 9 +- .../create_equipment_internal_audit_form.dart | 16 +++- .../equipment_internal_audit_detail_page.dart | 44 ++++++++-- .../equipment_internal_audit_item_view.dart | 6 +- .../system_internal_audit_detail_page.dart | 88 +++++++++++++++++-- .../system_internal_audit_item_view.dart | 9 +- 7 files changed, 152 insertions(+), 22 deletions(-) diff --git a/lib/controllers/api_routes/urls.dart b/lib/controllers/api_routes/urls.dart index 6e9b4c37..d35b5ae9 100644 --- a/lib/controllers/api_routes/urls.dart +++ b/lib/controllers/api_routes/urls.dart @@ -58,8 +58,10 @@ class URLs { //service request new flow urls. static get nurseDashboardCountUrl => '$_baseUrl/ServiceRequest/GetDashboardNurseCount'; + static get qaAuditorCount => '$_baseUrl/ServiceRequest/GetDashboardQAAuditorCount'; static get nurseDashboardDetailsUrl => '$_baseUrl/ServiceRequest/GetDashboardNurseDetails'; + static get qaAuditorDetails => '$_baseUrl/ServiceRequest/GetDashboardQAAuditorDetails'; static get nurseRejectUrl => '$_baseUrl/ServiceRequest/NurseReject'; diff --git a/lib/dashboard_latest/dashboard_provider.dart b/lib/dashboard_latest/dashboard_provider.dart index c09cb621..8853589a 100644 --- a/lib/dashboard_latest/dashboard_provider.dart +++ b/lib/dashboard_latest/dashboard_provider.dart @@ -106,7 +106,9 @@ class DashBoardProvider extends ChangeNotifier { isAllCountLoading = true; notifyListeners(); String url = ''; - if (usersType == UsersTypes.engineer || usersType == UsersTypes.assessor || usersType == UsersTypes.assessorTl) { + if (usersType == UsersTypes.qualityUser) { + url = URLs.qaAuditorCount; + } else if (usersType == UsersTypes.engineer || usersType == UsersTypes.assessor || usersType == UsersTypes.assessorTl) { url = URLs.engineerDashboardCountUrl; } else { url = URLs.nurseDashboardCountUrl; @@ -241,7 +243,10 @@ class DashBoardProvider extends ChangeNotifier { Response response; String url = ''; - if (usersType == UsersTypes.engineer || usersType == UsersTypes.assessor || usersType == UsersTypes.assessorTl) { + + if (usersType == UsersTypes.qualityUser) { + url = URLs.qaAuditorDetails; + } else if (usersType == UsersTypes.engineer || usersType == UsersTypes.assessor || usersType == UsersTypes.assessorTl) { //need to check pagination for not assigned task @waseem. //these checks are to call different apis for dashboard for engineer... diff --git a/lib/modules/internal_audit_module/pages/equipment_internal_audit/create_equipment_internal_audit_form.dart b/lib/modules/internal_audit_module/pages/equipment_internal_audit/create_equipment_internal_audit_form.dart index 532a5b14..060a866a 100644 --- a/lib/modules/internal_audit_module/pages/equipment_internal_audit/create_equipment_internal_audit_form.dart +++ b/lib/modules/internal_audit_module/pages/equipment_internal_audit/create_equipment_internal_audit_form.dart @@ -42,6 +42,8 @@ class _CreateEquipmentInternalAuditFormState extends State _scaffoldKey = GlobalKey(); FocusNode auditCheckListNode = FocusNode(); + int noFindingValue = 4; + @override void initState() { super.initState(); @@ -78,7 +80,6 @@ class _CreateEquipmentInternalAuditFormState extends State( context: context, showAsBottomSheet: true, @@ -89,6 +90,15 @@ class _CreateEquipmentInternalAuditFormState extends State element.value == noFindingValue); + } catch (ex) {} + if (noFindingElement != null) { + value!.removeWhere((element) => element.value != noFindingElement!.value); + } + } _equipmentinternalAuditModel.findings = value ?? []; }, ), @@ -137,9 +147,9 @@ class _CreateEquipmentInternalAuditFormState extends State const AppLazyLoading()); _equipmentinternalAuditModel.auditorId = context.userProvider.user?.userID; - bool status = await internalAuditProvider.addEquipmentInternalAudit(context: context, request: _equipmentinternalAuditModel); + bool status = await internalAuditProvider.addEquipmentInternalAudit(context: context, request: _equipmentinternalAuditModel); Navigator.pop(context); - if(status){ + if (status) { Navigator.pop(context); } } diff --git a/lib/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_detail_page.dart b/lib/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_detail_page.dart index 84999bcb..796a401d 100644 --- a/lib/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_detail_page.dart +++ b/lib/modules/internal_audit_module/pages/equipment_internal_audit/equipment_internal_audit_detail_page.dart @@ -19,6 +19,7 @@ import 'package:test_sa/new_views/common_widgets/default_app_bar.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'; class EquipmentInternalAuditDetailPage extends StatefulWidget { static const String id = "/details-internal-audit"; @@ -51,12 +52,10 @@ class _EquipmentInternalAuditDetailPageState extends State getAuditData() async { model = await _internalAuditProvider.getEquipmentInternalAuditById(widget.auditId); allAttachments.clear(); - allAttachments = [ + allAttachments = [ ...(model?.attachments ?? []), ...(model?.engineerData?.attachments ?? []), ]; - - } @override @@ -82,12 +81,43 @@ class _EquipmentInternalAuditDetailPageState extends State