{"version":3,"sources":["components/form_components/TextField.js","components/buttons.js","lib/contexts/message_context.js","lib/utils/common_utils.js","components/universal/table_attributes.js","lib/services/api/common/boxp_api_client.js","lib/services/api/common/boxr_api_client.js","actions/table_actions.js","lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation.js","reducers/table_reducer.js","lib/constants/style_constants.js","lib/constants/index.js","views/Operations/Workshop/WorkshopContext/WorkshopContext.js","components/fullwidth_dialog.js","lib/utils/helperFunctions.js","components/form_components/switch.js","lib/services/api/operaitons/WorkShop/Inspection/InspectionService.js","components/form_components/fileUpload/index.js","lib/utils/debounce.js","components/quantity_counter.js","lib/services/api/dashboard/line_maintenance.js","assets/GreenCopyIcon.svg","assets/CopyFiles.svg","components/search_with_filters.js","lib/services/api/create_data_service.js","lib/services/api/index.js","lib/services/api/operaitons/WorkShop/TaskLibrary/commercial.js","lib/services/api/planning/Shifts/shift.js","lib/services/api/stores/tooling/parts_client.js","views/Dashboard/Workshops/Storage/ChartLoader.js","constants.js","components/form_components/YesNoField.js","actions/auth_actions.js","lib/services/api/procurement/Services.js","components/universal/loading_indicator.js","lib/services/api/auth_services.js","components/form_components/DateField.js","assets/Red remove icon.png","views/Operations/LineMaintenance/WorkOrder/FieldComponents/RecordsTotalHours.js","views/Operations/LineMaintenance/WorkOrder/FieldComponents/free_text_field.js","lib/services/api/compliance/capability_client.js","assets/green_filled_tick.png","assets/green check.png","reducers/auth_reducer.js","lib/services/api/operaitons/lineMaintenance/workOrder/workOrder.js","assets/icons/Lock.svg","assets/icons/Alert_icon.png","views/Operations/LineMaintenance/WorkOrder/FieldComponents/numeric_increment.js","lib/services/api/planning/LineMaintenance/lineEventsandSeries.js","assets/Amber gear@3x.png","components/linear_progress_bar.js","actions/data_actions.js","assets/icons/Unlock.svg","components/form_components/manage_data_dialog.js","components/form_components/upload_multiple.js","components/form_components/LMEventsDateTimeField.js","reducers/data_reducer.js","lib/services/api/operaitons/save_operation.js","lib/services/api/common/api_client.js","lib/services/api/operaitons/WorkShop/Storage/CalenderMaintenanceService.js","assets/Hollow circle.png","components/button_group_navigation.js","lib/services/api/planning/Resource/resources.js","components/tab_component.js","lib/services/api/boxp_listing_services.js","actions/boxp_table_actions.js","theme/main_theme.js","assets/pdf.png","views/Operations/LineMaintenance/WorkOrder/FieldComponents/dropdown_field.js","views/Operations/LineMaintenance/WorkOrder/ViewPrintUSLabel.js","views/Operations/LineMaintenance/WorkOrder/AlternativeParts/EditPartDetails.js","views/Operations/LineMaintenance/WorkOrder/AlternativeParts/PartInfo.js","views/Operations/LineMaintenance/WorkOrder/AlternativeParts/AlternativePartsTable.js","views/Operations/LineMaintenance/WorkOrder/PartDetails.js","views/Operations/LineMaintenance/WorkOrder/WorkOrderTooligs.js","views/Operations/LineMaintenance/WorkOrder/FieldComponents/section_label_with_action.js","views/Operations/LineMaintenance/WorkOrder/AdditionalEngineers.js","views/Operations/LineMaintenance/WorkOrder/AircraftDDs.js","views/Operations/LineMaintenance/WorkOrder/InbondDelayCalc.js","views/Operations/LineMaintenance/WorkOrder/DepartureDelayCalc.js","views/Operations/LineMaintenance/WorkOrder/StaionCompleteAndComments.js","views/Operations/LineMaintenance/WorkOrder/AlternativeParts/create/Search/index.js","views/Operations/LineMaintenance/WorkOrder/AlternativeParts/create/CreateNew/index.js","views/Operations/LineMaintenance/WorkOrder/AlternativeParts/create/CreateAlternativePart.js","views/Operations/LineMaintenance/WorkOrder/AlternativeParts/RemovedParts/CreateParts.js","views/Operations/LineMaintenance/WorkOrder/AlternativeParts/RemovedParts/RemovedParts.js","views/Operations/LineMaintenance/WorkOrder/PlannedMainTask.js/Deassign.js","views/Operations/LineMaintenance/WorkOrder/PlannedMainTask.js/ViewRecords.js","views/Operations/LineMaintenance/WorkOrder/PlannedMainTask.js/EditTask.js","views/Operations/LineMaintenance/WorkOrder/PlannedTaskDetails.js","views/Operations/LineMaintenance/WorkOrder/section_detail.js","lib/services/api/boxp_update_data_service.js","lib/services/api/boxp_create_data_service.js","lib/services/api/boxp_delete_data.js","lib/services/api/boxp_index.js","assets/exclamation.png","views/Accounts/Workshop/Maintenance/ManageInvoice/DateField.js","assets/AmberGear.png","components/universal/messagePopup.js","views/Stores/Parts/Stocks/RightDialog.js","lib/services/api/listing_service.js","components/MRODialog.js","assets/jpg.png","assets/icons/qr-code.png","lib/services/api/sms/my_sms_service.js","lib/services/api/admin/line/line_customers_client.js","components/universal/page_not_found.js","views/Operations/LineMaintenance/WorkOrder/AddNewTool.js","views/Operations/LineMaintenance/WorkOrder/add_parts_tools.js","assets/red_hand.png","assets/maint/SpecEquip/specEquipGray.png","assets/maint/Services/services_icon_grey.png","assets/maint/Parts/partsIconGray.png","views/Procurement/Parts/requestList/stockInfo.js","assets/Dashboard/arrowupwardGreen.svg","assets/Dashboard/arrowdownwardRed.svg","lib/services/api/admin/line/line_customer_client_new.js","assets/Dashboard/verifiedcopy.js","views/Operations/LineMaintenance/WorkOrder/FieldComponents/numeric_field_with_increments.js","components/numeric_increment_job_clockings.js","lib/utils/create_reducer.js","views/Operations/Workshop/Maintenance/MaintenanceDetails.js","views/Operations/Workshop/PlanningTab/Planning.js","views/Operations/Workshop/Inspection/ManageInspection.js","views/Operations/Workshop/Inspection/ActionDetails.js","views/Operations/Workshop/Inspection/ManageTask/ManageTask.js","views/Operations/Workshop/Inspection/StageInformation/DeleteStage.js","views/Operations/Workshop/Inspection/StageInformation/EditStage.js","views/Operations/Workshop/Inspection/StageInformation/StageInfo.js","views/Operations/Workshop/Inspection/AddStage/UpdateStage.js","views/Operations/Workshop/Inspection/AddStage/Library.js","views/Operations/Workshop/Inspection/AddStage/CreateNewStage.js","views/Operations/Workshop/Inspection/AddStage/AddStageTabComponent.js","views/Operations/Workshop/Inspection/AddStage/AddStageTab.js","views/Operations/Workshop/Inspection/CalenderActionDetails.js","views/Operations/Workshop/Inspection/CalendarActionInfo.js","views/Operations/Workshop/Inspection/ManageCertificate/Certificate.js","views/Operations/Workshop/Inspection/ManageComments/ManageComment.js","views/Operations/Workshop/Inspection/ManageComments/DeleteComments.js","views/Operations/Workshop/Inspection/ManageComments/Comment.js","views/Operations/Workshop/Inspection/CreateAction/CreateNewActions/CreateActions.js","views/Operations/Workshop/Inspection/CreateAction/History/TechFilesPopup.js","views/Operations/Workshop/Inspection/CreateAction/History/Stages.js","views/Operations/Workshop/Inspection/CreateAction/History/CopyTables/Actions.js","views/Operations/Workshop/Inspection/CreateAction/History/CopyTables/Parts.js","views/Operations/Workshop/Inspection/CreateAction/History/CopyTables/ServicesAdditionalPopUp.js","views/Operations/Workshop/Inspection/CreateAction/History/CopyTables/Services.js","views/Operations/Workshop/Inspection/CreateAction/History/CopyTables/EquipmentAdditionalPopUp.js","views/Operations/Workshop/Inspection/CreateAction/History/CopyTables/Equipments.js","views/Operations/Workshop/Inspection/CreateAction/History/CopyActions.js","views/Operations/Workshop/Inspection/CreateAction/History/HistoricalJobs.js","views/Operations/Workshop/Inspection/CreateAction/History/index.js","views/Operations/Workshop/Inspection/CreateAction/index.js","views/Operations/Workshop/Inspection/index.js","views/Operations/Workshop/Parts&Tools/AddPartDetails/Search/index.js","views/Operations/Workshop/Parts&Tools/AddPartDetails/CreateNew/index.js","views/Operations/Workshop/Parts&Tools/AddPartDetails/AddPart.js","views/Operations/Workshop/Parts&Tools/EditPartDetails.js","views/Operations/Workshop/Parts&Tools/PartInfo.js","views/Operations/Workshop/Parts&Tools/ToolingTable.js","views/Operations/Workshop/Parts&Tools/index.js","views/Operations/Workshop/ServicesAndEquip/DeleteServices.js","views/Operations/Workshop/ServicesAndEquip/ManageSpecialistService.js","views/Operations/Workshop/ServicesAndEquip/SpecialistService.js","views/Operations/Workshop/ServicesAndEquip/SpecialistEquipment/AddSpecialistEquipment.js","views/Operations/Workshop/ServicesAndEquip/SpecialistEquipment/SpecialistEquip.js","views/Operations/Workshop/ServicesAndEquip/Equipment.js","views/Operations/Workshop/ServicesAndEquip/index.js","views/Operations/Workshop/TabDetails.js","assets/CheckTick.svg","assets/copyparts.png","views/Operations/LineMaintenance/WorkOrder/AddMaintTasks.js","assets/Dashboard/audience.svg","views/Operations/LineMaintenance/WorkOrder/AlternativeParts/ReturnIssuedPart/styles.js","components/form_components/fileUpload/SIgnatureFile.js","views/Operations/Workshop/UniversalWarningDialog.js","views/Operations/Workshop/QuotePopUp/PopupDialog.js","views/Operations/Workshop/Commercial/EstimationHistory.js","assets/maint/Commercial/CommercialIconRed.png","actions/admin/line/work_order_builder_actions.js","views/Operations/Workshop/Commercial/LookupPricing/Historcial.js","views/Operations/Workshop/Commercial/LookupPricing/PartPricing.js","views/SMS/MySMS/TableFilters.js","lib/services/api/admin/line/work_order_builder_client.js","components/form_components/fileUpload/pdf.png","lib/services/api/update_data_service.js","components/Popper.js","views/Planning/Line maintenance/LMEvents/DetailsPopUp.js","views/Stores/Parts/Stocks/CertificatePopup.js","views/Dashboard/LineMaintenance/Performance/icons/settings.js","views/Dashboard/LineMaintenance/Performance/icons/airplane.js","views/Dashboard/LineMaintenance/Performance/icons/depature.js","views/Dashboard/LineMaintenance/Performance/icons/records.js","views/Dashboard/LineMaintenance/Performance/icons/parts.js","views/Dashboard/LineMaintenance/Performance/icons/tools.js","views/Dashboard/LineMaintenance/Performance/icons/plane-landing.js","views/Dashboard/LineMaintenance/Performance/icons/oil.js","assets/Dashboard/ResendEmail.js","views/Dashboard/LineMaintenance/Activity/AddPart.js","views/Dashboard/LineMaintenance/Activity/ScheduledChecks.js","views/Dashboard/LineMaintenance/Activity/Handling&Equipments.js","assets/LinkIcon.png","views/Operations/Workshop/CautionPopUp.js","assets/maint/SpecEquip/specEquipIconAmber.png","assets/maint/SpecEquip/specEquipIconRed.png","assets/maint/SpecEquip/specEquipIconGreen.png","assets/maint/Services/servicesIconAmber.png","assets/maint/Services/servicesIconRed.png","assets/maint/Services/ServicesIconGreen.png","assets/maint/Parts/partsIconGreen.png","assets/maint/Parts/partsIconRed.png","assets/maint/Parts/partsIconAmber.png","components/search_with_filters_parts.js","assets/icons/UploadDoc.svg","components/form_components/AwsDateTimeFieldFor.js","views/Operations/Workshop/QuotePopUp/CreateProjectParts.js","views/Operations/Workshop/Maintenance/StatusPopup.js","views/Operations/Workshop/Inspection/ActionInformation/ManhoursHistory.js","views/Operations/Workshop/QuotePopUp/PriceBreaks.js","components/form_components/fileUpload/xls.svg","components/temporary_sidebar.js","views/Stores/Parts/History/HistoryTablePopup.js","views/Stores/Parts/Stocks/StockInfoEditPopup.js","views/Stores/Parts/Stocks/TransferPartDialog.js","views/Stores/Parts/Stocks/EditDialog.js","views/Stores/Parts/Stocks/SplitDialog.js","views/Stores/Parts/Stocks/stockInfo.js","components/form_components/manage_dialog.js","lib/services/api/admin/users/user_client.js","lib/services/api/boxr_listing_service.js","actions/boxr_table_actions.js","assets/info.png","lib/contexts/form_context.js","lib/services/api/operaitons/lineMaintenance/workOrder/ReturnIssuedPart.js","assets/Dashboard/group.svg","views/Planning/Resource/User Shifts/EditAreas.js","views/Planning/Resource/User Shifts/EditZones.js","views/Planning/Shifts/Leave/UsedHours.js","views/Operations/Workshop/Inspection/GetProjectParts.js","assets/PartIcon.png","assets/Description.png","assets/gear-green.svg","assets/gear-red.svg","lib/services/api/operaitons/WorkShop/Services_Equipment/services.js","lib/services/api/operaitons/WorkShop/Storage/StorageService.js","views/Operations/LineMaintenance/WorkOrder/FieldComponents/NumericIncrementForWorkOrderLae.js","views/Operations/LineMaintenance/WorkOrder/FieldComponents/NumericIncrementForWorkOrderNonLae.js","views/Planning/Shifts/ShiftPlane/MarkAbsent.js","assets/maint/Planning/planningIconGrey.png","assets/Unlock.png","views/Operations/Workshop/PlanningTab/CopyTemplates/Tabs/Services/TechFilesPopup.js","assets/camera@2x.png","assets/certificate.png","assets/camera.png","assets/comment.png","assets/green_checklist.png","assets/amber_checklist.png","assets/red_checklist.png","assets/certificate@2x.png","views/Operations/Workshop/Inspection/ReorderAction.js","views/Operations/Workshop/Inspection/ReorderStages.js","assets/icons/white-settings.png","components/qr_code_with_data.js","views/Operations/Workshop/Maintenance/InductionTab/PrintLable.js","views/Operations/Workshop/Maintenance/InductionTab/AwayFromBase.js","views/Operations/Workshop/Maintenance/InductionTab/Induction.js","views/Operations/Workshop/Maintenance/InductionTab/NoGoodsIn.js","views/Operations/Workshop/Maintenance/InductionTab/Index.js","views/Operations/Workshop/Maintenance/InductionTab/TabComponent.js","views/Operations/Workshop/PlanningTab/PartNumberTable.js","views/Operations/Workshop/PlanningTab/ScopePopup.js","views/Operations/Workshop/PlanningTab/SearchCapability.js","views/Operations/LineMaintenance/WorkOrder/FieldComponents/yes_or_no_based_input_field.js","assets/LeaveBwd.svg","assets/LeaveFwd.svg","assets/display-size.svg","views/Operations/Workshop/Inspection/ActionInformation/HistoryTablePopup.js","views/Operations/Workshop/Inspection/ActionInformation/HistoryDialog.js","assets/key.png","views/Operations/Workshop/Release/AddAddress.js","components/form_components/PartsDatefield.js","lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/Certification.js","assets/Green hollow.png","views/Operations/Workshop/Commercial/DeleteCusApproval.js","assets/Dashboard/Camera.svg","assets/google.svg","assets/authy.svg","assets/mail-send.svg","views/Operations/Workshop/PlanningTab/Tabs/Planning/Plan.js","views/Operations/Workshop/PlanningTab/Tabs/Actions/AdditionalFieldPopUp.js","views/Operations/Workshop/PlanningTab/Tabs/Actions/Stages.js","views/Operations/Workshop/PlanningTab/Tabs/Actions/TechFilesPopup.js","views/Operations/Workshop/PlanningTab/Tabs/Actions/InspectionActions.js","views/Operations/Workshop/PlanningTab/Tabs/MaintActions.js","views/Operations/Workshop/PlanningTab/Tabs/Parts/AdditionalData.js","views/Operations/Workshop/PlanningTab/Tabs/Parts/Parts.js","views/Operations/Workshop/PlanningTab/Tabs/Services/AdditionalData.js","views/Operations/Workshop/PlanningTab/Tabs/Services/TechFilesPopup.js","views/Operations/Workshop/PlanningTab/Tabs/Services/Services.js","views/Operations/Workshop/PlanningTab/Tabs/Equipment/AdditionalData.js","views/Operations/Workshop/PlanningTab/Tabs/Equipment/Equipment.js","views/Operations/Workshop/PlanningTab/CopyTemplates/Tabs/Planning/Plan.js","views/Operations/Workshop/PlanningTab/CopyTemplates/Tabs/Actions/AdditionalFieldPopUp.js","views/Operations/Workshop/PlanningTab/CopyTemplates/Tabs/Actions/Stages.js","views/Operations/Workshop/PlanningTab/CopyTemplates/Tabs/Actions/TechFilesPopup.js","views/Operations/Workshop/PlanningTab/CopyTemplates/Tabs/Actions/InspectionActions.js","views/Operations/Workshop/PlanningTab/CopyTemplates/Tabs/Services/AdditionalData.js","views/Operations/Workshop/PlanningTab/CopyTemplates/Tabs/Services/Services.js","views/Operations/Workshop/PlanningTab/CopyTemplates/Tabs/Parts/AdditionalData.js","views/Operations/Workshop/PlanningTab/CopyTemplates/Tabs/Parts/Parts.js","views/Operations/Workshop/PlanningTab/CopyTemplates/Tabs/Equipment/AdditionalData.js","views/Operations/Workshop/PlanningTab/CopyTemplates/Tabs/Equipment/Equipment.js","views/Operations/Workshop/PlanningTab/Tabs/TabIndex.js","views/Operations/Workshop/PlanningTab/SelectedOrderDetails.js","views/Operations/LineMaintenance/WorkOrder/UpdateTechLog.js","views/Operations/LineMaintenance/WorkOrder/RenderMaintTable.js","components/form_components/fileUpload/ppt.svg","components/form_components/fileUpload/doc.svg","lib/hooks/useDependencies.js","components/form_components/DeleteDailog.js","components/form_components/PlanningTimeField.js","components/form_components/MRoOnSite_OffSite_Field.js","components/form_components/DateTimeField.js","views/Operations/Workshop/PlanningTab/CopyPrevious.js","assets/green_hand.png","views/Operations/Workshop/PlanningTab/UpdateProjectParts.js","views/Operations/Workshop/PlanningTab/ProjectParts.js","views/Operations/LineMaintenance/WorkOrder/FieldComponents/MultiUpload.js","assets/gear.svg","components/RouterPrompt/RouterPrompt.js","assets/Stoppage/Not_required.png","views/Operations/Workshop/Inspection/ActionInformation/EditStageOrder.js","views/Operations/Workshop/Inspection/ActionInformation/DeleteAction.js","views/Operations/Workshop/Inspection/ActionInformation/EditActionInfo.js","views/Operations/Workshop/Inspection/ActionInformation/ActionInformation.js","assets/alert_orange.png","assets/CheckTickGrey.svg","lib/services/api/planning/LineMaintenance/PlannedWO.js","lib/services/api/messaging/message_services.js","lib/services/api/stores/tooling/instock_client.js","lib/services/api/operaitons/WorkShop/TaskLibrary/save_operation_taskLibrary.js","views/Procurement/Services/Requests/InfoPopup.js","lib/services/api/procurement/request_list.js","lib/services/api/procurement/equipments.js","lib/services/api/procurement/primePart.js","components/keyword_search.js","lib/services/api/stores/parts/historyClient.js","assets/map.png","views/Commercial/Workshop/Customers/Addresses/Map.js","views/SMS/MySMS/Header/SMSReportToggle.js","views/Planning/Line maintenance/Planned WO/PlannedWorkOrderContext.js","views/Compliance/Approvals/Capability/ScopeDialog.js","assets/DownloadIcon.svg","lib/services/api/delete_data.js","reducers/admin/line/work_order_builder_reducer.js","views/Dashboard/LineMaintenance/Activity/TablePaginationActions.js","components/MaintFullWidthRightDialog.js","lib/services/api/operaitons/WorkShop/TaskLibrary/TaskLibrary/task_library.js","assets/Red filled tick.png","views/Operations/LineMaintenance/WorkOrder/FieldComponents/section_label.js","components/form_components/fileUpload/Image.png","views/Stores/Parts/Stocks/PartsCertificate.js","components/universal/status_messages.js","assets/FormLinkIcon.svg","views/Planning/Line maintenance/LMEvents/LinkWorkOrder.js","assets/maint/Commercial/CommercialIconAmber.png","assets/maint/Commercial/CommercialIconGreen.png","views/Operations/LineMaintenance/WorkOrder/OilAndHydFluid.js","views/Planning/Shifts/Leave/NewLeaveRequest.js","views/Planning/Shifts/Overtime/NewLeaveRequest.js","views/Dashboard/LineMaintenance/Activity/DaysPaginationActions.js","views/Operations/Workshop/PlanningTab/PlanningClosure.js","views/Operations/Workshop/PlanningTab/CopyNewFunction.js","views/Operations/Workshop/PlanningTab/CopyTemplates/index.js","views/Operations/Workshop/PlanningTab/Certification.js","assets/amber_hand.png","views/Operations/Workshop/CRS/index.js","views/Operations/Workshop/Production/InductionTab/Induction.js","views/Procurement/Services/Requests/WarningDialog.js","assets/maint/Commercial/CommercialIconGray.png","assets/maint/Planning/planningIconAmber.png","assets/maint/Planning/planningIconRed.png","assets/maint/Planning/planningIconGreen.png","assets/Stoppage/No_stoppage.png","assets/Stoppage/Not_started.png","assets/Stoppage/Partially_stopped.png","assets/Stoppage/Stopped.png","views/Operations/Workshop/CallMaint/ManageInspection.js","views/Operations/Workshop/CallMaint/ActionDetails.js","views/Operations/Workshop/CallMaint/ManageTask/ManageTask.js","views/Operations/Workshop/CallMaint/ActionInformation/EditStageOrder.js","views/Operations/Workshop/CallMaint/ActionInformation/DeleteAction.js","views/Operations/Workshop/CallMaint/ActionInformation/EditActionInfo.js","views/Operations/Workshop/CallMaint/ActionInformation/ActionInformation.js","views/Operations/Workshop/CallMaint/StageInformation/DeleteStage.js","views/Operations/Workshop/CallMaint/StageInformation/EditStage.js","views/Operations/Workshop/CallMaint/StageInformation/StageInfo.js","views/Operations/Workshop/CallMaint/CalenderActionDetails.js","views/Operations/Workshop/CallMaint/CalendarActionInfo.js","views/Operations/Workshop/CallMaint/ManageCertificate/Certificate.js","views/Operations/Workshop/CallMaint/ManageComments/ManageComment.js","views/Operations/Workshop/CallMaint/ManageComments/DeleteComments.js","views/Operations/Workshop/CallMaint/ManageComments/Comment.js","views/Operations/Workshop/CallMaint/index.js","views/Operations/Workshop/Commercial/ApprovedPosition.js","views/Operations/Workshop/Commercial/CurrentLivePosition.js","views/Operations/Workshop/Commercial/CreateApprovaCaution.js","views/Operations/Workshop/Commercial/ApprovalManage.js","views/Operations/Workshop/Commercial/CustomerSupply.js","views/Operations/Workshop/Commercial/LineItemsTable.js","views/Operations/Workshop/Commercial/DetailedOverview.js","views/Operations/Workshop/Commercial/CustomerApproval.js","assets/right.svg","views/Operations/Workshop/Commercial/LabourPopup.js","views/Operations/Workshop/Commercial/ApproveAll.js","views/Operations/Workshop/Commercial/Accumulative.js","views/Operations/Workshop/Commercial/InitialExceptions.js","views/Operations/Workshop/Commercial/CreateNewApprovedPosition.js","views/Operations/Workshop/Commercial/UpdateEstimation.js","views/Operations/Workshop/Commercial/index.js","views/Operations/Workshop/QuotePopUp/AddTags.js","views/Operations/Workshop/QuotePopUp/ManagePrimaryParts.js","views/Operations/Workshop/QuotePopUp/UnitPricePopup.js","views/Operations/Workshop/QuotePopUp/CommercialOverview.js","views/Operations/Workshop/QuotePopUp/PartHistory.js","views/Operations/LineMaintenance/WorkOrder/FieldComponents/NumericIncrementDiscount.js","views/Operations/Workshop/QuotePopUp/PriceBrand.js","views/Operations/Workshop/Quote.js","views/Operations/Workshop/Release/ReleaseCertPopup.js","views/Operations/Workshop/Release/AwayFromBase.js","views/Operations/Workshop/Release/NoGoodsOut.js","views/Operations/Workshop/Release/index.js","views/Operations/Workshop/Release/Scrap.js","views/Operations/Workshop/Release/RenderReleaseTab.js","views/Operations/Workshop/Release/TabComponent.js","views/Planning/Shifts/Leave/LeaveRequest.js","views/Planning/Shifts/Leave/CalendarWeekly.js","views/Planning/Shifts/Leave/ApproveLeave.js","views/Planning/Shifts/Leave/RejectLeave.js","views/Planning/Shifts/Leave/LeaveReview.js","views/Planning/Shifts/Overtime/OvertimeRequest.js","views/Planning/Shifts/Overtime/CalendarWeekly.js","views/Planning/Shifts/Overtime/ApproveOverTime.js","views/Planning/Shifts/Overtime/RejectOverTime.js","views/Planning/Shifts/Overtime/OvertimeReview.js","views/Compliance/Approvals/Capability/CreateTechData.js","views/Compliance/Approvals/Capability/TechDataPopup/DeleteItem.js","views/Compliance/Approvals/Capability/TechDataPopup/VerifyRevision.js","views/Compliance/Approvals/Capability/TechDataPopup/RevisionHistory.js","views/Compliance/Approvals/Capability/TechData.js","views/Operations/Workshop/PlanningTab/CreateTechData.js","views/Operations/Workshop/PlanningTab/TechDataPopup/DeleteItem.js","views/Operations/Workshop/PlanningTab/TechDataPopup/VerifyRevision.js","views/Operations/Workshop/PlanningTab/TechDataPopup/RevisionHistory.js","views/Operations/Workshop/PlanningTab/PlanningTechData.js","views/Operations/Workshop/Parts&Tools/ReturnIssuedPart/styles.js","views/Operations/Workshop/Parts&Tools/ReturnIssuedPart/StepOne.js","views/Operations/Workshop/Parts&Tools/ReturnIssuedPart/StepTwo.js","views/Operations/Workshop/Parts&Tools/ReturnIssuedPart/QRCodeStep.js","views/Operations/Workshop/Parts&Tools/ReturnIssuedPart/ReturnIssuedPart.js","views/Operations/LineMaintenance/WorkOrder/AlternativeParts/ReturnIssuedPart/StepOne.js","views/Operations/LineMaintenance/WorkOrder/AlternativeParts/ReturnIssuedPart/StepTwo.js","views/Operations/LineMaintenance/WorkOrder/AlternativeParts/ReturnIssuedPart/QRCodeStep.js","views/Operations/LineMaintenance/WorkOrder/AlternativeParts/ReturnIssuedPart/ReturnIssuedPart.js","views/Operations/Workshop/Commercial/ApprovalCaution.js","views/Operations/Workshop/Commercial/CustomerApprovalNew.js","views/Operations/Workshop/Storage/NewLinkedMaintOrder.js","views/Operations/Workshop/Storage/AddMaint.js","assets/wrench.svg","assets/Dashboard/tire-pressure.svg","assets/Dashboard/boom-lift.svg","assets/Dashboard/ladder-truck.svg","assets/Dashboard/airplane.svg","assets/Dashboard/arrowdownward.svg","assets/Dashboard/arrowdownwardgreen.svg","assets/Dashboard/arrowdownwardamber.svg","assets/Dashboard/location.svg","assets/Dashboard/arrowupward.svg","assets/Dashboard/end-call.svg","assets/Dashboard/end-call -grey.svg","assets/Dashboard/remove.svg","assets/CalendarIcon.svg","assets/CopyIcon.svg","lib/services/api/accounts/activity_report.js","components/status_dots.js","lib/services/api/admin/line/adhoc_rates_client.js","actions/admin/line/adhoc_rates_actions.js","lib/services/api/procurement/Kits.js","actions/boxp_data_actions.js","views/Dashboard/LineMaintenance/Performance/icons/bill.js","components/category_based_search.js","components/form_components/FetchedFilePreview.js","views/Planning/Line maintenance/LMEvents/DeleteEvent.js","components/form_components/AwsDateFormat.js","assets/Dashboard/verified.svg","assets/Dashboard/verifiedAmber.svg","assets/Dashboard/verifiedGray.svg","components/form_components/fileUpload/mov (1).svg","components/form_components/fileUpload/doc (1).svg","assets/Dashboard/line.svg","assets/GroupIcon.png","assets/HandRed.png","assets/outsourcing.png","assets/icons/Accounts.svg","assets/icons/Admin.svg","assets/icons/Compliance.svg","assets/icons/Calendar.svg","assets/icons/Procurement.svg","assets/icons/Dashboard.svg","assets/icons/Commercial.svg","assets/icons/Info.svg","assets/icons/shield.svg","assets/icons/Messaging.svg","assets/icons/Operations.svg","assets/icons/Stores.svg","assets/icons/power-button.svg","views/Messaging/MessageCount.js","views/Layout/index.js","views/Auth/auth_styles.js","actions/Two_factor_auth.js","views/Auth/signin.js","views/Auth/forgot_password_request.js","components/universal/footer.js","views/Auth/reset_password.js","views/Auth/set_password.js","views/Auth/set_pin.js","views/Home/LineManagerUsers.js","views/Home/allTabMenu.js","views/Home/StaffLeave.js","views/Home/StaffOvertime.js","views/Home/LeavePopUp.js","views/Home/MyLeave.js","views/Home/MyOvertime.js","views/Home/TabIndex.js","views/Home/LeaveRequest.js","views/Home/index.js","lib/services/api/dashboard/user_compiance.js","views/Dashboard/UserCompliance/Training.js","views/Dashboard/UserCompliance/Competency.js","views/Dashboard/UserCompliance/Regency.js","views/Dashboard/UserCompliance/Read&Signs.js","views/Dashboard/UserCompliance/Approvals.js","views/Dashboard/UserCompliance/Chart.js","views/Dashboard/UserCompliance/index.js","views/Dashboard/StationCompliance/Compliance/Handover.js","views/Dashboard/StationCompliance/Compliance/Vehicles.js","views/Dashboard/StationCompliance/Compliance/Chart.js","views/Dashboard/StationCompliance/Compliance/VehiclePass.js","views/Dashboard/StationCompliance/Compliance/StationChecks.js","views/Dashboard/StationCompliance/Compliance/Stores.js","lib/services/api/dashboard/station_compliance.js","views/Dashboard/StationCompliance/Compliance/index.js","views/Dashboard/LineMaintenance/IndicatorLabel.js","views/Dashboard/StationCompliance/StoreCondition/DownloadFile.js","views/Dashboard/StationCompliance/StoreCondition/LiveRecords.js","views/Dashboard/StationCompliance/StoreCondition/TemperatureHumidity.js","views/Dashboard/StationCompliance/Condition Events/InfoPage.js","views/Dashboard/StationCompliance/Condition Events/index.js","views/Dashboard/StationCompliance/index.js","views/Dashboard/LineMaintenance/Maint-Hours/DownloadFile.js","views/Dashboard/LineMaintenance/Maint-Hours/index.js","views/Dashboard/LineMaintenance/Performance/Chart.js","views/Dashboard/LineMaintenance/Performance/OTP.js","views/Dashboard/LineMaintenance/Performance/Recovered.js","views/Dashboard/LineMaintenance/Performance/Chargeable.js","views/Dashboard/LineMaintenance/Performance/ManHours.js","views/Dashboard/LineMaintenance/Performance/LinePerformance.js","views/Dashboard/LineMaintenance/Performance/icons/defects.js","views/Dashboard/LineMaintenance/Activity/DetailsPopUp.js","views/Dashboard/LineMaintenance/Activity/index.js","views/Dashboard/LineMaintenance/StationBoard/AllocateEngineers.js","views/Dashboard/LineMaintenance/StationBoard/CalledOut.js","views/Dashboard/LineMaintenance/StationBoard/CancelEvent.js","views/Dashboard/LineMaintenance/StationBoard/CreateLMEvents.js","views/Dashboard/LineMaintenance/StationBoard/EditLmEvents.js","views/Dashboard/LineMaintenance/StationBoard/TablePaginationActions.js","views/Dashboard/LineMaintenance/StationBoard/DetailsPopUp.js","views/Dashboard/LineMaintenance/StationBoard/Stand.js","views/Dashboard/LineMaintenance/StationBoard/index.js","views/Dashboard/LineMaintenance/index.js","lib/services/api/dashboard/workshop.js","views/Dashboard/Workshops/Maintenance/ApprovalVar.js","views/Dashboard/Workshops/Maintenance/EstimationDeparture.js","views/Dashboard/Workshops/Production/CommericalTable.js","views/Dashboard/Workshops/Maintenance/StoppedOrders.js","views/Dashboard/Workshops/Maintenance/Chart New.js","views/Dashboard/Workshops/Production/index.js","views/Dashboard/Workshops/Storage/Chart.js","views/Dashboard/Workshops/Storage/BarChart.js","views/Dashboard/Workshops/Storage/index.js","views/Dashboard/Workshops/Maintenance/CommericalTable.js","views/Dashboard/Workshops/Maintenance/WorkshopMaintenance.js","views/Dashboard/Workshops/index.js","components/MultipleBaseFilter.js","lib/services/api/dashboard/stores.js","views/Dashboard/Stores/OilAccuracy/OilAccuracy.js","views/Dashboard/Stores/index.js","views/Dashboard/index.js","views/Reports/Mro1/mro1-lineparts.js","views/Auth/TotpAuthStep2.js","views/Auth/TotpAuth.js","views/Auth/two_factor_auth.js","views/NewReports/Reports/Favourites/FavouritesTable.js","lib/services/api/reports/reports.js","views/NewReports/Reports/useGetReportsTableData.js","views/NewReports/Reports/useGetFilterOptions.js","views/NewReports/Reports/useGetReportFormDropdowns.js","views/NewReports/Reports/ReportsAction.js","views/NewReports/Reports/Favourites/index.js","views/NewReports/Reports/AllReports/AllReportsTable.js","views/NewReports/Reports/AllReports/index.js","views/NewReports/Reports/index.js","views/NewReports/Admin/Setup/useGetSetupFilterOptions.js","views/NewReports/Admin/Setup/SetupTable.js","views/NewReports/Admin/Setup/UsersAction.js","views/NewReports/Admin/Setup/UserGroupsAction.js","views/NewReports/Admin/Setup/index.js","views/NewReports/Admin/index.js","views/NewReports/index.js","views/Routes/index.js","views/Auth/hoc/require_auth.js","App.js","serviceWorker.js","index.js"],"names":["container","_document$fullscreenE","document","fullscreenElement","body","MROTextField","withStyles","theme","root","borderColor","palette","primary","main","light","padding","color","textTransform","props","_props$variant","_props$label","_props$variant2","_props$label2","value","setValue","useState","select","React","createElement","Fragment","TextField","Object","assign","style","width","classes","InputProps","autoComplete","autoCorrect","startAdornment","endAdorment","fullWidth","variant","margin","helperText","error","label","replace","SelectProps","MenuProps","inputProps","maxLength","MROButton","fontWeight","fontSize","dark","boxShadow","Button","type","disableElevation","disableRipple","disableFocusRipple","disabled","loading","CircularProgress","size","children","ToastMessageContext","createContext","ToastMessageProvider","_ref","toastMessage","setToastMessageState","message","open","duration","toastMessageValue","showToastMessage","data","Provider","useMessage","useContext","flattenObjectToArray","object","key","values","i","length","hasOwnProperty","push","userName","user","JSON","parse","sessionStorage","getItem","first_name","last_name","userCurrency","currencies","getOrganisationId","id","getUserId","getBaseStationID","base_station_id","getParams","url","params","parser","href","lets","search","substring","split","pair","decodeURIComponent","validateEmail","email","test","String","toLowerCase","validateCommaSeparatedEmail","checkFromat","date","checkDateTimeFromat","timeStampFormat","formatDate","formattedDate","moment","format","formatDateTimeFull","format24HrDateTime","format24HrDateOnly","_formatDate","formatToDateOnly","formatDateFunction","formatMMMDate","formatDateFunctionWithAmPm","formatUTC","formatToMins","handleDuration","time","asSeconds","formatDateWithHrMin","newformatDateWithHrMin","formatUTCToLocal","givenDate","utc","convertedDate","local","getColors","tableIcons","Add","forwardRef","ref","AddBox","Check","Clear","htmlColor","ICON_COLOUR","Delete","DeleteOutline","DetailPanel","ChevronRight","Edit","Export","SaveAlt","Filter","FilterList","FirstPage","LastPage","NextPage","PreviousPage","ChevronLeft","ResetSearch","Search","SortArrow","ArrowUpward","ThirdStateCheck","Remove","ViewColumn","Settings","options","actionsColumnIndex","selectableRowsOnClick","pageSize","pageSizeOptions","searchFieldStyle","rowStyle","textAlign","height","headerStyle","paddingTop","paddingBottom","cellStyle","draggable","searchable","sorting","emptyRowsWhenPaging","debounceInterval","requestApi","async","authHeaders","users","organisation","role","mainUrl","url1","url2","logicFiedUrl","includes","axios","create","baseURL","BASE_API_URL_BOXP","headers","client","then","response","handleHeaders","setItem","stringify","userRole","user_role","permissions","logo","avatar","console","log","clear","window","location","resp","success","catch","status","Promise","reject","errors","requestrApi","BASE_API_URL_BOXR","TABLE_ACTIONS","CHANGE_STATE","SET_RESPONSE","TOGGLE_IN_PROGRESS_STATE","UPDATE_DATA_IN_LIST","SET_CURRENT_SELECTION","CLEAR_STATE","TableAction","setPage","dispatch","page","name","setPageSize","setSearchText","searchText","setTotalCount","totalCount","getList","section","ListingService","getData","res","payload","total_count","join","e","addDataToList","tableDispatch","dataDispatch","clearData","MaintenanceServices","getPriceDetails","method","getPriceBreaks","editPriceBreaks","formData","createPriceBreaks","updateAllPriceBreaks","getAllPriceBreaks","getAllCustomerDetails","getStoppedOrders","getQuotation","getWorkshopOrder","getBaseStation","acceptanceOrder","arguments","undefined","getInduction","getCustomerList","getCustomerListForStock","getReleaseType","getReleaseAuth","getCapability","getHeaderDetails","updateQuote","getPlatform","getBarcodeData","updateInductionTabData","getSendQuoteStatus","planningData","updateAwayFromBase","deleteFile","createQuotation","updatePlanningTabData","param","deletedParam","_","omit","edit_tab","getPlanning","updateHeader","getAllActions","getAllActionComments","getTabDetails","archiveOrder","getActionsDpdOptions","createPartRequest","addPart","createJobRequest","fetchDependencies","getRequestPartDetails","getConditionedParts","editPartWOShopRequest","deleteRequest","getOrderDetails","editButton","unlockPopup","planningClosure","updateSaveForLaterData","getParam","inspectionActionLogic","productionStoppage","getMaintOrderDetails","getReleaseTabDetails","updateReleaseTabData","updateReleaseAwayFromBase","updateScrap","getReleaseDocument","operationalStoppage","copyPreviousGetPlanningList","copyPreviousGetActionList","getPartNumber","createPrimeData","copyPreviousCreateAction","copyPlanningFile","copyPreviousCreatePlanningId","sendEmailExportRecords","getLineFixedFees","getCapabilityRating","getCopyInspectionHistory","addPlanningMaintenanceOrder","getTemplateListing","addPlanningTemplate","getTemlatePartsListing","addPlanningTemplateParts","updatePartsTemplate","deleteTemplateParts","addPlanningTemplateService","getTemlateServiceListing","deleteTemplateServices","addPlanningTemplateEquipment","getTemlateEquipmentListing","deleteTemplateEquipment","updateArchiveTemplate","copyTemplateServicesFiles","updateReorderFunctions","getVehicleList","getCustomerAddress","updateCustomerAddress","getPlanningServiceDetails","updatePlanningServiceDetails","updatePlanningServiceValue","updateServiceLifes","updateCopyAllActions","createProjectParts","getAllProjectParts","getAllPlanningProjectParts","getPlanningProjectPartsDetails","createInitialProjectParts","updateWOProjectParts","deleteWOProjectParts","linkUnlinkWOProjectParts","updatePrimeData","updatePLanningProjectParts","deletePlanningProjectParts","getProjectPartsDropDown","updateCopyProjectParts","INITIAL_TABLE_STATE","inProgress","tableReducer","CreateReducer","state","action","process","WorkshopContext","WorkshopContextProvider","setState","shouldShowWarning","handleConfirm","warningState","warningDialogState","editTabStatus","controlPlanningPop","shouldTabDataUpdate","setShouldTabDataUpdate","colorStatus","setColorStatus","stageUpdate","setStageUpdate","approvalStateCommercial","setApprovalStateCommercial","setEditButton","tabStatus","setTabStatus","openPopup","setOpenPopup","EdtabStatus","setEditTabStatus","conditionState","setConditionState","tatCount","setTatCount","stockDetails","setStockDetails","copyTabStatus","setcopyTabStatus","copyCalendarStatus","setCopyCalendarStatus","copyAllActions","setCopyAllactions","copyPartTabStatus","setcopyPartTabStatus","copyServiceTabStatus","setcopyServiceTabStatus","copyEquipmentTabStatus","setCopyEquipmentTabStatus","flag","setflag","serviceStatus","setServiceStatus","equipmentStatus","setEquipmentStatus","copyPlanningTab","setCopyPlanningTab","releaseA","releaseB","releaseAuth","description","techData","inspection","capability","image","service","projectParts","copyIdflag","setCopyIdFlag","planningCopyId","setCopyPlanningId","tableRefresh","setTableRefresh","linePartsCopy","setLinePartsCopy","updateLineValue","setUpdatedlinevalue","deleteState","setDeleteState","lineMinMaxPartsCopy","setLineMinMaxPartsCopy","updateMinMaxLineValue","setUpdatedMinMaxlinevalue","deleteMinMaxState","setMinMaxDeleteState","lineForecastPartsCopy","setForecastPartsCopy","updateForecastValue","setUpdatedForecastvalue","deleteForecastState","setForecastDeleteState","copyInspection","setCopyInspection","copyParts","setCopyParts","copyServices","setCopyServices","serviceFlag","setServiceFlag","copyEquipments","setCopyEquipments","equipmentFlag","setEquipmentFlag","planningNullId","setPlanningNullId","copiedJobs","setCopiedJobs","messageTotalCount","setMessagetotalCount","partsState","setPartsState","isCloseTab","MROFullScreenRightDrawer","paperAnchorRight","backgroundColor","modal","left","Drawer","transitionDuration","enter","exit","elevation","anchor","downloadFileFromUrl","fileUrl","link","append","click","removeChild","downloadCsvFileFromUrl","downloadCsvFileFromUrlWithBase","downloadPdfFileFromUrl","showHyphenIfValueNull","prop","addHyphenToNullFieldsInObj","obj","keys","forEach","addHyphenToNullFields","arr","map","el","userDetail","userDetails","userId","userStamp","stamp_number","fixedInputValueTo2DecimalPlaces","indexOf","substr","fixedInputValueTo3DecimalPlaces","validateFormData","optionalFields","dateTime","valid","entries","get","trim","removeSecFromDateTime","slice","PositiveSwitch","switchBase","checked","track","Switch","InspectionServices","getAllDropDown","createAction","updateAction","deleteAction","getInspAuth","getActionPhotos","getActionCertificate","addCertificate","addPhotos","getSelectedAction","addComments","editcomments","getActionComments","updateActionVerification","addOldStagesToAction","addLibrary","getAllActionStages","getStageAction","updateStagePosition","deleteStage","editStage","getHistoryData","getManHoursData","useStyles","makeStyles","spacing","input","display","fileLabel","marginBottom","fileView","border","minHeight","borderRadius","listStyle","flexWrap","position","maxWidth","objectFit","top","right","alignItems","justifyContent","WebkitLineClamp","WebkitBoxOrient","overflow","messagefileView","marginLeft","fileError","FileUpload","accept","multiple","defaultValue","onDelete","showBorderOnNoFiles","viewOnly","uploadButtonView","APIUrl","isDeleting","isLoading","startIcon","messageLoading","chatLoading","component","files","setFiles","selectedFileId","setSelectedFileId","useTheme","useEffect","FormData","DataService","updateData","handleChange","selectedFiles","Array","from","target","dataTransfer","validFiles","filter","file","bytes","Math","round","prevState","removeFile","index","_files","className","clxc","Box","background","onDrop","preventDefault","fileName","extension","pop","isSupported","handleDropFiles","onDragOver","event","Typography","_file$filename","_file$filename2","_file$filename3","filename","uploadImage","docFile","CSVImage","Document","pptFile","fileExtension","onClick","cursor","controls","src","alt","CloseIcon","stopPropagation","_file$","_file$$name","_file$0$type","_file$2","objectUrl","URL","createObjectURL","lastModified","onChange","htmlFor","UploadIcon","useDebounce","delay","debouncedValue","setDebouncedValue","handler","setTimeout","clearTimeout","disableField","pointerEvents","QuantityCounter","placeholder","required","autoFocus","qty","setQty","setError","minQty","number","shouldNotAcceptZero","step","marginR","minimumQty","setMinimumQty","parseInt","InputLabelProps","shrink","isNaN","marginRight","ButtonGroup","aria-label","RemoveIcon","AddIcon","LineMaintainenceServices","getPerformance","getPerformanceListing","getMaintHoursDetails","getDownloadCSVMaintHrs","getActivityDetails","getPopUpDetails","updateVerifyState","getStationBoardEventList","updateNotCallOutStatus","CreateLineEvents","updateCancelEvent","updateAllocatedEngineers","updateStandNumber","getPartsDetails","getPartsTools","getWorkOrderSection","getWorkOrderSectionDetails","updateWorkOrderSectionDetails","module","exports","wrapper","divider","filters","paddingRight","SearchBarWithFilters","handleSearch","noSearch","title","InputBase","InputAdornment","SearchIcon","endAdornment","IconButton","clearSearch","Divider","gutterBottom","creationUrl","training","competency","storageCondition","procedureCategories","aogSMS","kpiEmail","reportEmail","competencyBaseList","competencyGroupList","trainingBaseList","trainingGroupList","delayCodes","fixedPriceListGroup","fixedPriceList","approvalType","companyApprovals","approvalTypeGroup","approvalTypePermission","typePermissions","approvalTypePerm","authorisation","customerInfo","taskLibrary","vehicles","baseStationChecks","competencyCategory","competencyQuestion","handoverCheck","scheduledChecks","lineCustomers","createLineCustomer","updateLineCustomer","vendorParts","saveTooling","operationalTasks","uploadDocs","primaryParts","saveCertificates","formOne","createContact","createEmail","createCheckRate","createFixedFees","createBasedAircraft","createData","deleteData","updateDataWithParams","CommercialServices","getActionIndicators","updateApprovalStatus","getApprovedPosition","getCurrentPosition","createNewApproval","customerApproval","deleteApproval","getActionBreakdown","getListItems","getNextStage","updateCustomerSupply","updateApprovalActionStatus","getEstimationDeparture","reviseEstDeparture","getApprovalSubmissionTable","getApprovalSubmissionDocument","downloadSubmissionDocument","getExceptionTableListing","getStandardPricing","getHistoricalJobs","getHistoricalJobsDetails","ShiftServices","getShiftCalendarDetails","getShiftLeaveDetails","getShiftOvertimeDetails","fetchUsers","createLeaveRequest","getShiftWeeklyDetails","getShiftDayListingDetails","getLeaveReviewPage","postLeaveActionRequest","getShiftUsedHoursDetails","createOvertimeRequest","getOvertimeReviewPage","postOverTimeActionRequest","getLeaveRequestDetails","getOvertimeRequestDetails","getStaffLeaveDetails","getStaffOverTimeDetails","getHomePageMyLeaveSectionDetails","getHomePageMyOvertimeDetails","deleteLeaveRequest","deleteOverTimeRequest","PartsClientervices","deletePartRequests","getDDPartList","getAllParts","createParts","isPrimaryPartFieldsDisabled","deleteParts","changeStatus","updateParts","listOwnersODParts","bulkUpload","fetchSampleDocument","fetchRelatedParts","postDocument","getAllSecondaryParts","getAlternateParts","updateSecondaryPart","updateAlternateParts","searchPrimaryPart","query","currentPrimaryPartId","fetchMaterialCertificates","fetchQuarantineParts","fetchShelfLifeParts","searchAllListedPrimaryParts","baseStationId","lineCustomerId","mroOwned","getAllPartsDependency","fetchAllQuarantineParts","fetchStoreLocations","partNumber","getPrimaryPartInfo","fileId","deleteAlternatePart","transferPart","ddPartsFetchDependencies","listingNonKits","updateSecPartsCertification","updateSplitBatch","ChartLoader","thickness","MRO_MANAGED_PART","MRO_NON_MANAGED_PART","MRO_REQUEST_PART","YesNoField","handleToggle","NoFieldError","my","flexDirection","marginTop","ToggleButtonGroup","exclusive","ToggleButton","AUTH_ACTIONS","AUTHENTICATED","SET_AUTH_STATE","AUTHENTICATION_ERROR","PASSWORD_CHANGE_SUCCESS","PASSWORD_CHANGE_ERROR","TOGGLE_LOADING_STATE","TOGGLE_MASK","CLEAR","SET_ERRORS","AuthActions","userSignIn","AuthClient","login","userSignOut","orgLogo","logout","changePassword","handleSuccess","changeFieldMask","setUserData","authState","ServiceRequestListClientServices","updatePurchase","createServices","updateServices","updateDocuments","fetchSupplier","ServiceFetchDependencies","workshopEquipmentFetchDependencies","fetchEquipDependencies","createEquipments","fetchEquipmentSupplier","updateEquipmentQuoteServices","workshopCreateEquipments","deleteServices","Id","createPurchaseOrder","getProcuremntApprvl","editProcApproval","changeState","cancelServiceOrder","releaseRequirement","workshopUpdateEquipments","services","sendOrderReportEmail","deleteDocument","loadingWrapper","contained","block","overlay","bottom","zIndex","LoadingIndicator","LoaderProps","Component","verifyTOTPQR","verifyTOTPCode","sendQRCodeLink","verifyOtpPhone","verifyOtpEmail","sendOtpByPhone","sendOtpByEmail","signUp","requestReset","updatePassword","postOrgData","changePin","borderWidth","DateField","selectedDate","setSelectedDate","EventIcon","MuiPickersUtilsProvider","utils","MomentUtils","KeyboardDatePicker","clearable","autoOk","focused","inputVariant","readOnly","InputAdornmentProps","RecordsTotalHours","workOrderId","totalHours","setTotalHours","reportable_id","reportable_type","memo","_props$field_name","_props$field_name2","_props$field_value","_props$menuItems","isDpdDisabled","max_length","decimal_places","field_name","fieldProps","field_type","mandatory","org_field_id","field_value","toUpperCase","DateTimeField","setErrors","opacity","onlyTime","menuItems","item","idx","MenuItem","multiline","maxRows","CapabilityServices","createCapability","getPlatforms","createPlatform","updatePlatform","mapPlatform","getFetchDependency","createCapWithoutRecord","createEngineTask","editEngineTask","deleteEngineTask","updateCapability","getAllCapabilities","getAllTechData","createTechData","updateTechData","deleteTechData","verifyRevisionState","getAllRevisionDetails","INITIAL_STATE","mask","authReducer","WorkOrderServices","getBatchNumbers","getRemovedParts","createRemovedParts","formdata","editRemovedParts","deleteRemovedParts","UpdateMaintTechLog","getMaintPlannedTableDetails","EditPlannedTask","DeassignPlannedTask","EditPlannedRecords","UndoPlannedTask","NumericIncrement","val","setVal","parseFloat","man_hours","Grid","xs","PlanningLineMaintenance","fetchEventTypes","fetchPlannedAircraft","fetchScopeOfApproval","fetchPlannedEngineers","getLMActivityGraph","getLineCustomers","getLMEventDetails","updateLineEvents","deleteLineEvents","getLMSeriesDetails","getLMSeriesInfo","updateLineEventsSeries","deleteLineEventsSeries","updateUnarchiveSeries","linkWorkOrderListing","updateLinkUnlinkWorkOrder","linkEventsListing","updateLinkUnlinkEvents","mySelector","paddingLeft","LinearProgressBar","styleProps","barHeight","bgColor","LinearProgress","DATA_SERVICE_ACTIONS","SET_DATA","TOGGLE_IN_PROGRESS","CLEAR_DATA","DataServiceAction","cb","handleClose","setNewData","Date","now","company_approval","isArray","errCb","formWrapper","widthChange","centerALign","actionButtons","paddingBottomLg","ManageDataDialog","noTitle","handleSubmit","handleCloseMenu","noAction","centerActionBtns","centerAlign","changeWidth","rWidth","_handleClose","Dialog","onClose","aria-labelledby","DialogContent","spellcheck","noValidate","onSubmit","UploadButton","_labelName$replace","visibilityStatus","noFileExist","labelName","setLoading","fileList","fileSize","textDecoration","document_url","FileIcon","LMEventsDateTimeField","maxDate","locale","week","dow","KeyboardTimePicker","DialogProps","PopoverProps","ampm","changeTime","KeyboardDateTimePicker","changeDate","INITIAL_DATA_STATE","currentData","inProcessing","dataReducer","OperationService","saveOperationFields","retrieveTableStructures","addRequestPart","editRequestPart","getAllocatedJobReq","deleteTooling","request","CalenderMaintenanceService","getActions","getStagesDetails","updateFile","ButtonGroupNavigation","buttons","currentPath","pathname","button","listValue","redirect","history","fetchUserGroups","ResourcesServices","getShiftPatternListing","createShiftPattern","getDefaultListing","createDefaultSettings","getShiftAreaListing","createShiftArea","updateShiftArea","getUserGroupListing","createUserGroup","updateUserGroup","getZoneListing","createZone","updateZone","updateShiftPattern","getSubShiftPatternListing","createSubShiftPattern","deleteUserGroup","fetchShiftTypes","updateSubShiftPattern","createCopyToBottom","deleteSubShiftPattern","shiftMovePosition","getActiveUsersListing","createActivePattern","updateActivePattern","getUserShiftListing","createUserShift","updateShifZoneArea","updateShifAbsentTraning","deleteUserShifts","getLeaveDetails","updateUserEntitlement","updateSetCarryForward","updateAllShifZoneArea","deleteAllUserShifts","resetShifts","getTimeZone","sensShiftsReport","a11yProps","flexGrow","appBar","tabRoot","tabsRoot","MROTab","overflowX","visibility","selected","Tab","MROTab1","TopNavigationBar","currentTab","setCurrentTab","tabProp","tabProperties","getTabIndex","tabIndex","findIndex","tab","AppBar","Tabs","newValue","indicatorColor","TabIndicatorProps","TabSectionBar","isGettingDetails","disableBack","disableNavigation","scrollButtons","TabSectionBarV3","borderTopLeftRadius","borderTopRightRadius","dataUrl","allContact","reportEmailWorkshop","addresses","storageRates","commercialRates","fetchQuotation","OrderList","inductionList","allTaskLibrary","allActions","allActionComment","getAllCustomer","actionListings","getAllUsageList","usageThreshold","partHistory","BoxpListingService","paramsSerializer","result","eachTask","encodeURIComponent","BoxpTableAction","defaultTheme","createTheme","organisationDetails","primaryColor","primary_color_code","secondaryColor","secondary_color_code","MROTheme","common","white","secondary","typography","fontFamily","subtitle2","subtitle1","colorSuccess","colorWarning","warning","overrides","MuiTypography","MuiButton","minWidth","containedSecondary","MuiTableCell","breakpoints","down","head","MuiCardContent","MuiIconButton","MuiBackdrop","MuiMenuItem","MuiChip","deleteIcon","MuiSvgIcon","fontSizeSmall","MuiSelect","MuiInputBase","MuiToggleButton","MuiAutocomplete","inputRoot","MuiPickersDateRangePickerInput","MuiOutlinedInput","inputMultiline","inputAdornedStart","MuiInputLabel","outlined","transform","MuiInputAdornment","positionStart","_choices$find","choices","setChoices","selectedOption","setSelectedOption","find","choice","dropdownOptions","dropdown_values","option","station","Autocomplete","getOptionSelected","handleDropdownValue","getOptionLabel","renderInput","items","EditPartDetails","_currentSelectedData$","_currentSelectedData$2","_currentSelectedData$3","_currentSelectedData$4","_currentSelectedData$5","_currentSelectedData$6","_currentSelectedData$7","_currentSelectedData$8","_currentSelectedData$11","_currentSelectedData$15","currentSelectedData","closeHandler","getPartDetials","taskDetails","setAction","busy","setBusy","rDispatch","useReducer","seletectedTask","setSelectedTask","selectedTaskId","SetSelectedID","installField","setId","task_tlp","comment","part_condition_details","install_location","defferal_data","part_off","serial_off","issued_comment","_currentSelectedData$9","_currentSelectedData$10","required_quantity","_currentSelectedData$12","operational_task_id","_currentSelectedData$13","_currentSelectedData$14","allocated_quantity","quantity","_currentSelectedData$19","_currentSelectedData$20","table","rotable_removed","RightDialog","dialogCloseHandler","_currentSelectedData$16","_currentSelectedData$17","validateFields","delete","err","_ref2","freeSolo","filterSelectedOptions","onInputChange","newInputValue","inputValue","onSelect","alignSelf","mt","DeleteIcon","_currentSelectedData$18","backButton","partKey","partValue","partCard","GetInfoCard","_props$value","flex","keyName","PartInfo","_props$permission2","_partInfo$data","_Math$abs","_partInfo$data2","_partInfo$data$alloca","_partInfo$data3","_Math$abs2","_partInfo$data4","_partInfo$part_condit5","_partInfo$data5","setTaskDetails","tableState","anchorEl","setAnchorEl","isEdit","setIsEdit","isReturnIssuedPart","setIsReturnIssuedPart","partInfo","setPartInfo","popupData","setPopupData","isMaterialPopupOpen","setIsMaterialPopupOpen","msds","setMsds","allocId","setAllocId","partConditionId","setPartConditionId","partDetails","setPartDetails","currentPartId","setCurrentPartId","selectedSecondaryPartId","setSelectedSecondaryPartId","currentSelection","setCurrentSelection","requestedDate","setRequestedDate","_partInfo$part_condit","_partInfo$part_condit2","created_at","_partInfo$part_condit3","momentDate","organisation_id","work_order_id","LineCustomerServiceNew","getTaskDetails","tableOptions","total","count_per_page","getPopupData","HistoryClientServices","_partInfo$part_condit4","repairable","alternate_part_id","prime_part_id","getPartList","PartsClientServices","_res$data","secondary_part_id","columns","field","render","rowData","condition","PointerEvent","renderStatBtn","_rowData$certificates","certificates","ViewIcon","_rowData$condition","_props$permission","Tooltip","currentTarget","RescheduleIcon","permission","write","alloc_id","ReplayIcon","HistoryTablePopup","handleClick","mds","finally","Toolbar","edge","BackIcon","EditIcon","customer_supply","WarningIcon","isEmpty","bgcolor","part_number","maint_data_ref","abs","remaining_quantity","requested_by","request_id","alignItem","mb","MaterialTable","icons","onChangePage","onChangeRowsPerPage","onSearchChange","handleCloseFunc","ReturnIssuedPart","qtyFieldTitle","updateTable","CertificatePopup","stockBtn","AlternativePartsTable","setTableRefreshs","debouncedVal","currentSelelction","setCurrentSelelction","issued","setIssued","RefreshPartDetailsTable","PartDetailsTableRefresh","toolbar","search_keyword","to_issued","hidden","_rowData$status","_rowData$status2","_rowData$status6","_rowData$status7","approval_state","wordWrap","issued_quantity","_rowData$status3","_rowData$status4","_rowData$status5","FormControlLabel","control","labelPlacement","options1","PartDetails","dataa","setData","setOpen","createSection","setCreateSection","setMroOwned","getLineCustomerDetails","line_customer_id","line_customer","part_type","key1","key2","createdId","handleOption","checkRotableBoolean","removal_location","aria-controls","aria-haspopup","MoreVertIcon","align","Menu","keepMounted","PaperProps","maxHeight","ITEM_HEIGHT","certificate","doc","handleDelete","vendor_part_id","deleteMangedPart","AddNewPartsAndTools","options2","WorkOrderTooligs","setStatus","web_status","calibration_certificate","calibration_due","new_status","pointerEvent","FormControl","Select","displayEmpty","titleTile","titleButton","titleTile2","SectionLabelAction","ml","clsx","require","AdditionalEngineers","_sectionDetails$sub_s","sectionDetails","bases","showTableData","setShowTableData","base","setBase","selectedKeys","setSelectedKeys","tableRef","useRef","selection","getUserList","current","onAllSelected","_coumns","arrow","handleDeleteAddEngg","setTempEngg","tempEngg","engg","user_id","sub_section_fields","_data","handleAddEngg","useCallback","uniqBy","form","_d","ManageDialog","onSelectionChange","rows","row","username","constructObject","reduce","AircraftDDs","fields","subSections","setSubSections","sub_sections","reasonError","setReasonError","addMelError","setAddMelError","out","setOut","child_section_name","Status","ReasonAdds","AddMelCat","_section$child_sectio","_section$child_sectio2","_section$child_sectio3","_section$child_sectio4","_section$child_sectio5","_section$child_sectio6","setstate","In","child_section_fields","Cleared","Raised","Out","_name","_ref3","org_section_id","md","FreeTextField","_ref4","_section$child_sectio7","_section$child_sectio8","_section$child_sectio9","_section$child_sectio10","_section$child_sectio11","_section$child_sectio12","setFields","hasError","setHasError","Spares","_ref5","_ref6","_section$child_sectio13","_section$child_sectio14","_section$child_sectio15","_section$child_sectio16","_section$child_sectio17","_section$child_sectio18","_ref7","subSection","inbondState","setInbondState","calculateInbdDelay","estArrivalDateTime","actArrivalDateTime","diff","isValid","inbdDelayTime","getTimeDiffFormatted","DepartureDelayCalculation","actArrivalDate","setDelayCode","delayReasonDpdValues","setDelayReasonDpdValues","parmas","delay_codes","calculateGndAndDelay","actDeparture","estDeparture","actArrival","gndDuration","delayDuration","DelayHours","gndHours","Delay","secondary_fields","StaionCompleteAndComments","selectedBase","dropdownValues","setDropDownValues","fielsubSection","borderStyle","StockInfoDrawer","_errors$part_off","_errors$serial_off","_errors$us_comment","acReg","baseStations","useDependencies","workOrderNum","setWorkOrderNum","setFilters","mro_owned","selectedPart","setSelectedPart","quantityRemoved","setQuantityRemoved","copyPartsOff","setCopyPartsOff","myData","localStorage","work_order_number","addPartFields","own_stock","addPartFields1","setValues","repairableFields","handleViewInfo","Visibility","TouchAppIcon","allFields","required_quantity_is_zero","mr","us_comment","removed_quantity","handleCopyFunction","CopyParts","StockInfo","hideEdit","showSelectPartBtn","onSelectPartBtnClick","CreateNew","unitQty","setUnitQty","requiredQty","setRequiredQty","workOrderNumber","unitOfMeasureItems","setUnitOfMeasureItems","copyPartsON","setCopyPartsOn","setDescription","maintdata","setMaintData","serialOff","setSerialOff","defferal","setdefferal","setLocation","comments","setComments","PrimePartsClientServices","units_of_measure","unkonwnPartFields","units_of_measure_id","unit_name","fieldName","errMsg","units_issued_qty_is_zero","removed_quantity_is_zero","set","units_issued_qty","removedQty","task_id","primary_part_id","to_base_station_id","aircraft_registration","order_number","createJobReq","_response$errors","msg","justify","CreateAlternativePart","dialog","dialogTitle","CreateParts","getRemovedPartList","setQuantity","part_quantity","DialogTitle","removalLocation","_response$errors2","description_off","_props$props","_props$props$permissi","getSectionName","loadingDelete","setloadingDelete","us_label","timeout","sub_section_name","CreateRemovedParts","part_allocation_id","whiteSpace","textOverflow","paper","svg","disableSwitch","Deassign","getListing","acceptAll","setAcceptAll","mroState","setMROState","reason","hours","act_hours","exclamationIcon","noIncreament","min","buttonName","ViewRecords","edit","setEdit","boolState","setBoolState","deletedStatus","setDeletedStatus","records","setRecords","getRecords","PlanningWorkOrderServices","blob_records","formLabel","EditTask","act_hrs","card","task","inputField","mro_hours","PlannedTaskDetails","wo_details","pt_status","GreenTickIcon","RedCrossIcon","GearAmbear","getPlannedDetails","handleUndoTask","mapTasks","Defects","timeCalculationFields","departureTimeCalcFields","HydAndOilQuarts","days","hrsMinDiff","padStart","Boolean","sign","StationAndCommentFields","_props$permission4","theme1","sectionId","setSectionDetails","sectionName","setSectionName","setCreatedId","FormContext","setFormData","subSectionDetails","setSubSectionDetails","setGetList","orgSectionId","setOrgSectionId","sectionRef","getSectionDetails","fieldsMap","setFieldsMap","sd","flat","_item$secondary_field","_item$secondary_field2","secondary_field","cf","fieldTypeMap","Freetext","Datetime","Numeric","Dropdown","table_data","File","Numerictext","Time","operable_type","section_details","section_name","handleTableData","task_type","getOperationList","delayCode","departureDetailsTime","setDepartureDetailsTime","oilState","setOilState","MuiThemeProvider","sectionTheme","sectionData","close","occurrence","_data2","updatedData","fileUploadHandler","fileFormData","_props$permission3","SectionLabel","InbondDelayCalculation","formState","OilAndHydFluid","SignatureFile","_file$file","_file$file2","_file$file3","sec","_file$file4","_file$file5","_file$file6","DropdownField","YesNoInput","NumericField","MultiUploadPreview","operableType","childSection","_childSection$child_s","child_section_type","child_section_field","RemovedParts","formRef","Rendermainttable","AddMaintTasks","closeTableData","MuiGrid","MuiFormControl","updateDataUrl","boxpUpdateData","createAddress","createStorageRates","planning","BoxpCreateData","deletionUrl","deleteComment","deleteActionData","deletePriceBreak","boxpDeleteData","BoxpDataService","calenderAction","setRepeatDate","header","footer","MessagePopup","topTitle","bottomTitle","Transition","Slide","direction","fullScreen","TransitionComponent","handOverDeps","getAckOpenhandoverData","fetchTraining","fetchCompetency","commercialRatesData","scheduledCheckHours","userCompliance","complianceCompetency","complianceTraining","authList","approvalScope","authFilters","authGroupsCreateList","authPermissionList","authUserDetail","workOrder","ataChapters","ataScheduledChecks","vehicleList","basesList","vehicleInspection","vehicleInspectionFilters","vehicleInspectionDetail","workOrderSections","workOrderSectionDetail","workOrderDependencyTable","stationInspections","stationInspectionFilters","stationCheckDetail","userApprovals","userGeneralFiles","competencyQuestions","adhocForms","LineManagers","authListVersionDownload","handoverHistory","handoverChecks","recencyTask","recency","adhocFormDetail","adhocDependency","operational_tasks","operation_workorder_tooling","fetch_tooling","accountScheduledChecks","accountsWorkOrderReports","accountsTowing","accountsGND","equipmentList","accountsCallOutFees","accountsCallOutHrs","accountsDelayReports","accountsTechLogMaint","accountsCabinMaint","accountsNonFixedPrice","accountsDefects","accountsPlannedTask","accountsPlannedWorkOrders","accountsOutboundWorkOrders","comsumeables","parts","fetchUserInfo","workOrderListing","dashboardHandovers","dashboardVehicles","dashboardToolings","dashboardSelfLifeExpiry","dashboardVehicleMotPass","operationTotalHours","operationTaskLibrary","listingATAChapter","workOrderSendEmail","primeParts","fetchSuppliers","partsFetchDependencies","primaryPartsBaseLevels","purchaseOrders","getCertificates","generateConsolidatedReport","managedParts","mroMangedParts","existingQty","fetchHandOverById","fetchRequestTable","DelayListing","CallOutsListing","stockOptionList","allocationList","allocatedList","getAllRequest","getAllProcRequest","getAccountsFormListing","getPurchasedItems","getDelayAndCalloutTabs","getDelayAndCalloutFields","getCancellation","requestPart","capabilitiesList","capabilitiesEngineTask","approvalFetchDependencies","partsAndToolsRequestParts","partInfoTable","getAllKits","kitsPrimaryPart","releaseTypesListing","stockOptionsList","alternatePartList","alternatePartOptionsListing","workshopRequestPart","workshopToolingRequestPart","workshopServices","getAllEquipmentList","getWorkshopEquipment","approval_tiers","scheduledCheckRates","DDPartListing","scheduledCheckCus","accountScheduledRates","Gnd_handling_fields_high_lift_equip","Gnd_handling_fields_large_steps","Gnd_handling_fields_medium_steps","Gnd_handling_fields_wheel_change_kit","accountDelayInbound","accountDelayExceeds","getAllToolData","getAllForcast","lineRemoveParts","commercial_tooling","mileageRates","labourRates","fixedFees","basedAircraft","MRODialog","btnTitle","noActionBtns","btnLeft","leftStartIcon","rightStartIcon","submit","hideYesButton","fromLeft","MySmsServices","listEventsThreatsAndBarriers","emailReports","getSMSSettings","addFinding","updateExternalAcceptance","getTasksOverviewTableData","getListTasksTableData","getTasksOverviewIndicatorData","getListInputsTableData","getInputOverviewTableData","getOverviewIndicatorData","checkBarrier","listBowTieMapping","listInputMessages","storeInitialAssessmentInput","storeResidualAssessmentInput","storeResidualAssessmentTask","reviseDueDate","deleteInput","deleteTask","reOpenInput","fetchApprovalTypes","getCustomersList","mathod","getRegulatorsList","saveAndCompleteTask","reOpenTask","acceptTask","submitSmsInputClosure","getTaskTableData","getTaskDetailData","getHistoryList","createTask","updateTask","getUsersList","getSmsTaskDetails","getSmsDueDateHistory","getSmsClosureHistory","getSmsInputDetails","getReportsTableData","getHeaderOverviewData","getSmsFormDependencies","createSMSReport","createInjuryReport","createMgmtchangereport","getInputsTableData","getManagedTasksTableData","getTasksTableData","getProgressCategorisationList","getProgressTasksList","createEndPoints","general_info","commercials","getGeneralInfo","updateLineCustomerDetails","getContactDetails","checkMandatories","fetchWorkOrderDependencies","createWorkOrder","updateWorkOrder","createDelay","createCallOuts","fetchDelayDependencies","fetchCallOutsDependencies","fetchBases","createSelectedBases","placeholderBackground","img","infoText","subheader","PageNotFound","statusMapButtons","getDaysDifference","endDate","startDate","renderDue","calibrated","calibrated_status","AddNewTool","selectedRows","setSelectedRows","setBaseStationId","showSelectAllCheckbox","tool_ids","setBaseStations","InStockClientServices","base_stations","selectionProps","tool_primary_key","selectedIds","splice","rowKey","selectedPartBase","setSelectedPartBase","setExistingQty","_valid","partRemovedData","resolve","Number","qtyMsg","AddPart","AddTool","_currentSelection$bat","_errors$batch_number","_errors$part_on","_errors$description","_errors$batch","_errors$install_locat","_errors$part_removed","_errors$part_removed2","batchNumbers","setBatchNumbers","selectedSecondaryPart","setSelectedSecondaryPart","details","setDetails","primaryPartData","setPrimaryPartData","primeId","setPrimeId","selectedSecondaryPartList","setSelectedSecondaryPartList","selectBatch","setSelectBatch","copySelectedPartOff","setCopSelectedpartOff","nonManagedCopyParts","setNonmanagedCopyParts","part_on","batch_number","unique_part_quantity","getDetails","rotatable","removed_qty","getPrimePartData","px","disableClearable","serial_number","_errors$part_number","batch","uom","purchaseInfo2","serial_on","orientation","flexItem","part_removed","handleClickCopyParts","quantity_removed","removal_reason","purchaseInfo","purchaseGrid","mainTitle","subTitle","alternatesInfo","_props$color","biggerAndBoldValue","openMsds","setOpenMsds","msdsList","setMsdsList","stockList","setStockList","alternateList","setAlternateList","alternateTableState","setAlternateTableState","stockFetchType","setList","RequestListClientServices","stockTableOptions","alternatesColumnConfig","alternatesTableOptions","total_stock","units_issued","shelf_life_control","cost","cost_date","supplier","base_station","owner","store_location","shelf_life_expiry","localization","searchPlaceholder","emptyDataSourceMessage","filterRow","filterTooltip","actions","icon","handleMsdsClose","LineCustomerService","createDelayCode","updateDelayCode","Verified","fill","enable-background","viewBox","xmlns","cx","cy","r","d","max","handleValueControl","currentVal","secondaryCheck","SubtractIcon","NumericIncrementJobClockings","toFixed","disable","initialState","handlers","tooltip","borderBottom","tooltipText","mouseX","setMouseX","mouseY","setMouseY","poperState","setPoperState","currentCommentsSelections","setCurrentCommentSelections","onMouseMove","clientX","clientY","onMouseLeave","Popover","anchorReference","handlepopupclose","anchorOrigin","vertical","horizontal","transformOrigin","anchorPosition","Paper","MaintenanceDetails","quoteId","workshopOrder","actionProps","closeSideDrawer","dateField","orderState","fieldsData","setFieldsData","customer_order_number","item_description","isUnsavedData","setIsUnsavedData","part","serial","customer_ref","resetErrorHandler","ps","customer","tabId","actionStoppedOrder","order_no","raised","VerticalIcon","menu","handleClose1","getContentAnchorEl","workshop_order_id","handleEmailExport","showArchiveWarningModal","DeleteDailog","WarningDialog","titleColor","Planning","workshop_id","actionStatus","setEditTab","editTab","getMaintenanceOrderList","readAndWrite","orderStateNum","closeTabStatus","getWorkshopOrderDetails","planning_Id","actionTabId","copyTab","expand","setExpand","visibleIcon","setVisibleIcon","dateFormat","setDateFormat","releaseType","setReleaseType","setReleaseAuth","toolRequired","setToolRequired","staffRequired","setStaffRequired","techMaintenance","setTechMaintenance","inspectionAction","setInspectionAction","refData","setRefData","busyPopup","setBusyPopup","referenceData","setReferenceData","planningCreatedStatus","setPlanningCreatedStatus","closeTab","setCloseTab","setIsGettingDetails","planningDetails","setPlanningDetails","filledAllData","setAllFilledData","isLoadingClosure","setIsLoadingClosure","closureData","setClosureData","openClosure","setOpenClosure","techMaintenanceAvail","setTechnicalMaintenanceAvail","setGetData","access","setAccess","read","handleDate","setHandleDate","disableComplete","setDisableComplete","updateFlag","setUpdateFlag","releaseStatus","setReleaseStatus","techLoading","setTechLoading","techAction","setTechAction","setDisabled","status_work","release_auth","release_type_a","release_type_b","estimate_release_date","tooling_required","staff_required","tech_maintenance_avail","tech_maintenance_file","handlePopup","isEditing","handleEditAPiCall","planning_id","onChangeHandler","resetErrorsHandler","capability_id","getPlanningList","inspection_action","capabilty_id","capabilty_ref_data","release_type_b_name","save_later","er","getPlanningListOnNull","runInspectionActionLogic","order_state","getElementById","_response$error","_res$error","_res$error2","_res$error3","_res$error4","_res$error5","_res$error6","_response$error2","handleCloseTab","_error$error","_res$error7","_response$error3","_error$error2","getCopyPreviousPlanningId","FileCopyIcon","requird","type_name","alignContent","RemoveOutlinedIcon","tech_data_crs_remarks","Certification","workshopOrderId","tabState","project_part","ProjectParts","setActions","TechData","rprops","lock","unlock","PlanningClosure","handleCloseFunction","CopyNewFunction","closeTabAction","getMaintenanceOrder","setPlanningAction","planningId","planningWholeDetails","SearchCapability","func","dataFromParent","referData","sec1","ManageInspection","varient","wrap","ActionDetails","dialogPaper","ManageTask","handleCloseDailog","selectedId","action_type","styleProp","actionPhotos","setActionPhotos","actionImage","setActionImage","setIsLoading","cameraIcon","file_name","path","DeleteStage","action_Id","closeStageHandler","content","UpdateStage","actionProp","selectedAction","setTitle","fieldZero","setFieldZero","fieldOne","setFieldOne","fieldTwo","setFieldTwo","fieldThree","setFieldThree","fieldFour","setFieldFour","fieldFive","setFieldFive","fieldSix","setFieldSix","fieldSeven","setFieldSeven","fieldEight","setFieldEight","fieldNine","setFieldNine","typeZero","setTypeZero","typeOne","setTypeOne","typeTwo","setTypeTwo","typeThree","setTypeThree","typeFour","setTypeFour","typeFive","setTypeFive","typeSix","setTypeSix","typeSeven","setTypeSeven","typeEight","setTypeEight","typeNine","setTypeNine","_selectedAction$sub_f","_selectedAction$sub_f2","_selectedAction$sub_f3","_selectedAction$sub_f4","_selectedAction$sub_f5","_selectedAction$sub_f6","_selectedAction$sub_f7","_selectedAction$sub_f8","_selectedAction$sub_f9","_selectedAction$sub_f10","_selectedAction$sub_f11","_selectedAction$sub_f12","_selectedAction$sub_f13","_selectedAction$sub_f14","_selectedAction$sub_f15","_selectedAction$sub_f16","_selectedAction$sub_f17","_selectedAction$sub_f18","_selectedAction$sub_f19","_selectedAction$sub_f20","_selectedAction$sub_f21","_selectedAction$sub_f22","_selectedAction$sub_f23","_selectedAction$sub_f24","_selectedAction$sub_f25","_selectedAction$sub_f26","_selectedAction$sub_f27","_selectedAction$sub_f28","_selectedAction$sub_f29","_selectedAction$sub_f30","_selectedAction$sub_f31","_selectedAction$sub_f32","_selectedAction$sub_f33","_selectedAction$sub_f34","_selectedAction$sub_f35","_selectedAction$sub_f36","_selectedAction$sub_f37","_selectedAction$sub_f38","_selectedAction$sub_f39","_selectedAction$sub_f40","_selectedAction$sub_f41","_selectedAction$sub_f42","_selectedAction$sub_f43","_selectedAction$sub_f44","_selectedAction$sub_f45","_selectedAction$sub_f46","_selectedAction$sub_f47","_selectedAction$sub_f48","_selectedAction$sub_f49","_selectedAction$sub_f50","sub_fields","handleUpdateData","stage_name","_selectedAction$sub_f51","_selectedAction$sub_f52","_selectedAction$sub_f53","_selectedAction$sub_f54","_selectedAction$sub_f55","_selectedAction$sub_f56","_selectedAction$sub_f57","_selectedAction$sub_f58","_selectedAction$sub_f59","_selectedAction$sub_f60","StageInfo","planning_verification","setSelectedAction","dateFormatted","closeHHandler","raised_by","mech_closed","mech","insp_closed","insp","EditStage","handleCloseEdit","taskLibraryData","setTaskLibraryData","addLib","setAddToLib","getTaskLibraryData","TaskLibraryServices","_taskLibraryData$sub_","_taskLibraryData$sub_2","_taskLibraryData$sub_3","_taskLibraryData$sub_4","_taskLibraryData$sub_5","_taskLibraryData$sub_6","_taskLibraryData$sub_7","_taskLibraryData$sub_8","_taskLibraryData$sub_9","_taskLibraryData$sub_10","_taskLibraryData$sub_11","_taskLibraryData$sub_12","_taskLibraryData$sub_13","_taskLibraryData$sub_14","_taskLibraryData$sub_15","_taskLibraryData$sub_16","_taskLibraryData$sub_17","_taskLibraryData$sub_18","_taskLibraryData$sub_19","_taskLibraryData$sub_20","_taskLibraryData$sub_21","_taskLibraryData$sub_22","_taskLibraryData$sub_23","_taskLibraryData$sub_24","_taskLibraryData$sub_25","_taskLibraryData$sub_26","_taskLibraryData$sub_27","_taskLibraryData$sub_28","_taskLibraryData$sub_29","_taskLibraryData$sub_30","_taskLibraryData$sub_31","_taskLibraryData$sub_32","_taskLibraryData$sub_33","_taskLibraryData$sub_34","_taskLibraryData$sub_35","_taskLibraryData$sub_36","_taskLibraryData$sub_37","_taskLibraryData$sub_38","_taskLibraryData$sub_39","_taskLibraryData$sub_40","handleUpdateStage","Library","getAllTaskLibrary","limit","_rowData$sub_fields","sm","SearchByKeyword","handleSearchText","components","CreateNewStage","type0","type1","type2","type3","type4","type5","type6","type7","type8","type9","getActionStages","handleCreate","selected1","label1","TabsWrappedLabel","handleCloseDrawer","offgoingchecksTable","ongoingchecksTable","filePreviewContainer","checksAppBar","generalDetail","AddStageTab","TabPanel","input1","input2","CalendarActionDetails","paper1","CalendarActionInfo","Certificate","actionCertificate","setActionCertificate","setCertificate","certificateIcon","certificateFile","dividers","ManageComment","actionComments","setActionComment","DeleteData","tableWrapper","Comment","setAllActionComments","action_id","wordBreak","raised_by_userstamp","raised_date_time","AddBoxIcon","isFreeAction","CreateActions","_dropDownData$action_","_dropDownData$mech_in","_dropDownData$mech_in2","_dropDownData$ata_cha","currentWorkshopDetails","dropDownData","setDropdownData","ataChapter","setAtaChapter","mechAuth","setMechAuth","inspAuth","setInspAuth","actionCategory","setActionCategory","maintFile","setMaintFile","criticalConsideration","setCriticalConsideration","IndependentInsp","setIndependentInsp","project","setProject","getDropdownData","estimate_man_hours_null","action_category_id","action_category","project_part_id","detailed_description","mech_auth_id","mech_insp_auth","insp_auth_id","ata_chapter_id","ata_chapters","chapter_number","estimate_man_hours","critical_considerations","independent_insp_required","certDialog","TechFilesPopup","currentSelectedRow","aria-describedby","tech_data","maintenance_file","file_path","createStyles","popupTitle","lineHeight","tableTitle","tableCell","Stages","actionStages","setActionStages","pageSizes","setPageSizes","column","_rowData$stage_fields","_rowData$stage_fields2","stage_fields","workshop_action_id","detailPanel","_rowData$stage_fields3","_rowData$stage_fields4","TableContainer","Table","TableBody","TableRow","TableCell","currentActionData","setCurrentActionId","projectPartId","setCurrentSelectedRow","isTechFiles","setIsTechFiles","actionData","setActionData","paging","inspectionColumns","stages","GreenCopyIcon","CopyFileIcon","pl","pr","currentClosedDetails","currentActionId","orderType","totalCountT","setTotalCountT","tData","setTData","tableOptions1","templateColumns","purchaseStock","ServicesAdditionalPopUp","selectedRow","desired_date","part_scope_id","approval_type_id","part_category_id","tech_data_ref","setSelectedRow","getServices","getTemplateServices","serviceColumns","TechFilesPopupServices","EquipmentAdditionalPopUp","getWorkshopTemplateEquipment","Alert","severity","AlertIcon","Actions","Parts","Services","Equipments","useStyle","History","tabname","setPartNumber","showOnWorkOrders","setShowOnWorkorders","actionDetails","setActionDetails","order_type","part_desc_search","getActionList","ArrowForwardIcon","PartIcon","DescriptionIcon","CopyActions","AddActions","params1","useGetProjectParts","CreateNewActions","secondPaper","viewOnlyField","Item","sx","other","p","m","Inspection","action_type_Insp","actionTypeMaintenance","action_type_prod","tabDetails","pages","setPages","totalCounts","setTotalCounts","openMenu","setOpenMenu","actionState","setActionState","setSelected","selectedRowId","setSelectedRowId","setAllActions","infoSelectedId","setInfoSelectedId","selectedStages","setSelectedStages","status_color","handleTab","handleClickMsg","handleClickCertificate","tableOptions2","AmberGear","GearGreen","GearRed","greenCheckIcon","part_status","PartsIconGreen","PartsIconAmber","PartsIconRed","PartsIconGrey","GreenChecklist","AmberChecklist","RedChecklist","commercial_verification","GreenHandIcon","AmberHandIcon","RedHandIcon","service_status","ServiceIconGreen","ServicesIconAmber","ServicesIconRed","ServicesIconGray","equipment_status","SpecEquipIconGreen","SpecEquipIconAmber","SpecEquipIconRed","SpecEquipIconGrey","renderButton","columnsData","stage_position","mech_userstamp","insp_userstamp","closed_date_time","ButtonColor","buttonText","CreateIcon","updateVerification","ViewHeadlineIcon","alpha","onRowClick","action_number","aria-readonly","mech_auth","insp_auth","CameraIcon","commentIcon","infoIcon","handleROw","field_data","MTableToolbar","ActionInformation","readProp","CautionPopUp","cautionMessages","ReorderAction","ReorderStages","currentSelectedOrder","actionDpdOptions","parentGetList","from_base_station_id","fieldsValue","setFieldsValue","_data$data","_data$data2","_data$data3","onSuccess","currentSelectedRequest","partsAndToolsStatus","BoxrTableAction","eta","pick_quantity","bookedOut","stockBtn2","ToolingTable","debouncedSearchText","filterData","setFilterData","return_status","columnConfig","VisibilityIcon","booked_out_timestamp","returned_timestamp","handleFilterChange","keyItem","bold","title2","PartsAndTools","setActionDpdOptions","filterChangeHandler","defaultChecked","DeleteServices","EquipmentsClientServices","deleteEquipments","resize","ManageSpecialistService","_releaseReqData$data","_releaseReqData$data2","_dependencies$service","_dependencies$insp_au","_dependencies$service2","_releaseReqData$data3","_releaseReqData$data4","_releaseReqData$data5","_releaseReqData$data6","_releaseReqData$data7","dependencies","baseId","onOffSite","setOnOffSite","setDeleteAction","actionNumber","setActionNumber","releaseReqData","setReleaseReqData","task_description","releaseBStatus","tempData","handleReleaseRequirement","service_type","getActionNumber","ServicesAndEquip","handleCreateService","uploadDocument","handleUpdateService","MROOnSiteOffSite","service_scopes","service_types","InfoPopup","fontDescription","SpecialistService","_currentSelection$ord","setTechData","purchased","workshop_action_number","scope","supplier_quote_ref","purchased_by","planned_date","purchased_at","dispatched_by","received_by","insp_by","dispatched_at","received_at","insp_at","order_certificates","AddSpecialistEquipment","desiredDate","setDesiredDate","handleUpdate","SpecialistEquip","supplier_reference","receipt_by","receipt_at","pendEo","booked","received","cancelled","rejected","EquipmentServices","_dependencies$actions","_rowData$description","renderDescription","pendSo","clarify","complete","setDependencies","equipmentDependency","setEquipmentDependencies","fetchServicesDependencies","fetchEquipmentDependencies","rowdata","wrapper2","detail","paginationReset","getCalenderActionTwoDays","getCalenderActionTenDays","tabName","setWorkshopOrder","headerDetails","setHeaderDetails","setDateField","statuFlag","setFlagStatus","setOrderStateNum","orderId","setOrderId","tabDetailsWhenOrderGen","setTabDetailsWhenGenerate","clickedTabId","setClickedTabId","orderDetails","setMainOrderDetails","workshopOrderDetails","setWorkshopOrderDetails","renderTab","order_state_id","quote_sent","OperationWorkshopTaskLibraryServices","tab_status_details","renderIcon","tickMark","renderReleaseIcon","release_scrap","release_away_base","release_good_out","release_no_good_out","navMenu1","useMemo","quotation","backendKey","induction","commercial","maintenance","part_tools","service_equip","certification","navMenu2","production","navMenu3","calendar_maint","additional_maint","_data$","MaintMROFullScreenRightDrawer","clickHandler","stoppageOrderClose","quoteStatus","fromPlanninngProduction","displayProductionTab","fromPlanninng","displayMaintenanceTab","FormDataProvider","Quote","quotation_id","workshop_id_maint","InductionTab","TabComponent","setActionStatus","Commercial","CallMaint","customerDetails","currentDataSelection","action_type_cal","AddMaint","CRSOverView","ReleaseComponent","tabStatusAFB","closeTabStatusAFB","tabStatusScrap","closeTabStatusScrap","RouterPrompt","when","_errors$task_tlp","_errors$lae_hrs","_errors$non_lae_hrs","selectedAta","setSelectedAta","selectedAtaFilter","setSelectedAtaFilter","setAtaChapters","show","setShow","ata_chapter","lae_hrs","non_lae_hrs","lineData","setLineData","setCurrentRow","currentRow","chapters","ataFilters","getAtaChapters","search_text","scroll","ata","direct_library","_errors$ata_chapter_i","defultValue","NumericIncrementForWorkOrderLae","NumericIncrementForWorkOrderNonLae","Checkbox","CheckBoxOutlineBlankIcon","checkedIcon","CheckBoxIcon","task_libraries","useReturnIssuedPartStyles","bodyText","qrContainer","transition","heading","firstStepRoot","layout","leftSection","rightSection","qrCode","PopupDialog","notShowButton","EstimationHistory","Loading","WORK_ORDER_ACTIONS","UPDATE_SECTION_STATUS","UPDATE_SECTION_FIELD_STATUS","TOGGLE_LOADING","TOGGLE_SECTION_LOADING","SET_ERROR","SET_TEMPLATE_CATEGORIES","SET_TEMPLATE_SECTION_DETAILS","SET_CURRENT_CATEGORY","WorkOrderAction","getSectionDetailsOfTemplate","WorkOrderTemplateService","getSectionsDetailsOfTemplate","section_list","updateSectionStatus","updateSectionStatusAll","updateSectionFieldStatus","updateFieldStatus","getSectionsOfTemplate","noLoader","setCurrentCategory","category","alert","Historcial","setInput","salesRate","setTatDays","setTatquantity","setStandardId","setProjectParts","setOrderDetails","approvedDetails","setApprovedDetails","costDetails","setCostDetails","cost_performance","show_per_unit_values","_res$data2","_res$data3","order_details","approved_values","labour","equipment","saleRate","calculateValue","labourValue","partsValue","servicesValue","equipmentValue","workshop_standard_price_id","tat","aog_fee","project_parts_labour","project_parts_parts","project_parts_services","project_parts_equipment","project_parts_total","tat_days","labour_value","parts_value","service_value","equipment_value","handleCalculation","jobsColumns","crs_date","price_breaks","_orderDetails$worksho","workshop_report","_orderDetails$commerc","commercial_report","PriceBreaks","PartPricing","_customerDetails$cust","setChecked","jobsData","setJobsData","setCustomerDetails","capabilityRating","setCapability","setBases","search_part_desc","getHistoricalDetails","getCapabilityList","buttonColor","age","renderDueDayStatus","unit_price","project_parts_unit_price","column4","SearchBarWithPartsFilters","nofilter","handleDescriptionCopy","handlePartCopy","customers","child","col","TableFilters","handleSearchTextChange","filtersList","filterValues","disableSearch","gap","_filterValues$filter$","_filter$options","bind","filterOption","getWorkOrderTemplates","createNewTemplate","updateTemplateName","currencyDependency","copyDelayCodes","copyCommercialRates","copyScheduleChecks","permissionType","authDoc","saveAuthList","approvalTypeName","approvalGroupName","updateDelay","updateCallout","tasks","businessModel","gndEquip","vendorPart","managedPart","editMangedPart","editPartWORequest","editPartRequest","directReturnPartrequest","updateEmailReport","updateContact","updateCheckRate","editDDParts","updateHighLiftEquip","updatetoolRate","copyToolingRates","copyScheduledCheckHours","updateManagedParts","updateMileageRates","updateLabourRates","updateDataWithPost","AutocompletePopper","placement","DetailsPopUp","_props$permission5","selectedRowDetails","popUpData","setPopUpData","maintTask","setMaintTask","scheduleChecks","setScheduleChecks","anchorEl1","setAnchorEl1","open1","setOpen1","totalManHours","setTotalManHours","setParts","totalCount1","setTotalCount1","pageSize1","setPageSize1","page1","setPage1","tools","setTools","totalCount2","setTotalCount2","pageSize2","setPageSize2","page2","setPage2","currentSelections","setCurrentSelections","work_order_details","maint_tasks","total_hours","schedule_checks","sendMail","nomain","withmain","manhrs","no_maint_tasks","with_maint_tasks","man_hrs","sort","column1","getToolingDetails","column2","org1","gtcdc","textPrimary","iata_code","firstColumn","headingText","orderText","leftContent","LandingIcon","tlp","arr_flight","est_arr_date","aircraft_arrival_date","delay_in","Servicing","oil_quarts","hyd_quarts","nitrogen_value","changed_wheels","maintenanceSettings","Maintenance","orderText1","textPrimary1","editable","onRowUpdate","newData","oldData","lae","non_lae","manHours","Tools","Handling","towing_man_hours","large_steps","medium_steps","gnd_equip_value","high_lift_equip_value","wheel_change_kit","brake_fan","Departure","dep_flight","est_dep_date","act_dep_date","gnd_time","delay_time","delay_code","Records","fileType","pdfLogo","jpgLogo","noWrap","verified","verify_user_stamp","verify_datetime","verify_user_id","VerifyState","ResendEmail","handleCloseMenu1","part_type_name","handlePartsOptions","ScheduledChecks","HandlingAndEquip","borderRight","fileContainer","data-name","landingIcon","class","_partDetails$part_num","_partDetails$descript","_partDetails$units_of","_partDetails$serial_n","GreenCheckbox","setSubSection","data1","sections","_res$section_details","data_new","newObj","toString","a","b","sec_org_section_id","secondary_field_value","editComponent","isEditHidden","_props$btnTitle","getCertificationDetails","closeHandle","CertificateServices","unlockCertification","handleCertification","handleInspMaintProd","formDataProps","handlePlanningClosure","handleCalendarClosure","pt","_path","_extends","n","t","call","apply","SvgUploadDoc","svgRef","ForwardRef","renderDate","partText","disableFieldDesc","CreateProjectParts","getPartDetails","primePart","setPrimePart","descriptionField","setDescriptionField","getPartDependencies","active","_formData$get","f_value","concat","PopperComponent","borderLine","boxMod","StatusPopup","productStoppage","setProductionStoppageData","margingTop","HalllowCircle","GreenCheck","NotRequired","RadioButtonUncheckedOutlinedIcon","PlanningIconGrey","PlanningIconAmber","PlanningIconRed","PlanningIconGreen","CommercialIconGray","CommercialIconAmber","CommercialIconRed","CommercialIconGreen","NotStarted","NoStoppage","PartiallyStopped","Stopped","ManHousrHistory","historyData","setHistoryData","HistoryDialog","priceBreakDetails","setPriceBreaksDetails","MRORightDrawer","StyledMenu","anchr","StockInfoEditPopup","popupCloseHandler","selectedPrimaryPartId","setIsDeleting","isSearching","setIsSearching","searchTableData","setSearchTableData","linkedAlternatesTableData","setLinkedAlternatesTableData","selectedAlternatePardId","setSelectedAlternatePardId","getAlternateList","fetchPrimaryParts","deleteDataToAlternatesHandler","isLocallyAdded","Error","deleteAlternatePartFromTheServer","columnsForSecondTable","useStyels","TransferPartDialog","secondaryPartId","batchNumber","quantity_received","EditDialog","_props$baseStations","baseStation","setBaseStation","shelfLifeControl","oemShelfLife","setOwner","locationId","setLocationId","setDate","oemShelfLifeDate","setOemShelfLifeDate","mroOwnedPart","setMroOwnedPart","owners","setOwners","storeLocation","setStoreLocation","orgName","setOrgName","serialNumber","setSerialNumber","isFileUploading","setIsFileUploading","isDeletingFile","setIsDeletingFile","line_customers","organisation_name","oem_shelf_life","created_by","oemShelfLifeValue","shelfLifeValue","store","location_name","store_location_id","SplitDialog","quantitys","float","FadeMenu","Fade","menuItem","dialogOpenHandler","isEditPopupOpen","setIsEditPopupOpen","isSplitPopupOpen","setIsSplitPopupOpen","isTransferPartDialogOpen","setIsTransferPartDialogOpen","isEditDialopOpen","setIsEditDialopOpen","isCertificatePopupOpen","setIsCertificatePopupOpen","isMsdsPopupOpen","setIsMsdsPopupOpen","alternatesPartStack","setAlternatesPartStack","CURR_PART_ID","_partDetails$alternat","part_id","stockColumnConfig","company_name","PartsCertificate","noPadding","formActions","UserService","getLineManagerUsers","createUser","getUserDependencies","updateUserDetails","getUserDetails","getUserStatistics","getUserMe","getLimeManagerUsers","updateUserGroupAndBases","fetchCapabiity","allocationDetailsList","BoxrListingService","setFormState","ReturnIssuedPartServices","getConditionPartDetails","UpdateAreas","areaData","shift_area_id","EditZones","zoneData","shift_zone_id","UsedHours","shift_id","user_name","shift_hours","absence_hours","leave_hours","training_hours","projectPartsStatus","filetr","getProjectParts","StorageServices","createStorageOrder","downloadStockReport","getLinkedMaintOrderListing","createLinkedMaintenanceOrder","getCalenderActionDue","getStorageTableList","MarkAbsent","states","setStates","hours1","technical_data","SortableTableBody","SortableContainer","SortableIcon","SortableHandle","ReorderIcon","DragHandle","List","ListItem","ListItemText","SortableRow","SortableElement","helperClass","onSortEnd","oldIndex","newIndex","fromInspection","toInspection","arrayMoveImmutable","from_position","to_position","onSortStart","node","tds","getElementsByClassName","childNodes","offsetWidth","useDragHandle","ix","getAllStages","c_data","stageParams","action_info_id","stage_position_data","QRCodeWithData","qrData","printContainerRef","printHandler","useReactToPrint","onAfterPrint","setIsPrintWindowOpen","isPrintWindowOpen","pb","_item$value","QRCode","PrintLable","barcodeData","setBarcodeData","order_ref","bookedIn","orderRef","partNo","serialNo","desc","customerRef","Styles","AwayFromBase","inductionDetails","getInductionList","complete_by_stamp","date_time_away_base","completed_by","induction_id","QrCodeIcon","underline","numFields","Induction","aogUpdate","setAogUpdate","customerOrderDoc","setCustomerOrderDoc","shippingFiles","setShippingFiles","itemConditionFiles","setItemConditionFiles","partSerialFiles","setPartSerialFiles","setVehicleList","customerAddress","setCustomerAddress","filesCus","setFilesCus","addressAction","setAddAction","selectedAddress","setSelectedAddress","selectedAddressDetails","setSelectedDetailsAddress","distance","setDistance","receipt_by_stamp","scheduled_date","arrival_condition","weight","physical_check_status","aog_status","secondary_customer_ref","receipt_type","receipt_cost","collection_address_id","vehicles_id","_inductionDetails$aog","aogStatus","google","maps","DistanceMatrixService","base_station_latitude","base_station_longitude","latitude","longitude","origins","base_station_address","destinations","address","travelMode","TravelMode","DRIVING","unitSystem","UnitSystem","IMPERIAL","avoidHighways","avoidTolls","getDistanceMatrix","elements","string2","deleteFileHandler","customer_order_doc","_inductionDetails$cus","_inductionDetails$cus2","date_time_good_in","registration","outline","shipping_condition_photo","item_condition_photo","plate_photo","ManageAddress","workshopDetails","NoGoodsIn","RenderInductionTab","setInductionDetails","_props","induction_tab_style","PartNumberTable","_currentSelection$par","_filteredFn$fn","_filteredFn$fn2","rowsPerPage","setRowsPerPage","filteredFn","setFilteredFn","fn","partNum","emptyRows","x","TableHead","colSpan","TablePagination","labelRowsPerPage","rowsPerPageOptions","count","native","onPageChange","handleChangePage","newPage","onRowsPerPageChange","ActionsComponent","flexShrink","LastPageIcon","FirstPageIcon","KeyboardArrowRight","KeyboardArrowLeft","ceil","ScopePopup","_currentSelection$cap","ScopeDialog","reference_data","capability_type","pdfFile","pdfIcon","pdfName","_dependencyList$platf","_dependencyList$relea","_dependencyList$statu","_dependencyList$capab","_dependencyList$capab2","_dependencyList$capab3","platformList","setPlatformList","selectedPlatform","setSelectedPlatform","dependencyList","setFetchDependencyList","getAllCapability","platform_id","getfetchDependency","handleAction","platforms","release_types","status_works","capability_types","capability_rating","capability_oems","_secondary_fields$","_secondary_fields$2","_props$secondary_fiel","_props$secondary_fiel2","_props$errors$props$s","_props$secondary_fiel3","_props$secondary_fiel4","_props$secondary_fiel5","_props$secondary_fiel6","_props$secondary_fiel7","_props$secondary_fiel8","_props$secondary_fiel9","_props$secondary_fiel10","_props$secondary_fiel11","_props$secondary_fiel13","_props$secondary_fiel14","_props$secondary_fiel15","_props$secondary_fiel16","_props$secondary_fiel17","secValue","setSecValue","handleSecToggle","secError","handleSecInput","lg","_props$secondary_fiel12","_props$secondary_fiel18","date_time","fullAddress","setFullAddress","setMap","ready","suggestions","clearSuggestions","usePlacesAutocomplete","callbackName","completeAddress","setCompleteAddress","addressLine1","setAddressLine1","addressLine2","setAddressLine2","addressLine3","setAddressLine3","city","setCity","postCode","setPostCode","country","setCountry","handleGetLocationDetails","value1","getGeocode","results","parameter","placeId","place_id","address_components","lat","lng","getLatLng","titleValue","types","long_name","addLine","premise","subpremise","street_number","route","addLine1","fcity","p_code","coun_val","levels","sublocality_level_1","sublocality_level_2","sublocality_level_3","sublocality_level_4","sublocality_level_5","levels5","level_1","level_2","level_3","level_4","addLine3","geo_address","address_line_1","postcode","mapIcon","Map","setDialogValue","dialogValue","slotProps","textField","TextFieldComponent","TextComponent","disableUnderline","warning1","DeleteCusApproval","Plan","currentPlanningDetails","mainFiles","setMainFiles","setPlanningData","handleFileCopy","release_type_a_name","release_auth_name","planning_description","service_lifes","handleService","project_parts","handleProjectParts","AdditionalFieldPopUp","last_completed","camo_records","repeat_events","InspectionActions","stage_count","calendar_frequency","containter","fontStyle","handleCopyAllActions","alertIcon","MaintActions","AdditionalData","list","handleCopyFile","listStyleType","Equipment","indicator","TabIndex","completed","setCompleted","navMenu","TemplatePlanning","TemplateInspection","TemplateParts","TemplateServices","TemplateEquipment","SelectedOrderDetails","currentSelectedDetails","planningTabDetails","typename","showLae","setShowLae","currentselection","UpdateTechLog","deleteSelection","setLinkedKitContentsTableData","PlanningTimeField","keyboardIcon","AccessTimeIcon","label2","CopyPreviuos","getPlanningDetails","setCurrentSelectedDetails","show_in_work_order","UpdateProjectParts","setCurrentSelectedData","rowDetails","setRowDetails","serial_array","handleSave","_props$rowData","textAlignLast","Close","isDeleteHidden","certification_remarks","onRowDelete","projectLoading","setProjectLoading","columns1","AddIconBox","onOK","onCancel","useHistory","showPrompt","setShowPrompt","setCurrentPath","showToast","setShowToast","prompt","handleOK","handleCancel","stageStyle","reorderIcon","EditStageOrder","stageDetails","closeDrawer","stageObj","setStageObj","DragDropContext","onDragUpdate","destination","dragged","source","previousDraggedIndex","draggedIndexDifference","updatedContent","c","slide","onDragEnd","handleDrag","startIndex","endIndex","removed","resetDisplayPositions","Droppable","droppableId","provided","snapshot","innerRef","droppableProps","stage","Draggable","draggableId","draggableProps","dragHandleProps","DeleteAction","EditActionInfo","detailedDescription","setDetailedDescription","selectedProjects","setSelectedProject","partKey1","partValue1","partCard1","setStageDetails","anchorElMan","setAnchorElMan","handleClickHistory","handleCloseButton","project_part_number","verified_date_time","verified_by","actual_man_hours","handleCloseFuncMan","closed_by","getPlannedWorkOrder","convertHourstoDecimal","createPlannedTask","getPlannedTask","getPlannedTasksParts","getPlannedTasksTools","getTaskLibraryListing","createPlannedTools","getSubPlannedTasksTools","getSubPlannedTasksParts","createNewParts","searchCreateNewParts","getPlannedLibraryListing","updatePlannedTask","fetchAllToolsListing","deleteWorkOrder","deletePlannedTask","getToolingList","deletePlannedTools","deletePlannedParts","getActualHoursListing","updateTaskManHours","createTaskWorkOrder","getToolingFinder","updateTaskWorkOrder","createTaskLibrary","getHistory","changetaskState","deleteAllTempPlannedTask","MessageServices","createMessage","fetchDependency","getListingConversation","getGroupMessageDetails","getChatMessage","updateSubjectTitle","viewParticipantDetails","updateArchiveState","updateReplyMessage","getAllComplianceReadAndSign","fetchCategoryDependencies","fetchCustomerDependencies","getComplianceReadDetails","getTotalUnReadCount","updateUnReadMessageStatus","updateReadStatusById","getReadSignListing","removeUserFromChat","updateReadAndSign","InStockClientervices","downloadTemplate","bulkUploadStock","getToolHistory","createImages","createCalibrationCert","deleteToolImages","createToolingImage","createToolingFiles","getAllFileList","getToolImageDetails","updateDocument","getToolImageHistory","getAllTooling","createToolings","addTask","editTask","createCustomer","editCustomer","getCustomerAll","getCustomer","updateEmail","deleteContact","deleteEmail","updateAddress","deleteAddress","updateStorageRates","deleteStorageRates","updateCommercialRates","getPaymentTerms","getIncoterms","_props$width","InfoOutlinedIcon","constType","getAllRequestList","getPartInfo","fetchType","EditPartRequest","createPo","allocatePart","updateAlternateQty","createEquipment","updateEquipments","cancelEquipmntOrder","updatePrimaryParts","getPrimaryParts","getHistoryDependency","getAllPartHistory","cachedScripts","mapDetails","setMapDetails","placeAddress","mapLocDetails","setMapLocDetails","userCurrentLocation","setUserCurrentLocation","allResults","setAllResults","loaded","script","onScriptLoad","onScriptError","remove","addEventListener","appendChild","removeEventListener","useScript","coords","navigator","geolocation","getAddDetails","myLatlng","center","zoom","mapTypeId","geocoder","Geocoder","InfoWindow","marker","Marker","addListener","geocode","formatted_address","setZoom","setCenter","geometry","setPlace","setVisible","latLng","toJSON","disableEnforceFocus","mainContainer","fieldContainer","SMSReportToggle","toggleOptions","labelWidth","buttonStyles","toggleOption","PlannedWorkOrderContext","PlannedWorkOrderProvider","workOrderDetails","setWorkOrderDetails","deleteTaskStatus","setdeleteTaskDetails","partId","setPartId","toolId","setToolId","PlannedValue","airCraftTypeGroup","destroyWorkOrder","destroyDoc","removeCertificates","deleteAdhocFormAttachment","destroyRequest","deleteCheckRate","destroyCallOuts","destroyDelay","deleteToolRate","AuthDestroyChanges","deleteTheAttachment","currentCategory","categories","sectionLoading","workOrderReducer","updatedCategories","section_id","useStyles1","TablePaginationActions","useStyles2","CustomPaginationActionsTable","rowPerPageOptions","updateTaskLibrary","tableData","setTableData","tableLoading","setTableLoading","fetchFiles","certification_requirement","handleCertificateStatus","GreenTick","variantIcon","CheckCircleIcon","ErrorIcon","info","InfoIcon","green","amber","iconVariant","ToastMessageWrapper","Icon","SnackbarContent","ToastMessage","messageState","Snackbar","autoHideDuration","LinkWorkOrder","eventId","setFile","event_id","handleWorkOrder","_errors$subSection$se","_errors$subSection$se2","setSecondaryCheck","oilField","hydField","CreateLeaveRequest","individualUsers","setIndividualUsers","selectedUser","setSelectedUser","startdate","enddate","c_startdate","c_enddate","start_datetime","end_datetime","handleSelectedUser","userTimeZone","shiftType","setShiftType","timeZoneId","setTimeZoneId","timeLoading","setTimeLoading","timeZone","setTimeZone","getShiftTypeDetails","_value$","ident","shift_type_id","timezone_id","DaysPaginationActions","CustomDaysPaginationActionsTable","defaultDate","_closureData$failures","_closureData$failures2","_closureData$failures3","_closureData$failures4","_closureData$failures5","_closureData$failures6","_closureData$failures7","_closureData$failures8","_closureData$failures9","_closureData$failures10","_closureData$failures11","_closureData$failures12","_closureData$cautions","_closureData$cautions2","_closureData$cautions3","_closureData$cautions4","_closureData$cautions5","_closureData$cautions6","_closureData$cautions7","_closureData$cautions8","_closureData$failures13","_closureData$failures14","_closureData$failures15","_closureData$failures16","_closureData$failures17","_closureData$failures18","_closureData$failures19","_closureData$failures20","_closureData$failures21","_closureData$failures22","_closureData$failures23","_closureData$failures24","_closureData$failures25","_closureData$failures26","_closureData$failures27","handleCloseHandler","failures","service_life","cautions","CopyTemplates","handleSelection","service_life_id","service_lifes_id","applicable","formData1","capture_later","GreyTick","_certificationDetails","certificationDetails","setCertificationDetails","serviceLife","setServiceLife","remarks","setRemarks","_res$data4","_res$data5","_res$data6","_res$data7","_res$data8","_res$data9","ads","Ads","sbs","SBs","sis","SIs","sls","SLs","s_value","crs_cautions_accepted_by","maintenance_type","release_type_1","release_type_2","reopen_remarks","crs_remarks","authorisation_sign","crs_datetime","currentSelectedInfo","subFields","setSubFields","part_technical_record","closed","next_due","currentSelectedID","setDesc","setUpdatedData","showFrequency","setShowFrequency","action_due_date","handleUpdateFields","handleFileUpdate","handleDateFunction","handleFrequency","stage_id","_formData$get2","_formData$get3","_formData$get4","_formData$get5","_formData$get6","_formData$get7","_formData$get8","_formData$get9","currentManHoursSelection","setCurrentManHoursSelection","due","setCurrentSelectedInfo","show_closed_action","due_in_days","completed_at","styled","body2","text","noteText","CurrentLivePosition","CreateApprovaCaution","popupValues","planningVerfication","handlePopUp","ApprovalManage","CustomerSupply","selectedParts","part_request_id","LineItems","selectedData","selectedActionRowData","setSelectedparts","colors","LabourColumn","price_age","DetailedOverView","setSelectedActionRowData","loadingActionPosition","setLoadingActionPosition","dataVariance","setDataVariance","varaince_1","variance_2","action_charges_live","action_charges_at_approval","action_quantity_live","action_quantity_at_approval","action_detail","action_overview","renderApvlState","quantity_at_approval","variance","approval_readiness","greenHollow","itemContainer","CustomerApproval","_g","SvgRight","LabourPopup","ApproveAll","title1","consolidatedTxt","Accumulative","jobData","estData","approvedPositionnData","currentPosition","receipType","setReceiptType","sum","setSum","revisedtotal","setRevisedTotal","confirmationPopup","setConfirmationPopup","setPopUpValues","messagePopup","setMessagePopup","formvalues","setFormvalues","tatDays","etd","setETD","standardId","exceptionData","setExceptionData","setPlanningVerification","totalTat","setTotalTat","reportData","setReportData","handleInput","match","decimal","estColumns","progress","reportColumn","reportStatus","handleReport","standard_id","tat_remaining","today","add","date_format","c_etd","inducted","inducted_start","i_date","final_date","c_date","isBefore","calculated_etd","receipt_charge","return_shipping_type","return_charge","CopyIcon","currency","sales_rate","diabledButton","InitialExceptions","selectedException","setSetSelectionException","initilaSum","setInitialSum","selectedSum","setSelectedSum","revisedInitialtotal","setRevisedInitialTotal","exceptionChecked","setExceptionChecked","itemChecked","setItemChecked","tableInput","setTableInput","labour_cost","parts_cost","service_cost","equipment_cost","selectedValue","commercial_type","array1","initialLabourVal","initialPartsVal","initialServicesVal","initialEquipmentVal","accumulator","currentValue","handleCalculation1","initialInput","setInitialInput","selectedInput","setSelectedInput","excep","handleMinusCalculation","value_selected","exceptionColumn","indexExp","handleExceptionTable","maxBodyHeight","CreateNewApprovedPosition","appPosition","currPosition","setApprovalData","setCurrentData","setVarianceData","setApprovalInitialData","approvalInitialData","appData","curData","_appData","_appData2","_appData3","_appData4","_appData5","_appData6","_appData7","_appData8","_appData9","_appData10","_appData11","_appData12","_appData13","_appData14","_appData15","approval_number","tat_days_count","currency_name","approval_type","release_type_id","customer_sales_rate","_appData16","_appData17","_appData18","_appData19","_appData20","_appData21","_appData22","_appData23","_appData24","_appData25","_appData26","_appData27","_appData28","_appData29","_appData30","initial_labour","initial_parts","initial_services","initial_equipment","initial_aog","initial_total","_curData","_curData2","_curData3","_curData4","_curData5","est_labour","_curData6","_curData7","_curData8","_curData9","_curData10","_curData11","_appData31","_appData32","_curData12","t_labour","_curData13","_curData14","_curData15","_curData16","_curData17","_curData18","_appData33","_curData19","_appData34","_curData20","_appData35","_curData21","_appData36","_curData22","_appData37","_appData38","_appData39","_appData40","UpdateEstimation","text1","addBtn","_approvedPosition$dat","_approvedPosition$dat2","approvalState","setApprovalState","actionIndicators","setActionIndicators","submissionData","setSubmissionData","selectedRowData","setSelectedRowData","approvedPosition","setApprovedPosition","setCurrentPosition","approveData","totalRow","setTotalRow","setTatDaysCount","loadingCurrentPosition","setLoadingCurrentPosition","loadingApprovedPosition","setLoadingApprovedPosition","loadingEstimatedDeparture","setLoadingEstimatedDeparure","approveTotal","setApproveTotal","setVariance","variance_1","quoteAccepted","setCheckQuoteAccepted","labourAction","setlabourAction","deboucedText","varianceTotal","chartLoading","setChartLoading","setEstData","formatedDate","setFormatedDate","approvalData","varianceData","series","chart","offsetY","sparkline","enabled","plotOptions","radialBar","startAngle","endAngle","strokeWidth","dropShadow","dataLabels","grid","gradient","shade","shadeIntensity","inverseColors","opacityFrom","opacityTo","stops","labels","finalValue","chartColor","updatedState","clone","getEstimatedDetails","tableOptions3","tableOptions4","selectedRowTotal","approved_datetime","renderApproveTotal","quote_accepted","RedRemoveIcon","handleApproveBtnClick","renderZeroState","column3","overall","acceptance","checkUnapprovedPositions","GreenHollow","Chart","RightIcon","stroke","total_actions","borderLeft","open_actions","pend_approval","DetailedOverview","CustomerApprovalNew","currentSelectedId","actionMode","AddTags","costData","shelfLifeControlled","margiRight","ManagePrimaryParts","projectPartState","repairablePart","setRepairablePart","activeState","setActiveState","projectState","setProjectState","partState","setPartState","formDataFile","resData","handleRepairablePart","handleActiveState","UnitPricePopup","priceDetails","setPriceDetails","setTotal","CommercialOverview","columns2","descriptionText","PartHistory","runApiCall","setRunApiCall","setSelectedId","getPartHistory","_rowData$workshop_rep","report","aprvl","handleData","NumericIncrementDiscount","discount","PriceBrand","unit_total","priceBreak","setPricebreak","unitTotal","setUnitTotal","min_quantity","band_unit_cost","band","currencyName","inputEstimate","_selectedCustomerId$c4","_selectedCustomerId$c5","_quotation$proof_acce3","_quotation$customer_o7","editStatus","setEditStatus","updateQuoteLoading","setUpdateQuoteLoading","tatQuantity","setMenu","switchState","setSwitchstate","setProjectstate","release","setRelease","setQuotation","cusExist","setExistCus","quantityPrice","setQuantityPrice","detailedBreakDown","setDetailedBreakDown","contactEmail","setContactEmail","quoteComments","setQuoteComments","selectedCustomerId","setSelectedCustomerId","customerIdError","setSelectedCustomerIdError","workshopBase","setWorkshopBase","notExistsCusName","setCusNotExistsName","acceptanceAction","setAcceptanceAction","buttonStatus","setButtonStatus","setButton","quoteAccept","setQuoteAccept","commercialAccept","setCommercialAccept","quoteCrete","setQuoteCreate","fieldData","setFieldData","proofAcceptance","setProofAcceptance","setCurrencyname","setSalesRate","disabledAccptance","setDisabledAcceptance","unitPriceDetails","setUnitPriceDetails","internalNotes","setInternalNotes","internalFiles","setInternalFiles","workStatus","setWorkStatus","priceAllDetails","setPriceAllDetails","rate","setRate","q_state","setQState","linked_storage_order_id","handleWarningDialog","customer_name","obj2","customer_existing","contact_email","quote_comments","internal_notes","work_status","quantity_based_price_breaks","detailed_breakdown","automatic_commercial","quote_accepted_at","release_tab_style","_selectedCustomerId$c","equip","workshop_standard_pricing_equipment","workshop_standard_pricing_labour","workshop_standard_pricing_parts","workshop_standard_pricing_services","workshop_standard_pricing_total","workshop_standard_pricing_unit_price","totals","acc","_customerDetails$defa","default_currency","_selectedCustomerId$c2","project_primary_part_id","handlePriceBreakUnitPrice","highest_value","workshop_base","estimated_TAT_days","isEditable","handleProjectUpdate","_selectedCustomerId$c3","RestoreIcon","internal_files","UnlockIcon","cus_order_num","_quotation$customer_o","_quotation$customer_o2","_quotation$customer_o3","_quotation$proof_acce","_quotation$customer_o4","_quotation$customer_o5","_quotation$proof_acce2","_quotation$customer_o6","proof_acceptance","proof","cusOrder","accepted_quantity","quote_accepted_by","AwsDateTimeFieldFor","handleInductionChange","handleReleaseChange","aog","handleSubmitPriceBreak","ReleaseCertPopup","_releaseDocuments$dat","_releaseDocuments$dat2","_releaseDocuments$dat3","_releaseDocuments$dat4","_releaseDetails$clien","releaseDetails","getReleaseList","releaseDocuments","isRelease","setIsRelease","releaseComments","setReleaseComments","serviceable_label","c_of_c","_releaseDocuments$rel","release_cert_1","_releaseDocuments$rel2","release_cert_2","scrap_certificate","_releaseDocuments$dat5","_releaseDocuments$dat6","_releaseDocuments$dat7","unserviceable_label","client_name","client_position","accepted_at","free_from_fod","tool_equip_removed","security_passes_returned","client_signature","clientSign","release_id","completed_by_userstamp","NoGoodsOut","_releaseDocuments$ser","_releaseDocuments$scr","_releaseDocuments$uns","ReleaseDetails","fetchDetails","prePackingFiles","setPrePackingFiles","itemPackedFiles","setItemPackedFiles","dispatch_type","customer_address_id","company","collected_by","carrier","tracking_no","courier_date","packed_at","packed_by","item_details_correct","release_method","docs_attached","shipping_fee","collect_signature","collectSign","pre_packing_photos","packed_by_userstamp","packed_item_photos","arr_datetime","LockIcon","Unlock","Scrap","_releaseDocuments$wor","multilationFiles","setMultilationFiles","photos_of_multilation","RenderReleaseTab","setFetchDetails","setReleaseDetails","setReleaseDocuments","getReleaseDocuments","LeaveRequest","leaveDay","selected_date","CalendarWeekly","setSelectedWeek","setSelectedDay","approvedData","setLeaveDay","BackArrow","subtract","gridTemplateColumns","leave_details","shifts","shift_type","shift_type_name","GroupGreyIcon","total_users","total_shift_hours","shift_details","GroupIcon","ForwardArrow","ApproveLeave","_approvedData$shift_h3","_approvedData$shift_h4","_approvedData$shift_h7","_approvedData$shift_h8","_approvedData$shift_h9","_approvedData$shift_h10","calculatedValue","setCalculatedValue","toatl","_approvedData$shift_h","_approvedData$shift_h2","remaining_leave","leave_hours_total","shift_hours_total","leave_period","_approvedData$shift_h5","_approvedData$shift_h6","leave_days","shift","shift_hours_per_day","RejectLeave","reject_reason","toggle","LeaveReview","_data$shift_hours","selectedWeek","year","weekData","setWeekData","selectedDay","shiftData","setShiftData","anchorElList","setAnchorElList","openList","setOpenList","listing","header_details","getWeekViewDetails","leave_request_id","leave_request","getDayListingDetails","show_absence_leave_training","_rowData$user_hours","user_hours","MoreVert","requested","approver","approval_date","handleLeaveReOpen","handleCloseMenuList","EditAreas","OvertimeRequest","overtime_details","ApproveOverTime","overtimeDetails","RejectOverTime","OvertimeReview","hover","setHover","overtime_request_id","overtime_request","handleOvertimeReOpen","CreateTechData","getTechListing","capabiltity","uploadError","setUploadError","password","setPassword","uploadFile","setUploadFiles","revision_controlled","revision","revision_date","uploadfile","RadioGroup","Radio","websiteInput","pattern","Deleteitem","VerifyRevision","RevisionHistory","getAllDetails","currentTechSelections","setCurrentTechSelections","userNameCopy","setUserNameCopy","passwordCopy","setPasswordCopy","getAllTechDataDetails","KeyIcon","copy","LinkIcon","renderStatusButton","techaction","PlanningTechData","StepOne","submitHandler","StepTwo","setStep","continueHandler","rts_label","QRCodeStep","_conditionsPartDetail","_conditionsPartDetail2","_conditionsPartDetail3","_conditionsPartDetail4","_conditionsPartDetail5","_conditionsPartDetail6","_conditionsPartDetail7","_conditionsPartDetail8","_conditionsPartDetail9","_conditionsPartDetail10","_conditionsPartDetail11","_conditionsPartDetail12","_conditionsPartDetail13","_conditionsPartDetail14","_conditionsPartDetail15","_conditionsPartDetail16","_conditionsPartDetail17","_conditionsPartDetail18","_conditionsPartDetail19","conditionsPartDetails","setConditionsPartDetails","dummyData","primary_part","secondary_part","receipt_date","part_condition","primaryPartId","receiptDate","shelfLifeExp","part_request","return_location_enabled","newAllocId","setNewAllocId","returnContent","jobType","_conditionsPartDetail20","_conditionsPartDetail21","qrSize","setQRSize","promiseResolveRef","pageStyle","onBeforeGetContent","MRO","Job","ApprovalCaution","toggleValue","approvedPositionData","approvedToggle","setApprovedToggle","proofAcceptnace","proofRejection","setProofRejection","togglevalue","setToggleValue","documents","setDocuments","subLoading","setSubLoading","docLoading","setDocLoading","tatRemaining","setTatRemaining","getSubmissionDetails","getSubmissionDocumentDetails","f_date","collection_name","reportName","handleDownload","DownloadIcon","highest_position","proof_of_acceptance","proof_of_rejection","f_etd","user_stamp","receipt_value","return_value","return_type","std_price_part","std_price_description","release_type","reject_comment","reject_comments","NewLinkedMaintOrder","workshopId","setInspection","inductionMenu","setInductionMenu","customerOrderNumber","setCustomerOrderNumber","secondaryRefNumber","setSecondaryRefNumber","aogSwitchState","setAogSwitchstate","errorFields","addMaintdata","setAddMaintdata","getLinkedMaintenanceList","storage_order_id","columnCalAction","RedCheckIcon","AmberIcon","TabDetails","ActivityService","getActivityService","fetchAircraftRegistrations","getDelayInbounds","getDelayExceedsGnd","getAccountsActivityData","updateAccountInvoices","activityDownloadCSV","accountCancellation","getInvoiceReportDetails","getReportDetails","getReportWoDetails","updateLineInvoiceNumber","deleteLineInvoice","getForecastingReport","StatusDot","newStyle","ServiceRatesOptions","getServiceRates","createServiceRates","updateServiceRate","removeServiceRate","CallOutRatesService","getCalloutRates","createCalloutRates","updateCalloutRate","removeCalloutRate","ADHOC_RATES_ACTIONS","SET_RATES","ADD_RATE","UPDATE_RATE","REMOVE_RATE","SET_ACTION","RESET_ACTION","service_rates","call_out_rates","AdhocRatesAction","getRates","createRate","updateRate","setActionType","resetActions","deleteRate","KitsClientService","createKits","getKItsPrimaryParts","mapKitPrimaryParts","NewKitsListing","NewStockListing","AddNewparts","KitsContentListing","updateKitsQuantity","deleteKitsItem","getKitsOrder","getKitsPrimeParts","createKitOrder","getKitsOrderLineItems","updateKitOrder","deleteKitOrder","BoxpDataServiceAction","Invoicing","font-size","font-family","font-weight","y","SearchByCategory","anchorRef","handleListKeyDown","endIcon","ArrowDropDownIcon","Popper","disablePortal","TransitionProps","Grow","ClickAwayListener","onClickAway","MenuList","autoFocusItem","onKeyDown","handleSelect","cancelIcon","FetchedFilePreview","fileDeleteHandler","CancelIcon","renderItem","DeleteEvent","formatProps","_path2","_path3","SvgAccounts","SvgAdmin","SvgCompliance","rx","_image","SvgCalendar","xlinkHref","SvgProcurement","preserveAspectRatio","SvgDashboard","SvgCommercial","SvgInfo","ry","SvgShield","_path4","SvgMessaging","_g2","_g3","_g4","SvgOperations","SvgStores","SvgPowerButton","badge","MessageCount","messageDetails","setMessageDetails","message_count","read_sign_count","read_sign_color","message_color","drawer","up","menuButton","mixins","drawerPaper","navList","footerLogout","ReportsIcon","SvgIcon","y2","y1","withDefaultLayout","_routes$Operations","_routes$Operations$","_routes$Planning","_routes$Planning$","_routes$Dashboard","_routes$Dashboard$","_routes$Reports","_routes$Reports$","_routes$Stores","_routes$Stores$","_routes$Procurement","_routes$Procurement$","_routes$Commercial","_routes$Commercial$","_routes$Compliance","_routes$Compliance$","_routes$SMS","_routes$SMS$","_authState$authState","_routes$Accounts","_routes$Accounts$","_routes$Admin","_routes$Admin$","_authState$authState3","mobileOpen","setMobileOpen","logoutConfirm","setLogoutConfirm","setCategories","routes","handleDrawerToggle","Operations","OperationsIcon","PlanningIcon","Dashboard","DashboardIcon","Reports","Stores","StoresIcon","Procurement","CommercialIcon","Compliance","ComplianceIcon","SMS","SMSIcon","MessagingIcon","Accounts","AccountsIcon","Admin","AdminIcon","setSection","_authState$authState2","_authState$authState4","_authState$authState$","some","setPermission","_authState$authState5","source_id","per","source_type","ListItemIcon","LogoutIcon","CssBaseline","Hidden","smUp","implementation","ModalProps","xsDown","showSideBar","DialogActions","handleLogout","useAuthStyles","backgroundImage","backgroundSize","backgroundRepeat","formField","eye","brandLogo","TwoFactorAuthActions","browser","application","entitySid","totp_entity_sid","detect","SignIn","userBrowser","setUserBrowser","loginViaSuperAdmin","queryString","urlParams","URLSearchParams","accessToken","uId","clearError","handleMasked","OutlinedInput","onFocus","UserIcon","FormHelperText","PasswordHide","PasswordVisible","ForgotPassword","setMessage","MailIcon","snackbar","Footer","Offline","polling","ResetPassword","handlePasswordChange","passwordConfirmation","handleConfirmPassword","errorMessage","setErrorMessage","passwordRegex","passError","setPassError","password_confirmation","onKeyUp","SetPassword","SetPin","pin","pin_confirmation","handleChangeInput","re","minLength","setMessageState","lmUsers","setLmUsers","setUsers","getMessageState","Avatar","profile_img","alertWrapper","sortedUsers","expiredUsers","lowUsers","goodUsers","sortUsers","topNavMenuOperations","topNavMenuPlanning","topNavMenuDashboards","topNavMenuStores","topNavMenuProcurement","topNavMenuCompliance","topNavMenuAccounts","topNavMenuAdmin","topNavMenuReports","topNavMenuSMS","topNavMenuCommercial","StaffLeave","setTabLeaveValue","badge_number","leave_start","renderViewInfoIcon","StaffOvertime","setTabOvertimeValue","pageLoading","setPageLoading","overtime_start","LeavePopUp","this_period","nextData","next_period","value2","entitlement","carry_forward","next_carry_forward","request_accepted","next_period_accepted","request_pending","next_period_pending","this_period_remaining","next_period_remaining","BorderLinearProgress","colorPrimary","bar","MyLeave","gaugeValue","setGaugeValue","app","request_total","remaining","percentage","tot","maxValue","MyOvertime","setUserTimeZone","momentTimeZone","tz","guess","time_zone","utcOffset","tabLeaveValue","tabOvertimeValue","setZoneData","setAreaData","order_by","getAreaListing","fontWeightRegular","amberAlert","errorAlert","successAlert","Home","_authState$authState38","_user$3","_user$4","_user$5","_user$6","setUser","lmUser","setLmUser","lastLogin","setLastlogin","_user$","testDateUtc","last_sign_in_at","localDate","_user$2","messageAlert","topMenus","setTopMenus","setPermissions","combinedState","setCombinedState","_authState$authState6","_authState$authState7","_authState$authState8","_authState$authState9","_authState$authState10","_authState$authState11","_authState$authState12","_authState$authState13","_authState$authState14","_authState$authState15","_authState$authState16","_authState$authState17","_authState$authState18","_authState$authState19","_authState$authState20","_authState$authState21","_authState$authState22","_authState$authState23","_authState$authState24","_authState$authState25","_authState$authState26","_authState$authState27","_authState$authState28","_authState$authState29","_authState$authState30","_authState$authState31","_authState$authState32","_authState$authState33","_authState$authState34","_authState$authState35","_authState$authState36","_authState$authState37","operationsCat","sub_categories","planningCat","dashboardCat","reportsCat","storesCat","procurementCat","commercialCat","complianceCat","accountsCat","adminCat","smsCat","newTopMenus","newPermissions","cat","s","filterTopMenus","permissionData","combinedArr","is_line_manager","LineManagerUsers","UserDashboardServices","Training","debounceVal","dial_name","trainingListing","expiry","Competency","Regency","getRecencyListingData","overall_status","task_count","task_status","ata_count","ata_status","recency_expiry","ReadAndSigns","readSignListing","Approvals","value3","totalPercentage","setlabel","orgColor","setOrgColor","pie","donut","formatter","opts","w","globals","seriesIndex","config","legend","responsive","breakpoint","totalState","setTotalState","ReactApexChart","UserCompliance","anchorBase","setAnchorBase","baseButton","setBaseButton","setSelectedBase","checkedState","setCheckedState","trainingData","setTrainingData","competencyData","setCompetencyData","trainingPercentage","setTrainingPercentage","competencyPercentage","setCompetencyPercentage","approvalPercentage","setApprovalPercentage","readSignData","setReadSignData","readSignPercentage","setReadSignPercentage","recencyExpiredData","setRecencyExpiredData","recencyLowData","setRecencyLowData","recencyGoodData","setRecencyGoodData","recencyLoading","setRecencyLoading","recencyPercentage","setRecencyPercentage","approvals","read_sign","getUserComplianceData","overall_status_name","getRecencyData","totalValue","on_track","near_due","overdue","floor","ArrowDropUp","ArrowDown","_without","quotePercentageText","centerLabel","readCenterLabel","oneyear","borderTopWidth","textSecondary","barData","xAxisValue","not_ackn","order","stacked","curve","xaxis","yaxis","tickAmount","rotate","strokeDashArray","lines","offsetX","columnWidth","horizontalAlign","markers","strokeColor","radius","onTime","late","failed","on_time","showAlways","VehiclePass","inspectionData","airSidePass","airSideValue","setAirSideValue","red","textLabels","one_time","shellLife","tooling","Gear","Wrench","StationDashboardServices","complianceData","setComplianceData","vehicleInspectionData","setVehicleInspectionData","airSidePassData","setAirSidePassData","toolingData","setToolingData","shellLifeData","setShellLifeData","setloading","stationCheckData","setStationCheckData","stationCheckDetails","setStationCheckDetails","stationCheckLineData","setStationCheckLineData","lineValues","setLineValues","setXAxisValue","handOverBarData","setHandOverBarData","handOverLineData","setHandOverLineData","handOverLineValue","setHandOverLineValue","handOverXAxisValue","setHandOverXAxis","filterHandOverData","setFilterHandOverData","handOverDetails","setHandOverDetails","vehicleBarData","setVehicleBarData","vehicleLineData","setVehicleLineData","vehicleLineValue","setVehicleLineValue","vehicleXAxisValue","setVehicleXAxis","filterVehicleData","setFilterVehicleData","vehicleDetails","setVehicleDetails","line","getStationChecksData","vehicle_inspections","airside_pass","shelf_life_parts","getStations","getHandOverData","getVehicleCheckData","l","lineHandOver","dateHandOver","lineVehicle","dateVehicle","handleFilterStationChange","StationChecks","HandOver","Vehicles","RangePicker","DatePicker","DownloadFile","start_date","end_date","fData","allowClear","popupStyle","positionFixed","overFlow","LiveRecords","ataData","setAtaData","getRecentData","tempLoading","setTemploading","setStartDate","setEndDate","humdLoading","setHumdloading","dataSeries","setDataSeries","blur","animations","annotations","humdSeries","setHumdSeries","storage_condition_range","dataset","rotateAlways","shared","min_value","max_value","fillColor","getTemperatureData","getHumidityData","dayDiff","CloudDownloadIcon","GraphicEqIcon","StorageInfo","getStoragetData","event_date","min_limit","max_limit","GetAppIcon","csv","ConditionEvents","filterState","setFilterState","View","subNavigation","Stations","Route","exact","StoreCondition","selectedFilters","setFlag","ManHours","setSelectedFilters","custButton","setCustButton","setLabels","getMainHoursData","filterCustomerChangeHandler","color1","color2","color3","OTP","otpData","setOtpData","setSelectedRowDetails","getOTPListing","handleDelay","download_csv","handleDownloadCsv","Recovered","recoveredData","setRecoveredData","getRecoveredListing","Chargeable","chargeableData","setChargeableData","getChargeableListing","manHoursData","setManHoursData","getManHoursListing","topUpGrid","taxInflation","LinePerformance","chargesData","setChargesData","otpPercentage","setOTPPercentage","recoveredPercentage","setRecoveredpercentage","otp","recovered","charges","getPerformanceDetails","non_tech","tech","late_in_on_time","late_in_late_out","schd_checks","main_figure","TirePressure","LadderTruck","BoomLift","Airplane","adhoc_events","_props$permission6","_props$permission7","_props$permission8","_props$permission9","Activity","xAxisPage","setXAxisPage","xAxisRowsPerPage","setxAxisRowsPerPage","totalDaysCount","setTotalDaysCount","minimumValue","setMinimumValue","maximumValue","setMaximumValue","setDefaultDate","day","loadingData","getActivityData","scale","scale_page","total_scale_days","timeline","getTime","rows1","groupByRowLabel","showRowNumber","allowHtml","showBarLabels","isHtml","hAxis","minValue","avoidOverlappingGridLines","alignment","textStyle","handleDatePagination","chartType","loader","chartEvents","eventName","callback","chartWrapper","getChart","getSelection","texts","getElementsByTagName","prototype","getAttribute","setAttribute","legends","LensIcon","AllocateEngineers","plannedEngineers","setPlannedEngineers","selectedEngineers","setSelectedEngineers","allocated_engineers","getPlannedEngineers","CalledOut","CancelEvent","setTime","setHours","chargeable","setChargeable","cancellation_notice","notice_time","arrival","final","asHours","notice_datetime","CreateLMEvents","baseDetails","eventDetails","approvalTypes","plusDays","setPlusDays","mechQty","setMechQty","laeQty","setLaeQty","depatureChecked","setDepatureChecked","scopeTypes","setScopeTypes","selectedScope","setSelectedScope","selectedApprovals","setSelectedApprovalsType","setCustomer","setEvent","plannedAircraft","setPlannedAircraft","falseDays","setFalseDays","selectedDays","setSelectedDays","arrivalTime","setArrivalTime","departureTime","setDepartureTime","groundTime","setgroundTime","groundTimeWholeValue","setgroundTimeWholeValue","notes","setNotes","arrFlight","setArrFlight","depFlight","setDepFlight","PopperMy","getScopeOfArrrival","depatureDateTime","durationInHours","departure","validateFlightNumber","flight","flightType","arrFlightError","arr_flight_number","depFlightError","dep_flight_number","event_type_id","dep_datetime","planned_aircraft","mech_quantity","lae_quantity","total_man_hours","EditLmEvents","setEventDetails","eventid","setbusy","departureFlightName","setDepartureFlightName","scopeChanged","setScopeChanged","getEventDetails","_eventDetails$notes","planned_engineers","scope_of_approval","note","gndWholeValue","airline","event_type","series_id","dep_date_time","fullScreenState","labelDisplayedRows","to","Stand","stand_number","stand","firstRow","secondRowText","detailtext","plannedText","accordianDetails","eventText","iconLayout","borderTop","pictureBox","pageButton","StationBoard","_userDetails$base_sta","expanded","setExpanded","showText","setShowText","typeButton","setTypeButton","liveDate","setLiveDate","setApprovalTypes","eventTypes","setEventTypes","slideSelectedValue","setValueSlide","handle","useFullScreenHandle","setFullScreenState","containerRef","expandedAccordions","setExpandedAccordions","setType","selectedType","setSelectedType","_userDetails$base_sta2","getApprovalTypes","getEventLists","handleClick1","filterTypeChangeHandler","getStationBoardDetails","date_range","exitHandler","webkitIsFullScreen","mozFullScreen","msFullscreenElement","clearInterval","handleInterval","inv","setInterval","intervalCall","intervalCall1","today1","handleColor","est_dep_datetime","Slider","getAriaValueText","valueLabelDisplay","marks","FullScreenIcon","FullScreen","handleLiveTime","innerHeight","innerWidth","Accordion","accordionClicked","AccordionSummary","expandIcon","ExpandMoreIcon","flight_status","flight_status_color","ArrowDownwardGreenIcon","ArrowDownwardAmberIcon","ArrowDownwardIcon","rel","aircraft","ac_reg","flight_status_eta","fr_updated_at","planned_gnd_time","ClearIcon","CheckedIcon","ArrowUpwardIcon","lm_event_type_id","act_dep_datetime","AccordionDetails","approval_type_name","scopes","notes_list","onOpen","not_called_out","EndCall","handleNotCalledout","EndCallGrey","Location","LineMaintainence","Performance","MaintHour","WorkshopDashboardServices","ApprovalVar","wipData","setWipData","wip_labour_r","wip_labour","wip_parts_r","wip_parts","wip_services_r","wip_services","wip_equipment_r","wip_equipment","wip_overall","approved_value","current_position","EstimationDeparture","etd_type","runButton","_handleLocalTime","setRefresh","commercialOverviewData","setCommercialOverviewData","runTable","setRunTable","getCommercialOverview","handleActions","renderIcons","PriorityHighIcon","localTime","handleLocalTime","last_updated_at","whiteSettingIcon","handleCommercialtableUpdate","StoppedOrders","stoppedOrder","handleCloseAction","order_type_name","tabID","stoppedOrders","setStoppedOrders","viewAction","setViewAction","graph","monthText","quoteText","chartText","WebkitUserSelect","WebkitAppearance","month","lengends","wipText","Production","refresh","completedOrders","setCompletedOrders","completedValues","setCompletedValues","currentDate","setCurrentDate","previousDate","setPreviousDate","previousLastDate","setPreviousLastDate","twelveMonthsBarData","setTwelveMonthsBarData","twelveMonthsLineData","setTwelveMonthsLineData","progressLoading","setProgressLoading","quotesData","setQuotesData","commercialData","setCommercialData","quotesPercentage","setQuotesPercentage","commercialPercentage","setCommercialPercentage","setColumn","setOrder","handleCompleteDetails","handleInprogressDetails","completed_orders","completed_values","handleDates","curr","current_date","previous","previous_month_current_date","lastMonth","pervious_month_last_date","_response$data$","_response$data$2","_response$data$3","_response$data$4","_response$data$5","wip","open_quotes","open_commercial_positions","orderStage","order_stage","orderStageU","charAt","getGraphDetails","compare_previous_year","_response$data","_response$data2","bar1","bar2","bar3","revised_on_time","previous_year_data","adhoc_true","adhoc_false","seven_days","seven_to_thirty_days","thirty_days","quotePercentage","approved","pending","no_position","current_month_count","partial_month_count_percent","prev_month_partial_count","full_month_count_percent","prev_month_full_count","current_month_amount","partial_month_amount_percent","prev_month_partial_amount","full_month_amount_percent","prev_month_full_amount","Line","StopIcon","wip_updated_at","jobs","wip_value","columnGap","CommericalTable","columnState","setColumnState","axisBorder","axisTicks","ReactBarChart","inStockLabel","chartLabelText","Storage","actionListData","setActionListData","actionLoading","setActionLoading","storedData","setStoredData","workloadData","setworkloadData","pieChartValues","setPieChartValues","setTotalvalue","getStorageActionDueDetails","getStorageDetails","stored_components","workload","actions_due","above_ten_days","two_days","ten_days","due_days","serviceable","unserviceable","BarChart","WorkshopMaintenance","Workshop","Maintenances","MultipleBaseFilter","StoreDashboardServices","OilAccuracy","acc_data","setAccData","value_data","setValData","var_data","setVarData","xAxis","setXAxis","accuracy","wo_count","tx_count","varian","display_date","periods","metrics","array","fromEntries","period","line_items","metric","getTableDetails","_rowData$line_items","tableLayout","DashboardSection","topNavMenu","FlightIcon","useLocation","_permission$filter","StationCompliance","LineMaintenance","cards","TotpAuthStep2","setOtpMethod","factAndEntityId","authMethod","setVerified","verified_otp","factor_sid","factorSid","entity_sid","qr_code_link","qrLink","factor_status","Google","Authy","closeHandlerFunc","TotpAuth","setFactAndEntityId","step_2","setStep_2","qrCodeLink","setQrCodeLink","qrcode","setQrCode","doneCloseHandler","setCheckBoxState","TwoFactorAuth","messages","otpMethod","auth_method","otpNum","setOtpNum","step_1","setStep_1","challenge_status","checkBox","prev","handleClickNext","FavouritesTable","handleOpenAction","MailSend","changedPage","changedPageSize","ReportsServices","updateReportUserGroups","updateReportUsers","getReportParams","getCategories","getAllReports","getFavouriteReports","getAdminReports","toggleFavourite","generateReport","useGetReportsTableData","reqFuncs","favourites","allReports","admin","refetch","useGetFilterOptions","filterOptions","setFilterOptions","transformedCategoryOptions","getDropdownOptions","useGetReportFormDropdowns","setDropdownOptions","_baseResponse$data","_customersResponse$li","_usersResponse$data","_usersResponse$data$u","baseResponse","customersResponse","usersResponse","all","transformedBaseOptions","transformedCustomers","transformedUsers","getFormDropdownOptions","yesOrNoToggleOptions","ReportsAction","refreshListing","fieldsList","setFieldsList","reportsData","setReportsData","report_name","isSubmitting","setIsSubmitting","formValues","setFormValues","isDropdownsLoading","report_id","_response$data4","semiFixedFieldsArray","fieldMappings","default","_response$data3","dynamicFields","transformedFieldArray","initialFormValues","initialErrorValues","onCloseForm","getFieldsList","validateForm","formFieldId","enteredValue","overflowY","_dropdownOptions$fiel","_field$title","_event$target","handleToggleInput","_event$target2","numericValue","_fieldsList$filter","paramName","getFormPayload","Favourites","openAction","setOpenAction","isOpen","setFilterValues","category_id","useImperativeHandle","filterId","handleCloseActions","AllReportsTable","handleChangeFavourite","favourite","StarIcon","StarOutlineIcon","AllReports","handleFavouriteChange","componentRef","useGetSetupFilterOptions","_categoryResponse$dat","_userListResponse$dat","_userListResponse$dat2","categoryResponse","userListResponse","transformedUserGroupOptions","user_group","SetupTable","handleClickUser","handleClickUserGroups","_rowData$count_report","count_report_user_groups","_rowData$count_report2","count_report_users","popper","UsersAction","usersList","setUsersList","selectedUsers","setSelectedUsers","_currentSelection$rep","transformedUserOptions","report_users","previouslySelected","_currentSelection$rep2","selId","report_number","getPayload","UserGroupsAction","userGroupsList","setUserGroupsList","selectedUserGroups","setSelectedUserGroups","userGroup","report_user_groups","user_group_id","getUserGroupsList","selectedUserGroup","Setup","NewReports","Info","lazy","ComplianceSection","ProcurementSection","AdminSection","StoreSection","OperationsSection","PlanningSection","Messaging","CommercialSection","BrowserAppRoutes","ADMIN","ComposedComponent","ComponentWithLayout","Router","getUserConfirmation","Suspense","fallback","App","onUpdate","scrollTo","CustomPreloader","ThemeProvider","ConfigProvider","en_GB","hostname","ReactDOM","StrictMode","ActionCableProvider","serviceWorker","unregister"],"mappings":"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","file":"static/js/main.dceb6958.chunk.js","sourcesContent":["import React, { useState } from \"react\";\nimport TextField from \"@material-ui/core/TextField\";\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\nconst sanitizeInput = (value) => {\n return value.replace(/[<>/\\\\]/g, \"\"); // Removes <, >, /, and \\ characters\n};\n\nfunction container() {\n // Use the fullscreen element if in fullscreen mode, otherwise just the document's body\n return document.fullscreenElement ?? document.body;\n}\n\nconst MROTextField = withStyles((theme) => ({\n root: {\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderColor: theme.palette.primary.main,\n // borderWidth: '1px !important'\n },\n \"&:hover fieldset\": {\n borderColor: theme.palette.primary.light + \"!important\",\n },\n \"&.Mui-disabled fieldset\": {\n borderColor: \"rgba(0, 0, 0, 0.26) !important\",\n },\n \"&.Mui-error:hover fieldset\": {\n borderColor: \"#f44336 !important\",\n },\n \"& .MuiOutlinedInput-input\": {\n padding: \"15px\",\n },\n },\n \"& label\": {\n color: theme.palette.primary.main,\n },\n \"& .MuiOutlinedInput-input\": {\n \"&::placeholder\": {\n textTransform: \"none\",\n },\n },\n },\n}))((props) => {\n const [value, setValue] = useState(props.value || \"\");\n const handleChange = (event) => {\n // const sanitizedValue = sanitizeInput(event.target.value);\n setValue(event.target.value); // Update local state with sanitized value\n // eslint-disable-next-line no-unused-expressions\n props.onChange?.({\n ...event,\n target: {\n ...event.target,\n value: event.target.value.replace(/[<>\\\\]/g, \"\"),\n }, // Update the value with sanitized input\n });\n };\n return !props.select ? (\n <>\n \n \n ) : (\n <>\n \n \n );\n});\n\nexport default MROTextField;\n","import React from \"react\";\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Button from \"@material-ui/core/Button\";\nimport { CircularProgress } from \"@material-ui/core\";\n\nconst MROButton = withStyles((theme) => ({\n root: {\n fontWeight: 400,\n textTransform: \"none\",\n fontSize: 14,\n \"&:hover, &:active\": {\n borderColor: theme.palette.primary.dark,\n boxShadow: \"none\",\n },\n },\n}))((props) => (\n \n {props.loading ? (\n \n ) : (\n props.children\n )}\n \n));\n\nexport default MROButton;\n","import React, { useState, createContext, useContext } from \"react\";\n\nexport const ToastMessageContext = createContext({});\n\nexport default function ToastMessageProvider({ children }) {\n const [toastMessage, setToastMessageState] = useState({\n variant: \"info\",\n message: \"\",\n open: false,\n duration: 4000\n });\n\n const showToastMessage = (data) => {\n setToastMessageState({\n ...toastMessage,\n open: true,\n ...data\n })\n }\n let toastMessageValue = { toastMessage, showToastMessage };\n return (\n \n {children}\n \n );\n}\n\nexport const useMessage = () => {\n const { showToastMessage } = useContext(ToastMessageContext);\n\n return { showToastMessage }\n}","import { makeStyles } from \"@material-ui/core/styles\";\nimport moment from \"moment\";\nimport { getTimeDiffFormatted } from \"views/Operations/LineMaintenance/WorkOrder/section_detail\";\n\nexport const flattenObjectToArray = (object, key) => {\n let values = [];\n for (let i = 0;i < object.length;i++) {\n if (object[i].hasOwnProperty(key)) {\n values.push(object[i][key]);\n }\n }\n return values;\n};\n\nexport const userName = () => {\n const user = JSON.parse(sessionStorage.getItem('user'));\n return user.first_name + \" \" + user.last_name\n}\nexport const getUserStamp = () => {\n const user = JSON.parse(sessionStorage.getItem('user'));\n return user.stamp_number\n}\n\nexport const userCurrency = () => {\n const user = JSON.parse(sessionStorage.getItem('user'));\n return user.currencies\n}\nexport const getOrganisationId = () => {\n const org = JSON.parse(sessionStorage.getItem(\"organisation\"));\n return org.id\n}\nexport const getUserId = () => {\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n\n return user.id\n}\nexport const getBaseStationID = () => {\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n\n return user.base_station_id\n}\n\nexport const getParams = (url) => {\n let params = {};\n let parser = document.createElement(\"a\");\n parser.href = url;\n let query = parser.search.substring(1);\n let lets = query.split(\"&\");\n for (let i = 0;i < lets.length;i++) {\n let pair = lets[i].split(\"=\");\n params[pair[0]] = decodeURIComponent(pair[1]);\n }\n return params;\n};\n\nexport const validateEmail = (email) => {\n var re =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n};\n\nexport const validateCommaSeparatedEmail = (email) => {\n var re = /^([\\w+-.%]+@[\\w-.]+\\.[A-Za-z]{2,}(\\s*,?\\s*)*)+$/;\n return re.test(String(email).toLowerCase());\n};\n\nexport const generatePassword = (length) => {\n var charset =\n \"abcdefghjklmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789!@#$%*()\";\n var retVal = \"\";\n for (var i = 0, n = charset.length;i < length;++i) {\n retVal += charset.charAt(Math.floor(Math.random() * n));\n }\n return retVal;\n};\n\nexport const validateLink = (link) => {\n let re =\n /^(http[s]?:\\/\\/){0,1}(www\\.){0,1}[a-zA-Z0-9\\.\\-]+\\.[a-zA-Z]{2,5}[\\.]{0,1}/;\n return re.test(link.trim());\n};\n\nexport const checkFromat = (date) =>\n /^\\d{4}\\-(0?[1-9]|1[012])\\-(0?[1-9]|[12][0-9]|3[01])$/.test(date);\nconst checkDateTimeFromat = (date) =>\n /[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]/.test(\n date\n );\nconst timeStampFormat = (date) =>\n /[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T(2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]/.test(\n date\n );\n\nexport const formatDate = (date) => {\n let formattedDate = moment(\n date,\n checkFromat(date) ? \"YYYY-MM-DD\" : \"DD/MM/YYYY\"\n ).format(\"DD/MM/YYYY\");\n return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\nexport const ConvertYMD = (date) => {\n let formattedDate = moment(\n date,\n checkFromat(date) ? \"DD/MM/YYYY HH:mm:ss\" : \"YYYY-MM-DD\"\n ).format(\"YYYY-MM-DD\");\n return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\n\nexport const formatDateTimeFull = (date) => {\n let formattedDate = moment(date, \"DD-MM-YYYY hh:mm:ss a\").format(\n \"DD/MM/YYYY hh:mm:ss A\"\n );\n\n return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\n\nexport const formatDateTime = (date) => {\n let formattedDate = moment(\n date,\n checkDateTimeFromat(date) ? \"YYYY-MM-DD HH:mm:ss A\" : \"DD-MM-YYYY hh:mm:ss\"\n ).format(\"DD/MM/YYYY hh:mm A\");\n\n return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\n\nexport const format24HrDateTime = (date) => {\n let formattedDate = moment(\n date,\n checkDateTimeFromat(date) || timeStampFormat(date)\n ? \"YYYY-MM-DD HH:mm:ss A\"\n : \"DD-MM-YYYY hh:mm:ss\"\n ).format(\"DD/MM/YYYY HH:mm\");\n\n return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\nexport const format24HrDateOnly = (date) => {\n let formattedDate = moment(\n date,\n checkDateTimeFromat(date) || timeStampFormat(date)\n ? \"YYYY-MM-DD HH:mm:ss A\"\n : \"DD-MM-YYYY hh:mm:ss\"\n ).format(\"DD/MM/YYYY\");\n\n return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\n\n\nexport const _formatDate = (date) => {\n return moment(date, \"YYYY-MM-DD hh:mm:ss a\").format(\"DD/MM/YYYY HH:mm\");\n};\nexport const _formatDateUTC = (date) => {\n return moment(date, \"YYYY-MM-DD hh:mm:ss a\").format(\"YYY-MM-DD HH:mm:ss\");\n};\n\nexport const formatToDateOnly = (date) => {\n let formattedDate = moment(date, \"DD/MM/YYYY hh:mm:ss\").format(\"DD/MM/YYYY\")\n return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\nexport const formatDateFunction = (date) => {\n return moment(date, \"DD/MM/YYYY HH:mm:ss\").format(\"DD/MM/YYYY HH:mm\");\n};\nexport const formatDateFunctiontwel = (date) => {\n let formattedDate = moment(date, \"DD/MM/YYYY hh:mm\").format(\"DD/MM/YYYY HH:mm\")\n return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\nexport const formatMMMDate = (date) => {\n let formattedDate = moment(date, \"DD/MMM/YYYY hh:mm\").format(\"DD/MM/YYYY HH:mm\")\n return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\n\nexport const newformatMMDate = (date) => {\n let formattedDate = moment(date, \"DD-MM-YYYY HH:mm\").format(\"DD/MM/YYYY HH:mm\")\n return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\n\nexport const formatDateFunctionWithAmPm = (date) => {\n return moment(date, \"DD/MM/YYYY hh:mm A\").format(\"DD/MM/YYYY HH:mm\");\n};\nexport const formatUTC = (date) => {\n return moment(date, \"DD/MM/YYYY \").format(\"YYYY-MM-DD HH:mm:ss\");\n};\nexport const formatToMins = (date) => {\n let formattedDate = moment(date, \"YYYY-MM-DD hh:mm:ss \").format(\" HH:mm\");\n return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\nexport const formatHoursToMins = (date) => {\n const duration = moment.duration(date)\n if (duration.isValid()) {\n const inbdDelayTime = getTimeDiffFormatted(duration)\n return inbdDelayTime\n } else {\n return \"-\"\n }\n // let formattedDate = moment(date, \"HH:mm:ss \").format(\" HH:mm\");\n // return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\nexport const handleDuration = (time) => {\n let date = moment.duration(time ? time : \"00:00:00\").asSeconds()\n let color = date <= 0 ? \"#4FC605\" : \"#FF0202\"\n // console.log(\"date===\", date)\n return color\n\n // let formattedDate = moment(date, \"HH:mm:ss \").format(\" HH:mm\");\n // return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\n\n\n\nexport const formatDateWithHrMin = (date) => {\n let formattedDate = moment(date, \"YYYY-MM-DD hh:mm:ss \").format(\"DD/MM/YYYY HH:mm\");\n return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\nexport const newformatDateWithHrMin = (date) => {\n let formattedDate = moment(date, \"DD/MM/YYYY HH:mm\").format(\"YYYY-MM-DD hh:mm:ss\");\n return formattedDate === \"Invalid date\" ? \"\" : formattedDate;\n};\nexport const Nbsp = () => {\n return '\\u00A0'\n}\nexport const formatUTCToLocal = (date) => {\n let givenDate = moment.utc(date, 'DD/MM/YYYY HH:mm');\n let convertedDate = moment(givenDate).local().format('DD/MM/YYYY HH:mm')\n return convertedDate === \"Invalid date\" ? '' : convertedDate\n}\nexport const getColors = (value) => {\n const color = {\n \"green\": '#8CDA5C',\n \"red\": '#FF0202',\n \"amber\": \"#FFCD59\",\n\n }\n\n return color[value]\n}\n\nexport { makeStyles };\n","import React from \"react\";\nimport { forwardRef } from \"react\";\nimport AddBox from '@material-ui/icons/AddBox';\nimport ArrowUpward from '@material-ui/icons/ArrowUpward';\nimport Check from '@material-ui/icons/Check';\nimport ChevronLeft from '@material-ui/icons/ChevronLeft';\nimport ChevronRight from '@material-ui/icons/ChevronRight';\nimport Clear from '@material-ui/icons/Clear';\nimport DeleteOutline from '@material-ui/icons/Delete';\nimport Edit from '@material-ui/icons/Edit';\nimport FilterList from '@material-ui/icons/FilterList';\nimport FirstPage from '@material-ui/icons/FirstPage';\nimport LastPage from '@material-ui/icons/LastPage';\nimport Remove from '@material-ui/icons/Remove';\nimport SaveAlt from '@material-ui/icons/SaveAlt';\nimport Search from '@material-ui/icons/Search';\nimport Settings from '@material-ui/icons/Settings';\nimport ViewColumn from '@material-ui/icons/ViewColumn';\nimport { ICON_COLOUR } from \"../../lib/constants/style_constants\";\n\nconst tableIcons = {\n Add: forwardRef((props, ref) => ),\n Check: forwardRef((props, ref) => ),\n Clear: forwardRef((props, ref) => ),\n Delete: forwardRef((props, ref) => ),\n DetailPanel: forwardRef((props, ref) => ),\n Edit: forwardRef((props, ref) => ),\n Export: forwardRef((props, ref) => ),\n Filter: forwardRef((props, ref) => ),\n FirstPage: forwardRef((props, ref) => ),\n LastPage: forwardRef((props, ref) => ),\n NextPage: forwardRef((props, ref) => ),\n PreviousPage: forwardRef((props, ref) => ),\n ResetSearch: forwardRef((props, ref) => ),\n Search: forwardRef((props, ref) => ),\n SortArrow: forwardRef((props, ref) => ),\n ThirdStateCheck: forwardRef((props, ref) => ),\n ViewColumn: forwardRef((props, ref) => ),\n Settings: forwardRef((props, ref) => ),\n};\n\nexport const options = {\n actionsColumnIndex: -1,\n selectableRowsOnClick: false,\n pageSize: 10,\n pageSizeOptions: [5, 10, 20, 30, 50],\n searchFieldStyle: {\n width: '350px'\n },\n rowStyle: {\n textAlign: 'center',\n height: '42px',\n },\n headerStyle: {\n textAlign: 'center',\n paddingTop: \"22px\",\n paddingBottom: \"16px\",\n },\n cellStyle: {\n textAlign: 'center'\n },\n draggable: false,\n searchable: true,\n sorting: false,\n emptyRowsWhenPaging: false,\n debounceInterval: 600\n};\n\nexport default tableIcons;","import axios from \"axios\";\nimport { BASE_API_URL_BOXP } from \"../../../constants\";\n\nexport const requestApi = async function (options) {\n const authHeaders = JSON.parse(sessionStorage.getItem('authorization_headers'));\n authHeaders[\"Access-Control-Allow-Origin\"] = \"*\";\n // authHeaders[\"Access-Control-Allow-Headers\"] = \"Origin, X-Requested-With, Content-Type, Accept\";\n // authHeaders[\"Access-Control-Allow-Headers\"] = \"*\";\n // authHeaders[\"Access-Control-Allow-Methods\"] = \"GET,POST,PUT,DELETE,OPTIONS\";\n const users = JSON.parse(sessionStorage.getItem('user'));\n const organisation = JSON.parse(sessionStorage.getItem('organisation'));\n if (users != null && users.role == \"super_admin\") {\n\n let mainUrl = options['url']\n let url1 = mainUrl + '?organisation_id=';\n let url2 = mainUrl + '&organisation_id=';\n let logicFiedUrl = mainUrl?.includes('?') ? (url2 + organisation.id) : (url1 + organisation.id)\n // options['url'] != '/organisations/organisation_login' && (options['url'] = options['url'] + '?organisation_id=' + organisation.id)\n options['url'] != '/organisations/organisation_login' && (options['url'] = logicFiedUrl)\n }\n const client = axios.create({\n baseURL: BASE_API_URL_BOXP,\n headers: options.headers || authHeaders\n });\n\n const onSuccess = function (response) {\n if (options.handleHeaders === 1) {\n if (response && response.data && response.data.user) {\n sessionStorage.setItem('authorization_headers', JSON.stringify(response.headers));\n const userRole = response.data.user_role;\n const user = JSON.stringify({ ...response.data.user, role: userRole });\n sessionStorage.setItem(\"user\", user);\n const permissions = JSON.stringify(response.data.permissions);\n const organisation = JSON.stringify(response.data.organisation);\n const logo = response.data.avatar;\n permissions && sessionStorage.setItem('permissions', permissions);\n organisation && sessionStorage.setItem('organisation', organisation);\n logo && sessionStorage.setItem('logo', logo);\n }\n }\n if (options.handleHeaders === 3) {\n if (response && response.data && response.data.user) {\n console.log(response)\n\n console.log(\"response header is====================\", response.headers)\n const userRole = response.data.user.role;\n const user = JSON.stringify({ ...response.data.user, role: userRole });\n const organisation = JSON.stringify(response.data.organisation);\n const logo = response.data.avatar;\n sessionStorage.setItem(\"user\", user);\n sessionStorage.setItem('authorization_headers', JSON.stringify(response.headers));\n organisation && sessionStorage.setItem('organisation', organisation);\n logo && sessionStorage.setItem('logo', logo);\n }\n }\n if (options.handleHeaders === 0) {\n const logo = sessionStorage.getItem('logo');\n sessionStorage.clear();\n logo && sessionStorage.setItem('logo', logo);\n window.location.href = '/auth/signin';\n }\n const resp = response.data;\n if (resp.hasOwnProperty(\"success\")) {\n return resp;\n }\n else {\n return { ...resp, success: true }\n }\n };\n\n const onError = function (error) {\n if (options.handleHeaders === 0) {\n const logo = sessionStorage.getItem('logo');\n sessionStorage.clear();\n logo && sessionStorage.setItem('logo', logo);\n }\n if (error.response) {\n if (error.response.status === 401 && options.handleHeaders !== 1) {\n window.location.href = '/auth/signin';\n }\n }\n //Check API and return response in accepted state with error data and success equals false flag to avoid catch block in all api requests.\n return Promise.reject(error.response ? error.response.data : { message: \"something went wrong\", success: false } || error.message || error.errors);\n };\n\n return client(options)\n .then(onSuccess)\n .catch(onError);\n};\n\nexport default requestApi;\n\n","import axios from \"axios\";\nimport { BASE_API_URL_BOXR } from \"../../../constants\";\n\nexport const requestrApi = function (options) {\n\n const authHeaders = JSON.parse(sessionStorage.getItem('authorization_headers'));\n const users = JSON.parse(sessionStorage.getItem('user'));\n const organisation = JSON.parse(sessionStorage.getItem('organisation'));\n if (users != null && users.role == \"super_admin\") {\n \n let mainUrl=options['url']\n let url1= mainUrl+ '?organisation_id=';\n let url2 = mainUrl+'&organisation_id=';\n let logicFiedUrl = mainUrl?.includes('?') ? (url2+organisation.id) : (url1+organisation.id)\n // options['url'] != '/organisations/organisation_login' && (options['url'] = options['url'] + '?organisation_id=' + organisation.id)\n options['url'] != '/organisations/organisation_login' && (options['url'] = logicFiedUrl )\n }\n const client = axios.create({\n baseURL: BASE_API_URL_BOXR,\n headers: options.headers || authHeaders\n });\n\n const onSuccess = function (response) {\n if (options.handleHeaders === 1) {\n if (response && response.data && response.data.user) {\n sessionStorage.setItem('authorization_headers', JSON.stringify(response.headers));\n const userRole = response.data.user_role;\n const user = JSON.stringify({ ...response.data.user, role: userRole });\n sessionStorage.setItem(\"user\", user);\n const permissions = JSON.stringify(response.data.permissions);\n const organisation = JSON.stringify(response.data.organisation);\n const logo = response.data.avatar;\n permissions && sessionStorage.setItem('permissions', permissions);\n organisation && sessionStorage.setItem('organisation', organisation);\n logo && sessionStorage.setItem('logo', logo);\n }\n }\n if (options.handleHeaders === 3) {\n if (response && response.data && response.data.user) {\n console.log(response)\n\n const userRole = response.data.user.role;\n const user = JSON.stringify({ ...response.data.user, role: userRole });\n const organisation = JSON.stringify(response.data.organisation);\n const logo = response.data.avatar;\n sessionStorage.setItem(\"user\", user);\n sessionStorage.setItem('authorization_headers', JSON.stringify(response.headers));\n organisation && sessionStorage.setItem('organisation', organisation);\n logo && sessionStorage.setItem('logo', logo);\n }\n }\n if (options.handleHeaders === 0) {\n const logo = sessionStorage.getItem('logo');\n sessionStorage.clear();\n logo && sessionStorage.setItem('logo', logo);\n window.location.href = '/auth/signin';\n }\n const resp = response.data;\n if (resp.hasOwnProperty(\"success\")) {\n return resp;\n }\n else {\n return { ...resp, success: true }\n }\n };\n\n const onError = function (error) {\n if (options.handleHeaders === 0) {\n const logo = sessionStorage.getItem('logo');\n sessionStorage.clear();\n logo && sessionStorage.setItem('logo', logo);\n }\n if (error.response) {\n if (error.response.status === 401 && options.handleHeaders !== 1) {\n window.location.href = '/auth/signin';\n }\n }\n //Check API and return response in accepted state with error data and success equals false flag to avoid catch block in all api requests.\n return Promise.reject(error.response ? error.response.data : { message: \"something went wrong\", success: false } || error.message || error.errors);\n };\n\n return client(options)\n .then(onSuccess)\n .catch(onError);\n};\n\nexport default requestrApi;\n\n","import ListingService from \"../lib/services/api/listing_service\";\n\nexport const TABLE_ACTIONS = {\n CHANGE_STATE: 'change_state_value',\n SET_RESPONSE: 'set_response_data',\n TOGGLE_IN_PROGRESS_STATE: 'toggle_in_progress',\n UPDATE_DATA_IN_LIST: 'update_data_in_list',\n SET_CURRENT_SELECTION: 'set_current_selection',\n CLEAR_STATE: 'clear_data'\n}\n\nfunction setPage(dispatch, page) {\n dispatch({ type: TABLE_ACTIONS.CHANGE_STATE, name: 'page', value: page });\n}\nfunction setSearchText(dispatch, searchText) {\n dispatch({ type: TABLE_ACTIONS.CHANGE_STATE, name: 'searchText', value: searchText })\n}\nfunction setPageSize(dispatch, pageSize) {\n dispatch({ type: TABLE_ACTIONS.CHANGE_STATE, name: 'pageSize', value: pageSize })\n}\nfunction setTotalCount(dispatch, totalCount) {\n dispatch({ type: TABLE_ACTIONS.CHANGE_STATE, name: 'totalCount', value: totalCount })\n}\nfunction getList(dispatch, message, params, section) {\n dispatch({ type: TABLE_ACTIONS.TOGGLE_IN_PROGRESS_STATE });\n ListingService.getData(params, section).then((res) => {\n if (res.success) {\n dispatch({ type: TABLE_ACTIONS.SET_RESPONSE, payload: { data: res, totalCount: res.total_count || 0 } });\n }\n else {\n message && message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong.Try Again\", variant: \"error\" });\n }\n }).catch((e) => {\n dispatch({ type: TABLE_ACTIONS.TOGGLE_IN_PROGRESS_STATE });\n message.showToastMessage({ message: \"Something went wrong. Try Again\", variant: \"error\" })\n })\n}\n\nfunction addDataToList(tableDispatch, dataDispatch, data) {\n tableDispatch({ type: TABLE_ACTIONS.UPDATE_DATA_IN_LIST, payload: data });\n if (dataDispatch) {\n dataDispatch({ type: 'clear_data' });\n }\n}\n\nfunction clearData(tableDispatch) {\n tableDispatch({ type: TABLE_ACTIONS.CLEAR_STATE })\n}\n\n\nconst TableAction = {\n setPage,\n setPageSize,\n setSearchText,\n setTotalCount,\n getList,\n addDataToList,\n clearData\n}\nexport default TableAction;","import requestApi from \"lib/services/api/common/boxp_api_client\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\nimport requestrApi from \"lib/services/api/common/boxr_api_client\";\nimport _ from \"lodash\";\n\nconst getQuotation = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/quotation/${id}`,\n method: \"GET\",\n });\n};\nconst getAllCustomerDetails = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customer/address/all`,\n method: \"GET\",\n params\n });\n};\nconst getWorkshopOrder = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/workshop_order_generate`,\n method: \"POST\",\n params,\n });\n};\n\nconst getBaseStation = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/base-stations`,\n method: \"GET\",\n params\n });\n};\nconst getCapabilityRating = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/capability_ratings`,\n method: \"GET\",\n params\n });\n};\n\nconst acceptanceOrder = (formData, id = null) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/quotation-acceptance-update/${id}?_method=PUT`,\n method: \"POST\",\n data: formData,\n });\n};\nconst planningData = (formData, params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/planning`,\n method: \"POST\",\n data: formData,\n params\n });\n};\nconst createQuotation = (formData) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/quotation`,\n method: \"POST\",\n data: formData,\n });\n};\nconst getInduction = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/induction/${id}`,\n method: \"GET\",\n });\n};\nconst getPlanning = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/planning/${id}`,\n method: \"GET\",\n });\n};\nconst getCustomerList = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customers-list`,\n method: \"GET\",\n params\n });\n};\nconst getCustomerListForStock = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/all_customers_list`,\n method: \"GET\",\n params\n });\n};\nconst getReleaseType = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/fetch_release_types`,\n method: \"GET\",\n params\n });\n};\nconst getReleaseAuth = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/fetch_release_auth`,\n method: \"GET\",\n params\n });\n\n};\nconst getCapability = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/capability`,\n method: \"GET\",\n params,\n });\n};\nconst getHeaderDetails = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/header/${id}`,\n method: \"GET\",\n });\n};\nconst getMaintOrderDetails = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/maintenace_order_list/${id}`,\n method: \"GET\",\n });\n};\n\nconst getPlatform = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/fetch_platforms`,\n method: \"GET\",\n params\n });\n};\nconst getSendQuoteStatus = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/send-quote?_method=PUT`,\n method: \"POST\",\n params,\n });\n};\n\n//update handler functions\nconst updateQuote = (formData, id = null) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/quotation/${id}?_method=PUT`,\n method: \"POST\",\n data: formData,\n });\n};\n\nconst getBarcodeData = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/barcode`,\n method: \"GET\",\n params\n });\n};\nconst getAllActions = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_imp`,\n method: \"GET\",\n params\n });\n};\nconst getAllActionComments = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_comment`,\n method: \"GET\",\n params\n });\n};\nconst getTabDetails = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/order_tab_details/${id}`,\n method: \"GET\",\n });\n};\n\nconst updateInductionTabData = (data, id) => {\n return requestApi({\n url: `/induction/${id}?_method=PUT`,\n method: \"POST\",\n data,\n });\n};\n\nconst getParams = (param) => {\n let deletedParam = _.omit(param, \"id\");\n if (param.edit_tab === \"\") {\n deletedParam = _.omit(param, \"edit_tab\");\n }\n return deletedParam\n}\nconst updatePlanningTabData = (data, param) => {\n let params = getParams(param)\n return requestApi({\n url: `/planning/${param.id}?_method=PUT`,\n method: \"POST\",\n data: data,\n params\n });\n};\n\nconst getParam = (param) => {\n let deletedParam = _.omit(param, \"id\");\n return deletedParam\n}\nconst updateSaveForLaterData = (data, param) => {\n let params = getParam(param)\n return requestApi({\n url: `/planning/${param.id}?_method=PUT`,\n method: \"POST\",\n data: data,\n params\n });\n};\n\nconst updateAwayFromBase = (data, id) => {\n return requestApi({\n url: `/induction-away-from-base-update/${id}?_method=PUT`,\n method: \"POST\",\n data\n })\n}\nconst updateServiceLifes = (data) => {\n return requestApi({\n url: `/copy_service_life?_method=PUT`,\n method: \"POST\",\n data\n })\n}\nconst updateCopyProjectParts = (data) => {\n return requestApi({\n url: `/copy_project_parts`,\n method: \"POST\",\n data\n })\n}\nconst updateCopyAllActions = (data) => {\n return requestApi({\n url: `/copy_all_actions?_method=PUT`,\n method: \"POST\",\n data\n })\n}\n\n\nconst deleteFile = (id) => {\n return requestApi({\n url: `/media/${id}`,\n method: \"DELETE\"\n })\n}\n\nconst updateHeader = (data, id) => {\n return requestApi({\n url: `/header/${id}?_method=PUT`,\n method: \"POST\",\n data\n })\n}\nconst inspectionActionLogic = (data) => {\n return requestApi({\n url: `/inspection_action?_method=PUT`,\n method: \"POST\",\n data\n })\n}\nconst editButton = (param) => {\n return requestApi({\n url: `/edit_tab?_method=PUT`,\n method: \"POST\",\n data: param\n })\n}\n\n\nconst archiveOrder = (id) => {\n return requestApi({\n url: `/header/${id}`,\n method: 'DELETE',\n })\n}\n\nconst getActionsDpdOptions = (params) => {\n return requestrApi({\n url: `/workshop_actions/list_action_numbers`,\n method: \"GET\",\n params\n })\n}\nconst getVehicleList = (params) => {\n return requestrApi({\n url: `/vehicles`,\n method: \"GET\",\n params\n })\n}\nconst getCustomerAddress = (params) => {\n return requestApi({\n url: `/get_customer_address`,\n method: \"GET\",\n params\n })\n}\nconst updateCustomerAddress = (data) => {\n return requestApi({\n url: `/customer/address`,\n method: \"POST\",\n data,\n })\n}\n\nconst createPartRequest = (data) => {\n return requestrApi({\n url: `/part_requests/operation_part_request`,\n method: \"POST\",\n data,\n })\n}\n// This is for Create tab.\nconst addPart = (formData) => {\n return requestrApi({\n url: \"/primary_parts\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst createJobRequest = (params) => {\n return requestrApi({\n url: \"/part_requests/operation_part_request\",\n method: \"POST\",\n params\n })\n}\n\nfunction fetchDependencies() {\n return requestrApi({\n url: \"/primary_parts/fetch_dependencies\",\n method: \"GET\",\n });\n}\nfunction getPartNumber(params) {\n return requestApi({\n url: \"/get_part_numbers\",\n method: \"GET\",\n params\n });\n}\n\nfunction getRequestPartDetails(params) {\n return requestrApi({\n url: \"/part_requests/part_request_details\",\n method: \"GET\",\n params\n });\n}\n\nfunction getConditionedParts(params) {\n return requestrApi({\n url: `/part_conditions/part_condition_info`,\n method: \"GET\",\n params: params,\n });\n}\n\n\nfunction editPartWOShopRequest(data) {\n return requestrApi({\n url: `/part_requests/edit_part_request`,\n method: \"PUT\",\n data,\n });\n}\n\nfunction deleteRequest(data) {\n return requestrApi({\n url: `/part_requests/destroy_request`,\n method: \"DELETE\",\n data,\n });\n}\n\nfunction getOrderDetails(id) {\n return requestApi({\n url: `/order_tab_details/${id}`,\n method: \"GET\",\n });\n}\nfunction planningClosure(params) {\n return requestApi({\n url: `/planning_closure`,\n method: \"GET\",\n params\n });\n}\nfunction productionStoppage(params) {\n return requestApi({\n url: `/production_stoppage`,\n method: \"GET\",\n params\n });\n}\n\nconst unlockPopup = (formData) => {\n return requestApi({\n url: `/unlock_inspection?_method=PUT`,\n method: \"POST\",\n data: formData,\n });\n};\n//Release Tab\nfunction getReleaseTabDetails(id) {\n return requestApi({\n url: `/release_details/${id}`,\n method: \"GET\",\n\n });\n}\nconst updateReleaseTabData = (data, id) => {\n return requestApi({\n url: `/release_details/${id}?_method=PUT`,\n method: \"POST\",\n data,\n });\n};\nconst updateReleaseAwayFromBase = (data, id) => {\n return requestApi({\n url: `/release_details/${id}?_method=PUT`,\n method: \"POST\",\n data,\n });\n};\nconst updateScrap = (data, id) => {\n return requestApi({\n url: `/release_details/${id}?_method=PUT`,\n method: \"POST\",\n data,\n });\n};\nconst createPrimeData = (formData) => {\n return requestApi({\n url: `/add_prime_parts`,\n method: \"POST\",\n data: formData\n });\n};\nconst updatePrimeData = (formData) => {\n return requestApi({\n url: `/add_prime_parts?_method=PUT`,\n method: \"POST\",\n data: formData\n });\n};\n\nconst getReleaseDocument = (params) => {\n return requestApi({\n url: `/release_documents`,\n method: \"GET\",\n params,\n });\n};\n\nconst operationalStoppage = (params) => {\n return requestApi({\n url: `/operational_stoppage`,\n method: \"GET\",\n params,\n });\n};\nconst getStoppedOrders = (params) => {\n return requestApi({\n url: `/operational_stoppage_orders`,\n method: \"GET\",\n params,\n });\n};\nconst copyPreviousGetPlanningList = (params) => {\n\n return requestApi({\n url: `/closed_list_view_planning`,\n method: \"GET\",\n params,\n });\n}\nconst copyPreviousGetActionList = (params) => {\n return requestApi({\n url: `/closed_list_view_action`,\n method: \"GET\",\n params,\n });\n}\nconst copyPreviousCreateAction = (data) => {\n return requestApi({\n url: `/copy_closed_action`,\n method: \"POST\",\n data,\n });\n}\nconst copyPlanningFile = (data) => {\n return requestApi({\n url: `/copy_file?_method=PUT`,\n method: \"POST\",\n data,\n });\n}\nconst copyPreviousCreatePlanningId = (params) => {\n return requestApi({\n url: `/create_planning`,\n method: \"POST\",\n params,\n });\n}\nconst createPriceBreaks = (formData) => {\n return requestApi({\n url: `/price_breaks`,\n method: \"POST\",\n data: formData\n });\n}\nconst createProjectParts = (formData) => {\n return requestApi({\n url: `/project_parts`,\n method: \"POST\",\n data: formData\n });\n}\nconst updateWOProjectParts = (formData) => {\n return requestApi({\n url: `/project_parts?_method=PUT`,\n method: \"POST\",\n data: formData\n });\n}\nconst updatePLanningProjectParts = (formData) => {\n return requestApi({\n url: `/update_project_part?_method=PUT`,\n method: \"POST\",\n data: formData\n });\n}\nconst linkUnlinkWOProjectParts = (formData) => {\n return requestApi({\n url: `/link_unlink_project_part?_method=PUT`,\n method: \"POST\",\n data: formData\n });\n}\nconst createInitialProjectParts = (formData) => {\n return requestApi({\n url: `/store_project_parts`,\n method: \"POST\",\n data: formData\n });\n}\nfunction deleteWOProjectParts(params) {\n return requestApi({\n url: `/project_parts`,\n method: \"DELETE\",\n params,\n });\n}\n\nfunction deletePlanningProjectParts(params) {\n return requestApi({\n url: `/delete_project_part`,\n method: \"DELETE\",\n params,\n });\n}\nconst getAllPriceBreaks = (params) => {\n return requestApi({\n url: `/price_breaks`,\n method: \"GET\",\n params,\n });\n};\nconst getAllProjectParts = (params) => {\n return requestApi({\n url: `/project_parts`,\n method: \"GET\",\n params,\n });\n};\n\nconst getProjectPartsDropDown = (params) => {\n return requestApi({\n url: `/get_project_part_numbers`,\n method: \"GET\",\n params,\n });\n};\nconst getAllPlanningProjectParts = (params) => {\n return requestApi({\n url: `/parts_lists`,\n method: \"GET\",\n params,\n });\n};\n\nconst getPlanningProjectPartsDetails = (params) => {\n return requestApi({\n url: `/project_part_details`,\n method: \"GET\",\n params,\n });\n};\n\n\nconst getPriceBreaks = (id) => {\n return requestApi({\n url: `/price_breaks/${id}`,\n method: \"GET\",\n // params,\n });\n};\nconst getPriceDetails = (params) => {\n return requestApi({\n url: `/unit_price_details`,\n method: \"GET\",\n params,\n });\n};\n\nconst editPriceBreaks = (formData, id) => {\n return requestApi({\n url: `/price_breaks/${id}?_method=PUT`,\n method: \"POST\",\n data: formData\n });\n};\n\nconst updateAllPriceBreaks = (data) => {\n return requestApi({\n url: `/update_all_price_breaks?_method=PUT`,\n method: \"POST\",\n data\n });\n\n}\n\nconst sendEmailExportRecords = (params) => {\n return requestApi({\n url: `/email_workshop_order_documents`,\n method: \"GET\",\n params,\n });\n\n}\nconst getLineFixedFees = (params) => {\n return requestApi({\n url: `/customer/storage_rates/all`,\n method: \"GET\",\n params,\n })\n}\nconst getCopyInspectionHistory = (params) => {\n return requestApi({\n url: `/action_history`,\n method: \"GET\",\n params,\n })\n}\n\nconst addPlanningMaintenanceOrder = (formData) => {\n return requestApi({\n url: `/add_maintenance_production_order`,\n method: \"POST\",\n data: formData\n });\n};\n\n\nconst getTemplateListing = (params) => {\n return requestApi({\n url: `/templates`,\n method: \"GET\",\n params,\n })\n}\n\nconst addPlanningTemplate = (formData) => {\n return requestApi({\n url: `/templates`,\n method: \"POST\",\n data: formData\n });\n};\nconst addPlanningTemplateParts = (formData) => {\n return requestApi({\n url: `/wst_parts`,\n method: \"POST\",\n data: formData\n });\n};\nconst getTemlatePartsListing = (params) => {\n return requestApi({\n url: `/wst_parts_listing`,\n method: \"GET\",\n params,\n })\n}\nconst updatePartsTemplate = (data) => {\n return requestApi({\n url: `/edit_parts_quantity?_method=PUT`,\n method: \"POST\",\n data\n });\n\n}\n\nconst updateArchiveTemplate = (data) => {\n return requestApi({\n url: `archive_template?_method=PUT`,\n method: \"POST\",\n data\n });\n\n}\n\nfunction deleteTemplateParts(params) {\n return requestApi({\n url: `/delete_wst_parts`,\n method: \"DELETE\",\n params,\n });\n}\nconst addPlanningTemplateService = (formData) => {\n return requestApi({\n url: `/wst_services`,\n method: \"POST\",\n data: formData\n });\n};\nconst getTemlateServiceListing = (params) => {\n return requestApi({\n url: `/wst_services_listing`,\n method: \"GET\",\n params,\n })\n}\nfunction deleteTemplateServices(params) {\n return requestApi({\n url: `/delete_wst_service`,\n method: \"DELETE\",\n params,\n });\n}\n\n\n\nconst addPlanningTemplateEquipment = (formData) => {\n return requestApi({\n url: `/wst_equipments`,\n method: \"POST\",\n data: formData\n });\n};\nconst getTemlateEquipmentListing = (params) => {\n return requestApi({\n url: `/wst_equipments_listing`,\n method: \"GET\",\n params,\n })\n}\nfunction deleteTemplateEquipment(params) {\n return requestApi({\n url: `/delete_wst_equipment`,\n method: \"DELETE\",\n params,\n });\n}\nconst copyTemplateServicesFiles = (formData) => {\n return requestApi({\n url: `/copy_service_file?_method=PUT`,\n method: \"POST\",\n data: formData\n });\n};\n\nconst updateReorderFunctions = (formData) => {\n return requestApi({\n url: `/reorder_actions?_method=PUT`,\n method: \"POST\",\n data: formData\n });\n};\n\n\nconst getPlanningServiceDetails = (params) => {\n return requestApi({\n url: `/get_workshop_service_life`,\n method: \"GET\",\n params,\n })\n}\nconst updatePlanningServiceDetails = (formData) => {\n return requestApi({\n url: `/add_service_life`,\n method: \"POST\",\n data: formData\n });\n};\nconst updatePlanningServiceValue = (formData) => {\n return requestApi({\n url: `/update_service_life_value?_method=PUT`,\n method: \"POST\",\n data: formData\n });\n};\nexport const MaintenanceServices = {\n getPriceDetails,\n getPriceBreaks,\n editPriceBreaks,\n createPriceBreaks,\n updateAllPriceBreaks,\n getAllPriceBreaks,\n getAllCustomerDetails,\n getStoppedOrders,\n getQuotation,\n getWorkshopOrder,\n getBaseStation,\n acceptanceOrder,\n getInduction,\n getCustomerList,\n getCustomerListForStock,\n getReleaseType,\n getReleaseAuth,\n getCapability,\n getHeaderDetails,\n updateQuote,\n getPlatform,\n getBarcodeData,\n updateInductionTabData,\n getSendQuoteStatus,\n planningData,\n updateAwayFromBase,\n deleteFile,\n createQuotation,\n updatePlanningTabData,\n getPlanning,\n updateHeader,\n getAllActions,\n getAllActionComments,\n getTabDetails,\n archiveOrder,\n getActionsDpdOptions,\n createPartRequest,\n addPart,\n createJobRequest,\n fetchDependencies,\n getRequestPartDetails,\n getConditionedParts,\n editPartWOShopRequest,\n deleteRequest,\n getOrderDetails,\n editButton,\n unlockPopup,\n planningClosure,\n updateSaveForLaterData,\n inspectionActionLogic,\n productionStoppage,\n getMaintOrderDetails,\n getReleaseTabDetails,\n updateReleaseTabData,\n updateReleaseAwayFromBase,\n updateScrap,\n getReleaseDocument,\n operationalStoppage,\n copyPreviousGetPlanningList,\n copyPreviousGetActionList,\n getPartNumber,\n createPrimeData,\n copyPreviousCreateAction,\n copyPlanningFile,\n copyPreviousCreatePlanningId,\n sendEmailExportRecords,\n getLineFixedFees,\n getCapabilityRating,\n getCopyInspectionHistory,\n addPlanningMaintenanceOrder,\n getTemplateListing,\n addPlanningTemplate,\n getTemlatePartsListing,\n addPlanningTemplateParts,\n updatePartsTemplate,\n deleteTemplateParts,\n addPlanningTemplateService,\n getTemlateServiceListing,\n deleteTemplateServices,\n addPlanningTemplateEquipment,\n getTemlateEquipmentListing,\n deleteTemplateEquipment,\n updateArchiveTemplate,\n copyTemplateServicesFiles,\n updateReorderFunctions,\n getVehicleList,\n getCustomerAddress,\n updateCustomerAddress,\n getPlanningServiceDetails,\n updatePlanningServiceDetails,\n updatePlanningServiceValue,\n updateServiceLifes,\n updateCopyAllActions,\n createProjectParts,\n getAllProjectParts,\n getAllPlanningProjectParts,\n getPlanningProjectPartsDetails,\n createInitialProjectParts,\n updateWOProjectParts,\n deleteWOProjectParts,\n linkUnlinkWOProjectParts,\n updatePrimeData,\n updatePLanningProjectParts,\n deletePlanningProjectParts,\n getProjectPartsDropDown,\n updateCopyProjectParts\n}\n","import { TABLE_ACTIONS } from \"../actions/table_actions\";\nimport CreateReducer from '../lib/utils/create_reducer';\n\nexport const INITIAL_TABLE_STATE = {\n page: 0,\n totalCount: 5,\n pageSize: 10,\n searchText: null,\n data: [],\n inProgress: false\n}\n\nconst tableReducer = CreateReducer(INITIAL_TABLE_STATE, {\n [TABLE_ACTIONS.CHANGE_STATE](state, action) {\n return {\n ...state,\n [action.name]: action.value,\n };\n },\n [TABLE_ACTIONS.SET_RESPONSE](state, action) {\n return {\n ...state,\n data: action.payload.data,\n totalCount: action.payload.totalCount || action.payload.data.length,\n inProgress: false\n }\n },\n [TABLE_ACTIONS.TOGGLE_IN_PROGRESS_STATE](state, action) {\n return {\n ...state,\n inProgress: !!action.payload || !state.inProgress\n }\n },\n [TABLE_ACTIONS.UPDATE_DATA_IN_LIST](state, action) {\n return {\n ...state,\n data: action.payload,\n }\n }\n});\n\nexport default tableReducer;","export const ICON_COLOUR = \"#70707099\";","// export const BASE_API_URL = process.env.REACT_APP_BASE_API_URL;\n// export const BASE_API_URL = \"https://dev-mropro-api.digiryte.co.uk\"\n// export const BASE_API_URL = process.env.REACT_APP_BASE_API_URL;\n// export const BASE_API_URL = \"https://dev-mropro-api.digiryte.co.uk\"\nexport const BASE_API_URL_BOXP = process.env.REACT_APP_BASE_API_URL_BOXP\nexport const BASE_API_URL_BOXR = process.env.REACT_APP_BASE_API_URL_BOXR\n// export const BASE_API_URL = \"preprod-mropro-api.digiryte.co.uk\"\n// export const BASE_API_URL = \"http://localhost:3000\" ;\n//Change redirect url in reset password flow when changing domain name\n","import React, { createContext, useState } from \"react\";\n\nexport const WorkshopContext = createContext();\n\nfunction WorkshopContextProvider({ children }) {\n const [state, setState] = useState({\n shouldShowWarning: false,\n handleConfirm: () => null,\n warningState: false,\n warningDialogState: false,\n editTabStatus: false,\n controlPlanningPop: false\n });\n const [shouldTabDataUpdate, setShouldTabDataUpdate] = useState(false);\n const [colorStatus, setColorStatus] = useState(null);\n const [stageUpdate, setStageUpdate] = useState(false);\n const [approvalStateCommercial, setApprovalStateCommercial] = useState(false);\n const [editButton, setEditButton] = useState(false);\n const [tabStatus, setTabStatus] = useState(false);\n const [openPopup, setOpenPopup] = useState(false)\n const [EdtabStatus, setEditTabStatus] = useState(false)\n const [conditionState, setConditionState] = useState(false)\n const [tatCount, setTatCount] = useState(null)\n const [stockDetails, setStockDetails] = useState(null)\n const [copyTabStatus, setcopyTabStatus] = useState([]);\n const [copyCalendarStatus, setCopyCalendarStatus] = useState(false);\n const [copyAllActions, setCopyAllactions] = useState(false);\n const [copyPartTabStatus, setcopyPartTabStatus] = useState([]);\n const [copyServiceTabStatus, setcopyServiceTabStatus] = useState([]);\n const [copyEquipmentTabStatus, setCopyEquipmentTabStatus] = useState([]);\n const [flag, setflag] = useState(false)\n const [serviceStatus, setServiceStatus] = useState(false)\n const [equipmentStatus, setEquipmentStatus] = useState(false)\n const [copyPlanningTab, setCopyPlanningTab] = useState({\n status: false,\n releaseA: false,\n releaseB: false,\n releaseAuth: false,\n description: false,\n techData: false,\n inspection: false,\n capability: false,\n image: false,\n service: false,\n projectParts: false\n });\n const [copyIdflag, setCopyIdFlag] = useState(false)\n const [planningCopyId, setCopyPlanningId] = useState({})\n //Line maintenance\n\n const [tableRefresh, setTableRefresh] = useState(false)\n //Procurement\n const [linePartsCopy, setLinePartsCopy] = useState([]);\n const [updateLineValue, setUpdatedlinevalue] = useState([])\n const [deleteState, setDeleteState] = useState(false)\n // Procurement MinMax\n const [lineMinMaxPartsCopy, setLineMinMaxPartsCopy] = useState([]);\n const [updateMinMaxLineValue, setUpdatedMinMaxlinevalue] = useState([])\n const [deleteMinMaxState, setMinMaxDeleteState] = useState(false)\n // Procurement Forcast\n const [lineForecastPartsCopy, setForecastPartsCopy] = useState([]);\n const [updateForecastValue, setUpdatedForecastvalue] = useState([])\n const [deleteForecastState, setForecastDeleteState] = useState(false)\n //Inspection history tab status\n const [copyInspection, setCopyInspection] = useState(false)\n const [copyParts, setCopyParts] = useState([])\n const [copyServices, setCopyServices] = useState([])\n const [serviceFlag, setServiceFlag] = useState(false)\n const [copyEquipments, setCopyEquipments] = useState([]);\n const [equipmentFlag, setEquipmentFlag] = useState(false)\n\n const [planningNullId, setPlanningNullId] = useState(null)\n\n const [copiedJobs, setCopiedJobs] = useState([])\n const [messageTotalCount, setMessagetotalCount] = useState(0)\n const [partsState, setPartsState] = useState({\n shouldShowWarning: false,\n handleConfirm: () => null,\n warningState: false,\n warningDialogState: false,\n editTabStatus: false, isCloseTab: false\n });\n\n\n\n\n\n const value = {\n state,\n setState,\n shouldTabDataUpdate,\n setShouldTabDataUpdate,\n colorStatus,\n setColorStatus,\n stageUpdate,\n setStageUpdate,\n approvalStateCommercial,\n setApprovalStateCommercial,\n editButton,\n setEditButton,\n tabStatus,\n setTabStatus,\n openPopup,\n setOpenPopup,\n EdtabStatus,\n setEditTabStatus,\n conditionState,\n setConditionState,\n tatCount,\n setTatCount,\n stockDetails,\n setStockDetails,\n copyTabStatus,\n setcopyTabStatus,\n copyPlanningTab,\n setCopyPlanningTab,\n copyPartTabStatus,\n setcopyPartTabStatus,\n copyServiceTabStatus,\n setcopyServiceTabStatus,\n flag,\n setflag,\n serviceStatus,\n setServiceStatus,\n copyEquipmentTabStatus,\n setCopyEquipmentTabStatus,\n equipmentStatus,\n setEquipmentStatus,\n copyCalendarStatus,\n setCopyCalendarStatus,\n copyIdflag,\n setCopyIdFlag,\n planningCopyId,\n setCopyPlanningId,\n tableRefresh,\n setTableRefresh,\n linePartsCopy,\n setLinePartsCopy,\n updateLineValue,\n setUpdatedlinevalue,\n lineMinMaxPartsCopy,\n setLineMinMaxPartsCopy,\n updateMinMaxLineValue,\n setUpdatedMinMaxlinevalue,\n deleteState,\n setDeleteState,\n deleteMinMaxState,\n setMinMaxDeleteState,\n copyInspection,\n setCopyInspection,\n copyParts,\n setCopyParts,\n copyServices,\n setCopyServices,\n serviceFlag,\n setServiceFlag,\n copyEquipments,\n setCopyEquipments,\n equipmentFlag,\n setEquipmentFlag,\n copiedJobs,\n setCopiedJobs,\n messageTotalCount,\n setMessagetotalCount,\n planningNullId,\n setPlanningNullId,\n lineForecastPartsCopy,\n setForecastPartsCopy,\n updateForecastValue,\n setUpdatedForecastvalue,\n deleteForecastState,\n setForecastDeleteState,\n copyAllActions,\n setCopyAllactions,\n partsState,\n setPartsState\n };\n\n return (\n \n {children}\n \n );\n}\n\nexport default WorkshopContextProvider;\n","import React from \"react\";\nimport Drawer from '@material-ui/core/Drawer';\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n\nconst MROFullScreenRightDrawer = withStyles(theme => ({\n paperAnchorRight: {\n width: \"calc(100% - 250px)\",\n backgroundColor: \"#ffff\"\n },\n modal:{\n left:'250px !important',\n '& .MuiBackdrop-root':{\n left:'250px'\n }\n }\n}))((props) => {props.open? props.children:

})\n\nexport default MROFullScreenRightDrawer;","import { BASE_API_URL_BOXR } from \"lib/constants\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\n// import { useEffect } from \"react\";\nimport { validateCommaSeparatedEmail, validateEmail } from \"./common_utils\";\n\nexport const downloadFileFromUrl = (fileUrl) => {\n const link = document.createElement(\"a\");\n link.href = `${BASE_API_URL_BOXR}${fileUrl}`;\n document.body.append(link);\n link.click();\n document.body.removeChild(link);\n};\nexport const downloadCsvFileFromUrl = (fileUrl) => {\n const link = document.createElement(\"a\");\n link.href = `${BASE_API_URL_BOXP}${fileUrl}`;\n document.body.append(link);\n link.click();\n document.body.removeChild(link);\n};\nexport const downloadCsvFileFromUrlWithBase = (fileUrl) => {\n const link = document.createElement(\"a\");\n link.href = `${BASE_API_URL_BOXP}${fileUrl}`;\n document.body.append(link);\n link.click();\n document.body.removeChild(link);\n};\n\nexport const downloadPdfFileFromUrl = (fileUrl) => {\n const link = document.createElement(\"a\");\n link.href = `${fileUrl}`;\n document.body.append(link);\n link.click();\n document.body.removeChild(link);\n};\n\nexport const showHyphenIfValueNull = (prop) => (prop ? prop : \"-\");\n\nconst addHyphenToNullFieldsInObj = (obj) => {\n Object.keys(obj).forEach((key) => {\n if (obj[key] === null || obj[key] === \"\") {\n obj[key] = \"-\";\n }\n });\n return obj;\n};\n\nexport const addHyphenToNullFields = (arr = []) => {\n return arr.map((el) => addHyphenToNullFieldsInObj(el));\n};\n\nlet userDetail = JSON.parse(sessionStorage.getItem(\"user\"));\nexport const userDetails = {\n userId: userDetail?.id,\n userStamp: userDetail?.stamp_number,\n};\n\nexport const fixedInputValueTo2DecimalPlaces = function (value) {\n if (typeof value !== \"string\") return;\n return value.indexOf(\".\") >= 0\n ? value.substr(0, value.indexOf(\".\")) + value.substr(value.indexOf(\".\"), 3)\n : value;\n};\nexport const fixedInputValueTo3DecimalPlaces = function (value) {\n // if (typeof value !== \"string\") return;\n return value.indexOf(\".\") >= 0\n ? value.substr(0, value.indexOf(\".\")) + value.substr(value.indexOf(\".\"), 4)\n : value;\n};\n\nexport const validateFormData = (\n formData,\n optionalFields = [],\n email = \"\",\n dateTime = \"\"\n) => {\n let valid = true;\n let error = {};\n\n for (const pair of formData.entries()) {\n const key = pair[0];\n const value = pair[1];\n\n // console.log(\"value is===================\", optionalFields)\n\n if (value === \"select\" || value === \"Search\") {\n error[key] = true;\n valid = false;\n }\n\n if (dateTime != \"\" && key === dateTime) {\n error[key] = true;\n valid = false;\n }\n\n if (\n email !== \"\" &&\n key === email &&\n !validateCommaSeparatedEmail(formData.get(email).trim())\n ) {\n error[key] = true;\n valid = false;\n }\n\n if (value === \"\" && !optionalFields.includes(key)) {\n error[key] = true;\n valid = false;\n }\n }\n\n return { error, valid };\n};\n\nexport const removeSecFromDateTime = (date) => {\n return date?.split(\":\").slice(0, -1).join(\":\");\n};\n","import React from \"react\";\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Switch from \"@material-ui/core/Switch\";\n\nconst PositiveSwitch = withStyles(theme=> ({\n switchBase: {\n '&$checked': {\n color: \"#4FC605\",\n },\n '&$checked + $track': {\n backgroundColor: \"#4FC605\",\n },\n },\n checked: {},\n track: {},\n}))(Switch);\n\nexport default PositiveSwitch;","import requestApi from \"lib/services/api/common/boxp_api_client\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\nimport requestrApi from \"lib/services/api/common/boxr_api_client\";\nimport request from \"lib/services/api/common/api_client\";\n// import { BASE_API_URL_BOXR } from \"lib/constants\";\n\n\nconst getAllDropDown = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_dependency`,\n method: \"GET\",\n params\n });\n};\nconst createAction = (formData) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_imp`,\n method: \"POST\",\n data: formData\n });\n};\nconst getInspAuth = () => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/insp_auth`,\n method: \"GET\",\n });\n};\nconst getActionPhotos = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_photo/${id}`,\n method: \"GET\",\n });\n};\nconst getSelectedAction = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_imp/${id}`,\n method: \"GET\"\n });\n};\nconst getActionCertificate = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_certificate/${id}`,\n method: \"GET\",\n });\n};\nconst getActionComments = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_comment/${id}`,\n method: \"GET\",\n });\n};\nconst getAllActionStages = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_stages`,\n method: \"GET\",\n params\n });\n};\nconst getStageAction = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_stage_details`,\n method: \"GET\",\n params\n });\n};\n\nconst addCertificate = (formData) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_certificate`,\n method: \"POST\",\n data: formData,\n });\n};\nconst addPhotos = (formData) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_photo`,\n method: \"POST\",\n data: formData,\n });\n};\nconst addComments = (formData) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_comment`,\n method: \"POST\",\n data: formData,\n });\n};\nconst updateAction = (data, id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_imp/${id}?_method=PUT`,\n method: \"POST\",\n data,\n });\n};\nconst updateActionVerification = (data, id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_verification/${id}?_method=PUT`,\n method: \"POST\",\n data,\n });\n};\nconst editcomments = (data, id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_comment/${id}?_method=PUT`,\n method: \"POST\",\n data,\n });\n};\nconst addOldStagesToAction = (formData) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/add_stage_to_action`,\n method: \"POST\",\n data: formData,\n });\n};\nconst addLibrary = (formData) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/add_stage_to_action`,\n method: \"POST\",\n data: formData,\n });\n};\nconst updateStagePosition = (formData) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/update_stage_position?_method=PUT`,\n method: \"POST\",\n data: formData,\n });\n};\nconst deleteAction = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/action_imp/${id}`,\n method: \"DELETE\",\n });\n};\nconst deleteStage = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/delete_stage/${id}`,\n method: \"DELETE\",\n });\n};\nconst editStage = (data) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/edit_stage?_method=PUT`,\n method: \"POST\",\n data,\n });\n};\n\nconst getHistoryData = (params) => {\n return requestApi({\n url: `/certification_history`,\n method: \"GET\",\n params\n });\n};\n\nconst getManHoursData = (params) => {\n return requestApi({\n url: `/man_hours_history`,\n method: \"GET\",\n params\n });\n};\nexport const InspectionServices = {\n getAllDropDown,\n createAction,\n updateAction,\n deleteAction,\n getInspAuth,\n getActionPhotos,\n getActionCertificate,\n addCertificate,\n addPhotos,\n getSelectedAction,\n addComments,\n editcomments,\n getActionComments,\n updateActionVerification,\n addOldStagesToAction,\n addLibrary,\n getAllActionStages,\n getStageAction,\n updateStagePosition,\n deleteStage,\n editStage,\n getHistoryData,\n getManHoursData\n\n};\n","import React, { useEffect, useState } from \"react\";\nimport MROButton from \"../../buttons\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Close as CloseIcon } from \"@material-ui/icons\";\nimport { ReactComponent as UploadIcon } from \"../../../assets/icons/UploadDoc.svg\";\nimport DataService from \"../../../lib/services/api\";\nimport Document from \"./pdf.png\";\nimport Mov from \"./mov (1).svg\"\nimport Doc from \"./doc (1).svg\"\nimport ImageFile from \"./Image.png\";\nimport CSVImage from \"./xls.svg\"\nimport { BASE_API_URL_BOXR } from \"../../../lib/constants\";\nimport clxc from \"clsx\";\nimport { Box, CircularProgress, Typography, useTheme } from \"@material-ui/core\";\nimport { useContext } from \"react\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport pptFile from \"./ppt.svg\"\nimport docFile from \"./doc.svg\"\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& > *\": {\n margin: theme.spacing(1),\n },\n },\n input: {\n display: \"none\",\n },\n fileLabel: {\n color: theme.palette.primary.main,\n marginBottom: \"5px\",\n display: \"block\",\n },\n fileView: {\n padding: \"15px\",\n border: \"1px solid \" + theme.palette.primary.main,\n minHeight: \"136px\",\n borderRadius: \" 18px\",\n marginBottom: \"12px\",\n \"& ul\": {\n display: \"flex\",\n padding: \"0\",\n listStyle: \"none\",\n flexWrap: \"wrap\",\n \"& li\": {\n margin: \"0 10px\",\n textAlign: \"center\",\n \"& div\": {\n width: \"60px\",\n height: \"60px\",\n position: \"relative\",\n marginBottom: \"10px\",\n \"& img\": {\n maxWidth: \"100%\",\n height: \"-webkit-fill-available\",\n objectFit: \"cover\",\n },\n \"& div\": {\n position: \"absolute\",\n top: \"0\",\n right: \"0\",\n width: \"20px\",\n backgroundColor: \"#F44336\",\n height: \"20px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"#fff\",\n borderRadius: \"50%\",\n },\n },\n \"& span\": {\n width: \"60px\",\n display: \"-webkit-box\",\n WebkitLineClamp: \"1\",\n WebkitBoxOrient: \"vertical\",\n overflow: \"hidden\",\n },\n },\n },\n },\n messagefileView: {\n\n padding: \"15px\",\n border: \"1px solid \" + theme.palette.primary.main,\n minHeight: \"25px\",\n borderRadius: \" 18px\",\n marginBottom: \"12px\",\n \"& ul\": {\n display: \"flex\",\n padding: \"0\",\n listStyle: \"none\",\n flexWrap: \"wrap\",\n marginLeft: '1px',\n \"& li\": {\n margin: \"0 3px\",\n textAlign: \"center\",\n \"& div\": {\n width: \"30px\",\n height: \"30px\",\n position: \"relative\",\n marginBottom: \"10px\",\n \"& img\": {\n maxWidth: \"100%\",\n height: \"-webkit-fill-available\",\n objectFit: \"cover\",\n },\n \"& div\": {\n position: \"absolute\",\n top: \"0\",\n right: \"0\",\n width: \"12px\",\n backgroundColor: \"#F44336\",\n height: \"12px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"#fff\",\n borderRadius: \"50%\",\n },\n },\n \"& span\": {\n width: \"60px\",\n display: \"-webkit-box\",\n WebkitLineClamp: \"1\",\n WebkitBoxOrient: \"vertical\",\n overflow: \"hidden\",\n },\n },\n },\n },\n fileError: {\n color: \"#f44336\",\n },\n}));\n\nfunction FileUpload(props) {\n const classes = useStyles();\n const {\n width,\n accept,\n name,\n action,\n multiple,\n defaultValue,\n process,\n id,\n label,\n error,\n onDelete,\n showBorderOnNoFiles,\n viewOnly,\n uploadButtonView,\n APIUrl,\n isDeleting,\n isLoading,\n startIcon,\n messageLoading,\n chatLoading,\n component,\n } = props;\n\n const [files, setFiles] = useState([]);\n const [selectedFileId, setSelectedFileId] = useState(null);\n const message = useContext(ToastMessageContext)\n const theme = useTheme();\n // const fileList = Array.from(files || [])\n useEffect(() => {\n if (process && files && files[0] && id) {\n const formData = new FormData();\n formData.append(name, files[0]);\n formData.append(\"id\", id);\n DataService.updateData(formData, \"\", \"authDoc\").then((res) => { });\n }\n }, [process]);\n\n\n useEffect(() => {\n if (messageLoading === false || chatLoading === false) {\n setFiles([])\n }\n }, [messageLoading, chatLoading])\n\n\n const single_file = \"application/pdf\"\n const multiple_file = \".docx, .doc, .xlsx, .xls, .csv, .pdf, .ppt,.pptx, .jpg,.jpeg, .png\"\n const video_file = [\"docx\", \"doc\", \"xlsx\", \"xls\", \"csv\", \"pdf\", \"ppt\", \"pptx\", \"jpg\", \"jpeg\", \"png\", \"heif\", \"hevc\", \"mov\", \"mp4\", \"mpg\", \"mpeg\"]\n\n\n\n\n // const handleChange = (e) => {\n // let bytes = e.target.files[0].size\n // let fileSize = Math.round(bytes / (1024 * 1024))\n\n // if (multiple && fileSize < 20) {\n // const tempFiles = e.target.files;\n // setFiles((prevState) => [...prevState, ...tempFiles]);\n // } else if (!multiple && fileSize < 20) {\n // setFiles(Array.from(e.target.files));\n // } else {\n // message.showToastMessage({\n // message: \"File too large! - Greater than 20MB\",\n // variant: \"error\"\n // })\n // }\n\n\n // };\n const handleDropFiles = (e) => {\n e.preventDefault();\n const selectedFiles = Array.from(e.target.files || e.dataTransfer.files);\n const fileName = selectedFiles[0].name;\n const extension = fileName.split(\".\").pop();\n\n let isSupported;\n if (accept === \"single\") {\n isSupported = [\"pdf\"].includes(extension?.toLowerCase());\n }\n else if (accept === \"multiple\") {\n isSupported = [\"docx\", \"doc\", \"xlsx\", \"xls\", \"csv\", \"pdf\", \"ppt\", \"pptx\", \"jpg\", \"jpeg\", \"png\"].includes(extension?.toLowerCase());\n }\n else {\n isSupported = [\"docx\", \"doc\", \"xlsx\", \"xls\", \"csv\", \"pdf\", \"ppt\", \"pptx\", \"jpg\", \"jpeg\", \"png\", \"heif\", \"hevc\", \"mov\", \"mp4\", \"mpg\", \"mpeg\"].includes(extension?.toLowerCase());\n console.log(accept, isSupported, extension, fileName)\n }\n\n if (!isSupported) {\n message.showToastMessage({\n message: \"File not supported .\",\n variant: \"error\"\n });\n\n } else {\n handleChange(e)\n }\n }\n const handleChange = (e) => {\n\n const selectedFiles = Array.from(e.target.files || e.dataTransfer.files);\n\n\n const totalFiles = (defaultValue ? defaultValue?.length : 0) + files.length + selectedFiles.length;\n // Check if the total number of files exceeds the limit\n if (totalFiles > 20) {\n message.showToastMessage({\n message: \"You can only upload a maximum of 20 files.\",\n variant: \"error\"\n });\n return;\n }\n\n const validFiles = selectedFiles.filter((file) => {\n const bytes = file.size;\n const fileSize = Math.round(bytes / (1024 * 1024));\n if (fileSize >= 20) {\n message.showToastMessage({\n message: `File \"${file.name}\" is too large! - Greater than 20MB`,\n variant: \"error\"\n });\n return false;\n }\n return true;\n });\n\n if (multiple) {\n setFiles((prevState) => [...prevState, ...validFiles]);\n } else if (validFiles.length > 0) {\n setFiles([validFiles[0]]);\n }\n\n };\n\n\n const removeFile = (index) => () => {\n let _files = files.filter((file, i) => {\n return i !== index;\n });\n setFiles(_files);\n };\n\n useEffect(() => {\n typeof props.setFiles === \"function\" && props.setFiles([...files]);\n }, [files.length]);\n return (\n

\n {label && (\n \n {\" \"}\n {label || \"\"}\n \n )}\n\n {isLoading ? (\n \n \n \n ) : files?.length || defaultValue?.length || showBorderOnNoFiles ? (\n
!viewOnly && !uploadButtonView && handleDropFiles(e)}\n onDragOver={(event) => event.preventDefault()}>\n {showBorderOnNoFiles && !defaultValue?.length && !files?.length && (\n \n No files found\n \n )}\n
    \n {defaultValue?.length\n ? defaultValue?.map((file, index) => {\n const fileName = file.filename ?? `Docs ${index + 1}`;\n let extension = file?.filename?.split(\".\")[1]\n let uploadImage = \"\"\n if ([\"docx\", \"doc\"].includes(extension?.toLowerCase()))\n uploadImage = docFile;\n if ([\"xlsx\", \"xls\", \"csv\"].includes(extension?.toLowerCase()))\n uploadImage = CSVImage;\n if ([\"pdf\"].includes(extension?.toLowerCase()))\n uploadImage = Document;\n if ([\"ppt\", \"pptx\"].includes(extension?.toLowerCase()))\n uploadImage = pptFile;\n if ([\"hevc\", \"mov\", \"mp4\", \"mpg\", \"mpeg\"].includes(extension?.toLowerCase()))\n uploadImage = file.url\n\n const fileExtension = file?.filename?.split(\".\")[1];\n if (\n [\"jpg\", \"jpeg\", \"png\", \"heif\"].includes(\n fileExtension?.toLowerCase()\n )\n )\n uploadImage = `${APIUrl ?? BASE_API_URL_BOXR}${file?.url}`;\n return (\n \n window.open(`${APIUrl ?? BASE_API_URL_BOXR}${file?.url}`)\n }\n style={{ cursor: \"pointer\" }}\n >\n
    \n {\n [\"hevc\", \"mov\", \"mp4\", \"mpg\", \"mpeg\"].includes(extension?.toLowerCase()) ?
    \n {fileName}\n \n );\n })\n : null}\n {files.map((file, index) => {\n const fileName = file[0] && file[0]?.name?.split(\".\")[0];\n const objectUrl = URL.createObjectURL(file);\n let uploadImage =\n file.type === \"application/pdf\" ? Document : file.type === \"application/msword\" ? docFile : file.type === \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" ? docFile : file.type === \"text/csv\" ? CSVImage : file.type === \"application/vnd.ms-excel\" ? CSVImage : file.type === \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" ? CSVImage : file.type === \"application/vnd.ms-powerpoint\" ? pptFile : file.type === \"application/vnd.openxmlformats-officedocument.presentationml.presentation\" ? pptFile : objectUrl;\n if (file[0] && file[0].type?.split(\"/\")[0] === \"image\")\n uploadImage = URL.createObjectURL(file[0]);\n return (\n
  • \n
    \n {\n file.type.includes('video') ?
    \n {fileName ?? file.name}\n
  • \n );\n })}\n
\n
\n ) : null}\n {!viewOnly && (\n <>\n {!uploadButtonView && (\n
\n
\n \n
\n \n
\n )}\n \n )}\n
\n );\n}\n\nexport default FileUpload;\n","import React, { useState, useEffect } from 'react';\n\nexport default function useDebounce(value, delay = 500) {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(\n () => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n return () => {\n clearTimeout(handler);\n };\n },\n [value]\n );\n return debouncedValue;\n}","import React, { useContext, useEffect, useState } from \"react\";\nimport { ButtonGroup } from \"@material-ui/core\";\nimport { Button } from \"@material-ui/core\";\nimport MROTextField from \"./form_components/TextField\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport RemoveIcon from \"@material-ui/icons/Remove\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\nconst useStyles = makeStyles(() => ({\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n}));\n\nfunction QuantityCounter(props) {\n const classes = useStyles();\n const {\n name,\n disabled,\n label,\n placeholder,\n required,\n type,\n autoFocus,\n error,\n helperText,\n onChange,\n value,\n qty,\n setQty,\n style,\n setError,\n minQty,\n number,\n shouldNotAcceptZero,\n step,\n marginR\n } = props;\n\n const message = useContext(ToastMessageContext);\n\n const [minimumQty, setMinimumQty] = useState(0);\n\n useEffect(() => {\n if (minQty) {\n setMinimumQty(minQty)\n }\n }, [minQty])\n\n useEffect(() => {\n if (shouldNotAcceptZero && qty === 0) {\n message.showToastMessage({\n open: true,\n message: `${label.replace(\"*\", \"\")} must be greater than 0`,\n variant: \"error\",\n });\n }\n }, [shouldNotAcceptZero, label, qty])\n\n return (\n
\n {\n typeof setError === \"function\" && setError();\n setQty(parseInt(e.target.value.replace(/[A-Za-z]/g, \"\")));\n }}\n InputLabelProps={{ shrink: true }}\n value={isNaN(qty) ? \"\" : qty}\n fullWidth={true}\n style={{ marginRight: marginR ? marginR : \"15px\", ...style }}\n />\n\n \n {\n typeof setError === \"function\" && setError();\n typeof setQty === \"function\" && setQty((prevState) => (prevState > minimumQty ? step ? prevState - 0.5 : prevState - 1 : prevState));\n }}\n style={{ width: \"46px\", height: \"36px\" }}\n >\n \n \n {\n typeof setError === \"function\" && setError();\n typeof setQty === \"function\" && setQty((prevState) => (isNaN(prevState) ? 1 : step ? prevState + 0.5 : prevState + 1));\n }}\n style={{ width: \"46px\", height: \"36px\" }}\n >\n \n \n \n
\n );\n}\n\nexport default QuantityCounter;\n","\nimport requestApi from \"../common/boxp_api_client\";\nimport requestrApi from \"../common/boxr_api_client\";\n\nconst getPerformance = (params) => {\n return requestApi({\n url: \"/performance\",\n method: \"GET\",\n params,\n })\n}\nconst getPartsDetails = (params) => {\n return requestrApi({\n url: \"/part_requests/operation_request_listing\",\n method: \"GET\",\n params,\n })\n}\nconst getPartsTools = (params) => {\n return requestrApi({\n url: \"/operation_fields/operation_toolings\",\n method: \"GET\",\n params,\n })\n}\nconst getWorkOrderSection = (params) => {\n return requestrApi({\n url: \"/operation_fields/fetch_sections\",\n method: \"GET\",\n params,\n })\n}\nconst getWorkOrderSectionDetails = (params) => {\n return requestrApi({\n url: \"/operation_fields/fetch_fields\",\n method: \"GET\",\n params,\n })\n}\n\nconst updateWorkOrderSectionDetails = (data) => {\n return requestrApi({\n url: \"/operation_fields/save_operation_fields\",\n method: \"PUT\",\n data,\n })\n}\n\nconst getPerformanceListing = (params) => {\n return requestApi({\n url: \"/performance_listing\",\n method: \"GET\",\n params,\n })\n}\n\nconst getMaintHoursDetails = (params) => {\n return requestApi({\n url: \"/maint_hours\",\n method: \"GET\",\n params,\n })\n\n\n}\n\nconst getActivityDetails = (params) => {\n return requestApi({\n url: \"/line_activity\",\n method: \"GET\",\n params,\n })\n\n\n}\n\nconst getDownloadCSVMaintHrs = (params) => {\n return requestApi({\n url: \"/download_csv_file\",\n method: \"GET\",\n params,\n })\n\n}\nconst getPopUpDetails = (params) => {\n return requestApi({\n url: \"/dashboard_popup\",\n method: \"GET\",\n params,\n })\n\n}\nconst updateVerifyState = (data) => {\n return requestApi({\n url: `/update_verify_status?_method=PUT`,\n method: \"POST\",\n data,\n });\n};\nconst getStationBoardEventList = (params) => {\n return requestApi({\n url: \"/lm_events_list\",\n method: \"GET\",\n params,\n })\n\n}\nconst updateNotCallOutStatus = (data) => {\n return requestApi({\n url: `/update_not_called_out_status?_method=PUT`,\n method: \"POST\",\n data,\n });\n};\nconst updateCancelEvent = (data) => {\n return requestApi({\n url: `/cancel_event?_method=PUT`,\n method: \"POST\",\n data,\n });\n}; const updateStandNumber = (data) => {\n return requestApi({\n url: `/update_stand_number?_method=PUT`,\n method: \"POST\",\n data,\n });\n};\nconst updateAllocatedEngineers = (data) => {\n return requestApi({\n url: `/update_allocated_engineers`,\n method: \"POST\",\n data,\n });\n};\nconst CreateLineEvents = (formData) => {\n return requestApi({\n url: '/create_event_station_board',\n method: 'POST',\n data: formData\n })\n}\nexport const LineMaintainenceServices = {\n\n getPerformance,\n getPerformanceListing,\n getMaintHoursDetails,\n getDownloadCSVMaintHrs,\n getActivityDetails,\n getPopUpDetails,\n updateVerifyState,\n getStationBoardEventList,\n updateNotCallOutStatus,\n CreateLineEvents,\n updateCancelEvent,\n updateAllocatedEngineers,\n updateStandNumber,\n getPartsDetails,\n getPartsTools,\n getWorkOrderSection,\n getWorkOrderSectionDetails,\n updateWorkOrderSectionDetails\n}","module.exports = __webpack_public_path__ + \"static/media/GreenCopyIcon.71e594cb.svg\";","module.exports = __webpack_public_path__ + \"static/media/CopyFiles.e5a26d2d.svg\";","import React, { useState, useEffect } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport InputBase from \"@material-ui/core/InputBase\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { ICON_COLOUR } from \"../lib/constants/style_constants\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { ClearAll, Clear } from \"@material-ui/icons\";\nimport { IconButton } from \"@material-ui/core\";\n\nconst useStyles = makeStyles(theme => ({\n wrapper: {\n backgroundColor: \"#fff\",\n padding: theme.spacing(1, 2),\n border: \"1px solid #d5d5d5\",\n margin: \"1% 0\",\n },\n divider: {\n margin: '8px 0'\n },\n filters: {\n padding: \"10px 0\",\n '& .filter': {\n paddingRight: theme.spacing(3),\n }\n }\n}));\n\nfunction SearchBarWithFilters(props) {\n const classes = useStyles();\n const { handleSearch, searchText, noSearch, title, boxShadow, padding, placeholder } = props;\n\n const clearSearch = () => {\n handleSearch('')\n }\n\n return (\n
\n {\n !noSearch &&\n <>\n handleSearch(e.target.value)}\n value={searchText}\n startAdornment={}\n endAdornment={!!searchText?.length ? \n \n : null}\n />\n {props.children && }\n \n }\n
\n {props.children && {title ?? \"Filters\"}}\n {props.children}\n
\n
\n )\n}\n\nexport default SearchBarWithFilters;","import requestrApi from \"./common/boxr_api_client\";\n\nconst creationUrl = {\n training: '/trainings',\n competency: '/competencies',\n storageCondition: '/storage_conditions',\n procedureCategories: '/procedure_categories',\n aogSMS: '/line_customers/create_aog_sms_contacts',\n kpiEmail: '/line_customers/create_kpi_emails',\n reportEmail: '/line_customers/create_report_emails',\n competencyBaseList: '/competencies/base_applications',\n competencyGroupList: '/competencies/group_applications',\n trainingBaseList: '/trainings/base_applications',\n trainingGroupList: '/trainings/group_applications',\n delayCodes: '/line_customers/create_delay_codes',\n fixedPriceListGroup: '/line_customers/create_aircraft_type_groups',\n fixedPriceList: '/line_customers/create_fixed_price_lists',\n approvalType: '/approval_types',\n companyApprovals: '/company_approvals',\n approvalTypeGroup: '/group_types',\n approvalTypePermission: '/approval_types/create_type_permissions',\n typePermissions: '/approval_types/map_aircraft_permissions',\n approvalTypePerm: '/group_types/map_approval_types',\n authorisation: '/auth_lists',\n customerInfo: '/line_customers/create_customer_info',\n taskLibrary: '/task_libraries',\n vehicles: '/vehicles',\n baseStationChecks: '/base_stations/map_station_checks',\n competencyCategory: '/competencies/create_category',\n competencyQuestion: '/competencies/create_question',\n handoverCheck: '/handovers/create_setup',\n scheduledChecks: '/line_customers/save_scheduled_check_hours',\n lineCustomers: '/line_customers/listing_line_customers',\n createLineCustomer: '/line_customers/create_line_customers',\n updateLineCustomer: '/line_customers/update_line_customers',\n vendorParts: '/vendor_parts',\n saveTooling: '/operation_fields/save_toolings',\n operationalTasks: '/operational_tasks',\n uploadDocs: '/operation_fields/upload_docs',\n primaryParts: '/primary_parts',\n currencies: '/currencies',\n saveCertificates: '/primary_parts/save_certificates',\n formOne: '/form_ones/organisation_form_one',\n createContact: \"/customer/contact\",\n createEmail: \"/customer/report_emails\",\n createCheckRate: \"/check_rates\",\n createFixedFees: \"/line_customers/create_lc_app_type_rates\",\n createBasedAircraft: \"line_customers/create_based_ac_group\"\n\n}\n\nfunction createData(formData, section) {\n\n return requestrApi({\n url: creationUrl[section],\n method: 'POST',\n data: formData\n })\n}\n\nexport default createData;\n","import updateData from \"./update_data_service\";\nimport createData from \"./create_data_service\";\nimport deleteData from \"./delete_data\";\nimport { getData } from \"./listing_service\";\nimport { updateDataWithParams } from './update_data_service';\n\nconst DataService = {\n getData,\n createData,\n updateData,\n deleteData,\n updateDataWithParams,\n}\nexport default DataService;","import requestApi from \"lib/services/api/common/boxp_api_client\";\n\nfunction getActionIndicators(params) {\n return requestApi({\n url: `/action_indicator`,\n method: \"GET\",\n params,\n });\n}\nfunction getApprovedPosition(params) {\n return requestApi({\n url: `/approved_position`,\n method: \"GET\",\n params,\n });\n}\nfunction getCurrentPosition(params) {\n return requestApi({\n url: `/current_position`,\n method: \"GET\",\n params,\n });\n}\n\nfunction getActionBreakdown(params) {\n return requestApi({\n url: `/action_breakdown`,\n method: \"GET\",\n params\n })\n}\nfunction getEstimationDeparture(params) {\n return requestApi({\n url: `/estimated_departure`,\n method: \"GET\",\n params\n })\n}\nfunction getListItems(params) {\n return requestApi({\n url: `/line_items`,\n method: \"GET\",\n params: params\n })\n\n}\nfunction getExceptionTableListing(params) {\n return requestApi({\n url: `/action_overview`,\n method: \"GET\",\n params: params\n })\n\n}\n\nfunction getApprovalSubmissionTable(params) {\n return requestApi({\n url: `/submission_table`,\n method: \"GET\",\n params\n })\n}\nfunction getApprovalSubmissionDocument(params) {\n return requestApi({\n url: `/approval_documents`,\n method: \"GET\",\n params\n })\n}\nfunction downloadSubmissionDocument(params) {\n return requestApi({\n url: `/download_approval_documents`,\n method: \"GET\",\n params\n })\n}\n\nfunction getStandardPricing(params) {\n return requestApi({\n url: `/get_standard_pricing`,\n method: \"GET\",\n params\n })\n}\nfunction getHistoricalJobs(params) {\n return requestApi({\n url: `/historical_jobs`,\n method: \"GET\",\n params\n })\n}\nfunction getHistoricalJobsDetails(params) {\n return requestApi({\n url: `/historical_job_details`,\n method: \"GET\",\n params\n })\n}\n\n\n\nfunction updateApprovalStatus(data) {\n return requestApi({\n url: `/action_approval?_method=PUT`,\n method: \"POST\",\n data,\n });\n}\nfunction createNewApproval(data) {\n return requestApi({\n url: `/create_new_approval`,\n method: \"POST\",\n data,\n });\n}\nfunction customerApproval(data) {\n return requestApi({\n url: `/approve_customer_approval?_method=PUT`,\n method: \"POST\",\n data,\n });\n}\nconst deleteApproval = (params, id) => {\n return requestApi({\n url: `/delete_approved_position/${id}`,\n method: \"DELETE\",\n params\n });\n};\n\nfunction getNextStage(formData) {\n return requestApi({\n url: `/next_stage?_method=PUT`,\n method: \"POST\",\n data: formData\n });\n}\n\nfunction updateCustomerSupply(formData) {\n return requestApi({\n url: `/update_customer_supply?_method=PUT`,\n method: \"POST\",\n data: formData\n });\n}\nfunction updateApprovalActionStatus(formData) {\n return requestApi({\n url: `/approve_all_actions?_method=PUT`,\n method: \"POST\",\n data: formData\n });\n}\nfunction reviseEstDeparture(formData) {\n return requestApi({\n url: `/revise_estimate_departure`,\n method: \"POST\",\n data: formData\n });\n}\n\nexport const CommercialServices = {\n getActionIndicators,\n updateApprovalStatus,\n getApprovedPosition,\n getCurrentPosition,\n createNewApproval,\n customerApproval,\n deleteApproval,\n getActionBreakdown,\n getListItems,\n getNextStage,\n updateCustomerSupply,\n updateApprovalActionStatus,\n getEstimationDeparture,\n reviseEstDeparture,\n getApprovalSubmissionTable,\n getApprovalSubmissionDocument,\n downloadSubmissionDocument,\n getExceptionTableListing,\n getStandardPricing,\n getHistoricalJobs,\n getHistoricalJobsDetails\n\n\n};\n","import requestApi from \"../../common/boxp_api_client\";\n\n\n\n\n//Shift Patterns\n\nconst getShiftCalendarDetails = (params) => {\n return requestApi({\n url: '/shift_plan',\n method: 'GET',\n params\n })\n}\n\nconst getShiftWeeklyDetails = (params) => {\n return requestApi({\n url: '/week_view_shift_plan',\n method: 'GET',\n params\n })\n}\n\nconst getShiftLeaveDetails = (params) => {\n return requestApi({\n url: '/leave_request',\n method: 'GET',\n params\n })\n}\n\n\nconst getShiftOvertimeDetails = (params) => {\n return requestApi({\n url: '/overtime_request',\n method: 'GET',\n params\n })\n}\n\n\nfunction fetchUsers(params) {\n return requestApi({\n url: '/fetch_users',\n method: 'GET',\n params: params\n })\n\n}\nconst createLeaveRequest = (formData) => {\n return requestApi({\n url: '/leave_request',\n method: 'POST',\n data: formData\n })\n}\n\nconst createOvertimeRequest = (formData) => {\n return requestApi({\n url: '/overtime_request',\n method: 'POST',\n data: formData\n })\n}\n\n\n\nconst getShiftDayListingDetails = (params) => {\n return requestApi({\n url: '/shift_plan_listing',\n method: 'GET',\n params\n })\n}\n\nconst getLeaveReviewPage = (params) => {\n return requestApi({\n url: '/leave_review',\n method: 'GET',\n params\n })\n}\nconst getOvertimeReviewPage = (params) => {\n return requestApi({\n url: '/overtime_review',\n method: 'GET',\n params\n })\n}\nconst postLeaveActionRequest = (formData) => {\n return requestApi({\n url: '/leave_actions?_method=PUT',\n method: 'POST',\n data: formData\n })\n}\nconst getShiftUsedHoursDetails = (params) => {\n return requestApi({\n url: '/get_shift_user_hours',\n method: 'GET',\n params\n })\n}\nconst postOverTimeActionRequest = (formData) => {\n return requestApi({\n url: '/overtime_actions',\n method: 'POST',\n data: formData\n })\n}\nconst getLeaveRequestDetails = (params) => {\n return requestApi({\n url: '/leave_request_popup',\n method: 'GET',\n params\n })\n}\nconst getOvertimeRequestDetails = (params) => {\n return requestApi({\n url: '/overtime_request_popup',\n method: 'GET',\n params\n })\n}\n\n\nconst getStaffLeaveDetails = (params) => {\n return requestApi({\n url: '/staff_leave',\n method: 'GET',\n params\n })\n}\n\nconst getStaffOverTimeDetails = (params) => {\n return requestApi({\n url: '/staff_overtime',\n method: 'GET',\n params\n })\n}\nconst getHomePageMyLeaveSectionDetails = (params) => {\n return requestApi({\n url: '/leave_section_details',\n method: 'GET',\n params\n })\n}\nconst getHomePageMyOvertimeDetails = (params) => {\n return requestApi({\n url: '/staff_leave',\n method: 'GET',\n params\n })\n}\n\nconst deleteLeaveRequest = (id) => {\n\n return requestApi({\n url: `/leave_request/${id}`,\n method: 'DELETE',\n })\n}\n\n\nconst deleteOverTimeRequest = (id) => {\n\n return requestApi({\n url: `/overtime_request/${id}`,\n method: 'DELETE',\n })\n}\n\n\n\n\nconst ShiftServices = {\n\n getShiftCalendarDetails,\n getShiftLeaveDetails,\n getShiftOvertimeDetails,\n fetchUsers,\n createLeaveRequest,\n getShiftWeeklyDetails,\n getShiftDayListingDetails,\n getLeaveReviewPage,\n postLeaveActionRequest,\n getShiftUsedHoursDetails,\n createOvertimeRequest,\n getOvertimeReviewPage,\n postOverTimeActionRequest,\n getLeaveRequestDetails,\n getOvertimeRequestDetails,\n getStaffLeaveDetails,\n getStaffOverTimeDetails,\n getHomePageMyLeaveSectionDetails,\n getHomePageMyOvertimeDetails,\n deleteLeaveRequest,\n deleteOverTimeRequest\n\n\n}\n\n\n\n\nexport default ShiftServices\n","// import request from \"../../common/api_client\";\nimport requestrApi from \"../../common/boxr_api_client\";\n\nfunction getAllParts(params) {\n return requestrApi({\n url: \"/primary_parts\",\n method: \"GET\",\n params: params,\n });\n}\n\nfunction listingNonKits(params) {\n return requestrApi({\n url: \"/primary_parts/listing_non_kits\",\n method: \"GET\",\n params: params,\n });\n}\n\n/*function getAllParts() {\n return requestrApi({\n url: \"/primary_parts?search_keyword&page=1&count_per_page=10\",\n method: \"GET\",\n });\n}*/\n\nfunction getPrimaryPartInfo(id) {\n return requestrApi({\n url: `/primary_parts/primary_part_info?id=${id}`,\n method: \"GET\",\n });\n}\n\nfunction getAllPartsDependency(params) {\n return requestrApi({\n url: \"/primary_parts/primary_parts_dependencies?search_keyword\",\n method: \"GET\",\n params: params\n });\n}\n\n/**\n * @param query search query\n * @param currentPrimaryPartId\n * */\nfunction searchPrimaryPart(query, currentPrimaryPartId) {\n return requestrApi({\n // url: `https://dev-mropro-api.digiryte.co.uk/primary_parts/search_primary_parts?search_keyword=${query}&id=${currentPrimaryPartId}`,\n url: `/primary_parts?search_keyword=${query}&page=1`,\n method: \"GET\",\n });\n}\n\n/**\n * @param searchText string\n * @param baseStationId string | number\n * @param lineCustomerId string | number\n * @param mroOwned boolean\n */\nfunction searchAllListedPrimaryParts(\n searchText,\n baseStationId,\n lineCustomerId,\n mroOwned\n) {\n return requestrApi({\n url: `/primary_parts?search_keyword=${searchText}&page=1&count_per_page=10&base_station_id=${baseStationId}&line_customer_id=${lineCustomerId}&mro_owned=${mroOwned}`,\n method: \"GET\",\n });\n}\n\nfunction fetchDependencies() {\n return requestrApi({\n // url: '/parts/fetch_filter_dependencies',\n url: \"/primary_parts/fetch_dependencies\",\n method: \"GET\",\n });\n}\nfunction listOwnersODParts() {\n return requestrApi({\n url: \"/parts/list_owners\",\n method: \"GET\",\n });\n}\nfunction createParts(formData, isPrimaryPartFieldsDisabled) {\n const url = isPrimaryPartFieldsDisabled\n ? \"/primary_parts/save_secondary_part\"\n : \"/primary_parts\";\n\n return requestrApi({\n url: url,\n method: \"POST\",\n data: formData,\n });\n}\n\nfunction ddPartsFetchDependencies(params) {\n return requestrApi({\n // url: '/parts/fetch_filter_dependencies',\n url: \"/dd_parts/fetch_dependencies\",\n method: \"GET\",\n params,\n });\n}\n\nfunction postDocument(formData) {\n return requestrApi({\n url: \"/primary_parts/save_certificates\",\n method: \"POST\",\n data: formData,\n });\n}\n\nfunction deleteFile(fileId) {\n return requestrApi({\n url: `/primary_parts/remove_certificate?id=${fileId}`,\n method: \"DELETE\",\n });\n}\n\nfunction fetchSampleDocument() {\n return requestrApi({\n url: \"/parts/fetch_sample_document\",\n method: \"GET\",\n });\n}\nfunction fetchRelatedParts(id) {\n return requestrApi({\n url: `/parts/fetch_related_parts?part_number=${id}`,\n method: \"GET\",\n });\n}\nfunction updateParts(formData) {\n return requestrApi({\n url: \"/parts/update_part\",\n method: \"PUT\",\n data: formData,\n });\n}\nfunction updateSplitBatch(formData) {\n return requestrApi({\n url: \"/primary_parts/split_batch_function\",\n method: \"PUT\",\n data: formData,\n });\n}\n\nfunction updateSecPartsCertification(formData) {\n return requestrApi({\n url: \"/purchase_orders/create_secondary_part_certification\",\n method: \"PUT\",\n data: formData,\n });\n}\nfunction deleteParts(formData) {\n return requestrApi({\n url: `/parts/destroy_part`,\n method: \"DELETE\",\n data: formData,\n });\n}\nfunction bulkUpload(formData) {\n return requestrApi({\n url: \"/parts/bulk_upload\",\n method: \"POST\",\n data: formData,\n });\n}\nfunction changeStatus(formData) {\n return requestrApi({\n url: `/toolings/update_tooling`,\n method: \"PUT\",\n data: formData,\n });\n}\n\nfunction fetchStoreLocations(baseStationId, partNumber) {\n return requestrApi({\n url: `/primary_parts/fetch_store_locations?base_station_id=${baseStationId}&part_number=${partNumber}`,\n method: \"GET\",\n });\n}\n\n// for secondary parts\nfunction getAllSecondaryParts(params) {\n return requestrApi({\n url: `/primary_parts/fetch_secondary_parts`,\n method: \"GET\",\n params,\n });\n}\n\nfunction getAlternateParts(params) {\n return requestrApi({\n url: `/primary_parts/list_alternate_parts`,\n // ?id=${id}&page=1&count_per_page=10`,\n method: \"GET\",\n params: params,\n });\n}\n\nfunction updateSecondaryPart(formData) {\n return requestrApi({\n url: \"/primary_parts/update_secondary_part\",\n method: \"PUT\",\n data: formData,\n });\n}\n\nfunction updateAlternateParts(formData) {\n return requestrApi({\n url: \"/primary_parts/map_alternate_part\",\n method: \"PUT\",\n data: formData,\n });\n}\n\nfunction deleteAlternatePart(formData) {\n return requestrApi({\n url: `/primary_parts/remove_alternate_part`,\n method: \"PUT\",\n data: formData,\n });\n}\n\nfunction fetchMaterialCertificates(id) {\n return requestrApi({\n url: `/primary_parts/material_certificates?secondary_part_id=${id}`,\n method: \"GET\",\n });\n}\n\n// fetching quarantine parts\nfunction fetchQuarantineParts(id) {\n return requestrApi({\n url: `/part_conditions/listing_parts?condition=quarantine&page=1&count_per_page=10`,\n method: \"GET\",\n });\n}\n\nfunction fetchAllQuarantineParts(params) {\n return requestrApi({\n url: `/part_conditions/listing_parts`,\n method: \"GET\",\n params,\n });\n}\n\nfunction fetchShelfLifeParts(params) {\n return requestrApi({\n url: `/part_conditions/shelf_life_listing`,\n method: \"GET\",\n params,\n });\n}\n\nfunction transferPart(formData) {\n return requestrApi({\n url: `/part_requests/initiate_part_transfer`,\n method: \"POST\",\n data: formData,\n });\n}\n\nfunction getDDPartList(params) {\n return requestrApi({\n url: \"/dd_parts/listing_requests\",\n method: \"GET\",\n params: params,\n });\n}\nfunction deletePartRequests(formData) {\n return requestrApi({\n url: `/part_requests/destroy_request`,\n method: \"DELETE\",\n data: formData,\n });\n}\n\nconst PartsClientervices = {\n deletePartRequests,\n getDDPartList,\n getAllParts,\n createParts,\n deleteParts,\n fetchDependencies,\n changeStatus,\n updateParts,\n listOwnersODParts,\n bulkUpload,\n fetchSampleDocument,\n fetchRelatedParts,\n postDocument,\n getAllSecondaryParts,\n getAlternateParts,\n updateSecondaryPart,\n updateAlternateParts,\n searchPrimaryPart,\n fetchMaterialCertificates,\n fetchQuarantineParts,\n fetchShelfLifeParts,\n searchAllListedPrimaryParts,\n getAllPartsDependency,\n fetchAllQuarantineParts,\n fetchStoreLocations,\n getPrimaryPartInfo,\n deleteFile,\n deleteAlternatePart,\n transferPart,\n ddPartsFetchDependencies,\n listingNonKits,\n updateSecPartsCertification,\n updateSplitBatch,\n};\n\nexport default PartsClientervices;\n","import CircularProgress from \"@material-ui/core/CircularProgress\";\nimport React from \"react\";\n\nconst ChartLoader = (props) => (\n
\n \n
\n);\n\nexport default ChartLoader;","// export const API_WS_ROOT = 'wss://dev-mropro-api.digiryte.co.uk/cable';\n// export const HEADERS = {\n// 'Content-Type': 'application/json',\n// Accept: 'application/json',\n// };\n\nexport const MRO_MANAGED_PART = \"managed_part\";\nexport const MRO_NON_MANAGED_PART = \"non_managed_part\";\nexport const MRO_REQUEST_PART = \"request_part\";\nexport const MRO_QR_DIRECT = \"QR Direct Add\"\n","import React from \"react\";\n\nimport { Grid, Typography, makeStyles, Box } from \"@material-ui/core\";\nimport { ToggleButton, ToggleButtonGroup } from \"@material-ui/lab\";\n\nconst useStyles = makeStyles((theme) => ({\n error: {\n borderColor: \"red\",\n color: \"red\",\n },\n}));\n\nfunction YesNoField(props) {\n const classes = useStyles();\n\n const { value, handleToggle, error, setError, name, label, disabled, NoFieldError } = props;\n\n return (\n \n \n \n {label}\n \n \n \n {\n typeof handleToggle === \"function\" && handleToggle(value);\n typeof setError === \"function\" && setError();\n }}\n aria-label=\"text formatting\"\n exclusive\n >\n \n No\n \n \n Yes\n \n \n \n \n \n \n {!NoFieldError && error && (\n

\n Please select the yes or no\n

\n )}\n {NoFieldError &&

\n Must be Yes\n

}\n
\n );\n}\n\nexport default YesNoField;\n","import AuthClient from '../lib/services/api/auth_services';\n\nexport const AUTH_ACTIONS = {\n AUTHENTICATED: 'authenticated_user',\n SET_AUTH_STATE: 'save_user',\n AUTHENTICATION_ERROR: 'authentication_error',\n PASSWORD_CHANGE_SUCCESS: 'password_change_success',\n PASSWORD_CHANGE_ERROR: 'password_change_error',\n TOGGLE_LOADING_STATE: 'toggle_loading_state',\n TOGGLE_MASK: 'toggle_mask_state',\n CLEAR: 'clear',\n SET_ERRORS: 'set_error'\n}\n\nexport function userSignIn(dispatch, formData) {\n dispatch({ type: AUTH_ACTIONS.TOGGLE_LOADING_STATE });\n AuthClient.login(formData).then((response) => {\n debugger;\n if (response.user) {\n dispatch({ type: AUTH_ACTIONS.AUTHENTICATED, response: response })\n sessionStorage.setItem(\"authState\", JSON.stringify(response));\n\n debugger;\n window.location.href = '/home';\n // window.location.href = '/auth/two-factor-auth';\n }\n else if (response.errors) {\n dispatch({ type: AUTH_ACTIONS.AUTHENTICATION_ERROR, response: response.errors ? response.errors.join(\" ,\") : \"Something went wrong\" })\n }\n }).catch((e) => {\n dispatch({ type: AUTH_ACTIONS.AUTHENTICATION_ERROR, response: e.errors ? e.errors.join(\" ,\") : \"Something went wrong\" })\n });\n}\n\nexport function setUserData(dispatch) {\n const data = JSON.parse(sessionStorage.getItem(\"authState\"));\n const user = JSON.parse(sessionStorage.getItem('user'));\n dispatch({ type: AUTH_ACTIONS.SET_AUTH_STATE, authState: data, user })\n}\n\nexport function userSignOut(dispatch) {\n async function logout() {\n const orgLogo = sessionStorage.getItem('logo') || \"\";\n const user = JSON.parse(sessionStorage.getItem('user'));\n if (user && user.email) {\n AuthClient.logout().then(() => {\n sessionStorage.clear();\n orgLogo && sessionStorage.setItem('logo', orgLogo);\n }).catch(() => {\n sessionStorage.clear();\n orgLogo && sessionStorage.setItem('logo', orgLogo);\n });\n }\n else {\n sessionStorage.clear();\n orgLogo && sessionStorage.setItem('logo', orgLogo);\n }\n }\n logout().then(() => {/*Nothing to Do*/ });\n}\n\nexport function changePassword(dispatch, formData, headers, handleSuccess) {\n dispatch({ type: AUTH_ACTIONS.TOGGLE_LOADING_STATE });\n AuthClient.changePassword(formData, headers).then((res) => {\n if (res.success) {\n dispatch({ type: AUTH_ACTIONS.PASSWORD_CHANGE_SUCCESS, response: res });\n handleSuccess();\n }\n else {\n dispatch({ type: AUTH_ACTIONS.PASSWORD_CHANGE_ERROR, response: res.errors ? res.errors.join(', ') : res.message ? res.message : \"Something Went wrong!. Try again.\" });\n }\n }).catch(() => {\n dispatch({ type: AUTH_ACTIONS.PASSWORD_CHANGE_ERROR });\n })\n}\n\nexport function setError(dispatch, error) {\n dispatch({ type: AUTH_ACTIONS.SET_ERRORS, error: error });\n}\n\nexport function changeFieldMask(dispatch) {\n dispatch({ type: AUTH_ACTIONS.TOGGLE_MASK });\n}\n\nconst AuthActions = {\n userSignIn,\n userSignOut,\n changePassword,\n changeFieldMask,\n setError,\n setUserData\n}\n\nexport default AuthActions;\n","// import request from \"../common/api_client\";\nimport requestrApi from \"../common/boxr_api_client\";\nimport requestApi from \"../common/boxp_api_client\";\n// import { BASE_API_URL } from \"lib/constants\";\n\nfunction fetchDependencies() {\n return requestrApi({\n url: `/services/fetch_dependencies`,\n method: \"GET\",\n });\n}\nfunction ServiceFetchDependencies(params) {\n return requestrApi({\n url: `/services/fetch_dependencies`,\n method: \"GET\",\n params: params\n });\n}\nfunction workshopEquipmentFetchDependencies(params) {\n return requestrApi({\n url: `/equipment_requests/fetch_dependencies`,\n method: \"GET\",\n params: params\n });\n}\nfunction fetchEquipDependencies() {\n return requestrApi({\n url: `/equipment_requests/fetch_dependencies`,\n method: \"GET\",\n });\n}\nfunction fetchSupplier(params) {\n return requestrApi({\n url: `/services/fetch_suppliers`,\n method: \"GET\",\n params: params,\n });\n}\nfunction fetchEquipmentSupplier(params) {\n return requestrApi({\n url: `/services/fetch_suppliers`,\n method: \"GET\",\n params: params,\n });\n}\nfunction getProcuremntApprvl(params) {\n return requestrApi({\n url: `/services/listing_proc_approvals`,\n method: \"GET\",\n params\n });\n}\nfunction releaseRequirement(params) {\n return requestApi({\n url: `/release_requirement`,\n method: \"GET\",\n params\n });\n}\nfunction services(params) {\n return requestrApi({\n url: `/services`,\n method: \"GET\",\n params\n });\n}\n\nfunction createServices(formData) {\n return requestrApi({\n url: `/services`,\n method: \"POST\",\n data: formData,\n });\n}\nfunction createEquipments(formData) {\n return requestrApi({\n url: `/equipments`,\n method: \"POST\",\n data: formData,\n });\n}\nfunction workshopCreateEquipments(formData) {\n return requestrApi({\n url: `/equipment_requests`,\n method: \"POST\",\n data: formData,\n });\n}\nfunction updateServices(formData) {\n return requestrApi({\n url: `/services/update_service`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction workshopUpdateEquipments(formData) {\n return requestrApi({\n url: `/equipment_requests/update_equipment`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction updatePurchase(formData) {\n return requestrApi({\n url: `/services/update_purchase_order`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction updateEquipmentQuoteServices(formData) {\n return requestrApi({\n url: `/equipments/update_equipment`,\n method: \"PUT\",\n data: formData,\n });\n}\n\nfunction updateDocuments(formData) {\n return requestrApi({\n url: `/services/update_documents`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction cancelServiceOrder(formData) {\n return requestrApi({\n url: `/services/cancel_so`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction createPurchaseOrder(formData) {\n return requestrApi({\n url: `/services/create_purchase_order`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction deleteServices(Id) {\n return requestrApi({\n url: `/services/delete_service`,\n method: \"DELETE\",\n data: Id,\n });\n}\n\n//Approval page\nfunction editProcApproval(formData) {\n return requestrApi({\n url: `/services/edit_proc_approval`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction changeState(formData) {\n return requestrApi({\n url: `/services/change_state`,\n method: \"PUT\",\n data: formData,\n });\n}\n\n//send order report email\nfunction sendOrderReportEmail(params) {\n return requestrApi({\n url: `/services/send_order`,\n method: \"GET\",\n params\n });\n}\nfunction deleteDocument(params) {\n return requestrApi({\n url: `/generals/remove_attachment`,\n method: \"DELETE\",\n params\n });\n}\n\nconst ServiceRequestListClientServices = {\n updatePurchase,\n fetchDependencies,\n createServices,\n updateServices,\n updateDocuments,\n fetchSupplier,\n ServiceFetchDependencies,\n workshopEquipmentFetchDependencies,\n fetchEquipDependencies,\n createEquipments,\n fetchEquipmentSupplier,\n updateEquipmentQuoteServices,\n workshopCreateEquipments,\n deleteServices,\n createPurchaseOrder,\n getProcuremntApprvl,\n editProcApproval,\n changeState,\n cancelServiceOrder,\n releaseRequirement,\n workshopUpdateEquipments,\n services,\n sendOrderReportEmail,\n deleteDocument\n};\n\nexport default ServiceRequestListClientServices;\n","import React from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\n\nconst useStyles = makeStyles(theme => ({\n loadingWrapper:{\n textAlign:'center',\n display:'flex',\n alignItems:'center',\n justifyContent:'center',\n width:'100%'\n },\n contained:{\n width:'100%',\n height:'100%'\n },\n block:{\n height:'100px'\n },\n overlay:{\n position:'fixed',\n top:0,\n bottom:0,\n left:0,\n right:0,\n zIndex:2500,\n pointerEvents:'none',\n backgroundColor: \"rgba(255, 252, 252, 0.34)\"\n },\n page: {\n position:'fixed',\n top:0,\n bottom:0,\n left:0,\n right:0,\n zIndex:2500,\n pointerEvents:'none',\n backgroundColor: theme.palette.primary.main\n }\n}));\n\nfunction LoadingIndicator(props){\n const classes = useStyles();\n const {children,variant,LoaderProps,Component} = props;\n\n return (\n
\n {Component?Component:}\n {children}\n
\n )\n}\n\nexport default LoadingIndicator;","// import request from \"./common/api_client\";\nimport requestrApi from \"./common/boxr_api_client\";\n\nfunction signUp(formData) {\n return requestrApi({\n url: '/auth/',\n method: 'POST',\n data: formData,\n handleHeaders: 2\n });\n}\n\nfunction login(formData) {\n return requestrApi({\n url: '/auth/sign_in',\n method: 'POST',\n data: formData,\n handleHeaders: 1,\n });\n}\n\nfunction logout() {\n return requestrApi({\n url: '/auth/sign_out',\n method: 'DELETE',\n handleHeaders: 0,\n });\n}\n\nfunction changePassword(formData, headers) {\n return requestrApi({\n url: '/users/create_password',\n method: 'POST',\n data: formData,\n headers: headers\n });\n}\n\nfunction changePin(formData, headers) {\n return requestrApi({\n url: '/users/create_password',\n method: 'POST',\n data: formData,\n headers: headers\n });\n}\n\n\nfunction requestReset(formData) {\n return requestrApi({\n url: '/auth/password',\n method: 'POST',\n data: formData,\n });\n}\n\nfunction updatePassword(formData) {\n return requestrApi({\n url: '/users/change_password',\n method: 'POST',\n data: formData\n })\n}\nfunction postOrgData(formData) {\n return requestrApi({\n url: '/organisations/organisation_login',\n method: 'POST',\n data: formData,\n handleHeaders: 3,\n });\n}\n\nfunction verifyOtpEmail(params) {\n return requestrApi({\n url: '/users/verify_by_email',\n method: 'POST',\n params\n });\n}\nfunction verifyOtpPhone(params) {\n return requestrApi({\n url: '/users/verify_by_number',\n method: 'POST',\n params\n });\n}\nfunction verifyTOTPCode(params) {\n return requestrApi({\n url: '/users/verify_totp_code',\n method: 'POST',\n params\n });\n}\nfunction verifyTOTPQR(params) {\n return requestrApi({\n url: '/users/verify_qr_code',\n method: 'POST',\n params\n });\n}\nfunction sendOtpByEmail(params) {\n return requestrApi({\n url: '/users/send_otp_by_email',\n method: 'GET',\n params\n });\n}\nfunction sendOtpByPhone(params) {\n return requestrApi({\n url: '/users/send_otp_by_num',\n method: 'GET',\n params\n });\n}\nfunction sendQRCodeLink(params) {\n return requestrApi({\n url: '/users/send_otp_by_qr',\n method: 'GET',\n params\n });\n}\n\nconst AuthClient = {\n verifyTOTPQR, verifyTOTPCode, sendQRCodeLink, verifyOtpPhone, verifyOtpEmail, sendOtpByPhone, sendOtpByEmail, signUp, login, logout, changePassword, requestReset, updatePassword, postOrgData, changePin\n};\n\nexport default AuthClient;","import React, { useEffect, useState } from \"react\";\nimport {\n KeyboardDatePicker,\n MuiPickersUtilsProvider,\n} from \"@material-ui/pickers\";\nimport MomentUtils from \"@date-io/moment\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport moment from \"moment\";\nimport MROTextField from \"./TextField\";\nimport EventIcon from \"@material-ui/icons/Event\";\nimport { InputAdornment } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& input::placeholder\": {\n textTransform: 'unset'\n },\n margin: theme.spacing(1, 0),\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderColor: theme.palette.primary.main,\n borderWidth: \"1px !important\",\n },\n \"&:hover fieldset\": {\n borderColor: theme.palette.primary.light,\n // borderWidth: '1px !important'\n },\n \"&.Mui-error:hover fieldset\": {\n borderColor: \"#f44336 !important\",\n },\n \"& .MuiOutlinedInput-input\": {\n padding: \"15px\",\n },\n },\n \"& label\": {\n color: theme.palette.primary.main,\n },\n },\n}));\n\nexport const checkFromat = (date) =>\n /^\\d{4}\\-(0?[1-9]|1[012])\\-(0?[1-9]|[12][0-9]|3[01])$/.test(date);\n\nfunction DateField(props) {\n const classes = useStyles();\n const [selectedDate, setSelectedDate] = useState(null);\n const {\n label,\n name,\n defaultValue,\n variant,\n onChange,\n error,\n helperText,\n disabled,\n } = props;\n const outputFormat = \"DD/MM/YYYY\";\n useEffect(() => {\n setSelectedDate(\n defaultValue\n ? moment(\n defaultValue,\n checkFromat(defaultValue) ? \"YYYY-MM-DD\" : \"DD/MM/YYYY\"\n ).format(\"lll\")\n : \"\"\n );\n }, [defaultValue]);\n\n if (disabled) {\n return (\n \n \n \n ),\n }}\n />\n );\n }\n\n return (\n \n {\n setSelectedDate(date);\n onChange && onChange(moment(date).format(\"DD/MM/YYYY\"));\n }}\n />\n \n \n );\n}\n\nexport default DateField;\n","module.exports = \"data:image/png;base64,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\"","import React, { useEffect, useState } from 'react'\nimport MROTextField from '../../../../../components/form_components/TextField'\nimport DataService from '../../../../../lib/services/api'\n\nexport default function RecordsTotalHours({ name, workOrderId }) {\n\n const [totalHours, setTotalHours] = useState(0)\n\n useEffect(() => {\n let params = {\n reportable_id: workOrderId,\n reportable_type: \"WorkOrder\"\n }\n DataService.getData(params, 'operationTotalHours').then(res => {\n setTotalHours(res.data)\n })\n }, [])\n return (\n
\n \n
\n )\n}\n","import React, { useState, useEffect } from \"react\";\nimport MROTextField from \"components/form_components/TextField\";\nimport DateTimeField from \"../../../../../components/form_components/DateTimeField\";\nimport RecordsTotalHours from \"./RecordsTotalHours\";\nimport { MenuItem } from \"@material-ui/core\";\n\nfunction FreeTextField(props) {\n const { handleChange, isDpdDisabled } = props;\n\n // console.log(\"props coming are=============\", { props })\n\n const inputProps = {\n maxLength: props.max_length,\n step: props.decimal_places ? 1 / (10 ^ props.decimal_places) : null,\n readOnly: props.disabled ? true : false,\n style: {\n textTransform: props.field_name?.replace(/\\s/g, '').toLowerCase() === 'tlp#' && 'uppercase',\n }\n };\n const fieldProps = {\n // required: props.mandatory || false,\n type: props.field_type === \"Datetime\" ? \"date\" : \"text\",\n label:\n props.mandatory && !props?.disabled\n ? props.field_name + \" *\"\n : props.field_name,\n name: `${props.id || props.org_field_id}`,\n // defaultValue: props.field_value ? props.field_value : props.field_name == \"Est Arrival Date/Time (UTC)\" ? props?.sectionDetails && props?.sectionDetails[0].sub_section_fields[0].field_value : props.field_name == \"Act Arrival Date/Time (UTC)\" ? props?.sectionDetails && props?.sectionDetails[0].sub_section_fields[1].field_value : null,\n defaultValue: props.field_name?.replace(/\\s/g, '').toLowerCase() === 'tlp#' ? props.field_value?.toUpperCase() : props.field_value,\n value: props.disabled\n ? props.field_value\n : props.field_type !== \"Datetime\"\n ? props.value\n : 0,\n // disabled: props.disabled,\n error:\n props.errors &&\n props.errors[props.id || props.org_field_id] &&\n !props.errors[props.id || props.org_field_id].valid &&\n props.mandatory,\n autoFocus:\n props.errors &&\n props.errors[props.id || props.org_field_id] &&\n !props.errors[props.id || props.org_field_id].valid &&\n props.mandatory,\n // error: props.formData && props?.formData[props.id || props.org_field_id] === '' && props.mandatory\n };\n\n if (props.field_name === \"Total Hours\") {\n return ;\n }\n\n return props.field_type === \"Datetime\" ? (\n
\n \n
\n ) : props.field_type === \"Time\" ? (\n
\n \n
\n ) : props.field_type === \"Dropdown\" ? (\n
\n \n {props?.menuItems?.map((item, idx) => (\n \n {item}\n \n ))}\n \n
\n ) : props.field_type === \"Freetext\" ? (\n
\n {\n handleChange(e);\n }}\n style={\n inputProps.readOnly\n ? {\n color: \"rgba(0, 0, 0, 0.87) !important\",\n cursor: \"not-allowed !important\",\n backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n }\n : {}\n }\n // error={!fieldProps.defaultValue && fieldProps.required}\n />\n
\n ) : (\n
\n {\n handleChange(e);\n }}\n style={\n inputProps.readOnly\n ? {\n color: \"rgba(0, 0, 0, 0.87) !important\",\n cursor: \"not-allowed !important\",\n backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n }\n : {}\n }\n // error={!fieldProps.defaultValue && fieldProps.required}\n />\n
\n )\n}\n\nexport default React.memo(FreeTextField);\n","import requestrApi from \"../common/boxr_api_client\"\n\nconst createCapability = (data) => {\n return requestrApi({\n url: \"/capabilities\",\n method: \"POST\",\n data: data,\n });\n};\n\nconst updateCapability = (data) => {\n return requestrApi({\n url: \"/capabilities/update_capabilities\",\n method: \"PUT\",\n data: data,\n });\n};\n\nconst getPlatforms = (params) => {\n return requestrApi({\n url: \"/capabilities/listing_platforms\",\n method: \"GET\",\n params\n });\n};\nconst getFetchDependency = (params) => {\n return requestrApi({\n url: \"/capabilities/fetch_dependencies\",\n method: \"GET\",\n params\n });\n};\nconst getAllCapabilities = (params) => {\n return requestrApi({\n url: \"/capabilities\",\n method: \"GET\",\n params\n });\n};\n\nfunction deleteEngineTask(formData) {\n return requestrApi({\n url: `/capabilities/destroy_eng_tasks`,\n method: 'DELETE',\n data: formData\n })\n}\n\nconst createPlatform = (data) => {\n return requestrApi({\n url: \"/capabilities/create_platform\",\n method: \"POST\",\n data,\n });\n};\nconst createEngineTask = (data) => {\n return requestrApi({\n url: \"/capabilities/create_eng_tasks\",\n method: \"POST\",\n data,\n });\n};\nconst createCapWithoutRecord = (data) => {\n return requestrApi({\n url: `/capabilities/create_capability`,\n method: \"POST\",\n data: data,\n });\n};\n\nconst updatePlatform = (data) => {\n return requestrApi({\n url: \"/capabilities/update_platform\",\n method: \"PUT\",\n data,\n });\n};\n\nconst mapPlatform = (data) => {\n return requestrApi({\n url: \"/capabilities/map_platform\",\n method: \"PUT\",\n data,\n });\n};\n\nconst editEngineTask = (data) => {\n return requestrApi({\n url: \"/capabilities/update_eng_tasks\",\n method: \"PUT\",\n data,\n });\n};\n\nconst getAllTechData = (params) => {\n return requestrApi({\n url: \"/capabilities/listing_tech_data\",\n method: \"GET\",\n params\n });\n};\nconst createTechData = (data) => {\n return requestrApi({\n url: `/capabilities/create_tech_data`,\n method: \"POST\",\n data: data,\n });\n};\n\nfunction fetchSampleDocument(params) {\n return requestrApi({\n url: 'capabilities/fetch_sample_document',\n method: 'GET',\n params\n });\n}\n\nfunction bulkUpload(formData) {\n return requestrApi({\n url: '/capabilities/capability_upload',\n method: 'POST',\n data: formData\n })\n}\n\nconst updateTechData = (data) => {\n return requestrApi({\n url: \"/capabilities/update_tech_data\",\n method: \"PUT\",\n data,\n });\n};\n\nfunction deleteTechData(formData) {\n return requestrApi({\n url: `capabilities/destroy_tech_data`,\n method: 'DELETE',\n data: formData\n })\n}\nfunction verifyRevisionState(formData) {\n return requestrApi({\n url: `/capabilities/verify_revision_status`,\n method: 'POST',\n data: formData\n })\n}\n\nconst getAllRevisionDetails = (params) => {\n return requestrApi({\n url: \"/capabilities/revision_history\",\n method: \"GET\",\n params\n });\n};\n\n\n\nconst CapabilityServices = {\n createCapability,\n getPlatforms,\n createPlatform,\n updatePlatform,\n mapPlatform,\n getFetchDependency,\n createCapWithoutRecord,\n createEngineTask,\n editEngineTask,\n deleteEngineTask,\n updateCapability,\n getAllCapabilities,\n getAllTechData,\n createTechData,\n fetchSampleDocument,\n bulkUpload,\n updateTechData,\n deleteTechData,\n verifyRevisionState,\n getAllRevisionDetails\n};\n\nexport default CapabilityServices;\n","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAABHNCSVQICAgIfAhkiAAAArxJREFUSEutlk1ME0EUx/+z7PJxUCAgYiCh8SP1gLEcS4OK8QotBxNvauLFeMELBjzISdSLiYnxKNxMPNDCXaqGcrSGmtgETWsgIkJs9VBgtzvOG9qmm3a7bWFOm/l4v/ef9968ZXAYI5GGgMIVPxh3gcMDxtrAeQoMUXCWMGEGF33ZUCUzzG5xJKKNK5w/kkadhoByhY8veLNz5baWQAIrcHFTmxeeepxsl6xzRJmijwW9SBSvWSCBZXg41KWqvLfzQKhiMIaDPnGduVGAHChQPx0KkLdKIMUYyCsqQEaXtShjuFjzFdkqQjTk0wdoWUJkkIHnRwbIGTKZeXvRm52VEH9ETQleaz2QnhY37p1+hZn4dfwzdqwmxLWFfEY7k3UAZb4eQHfzGTy98AGt6gn8yHzBw9i1EpCoozE2GtFIzs1aIQSY6V9Cu9Ytj65nvmIqdhV/jW2LKQ7MCYgaZmCXa4F0NfUJBR8LgJ+7a3iweqkEQDY5+HtmF49jagcm3W/x8vtdbGTiBR8I8Fgo6GzslXMEmIwNI6X/Ku8npbM/oglF1kGAJ/1hUFDTxm/p5ebuN3Q09kgFecDWXgITq0P2gHwxllNyXO0U3r5Db8t5ue2Pvoln8Ru4f24WXU0uOUcAUrCzv+Fw0zxtGxMCUeacaj5bYmR7f12oG6oCkItJpexq007KDCoGEWBKKNjaS1aVKzK7nOqkGETXRgqqBZAXsk7ow6niCTThfoMXa3dkAtQwkqFB3XXwdq003BLd73UNh6vaanm76MRRv8Kc4/OCT5eNz9pPuCoaTX0PpVWaSFtmeEr6CW2SnZGp4cOBBIAbV8p2xrwn1CFNUwvW08DoihRFD1Ts8cWSc8kwLeb6qohyUgR5mhpUub22v0T5zVRHDEpA1C6loggkxYynRZFR/BKc/rsGs8FKjvwHROgpQCmCE54AAAAASUVORK5CYII=\"","import { AUTH_ACTIONS } from '../actions/auth_actions';\nimport CreateReducer from '../lib/utils/create_reducer';\n\nexport const INITIAL_STATE = {\n loading: false,\n error: {},\n mask: true,\n message: {},\n authState: {},\n user: {}\n};\n\nconst authReducer = CreateReducer(INITIAL_STATE, {\n [AUTH_ACTIONS.AUTHENTICATED](state, action) {\n return {\n ...state,\n loading: false,\n };\n },\n [AUTH_ACTIONS.SET_AUTH_STATE](state, action) {\n return {\n ...state,\n authState: action.authState,\n user: action.user\n };\n },\n [AUTH_ACTIONS.AUTHENTICATION_ERROR](state, action) {\n return {\n ...state,\n error: { ...state.error, message: action.response },\n loading: false\n };\n },\n [AUTH_ACTIONS.TOGGLE_LOADING_STATE](state, action) {\n return {\n ...state,\n loading: !state.loading\n }\n },\n [AUTH_ACTIONS.PASSWORD_CHANGE_SUCCESS](state, action) {\n return {\n ...state,\n loading: false,\n message: { ...state.message, message: action.response, success: true }\n }\n },\n [AUTH_ACTIONS.PASSWORD_CHANGE_ERROR](state, action) {\n return {\n ...state,\n loading: false,\n message: { ...state.message, message: action.response, success: false }\n }\n },\n [AUTH_ACTIONS.SET_ERRORS](state, action) {\n return {\n ...state,\n loading: false,\n error: { ...state.error, ...action.error },\n }\n },\n [AUTH_ACTIONS.TOGGLE_MASK](state, action) {\n return {\n ...state,\n loading: false,\n mask: !state.mask\n }\n }\n});\n\nexport default authReducer;\n","import requestrApi from \"lib/services/api/common/boxr_api_client\";\n// import requestApi from \"../../../common/boxp_api_client\";\n\nconst getBatchNumbers = (params) => {\n return requestrApi({\n url: \"/primary_parts/secondary_part_info\",\n method: \"GET\",\n params: params,\n });\n};\n\n// Line Work order parts tab removed part section\nconst getRemovedParts = (params) => {\n return requestrApi({\n url: \"/part_conditions/work_order_removed_parts\",\n method: \"GET\",\n params: params,\n });\n\n}\n\nconst createRemovedParts = (formdata) => {\n return requestrApi({\n url: \"/part_conditions/create_allocation\",\n method: \"POST\",\n data: formdata,\n });\n\n}\n\nconst editRemovedParts = (data) => {\n return requestrApi({\n url: \"/part_conditions/edit_allocation\",\n method: \"PUT\",\n data\n });\n\n}\nconst deleteRemovedParts = (data) => {\n return requestrApi({\n url: \"/part_conditions/destroy_allocation\",\n method: \"DELETE\",\n data\n });\n\n}\n\nconst UpdateMaintTechLog = (data) => {\n return requestrApi({\n url: \"/operational_tasks/update_task\",\n method: \"PUT\",\n data\n });\n\n}\n\n\nconst getMaintPlannedTableDetails = (params) => {\n return requestrApi({\n url: \"/work_orders/planned_maintenance_table\",\n method: \"GET\",\n params: params,\n });\n\n}\nconst EditPlannedTask = (data) => {\n return requestrApi({\n url: \"/work_orders/edit_planned_tasks\",\n method: \"PUT\",\n data\n });\n\n}\n\n\nconst DeassignPlannedTask = (data) => {\n return requestrApi({\n url: \"/work_orders/deassign_planned_task\",\n method: \"PUT\",\n data\n });\n\n}\n\nconst EditPlannedRecords = (data) => {\n return requestrApi({\n url: \"/work_orders/edit_records\",\n method: \"PUT\",\n data\n });\n\n}\n\nconst UndoPlannedTask = (data) => {\n return requestrApi({\n url: \"/work_orders/undo_deassign_task\",\n method: \"PUT\",\n data\n });\n\n}\nfunction deleteDocument(params) {\n return requestrApi({\n url: `/generals/remove_attachment`,\n method: \"DELETE\",\n params\n });\n}\nexport const WorkOrderServices = {\n getBatchNumbers,\n getRemovedParts,\n createRemovedParts,\n editRemovedParts,\n deleteRemovedParts,\n UpdateMaintTechLog,\n getMaintPlannedTableDetails,\n EditPlannedTask,\n DeassignPlannedTask,\n EditPlannedRecords,\n deleteDocument,\n UndoPlannedTask\n};\n","module.exports = __webpack_public_path__ + \"static/media/Lock.bc4ca4d8.svg\";","module.exports = \"data:image/png;base64,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\"","import { Button, ButtonGroup, Grid } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport RemoveIcon from \"@material-ui/icons/Remove\";\nimport MROTextField from \"../../../../../components/form_components/TextField\";\nimport { fixedInputValueTo2DecimalPlaces } from \"lib/utils/helperFunctions\";\n\nexport default function NumericIncrement({ setError, state, setState, ...props }) {\n const [val, setVal] = useState(props.value ? parseFloat(props?.value) : \"\");\n const handleChange = (action) => () => {\n typeof setError === \"function\" && setError();\n if (action === \"inc\") {\n if (parseFloat(val || 0) >= 0)\n if (parseFloat(val) % 0.5 === 0) setVal(parseFloat(val + 0.5));\n else setVal(parseFloat(val || 0) + 0.5);\n }\n if (action === \"dec\") {\n if (parseFloat(val) > 0)\n if (parseFloat(val) % 0.5 === 0) {\n setVal(parseFloat(val - 0.5))\n } else if (parseFloat(val) <= 0.5) {\n setVal(0)\n }\n else setVal(Math.round(parseFloat(val || 0) - 0.5))\n }\n };\n\n useEffect(() => {\n setState({\n ...state,\n man_hours: val,\n });\n }, [val]);\n\n console.log({ val });\n\n useEffect(() => {\n // setVal(parseFloat(props?.value))\n }, [props.value]);\n\n let inputprops = {\n value: props.value,\n };\n\n return (\n <>\n \n \n {\n typeof setError === \"function\" && setError();\n typeof setVal === \"function\" && setVal((fixedInputValueTo2DecimalPlaces(e.target.value.replace(/[A-Za-z]/g, \"\"))));\n }}\n />\n \n \n \n \n \n {\" \"}\n \n \n \n {\" \"}\n \n \n \n \n \n \n );\n}\n","import requestApi from \"../../common/boxp_api_client\";\nimport requestrApi from \"../../common/boxr_api_client\";\n\n//fetch dependencies\n\nconst fetchEventTypes = (params) => {\n return requestApi({\n url: '/event_types',\n method: 'GET',\n params\n })\n}\nconst fetchPlannedAircraft = (params) => {\n return requestApi({\n url: '/planned_aircraft',\n method: 'GET',\n params\n })\n}\nconst fetchScopeOfApproval = (params) => {\n return requestApi({\n url: '/scope_of_approval',\n method: 'GET',\n params\n })\n}\n\nconst fetchPlannedEngineers = (params) => {\n return requestApi({\n url: '/planned_engineers',\n method: 'GET',\n params\n })\n}\n\nconst getBaseStation = (params) => {\n return requestApi({\n url: '/base-stations',\n method: \"GET\",\n params\n });\n};\nfunction getLineCustomers(params) {\n return requestrApi({\n url: '/line_customers/listing_line_customers',\n method: 'GET',\n params: params\n });\n}\nconst getLMActivityGraph = (params) => {\n return requestApi({\n url: '/lm_event_graph',\n method: 'GET',\n params\n })\n}\n\nconst CreateLineEvents = (formData) => {\n return requestApi({\n url: '/create_event',\n method: 'POST',\n data: formData\n })\n}\n\nconst getLMEventDetails = (params) => {\n return requestApi({\n url: '/individual_lm_event_info',\n method: 'GET',\n params\n })\n}\n\n\n\nconst updateLineEvents = (formData) => {\n return requestApi({\n url: '/update_event_info?_method=PUT',\n method: 'POST',\n data: formData\n })\n}\n\nconst deleteLineEvents = (params) => {\n return requestApi({\n url: `/delete_event_info`,\n method: \"DELETE\",\n params\n });\n\n}\n\nconst getLMSeriesDetails = (params) => {\n return requestApi({\n url: '/event_series_list',\n method: 'GET',\n params\n })\n}\n\n\nconst getLMSeriesInfo = (params) => {\n return requestApi({\n url: '/event_series_info',\n method: 'GET',\n params\n })\n}\n\n\n\nconst updateLineEventsSeries = (formData) => {\n return requestApi({\n url: '/update_event_series?_method=PUT',\n method: 'POST',\n data: formData\n })\n}\n\nconst deleteLineEventsSeries = (params) => {\n return requestApi({\n url: `/delete_event_series`,\n method: \"DELETE\",\n params\n });\n\n}\nconst updateUnarchiveSeries = (formData) => {\n return requestApi({\n url: '/unarchive_event_series?_method=PUT',\n method: 'POST',\n data: formData\n })\n}\n\nconst linkWorkOrderListing = (params) => {\n return requestApi({\n url: '/work_order_listing',\n method: 'GET',\n params\n })\n}\nconst linkEventsListing = (params) => {\n return requestApi({\n url: '/link_to_lm_event_lists',\n method: 'GET',\n params\n })\n}\nconst updateLinkUnlinkWorkOrder = (formData) => {\n return requestApi({\n url: '/link_unlink_work_order_to_event?_method=PUT',\n method: 'POST',\n data: formData\n })\n}\nconst updateLinkUnlinkEvents = (formData) => {\n return requestApi({\n url: '/link_unlink_work_order_to_event?_method=PUT',\n method: 'POST',\n data: formData\n })\n}\nconst PlanningLineMaintenance = {\n fetchEventTypes,\n fetchPlannedAircraft,\n fetchScopeOfApproval,\n fetchPlannedEngineers,\n getLMActivityGraph,\n CreateLineEvents,\n getBaseStation,\n getLineCustomers,\n getLMEventDetails,\n updateLineEvents,\n deleteLineEvents,\n getLMSeriesDetails,\n getLMSeriesInfo,\n updateLineEventsSeries,\n deleteLineEventsSeries,\n updateUnarchiveSeries,\n linkWorkOrderListing,\n updateLinkUnlinkWorkOrder,\n linkEventsListing,\n updateLinkUnlinkEvents\n\n\n\n\n}\n\nexport default PlanningLineMaintenance","module.exports = \"data:image/png;base64,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\"","import React from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\nimport { LinearProgress, Typography } from \"@material-ui/core\";\n\n\nconst useStyles = makeStyles(theme => ({\n mySelector: props => ({\n display: 'block',\n width: props.width,\n height: props.height,\n background: '#fff',\n border: '1px solid #00000033',\n '& .MuiLinearProgress-barColorPrimary': {\n background: props.background,\n },\n color: props.color\n\n }),\n\n label: {\n zIndex: 1,\n position: ' absolute',\n marginTop: '-20px',\n fontSize: '13px',\n paddingLeft: '10px'\n }\n}));\n\nexport default function LinearProgressBar(props) {\n\n const styleProps = { width: props.width, height: props.barHeight, background: props.bgColor, color: props.color };\n const classes = useStyles(styleProps)\n\n return (\n <>\n 100 ? 100 : props.value} />\n {props.value ? `${props.value} %` : '-'}\n \n )\n}\n","import DataService from \"../lib/services/api\";\n\nexport const DATA_SERVICE_ACTIONS = {\n SET_DATA: 'set_current_data',\n TOGGLE_IN_PROGRESS: 'data_add_update_in_progress',\n CLEAR_DATA: 'clear_data'\n}\n\nfunction createData(dispatch, message, formData, section, key, cb, getList, handleClose, setNewData) {\n //debugger;\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n return DataService.createData(formData, section).then((res) => {\n if (res.success) {\n // dispatch({ type: DATA_SERVICE_ACTIONS.SET_DATA, payload: res, key: key });\n typeof cb === 'function' && cb(Date.now());\n typeof getList === 'function' && getList();\n typeof handleClose === 'function' && handleClose(res.company_approval);\n typeof setNewData === 'function' && setNewData(res.company_approval);\n return message.showToastMessage({ message: \"Added Successfully\", variant: \"success\" });\n }\n if (res.data) {\n typeof cb === 'function' && cb(res.data.id)\n }\n else if (Array.isArray(res.errors)) {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS, payload: false });\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: 'error' });\n typeof cb === 'function' && cb(Date.now());\n typeof handleClose === 'function' && handleClose();\n } else if (res.errors) {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS, payload: false });\n message.showToastMessage({ message: res.errors ? res.errors : \"Something went wrong. Try again\", variant: 'error' });\n typeof cb === 'function' && cb(Date.now());\n typeof handleClose === 'function' && handleClose();\n }\n }).catch((e) => {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n message.showToastMessage({ message: e.message || \"Something went wrong\", variant: \"error\" });\n typeof handleClose === 'function' && handleClose();\n })\n}\n\nfunction updateData(dispatch, message, formData, id, section, key = 'data', cb = () => { }, errCb = () => { }) {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n return DataService.updateData(formData, id, section).then((res) => {\n if (res.success) {\n dispatch({ type: DATA_SERVICE_ACTIONS.SET_DATA, payload: res, key: key });\n message.showToastMessage({ message: \"Updated successfully\", variant: \"success\" });\n typeof cb === 'function' && cb();\n return res\n }\n else {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n }\n }).catch((e) => {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n message.showToastMessage({ message: e.message || \"Something went wrong. Try again\", variant: 'error' });\n typeof errCb === 'function' && errCb();\n })\n}\n\nfunction deleteData(dispatch, message, id, data, section, cb = () => { }, params, getList) {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n console.log({ id, section, data })\n return DataService.deleteData(id, section, data, params).then((res) => {\n if (res.success) {\n dispatch({ type: DATA_SERVICE_ACTIONS.SET_DATA, payload: { data: { id: data.id || id } } });\n message.showToastMessage({ message: \"Removed successfully\", variant: \"success\" });\n typeof cb === 'function' && cb();\n typeof getList === 'function' && getList();\n // handleClose();\n }\n else {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n }\n }).catch((e) => {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n message.showToastMessage({ message: e.message || \"Something went wrong. Try again\", variant: 'error' });\n })\n}\n\nfunction clearData(dispatch) {\n dispatch({ type: DATA_SERVICE_ACTIONS.CLEAR_DATA });\n}\n\nconst DataServiceAction = {\n createData,\n updateData,\n clearData,\n deleteData\n}\nexport default DataServiceAction;","module.exports = __webpack_public_path__ + \"static/media/Unlock.5d333943.svg\";","import React, { useContext } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport MROButton from \"../../components/buttons\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\n\n\n\nconst useStyles = makeStyles(theme => ({\n formWrapper: {\n background: '#fff',\n width: '400px',\n padding: theme.spacing(3)\n },\n widthChange: {\n background: '#fff',\n width: '550px',\n padding: theme.spacing(3)\n },\n centerALign: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: 20,\n marginBottom: 20\n },\n title: {\n textTransform: 'capitalize',\n paddingBottom: theme.spacing(2),\n fontSize: 20,\n },\n actionButtons: {\n paddingTop: '20px',\n paddingBottom: '30px',\n textAlign: 'right',\n '& button': {\n textTransform: 'capitalize',\n }\n },\n paddingBottomLg: {\n paddingBottom: theme.spacing(11),\n marginBottom: theme.spacing(6)\n },\n paddingBottom: {\n paddingBottom: theme.spacing(8)\n },\n modal: {\n '&.MuiDialog-paperWidthSm': {\n maxWidth: '780px',\n\n }\n },\n}));\n\nfunction ManageDataDialog(props) {\n const classes = useStyles();\n const { paddingBottom, fullWidth, noTitle, handleClose, handleSubmit, handleCloseMenu, children, loading, title, type, maxWidth, files, noAction, centerActionBtns, centerAlign, fontSize, changeWidth, rWidth } = props;\n const { tableRefresh, setTableRefresh } = useContext(WorkshopContext)\n\n\n const handleFormSubmit = (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n\n if (files) {\n if (Array.isArray(files)) {\n for (let i = 0;i < files.length - 1;i++) {\n formData.append('documents[]', files[i][0])\n }\n return handleSubmit(formData);\n }\n formData.append('documents[]', files)\n return handleSubmit(formData);\n }\n handleSubmit(formData);\n setTimeout(() => {\n setTableRefresh(true)\n }, 2000)\n\n }\n\n const _handleClose = () => {\n handleClose();\n if (handleCloseMenu) handleCloseMenu();\n setTableRefresh(false)\n }\n const _handleSubmit = () => {\n handleSubmit()\n }\n\n const handleConfirm = () => {\n if (type === 'delete') {\n\n return _handleSubmit(), setTimeout(() => {\n setTableRefresh(true)\n }, 2000)\n\n\n }\n handleCloseMenu ? handleCloseMenu() : handleClose()\n setTableRefresh(false)\n }\n\n return (\n \n \n {type !== 'delete' ?
\n {!noTitle && \n {title === \"\" ? \"\" : title}\n }\n
\n {children}\n {!noAction &&
\n _handleClose()} style={{ marginRight: '20px' }}>Cancel\n {\n type !== 'view' &&\n {type}\n }\n
}\n
\n
:\n
\n {children}\n {!noAction &&
\n Cancel\n {\n handleConfirm()\n }}>Yes, Confirm\n
}\n
\n }\n
\n \n )\n}\n\nexport default ManageDataDialog;\n","import React, { useEffect, useState } from \"react\";\nimport MROButton from \"../buttons\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Box } from '@material-ui/core'\nimport FileIcon from \"@material-ui/icons/AttachFile\";\nimport { ReactComponent as UploadIcon } from \"../../assets/icons/UploadDoc.svg\";\nimport DataService from \"../../lib/services/api\";\nimport { useContext } from \"react\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n '& > *': {\n margin: theme.spacing(1),\n },\n },\n input: {\n display: 'none',\n },\n error: {\n borderColor: \"red\",\n color: \"red\",\n // fontSize:\"12px\"\n },\n}));\n\n\nfunction UploadButton(props) {\n const classes = useStyles();\n const message = useContext(ToastMessageContext)\n const { width, height, disabled, accept, error, visibilityStatus, name, action, multiple, defaultValue, process, id, label, noFileExist, readOnly, labelName } = props;\n const [files, setFiles] = useState([]);\n const [loading, setLoading] = useState(false);\n\n const fileList = Array.from(files[0] || []);\n\n useEffect(() => {\n if (process && files && files[0] && id) {\n setLoading(true);\n const formData = new FormData();\n formData.append(name, files[0]);\n formData.append('id', id);\n DataService.updateData(formData, \"\", 'authDoc').then((res) => {\n setLoading(false);\n })\n }\n }, [process])\n\n const single_file = \"application/pdf\"\n const multiple_file = \".docx, .doc, .xlsx, .xls, .csv, .pdf, .ppt,.pptx, .jpg,.jpeg, .png\"\n const video_file = \"*\"\n\n const handleChange = (e) => {\n let bytes = e.target.files[0].size\n let fileSize = Math.round(bytes / (1024 * 1024))\n if (multiple && fileSize < 20) {\n setFiles([...files, e.target.files])\n } else if (!multiple && fileSize < 20) {\n setFiles([e.target.files])\n } else {\n message.showToastMessage({\n message: \"File too large! - Greater than 20MB\",\n variant: \"error\"\n })\n }\n }\n\n useEffect(() => {\n typeof props.setFiles === 'function' && props.setFiles([...files]);\n }, [files.length]);\n\n return (\n
\n \n {label && {label}    }\n \n \n \n {/* { 0 ? {} : classes.error} >{fileList && fileList.length > 0 ? \"\": \"Please upload a document *\"}} */}\n\n
\n {defaultValue && defaultValue?.length > 0 && {noFileExist ?? \"Existing Files:\"}}\n {defaultValue && defaultValue?.map((file, i) =>
\n {file.name ? \n   {file.name} : \"No Files found\"}\n
)}\n {fileList && fileList.length > 0 && {noFileExist ?? \"Chosen Files(new):\"}}\n {fileList && fileList?.map((file, i) =>
\n   {file.name}\n
)}\n {error && Please select the {labelName?.replace(\"*\", \"\") ?? label?.replace(\"*\", \"\")}}\n
\n
\n )\n}\n\nexport default UploadButton;","import React, { useEffect, useState } from \"react\";\nimport {\n KeyboardDatePicker,\n MuiPickersUtilsProvider,\n DateTimePicker,\n KeyboardDateTimePicker,\n KeyboardTimePicker\n} from '@material-ui/pickers';\nimport MomentUtils from '@date-io/moment';\nimport { makeStyles } from '@material-ui/core/styles';\nimport moment from \"moment\";\nimport MROTextField from \"./TextField\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n margin: theme.spacing(1, 0),\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: theme.palette.primary.main + '!important',\n borderWidth: '1px !important'\n },\n '&:hover fieldset': {\n borderColor: theme.palette.primary.light + '!important',\n // borderWidth: '1px !important'\n },\n '&.Mui-disabled fieldset': {\n borderColor: 'rgba(0, 0, 0, 0.26) !important'\n },\n '&.Mui-error fieldset': {\n borderColor: '#f44336 !important',\n },\n '& .MuiOutlinedInput-input': {\n padding: '15px'\n }\n },\n '& label': {\n color: theme.palette.primary.main\n }\n },\n}))\n\n\n\nexport const checkFromat = (date) =>\n /^\\d{4}\\-(0?[1-9]|1[012])\\-(0?[1-9]|[12][0-9]|3[01])$/.test(date);\n\nfunction LMEventsDateTimeField(props) {\n const classes = useStyles();\n const [selectedDate, setSelectedDate] = useState(null);\n const { label, name, defaultValue, variant, disabled, onlyTime, onChange, setErrors, errors, format, helperText, maxDate, type\n } = props;\n\n function container() {\n // Use the fullscreen element if in fullscreen mode, otherwise just the document's body\n return document.fullscreenElement ?? document.body;\n }\n\n useEffect(() => {\n if (defaultValue !== 'Invalid date') {\n setSelectedDate(defaultValue ? moment(defaultValue, onlyTime ? \"HH:mm\" : \"DD/MM/YYYY HH:mm:ss a\") : null)\n }\n else {\n setSelectedDate(\"\")\n }\n }, [defaultValue]);\n\n const changeDate = (date) => {\n if (date === null) {\n\n setSelectedDate(\"\")\n onChange && onChange(\"\")\n } else {\n setSelectedDate(date);\n onChange && onChange(moment(date).format(type === \"events\" ? \"DD/MM/YYYY HH:mm\" : \"DD/MM/YYYY HH:mm:ss\"))\n\n }\n }\n\n const changeTime = (date) => {\n setSelectedDate(date); onChange && onChange(moment(date).format(type === \"events\" ? \"DD/MM/YYYY HH:mm\" : \"DD/MM/YYYY HH:mm:ss\"))\n }\n moment.locale(\"es-es\", {\n week: {\n dow: 1 //Monday is the first day of the week.\n }\n });\n if (onlyTime) {\n return \n { changeTime(date) }}\n />\n \n \n }\n\n return (\n \n console.log(event.target.value)}\n // InputAdornmentProps={{ position: \"end\" }}\n error={errors && errors}\n onChange={date => { changeDate(date) }}\n InputLabelProps={{ shrink: true }}\n\n />\n \n\n {errors && (\n

\n {helperText}\n

\n )}\n
\n )\n}\n\nexport default LMEventsDateTimeField;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","import {DATA_SERVICE_ACTIONS} from \"../actions/data_actions\";\nimport CreateReducer from '../lib/utils/create_reducer';\n\nexport const INITIAL_DATA_STATE = {\n currentData:{},\n inProcessing:false\n}\n\nconst dataReducer = CreateReducer(INITIAL_DATA_STATE, {\n [DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS](state,action){\n return {\n ...state,\n inProcessing:!!action.payload || !state.inProcessing\n }\n },\n [DATA_SERVICE_ACTIONS.CLEAR_DATA](state,action){\n return {\n ...state,\n inProcessing: false,\n currentData: {}\n }\n },\n [DATA_SERVICE_ACTIONS.SET_DATA](state,action){\n return {\n ...state,\n inProcessing: false,\n currentData:action.payload.data||action.payload[action.key]\n }\n },\n});\n\nexport default dataReducer;","import requestrApi from \"../common/boxr_api_client\";\n\nconst saveOperationFields =\n (params = {}) =>\n (data) => {\n return requestrApi({\n url: \"/operation_fields/save_operation_fields\",\n method: \"PUT\",\n params: params,\n data: data,\n });\n };\n\nconst retrieveTableStructures = (params = {}) => {\n return requestrApi({\n url: \"/operation_fields/retrieve_table_structures\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst addRequestPart = (data) => {\n return requestrApi({\n url: \"/part_requests/operation_part_request\",\n method: \"POST\",\n data: data,\n });\n};\n\nconst editRequestPart = (formData) => {\n return requestrApi({\n url: \"/part_requests/edit_part_request\",\n method: \"PUT\",\n data: formData,\n });\n};\n\nconst getRequestPartDetails = (params) => {\n return requestrApi({\n url: \"/part_requests/part_request_details\",\n method: \"GET\",\n params,\n });\n};\n\nconst getAllocatedJobReq = (params) =>{\n return requestrApi({\n url: \"/part_requests/allocated_job_req_details\",\n method: \"GET\",\n params,\n });\n}\n\n// This is for Create tab.\nconst addPart = (formData) => {\n return requestrApi({\n url: \"/primary_parts\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst createJobRequest = (params) => {\n return requestrApi({\n url: \"/part_requests/operation_part_request\",\n method: \"POST\",\n params\n })\n}\n\nfunction deleteTooling(formData) {\n return requestrApi({\n url: `/operation_fields/delete_tooling`,\n method: 'DELETE',\n data: formData,\n })\n}\n\nexport const OperationService = {\n saveOperationFields,\n retrieveTableStructures,\n addRequestPart,\n getRequestPartDetails,\n editRequestPart,\n getAllocatedJobReq,\n addPart,\n createJobRequest,\n deleteTooling\n};\n","import axios from \"axios\";\nimport { BASE_API_URL_BOXR } from \"../../../constants\";\n\nexport const request = function (options) {\n\n const authHeaders = JSON.parse(sessionStorage.getItem('authorization_headers'));\n const users = JSON.parse(sessionStorage.getItem('user'));\n const organisation = JSON.parse(sessionStorage.getItem('organisation'));\n if (users != null && users.role == \"super_admin\") {\n \n let mainUrl=options['url']\n let url1= mainUrl+ '?organisation_id=';\n let url2 = mainUrl+'&organisation_id=';\n let logicFiedUrl = mainUrl?.includes('?') ? (url2+organisation.id) : (url1+organisation.id)\n // options['url'] != '/organisations/organisation_login' && (options['url'] = options['url'] + '?organisation_id=' + organisation.id)\n options['url'] != '/organisations/organisation_login' && (options['url'] = logicFiedUrl )\n }\n const client = axios.create({\n baseURL: BASE_API_URL_BOXR,\n headers: options.headers || authHeaders\n });\n\n const onSuccess = function (response) {\n if (options.handleHeaders === 1) {\n if (response && response.data && response.data.user) {\n sessionStorage.setItem('authorization_headers', JSON.stringify(response.headers));\n const userRole = response.data.user_role;\n const user = JSON.stringify({ ...response.data.user, role: userRole });\n sessionStorage.setItem(\"user\", user);\n const permissions = JSON.stringify(response.data.permissions);\n const organisation = JSON.stringify(response.data.organisation);\n const logo = response.data.avatar;\n permissions && sessionStorage.setItem('permissions', permissions);\n organisation && sessionStorage.setItem('organisation', organisation);\n logo && sessionStorage.setItem('logo', logo);\n }\n }\n if (options.handleHeaders === 3) {\n if (response && response.data && response.data.user) {\n console.log(response)\n\n const userRole = response.data.user.role;\n const user = JSON.stringify({ ...response.data.user, role: userRole });\n const organisation = JSON.stringify(response.data.organisation);\n const logo = response.data.avatar;\n sessionStorage.setItem(\"user\", user);\n sessionStorage.setItem('authorization_headers', JSON.stringify(response.headers));\n organisation && sessionStorage.setItem('organisation', organisation);\n logo && sessionStorage.setItem('logo', logo);\n }\n }\n if (options.handleHeaders === 0) {\n const logo = sessionStorage.getItem('logo');\n sessionStorage.clear();\n logo && sessionStorage.setItem('logo', logo);\n window.location.href = '/auth/signin';\n }\n const resp = response.data;\n if (resp.hasOwnProperty(\"success\")) {\n return resp;\n }\n else {\n return { ...resp, success: true }\n }\n };\n\n const onError = function (error) {\n if (options.handleHeaders === 0) {\n const logo = sessionStorage.getItem('logo');\n sessionStorage.clear();\n logo && sessionStorage.setItem('logo', logo);\n }\n if (error.response) {\n if (error.response.status === 401 && options.handleHeaders !== 1) {\n window.location.href = '/auth/signin';\n }\n }\n //Check API and return response in accepted state with error data and success equals false flag to avoid catch block in all api requests.\n return Promise.reject(error.response ? error.response.data : { message: \"something went wrong\", success: false } || error.message || error.errors);\n };\n\n return client(options)\n .then(onSuccess)\n .catch(onError);\n};\n\nexport default request;\n\n","import requestApi from \"lib/services/api/common/boxp_api_client\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\n\nconst getAllActions = (params) => {\n return requestApi({\n url: `/action_calendar`,\n method: \"GET\",\n params,\n });\n}\nconst createAction = (formData) => {\n return requestApi({\n url: `/action_calendar`,\n method: \"POST\",\n data: formData\n });\n};\n\nconst getAllDropDown = (params) => {\n return requestApi({\n url: `/action_dependency`,\n method: \"GET\",\n params\n });\n};\nconst getActions = (id) => {\n return requestApi({\n url: `/action_calendar/${id}`,\n method: \"GET\",\n });\n}\nconst updateAction = (data, id) => {\n return requestApi({\n url: `/action_calendar/${id}?_method=PUT`,\n method: \"POST\",\n data,\n });\n};\nconst deleteAction = (id) => {\n return requestApi({\n url: `/action_calendar/${id}`,\n method: \"DELETE\",\n });\n};\nconst getAllActionStages = (params) => {\n return requestApi({\n url: `/action_stages`,\n method: \"GET\",\n params\n });\n};\n\nconst getStagesDetails = (params) => {\n return requestApi({\n url: `/action_stage_details`,\n method: \"GET\",\n params\n });\n};\nconst unlockPopup = (formData) => {\n return requestApi({\n url: `/unlock_inspection?_method=PUT`,\n method: \"POST\",\n data: formData,\n });\n};\nconst updateFile = (formData) => {\n return requestApi({\n url: `/update_file`,\n method: \"POST\",\n data: formData\n });\n};\n\n\nexport const CalenderMaintenanceService = {\n getAllActions,\n createAction,\n getAllDropDown,\n getActions,\n updateAction,\n deleteAction,\n getAllActionStages,\n getStagesDetails,\n unlockPopup,\n updateFile\n};","module.exports = \"data:image/png;base64,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\"","import React from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Button from \"@material-ui/core/Button\";\n\nconst useStyles = makeStyles(theme => ({\n root:{\n display:'flex',\n alignItems:'flex-start',\n flexDirection:'row',\n justifyContent:'flex-start',\n flexWrap:\"wrap\",\n '& button':{\n margin:theme.spacing(1.5,3,1.5,0),\n '&.active':{\n backgroundColor: theme.palette.primary.main,\n borderColor: theme.palette.primary.dark,\n boxShadow: 'none',\n color:'#fff'\n }\n }\n },\n}));\n\nconst MROButton = withStyles(theme=> ({\n root:{\n fontWeight: 400,\n textTransform: 'none',\n fontSize: 14,\n color:theme.palette.primary.main,\n backgroundColor:`${theme.palette.primary.main}1A`,\n '&:hover, &:active': {\n backgroundColor: theme.palette.primary.main,\n borderColor: theme.palette.primary.dark,\n boxShadow: 'none',\n color:'#fff'\n },\n }\n}))((props)=>\n \n \n \n )\n}\n\nexport function SubSectionLabel(props) {\n\n const classes = useStyles();\n\n return (\n \n )\n}\n\nexport default SectionLabelAction;\n","import { Box, IconButton, Tooltip, Typography, Grid, FormControl, Select, InputBase, MenuItem } from '@material-ui/core'\nimport MaterialTable from 'material-table';\nimport React, { useCallback, useContext, useRef } from 'react'\nimport { useReducer } from 'react';\nimport { useEffect } from 'react';\nimport { useState } from 'react'\nimport { uniqBy } from 'lodash'\nimport TableAction from '../../../../actions/table_actions';\nimport MROButton from '../../../../components/buttons';\nimport ManageDialog from '../../../../components/form_components/manage_dialog';\nimport tableIcons, { options } from '../../../../components/universal/table_attributes';\nimport { ToastMessageContext } from '../../../../lib/contexts/message_context';\nimport tableReducer, { INITIAL_TABLE_STATE } from '../../../../reducers/table_reducer';\nimport SectionLabelAction from './FieldComponents/section_label_with_action'\nimport { Delete } from '@material-ui/icons';\n\nconst _ = require(\"lodash\");\n\nexport default function AdditionalEngineers(props) {\n\n const { sectionDetails, baseStationId, bases } = props;\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, searchText, inProgress, data } = tableState;\n const [showTableData, setShowTableData] = useState(false);\n const [action, setAction] = useState(null);\n const [base, setBase] = useState('')\n const [selectedKeys, setSelectedKeys] = useState([]);\n const message = useContext(ToastMessageContext)\n const tableRef = useRef()\n const tableOptions = {\n ...options,\n selection: true,\n total: totalCount,\n pageSize: pageSize,\n searchText: searchText\n }\n\n useEffect(() => {\n getUserList();\n }, [pageSize, page, searchText, totalCount, base])\n\n useEffect(() => {\n if (baseStationId !== undefined) {\n setBase(baseStationId)\n }\n }, [baseStationId])\n\n const handleTableData = data => () => {\n setShowTableData(true);\n // getOperationList(mapTasks[data.child_section_name])\n // setCurrentSelection(data);\n }\n\n const handleClose = () => {\n TableAction.setSearchText(dispatch, '');\n tableRef && tableRef.current && tableRef.current.onAllSelected(false);\n setShowTableData(false);\n }\n // console.log(\"Additional\", props.permission)\n\n const getUserList = () => {\n let params = {\n page: page + 1,\n count_per_page: pageSize,\n search_keyword: searchText,\n base_station_id: base\n }\n TableAction.getList(dispatch, message, params, 'fetchUserInfo')\n }\n\n const columns = [{\n title: 'Stamp #',\n field: 'stamp_number',\n headerStyle: {\n width: '30%',\n textAlign: 'center'\n },\n cellStyle: {\n width: '30%',\n textAlign: 'center'\n }\n },\n {\n title: 'Name',\n field: 'name' || 'username',\n headerStyle: {\n width: '75%',\n textAlign: 'left'\n },\n cellStyle: {\n width: '75%',\n textAlign: 'left'\n }\n }\n ]\n\n const _coumns = [{\n headerStyle: {\n width: '2%',\n textAlign: 'left'\n },\n cellStyle: {\n width: '3%',\n textAlign: 'left'\n }\n }, {\n title: 'Stamp #',\n field: 'stamp_number',\n headerStyle: {\n width: '30%',\n textAlign: 'left'\n },\n cellStyle: {\n width: '30%',\n textAlign: 'left'\n }\n },\n {\n title: 'Name',\n field: 'username',\n headerStyle: {\n width: '75%',\n textAlign: 'left'\n },\n cellStyle: {\n width: '75%',\n textAlign: 'left'\n }\n },\n {\n title: 'Action',\n render: rowData => \n handleDeleteAddEngg(rowData)}\n >\n \n \n \n }\n ]\n\n const handleDeleteAddEngg = (rowData) => {\n setTempEngg(tempEngg.filter(engg => engg.user_id !== rowData.user_id))\n }\n\n const section = sectionDetails?.sub_section_fields?.find(field => field.field_name === 'Additional Engineers');\n const _data = section?.field_value;\n // console.log(\"Additional Engineer\", section)\n const handleAddEngg = useCallback(\n () => {\n {\n // tableRef && tableRef.current && tableRef.current.onAllSelected(true);\n let arr = []\n if (!!selectedKeys.length && _data) {\n arr = [...selectedKeys]\n } else if (!!selectedKeys.length) {\n arr = [...selectedKeys];\n } else {\n arr = [..._data]\n }\n setTempEngg([...tempEngg, ...arr])\n\n handleClose();\n\n }\n },\n [selectedKeys, _data],\n )\n\n\n const [tempEngg, setTempEngg] = useState([]);\n useEffect(() => {\n if (_data)\n setTempEngg(_.uniqBy([..._data], 'user_id'))\n }, [])\n\n // console.log(\"tempEngg is==================\", { tempEngg, selectedKeys })\n return (\n <>\n \n \n _d.user_id)}]`} />\n \n \n \n\n {\n showTableData && \n\n \n \n \n Additional Engineers\n \n \n\n \n \n setBase(e.target.value)}\n id=\"tags-standard\"\n value={base}\n name=\"Base Station\"\n defaultValue={baseStationId || \"\"}\n input={}\n >\n Base (All)\n {bases &&\n bases.map((base, i) => (\n \n {base.station}\n \n ))}\n \n \n \n }\n options={tableOptions}\n isLoading={inProgress}\n icons={tableIcons}\n columns={columns}\n data={data.users}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n onSelectionChange={(rows) => {\n setSelectedKeys(rows.map(row => ({\n user_id: row.id,\n username: row.name,\n stamp_number: row.stamp_number\n })))\n\n }}\n />\n \n \n Cancel\n \n   \n {\n handleAddEngg()\n }}\n >Add Additional Engineer(s)\n \n \n }\n \n \n )\n}\n","import { Box, Grid, Typography } from '@material-ui/core'\nimport React, { useEffect, useState } from 'react'\nimport MROTextField from '../../../../components/form_components/TextField';\nimport FreeTextField from './FieldComponents/free_text_field'\n\nexport const constructObject = arr => {\n return arr.reduce(function (result, item) {\n var key = Object.keys(item)[0]; //first property: a, b, c\n result[key] = item[key];\n return result;\n }, {});\n};\n\nexport const AircraftDDs = ({ workOrderId, fields, errors, setErrors }) => {\n\n const [subSections, setSubSections] = useState(fields.sub_sections);\n const [reasonError, setReasonError] = useState({});\n const [addMelError, setAddMelError] = useState({});\n const [out, setOut] = useState(0);\n\n useEffect(() => {\n if (reasonError) {\n // setErrors({ ...errors, ...reasonError })\n }\n }, [reasonError]);\n\n useEffect(() => {\n if (addMelError) {\n // setErrors({ ...errors, ...addMelError })\n }\n }, [addMelError]);\n\n useEffect(() => {\n setSubSections(fields.sub_sections)\n }, [fields.sub_sections])\n\n return (\n
\n {\n subSections && subSections.map((section, index) => {\n if (section.child_section_name === 'Status') {\n return \n }\n if (section.child_section_name === 'Reason ADDs Open') {\n return \n }\n if (section.child_section_name === 'ADD MEL CAT') {\n return \n }\n })\n }\n
\n )\n}\n\nexport default React.memo(AircraftDDs)\n\n\nconst Status = ({ section, errors, setErrors, setOut }) => {\n\n const [state, setstate] = useState({\n In: section?.child_section_fields[0]?.field_value,\n Cleared: section?.child_section_fields[1]?.field_value,\n Raised: section?.child_section_fields[2]?.field_value,\n Out: '0'\n })\n\n const handleChange = _name => ({ target: { name, value, id } }) => {\n setstate({\n ...state,\n [_name]: value\n })\n setErrors && setErrors({\n ...errors,\n [name]: {\n valid: value ? true : false\n }\n })\n }\n\n useEffect(() => {\n let out = parseFloat(state.In) - parseFloat(state.Cleared) + parseFloat(state.Raised)\n setstate({\n ...state,\n Out: out || 0\n })\n }, [state.In, state.Cleared, state.Raised])\n\n useEffect(() => {\n setOut(state.Out)\n }, [state.Out])\n\n return \n {!!section?.child_section_fields?.length && <> {section.child_section_name}\n {\n !section?.child_section_fields?.length && \n \n \n }\n \n \n {\n section?.child_section_fields?.length > 0 && <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n }\n \n}\n\nconst ReasonAdds = ({ section, errors, setErrors, out }) => {\n\n const [state, setstate] = useState({\n ['Spares']: section?.child_section_fields[0]?.field_value,\n ['Gnd Time/Resource']: section?.child_section_fields[1]?.field_value,\n ['Airline Input Required']: section?.child_section_fields[2]?.field_value,\n })\n const [fields, setFields] = useState([]);\n const [hasError, setHasError] = useState(false);\n\n const handleChange = _name => ({ target: { name, value, id } }) => {\n setstate({\n ...state,\n [_name]: value\n })\n\n }\n\n useEffect(() => {\n if (parseFloat(state.Spares) + parseFloat(state['Gnd Time/Resource']) + parseFloat(state['Airline Input Required']) !== parseFloat(out)) {\n // setErrors({\n // ...errors,\n // ...constructObject(fields.map(field => ({\n // [field.id]: {\n // valid: false\n // }\n // })))\n // })\n setHasError(true)\n }\n else {\n setErrors && setErrors({\n ...errors,\n ...constructObject(fields.map(field => ({\n [field.id]: {\n valid: true\n }\n })))\n })\n setHasError(false)\n }\n }, [state, fields.length, out])\n\n useEffect(() => {\n setFields((section.child_section_fields.map(field => {\n return {\n name: field.field_name,\n id: field.id\n }\n })))\n }, [])\n\n return \n {!!section?.child_section_fields?.length && <> {section.child_section_name}\n {\n !section?.child_section_fields?.length && \n \n \n }\n \n \n {\n section && section.child_section_fields.map((field, index) => \n \n \n )\n }\n \n {\n !!section?.child_section_fields?.length && (hasError && out != 0) && \n *Sum of all these values should be equal to ‘OUT’\n \n }\n \n }\n \n}\n\nconst AddMelCat = ({ section, errors, setErrors, out }) => {\n\n const [state, setstate] = useState({\n ['CAT A']: section?.child_section_fields[0]?.field_value,\n ['CAT B']: section?.child_section_fields[1]?.field_value,\n ['CAT C']: section?.child_section_fields[2]?.field_value,\n ['CAT D']: section?.child_section_fields[3]?.field_value\n })\n const [fields, setFields] = useState([]);\n const [hasError, setHasError] = useState(false);\n\n const handleChange = _name => ({ target: { name, value, id } }) => {\n setstate({\n ...state,\n [_name]: value\n })\n\n }\n\n useEffect(() => {\n if (parseFloat(state['CAT A']) + parseFloat(state['CAT B']) + parseFloat(state['CAT C']) + parseFloat(state['CAT D']) !== parseFloat(out)) {\n // setErrors({\n // ...errors,\n // ...constructObject(fields.map(field => ({\n // [field.id]: {\n // valid: false\n // }\n // })))\n // })\n setHasError(true)\n }\n else {\n setErrors && setErrors({\n ...errors,\n ...constructObject(fields.map(field => ({\n [field.id]: {\n valid: true\n }\n })))\n })\n setHasError(false)\n }\n }, [state, fields.length, out])\n\n\n useEffect(() => {\n setFields((section.child_section_fields.map(field => {\n return {\n name: field.field_name,\n id: field.id\n }\n })))\n }, [])\n\n return \n {!!section?.child_section_fields?.length && <> {section.child_section_name}\n {\n !section?.child_section_fields?.length && \n \n \n }\n \n \n {\n section && section.child_section_fields.map((field, index) => \n \n \n )\n }\n \n {\n (hasError && out != 0) && \n *Sum of all these values should be equal to ‘OUT’\n \n } }\n \n}\n","import {Box, Grid} from '@material-ui/core'\nimport React, {useEffect} from 'react'\nimport {useState} from 'react';\nimport moment from 'moment';\nimport FreeTextField from './FieldComponents/free_text_field';\nimport {getTimeDiffFormatted, timeCalculationFields} from './section_detail';\n\nconst InbondDelayCalculation = ({sectionDetails, subSection, errors, setErrors, sub_section_fields, inbondState: state, setInbondState:setState, ...props}) => {\n // const [state, setstate] = useState({\n // 'Act Arrival Date/Time (UTC)': '',\n // 'Est Arrival Date/Time (UTC)': '',\n // 'Inbd delay (mins)': ''\n // })\n\n\n // set values if have the data in the backend\n useEffect(() => {\n if (!subSection.field_value) return;\n setState((prevState) => ({\n ...prevState,\n [subSection.field_name]: subSection.field_value,\n }));\n }, [subSection.field_value, subSection.field_name]);\n\n const handleChange = (data) => {\n setState(prevState => ({\n ...prevState,\n [subSection.field_name]: data\n }))\n // setstate({\n // ...state,\n // [_name]: data\n // })\n }\n\n\n // useEffect(() => {\n // let format = 'YYYY-MM-DD - HH:mm:ss'\n // let revFormat = 'DD-MM-YYYY - HH:mm:ss'\n // let duration = moment.duration(moment(sub_section_fields[3]?.field_value, format)\n // .diff(moment(sub_section_fields[2].field_value, format)));\n\n // if (duration.isValid()) {\n // const hrs = (duration.get('days') * 24 + duration.get(\"hours\")).toString().padStart(2, '0') + \":\" + duration.get(\"minutes\").toString().padStart(2, '0')\n // const timespan = hrs.toString().padStart(2, '0')\n // + \":\" + duration.get(\"seconds\").toString().\n // padStart(2, '0');\n\n // setState({\n // ...state,\n // [timeCalculationFields[0]]: sub_section_fields[2]['field_value'],\n // [timeCalculationFields[1]]: sub_section_fields[3]['field_value'],\n // // [timeCalculationFields[2]]: getTimeDiffFormatted(duration)\n // 'Inbd delay (mins)': getTimeDiffFormatted(duration)\n // })\n // }\n // }, [sub_section_fields,sectionDetails])\n\n const calculateInbdDelay = () => {\n const format = \"YYYY-MM-DD - HH:mm:ss\";\n const estArrivalDateTime = moment(state[\"Est Arrival Date/Time (UTC)\"], format);\n const actArrivalDateTime = moment(state[\"Act Arrival Date/Time (UTC)\"], format);\n\n const duration = moment.duration(actArrivalDateTime.diff(estArrivalDateTime))\n\n if(duration.isValid()) {\n const inbdDelayTime = getTimeDiffFormatted(duration)\n setState(prevState => ({...prevState, \"Inbd delay (mins)\": inbdDelayTime}))\n } else {\n setState(prevState => ({...prevState, \"Inbd delay (mins)\": \"\"}))\n }\n }\n\n\n useEffect(() => {\n calculateInbdDelay()\n }, [state[\"Est Arrival Date/Time (UTC)\"], state[\"Act Arrival Date/Time (UTC)\"]])\n\n return (\n \n \n \n \n \n \n \n )\n}\n\n\nexport default React.memo(InbondDelayCalculation)\n","import { Box, Grid, MenuItem } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport moment from \"moment\";\nimport FreeTextField from \"./FieldComponents/free_text_field\";\nimport {\n getTimeDiffFormatted\n} from \"./section_detail\";\nimport ListingService from \"lib/services/api/listing_service\";\nimport MROTextField from \"components/form_components/TextField\";\n\nexport const DepartureDelayCalculation = ({\n subSection,\n errors,\n setErrors,\n sub_section_fields,\n inbondState: state,\n lineCustomerId,\n actArrivalDate,\n setInbondState: setState,\n setDelayCode,\n ...props\n}) => {\n // const [state, setstate] = useState({\n // 'Act Arrival Date/Time (UTC)': '',\n // 'Est Arrival Date/Time (UTC)': '',\n // 'Inbd delay (mins)': ''\n // })\n\n console.log(\"props are=================\", subSection, \"============\", sub_section_fields, \"========\", state, \"=======\", actArrivalDate)\n\n const [delayReasonDpdValues, setDelayReasonDpdValues] = useState([]);\n\n useEffect(() => {\n if (delayReasonDpdValues.length > 0) return;\n const parmas = { line_customer_id: lineCustomerId };\n ListingService.getData(parmas, \"delayReasonDpdValues\")\n .then((res) => {\n setDelayReasonDpdValues(res.delay_codes);\n })\n .catch((err) => {\n console.log(err);\n });\n }, []);\n\n // set values if have the data in the backend\n useEffect(() => {\n if (!subSection.field_value) return;\n setState((prevState) => ({\n ...prevState,\n [subSection.field_name]: subSection.field_value,\n }));\n }, [subSection.field_value, subSection.field_name]);\n\n const handleChange = (data) => {\n setState({\n ...state,\n [subSection.field_name]: data,\n });\n };\n\n // useEffect(() => {\n // let format = \"YYYY-MM-DD - HH:mm:ss a\";\n // let revFormat = \"DD-MM-YYYY - HH:mm:ss a\";\n // let duration = moment.duration(\n // moment(sub_section_fields[0].field_value, format).diff(\n // moment(sub_section_fields[1].field_value, format)\n // )\n // );\n\n // if (duration.isValid()) {\n // const days = duration.get(\"days\");\n // const hrs =\n // days > 0\n // ? String(duration.get(\"days\")).padStart(2, \"0\") +\n // \":\" +\n // String(duration.get(\"hours\")).padStart(2, \"0\") +\n // \":\" +\n // String(duration.get(\"minutes\")).padStart(2, \"0\")\n // : String(duration.get(\"hours\")).padStart(2, \"0\") +\n // \":\" +\n // String(duration.get(\"minutes\")).padStart(2, \"0\");\n // const timespan = hrs;\n\n // setState({\n // ...state,\n // [departureTimeCalcFields[0]]: sub_section_fields?.find(\n // (field) => field?.field_name === departureTimeCalcFields[0]\n // )[\"field_value\"],\n // [departureTimeCalcFields[1]]: sub_section_fields?.find(\n // (field) => field?.field_name === departureTimeCalcFields[1]\n // )[\"field_value\"],\n // Delay: getTimeDiffFormatted(duration),\n // });\n // }\n // }, []);\n\n const calculateGndAndDelay = () => {\n const format = \"YYYY-MM-DD - HH:mm:ss\";\n //Act Departure Date/Time (UTC)\n const actDeparture = moment(state[\"Act Departure Date/Time (UTC)\"], format);\n const estDeparture = moment(state[\"Est Departure Date/Time (UTC)\"], format);\n\n const actArrival = moment(actArrivalDate, format);\n\n const gndDuration = moment.duration(actDeparture.diff(actArrival));\n const delayDuration = moment.duration(actDeparture.diff(estDeparture));\n\n // if (delayDuration.isValid()) {\n const DelayHours = getTimeDiffFormatted(delayDuration);\n\n const gndHours = getTimeDiffFormatted(gndDuration);\n\n console.log(\"actual departure===========\", DelayHours, gndHours)\n setDelayCode(delayDuration.isValid() ? DelayHours : \"00:00\")\n setState((prevState) => ({\n ...prevState,\n Delay: delayDuration.isValid() ? DelayHours : \"\",\n \"Gnd time\": gndDuration.isValid() ? gndHours : \"\",\n }));\n // }\n };\n\n useEffect(() => {\n calculateGndAndDelay();\n }, [\n state[\"Act Departure Date/Time (UTC)\"],\n state[\"Est Departure Date/Time (UTC)\"],\n actArrivalDate,\n ]);\n\n return (\n \n \n \n \n\n {subSection.secondary_fields &&\n subSection.secondary_fields.map(\n (field, idx) =>\n /[1-9]/.test(state[\"Delay\"]) &&\n !/[-]/.test(state[\"Delay\"]) && (\n // null}\n // menuItems={\n // field.field_type === \"Dropdown\"\n // ? delayReasonDpdValues\n // : undefined\n // }\n // />\n \n {delayReasonDpdValues?.map((item, idx) => (\n \n {item.name}\n \n ))}\n \n )\n )}\n \n \n \n );\n};\n\nexport default React.memo(DepartureDelayCalculation);\n","import React, { useState, useEffect } from 'react'\nimport DropdownField from \"./FieldComponents/dropdown_field\"\nimport MROTextField from '../../../../components/form_components/TextField'\nimport { Grid } from '@material-ui/core';\nimport FreeTextField from './FieldComponents/free_text_field';\n\nexport const StaionCompleteAndComments = ({ bases, subSection, errors, setErrors, selectedBase }) => {\n const [dropdownValues, setDropDownValues] = useState([]);\n\n // console.log(\"bases os==================\", selectedBase)\n // console.log(\"subsection os==================\", subSection)\n const fielsubSection = {\n // required: subSection.mandatory || false,\n type: subSection.field_type === 'Datetime' ? 'date' : \"text\",\n label: subSection.field_name,\n name: `${subSection.id || subSection.org_field_id}`,\n defaultValue: subSection.field_value,\n value: subSection.value,\n disabled: subSection.disabled,\n error: errors && errors[subSection.id || subSection.org_field_id] && !errors[subSection.id || subSection.org_field_id].valid\n }\n const inputProps = {\n maxLength: subSection.max_length,\n\n };\n useEffect(() => {\n if (!!bases?.length) {\n setDropDownValues(bases.map(base => base.station))\n }\n }, [bases?.length])\n\n return (\n
\n\n\n {\n subSection.field_name === 'Comments' && \n }\n \n {\n subSection.field_name === 'Station Complete' &&\n // \n \n }\n \n
\n )\n}\n\nexport default React.memo(StaionCompleteAndComments)\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport {\n Grid,\n Typography,\n makeStyles,\n FormControl,\n Select,\n InputBase,\n MenuItem,\n Box,\n IconButton,\n FormControlLabel,\n Switch,\n useTheme,\n InputAdornment,\n} from \"@material-ui/core\";\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport useDependencies from \"lib/hooks/useDependencies\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport MROTextField from \"components/form_components/TextField\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport { Autocomplete, ToggleButton, ToggleButtonGroup } from \"@material-ui/lab\";\nimport MROButton from \"components/buttons\";\nimport TouchAppIcon from \"@material-ui/icons/TouchApp\";\nimport useDebounce from \"lib/utils/debounce\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { Visibility } from \"@material-ui/icons\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport StockInfo from \"../../../../../../Stores/Parts/Stocks/stockInfo\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { OperationService } from \"lib/services/api/operaitons/save_operation\";\nimport CopyParts from 'assets/copyparts.png'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: \"100%\",\n \"& .MuiOutlinedInput-multiline\": {\n minHeight: \"89px\",\n },\n\n \"& textarea::placeholder\": {\n textTransform: \"none !important\",\n },\n\n \"& form\": {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n\n \"& .Mui-disabled\": {\n color: \"rgba(0, 0, 0, 0.7)\",\n },\n },\n error: {\n borderColor: \"#ff0056\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n margin: \"0px\",\n },\n title: {\n fontSize: \"20px\",\n },\n\n StockInfoDrawer: {\n \"& > div[aria-hidden='true']\": {\n visibility: \"hidden !important\",\n },\n },\n}));\n\nfunction Search(props) {\n const { baseStationId, lineCustomerId, acReg, workOrderId, onClose, taskDetails } = props;\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const theme = useTheme();\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, inProgress, data } = tableState;\n const [baseStations, lineCustomers] = useDependencies();\n const [searchText, setSearchText] = useState(\"\");\n const debouncedVal = useDebounce(searchText);\n const [qty, setQty] = useState();\n const [value, setValue] = useState(null);\n const [currentSelection, setCurrentSelection] = useState({});\n const [action, setAction] = useState(null);\n const [errors, setErrors] = useState({});\n const [busy, setBusy] = useState(null);\n const [workOrderNum, setWorkOrderNum] = useState();\n const [filters, setFilters] = useState({\n line_customer_id: null,\n mro_owned: false,\n });\n const [selectedPart, setSelectedPart] = useState({});\n const [quantityRemoved, setQuantityRemoved] = useState();\n const [copyPartsOff, setCopyPartsOff] = useState('')\n const [seletectedTask, setSelectedTask] = useState({})\n const [selectedTaskId, SetSelectedID] = useState({})\n\n useEffect(() => {\n const myData = JSON.parse(localStorage.getItem(\"workOrder\"));\n setWorkOrderNum(myData?.work_order_number);\n }, []);\n\n useEffect(() => {\n setFilters((prevState) => ({\n ...prevState,\n base_station_id: baseStationId,\n }));\n }, [baseStationId]);\n\n const getList = () => {\n const parmas = {\n search_keyword: debouncedVal,\n page: page + 1,\n count_per_page: pageSize,\n ...filters,\n };\n\n TableAction.getList(dispatch, message, parmas, \"requestPart\");\n };\n\n useEffect(() => {\n if (filters.hasOwnProperty(\"base_station_id\")) {\n getList();\n }\n }, [page, debouncedVal, pageSize, filters]);\n\n const addPartFields = [\n {\n label: \"Selected Part # *\",\n placeholder: \"No Part Selected\",\n type: \"text\",\n required: true,\n name: \"selected_part_number\",\n disabled: true,\n defaultValue: selectedPart.part_number,\n },\n {\n label: \"Base Stock QTY\",\n placeholder: \"No Part Selected\",\n type: \"text\",\n required: false,\n name: \"stock_qty\",\n disabled: true,\n defaultValue: selectedPart.own_stock,\n },\n\n ];\n\n const addPartFields1 = [{\n label: \"Task # *\",\n placeholder: \"Search & Select\",\n type: \"select\",\n required: true,\n name: \"operational_task_id\",\n disabled: false,\n maxLength: \"\",\n setId: SetSelectedID,\n values: seletectedTask,\n setValues: setSelectedTask,\n data: taskDetails?.map((item) => ({\n id: item?.id,\n value: item?.task_tlp,\n })),\n },\n {\n label: \"Comment *\",\n placeholder: \"E.g., ZONE\",\n type: \"text\",\n required: true,\n name: \"issued_comment\",\n disabled: false,\n data: \"\",\n maxLength: 30\n },\n {\n label: value === \"yes\" ? \"Install Location *\" : \"Install Location\",\n placeholder: \"Location\",\n type: \"text\",\n required: value === \"yes\" ? true : false,\n name: \"install_location\",\n disabled: false,\n data: \"\",\n maxLength: 30\n },\n {\n label: \"DD / HIL \",\n placeholder: \"DD / HIL reference\",\n type: \"text\",\n required: false,\n name: \"defferal_data\",\n disabled: false,\n data: \"\",\n maxLength: 30\n },]\n\n const repairableFields = [\n {\n label: \"Part # Off *\",\n placeholder: \"Enter Part Number\",\n type: \"text\",\n required: true,\n name: \"part_off\",\n disabled: false,\n },\n {\n label: \"Serial # Off *\",\n placeholder: \"Enter Serial Number\",\n type: \"text\",\n required: true,\n name: \"serial_off\",\n disabled: false,\n },\n {\n label: \"U/S Comment * \",\n placeholder:\n \"Enter a removal reason or other comment as applicable - Max 150 Characters\",\n type: \"description\",\n required: true,\n name: \"us_comment\",\n disabled: false,\n },\n ];\n\n const tableOptions = {\n ...options,\n page: page,\n search: false,\n total: totalCount,\n pageSize: 10,\n searchText: searchText,\n };\n\n const handleViewInfo = (rowData) => {\n setAction(\"view\");\n setCurrentSelection(rowData);\n };\n\n const columns = [\n {\n title: \"Part #\",\n field: \"part_number\",\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"10px\",\n width: \"35%\",\n },\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"10px\",\n width: \"35%\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n cellStyle: {\n width: \"40%\",\n paddingLeft: \"20px\",\n },\n headerStyle: {\n width: \"40%\",\n textAlign: \"left\",\n paddingLeft: \"20px\",\n },\n },\n {\n title: \"Total Stock\",\n field: \"total_stock\",\n },\n {\n title: \"Base Stock\",\n field: \"own_stock\",\n },\n\n {\n title: \"Stock Info\",\n field: \"\",\n headerStyle: {\n textAlign: \"center\",\n width: \"6%\",\n },\n cellStyle: {\n textAlign: \"center\",\n width: \"6%\",\n },\n render: (rowData) => (\n handleViewInfo(rowData)}>\n \n \n ),\n },\n {\n title: \"Select\",\n field: \"select\",\n render: (rowData) => (\n setSelectedPart(rowData)}>\n \n \n ),\n },\n ];\n\n const handleToggle = (value) => {\n if (value) {\n setValue(value);\n }\n if (value === \"no\") {\n setErrors({ ...errors, install_location: false, part_off: false, serial_off: false, us_comment: false, removed_quantity: false });\n }\n\n };\n\n const handleCopyFunction = () => {\n setCopyPartsOff(selectedPart.part_number)\n\n }\n useEffect(() => {\n if (qty > selectedPart.own_stock) {\n console.log(\"inside if check\");\n setErrors((prevState) => ({\n ...prevState,\n quantity:\n \"Required QTY exceeds Base Stock QTY! - Please enter a deferred defect number for tracking\",\n }));\n } else {\n setErrors((prevState) => ({\n ...prevState,\n quantity: false,\n }));\n }\n }, [qty, selectedPart.own_stock]);\n\n const validateFields = (formData) => {\n let valid = true;\n let error = {};\n\n const allFields = [...addPartFields, ...addPartFields1, ...repairableFields,];\n\n const required_quantity = formData.get(\"quantity\");\n const location = formData.get(\"install_location\")\n\n allFields.forEach(({ required, disabled }) => {\n for (let pair of formData.entries()) {\n const key = pair[0];\n\n if (pair[1] === \"\" && required === true) {\n if (key === \"defferal_data\" || key === \"stock_qty\" || key === \"selected_part_number\" || key === \"install_location\") {\n //do nothing\n }\n else {\n error[key] = true;\n valid = false;\n }\n }\n }\n });\n if ((value === \"yes\" && location === \"\")) {\n error[\"install_location\"] = true;\n valid = false;\n }\n console.log(\"errors====\", error)\n if (!value) {\n error[\"rotable_removed\"] = true;\n valid = false;\n }\n\n if (+required_quantity === 0) {\n error[\"quantity\"] = true;\n error[\"required_quantity_is_zero\"] = true;\n valid = false;\n }\n\n if (!valid) {\n setErrors((prevState) => ({ ...prevState, ...error }));\n }\n return valid;\n };\n\n useEffect(() => {\n console.log({ selectedPart });\n }, [selectedPart]);\n\n const submitHandler = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n formData.delete(\"rotable_removed\");\n formData.append(\"rotable_removed\", value === \"yes\" ? true : false);\n formData.append(\"to_base_station_id\", baseStationId);\n formData.append(\"line_customer_id\", lineCustomerId);\n formData.append(\"user_id\", user?.id);\n formData.append(\"aircraft_registration\", acReg);\n formData.append(\"primary_part_id\", selectedPart.id);\n formData.append(\"reportable_type\", \"WorkOrder\");\n formData.append(\"reportable_id\", workOrderId);\n formData.append(\"order_number\", workOrderNum);\n\n if (!validateFields(formData)) {\n return;\n }\n formData.delete(\"operational_task_id\")\n formData.append(\"operational_task_id\", selectedTaskId?.id)\n setBusy(\"loading\");\n try {\n const response = await OperationService.addRequestPart(formData);\n console.log(\"response\", response);\n if (response.success) {\n message.showToastMessage({\n message: \"Added successfully.\",\n variant: \"success\",\n });\n }\n else {\n message.showToastMessage({ message: response.errors ? response.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n }\n onClose();\n\n\n setBusy(null);\n } catch (res) {\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n setBusy(\"error\");\n }\n\n console.log(\"Validation passeed\");\n };\n\n return (\n <>\n \n \n \n Search Part\n \n {\n TableAction.setPage(dispatch, 0);\n setSearchText(value);\n }}\n searchText={searchText}\n >\n \n \n setFilters((prevState) => ({\n ...prevState,\n base_station_id: e.target.value,\n }))\n }\n input={}\n >\n Base (All)\n {baseStations?.map((item, i) => (\n \n {item.station}\n \n ))}\n \n \n \n \n setFilters((prevState) => ({\n ...prevState,\n line_customer_id: e.target.value,\n mro_owned: false,\n }))\n }\n input={}\n // disabled={filters.mro_owned}\n >\n Owner (All)\n {lineCustomers?.map((item, i) => (\n \n {item.name}\n \n ))}\n \n \n\n \n setFilters((prevState) => ({\n ...prevState,\n mro_owned: e.target.checked,\n line_customer_id: null,\n }))\n }\n // name=\"checkedB\"\n color=\"primary\"\n />\n }\n label=\"MRO Owned Part?\"\n labelPlacement=\"start\"\n />\n \n\n {/* Table */}\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n \n Add Part\n \n\n
\n {addPartFields.map(\n (\n { placeholder, label, name, disabled, required, defaultValue },\n i\n ) => (\n \n setErrors((prevState) => ({ ...prevState, [name]: false }))\n }\n variant=\"outlined\"\n color=\"primary\"\n InputLabelProps={{ shrink: true }}\n disabled={disabled}\n value={disabled ? defaultValue ?? placeholder : undefined} // this condition added here to get rid of controlled/uncontolled error.\n />\n )\n )}\n \n setErrors((prevState) => ({\n ...prevState,\n quantity: false,\n required_quantity_is_zero: false\n }))\n }\n setQty={setQty}\n qty={qty}\n />\n\n\n\n {/* {errors[\"quantity\"] && typeof errors[\"quantity\"] === \"string\" && (\n <>\n \n \n Required QTY exceeds Base Stock QTY! - Please enter a deferred\n defect number for tracking\n \n \n setErrors((prevState) => ({\n ...prevState,\n defferal_data: false,\n }))\n }\n variant=\"outlined\"\n color=\"primary\"\n InputLabelProps={{ shrink: true }}\n defaultValue={currentSelection[\"defferal_data\"]}\n />\n \n )} */}\n\n {addPartFields1.map(\n (\n { placeholder, label, name, disabled, required, defaultValue, type, data, maxLength, setId, values, setValues },\n i\n ) =>\n type === \"select\" ?\n\n option.id === value.id}\n filterSelectedOptions={true}\n onChange={(event, value) => {\n setId(value)\n }}\n id=\"tags-id\"\n options={data || []}\n // defaultValue={defaultValue}\n getOptionLabel={(option) => option.value || \"\"}\n onInputChange={(event, newInputValue) => {\n setValues(newInputValue)\n\n }}\n inputValue={values}\n renderInput={(params) => (\n {\n setErrors((prevState) => ({ ...prevState, [name]: false }))\n }}\n />\n )}\n />\n\n : \n setErrors((prevState) => ({ ...prevState, [name]: false }))\n }\n type\n variant=\"outlined\"\n color=\"primary\"\n InputLabelProps={{ shrink: true }}\n disabled={disabled}\n inputProps={{ maxLength: maxLength && maxLength }}\n value={disabled ? defaultValue ?? placeholder : undefined} // this condition added here to get rid of controlled/uncontolled error.\n />\n\n\n )}\n\n\n \n \n \n Repairable Part Removed? *\n \n \n \n {\n handleToggle(val);\n setErrors({ ...errors, rotable_removed: false });\n }}\n aria-label=\"yes-or-no\"\n helperText={\n errors[\"rotable_removed\"] &&\n `Please enter Units Issued Each QTY`\n }\n >\n \n No\n \n \n Yes\n \n \n

\n {errors?.rotable_removed && !value ? (\n \n Please select Yes or No\n \n ) : (\n \"\"\n )}\n
\n {value === \"yes\" && (\n <>\n {\n setCopyPartsOff(e.target.value)\n setErrors((prevState) => ({\n ...prevState,\n part_off: false,\n }))\n }}\n InputProps={{\n endAdornment: \n \n \n \n ,\n\n }}\n\n />\n \n setErrors((prevState) => ({\n ...prevState,\n serial_off: false,\n }))\n }\n />\n \n setErrors((prevState) => ({\n ...prevState,\n removed_quantity: false,\n required_quantity_is_zero: false\n }))\n }\n setQty={setQuantityRemoved}\n qty={quantityRemoved}\n />\n \n setErrors((prevState) => ({\n ...prevState,\n us_comment: false,\n }))\n }\n />\n\n \n\n\n\n )}\n\n {/* {value === \"yes\" &&\n repairableFields.map(\n ({ placeholder, name, label, type, required }, i) => (\n \n setErrors((prevState) => ({\n ...prevState,\n [name]: false,\n }))\n }\n />\n )\n )} */}\n\n \n \n Cancel\n \n \n Add\n \n \n \n
\n
\n {action === \"view\" && currentSelection && (\n {\n setSelectedPart({\n own_stock: currentSelection.own_stock,\n id: currentSelection.id,\n ...partDetails,\n });\n setAction(null);\n }}\n permission={{ write: true }}\n action={action}\n currentSelection={currentSelection}\n handleClose={() => setAction(null)}\n className={classes.StockInfoDrawer}\n />\n )\n }\n \n );\n}\n\nexport default Search;\n","import React, { useContext, useState, useEffect } from \"react\";\nimport { makeStyles, Typography, Grid, MenuItem, Box, IconButton, InputAdornment } from \"@material-ui/core\";\nimport MROTextField from \"components/form_components/TextField\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport { Autocomplete, ToggleButton, ToggleButtonGroup } from \"@material-ui/lab\";\nimport MROButton from \"components/buttons\";\nimport { OperationService } from \"lib/services/api/operaitons/save_operation\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport PrimePartsClientServices from \"lib/services/api/stores/tooling/parts_client\";\nimport CopyParts from 'assets/copyparts.png'\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& .MuiOutlinedInput-multiline\": {\n minHeight: \"89px\",\n },\n\n \"& textarea::placeholder\": {\n // textTransform: \"none !important\",\n },\n },\n\n title: {\n fontSize: \"20px\",\n },\n}));\n\nfunction CreateNew(props) {\n const { onClose, workOrderId, baseStationId, lineCustomerId, acReg, workOrderNum, taskDetails } = props;\n\n const classes = useStyles();\n\n const message = useContext(ToastMessageContext);\n\n const [unitQty, setUnitQty] = useState(1);\n const [requiredQty, setRequiredQty] = useState();\n const [value, setValue] = useState(\"no\");\n const [errors, setErrors] = useState({});\n const [busy, setBusy] = useState(null);\n const [workOrderNumber, setWorkOrderNum] = useState(null);\n const [unitOfMeasureItems, setUnitOfMeasureItems] = useState([]);\n const [quantityRemoved, setQuantityRemoved] = useState();\n const [copyPartsOff, setCopyPartsOff] = useState('')\n const [copyPartsON, setCopyPartsOn] = useState('')\n const [description, setDescription] = useState('')\n const [maintdata, setMaintData] = useState('')\n const [serialOff, setSerialOff] = useState('')\n const [defferal, setdefferal] = useState('')\n const [location, setLocation] = useState('')\n const [comments, setComments] = useState('')\n const [seletectedTask, setSelectedTask] = useState({})\n const [selectedTaskId, SetSelectedID] = useState({})\n\n\n\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n useEffect(() => {\n const myData = JSON.parse(localStorage.getItem(\"workOrder\"));\n setWorkOrderNum(myData?.work_order_number);\n }, []);\n\n useEffect(() => {\n PrimePartsClientServices.fetchDependencies()\n .then((res) => {\n if (res) {\n setUnitOfMeasureItems(res.units_of_measure);\n }\n })\n .catch((err) => {\n console.log(\"something weing wrong!\", err);\n });\n }, []);\n const handleCopyFunction = () => {\n setCopyPartsOff(copyPartsON)\n\n }\n\n const unkonwnPartFields = [\n {\n label: \"P/N *\",\n placeholder: \"Part Number\",\n type: \"text\",\n required: true,\n name: \"part_number\",\n value: copyPartsON,\n setValue: setCopyPartsOn\n },\n {\n label: \"Description *\",\n placeholder: \"Max 30 characters\",\n type: \"text\",\n required: true,\n name: \"description\",\n value: description,\n setValue: setDescription\n },\n {\n label: \"Units of Measure *\",\n placeholder: \"\",\n defaultValue: 1,\n type: \"dropdown\",\n values: unitOfMeasureItems?.map((item) => ({\n id: item?.units_of_measure_id,\n value: item?.unit_name,\n })),\n required: true,\n name: \"units_of_measure_id\",\n },\n // {\n // label: \"Units Issued Each QTY *\",\n // placeholder: \"QTY\",\n // type: \"qty\",\n // required: true,\n // name: \"units_issued\",\n // qty: unitQty,\n // setQty: setUnitQty,\n // shouldNotAcceptZero: true,\n // },\n {\n label: \"Maint Data Ref *\",\n placeholder: \"AMM, CMM, IPC etc reference\",\n type: \"text\",\n required: true,\n\n name: \"maint_data_ref\",\n value: maintdata,\n setValue: setMaintData\n },\n ];\n\n const addPartFields = [\n\n {\n label: \"QTY Required *\",\n placeholder: \"QTY\",\n type: \"qty\",\n required: true,\n name: \"required_quantity\",\n qty: requiredQty,\n setQty: setRequiredQty,\n shouldNotAcceptZero: true,\n },\n {\n label: \"Task # *\",\n placeholder: \"Search & Select\",\n type: \"auto\",\n required: true,\n name: \"operational_task_id\",\n setId: SetSelectedID,\n value: seletectedTask,\n setValue: setSelectedTask,\n values: taskDetails?.map((item) => ({\n id: item?.id,\n value: item?.task_tlp,\n })),\n },\n\n {\n label: \"Comment *\",\n placeholder: \"E.g., ZONE\",\n type: \"text\",\n required: true,\n name: \"issued_comment\",\n value: comments,\n setValue: setComments,\n\n }, {\n label: \"DD / HIL # \",\n placeholder: \"DD / HIL reference\",\n type: \"text\",\n required: false,\n name: \"add_deferral\",\n value: defferal,\n setValue: setdefferal\n },\n ];\n\n const repairableFields = [\n {\n label: \"Part # Off *\",\n placeholder: \"Enter Part Number\",\n type: \"text\",\n required: true,\n name: \"part_off\",\n value: copyPartsOff,\n setValue: setCopyPartsOff\n },\n {\n label: \"Serial # Off *\",\n placeholder: \"Enter Serial Number\",\n type: \"text\",\n required: true,\n name: \"serial_off\",\n value: serialOff,\n setValue: setSerialOff\n },\n {\n label: \"QTY Removed *\",\n placeholder: \"Quantity\",\n type: \"qty\",\n required: true,\n name: \"removed_quantity\",\n qty: quantityRemoved,\n setQty: setQuantityRemoved,\n shouldNotAcceptZero: true,\n },\n {\n label: \"U/S Comment \",\n placeholder:\n \"Enter a removal reason or other comment as applicable - Max 150 Characters\",\n type: \"text\",\n required: false,\n multiline: true,\n name: \"us_comment\",\n value: comments,\n setValue: setComments\n },\n ];\n\n // fields validation\n const validateFields = (formData) => {\n let error = {};\n let valid = true;\n\n const requiredQty = formData.get(\"required_quantity\");\n const units_issued_qty = formData.get(\"units_issued\");\n const removedQty = formData.get(\"removed_quantity\");\n\n for (let pair of formData.entries()) {\n const key = pair[0];\n console.log(pair);\n if (pair[1] === \"\" && key !== \"comment\" && key !== \"add_deferral\") {\n error[key] = true;\n valid = false;\n }\n }\n\n if (+requiredQty === 0 && requiredQty !== \"\") {\n error[\"required_quantity_is_zero\"] = true;\n error[\"required_quantity\"] = true;\n valid = false;\n }\n if (+removedQty === 0 && removedQty !== \"\" && value === \"yes\") {\n error[\"removed_quantity_is_zero\"] = true;\n error[\"removed_quantity\"] = true;\n valid = false;\n }\n if (+units_issued_qty === 0 && units_issued_qty !== \"\") {\n error[\"units_issued_qty_is_zero\"] = true;\n error[\"units_issued\"] = true;\n valid = false;\n }\n\n if (!valid) {\n setErrors(error);\n }\n console.log({ error });\n return valid;\n };\n\n const createJobReq = async (formData, id) => {\n const part_off = formData.get(\"part_off\");\n const serial_off = formData.get(\"serial_off\");\n const defferal_data = formData.get(\"add_deferral\");\n const issued_comment = formData.get(\"issued_comment\");\n const install_location = formData.get(\"location\");\n const quantity = formData.get(\"required_quantity\");\n const task_id = formData.get(\"operational_task_id\")\n const params = {\n primary_part_id: id,\n reportable_type: \"WorkOrder\",\n reportable_id: workOrderId,\n quantity,\n to_base_station_id: baseStationId,\n install_location,\n rotable_removed: value === \"yes\" ? true : false,\n part_off,\n serial_off,\n issued_comment,\n line_customer_id: lineCustomerId,\n aircraft_registration: acReg,\n user_id: user.id,\n defferal_data,\n order_number: workOrderNumber,\n operational_task_id: task_id\n\n };\n\n\n await OperationService.createJobRequest(params).then((response) => {\n if (response.success) {\n\n }\n else {\n message.showToastMessage({ message: response.errors ? response.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n\n }\n onClose();\n }).\n catch((res) => {\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n })\n };\n\n // form submit handler\n const submitHandler = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n\n const part_number = formData.get(\"part_number\").toUpperCase();\n\n formData.set(\"part_number\", part_number);\n formData.append(\"user_id\", user.id);\n formData.append(\"units_issued\", \"1\")\n\n if (!validateFields(formData)) {\n return;\n }\n formData.delete(\"operational_task_id\")\n formData.append(\"operational_task_id\", selectedTaskId?.id)\n try {\n setBusy(\"loading\");\n const response = await OperationService.addPart(formData);\n\n setBusy(null);\n if (response.success) {\n message.showToastMessage({\n message: \"Added successfully.\",\n variant: \"success\",\n });\n createJobReq(formData, response.id);\n } else {\n const msg =\n response.errors?.length > 0\n ? response.errors.join(\", \")\n : \"Something went wrong!\";\n message.showToastMessage({\n message: msg,\n variant: \"error\",\n });\n }\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong!\",\n variant: \"error\",\n });\n setBusy(\"error\");\n }\n };\n\n const fields = ({\n placeholder,\n label,\n name,\n multiline,\n type,\n qty,\n setQty,\n values,\n required,\n defaultValue,\n shouldNotAcceptZero,\n value,\n setValue,\n setId\n }) => {\n switch (type) {\n case \"text\":\n return (\n \n \n \n \n : '',\n }}\n name={name}\n multiline={multiline}\n autoFocus={errors[name]}\n error={errors[name]}\n helperText={\n errors[name] &&\n required &&\n `Please select ${label.replace(\"*\", \"\")}`\n }\n value={value}\n onChange={(e) => {\n setValue(e.target.value)\n setErrors((prevState) => ({ ...prevState, [name]: false }))\n }\n }\n />\n );\n case \"select\":\n return (\n {\n setValue(e.target.value)\n setErrors((prevState) => ({ ...prevState, [name]: false }))\n }\n }\n />\n );\n case \"qty\":\n const fieldName = label.replace(\"*\", \"\");\n const errMsg =\n (errors?.required_quantity_is_zero || errors?.units_issued_qty_is_zero || errors?.removed_quantity_is_zero) && (name === \"required_quantity\" || name === \"units_issued\" || name === \"removed_quantity\")\n ? `${fieldName} must be greater than 0`\n : `Please Enter ${fieldName}`;\n return (\n \n setErrors((prevState) => ({ ...prevState, [name]: false }))\n }\n minQty={1}\n />\n );\n\n case \"dropdown\":\n return (\n \n setErrors((prevState) => ({ ...prevState, [name]: false }))\n }\n >\n {placeholder !== \"\" && (\n {placeholder}\n )}\n {values?.map((item, i) => (\n \n {item.value}\n \n ))}\n \n );\n case \"auto\":\n\n return (\n option.id === value.id}\n filterSelectedOptions={true}\n onChange={(event, value) => {\n setId(value)\n }}\n id=\"tags-id\"\n options={values || []}\n defaultValue={defaultValue}\n getOptionLabel={(option) => option.value || \"\"}\n onInputChange={(event, newInputValue) => {\n setValue(newInputValue)\n\n }}\n inputValue={value}\n renderInput={(params) => (\n {\n setErrors((prevState) => ({ ...prevState, [name]: false }))\n }}\n />\n )}\n />\n\n\n\n )\n\n\n default:\n break;\n }\n };\n\n const handleToggle = (value) => {\n if (value) {\n setValue(value);\n }\n };\n\n return (\n
\n
\n \n Unknown Part\n \n \n \n {unkonwnPartFields.map((field, i) => (\n \n {fields(field)}\n \n ))}\n \n \n\n \n Add Part\n \n\n \n \n {addPartFields.map((field, i) => (\n \n {fields(field)}\n {/* {field.type === \"qty\" && (\n \n \n

\n Required QTY exceeds Base Stock QTY! - Please enter a\n deferred defect number for tracking\n

\n
\n )} */}\n
\n ))}\n
\n
\n {/* \n \n \n \n Repairable Part Removed? *\n \n \n \n handleToggle(val)}\n aria-label=\"yes-or-no\"\n >\n \n No\n \n \n Yes\n \n \n */}\n\n {/* {value === \"yes\" && (\n \n \n {repairableFields.map((field, i) => (\n \n {fields(field)}\n \n ))}\n \n \n )} */}\n\n \n \n Cancel\n \n \n Add\n \n \n \n
\n );\n}\n\nexport default CreateNew;\n","import React, { useState } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport {\n AppBar,\n IconButton,\n Toolbar,\n makeStyles,\n Typography,\n Box,\n ButtonGroup,\n} from \"@material-ui/core\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport MROButton from \"components/buttons\";\nimport Search from \"./Search\";\nimport CreateNew from \"./CreateNew\";\nimport { useEffect } from \"react\";\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n root: { \"& > :first-child\": { position: \"unset\" } },\n wrapper: {\n padding: \"3%\",\n background: \"white\",\n },\n}));\n\nfunction CreateAlternativePart(props) {\n const { onClose, baseStationId, lineCustomerId, acReg, workOrderId, sectionDetails, taskDetails } = props;\n const classes = useStyles();\n const [state, setState] = useState(\"search\");\n\n\n\n\n\n // console.log(\"addparts=====\", removedparts)\n\n return (\n \n \n \n \n \n \n Add Part\n \n \n
\n \n \n setState(\"search\")}\n style={{\n width: \"125px\",\n color: state === \"search\" ? \"white\" : undefined,\n }}\n >\n Search\n \n setState(\"create\")}\n style={{\n width: \"125px\",\n color: state === \"create\" ? \"white\" : undefined,\n }}\n >\n Create New\n \n \n \n\n \n {state === \"search\" ? (\n \n ) : (\n \n )}\n \n
\n
\n );\n}\n\nexport default CreateAlternativePart;\n","import { CircularProgress, Dialog, DialogContent, DialogTitle, Grid, MenuItem, Typography, makeStyles } from '@material-ui/core'\nimport { Menu } from '@material-ui/icons'\nimport { Autocomplete } from '@material-ui/lab'\nimport MROButton from 'components/buttons'\nimport MROTextField from 'components/form_components/TextField'\nimport QuantityCounter from 'components/quantity_counter'\nimport { ToastMessageContext } from 'lib/contexts/message_context'\nimport { WorkOrderServices } from 'lib/services/api/operaitons/lineMaintenance/workOrder/workOrder'\nimport { getOrganisationId } from 'lib/utils/common_utils'\nimport React, { useEffect, useState, useContext } from 'react'\n\n\nconst useStyles = makeStyles((theme) => ({\n dialog: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"750px\",\n borderRadius: '5px'\n }\n },\n dialogTitle: {\n color: theme.palette.primary.main,\n fontSize: '18px',\n fontWeight: 500\n }\n\n}))\n\n\nfunction CreateParts(props) {\n const classes = useStyles()\n const { handleClose, currentSelection, workOrderId, getRemovedPartList, action, mroOwned, taskDetails } = props\n const [quantity, setQuantity] = useState()\n const [errors, setErrors] = useState({});\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n\n const [seletectedTask, setSelectedTask] = useState({})\n const [selectedTaskId, SetSelectedID] = useState({})\n // console.log(\"currentSelection========\", currentSelection)\n\n useEffect(() => {\n currentSelection && setQuantity(currentSelection.part_quantity)\n }, [currentSelection])\n\n\n\n const validateFields = (formData) => {\n let error = {};\n let valid = true;\n\n const removedQty = formData.get(action === 'update' ? \"removed_quantity\" : \"quantity\");\n\n\n for (let pair of formData.entries()) {\n const key = pair[0];\n console.log(pair);\n if (pair[1] === \"\") {\n error[key] = true;\n valid = false;\n }\n }\n\n if (+removedQty === 0 && removedQty !== \"\") {\n error[\"removed_quantity_is_zero\"] = true;\n error[action === 'update' ? \"removed_quantity\" : \"quantity\"] = true;\n valid = false;\n }\n\n\n if (!valid) {\n setErrors(error);\n }\n console.log({ error });\n return valid;\n };\n\n\n\n const submitHandler = async (e) => {\n const formData = new FormData(e.target)\n let removalLocation = formData.get('install_location')\n formData.append(\"reportable_type\", \"WorkOrder\");\n formData.append(\"reportable_id\", workOrderId);\n formData.append(\"organisation_id\", getOrganisationId())\n formData.append(\"removal_location\", removalLocation)\n\n if (!validateFields(formData)) {\n return;\n }\n\n if (mroOwned === \"request_part\") {\n formData.delete(\"operational_task_id\")\n formData.append(\"operational_task_id\", selectedTaskId?.id)\n }\n if (action === 'update') {\n formData.append(\"id\", currentSelection.id)\n try {\n setLoading(true)\n const response = await WorkOrderServices.editRemovedParts(formData)\n\n\n setLoading(false)\n if (response.success) {\n message.showToastMessage({\n message: \"Added successfully.\",\n variant: \"success\",\n });\n }\n else {\n const msg =\n response.errors?.length > 0\n ? response.errors.join(\", \")\n : \"Something went wrong!\";\n message.showToastMessage({\n message: msg,\n variant: \"error\",\n });\n }\n handleClose()\n getRemovedPartList()\n\n }\n\n catch (error) {\n handleClose()\n message.showToastMessage({\n message: \"Something went wrong!\",\n variant: \"error\",\n });\n\n }\n\n\n }\n else {\n try {\n setLoading(true)\n const response = await WorkOrderServices.createRemovedParts(formData)\n\n\n setLoading(false)\n if (response.success) {\n message.showToastMessage({\n message: \"Added successfully.\",\n variant: \"success\",\n });\n }\n else {\n const msg =\n response.errors?.length > 0\n ? response.errors.join(\", \")\n : \"Something went wrong!\";\n message.showToastMessage({\n message: msg,\n variant: \"error\",\n });\n }\n handleClose()\n getRemovedPartList()\n\n }\n\n catch (error) {\n handleClose()\n message.showToastMessage({\n message: \"Something went wrong!\",\n variant: \"error\",\n });\n\n }\n }\n }\n\n useEffect(() => {\n if (taskDetails.length > 0 && action === 'update') {\n if (currentSelection.operational_task_id !== undefined || null) {\n let value = taskDetails.find((item) => item.id === currentSelection.operational_task_id)\n console.log(\"first===\", value)\n setSelectedTask(value?.task_tlp)\n\n SetSelectedID(value)\n }\n }\n }, [currentSelection, taskDetails])\n\n\n return (\n
\n \n\n Removed Part \n \n
\n\n \n {mroOwned === \"request_part\" &&\n option.id === value.id}\n filterSelectedOptions={true}\n onChange={(event, value) => {\n SetSelectedID(value)\n }}\n id=\"tags-id\"\n options={taskDetails || []}\n\n getOptionLabel={(option) => option.task_tlp || \"\"}\n onInputChange={(event, newInputValue) => {\n setSelectedTask(newInputValue)\n\n }}\n value={selectedTaskId && selectedTaskId}\n inputValue={seletectedTask}\n renderInput={(params) => (\n {\n setErrors((prevState) => ({ ...prevState, operational_task_id: false }))\n }}\n />\n )}\n />\n\n\n\n\n\n\n\n }\n\n\n\n\n \n setErrors({ ...errors, part_off: false })\n }\n />\n\n \n setErrors({ ...errors, description_off: false })\n }\n />\n \n setErrors({ ...errors, serial_off: false })\n }\n />\n \n setErrors({ ...errors, install_location: false })\n }\n />\n \n setErrors({ ...errors, quantity: false, removed_quantity_is_zero: null })\n }\n\n />\n \n setErrors({ ...errors, issued_comment: false })\n }\n />\n \n\n \n \n Cancel\n \n \n Complete\n \n\n
\n \n \n \n \n )\n}\n\nexport default CreateParts","import { Box, IconButton, Menu, MenuItem } from '@material-ui/core';\nimport MROButton from 'components/buttons';\nimport React, { useState, useReducer, useContext } from 'react'\nimport AddIcon from \"@material-ui/icons/Add\";\nimport MaterialTable from 'material-table';\nimport tableIcons, {\n options,\n} from \"components/universal/table_attributes\";\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from \"reducers/table_reducer\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport TableAction from \"actions/table_actions\";\nimport CreateRemovedParts from './CreateParts';\nimport { WorkOrderServices } from 'lib/services/api/operaitons/lineMaintenance/workOrder/workOrder';\nimport { useEffect } from 'react';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { Visibility as ViewIcon } from '@material-ui/icons';\nimport { BASE_API_URL_BOXR } from 'lib/constants';\nimport MoreVertIcon from \"@material-ui/icons/MoreVert\";\nimport ManageDataDialog from 'components/form_components/manage_data_dialog'\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\n\n\nfunction RemovedParts(props) {\n const [action, setAction] = useState('')\n const { section, getSectionName, setCreateSection, workOrderId, mroOwned, taskDetails } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const [totalCount, setTotalCount] = useState(5)\n const [data, setData] = useState([])\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n const [currentSelection, setCurrentSelection] = useState({});\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [open, setOpen] = useState(false);\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(5)\n const [loadingDelete, setloadingDelete] = useState(false)\n\n //table refresh\n const { tableRefresh, setTableRefresh } = useContext(WorkshopContext)\n // console.log(\"Refresh=======\", mroOwned)\n const tableOptions = {\n ...options,\n page: page,\n pageSize: pageSize,\n totalCount: totalCount,\n search: false,\n };\n const handleClick = (event) => {\n setOpen(true);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseMenu = () => {\n setOpen(false);\n setAction(null);\n setCurrentSelection({});\n };\n const options1 = [\"Delete\", \"Edit\"];\n const ITEM_HEIGHT = 48;\n\n const handleOption = (option) => {\n if (option === \"Delete\") {\n setAction(\"delete\");\n }\n else if (option === \"Edit\") {\n setAction(\"update\");\n\n };\n\n }\n const handleDelete = async (e) => {\n setloadingDelete(true)\n const formData = {\n part_allocation_id: currentSelection.id\n }\n await WorkOrderServices.deleteRemovedParts(formData).then((res) => {\n if (res.success) {\n message.showToastMessage({ message: \"Removed successfully\", variant: \"success\" });\n }\n else {\n\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n }\n handleCloseMenu()\n getRemovedPartList()\n\n }).catch((res) => {\n handleCloseMenu()\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n\n\n const columns = [\n {\n title: \"Task #\",\n field: \"task\",\n width: \"10%\",\n hidden: mroOwned !== \"request_part\" && \"true\",\n cellStyle: {\n textAlign: \"left\",\n width: \"10%\",\n paddingLeft: 10,\n },\n headerStyle: {\n width: \"10%\",\n textAlign: \"left\",\n paddingLeft: 10,\n },\n\n },\n {\n title: \"Part #\",\n field: \"part_off\",\n\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: 15,\n\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: 15,\n\n },\n },\n {\n title: \"Serial #\",\n field: \"serial_off\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n\n },\n },\n {\n title: \"Description\",\n field: \"description_off\",\n width: \"50%\",\n headerStyle: {\n textAlign: \"left\",\n width: \"50%\"\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"50%\"\n },\n },\n {\n title: \"Quantity\",\n field: \"part_quantity\",\n render: (rowData) => rowData.part_quantity || '-'\n },\n {\n title: \"Label\",\n field: \"us_label\",\n render: (rowData) => (\n {\n if (rowData.us_label != undefined) {\n window.open(`${BASE_API_URL_BOXR}${rowData.us_label.url}`)\n }\n\n }}>\n \n\n \n )\n },\n {\n title: \"Action\",\n field: \"\",\n render: (rowData) => (\n
\n {\n setCurrentSelection(rowData);\n handleClick(e);\n }}\n >\n \n\n \n
\n )\n },\n\n ]\n\n\n const getRemovedPartList = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n work_order_id: workOrderId,\n page: page + 1,\n count_per_page: pageSize\n\n }\n await WorkOrderServices.getRemovedParts(params).then((response) => {\n setData(response.data)\n setTotalCount(response.total_count)\n\n }).catch((response) => {\n message.showToastMessage({\n message: response?.message,\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n setTableRefresh(false)\n })\n }\n useEffect(() => {\n const timeout = setTimeout(() => {\n getRemovedPartList()\n }, 0)\n return () => {\n clearTimeout(timeout)\n }\n\n }, [page, pageSize, tableRefresh])\n\n return (\n
\n\n \n {\n setCreateSection(\n getSectionName(section.sub_section_name)\n );\n setAction(\"create_removed_parts\");\n // setAction(\"create_alternative_part\");\n }}\n startIcon={}\n >\n Removed {getSectionName(section.sub_section_name)}\n \n \n
\n \n {\n setPage(page)\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize)\n }}\n totalCount={totalCount}\n page={page} />\n \n
\n {open && \n {currentSelection && options1.map((option) => {\n\n return (\n {\n handleOption(option);\n }}\n >\n {option}\n \n );\n })}\n\n\n\n }\n {action && action === 'create_removed_parts' && setAction(null)} workOrderId={workOrderId} getRemovedPartList={getRemovedPartList} action={action} mroOwned={mroOwned} taskDetails={taskDetails} />}\n\n {action && action === 'update' && }\n {action === \"delete\" && (\n \n Are you sure? Confirm Delete.\n \n )}\n\n
\n )\n}\n\nexport default React.memo(RemovedParts)","import {\n Box,\n Dialog,\n DialogTitle,\n DialogContent,\n Typography,\n Grid,\n} from \"@material-ui/core\";\nimport React, { useContext, useEffect, useState } from \"react\";\nimport MROButton from \"components/buttons\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport exclamationIcon from \"assets/exclamation.png\"\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport LoadingIndicator from \"components/universal/loading_indicator\";\nimport MROTextField from 'components/form_components/TextField';\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { WorkOrderServices } from 'lib/services/api/operaitons/lineMaintenance/workOrder/workOrder';\nimport NumericIncrement from \"views/Operations/LineMaintenance/WorkOrder/FieldComponents/numeric_increment\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n backgroundColor: theme.palette.primary.main,\n border: `1px solid ${theme.palette.primary.main}`,\n margin: \"1% 0\",\n display: \"flex\",\n \"& button\": {\n marginRight: theme.spacing(2),\n width: \"200px\",\n \"& .MuiButton-label\": {\n justifyContent: \"space-between\",\n width: \"150px\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n },\n },\n },\n input: {\n color: \"#fff\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n head: {\n marginTop: \"20px\",\n marginBottom: \"10px\",\n },\n error: {\n borderColor: \"red\",\n },\n svg: {\n filter: \"invert(1)\",\n height: 18,\n marginBottom: 2,\n },\n disableSwitch: {\n pointerEvents: \"none\",\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n message: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n margin: theme.spacing(1)\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"670px\",\n },\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n}));\n\n\nexport default function Deassign(props) {\n const classes = useStyles();\n const { handleClose, currentSelection, getListing, action } = props\n const [loading, setLoading] = useState(false)\n const [acceptAll, setAcceptAll] = useState(false)\n const message = useContext(ToastMessageContext)\n const [errors, setErrors] = useState({})\n const [mroState, setMROState] = useState({ man_hours: '' });\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formdata = new FormData(e.target)\n let valid = true;\n let error = {};\n\n\n for (let pair of formdata.entries()) {\n const value = pair[1];\n const key = pair[0];\n // console.table(\"formdata=====\", key, value)\n if (!value) {\n error[key] = true;\n valid = false;\n }\n }\n\n if (!valid) {\n setErrors(error);\n return;\n }\n const reason = formdata.get(\"reason\")\n const hours = formdata.get(\"man_hours\")\n formdata.delete(\"reason\")\n formdata.delete(\"man_hours\")\n\n const params = {\n task_id: currentSelection?.id,\n reason: reason,\n man_hours: hours,\n act_hours: hours\n\n }\n\n setLoading(true)\n await WorkOrderServices.DeassignPlannedTask(params).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Planned Task Deassigned successfully !\",\n variant: \"success\",\n });\n handleClose()\n getListing()\n }\n else {\n message.showToastMessage({\n message: res?.errors ? res?.errors : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n handleClose()\n }\n\n\n }).catch((res) => {\n handleClose()\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n const handlePopUp = (e) => {\n handleClose()\n handleSubmit(e)\n }\n\n return (\n
\n \n \n \n \n \n {action === \"deassign\" ? \"Deassign\" : \"Reason\"}\n \n \n {action === \"deassign\" && \n {\" \"}\n {\" \"}\n }\n \n \n\n\n {action === \"deassign\" &&\n \n
\n\n {/* 1content */}\n
\n   The task will remain listed, but be marked as not completed!\n
\n
\n   Any Part Requests already added for this task must also be deleted directly on the Work Order\n
\n \n\n { setErrors({ ...errors, reason: false }); }}\n defaultValue={currentSelection?.reason}\n />\n\n\n\n \n \n\n\n QTY Required Must Be Greater Than 0 : (errors[\"man_hours\"] && mroState.man_hours === \"\") ? *Please Enter Man Hrs : ''\n }\n InputLabelProps={{ shrink: true }}\n setError={() =>\n setErrors((prevState) => ({\n ...prevState,\n man_hours: false,\n }))\n }\n\n />\n \n\n \n \n Cancel\n \n \n Complete\n \n \n \n
}\n\n {action === \"reason\" && \n\n \n\n { setErrors({ ...errors, reason: false }); }}\n\n />\n\n\n\n \n\n\n }\n\n \n\n
\n )\n}\n","import { CircularProgress, Dialog, DialogContent, DialogTitle, IconButton, Typography, makeStyles, Grid } from '@material-ui/core'\nimport { Edit } from '@material-ui/icons'\nimport MROButton from 'components/buttons'\nimport FileUpload from 'components/form_components/fileUpload'\nimport { ICON_COLOUR } from 'lib/constants/style_constants'\nimport { ToastMessageContext } from 'lib/contexts/message_context'\nimport { WorkOrderServices } from 'lib/services/api/operaitons/lineMaintenance/workOrder/workOrder'\nimport PlanningWorkOrderServices from 'lib/services/api/planning/LineMaintenance/PlannedWO'\nimport React, { useContext, useEffect, useState } from 'react'\n\n\n\nconst useStyles = makeStyles((theme) => ({\n\n dialogTitle: {\n color: theme.palette.primary.main,\n fontSize: '18px'\n },\n modal: {\n \"&.MuiDialog-paperWidthMd\": {\n width: \"563px\",\n },\n },\n actionButtons: {\n paddingTop: \"5px\",\n paddingBottom: \"20px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n\n}))\nfunction ViewRecords(props) {\n const classes = useStyles()\n const { handleClose, currentSelection } = props\n const [loading, setLoading] = useState(true)\n const [files, setFiles] = useState([])\n const [edit, setEdit] = useState(false)\n const [boolState, setBoolState] = useState(false);\n const [deletedStatus, setDeletedStatus] = useState(false);\n const [records, setRecords] = useState([]);\n const [busy, setBusy] = useState(null);\n const message = useContext(ToastMessageContext)\n\n useEffect(() => {\n getRecords()\n }, [currentSelection])\n\n const getRecords = () => {\n setLoading(true)\n const params = {\n task_id: currentSelection?.id\n }\n PlanningWorkOrderServices.getRecords(params).then((res) => {\n setFiles(res.blob_records)\n }).catch(() => {\n\n }).finally(() => {\n setLoading(false)\n })\n }\n\n\n const deleteFileHandler = async (id) => {\n setBusy(\"file-deleting\");\n try {\n const response = await WorkOrderServices.deleteDocument({ id: id });\n\n if (response.success) {\n message.showToastMessage({\n message: \"File deleted successfully\",\n variant: \"success\",\n });\n setDeletedStatus(true);\n getRecords()\n }\n setBusy(null);\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"file-deleting-error\");\n }\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n formData.append(\"task_id\", currentSelection?.id);\n\n formData.delete(\"documents[]\");\n records.forEach((file) =>\n formData.append(\"documents[]\", file)\n );\n setBusy(\"loading\");\n if (deletedStatus !== true) {\n await WorkOrderServices.EditPlannedRecords(formData)\n .then(() => {\n setBusy(null);\n handleClose();\n message.showToastMessage({\n message: \"Added successfully!\",\n variant: \"success\",\n });\n setDeletedStatus(false);\n })\n .catch(() => {\n setBusy(null);\n handleClose();\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n }\n setBusy(null);\n handleClose();\n };\n useEffect(() => {\n if (records.length) {\n setDeletedStatus(false);\n }\n }, [records]);\n return (\n
\n \n\n \n \n\n Uploaded Records \n \n\n {\n setBoolState(true)\n\n }}>\n\n \n \n \n \n \n\n\n\n\n \n
\n ({\n filename: file?.filename,\n url: file?.url,\n id: file?.id,\n })) : ''}\n setFiles={(files) => {\n setRecords(files);\n }}\n accept={\"multiple\"}\n onDelete={boolState === false ? null : deleteFileHandler}\n showBorderOnNoFiles={true}\n multiple={true}\n APIUrl={\"\"}\n isDeleting={busy === \"file-deleting\"}\n uploadButtonView={boolState === false}\n name={\"documents[]\"}\n action={\"Upload Document\"} />\n
\n {boolState === true && (\n
\n \n Cancel\n \n \n Complete\n \n
\n )}\n \n
\n \n\n
\n )\n}\n\nexport default ViewRecords","import React, { useEffect, useContext, useState, useMemo } from 'react'\nimport { Dialog, DialogContent, DialogTitle, Box, ButtonGroup, Button, FormControlLabel, Grid, MenuItem } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport MROButton from 'components/buttons';\nimport MROTextField from 'components/form_components/TextField';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport NumericIncrement from \"views/Operations/LineMaintenance/WorkOrder/FieldComponents/numeric_increment\";\nimport { WorkOrderServices } from 'lib/services/api/operaitons/lineMaintenance/workOrder/workOrder';\n\n\n\nconst useStyles = makeStyles(theme => ({\n actionButtons: {\n paddingTop: '20px',\n paddingBottom: '33px',\n textAlign: 'right',\n '& button:not(:last-child)': {\n marginRight: '20px'\n }\n },\n modal: {\n '& .MuiDialog-paperWidthMd': {\n maxWidth: '380px',\n left: \"calc(62% - 250px)\",\n }\n },\n title: {\n fontSize: '18px',\n '& h2': {\n color: theme.palette.primary.main,\n textAlign: 'center'\n\n }\n },\n formLabel: {\n\n '& span:last-child': {\n fontSize: '14px',\n }\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n\n}));\n\nexport default function EditTask(props) {\n const classes = useStyles()\n const { handleClose, currentSelection, getListing } = props\n const [errors, setErrors] = useState({})\n\n const [mroState, setMROState] = useState({ man_hours: '' });\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n\n\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formdata = new FormData(e.target)\n let valid = true;\n let error = {};\n\n\n for (let pair of formdata.entries()) {\n const value = pair[1];\n const key = pair[0];\n // console.table(\"formdata=====\", key, value)\n if (!value) {\n error[key] = true;\n valid = false;\n }\n }\n\n if (!valid) {\n setErrors(error);\n return;\n }\n const task = formdata.get(\"task\")\n const hours = formdata.get(\"mro_hours\")\n let params = {\n task_id: currentSelection.id,\n task_tlp: task,\n act_hours: hours\n\n\n }\n setLoading(true)\n await WorkOrderServices.EditPlannedTask(params).then((res) => {\n handleClose()\n getListing()\n message.showToastMessage({\n message: \"Updated successfully\",\n variant: \"success\",\n duration: 800\n });\n }).catch(err => {\n message.showToastMessage({ message: 'Something went wrong', variant: 'error' })\n }).finally(() => {\n setLoading(false)\n })\n }\n\n useState(() => {\n if (currentSelection !== undefined) {\n setMROState({ man_hours: currentSelection?.act_hrs })\n }\n }, [currentSelection])\n return (\n
\n \n Edit Planned Task\n \n\n \n
\n\n\n \n { setErrors({ ...errors, task: false }); }}\n defaultValue={currentSelection?.task}\n />\n\n\n\n \n\n \n QTY Required Must Be Greater Than 0 : (errors[\"mro_hours\"] && mroState.man_hours === \"\") ? *Please Enter Estimated Man Hrs : ''\n }\n InputLabelProps={{ shrink: true }}\n setError={() =>\n setErrors((prevState) => ({\n ...prevState,\n mro_hours: false,\n }))\n }\n\n />\n \n\n\n\n\n\n\n
\n \n Cancel\n \n \n Complete\n \n\n
\n
\n
\n\n \n\n\n
\n )\n}\n","import { Box, IconButton, Menu, MenuItem } from '@material-ui/core';\nimport MROButton from 'components/buttons';\nimport React, { useState, useReducer, useContext } from 'react'\nimport AddIcon from \"@material-ui/icons/Add\";\nimport MaterialTable from 'material-table';\nimport tableIcons, {\n options,\n} from \"components/universal/table_attributes\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport TableAction from \"actions/table_actions\";\nimport { WorkOrderServices } from 'lib/services/api/operaitons/lineMaintenance/workOrder/workOrder';\nimport { useEffect } from 'react';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport MoreVertIcon from \"@material-ui/icons/MoreVert\";\nimport RedCrossIcon from 'assets/Red remove icon.png'\nimport GreenTickIcon from 'assets/green check.png'\nimport GearAmbear from 'assets/Amber gear@3x.png'\nimport Deassign from './PlannedMainTask.js/Deassign';\nimport ViewRecords from './PlannedMainTask.js/ViewRecords';\nimport EditTask from './PlannedMainTask.js/EditTask';\n\nfunction PlannedTaskDetails(props) {\n const [action, setAction] = useState('')\n const { workOrderId, wo_details } = props\n const [totalCount, setTotalCount] = useState(5)\n const [data, setData] = useState([])\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n const [currentSelection, setCurrentSelection] = useState({});\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [open, setOpen] = useState(false);\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(5)\n const [loadingDelete, setloadingDelete] = useState(false)\n\n\n const tableOptions = {\n ...options,\n page: page,\n pageSize: pageSize,\n totalCount: totalCount,\n actionsColumnIndex: 6,\n search: false,\n };\n const handleClick = (event) => {\n setOpen(true);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseMenu = () => {\n setOpen(false);\n setAction(null);\n setCurrentSelection({});\n };\n const options1 = [\"Edit\", \"Deassign\", \"View Records\"];\n const ITEM_HEIGHT = 48;\n\n\n\n\n\n const columns = [\n {\n title: \"Status\",\n field: \"pt_status\",\n\n headerStyle: {\n textAlign: \"center\",\n\n },\n cellStyle: {\n textAlign: \"center\",\n\n\n },\n render: rowData => (\n \n ),\n\n },\n {\n title: \"Task #\",\n field: \"task\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n\n },\n\n },\n {\n title: \"ATA\",\n field: \"ata\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n\n },\n\n\n },\n {\n title: \"Description\",\n field: \"description\",\n width: \"50%\",\n headerStyle: {\n textAlign: \"left\",\n width: \"50%\"\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"50%\"\n },\n\n },\n {\n title: \"Act M/Hrs\",\n field: \"act_hrs\",\n\n }, {\n title: \"Engineer\",\n field: \"engineer\",\n\n },\n\n {\n title: \"Actions\",\n field: \"\",\n render: (rowData) => (\n
\n {\n setCurrentSelection(rowData);\n handleClick(e);\n }}\n >\n \n\n \n
\n )\n },\n\n ]\n\n\n const getPlannedDetails = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n id: workOrderId,\n page: page + 1,\n count_per_page: pageSize\n\n }\n await WorkOrderServices.getMaintPlannedTableDetails(params).then((response) => {\n setData(response.data)\n setTotalCount(response.total_count)\n\n }).catch((response) => {\n message.showToastMessage({\n message: response?.message,\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n\n })\n }\n useEffect(() => {\n getPlannedDetails()\n }, [page, pageSize])\n\n\n const handleUndoTask = () => {\n\n const params = {\n task_id: currentSelection?.id,\n\n\n }\n\n setLoading(true)\n WorkOrderServices.UndoPlannedTask(params).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Planned Task updated successfully !\",\n variant: \"success\",\n });\n setOpen(false)\n getPlannedDetails()\n }\n else {\n message.showToastMessage({\n message: res?.errors ? res?.errors : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setOpen(false)\n }\n\n\n }).catch((res) => {\n setOpen(false)\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n\n }\n\n return (\n
\n\n\n \n {\n setPage(page)\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize)\n }}\n totalCount={totalCount}\n page={page}\n\n\n />\n \n
\n {open && \n {currentSelection &&\n\n <> {currentSelection?.pt_status !== 2 &&\n {\n setAction(\"edit\")\n }}\n >\n Edit\n }\n {currentSelection?.pt_status === 0 && {\n setAction(\"deassign\");\n }}\n >\n Deassign\n }\n {currentSelection?.pt_status !== 2 && {\n setAction(\"view_records\");\n }}\n >\n View Records\n }\n {currentSelection?.pt_status === 2 && {\n setAction(\"reason\");\n }}\n >Reason\n }\n {currentSelection?.pt_status === 2 && wo_details?.status !== \"Closed\" && {\n handleUndoTask()\n }}\n >\n Undo\n }\n \n\n }\n\n\n\n }\n {action && action === \"deassign\" && {\n setAction('')\n setOpen(false)\n }}\n getListing={getPlannedDetails}\n action={action}\n />}\n {action && action === \"reason\" && {\n setAction('')\n setOpen(false)\n }}\n action={action}\n getListing={getPlannedDetails}\n\n />}\n {action && action === \"edit\" && {\n setAction('')\n setOpen(false)\n }}\n getListing={getPlannedDetails}\n\n />}\n {action && action === \"view_records\" && {\n setAction('')\n setOpen(false)\n }}\n getListing={getPlannedDetails}\n\n />}\n\n
\n\n\n )\n}\n\nexport default PlannedTaskDetails","import React, {\n useState,\n useEffect,\n useContext,\n useReducer,\n createContext,\n} from \"react\";\nimport ListingService from \"../../../../lib/services/api/listing_service\";\nimport SectionLabel from \"./FieldComponents/section_label\";\nimport FreeTextField from \"./FieldComponents/free_text_field\";\nimport Grid from \"@material-ui/core/Grid\";\nimport YesNoInput from \"./FieldComponents/yes_or_no_based_input_field\";\nimport NumericField from \"./FieldComponents/numeric_field_with_increments\";\nimport LoadingIndicator from \"../../../../components/universal/loading_indicator\";\nimport {\n FormContext,\n} from \"../../../../lib/contexts/form_context\";\nimport Typography from \"@material-ui/core/Typography\";\nimport MROButton from \"../../../../components/buttons\";\nimport DropdownField from \"./FieldComponents/dropdown_field\";\n// import DateField from \"../../../../components/form_components/DateField\";\n// import ManageDialog from \"../../../../components/form_components/manage_dialog\";\n// import MaterialTable from \"material-table\";\n// import tableIcons, {\n// options,\n// } from \"../../../../components/universal/table_attributes\";\nimport { OperationService } from \"../../../../lib/services/api/operaitons/save_operation\";\nimport { ToastMessageContext } from \"../../../../lib/contexts/message_context\";\nimport {\n Box,\n MuiThemeProvider,\n useTheme,\n} from \"@material-ui/core\";\nimport { createTheme } from '@material-ui/core/styles'\nimport AddIcon from \"@material-ui/icons/Add\";\nimport moment from \"moment\";\nimport AddNewPartsAndTools from \"./add_parts_tools\";\nimport PartDetails from \"./PartDetails\";\nimport TableAction from \"../../../../actions/table_actions\";\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from \"../../../../reducers/table_reducer\";\n// import dataReducer, {\n// INITIAL_DATA_STATE,\n// } from \"../../../../reducers/data_reducer\";\nimport WorkOrderTooligs from \"./WorkOrderTooligs\";\nimport Rendermainttable from \"./RenderMaintTable\";\nimport SectionLabelAction from \"./FieldComponents/section_label_with_action\";\nimport AddMaintTasks from \"./AddMaintTasks\";\nimport AdditionalEngineers from \"./AdditionalEngineers\";\nimport { MultiUploadPreview } from \"./FieldComponents/MultiUpload\";\nimport { AircraftDDs } from \"./AircraftDDs\";\nimport InbondDelayCalculation from \"./InbondDelayCalc\";\nimport { DepartureDelayCalculation } from \"./DepartureDelayCalc\";\nimport { OilAndHydFluid } from \"./OilAndHydFluid\";\nimport { StaionCompleteAndComments } from \"./StaionCompleteAndComments\";\nimport { useRef } from \"react\";\nimport DataService from \"lib/services/api\";\nimport CreateAlternativePart from \"./AlternativeParts/create/CreateAlternativePart\";\nimport { MRO_MANAGED_PART, MRO_REQUEST_PART } from \"../../../../constants\";\nimport UploadButton from \"components/form_components/upload_multiple\";\nimport _ from 'lodash'\nimport AlternativePartsTable from \"./AlternativeParts/AlternativePartsTable\";\nimport SignatureFile from \"components/form_components/fileUpload/SIgnatureFile\";\nimport RemovedParts from \"./AlternativeParts/RemovedParts/RemovedParts\";\nimport PlannedTaskDetails from \"./PlannedTaskDetails\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport LineCustomerServiceNew from \"lib/services/api/admin/line/line_customers_client\";\n\nexport const PartDetailsTableRefresh = createContext();\n\nconst mapTasks = {\n \"Tech Log Maint Tasks\": \"tech_log_maint\",\n \"Non-Fixed Price Scheduled Maintenance\": \"fixed_price_maint\",\n Defects: \"defects\",\n \"Cabin Maint Tasks\": \"cabin_maint\",\n};\nexport const timeCalculationFields = [\n \"Est Arrival Date/Time (UTC)\",\n \"Act Arrival Date/Time (UTC)\",\n \"Inbd delay (mins)\",\n];\n\nexport const departureTimeCalcFields = [\n \"Est Departure Date/Time (UTC)\",\n \"Act Departure Date/Time (UTC)\",\n \"Delay\",\n \"Gnd time\",\n];\n\nexport const HydAndOilQuarts = [\"Oil - Quarts\", \"Hyd Fluid - Quarts\"];\n\nexport const getTimeDiffFormatted = (duration) => {\n const days = duration.get(\"days\");\n\n const hrsMinDiff =\n String(Math.abs(duration.get(\"hours\"))).padStart(2, \"0\") +\n \":\" +\n String(Math.abs(duration.get(\"minutes\"))).padStart(2, \"0\");\n const hrs = Boolean(Math.abs(days))\n ? String(duration.get(\"days\")).padStart(2, \"0\") +\n \":\" +\n String(Math.abs(duration.get(\"hours\"))).padStart(2, \"0\") +\n \":\" +\n String(Math.abs(duration.get(\"minutes\"))).padStart(2, \"0\")\n : Math.sign(duration.get(\"minutes\")) == \"-1\"\n ? \"- \" + hrsMinDiff\n : hrsMinDiff;\n\n return hrs;\n};\n\nexport const StationAndCommentFields = [\"Station Complete\", \"Comments\"];\n\nfunction SectionDetail(props) {\n const theme1 = useTheme()\n const [tableRefresh, setTableRefresh] = useState(false);\n const { sectionId, lineCustomerId, workOrderId, baseStationId, wo_details } = props;\n const [sectionDetails, setSectionDetails] = useState([]);\n const [sectionName, setSectionName] = useState(\"\");\n const message = useContext(ToastMessageContext);\n const [loading, setLoading] = useState(false);\n const [action, setAction] = useState(\"\");\n const [createdId, setCreatedId] = useState(\"\");\n const form = useContext(FormContext);\n const [errors, setErrors] = useState({});\n const [formData, setFormData] = useState({});\n const [mroOwned, setMroOwned] = useState(1);\n const [subSectionDetails, setSubSectionDetails] = useState([])\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const {\n page,\n totalCount,\n pageSize,\n data: _data,\n } = tableState;\n const [state, rDispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const [getList, setGetList] = useState(() => { });\n\n const [orgSectionId, setOrgSectionId] = useState(null);\n const [files, setFiles] = useState([]);\n const [taskDetails, setTaskDetails] = useState([])\n const fileUploadHandler = () => {\n const fileFormData = new FormData();\n\n // let existFile = sectionDetails?.map(sec => { return sec.sub_section_fields[0]?.file?.map(name => name.filename) })\n // if (existFile[0] !== undefined) {\n // const fileList = Array.from(files[0] || []);\n // let newFile = fileList?.map((item) => item.name)\n // let uniqueFiles = newFile?.filter(val => !existFile[0].includes(val));\n // let popFile = fileList?.filter((item) => {\n // if (uniqueFiles.includes(item.name) !== false) {\n // return item\n // }\n // })\n // popFile.forEach((file) => fileFormData.append(\"documents[]\", file))\n // } else {\n // const file = [];\n // files.forEach((_, i) => {\n // file[i] = Array.from(files[i]);\n // file[i].forEach((file) => fileFormData.append(\"documents[]\", file));\n // });\n\n // // files.length > 0 && files.forEach(item => formData.append(`documents[]`, item))\n // }\n\n // console.log(\"files ateeeee==============\", files)\n\n // const file = [];\n // files.forEach((_, i) => {\n // file[i] = Array.from(files[i]);\n // file[i].forEach((file) => fileFormData.append(\"documents[]\", file));\n // });\n // let result = _.intersection(popFile, existFile[0])\n // uniqueFiles.forEach((file)=> fileFormData.append(\"documents[]\", file))\n\n orgSectionId && fileFormData.append(\"org_section_id\", orgSectionId);\n fileFormData.append(\"id\", workOrderId);\n files.length > 0 && files.forEach((file) => fileFormData.append(\"documents[]\", file))\n fileFormData.append(\"operable_type\", \"WorkOrder\");\n DataService.createData(fileFormData, \"uploadDocs\")\n .then((res) => getSectionDetails())\n .catch((err) => console.log(err));\n };\n\n const sectionRef = useRef();\n\n useEffect(() => {\n getSectionDetails();\n }, [sectionId, workOrderId, lineCustomerId]);\n\n const [fieldsMap, setFieldsMap] = useState({});\n\n const fieldsToSkipValidation = [\n \"Closed By\",\n \"Name\",\n \"Date Closed\",\n \"Total Hours\",\n ];\n\n useEffect(() => {\n let map = {};\n let list = sectionDetails\n .map((sd) => {\n if (sd.sub_section_fields) {\n return sd.sub_section_fields;\n }\n if (sd.sub_sections) {\n return sd.sub_sections;\n }\n })\n .flat();\n\n list.map((item) => {\n // if (item) {\n map[item?.id] = {\n name: item?.field_name,\n ...item,\n };\n if (item?.secondary_field) {\n map[item?.secondary_fields[0]?.org_field_id] = {\n name: item.secondary_fields[0]?.field_name,\n ...item?.secondary_fields[0],\n };\n }\n if (item?.child_section_fields) {\n item.child_section_fields.map((cf) => {\n map[cf.id] = {\n name: cf.field_name,\n ...cf,\n };\n });\n }\n // }\n });\n\n setFieldsMap(map);\n\n // setOveridesErrorsField(Object?.values(map)?.map(value => value?.name))\n }, [sectionName, sectionDetails]);\n\n const fieldTypeMap = {\n Freetext: \"textfield\",\n Datetime: \"Datetime\",\n \"Yes/No\": \"yes_or_no\",\n Numeric: \"numeric\",\n Dropdown: \"dropdown\",\n table_data: \"table_data\",\n File: \"File\",\n Numerictext: \"Numerictext\",\n Time: \"time\",\n };\n\n const getSectionDetails = () => {\n if (sectionId && workOrderId && lineCustomerId) {\n const params = {\n line_customer_id: lineCustomerId || 72,\n org_section_id: sectionId || 153,\n id: workOrderId || 118,\n operable_type: \"WorkOrder\",\n };\n setLoading(true);\n ListingService.getData(params, \"workOrderSectionDetail\").then((res) => {\n if (res.section_details) {\n setSectionName(res.section_details.section_name);\n setSectionDetails(res.section_details.sub_sections || []);\n }\n setLoading(false);\n });\n }\n };\n\n const handleSubmit = (e) => {\n // #region testing region fold for submit\n // try {\n e.preventDefault();\n if (e.target.id === \"mainform\") {\n // const currentFormData = form.formState;\n // let _data = [];\n // let __data = [];\n // let newData = [];\n // let allIndexes = \"\";\n // // let errors = {\n\n // // }\n // for (var pair of new FormData(e.target).entries()) {\n // _data.push(pair);\n // __data.push(pair[0]);\n // }\n // const findIndexOfAll = (arr, val) =>\n // arr.reduce(\n // (acc, el, i) => (el.indexOf(val) > -1 ? [...acc, i] : acc),\n // []\n // );\n // const allIndexs = findIndexOfAll(__data, \"org_section_id\");\n\n // const constructObject = (arr) => {\n // return arr.reduce((acc, val) => {\n // const [key, value] = val;\n // if (value.includes(\"[\", \"]\")) {\n // acc[key] = JSON.parse(value);\n // } else {\n // let ud = updateFieldData(value);\n // acc[key] = ud?.id ? ud.id : value === \"\" ? null : value;\n // }\n\n // return acc;\n // }, {});\n // };\n\n // allIndexs.map((indexes, i) => {\n // let d = [..._data];\n // if (d[indexes][1] !== \"137\")\n // newData.push({\n // org_section_id: d[indexes][1],\n // fields: [\n // {\n // ...constructObject(\n // d.splice(\n // allIndexs[i] + 1,\n // allIndexs[i + 1] ? allIndexs[i + 1] - 1 : d.length - 1\n // )\n // ),\n // },\n // ],\n // });\n // });\n\n // const newFormData = [];\n // for (let data in currentFormData) {\n // if (currentFormData.hasOwnProperty(data)) {\n // let fObj = {\n // id: data,\n // value: currentFormData[data],\n // };\n // newFormData.push(fObj);\n // }\n // }\n\n let params = {};\n\n // let data = {\n // operable_type: \"WorkOrder\",\n // id: workOrderId,\n // close: false,\n // data: newData,\n // };\n\n // let error = {};\n // let fieldData = {};\n // const whiteListKeys = [];\n //['4012', '4013', '4018', '4070']\n\n // newData.map((data) => {\n // let field = data.fields[0];\n // Object.keys(field).map((key) => {\n // if (!fieldsToSkipValidation.includes(fieldsMap[key]?.name)) {\n // // error[key] = {\n // // valid: field[key] !== '' ? true : false\n // // }\n // fieldData[key] = {\n // value: field[key],\n // };\n // }\n // });\n // });\n\n // let overrrideErr = {}\n // Object.keys(fieldData).map(d => {\n // // if (fieldsMap[d].mandatory)\n // // if (fieldsMap[d]?.)\n // let err = errors[d]\n // error[d] = {\n // valid: fieldData[d].value === '' && fieldsMap[d]?.mandatory ? false : true\n // }\n // if (overridesErrorsField.includes(fieldsMap[d]?.name) && fieldData[d]?.value) {\n // overrrideErr[d] = {\n // valid: true\n // }\n // }\n // })\n //\n // setErrors({...error, ...errors, ...overrrideErr})\n // if (Object.values({...error, ...errors, ...overrrideErr}).some(e => e.valid === false)) {\n // sectionRef.current.scrollIntoView({behavior: \"smooth\"});\n // return false;\n // } else {\n // setErrors({})\n // }\n //************************************************************************************\n //? This logic has been written by Shahzaib\n let sectionData = {\n operable_type: \"WorkOrder\",\n id: workOrderId,\n close: false,\n data: [],\n };\n\n let data = [];\n\n let occurrence = 0;\n\n //! converting the form data into requierd data structure by api\n for (const pair of new FormData(e.target).entries()) {\n const key = pair[0];\n let bases = props.bases.filter(base => pair[1].includes(base.station))\n const value = pair[1].includes(\"[\", \"]\")\n ? JSON.parse(pair[1]) : bases?.length != 0 ? null\n : pair[1];\n\n if (key.includes(\"org_section_id\")) {\n data.push({ org_section_id: value, fields: [] });\n occurrence++;\n } else {\n if (data[occurrence - 1]?.fields.length === 0) {\n data[occurrence - 1].fields.push({\n [key]: value === \"\" || value === \"Invalid date\" ? null : value,\n });\n } else {\n data[occurrence - 1].fields[0][key] =\n value === \"\" || value === \"Invalid date\" ? null : value;\n }\n }\n }\n\n const updatedData = data.length > 0 && data.filter((item) => item.fields.length > 0)\n // console.log(\"data===\", updatedData)\n sectionData.data = updatedData;\n //************************************************************************************\n\n OperationService.saveOperationFields(params)(sectionData)\n .then((response) => {\n if (files.length > 0) {\n fileUploadHandler();\n }\n props.getList();\n message.showToastMessage({\n message: \"Work Order updated successfully.\",\n variant: \"success\",\n });\n getSectionDetails();\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try Again\",\n variant: \"error\",\n });\n });\n }\n // } catch (error) {\n // message.showToastMessage({\n // message: \"Something went wrong. Try Again\",\n // variant: \"error\",\n // });\n // }\n //#endregion\n };\n\n const [showTableData, setShowTableData] = useState(false);\n const [currentSelection, setCurrentSelection] = useState();\n const [data, setData] = useState([]);\n\n const columns = [\n {\n title: \"Task / TLP #\",\n field: \"task_tlp\",\n },\n {\n title: \"ATA Chapter\",\n field: \"ata_chapter\",\n },\n {\n title: \"Description\",\n field: \"description\",\n },\n {\n title: \"Man-Hours\",\n field: \"man_hours\",\n },\n ];\n\n useEffect(() => {\n // if (currentSelection?.child_section_name)\n // getOperationList(mapTasks[currentSelection?.child_section_name])\n }, [page, totalCount, pageSize, currentSelection]);\n\n const closeTableData = () => {\n setShowTableData(false);\n setCurrentSelection(null);\n TableAction.clearData(rDispatch);\n };\n const handleTableData = (data) => () => {\n setShowTableData(true);\n setCurrentSelection(data);\n getOperationList(mapTasks[data.child_section_name]);\n };\n\n function getOperationList(task_type) {\n let params = {\n id: workOrderId,\n task_type,\n page: page + 1,\n count_per_page: pageSize,\n };\n TableAction.getList(dispatch, message, params, \"operational_tasks\");\n }\n\n const getSectionName = (title) => {\n switch (title) {\n case \"Part Details\":\n return \"part\";\n case \"Tooling\":\n return \"tool\";\n default:\n return null\n }\n };\n\n const [createSection, setCreateSection] = useState(\"\");\n const handleClose = () => {\n setTableRefresh(!tableRefresh);\n setCreateSection(null);\n setAction(null);\n };\n\n //! Inbd delay (mins) = Act Arrival Date/Time (UTC) - Est Arrival Date/Time (UTC)\n const [inbondState, setInbondState] = useState({\n \"Est Arrival Date/Time (UTC)\": \"\",\n \"Act Arrival Date/Time (UTC)\": \"\",\n \"Inbd delay (mins)\": \"\",\n });\n const [delayCode, setDelayCode] = useState(\"00.00\")\n // ! Delay = Act Departure Date/Time (UTC) - Est Departure Date/Time (UTC)\n //! Gnd time = Act Departure Date/Time (UTC) - Act Arrival Date/Time (UTC)\n const [departureDetailsTime, setDepartureDetailsTime] = useState({\n \"Est Departure Date/Time (UTC)\": \"\",\n \"Act Departure Date/Time (UTC)\": \"\",\n Delay: \"\",\n \"Gnd time\": \"\",\n });\n\n const [oilState, setOilState] = useState({\n \"Oil - Quarts\": \"\",\n \"Hyd Fluid - Quarts\": \"\",\n });\n\n // useEffect(() => {\n // let format = \"YYYY-MM-DD - HH:mm:ss\";\n // let revFormat = \"DD-MM-YYYY - HH:mm:ss\";\n // let duration = moment.duration(\n // moment(\n // inbondState[timeCalculationFields[1]],\n // format).diff(\n // moment(\n // inbondState[timeCalculationFields[0]],\n // format)\n // )\n // );\n\n // if (duration.isValid()) {\n // const hrs =\n // (duration.get(\"days\") * 24 + duration.get(\"hours\"))\n // .toString()\n // .padStart(2, \"0\") +\n // \":\" +\n // duration.get(\"minutes\").toString().padStart(2, \"0\");\n // const timespan = hrs.toString().padStart(2, \"0\");\n // // + \":\" + duration.get(\"seconds\").toString().\n // // padStart(2, '0');\n\n // setInbondState({\n // ...inbondState,\n // \"Inbd delay (mins)\": getTimeDiffFormatted(duration),\n // });\n // }\n // }, [\n // inbondState[\"Act Arrival Date/Time (UTC)\"],\n // inbondState[\"Est Arrival Date/Time (UTC)\"],\n // ]);\n\n // useEffect(() => {\n // let format = \"YYYY-MM-DD - HH:mm:ss\";\n // }, [\n // inbondState[\"Act Arrival Date/Time (UTC)\"],\n // departureDetailsTime[\"Act Departure Date/Time (UTC)\"],\n // ]);\n // console.log(\"inboundd=======\", typeof delayCode)\n useEffect(() => {\n let format = \"YYYY-MM-DD - HH:mm:ss\";\n let revFormat = \"DD-MM-YYYY - HH:mm:ss\";\n\n let gndDuration = moment.duration(\n moment(departureDetailsTime[departureTimeCalcFields[1]], format).diff(\n moment(inbondState[timeCalculationFields[1]], format)\n )\n );\n\n let delayDuration = moment.duration(\n moment(\n departureDetailsTime[\"Act Departure Date/Time (UTC)\"],\n // departureDetailsTime[\"Est Departure Date/Time (UTC)\"],\n format\n ).diff(\n moment(departureDetailsTime[\"Est Departure Date/Time (UTC)\"], format)\n // moment(departureDetailsTime[\"Act Departure Date/Time (UTC)\"], format)\n )\n );\n\n // if (gndDuration.isValid() || delayDuration.isValid()) {\n // const hrs = gndDuration.get('days').toString().padStart(2, '0') + \":\" + gndDuration.get(\"hours\").toString().padStart(2, '0') + \":\" + gndDuration.get(\"minutes\").toString().padStart(2, '0')\n // const timespan = hrs.toString().\n // padStart(2, '0')\n // // + \":\" + gndDuration.get(\"seconds\").toString().\n // // padStart(2, '0');\n\n // }\n\n if (delayDuration.isValid() || gndDuration.isValid()) {\n const days = delayDuration.get(\"days\");\n\n const hrs = Boolean(Math.abs(days))\n ? String(delayDuration.get(\"days\")).padStart(2, \"0\") +\n \":\" +\n String(Math.abs(delayDuration.get(\"hours\"))).padStart(2, \"0\") +\n \":\" +\n String(Math.abs(delayDuration.get(\"minutes\"))).padStart(2, \"0\")\n : String(delayDuration.get(\"hours\")).padStart(2, \"0\") +\n \":\" +\n String(Math.abs(delayDuration.get(\"minutes\"))).padStart(2, \"0\");\n const timespan = hrs;\n console.log({ gndDuration, delayDuration });\n setDepartureDetailsTime({\n ...departureDetailsTime,\n \"Gnd time\": gndDuration.isValid()\n ? getTimeDiffFormatted(gndDuration)\n : \"\",\n Delay: delayDuration.isValid()\n ? getTimeDiffFormatted(delayDuration)\n : \"\",\n });\n // setDepartureDetailsTime({\n // ...departureDetailsTime,\n // 'Delay': timespan,\n\n // })\n }\n }, [\n departureDetailsTime[\"Act Departure Date/Time (UTC)\"],\n inbondState[\"Act Arrival Date/Time (UTC)\"],\n departureDetailsTime[\"Est Departure Date/Time (UTC)\"],\n ]);\n\n useEffect(() => {\n // setErrors({})\n }, [sectionId]);\n\n // console.log(\"set files is======================\", mroOwned)\n useEffect(() => {\n if (workOrderId && mroOwned == \"request_part\" || \"managed_part\") {\n const params = {\n organisation_id: getOrganisationId(),\n work_order_id: workOrderId\n\n }\n LineCustomerServiceNew.getTaskDetails(params).then((res) => {\n setTaskDetails(res.data)\n }).catch(() => {\n\n })\n\n }\n }, [workOrderId, mroOwned])\n\n\n\n\n\n\n\n\n\n\n const theme = useTheme();\n //TODO: implement useMemo() to boost performance between form value changes.\n return !loading ? (\n
\n \n \n
\n {sectionDetails.map((section, i) => {\n return (\n \n
\n \n
\n \n {sectionName === \"Parts & Tools\" && (\n <>\n \n {mroOwned === MRO_MANAGED_PART && section.sub_section_name === \"Part Details\" ?\n <>\n {\n setCreateSection(\n getSectionName(section.sub_section_name)\n );\n setAction(\"create\");\n // setAction(\"create_alternative_part\");\n }}\n startIcon={}\n >\n Direct Add {getSectionName(section.sub_section_name)}\n {''}\n {\n setCreateSection(\n getSectionName(section.sub_section_name)\n );\n setAction(\n mroOwned === MRO_MANAGED_PART\n ? getSectionName(section.sub_section_name) === \"tool\" ? \"create\" : \"create_alternative_part\"\n : \"create\"\n );\n // setAction(\"create_alternative_part\");\n setSubSectionDetails(section.sub_sections)\n }}\n startIcon={}\n >\n Request {getSectionName(section.sub_section_name)}\n \n\n :\n {\n setCreateSection(\n getSectionName(section.sub_section_name)\n );\n setAction(\n mroOwned === MRO_REQUEST_PART\n ? getSectionName(section.sub_section_name) === \"tool\" ? \"create\" : \"create_alternative_part\"\n : \"create\"\n );\n // setAction(\"create_alternative_part\");\n setSubSectionDetails(section.sub_sections)\n }}\n startIcon={}\n >\n Add {getSectionName(section.sub_section_name)}\n }\n \n {section.sub_section_name === \"Part Details\" && (\n \n \n \n )}\n {section.sub_section_name === \"Tooling\" && (\n \n )}\n \n )}\n {section.sub_section_name ===\n \"Aircraft Deferred Defects (ADDs)\" && (\n \n )}\n\n \n {section &&\n section.sub_section_fields &&\n section.sub_section_fields.map((subSection, i) => {\n if (\n timeCalculationFields.includes(\n subSection.field_name\n )\n ) {\n return (\n \n \n \n );\n }\n\n if (\n departureTimeCalcFields.includes(\n subSection.field_name\n )\n ) {\n return (\n \n \n \n );\n }\n\n if (HydAndOilQuarts.includes(subSection.field_name)) {\n return (\n \n \n \n );\n }\n if (section.sub_section_name === 'Customer Acceptance' && subSection.field_name === \"signature\") {\n\n let file = section?.sub_section_fields.filter((item) => item.field_name === \"signature\")\n\n\n return (\n \n {subSection.file !== null && file !== null ?\n ({\n id: file?.file?.id,\n filename: file?.file?.filename,\n url: file?.file?.url,\n }))}\n // showBorderOnNoFiles={true}\n APIUrl={\"\"}\n uploadButtonView={false}\n name={\"Line\"}\n /> : ''}\n \n )\n }\n\n if (sectionName === \"Records\" && section.sub_section_name === \"Work Order Closure\" && subSection.field_name === \"Additional Engineers\") {\n return (\n sec.sub_section_name === \"Work Order Closure\"\n )}\n permission={props.permission}\n baseStationId={baseStationId}\n bases={props?.bases}\n />)\n\n }\n if (section.sub_section_name === 'Final Acceptance' && subSection.field_name === \"Engineer Signature\") {\n return (\n \n {subSection.file !== null ?\n ({\n id: file?.file?.id,\n filename: file?.file?.filename,\n url: file?.file?.url,\n }))}\n // showBorderOnNoFiles={true}\n APIUrl={\"\"}\n uploadButtonView={false}\n name={\"Line\"}\n /> : ''}\n \n )\n }\n if (\n StationAndCommentFields.includes(\n subSection.field_name\n )\n ) {\n return (\n \n \n \n );\n }\n if (section.sub_section_name === \"Planned Maint\") {\n\n return (\n \n \n \n )\n }\n\n if (delayCode !== \"00:00\" && delayCode !== null && subSection.field_name === \"Delay Commentary\") {\n return (\n \n {fieldTypeMap[subSection.field_type] ===\n \"textfield\" && (\n \n )}\n {fieldTypeMap[subSection.field_type] ===\n \"Datetime\" && (\n \n )}\n {fieldTypeMap[subSection.field_type] ===\n \"time\" && (\n \n )}\n {fieldTypeMap[subSection.field_type] ===\n \"dropdown\" && (\n \n )}\n {fieldTypeMap[subSection.field_type] ===\n \"yes_or_no\" && (\n \n )}\n {fieldTypeMap[subSection.field_type] ===\n \"numeric\" && (\n \n )}\n {fieldTypeMap[subSection.field_type] ===\n \"File\" && (\n {\n setFiles(files);\n }}\n setOrgSectionId={setOrgSectionId}\n formData={formData}\n formState={form.formState}\n setErrors={setErrors}\n errors={errors}\n getSectionDetails={getSectionDetails}\n operableType=\"WorkOrder\"\n permission={props?.permission}\n />\n )}\n {fieldTypeMap[subSection.field_type] ===\n \"Numerictext\" && (\n \n )}\n \n\n )\n }\n if (subSection.field_name !== \"Delay Commentary\") {\n return (\n \n {fieldTypeMap[subSection.field_type] ===\n \"textfield\" && (\n \n )}\n {fieldTypeMap[subSection.field_type] ===\n \"Datetime\" && (\n \n )}\n {fieldTypeMap[subSection.field_type] ===\n \"time\" && (\n \n )}\n {fieldTypeMap[subSection.field_type] ===\n \"dropdown\" && (\n \n )}\n {fieldTypeMap[subSection.field_type] ===\n \"yes_or_no\" && (\n \n )}\n {fieldTypeMap[subSection.field_type] ===\n \"numeric\" && (\n \n )}\n {fieldTypeMap[subSection.field_type] ===\n \"File\" && (\n {\n setFiles(files);\n }}\n setOrgSectionId={setOrgSectionId}\n formData={formData}\n formState={form.formState}\n setErrors={setErrors}\n errors={errors}\n getSectionDetails={getSectionDetails}\n operableType=\"WorkOrder\"\n permission={props?.permission}\n />\n )}\n {fieldTypeMap[subSection.field_type] ===\n \"Numerictext\" && (\n \n )}\n \n );\n }\n })}\n {section &&\n section.sub_sections &&\n section.sub_section_name !==\n \"Aircraft Deferred Defects (ADDs)\" &&\n section.sub_sections.map((childSection, i) => {\n return (\n \n {childSection.child_section_type !==\n \"table_data\" && (\n \n {childSection.child_section_name}\n \n )}\n
\n \n {childSection.child_section_type ===\n \"default\" && (\n <>\n \n {childSection?.child_section_fields?.map(\n (child_section_field, index) => {\n return (\n <>\n\n \n {child_section_field.field_type ===\n \"Table\" && child_section_field.field_name === \"Removed Parts Table\" && (\n \n\n )\n }\n \n\n\n \n {fieldTypeMap[\n child_section_field.field_type\n ] === \"textfield\" && (\n \n )}\n {fieldTypeMap[\n child_section_field.field_type\n ] === \"Datetime\" && (\n \n )}\n {fieldTypeMap[\n child_section_field.field_type\n ] === \"time\" && (\n \n )}\n {fieldTypeMap[\n child_section_field.field_type\n ] === \"dropdown\" && (\n \n )}\n {fieldTypeMap[\n child_section_field.field_type\n ] === \"yes_or_no\" && (\n \n )}\n {fieldTypeMap[\n child_section_field.field_type\n ] === \"numeric\" && (\n \n )}\n {fieldTypeMap[\n child_section_field.field_type\n ] === \"File\" && (\n \n )}\n {fieldTypeMap[\n child_section_field.field_type\n ] === \"Numerictext\" && (\n \n )}\n \n \n );\n }\n )}\n \n \n )}\n {childSection.child_section_type ===\n \"table_data\" &&\n childSection.child_section_name !==\n \"Tools Used Table\" && (\n <>\n \n \n\n {/* {\n childSection?.child_section_fields?.map((child_section_field, index) => {\n return (\n \n {(fieldTypeMap[child_section_field.field_type] === 'textfield') && }\n {(fieldTypeMap[child_section_field.field_type] === 'Datetime') && }\n {(fieldTypeMap[child_section_field.field_type] === 'dropdown') && }\n {fieldTypeMap[child_section_field.field_type] === 'yes_or_no' && }\n {fieldTypeMap[child_section_field.field_type] === 'numeric' && }\n {fieldTypeMap[child_section_field.field_type] === 'File' && }\n \n )\n })\n } */}\n \n \n\n\n \n )}\n \n );\n })}\n \n
\n
\n );\n })}\n {/* {sectionName === \"Records\" && (\n sec.sub_section_name === \"Work Order Closure\"\n )}\n permission={props.permission}\n />\n )} */}\n {props?.permission?.write && (\n
\n \n Cancel\n \n \n Save\n \n
\n )}\n {showTableData && (\n \n )}\n \n {createSection && action === \"create\" && (\n \n )}\n\n {createSection && action === \"create_alternative_part\" && (\n \n )}\n
\n \n \n ) : (\n
\n \n
\n );\n}\n\n\nexport default React.memo(SectionDetail);\n\nconst sectionTheme = (permission) => (theme) =>\n !permission?.write\n ? createTheme({\n ...theme,\n overrides: {\n ...theme.overrides,\n MuiGrid: {\n item: {\n zIndex: 0,\n },\n },\n MuiFormControl: {\n root: {\n zIndex: -1,\n },\n },\n MuiOutlinedInput: {\n root: {\n \"& fieldset\": {\n borderWidth: \"1px !important\",\n borderColor: theme.palette.primary.main,\n },\n },\n },\n MuiToggleButton: {\n ...theme.overrides.MuiToggleButton,\n root: {\n ...theme.overrides.MuiToggleButton.root,\n zIndex: -1,\n },\n },\n },\n })\n : createTheme({\n ...theme,\n overrides: {\n ...theme.overrides,\n MuiOutlinedInput: {\n root: {\n \"& fieldset\": {\n borderWidth: \"1px !important\",\n borderColor: theme.palette.primary.main,\n },\n },\n },\n },\n });\n","import requestApi from \"./common/boxp_api_client\";\n\nconst updateDataUrl = {\n acceptanceOrder: \"\"\n}\n\nfunction boxpUpdateData(formData, id = null, section) {\n return requestApi({\n url: id ? `${updateDataUrl[section]}/${id}` : `${updateDataUrl[section]}`,\n method: 'PUT',\n data: formData\n })\n}\n\nexport const boxpUpdateDataWithParams = (params, section) => {\n return requestApi({\n url: `${updateDataUrl[section]}`,\n method: 'PUT',\n params: params\n })\n}\n\nexport default boxpUpdateData;\n","import requestApi from \"./common/boxp_api_client\";\n\nconst creationUrl = {\n createContact: \"/customer/contact\",\n createEmail: \"/customer/report_emails\",\n createAddress: \"/customer/address\",\n createStorageRates:\"/customer/storage_rates\",\n createQuotation: \"/quotation\",\n planning: \"/planning\"\n}\n\nfunction BoxpCreateData(formData, section) {\n\n return requestApi({\n url: creationUrl[section],\n method: 'POST',\n data: formData\n })\n}\n\nexport default BoxpCreateData;\n","import requestApi from \"./common/boxp_api_client\";\n\nconst deletionUrl = {\n deleteComment: \"/action_comment\",\n deleteActionData : \"/action_imp\",\n deletePriceBreak: \"/price_breaks\"\n}\n\nfunction boxpDeleteData(id, section, data, params) {\n let url = params ? `${deletionUrl[section]}${params ? '?id=' + id : id || ''}`\n : `${deletionUrl[section]}/${id || ''}`\n return requestApi({\n url: url,\n method: 'DELETE',\n data: id ? '' : data\n })\n}\n\nexport default boxpDeleteData;","import boxpUpdateData from \"./boxp_update_data_service\";\nimport BoxpCreateData from \"./boxp_create_data_service\";\nimport boxpDeleteData from \"./boxp_delete_data\";\nimport { getData } from \"./listing_service\";\nimport { updateDataWithParams } from './update_data_service';\n\nconst BoxpDataService = {\n getData,\n BoxpCreateData,\n boxpUpdateData,\n boxpDeleteData,\n updateDataWithParams,\n}\nexport default BoxpDataService;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAABGCAYAAADFJBSLAAAABHNCSVQICAgIfAhkiAAAAmNJREFUWEftly1MQzEURjcFc6DIBGESB1PgGAqmwJEphsOxKbBTMAUogmJB4QDFHEPxo+YIisk5QIGD72vW8l7TsNsbBIImN1m73pO+tue9NpvJZD4QIwhNaWaR1UNMabKRUyfgDjGnBFQIaCOWlIAyAS3EuhJQJGAPsa0E5AnYQewqATkCqogTBeANOWMELCOuFIAn5EwTMI+4VQDumUtAAfGsAFwiZ5WAUcS7AnCMnE0CWDQ+NLmCFtBDJdaHOnIOLEDjQwWAMwvQ+FAGoG0BLVRifSgip2sBGh/yAPQtQONDjqtnAVVUYnwwHnD9LSDWB+NBEhDrg/EgCSigEuOD8SAJiPXBeJAExPpgPPABfTRMsFFQjAc+oIuGGUEyuxgPfECMD8YDH0DimnAExgMfwGfaEgKMBz4gxgfjgQ/guh4JRuA88AHcWecCgPPAB0h9cB74ANr1KBiB88AH0O8XAcB54ANYl3wfnAchgMQH50EIIPHBeRACSHxwHoQAEh+cByGAxAfnQQgg8cF5EAIM8yHlQQgwzIeUByHAMB9SHoQAk2g8/WE7P+C/1KHUftoECoS7/AO+zwd/bxJnMaSVxLB6+M134as/VH8ZS+iwjyAgVGhrIwlKAqr4Q3LQ4ltrA5H6NkqT7aiYvMiRcAR8nfN8ZI5tEeUQfWsE1AbPHZHruo4T0EEsaLI5FwR8KpOZ1vgVQA+k2NuKHbS5vbcQsXcFCzB35xLiWjEPN8y1O1GzEtxIHQvgJiJEetDkVuaju/sCfxNyMWRP8MPCjWeSfYBt45xUB3NjV4fPSzgTU0p/ATvhfD+Hq0VJAAAAAElFTkSuQmCC\"","import React, { useEffect, useState } from \"react\";\nimport {\n KeyboardDatePicker,\n MuiPickersUtilsProvider,\n} from \"@material-ui/pickers\";\nimport MomentUtils from \"@date-io/moment\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport moment from \"moment\";\n// import MROTextField from \"./TextField\";\n\nimport EventIcon from \"@material-ui/icons/Event\";\nimport { InputAdornment } from \"@material-ui/core\";\nimport MROTextField from \"components/form_components/TextField\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& input::placeholder\": {\n textTransform: 'unset'\n },\n margin: theme.spacing(1, 0),\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderColor: theme.palette.primary.main,\n borderWidth: \"1px !important\",\n },\n \"&:hover fieldset\": {\n borderColor: theme.palette.primary.light,\n // borderWidth: '1px !important'\n },\n \"&.Mui-error:hover fieldset\": {\n borderColor: \"#f44336 !important\",\n },\n \"& .MuiOutlinedInput-input\": {\n padding: \"15px\",\n },\n },\n \"& label\": {\n color: theme.palette.primary.main,\n },\n },\n}));\n\nexport const checkFromat = (date) =>\n /^\\d{4}\\-(0?[1-9]|1[012])\\-(0?[1-9]|[12][0-9]|3[01])$/.test(date);\n\nfunction DateField(props) {\n const classes = useStyles();\n const [selectedDate, setSelectedDate] = useState(null);\n const {\n label,\n name,\n defaultValue,\n variant,\n onChange,\n error,\n helperText,\n disabled,\n calenderAction,\n type,\n maxDate,\n value,\n setRepeatDate\n } = props;\n\n\n const outputFormat = \"DD/MM/YYYY\";\n useEffect(() => {\n setSelectedDate(defaultValue ? moment(\n defaultValue,\n checkFromat(defaultValue) ? \"YYYY-MM-DD\" : calenderAction ? \"YYYY-MM-DD hh:mm:ss\" : \"DD/MM/YYYY\"\n ).format(\"lll\")\n : \"\"\n );\n }, [defaultValue]);\n\n\n useEffect(() => {\n if (value !== \"Invalid date\" && type === \"due\") {\n setSelectedDate(value)\n }\n }, [value])\n\n\n if (disabled) {\n return (\n \n \n \n ),\n }}\n />\n );\n }\n\n return (\n \n {\n setSelectedDate(date);\n onChange && onChange(moment(date).format(\"DD/MM/YYYY\"));\n }}\n />\n \n \n );\n}\n\nexport default DateField;\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAZCAYAAAAv3j5gAAAABHNCSVQICAgIfAhkiAAAA2VJREFUSEuNVlF2EkEQ7AHir3iCkBMkOYGbT5+awAkkJ5CcgOQEkhMIJwgBfX5CTiCcQDgB+quEsapnZplZF3B9vOzO9HR1d1X3aOTAY8fSFCtXYuQMpvyFZ4b1GT6G5lIeD/kxuwzsSNrY6wKggb9LdWrUsXssQB34Md4XeO+b93KHwCzW7vB+G/v+B8h+g+O1PGj0FpFW5da8jQAKkcFxBrsOgK6wxUAIvh/IfoXRs0xgaPCviaimh0qiybngPuM18/a7gXIQgzKtJTMt+RmDaOQir6O1pxCI32OAfObIsAfe+qWlgzHJbSCjRgxCMcDhEH958EN0eID1dtg/lLlyZL+gxlY+4fUiLlfk3NUenCHSJoQyTDixEMKlXCcVYDn/oDI+Mwc0hmqgKjoJxhHIPda4PpQaSvJGFp6TTr4u8hHnEzANRuQUPk/o02ifiKosz8Y7+oG1KTK8iMAdTxYieZZ5KHGeYU1OGIgPnrbkrcXSE4i1z/DRSFIPnKzlla7X9FDasBWU6zcc12SFPeWs4IOgDLZNIIpgEcqm6tuAL9eQj0r4SGXOb5W8VxkDXOH7XIN102MmFbkJfeczPaYNgZJOjqQ6wKFeHrGV61iyeckrcq5ZbCAop8otBWOdDl0AmX1AeiACThXpMv8eHJfZYS0CGqExDdTkZ1N+gPOLowTy9Fnfw4ZR65O3BARAGTNyPxd3ZOTqL3BIY7EPUpcjkMr5teVAI6OEUc4pMiFf3Fdw5VlwDgEDtF9QYwM2Z051IBJATl0h4iAAPyk0gw1KYeQl7H+FKmhgVZ3eEzhsJT7Yn5HqQh+p3jWrUH+W7xlkv8BYKpngakd5V8EVr5O0jxK/bjIweoPrIJrWeh8ZTGSrHNb1zgmcxXfVdj9VpZsMHEF1pSZOtfjuL7+e1l60GVf+7uE3S82yk6tOQfoZ1iY4d2Pe6dkUyMuRfcUbdKmKAwckN0g1CkbvnLCfc+uGKUu5pAjCepKRl7Hbs/IUlLgv63hPhcFRZSH5IyjNz72yjEI25IXimP43iLvSOZwNxJEVxVOW0QDGTPkUPwKxRDsBfYN3YUde5sioGWeyq3QZDBd65zhlUQjsG/YJm3L7vyB3EbJxG9pXFajWE19Whb2qU6rcfcVfyDL4mXvgYei/fWX+C+xluSkTrDNkAAAAAElFTkSuQmCC\"","import {\n Box,\n Dialog,\n DialogTitle,\n DialogContent,\n Typography,\n} from \"@material-ui/core\";\nimport React from 'react';\nimport { makeStyles } from \"@material-ui/core/styles\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"370px\",\n height: \"150px\",\n borderRadius: \"10px\"\n },\n\n header: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n color: \"#4D4F5C\",\n fontSize: \"15px\",\n marginTop: \"10px\"\n },\n footer: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n color: \"#4D4F5C\",\n marginBottom: \"20px\",\n fontSize: \"15px\"\n }\n\n\n}));\n\nconst MessagePopup = (props) => {\n // console.log(props)\n const { handleClose, open, topTitle, bottomTitle } = props\n const classes = useStyles();\n\n return (\n \n \n \n \n \n {topTitle}\n \n \n \n \n \n {\"loading...\"}\n \n \n {bottomTitle}\n \n \n )\n}\nexport default MessagePopup;","import React from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Button from \"@material-ui/core/Button\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport Slide from \"@material-ui/core/Slide\";\n\nimport propTypes from \"prop-types\";\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n position: \"relative\",\n },\n title: {\n marginLeft: theme.spacing(2),\n flex: 1,\n },\n}));\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nfunction RightDialog(props) {\n const { children, open, dialogCloseHandler } = props;\n\n const classes = useStyles();\n\n const handleClose = () => {\n dialogCloseHandler();\n };\n\n return (\n
\n \n
{children}
\n \n
\n );\n}\n\nRightDialog.propTypes = {\n children: propTypes.node.isRequired,\n open: propTypes.bool.isRequired,\n dialogCloseHandler: propTypes.func.isRequired,\n dialogOpenHandler: propTypes.func.isRequired,\n};\n\nexport default RightDialog;\n","// import request from \"./common/api_client\";\nimport requestrApi from \"./common/boxr_api_client\";\n\nconst dataUrl = {\n handOverDeps: 'handovers/fetch_dependencies',\n getAckOpenhandoverData: 'handovers/set_handover',\n training: '/trainings',\n competency: '/competencies',\n fetchTraining: 'user_compliances/fetch_user_trainings',\n fetchCompetency: 'user_compliances/fetch_user_competencies',\n storageCondition: '/storage_conditions',\n procedureCategories: '/procedure_categories',\n aogSMS: '/line_customers/aog_sms_contacts',\n reportEmail: '/line_customers/report_emails',\n kpiEmail: '/line_customers/kpi_emails',\n commercialRates: '/line_customers/commercial_rates',\n commercialRatesData: '/line_customers/fetch_commercial_rate',\n scheduledCheckHours: '/line_customers/scheduled_check_hours',\n delayCodes: '/line_customers/delay_codes',\n fixedPriceList: '/line_customers/aircraft_type_groups',\n scheduledChecks: '/line_customers/scheduled_check_hours',\n userCompliance: '/user_compliances/listing_users',\n complianceCompetency: '/user_compliances/listing_competencies',\n complianceTraining: '/user_compliances/listing_trainings',\n competencyBaseList: '/competencies/listing_base_applications',\n competencyGroupList: '/competencies/listing_group_applications',\n trainingBaseList: '/trainings/listing_base_applications',\n trainingGroupList: '/trainings/listing_group_applications',\n approvalType: '/approval_types',\n approvalTypeGroup: '/group_types',\n companyApprovals: '/company_approvals',\n authList: '/auth_lists',\n typePermissions: '/approval_types/listing_type_permissions',\n approvalScope: '/group_types/listing_approval_types',\n authFilters: '/auth_lists/fetch_dependencies',\n authGroupsCreateList: '/auth_lists/fetch_approval_types',\n authPermissionList: '/auth_lists/fetch_approval_permissions',\n authUserDetail: '/auth_lists/fetch_user_information',\n workOrder: '/work_orders',\n customerInfo: '/line_customers/customer_infos',\n taskLibrary: '/task_libraries',\n ataChapters: '/task_libraries/fetch_ata_chapters',\n ataScheduledChecks: 'ata_chapters/listing_scheduled_checks',\n\n vehicleList: '/vehicles',\n basesList: '/vehicles/fetch_base_stations',\n vehicleInspection: '/vehicle_inspections',\n vehicleInspectionFilters: '/vehicle_inspections/fetch_filter_dependencies',\n vehicleInspectionDetail: '/vehicle_inspections/vehicle_inspection_info',\n workOrderSections: '/operation_fields/fetch_sections',\n workOrderSectionDetail: '/operation_fields/fetch_fields',\n workOrderDependencyTable: '/',\n stationInspections: '/station_inspections',\n stationInspectionFilters: '/station_inspections/fetch_filter_dependencies',\n stationCheckDetail: '/station_inspections/station_inspection_info',\n baseStationChecks: '/base_stations/fetch_station_checks',\n userApprovals: '/user_compliances/approval_information',\n userGeneralFiles: '/user_compliances/general_files',\n competencyQuestions: '/competencies/competency_categories',\n adhocForms: '/adhoc_forms',\n LineManagers: '/base_stations/fetch_user_information',\n authListVersionDownload: '/auth_lists/version_download',\n handoverHistory: '/handovers',\n handoverChecks: '/handovers/setups',\n recencyTask: '/recencies',\n recency: '/user_compliances/recency',\n adhocFormDetail: '/adhoc_forms/fetch_adhoc_info',\n adhocDependency: '/adhoc_forms/adhoc_dependency',\n users: '/users/lm_compliance_status',\n vendorParts: '/vendor_parts',\n operational_tasks: '/operational_tasks',\n // operation_workorder_tooling: '/operation_fields/work_order_toolings',\n operation_workorder_tooling: '/operation_fields/operation_toolings',\n fetch_tooling: '/operation_fields/fetch_toolings',\n accountScheduledChecks: '/accounts/scheduled_checks',\n accountsWorkOrderReports: '/accounts/workorder_reports',\n accountsTowing: '/accounts/towing',\n accountsGND: '/accounts/gnd_equip',\n equipmentList: '/accounts/list_equipments',\n accountsCallOutFees: '/accounts/callout_fees',\n accountsCallOutHrs: '/accounts/callout_reports',\n accountsDelayReports: '/accounts/delay_reports',\n accountsTechLogMaint: '/accounts/tech_log_maint_tasks',\n accountsCabinMaint: '/accounts/cabin_maint_tasks',\n accountsNonFixedPrice: '/accounts/non_fixed_price_tasks',\n accountsDefects: '/accounts/defect_tasks',\n accountsPlannedTask: 'accounts/planned_tasks',\n accountsPlannedWorkOrders: \"/work_orders/planned_work_order_account\",\n accountsOutboundWorkOrders: \"/work_orders/outbound_work_order\",\n comsumeables: '/accounts/consumables',\n parts: '/accounts/parts',\n baseStations: '/base_stations',\n fetchUserInfo: '/operation_fields/fetch_user_info',\n workOrderListing: '/work_orders/listing_work_orders',\n dashboardHandovers: '/dashboards/handovers',\n dashboardVehicles: '/dashboards/vehicles',\n dashboardToolings: '/dashboards/toolings',\n dashboardSelfLifeExpiry: 'dashboards/shelf_life_expiry',\n dashboardVehicleMotPass: '/dashboards/vehicle_mot_pass',\n operationTotalHours: '/operation_fields/calculate_man_hours',\n operationTaskLibrary: '/operation_fields/fetch_task_libraries',\n listingATAChapter: '/ata_chapters/listing_ata_chapters',\n workOrderSendEmail: '/work_orders/send_work_order_mail',\n primeParts: '/primary_parts/listing_prime_parts',\n fetchSuppliers: '/part_suppliers/fetch_suppliers',\n partsFetchDependencies: '/primary_parts/fetch_dependencies',\n primaryPartsBaseLevels: '/primary_parts/listing_base_levels',\n currencies: '/currencies',\n purchaseOrders: '/purchase_orders/listing_orders',\n getCertificates: '/primary_parts/material_certificates',\n generateConsolidatedReport: '/consolidate_reports/generate_report',\n managedParts: '/accounts/managed_parts',\n mroMangedParts: '/part_conditions/listing_conditioned_parts',\n existingQty: '/primary_parts/unique_part_quantity',\n fetchHandOverById: 'handovers/fetch_handover_info',\n fetchRequestTable: '/part_requests/listing_part_requests',\n DelayListing: '/delays/listing_delays',\n CallOutsListing: '/call_outs/listing_callouts',\n stockOptionList: '/part_requests/stock_options',\n allocationList: \"/part_requests/allocated_parts_details\",\n allocatedList: '/part_conditions/listing_allocated',\n getAllRequest: '/part_requests/procurement_requests_listing',\n getAllProcRequest: '/procurement_requests/procurement_requests_listing',\n getAllocatedJobReq: \"/part_requests/allocated_job_req_details\",\n getAccountsFormListing: '/accounts/form_listing',\n getPurchasedItems: '/purchase_orders/po_items',\n\n // delay\n getDelayAndCalloutTabs: '/operation_fields/fetch_maint_sections',\n getDelayAndCalloutFields: '/operation_fields/fetch_maint_fields',\n //cancellation\n getCancellation: \"/line_customers/canclations\",\n\n\n //Delay Reason field dropdown values api\n delayReasonDpdValues: '/line_customers/delay_codes',\n\n // Request part\n requestPart: \"/primary_parts\",\n\n // compliance => approval => capability\n capabilitiesList: \"/capabilities\",\n capabilitiesEngineTask: \"/capabilities/capabilities_eng_tasks\",\n approvalFetchDependencies: \"/auth_lists/fetch_filter_dependencies\",\n\n // Request part table in parts and tool section;\n partsAndToolsRequestParts: '/part_requests/operation_request_listing',\n partInfoTable: \"/part_requests/allocated_job_req_details\",\n getAllKits: \"/primary_parts/listing_kits\",\n kitsPrimaryPart: \"/kits/kit_primary_parts\",\n\n // Admin => Workshop => Admin\n releaseTypesListing: \"/release_types\",\n\n // Procurement => Parts => Request => Allocated\n stockOptionsList: \"primary_parts/fetch_secondary_parts\",\n alternatePartList: \"/part_requests/allocated_job_req_details\",\n alternatePartOptionsListing: \"/primary_parts/list_alternate_parts\",\n\n\n //workshop admin customer contact details\n allContact: \"/customer/contact/all\",\n reportEmailWorkshop: \"/customer/report_emails/all\",\n\n workshopRequestPart: \"/part_requests/operation_request_listing\",\n workshopToolingRequestPart: \"/toolings/workshop_toolings\",\n workshopServices: \"/services/operation_listing\",\n getAllEquipmentList: \"/equipment_requests\",\n getWorkshopEquipment: \"/equipment_requests/operation_listing\",\n approval_tiers: \"/approval_tiers\",\n services: \"/services\",\n scheduledCheckRates: \"/check_rates\",\n // DD Parts\n DDPartListing: \"/dd_parts/listing_requests\",\n // DDPartListing: \"/dd_parts\"\n\n //CommercialRates\n scheduledCheckCus: \"/line_customers/scheduled_check_hours\",\n scheduledCheckRates: \"/check_rates\",\n accountScheduledRates: \"/accounts/check_rates\",\n Gnd_handling_fields_high_lift_equip: \"/accounts/gnd_handling_fields\",\n Gnd_handling_fields_large_steps: \"/accounts/gnd_handling_fields\",\n Gnd_handling_fields_medium_steps: \"/accounts/gnd_handling_fields\",\n Gnd_handling_fields_wheel_change_kit: \"/accounts/gnd_handling_fields\",\n accountDelayInbound: '/work_orders/inbound_work_orders',\n accountDelayExceeds: '/work_orders/exceeds_gnd_time',\n\n //procurement usage\n getAllUsageList: \"/procurement_usage_list\",\n getAllToolData: \"/toolings\",\n getAllForcast: \"procurement_requests/parts_forecast\",\n //removed parts\n lineRemoveParts: '/part_conditions/removed_parts',\n commercial_tooling: '/toolings/commercial_rates_toolings',\n //accounts/admin\n mileageRates: \"/vehicles/listing_vehicles\",\n labourRates: \"/user_groups/listing_labour_rates\",\n fixedFees: \"/line_customers/listing_lc_app_type_rates\",\n basedAircraft: \"/line_customers/listing_based_ac_groups\"\n}\n\nexport function getData(params, section) {\n return requestrApi({\n url: dataUrl[section],\n method: 'GET',\n params: params,\n paramsSerializer: (params) => {\n // Sample implementation of query string building\n let result = '';\n Object.keys(params).forEach(key => {\n if (params[key] != null) {\n if (key == \"tasks[]\" || key == \"consumables[]\" || key == \"aircraft_registrations[]\") {\n const tasksVal = params[key];\n tasksVal.map(function (eachTask) {\n result += `${key}=${encodeURIComponent(eachTask)}&`;\n })\n }\n else {\n result += `${key}=${encodeURIComponent(params[key])}&`;\n }\n\n }\n });\n return result.substr(0, result.length - 1);\n }\n })\n}\n\nconst ListingService = {\n getData\n}\n\n\nexport default ListingService;\n","import React from \"react\";\nimport {\n Box,\n CircularProgress,\n Dialog,\n DialogContent,\n makeStyles,\n} from \"@material-ui/core\";\nimport MROButton from \"./buttons\";\n\nfunction MRODialog(props) {\n const {\n open,\n handleClose,\n children,\n handleSubmit,\n isLoading,\n width,\n centerActionBtns,\n btnTitle,\n noActionBtns,\n btnLeft,\n bgColor,\n color,\n leftStartIcon,\n rightStartIcon,\n submit,\n hideYesButton\n } = props;\n\n const classes = useStyles(props);\n\n const submitHandler = (e) => {\n e.preventDefault();\n typeof handleSubmit === \"function\" && handleSubmit(e);\n };\n\n return (\n \n \n
\n {children}\n {!noActionBtns && \n \n {btnLeft ?? \"Cancel\"}\n \n \n {isLoading ? (\n \n ) : (\n btnTitle ?? open\n )}\n \n }\n \n
\n \n );\n}\n\nexport default MRODialog;\n\nconst useStyles = makeStyles(() => ({\n dialog: {\n \"& .MuiDialog-paper\": {\n boxShadow: \"0px 3px 6px #00000029\",\n position: \"absolute\",\n left: (props) =>\n props?.fromLeft ? `calc(60% - ${props.fromLeft})` : `calc(60% - 250px)`,\n // height: \"717px\",\n },\n\n \"& .MuiDialogContent-root\": {\n padding: (props) =>\n props.padding ? props.padding : \"37px 65px 63px 65px\",\n overflow: \"hidden\",\n },\n },\n}));\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAACJ0SURBVHja7d3bk2VXXcBxeTA+5Dkl/4Q+8G4V5RsPqZIQCYFAgSNiDGCIiRogBFAxRkSjJgGCGmMEAUNCIiGEZCZzy9x6rj3TM9Nz7bn29ExP3++X5f6dTDSEzEx3771Pn3PWZ1d9qiytMj3dZ+313fvsvdavpJR+hc516uz5Gws3F+4uPFx4urC2cKgwWkjA6lj/+o7XnKdYLX4JnTnp31RYU3ihMOVEC63puZ++KgIQAJSe9G8o3FnYWFhwcoX2CAARgABgpRP/uwq3F445oUJ7BoAIQACw3Mn/twtdTqTQ/gEgAhAALGXif3fhRSdQ6KwAEAEIAK41+b+ncNrJEzozAEQAAoB3mvx/tzDhxAmdHQAiAAHAWx/0+3Jh0UkT8ggAEYAAMPnH5P+UkyXkFwAiAAGQdwA86EQJ+QaACEAA5Dn53+q2PwgAEYAAyO9pfw/8gQAQAQiAzN7z96ofCAARgADILABecHIEASACEAB5Tf7vdWIEASACEAD5vfK33YkRBIAIQADkFQC3OSmCABABCIC8Jv8bbOkLAkAEIADyC4A7nRBBAIgABEB+AbDRCREEgAhAAOQ1+d9UWHBCBAEgAhAAeQXAGidDEAAiAAFg4R9AAIgABECHT/43FqacDEEAiAAEQF4BcLMTIQgAEYAAyC8A7nYiBAEgAhAA+QXAw06EIABEAAIgvwB42okQBIAIQADkFwBrnQhBAIgABEB+AXDIiRAEgAhAAOQXAKNOhCAARAACIL8AcCIEASACEAACABAAIgABIAAAASACEAACABAAIgABIAAAASACEAACABAAIgABIAAAASACEAACABAAIgABIAAAASACBAACABAAIkAAIAAAASACBAACAMg3AESAAEAAAJkGgAgQAAgAINMAEAECAAEAZBoAIkAAIACATANABAgABACQaQCIAAGAAAAyDQARIAAQAECmASACBAACAMg0AESAAEAAAJkGgAgQAAgAINMAEAECAAEAZBoAIkAAIACATANABAgABACQaQCIAAGAAAAyDQARIAAQAECmASACBAACAMg0AESAAEAAAJkGgAgQAAgAINMAEAECAAEAZBoAIkAAIABAAGQaACJAACAAQACIAHOBABAAgAAQAQgAAQAIABGAABAAgAAQAQgAAQAIABGAABAAgAAQAQgAAQAIABGAABAAgAAQAQgAAQAIABEgAPwSBAAgAESAAEAAAAJABAgABAAgAESAAEAAAAJABAgABAAgAESAAEAAAAJABAgABAAgAESAAEAAAAJABAgABAAIAJO4CBAAAgAQAIgAASAAAAGACBAAAgAQAIgAASAAAAGACBAAAgAQAIgAASAAAAEgAkSAABAAgAAQAQgAAQAIABGAABAAgAAQAQIAAQAIABEgABAAgAAQAQIAAQAIABEgABAAgAAQAQIAAQAIABEgABAAwHW88LN1JmMRIAAEAJCbl9ZuNBGLAAEgAIDcvLpxq0lYBAgAAQDkZsOWLhOwCBAAAgDIzZauPSZfESAABACQm669B0y8IkAACAAgN90He026IkAACAAgNydPn03Pv7TWpCsCBIAAAHKzbvN2E64IEAACAMjN7u6DJlsRIAAEAJCb431nTLQiQAAIACBHr2zYYqIVAQJAAAC52bmvxyQrAgSAAABy03fmXPrpq/YFEAECQAAA2dl74LAJVgQIAAEA5Ojn6183wYoAASAAgNz09B4zuYoAASAAgBy9ZmEgESAABACQ57oAL766weQqAgSAAAByc/jYifT8z9aZXEWAABAAQG729XgrQAQIAAEAZGnbrn0mVhEgAAQAkKMNW7tMrCJAAAgAwJ0ARIAAEABAVs8EeDBQBAgAAQBk6NDRE+knr3hFUAQIAAEAZOdY3+m0zmJBIkAACAAgTwcOH00v2ztABAgAAQDku4ugrYRFgAAQAECG+s6cSzv39aRXNmwx0YoAASAAgFz3EtjdfbDxnMDzL6016YoAASAAgNycPH02dR/sTV17D6QtXXvShi1d6dWNW9NLazemF7xSmH0EmIQFAJCpniMn0va9h1glAkAAOBEBIkAACAABACACBIAAEAAAIkAACAABACACBIAAEAAAIkAACAABACACBIAAEAAAIkAACAABACACBIAAEAAAIkAAIAAARIAAQAAAiAABgAAAEAECAAEAiAAEAAIAEAEIAAQAIAIQAAgAQAQgABAAgAhAAOAEAogAASAABACACBAAAkAAAIgAASAABACA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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAABHNCSVQICAgIfAhkiAAABY5JREFUeF7tXVtu3DAMrE/WvVk3N9ucrJWBAJETiyNqxFJ2xkC+LIr0DId6rZ3tb7l+rXe9bdv2jAiLed4S09aKqfS7x/snImamz415YMYxsBXBk8AVwQ4gpWAHWFLwPLCsnqRgB85SsAMsKXgeWFJwhQAzqbyjgt8LNq+gXLOWFOYs+mNJ0lrevRcimjF/2A49krV061gmvQ05xUaP0uR3qxkag7OWK4hga+0eFrOFNSLYUj/msN0C+gUlKwwsxi9jy4Apgh3oMSQxto4QXU2hkoxdMJejL42h3yywGL+MLQOmFOxAjyGJsXWE6GoKlSQFH/DUJKszvWBiZamB8cvYduLmbgaBvqKCGaADbd3k9BowGx1ptoFAh5VZZjeql8yzdmkkEefQ1EbHosnBcGjaiuAjPFJwhUdaciyqQiY5pOA6sURwfz6kqVBjcD9JTMufSPDTAOwFju2GT4SYI78Sr3VMaR6PMseFIDkeJa797/Si/DIlmlHD3fzecqNDBH8iIIK/ZIMUzMjDkVh3AxrBFvW8UrAU3HztBSWldR8mVlRGo6Dv5hcCfcXTJEQiyLzhZdKKfq9KMIMlY8tsVYb9UJAplQwYjC06TWL6ZmxFMINeZSuCJwGJSvQkN+5uRLAbsnMDEewDUiXah1eztRQ8CUgp2AekFOzDy1Twc1JfM7tBR41WzKYtWOo8yv397/QCx3am7UxwPH2FbJ95AlipLSqzUW8IRmIggit0RXBkqi3QtwhegITIEERwJLoL9C2CFyAhMgQRHInuAn3fkmDm4H1R27BUYZZJgViZz4u2KsN2lLIemGFfBB/Ry0oOhkNbDcTPbrISWgp2pIMULAU300UKnpccDk36mkrB80hixm8fa47WP5Hgp4EPOvIb/tks+Xahg9Jj047jwuZHQUtPJlbl/ssIzLK134hkxoZhpIphll8mZssWbZJE+S39mtWOmkUzQYtgBr2DrQieBqXRkRT8BRwpeFraScHToJSC+6GUgvuxAi2l4GlQ3lDBJjbMZ4UCQR9+uxBNlJiNjsDntTkCpVIEVwiI4AoMpIbAjJaC66SUgj/RQEkpBUvBgYVprGu0VakxWGPweQ6gcjeWj11WGoMdY3DYxzlLDMz/8rM+KPoqfe9/p1cZR5t+UVIyHxQFqYmOVp9dqX3SCJXoJdWQNTEMXPeH/cBBBDsmhiJ4ElioHEnBCKHP+1LwpKRE4zegRCW6BkgKloKbCDDjKGMrBfcnJfrBXtjmzCUJduCqpgQCWT9w0EdYCNI8piLYg9YF24rgC5LmCVkEe9C6YFsRfEHSPCGLYA9aF2ybRnBxbB29ZUH5Xtacr5bzwJiR36cBCDryG36b0iKhYPEo9/e/0wvtRWcRHLY3G7ijxMQcdyzL7OsGss+AxYTF+A2zBQreq0qzCkvBR/TCSIoag9EplggWwUzFG7ZllDTstBgyfsNsVaIZSqXgeeg5emLU4HDzrSnjN8w2UsHD03eEctSkI9JvVszomaz7aJIlgiv0RLAj1bLAYvwytg5opjaVgv/TJGsqa47ORLAI3vatsOlXVrlj/DK20wHs7FAKloLbCv7YB23lUtjx2UX9hlTCAr6JM6VgpmRd0bazKp42Czy1M5eyIthRokWwAywpmEmXg60UXMPBJBZDiUr0BdQvgi9AkhR8c5JEsIPgwJKVdYrFPFLKeTAKmFomoc6t+z9NSVnPK4KZLHVUOxHsAIvhJGu5IoJFcMhetUo0Uw4cSSkFO8BiOFGJPqL32o+jGEANW6skoSUH80ak5df8+CrAIet41AwLleggbmG3iGDrVUzYudEga/0d9rwieI2hQQTXPGSNo0xpYCZZzPNKwVIwk7fDtmElC0SkMXiYMp+hCK7wUon2JY/V+nYK/gfOhzltxVz2iQAAAABJRU5ErkJggg==\"","import requestApi from \"../common/boxp_api_client\";\nimport requestrApi from \"../common/boxr_api_client\";\n\nconst getBaseStation = (params) => {\n return requestApi({\n url: \"/base-stations\",\n method: \"GET\",\n params,\n });\n};\n\nconst getReportsTableData = (params) => {\n return requestApi({\n url: \"/sms/mysms/myreports\",\n method: \"GET\",\n params,\n });\n};\nconst getInputsTableData = (params) => {\n return requestApi({\n url: \"/sms/mysms/myinputs\",\n method: \"GET\",\n params,\n });\n};\nconst getTasksTableData = (params) => {\n return requestApi({\n url: \"/sms/mysms/mytasks\",\n method: \"GET\",\n params,\n });\n};\nconst getManagedTasksTableData = (params) => {\n return requestApi({\n url: \"/sms/mysms/mymanagedtasks\",\n method: \"GET\",\n params,\n });\n};\nconst getHeaderOverviewData = (params) => {\n return requestApi({\n url: \"sms/mysms/overview\",\n method: \"GET\",\n params,\n });\n};\n\nconst getRegulatorsList = (params) => {\n return requestApi({\n url: \"sms/get_regulators\",\n mathod: \"GET\",\n params,\n });\n};\n\nconst getCustomersList = (params) => {\n return requestrApi({\n url: \"line_customers/listing_line_customers\",\n mathod: \"GET\",\n params,\n });\n};\nconst getSmsFormDependencies = (params) => {\n return requestApi({\n url: \"sms/mysms/sms_report_form_dependencies\",\n mathod: \"GET\",\n params,\n });\n};\n\nconst createSMSReport = (formData) => {\n return requestApi({\n url: \"sms/mysms/smsreport\",\n method: \"POST\",\n data: formData,\n });\n};\nconst createInjuryReport = (formData) => {\n return requestApi({\n url: \"sms/mysms/injuryreport\",\n method: \"POST\",\n data: formData,\n });\n};\nconst createMgmtchangereport = (formData) => {\n return requestApi({\n url: \"sms/mysms/mgmtchangereport\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst getProgressCategorisationList = (params) => {\n return requestApi({\n url: \"sms/categorisation_list\",\n mathod: \"GET\",\n params,\n });\n};\n\nconst getProgressTasksList = (params) => {\n return requestApi({\n url: \"sms/tasks_list\",\n mathod: \"GET\",\n params,\n });\n};\n\nconst getSmsInputDetails = (params) => {\n return requestApi({\n url: \"sms/get_sms_input_details\",\n mathod: \"GET\",\n params,\n });\n};\n\nconst getSmsTaskDetails = (params) => {\n return requestApi({\n url: \"sms/get_sms_task_details\",\n mathod: \"GET\",\n params,\n });\n};\n\nconst getSmsClosureHistory = (params) => {\n return requestApi({\n url: \"sms/closure_history\",\n mathod: \"GET\",\n params,\n });\n};\n\nconst getSmsDueDateHistory = (params) => {\n return requestApi({\n url: \"sms/due_date_history\",\n mathod: \"GET\",\n params,\n });\n};\n\nconst getUsersList = (params) => {\n return requestApi({\n url: \"/fetch_users\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst createTask = (formData) => {\n return requestApi({\n url: \"sms/inputs/add_tasks\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst updateTask = (formData) => {\n return requestApi({\n url: \"sms/inputs/update_tasks?_method=PUT\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst getHistoryList = (params) => {\n return requestApi({\n url: \"sms/inputs/list_history_tasks\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst getTaskDetailData = (params) => {\n return requestApi({\n url: \"sms/inputs/get_task_detail\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst getTaskTableData = (params) => {\n return requestApi({\n url: \"sms/inputs/list_input_detail_tasks\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst submitSmsInputClosure = (formData) => {\n return requestApi({\n url: \"sms/inputs/add_sms_input_closure\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst acceptTask = (formData) => {\n return requestApi({\n url: \"sms/tasks/accept_task\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst reOpenTask = (formData) => {\n return requestApi({\n url: \"sms/tasks/reopen_task\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst reOpenInput = (formData) => {\n return requestApi({\n url: \"sms/inputs/reopen_input\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst reviseDueDate = (formData) => {\n return requestApi({\n url: \"sms/revise_duedate\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst deleteTask = (formData) => {\n return requestApi({\n url: \"sms/tasks/delete_task\",\n method: \"DELETE\",\n params: formData,\n });\n};\n\nconst deleteInput = (formData) => {\n return requestApi({\n url: \"sms/inputs/delete_input\",\n method: \"DELETE\",\n params: formData,\n });\n};\n\nconst saveAndCompleteTask = (formData) => {\n return requestApi({\n url: \"sms/tasks/save_and_complete_task\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst fetchApprovalTypes = (params) => {\n return requestApi({\n url: \"/fetch_approval_types\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst storeInitialAssessmentInput = (formData) => {\n return requestApi({\n url: \"sms/inputs/add_initial_assessment\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst storeResidualAssessmentInput = (formData) => {\n return requestApi({\n url: \"sms/inputs/add_residual_assessment\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst storeResidualAssessmentTask = (formData) => {\n return requestApi({\n url: \"sms/tasks/add_residual_assessment\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst listInputMessages = (params) => {\n return requestApi({\n url: \"sms/inputs/list_messages\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst listBowTieMapping = (params) => {\n return requestApi({\n url: \"sms/admin/list_bowtie_mapping\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst listEventsThreatsAndBarriers = (params) => {\n return requestApi({\n url: \"sms/get_events_threats_barriers_list\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst checkBarrier = (formData) => {\n return requestApi({\n url: \"sms/inputs/check_barriers\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst getOverviewIndicatorData = (params) => {\n return requestApi({\n url: \"sms/inputs/overview_indicator\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst getInputOverviewTableData = (params) => {\n return requestApi({\n url: \"sms/inputs/overview_list\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst getListInputsTableData = (params) => {\n return requestApi({\n url: \"sms/inputs/list_inputs\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst getTasksOverviewIndicatorData = (params) => {\n return requestApi({\n url: \"sms/tasks/overview_indicator\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst getTasksOverviewTableData = (params) => {\n return requestApi({\n url: \"sms/tasks/overview_list\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst getListTasksTableData = (params) => {\n return requestApi({\n url: \"sms/tasks/list_tasks\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst updateExternalAcceptance = (formData) => {\n return requestApi({\n url: \"sms/inputs/external_acceptance?_method=PUT\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst addFinding = (formData) => {\n return requestApi({\n url: \"sms/inputs/add_findings\",\n method: \"POST\",\n data: formData,\n });\n};\nconst emailReports = (formData) => {\n return requestApi({\n url: \"sms/email_reports\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst getSMSSettings = (params) => {\n return requestApi({\n url: \"sms/admin/get_sms_settings\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst MySmsServices = {\n listEventsThreatsAndBarriers,\n emailReports,\n getSMSSettings,\n addFinding,\n updateExternalAcceptance,\n getTasksOverviewTableData,\n getListTasksTableData,\n getTasksOverviewIndicatorData,\n getListInputsTableData,\n getInputOverviewTableData,\n getOverviewIndicatorData,\n checkBarrier,\n listBowTieMapping,\n listInputMessages,\n storeInitialAssessmentInput,\n storeResidualAssessmentInput,\n storeResidualAssessmentTask,\n reviseDueDate,\n deleteInput,\n deleteTask,\n reOpenInput,\n fetchApprovalTypes,\n getCustomersList,\n getRegulatorsList,\n saveAndCompleteTask,\n reOpenTask,\n acceptTask,\n submitSmsInputClosure,\n getTaskTableData,\n getTaskDetailData,\n getHistoryList,\n createTask,\n updateTask,\n getUsersList,\n getSmsTaskDetails,\n getSmsDueDateHistory,\n getSmsClosureHistory,\n getSmsInputDetails,\n getBaseStation,\n getReportsTableData,\n getHeaderOverviewData,\n getSmsFormDependencies,\n createSMSReport,\n createInjuryReport,\n createMgmtchangereport,\n getInputsTableData,\n getManagedTasksTableData,\n getTasksTableData,\n getProgressCategorisationList,\n getProgressTasksList,\n};\n\nexport default MySmsServices;\n","import requestrApi from \"../../common/boxr_api_client\";\n\nconst createEndPoints = {\n general_info: \"/line_customers/create_line_customers\",\n commercials: \"/line_customers/create_commercial_rates\",\n};\n\nfunction getLineCustomers(params) {\n return requestrApi({\n url: \"/line_customers/listing_line_customers\",\n method: \"GET\",\n params,\n });\n}\n\nfunction getGeneralInfo(params) {\n return requestrApi({\n url: \"/line_customers/line_customer_details\",\n method: \"GET\",\n params: params,\n });\n}\nfunction getTaskDetails(params) {\n return requestrApi({\n url: \"/part_requests/listing_task_dependencies\",\n method: \"GET\",\n params: params,\n });\n}\n\nfunction getContactDetails(params) {\n return requestrApi({\n url: \"/line_customers/line_customer_contact_details\",\n method: \"GET\",\n params: params,\n });\n}\n\nfunction create(formData, section) {\n return requestrApi({\n url: createEndPoints[section],\n method: \"POST\",\n data: formData,\n });\n}\n\nfunction updateLineCustomerDetails(formData) {\n return requestrApi({\n url: \"/line_customers/update_line_customers\",\n method: \"PUT\",\n data: formData,\n });\n}\n\nfunction checkMandatories(formData) {\n return requestrApi({\n url: `/line_customers/check_mandatories?line_customer_id=${formData}`,\n method: \"GET\",\n });\n}\n\n// work order\nfunction fetchWorkOrderDependencies(lineCustomerId) {\n return requestrApi({\n url: `/work_orders/fetch_work_order_dependencies?line_customer_id=${lineCustomerId}`,\n method: \"GET\",\n });\n}\n\nfunction createWorkOrder(formData) {\n return requestrApi({\n url: \"/work_orders\",\n method: \"POST\",\n data: formData,\n });\n}\n\nfunction updateWorkOrder(formData) {\n return requestrApi({\n url: \"/work_orders/update_work_order\",\n method: \"PUT\",\n data: formData,\n });\n}\nfunction getLineCustomerDetails(params) {\n return requestrApi({\n url: \"/line_customers/line_customer_details\",\n method: \"GET\",\n params,\n });\n}\n\n// Delay\nfunction createDelay(formData) {\n return requestrApi({\n url: \"/delays\",\n method: \"POST\",\n data: formData,\n });\n}\n\nfunction fetchDelayDependencies(params) {\n return requestrApi({\n url: `/delays/fetch_delay_dependencies`,\n method: \"GET\",\n params,\n });\n}\n\n// Callouts\nfunction createCallOuts(formData) {\n return requestrApi({\n url: \"/call_outs\",\n method: \"POST\",\n data: formData,\n });\n}\n\nfunction fetchCallOutsDependencies(params) {\n return requestrApi({\n url: `/call_outs/fetch_call_out_dependencies`,\n method: \"GET\",\n params,\n });\n}\nfunction fetchBases(params) {\n return requestrApi({\n url: `/line_customers/show_all_base`,\n method: \"GET\",\n params,\n });\n}\n\nfunction createSelectedBases(formData) {\n return requestrApi({\n url: \"/line_customers/create_base\",\n method: \"POST\",\n data: formData,\n });\n\n}\nconst LineCustomerServiceNew = {\n create,\n getLineCustomers,\n getGeneralInfo,\n updateLineCustomerDetails,\n getContactDetails,\n checkMandatories,\n fetchWorkOrderDependencies,\n createWorkOrder,\n updateWorkOrder,\n getLineCustomerDetails,\n createDelay,\n createCallOuts,\n fetchDelayDependencies,\n fetchCallOutsDependencies,\n fetchBases,\n createSelectedBases,\n getTaskDetails\n};\n\nexport default LineCustomerServiceNew;\n","import React from \"react\";\nimport {makeStyles} from \"@material-ui/core/styles\";\nimport Grid from \"@material-ui/core/Grid/Grid\";\nimport Typography from \"@material-ui/core/Typography/Typography\";\n\nconst useStyles = makeStyles(theme => ({\n placeholderBackground: {\n width: '100%',\n height: '85vh',\n },\n img: {\n marginLeft: 'auto',\n marginRight: 'auto',\n display: 'block',\n marginTop: '5%'\n },\n title: {\n fontWeight: 'bold',\n paddingBottom:'2%'\n },\n infoText:{\n display:'flex',\n alignItems:'center',\n justifyContent:'center',\n flex:1,\n flexDirection:'row'\n },\n subheader:{\n fontSize:'20px',\n color:theme.palette.primary.light\n },\n}));\n\nfunction PageNotFound() {\n const classes = useStyles();\n return (\n \n \n
\n \n Oops!\n \n \n The page you are looking for does not exist.
\n You might have mistyped the address. Please check the URL and try again.\n
\n
\n
\n \n
\n\n
\n
\n
\n )\n}\n\nexport default PageNotFound;\n\n","import React, { useContext, useEffect, useReducer, useState } from 'react';\nimport moment from 'moment';\nimport { Box, Button, FormControl, InputBase, MenuItem, Select, Typography } from '@material-ui/core';\nimport MaterialTable from 'material-table';\nimport tableReducer, { INITIAL_TABLE_STATE } from '../../../../reducers/table_reducer';\nimport { ToastMessageContext } from '../../../../lib/contexts/message_context';\nimport tableIcons, { options } from '../../../../components/universal/table_attributes';\nimport DataServiceAction from '../../../../actions/data_actions';\nimport TableAction from '../../../../actions/table_actions';\nimport { format24HrDateOnly, formatDate } from '../../../../lib/utils/common_utils';\nimport InStockClientServices from \"../../../../lib/services/api/stores/tooling/instock_client\";\nimport MROButton from '../../../../components/buttons';\n\nconst statusMapButtons = { \"Good\": \"button-positive\", \"Near Due\": \"button-warning\", \"Overdue\": \"button-negative\" }\nconst getDaysDifference = (rowData) => {\n const endDate = moment(format24HrDateOnly(rowData.calibration_due), 'DD/MM/YYYY');\n const startDate = moment(new Date(), 'DD/MM/YYYY');\n const result = endDate.diff(startDate, 'days');\n if (result < 0) {\n return 'Overdue'\n } else if (result > 30) {\n return 'Good'\n } else {\n return 'Near Due'\n }\n}\nexport const renderDue = (rowData) => {\n if (rowData.calibrated === false) {\n return \n }\n else {\n return {format24HrDateOnly(rowData.calibration_due)}\n }\n}\n\n\nexport default function AddNewTool(props) {\n\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, searchText, inProgress, data } = tableState;\n const message = useContext(ToastMessageContext);\n const [currentSelection, setCurrentSelection] = useState({});\n const [selectedRows, setSelectedRows] = React.useState([]);\n const [open, setOpen] = useState(false);\n const [action, setAction] = useState('');\n const [baseStationId, setBaseStationId] = useState(null);\n const { workOrderId } = props;\n\n\n const tableOptions = {\n ...options,\n page: page,\n selection: true,\n search: true,\n total: totalCount,\n pageSize: pageSize,\n searchText: searchText,\n showSelectAllCheckbox: false,\n };\n\n console.log({ currentSelection })\n\n useEffect(() => {\n getList();\n }, [pageSize, page, searchText, totalCount, baseStationId]);\n\n useEffect(() => {\n if (props.hasOwnProperty('getList'))\n props.getList(getList)\n }, [props.getList])\n\n function getList() {\n let params = {\n id: workOrderId,\n page: page + 1,\n count_per_page: pageSize,\n base_station_id: baseStationId,\n search_keyword: searchText\n }\n TableAction.getList(dispatch, message, params, 'fetch_tooling');\n }\n\n const handleCloseMenu = (data = '') => {\n setOpen(false)\n setAction(null)\n setCurrentSelection({})\n props.handleClose();\n setSelectedRows([]);\n props.setCreatedId(data)\n };\n\n useEffect(() => {\n if (action === 'add') {\n if (selectedRows.length === 0) {\n setAction(null)\n return message.showToastMessage({ message: 'No Tools Selected', variant: 'error' })\n }\n let data = {\n reportable_id: workOrderId,\n reportable_type: \"WorkOrder\",\n tool_ids: selectedRows\n }\n DataServiceAction.createData(dispatch, message, data, 'saveTooling', '', handleCloseMenu)\n }\n }, [action])\n\n const columns = [\n {\n title: 'Tool ID',\n field: 'tool_id',\n headerStyle: {\n textAlign: 'left',\n },\n cellStyle: {\n textAlign: 'left',\n // width: '0.8%'\n }\n },\n {\n title: 'Description',\n field: 'description',\n headerStyle: {\n textAlign: 'left',\n },\n cellStyle: {\n textAlign: 'left',\n // width: '0.8%'\n }\n },\n {\n title: 'Calibration Date',\n field: 'calibration_due',\n render: renderDue,\n headerStyle: {\n textAlign: 'center',\n },\n cellStyle: {\n textAlign: 'center',\n // width: '0.8%'\n }\n },\n ]\n\n const [baseStations, setBaseStations] = useState([]);\n const handleChange = (e) => {\n const val = e.target.value;\n setBaseStationId(val);\n }\n const fetchFilterDependencies = () => {\n InStockClientServices.fetchDependencies().then((res) => {\n if (res) {\n setBaseStations(res.base_stations);\n }\n }).catch(() => {\n });\n }\n\n useEffect(() => {\n fetchFilterDependencies()\n }, [])\n\n return (\n <>\n \n \n \n }\n >\n \n Base Stations (All)\n \n {baseStations && baseStations.map(base => \n {base.station}\n )}\n \n \n \n ({\n checked: selectedRows.includes(rowData.tool_primary_key),\n onChange: (_, checked) => {\n const selectedIds = [...selectedRows];\n if (checked) {\n selectedIds.push(rowData.tool_primary_key);\n } else {\n const index = selectedIds.indexOf(rowData.tool_primary_key);\n if (index !== -1) {\n selectedIds.splice(index, 1);\n }\n }\n setSelectedRows(selectedIds);\n },\n }),\n rowKey: 'tool_primary_key',\n }}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n // onSelectionChange={(rows) => {\n // setSelectedKeys(rows.map(row => row.tool_primary_key))\n // }}\n />\n\n \n {\n setAction('add')\n }}\n >Add Tool(s)\n \n \n \n )\n}\n","import { Box, Divider, Grid, MenuItem, Typography, IconButton } from \"@material-ui/core\";\nimport ToggleButton from \"@material-ui/lab/ToggleButton\";\nimport ToggleButtonGroup from \"@material-ui/lab/ToggleButtonGroup\";\nimport MaterialTable from \"material-table\";\nimport React, {\n useState,\n useEffect,\n useContext,\n useReducer,\n useCallback,\n} from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport DataServiceAction from \"../../../../actions/data_actions\";\nimport ManageDataDialog from \"../../../../components/form_components/manage_data_dialog\";\nimport MROTextField from \"../../../../components/form_components/TextField\";\nimport tableIcons from \"../../../../components/universal/table_attributes\";\nimport { ToastMessageContext } from \"../../../../lib/contexts/message_context\";\nimport DataService from \"../../../../lib/services/api\";\nimport dataReducer, {\n INITIAL_DATA_STATE,\n} from \"../../../../reducers/data_reducer\";\nimport AddNewTool from \"./AddNewTool\";\nimport { setError } from \"../../../../actions/auth_actions\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport { WorkOrderServices } from \"../../../../lib/services/api/operaitons/lineMaintenance/workOrder/workOrder\";\nimport LineCustomerServiceNew from \"lib/services/api/admin/line/line_customers_client\";\nimport { CircularProgress } from \"@material-ui/core\";\nimport { MRO_MANAGED_PART, MRO_NON_MANAGED_PART } from \"../../../../constants\";\nimport { MRO_QR_DIRECT } from \"../../../../constants\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport PartsClientServices from \"../../../../lib/services/api/stores/tooling/parts_client\";\nimport { OperationService } from \"lib/services/api/operaitons/save_operation\";\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport CopyParts from 'assets/copyparts.png'\nimport Visibility from '@material-ui/icons/Visibility';\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\n\n\nlet selectedPart = ''\n\nexport default function AddNewPartsAndTools(props) {\n const { workOrderId, currentSelection, action, lineCustomerId } = props;\n\n const [open, setOpen] = useState(false);\n const [state, rDispatch] = useReducer(dataReducer, INITIAL_DATA_STATE);\n const message = useContext(ToastMessageContext);\n const [errors, setErrors] = useState(false);\n const [value, setValue] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [mroOwned, setMroOwned] = useState(null);\n const [busy, setBusy] = useState(null);\n const [selectedPartBase, setSelectedPartBase] = useState(null);\n\n //table refresh\n const { tableRefresh, setTableRefresh } = useContext(WorkshopContext)\n\n // available qty in the database\n const [existingQty, setExistingQty] = useState(0);\n\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n\n useEffect(() => {\n setBusy(\"loading\");\n LineCustomerServiceNew.getLineCustomerDetails({\n line_customer_id: lineCustomerId,\n })\n .then((res) => {\n const {\n line_customer: { part_type },\n } = res;\n setMroOwned(part_type);\n })\n .catch((err) =>\n console.log(\"something went wrong from part details\", err)\n )\n .finally(() => setBusy(null));\n }, []);\n\n useEffect(() => {\n if (props.createSection) {\n setOpen(true);\n }\n }, [props.createSection]);\n\n const handleClose = () => {\n setOpen(false);\n props.handleClose();\n };\n\n const cb = (id = \"\") => {\n props.setCreatedId(id);\n };\n\n const handleSubmit = useCallback(\n async (formData) => {\n let error = {};\n let _valid = true;\n let partRemovedData = formData.get(\"part_removed\");\n let removalLocation = formData.get('install_location')\n let description_off = formData.get('description')\n const qty = formData.get(\"quantity\");\n formData.delete(\"part_removed\")\n if (partRemovedData === \"yes\") {\n formData.append(\"removal_location\", removalLocation)\n }\n formData.append(\"description_off\", description_off)\n formData.append(mroOwned === MRO_MANAGED_PART ? \"rotable_removed\" : \"rotatable\", partRemovedData === \"yes\" ? true : false);\n await new Promise((resolve, reject) => {\n resolve(\n (() => {\n for (var pair of formData.entries()) {\n // console.log(\"key-value =>\", pair[0] + ', ' + pair[1]);\n if (\n pair[1] === \"\" &&\n pair[0] !== \"serial_on\" &&\n pair[0] !== \"removal_reason\"\n ) {\n if (pair[0] === \"quantity\" && mroOwned === MRO_MANAGED_PART) {\n error[pair[0]] = {\n valid: pair[1] === \"\" ? false : true,\n };\n } else if (pair[0] !== \"quantity\") {\n error[pair[0]] = {\n valid: pair[1] === \"\" ? false : true,\n };\n }\n\n _valid = false;\n }\n }\n })()\n );\n });\n\n if (\n mroOwned === MRO_MANAGED_PART &&\n qty !== \"\" &&\n Number(qty) > Number(existingQty)\n ) {\n error = {\n ...error,\n quantity: true,\n qtyMsg: \"Please enter quantity within the available quantity.\",\n };\n _valid = false;\n }\n\n setErrors(error);\n if (!_valid) {\n return;\n }\n // console.log(\"runing...\");\n // formData.append(\"description\", partDetails.description)\n if (partRemovedData === \"no\") {\n formData.append(\"part_off\", \"\");\n formData.append(\"serial_off\", \"\");\n formData.append(\"removal_location\", \"\");\n formData.append(\"removal_reason\", \"\");\n }\n\n mroOwned === MRO_MANAGED_PART\n ? formData.append(\"work_order_id\", workOrderId)\n : formData.append(\"id\", workOrderId);\n\n if (mroOwned === MRO_MANAGED_PART) {\n formData.append(\"user_id\", user?.id);\n formData.append(\"base_station\", selectedPartBase);\n formData.append(\"reportable_id\", workOrderId);\n }\n if (mroOwned === MRO_NON_MANAGED_PART) {\n formData.append(\"reportable_id\", workOrderId);\n formData.append(\"reportable_type\", \"WorkOrder\");\n }\n formData.append(\n mroOwned === MRO_MANAGED_PART ? \"reportable_type\" : \"type\",\n \"WorkOrder\"\n );\n\n if (action === \"update\") {\n setLoading(true);\n currentSelection?.vendor_part_id &&\n formData.append(\"vendor_part_id\", currentSelection?.vendor_part_id);\n mroOwned === MRO_MANAGED_PART &&\n formData.append(\"id\", currentSelection?.id);\n const url =\n mroOwned === MRO_MANAGED_PART ? \"editMangedPart\" : \"vendorPart\";\n DataService.updateData(formData, \"\", url)\n .then((res) => {\n if (res?.success) {\n setLoading(false);\n handleClose();\n props.getList();\n setTimeout(() => {\n setTableRefresh(true)\n }, 2000)\n\n }\n })\n .catch((error) => {\n setLoading(false);\n // console.log(\"Error\", error)\n }).finally(() => {\n setTableRefresh(false)\n })\n } else {\n setLoading(true);\n // formData.append('id', workOrderId)\n mroOwned === MRO_MANAGED_PART\n ? DataService.updateData(formData, \"\", \"managedPart\")\n .then((response) => {\n if (response.success) {\n\n }\n else if (!response.success) {\n message.showToastMessage({ message: response.errors ? response.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n\n }\n\n handleClose();\n // console.log(\"runing...\", props.getList);\n props.getList();\n setTimeout(() => {\n setTableRefresh(true)\n }, 2000)\n\n })\n .catch((err) => {\n // console.log(\"from add parts tools\", err);\n })\n .finally(() => {\n setLoading(false)\n // setTableRefresh(false)\n })\n : DataServiceAction.createData(\n rDispatch,\n message,\n formData,\n \"vendorParts\",\n \"\",\n cb,\n props.getList,\n handleClose,\n ).then((res) => {\n setTimeout(() => {\n setTableRefresh(true)\n }, 2000)\n\n if (res?.success) {\n setLoading(false);\n // setTableRefresh(false)\n }\n });\n }\n },\n [mroOwned, selectedPartBase, existingQty]\n );\n const createSection = props?.createSection;\n\n return (\n <>\n {open && (\n Add Tool\n : currentSelection\n ? \"Update Parts\"\n : \"Add Parts\"\n }\n noAction={createSection === (\"tool\" || \"tasks\")}\n type={currentSelection ? \"Update\" : \"Create\"}\n fullWidth\n maxWidth={\"md\"}\n handleClose={handleClose}\n handleSubmit={handleSubmit}\n loading={loading}\n >\n {createSection === \"part\" ? (\n \n ) : (\n \n )}\n \n )}\n \n );\n}\n\nconst AddPart = React.memo((props) => {\n const {\n errors,\n currentSelection,\n value,\n setValue,\n mroOwned,\n busy,\n action,\n setSelectedPartBase,\n setErrors,\n setExistingQty,\n existingQty,\n } = props;\n const classes = useStyles();\n const [quantity, setQuantity] = useState();\n const [batchNumbers, setBatchNumbers] = useState([]);\n const [selectedSecondaryPart, setSelectedSecondaryPart] = useState({});\n const [details, setDetails] = useState(null);\n const [partDetails, setPartDetails] = useState({});\n const [primaryPartData, setPrimaryPartData] = useState([])\n const [primeId, setPrimeId] = useState(null)\n const [selectedSecondaryPartList, setSelectedSecondaryPartList] = useState([])\n const [selectBatch, setSelectBatch] = useState({})\n const [copySelectedPartOff, setCopSelectedpartOff] = useState(currentSelection?.part_off || '')\n const [nonManagedCopyParts, setNonmanagedCopyParts] = useState(currentSelection?.part_on || '')\n const [quantityRemoved, setQuantityRemoved] = useState();\n\n // fetching available qty from the database\n useEffect(() => {\n if (mroOwned === MRO_MANAGED_PART && action === \"update\" || \"create\") {\n const params = {\n organisation_id: getOrganisationId(),\n batch_number: action === \"update\"\n ? currentSelection?.batch_number\n : selectedSecondaryPart?.batch_number,\n };\n\n DataService.getData(params, \"existingQty\").then((res) => {\n const { unique_part_quantity } = res;\n setExistingQty(unique_part_quantity);\n });\n }\n }, [\n mroOwned,\n selectedSecondaryPart,\n action,\n currentSelection,\n setExistingQty,\n ]);\n\n const handleToggle = (name, value) => {\n if (value) {\n setValue(value);\n // handleChange({ name: name, value: value })\n }\n };\n\n // const getBatchNumbers = async () => {\n // const params = {\n // search_keyword: 1,\n // };\n // try {\n // const { data } = await WorkOrderServices.getBatchNumbers(params);\n // setBatchNumbers(data);\n // } catch (err) {\n // console.log(err);\n // }\n // };\n\n // useEffect(() => {\n // getBatchNumbers();\n // }, []);\n\n\n\n const getDetails = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n batch_number: action === \"update\"\n ? currentSelection.batch_number\n : selectBatch.batch_number,\n };\n try {\n const { data } = await WorkOrderServices.getBatchNumbers(params);\n // console.log(data);\n if (action != \"update\") {\n setExistingQty(data?.quantity)\n }\n setDetails(data);\n } catch (error) {\n console.log(error);\n }\n };\n\n useEffect(() => {\n const { batch_number } = selectedSecondaryPart;\n\n if (batch_number || currentSelection?.batch_number || selectBatch?.batch_number) {\n getDetails();\n }\n }, [selectedSecondaryPart?.batch_number, currentSelection?.batch_number, selectBatch?.batch_number]);\n\n useEffect(() => {\n setValue(Boolean(currentSelection?.rotatable) ? \"yes\" : \"no\");\n currentSelection && setQuantity(currentSelection.quantity);\n currentSelection && setQuantityRemoved(currentSelection.removed_qty)\n if (\n currentSelection?.part_off &&\n currentSelection?.serial_off &&\n currentSelection?.removal_location\n ) {\n setValue(\"yes\");\n }\n console.table(currentSelection);\n }, [currentSelection]);\n\n useEffect(() => {\n details && setSelectedPartBase(details?.base);\n }, [details?.base]);\n\n\n const handleQuantityChange = (action) => {\n if (action === \"inc\") {\n if (mroOwned === MRO_MANAGED_PART && quantity >= existingQty) return;\n if (parseFloat(+quantity || 0) >= 0)\n if (parseFloat(+quantity) % 0.5 === 0) setQuantity(+quantity + 1);\n else setQuantity(Math.floor(+quantity || 0) + 1);\n }\n if (action === \"dec\") {\n if (parseFloat(+quantity) > 0)\n if (parseFloat(+quantity) % 0.5 === 0) setQuantity(+quantity - 1);\n // else setVal(0)\n // else setVal(0)\n }\n };\n\n\n const getPrimePartData = async () => {\n if (primaryPartData) {\n PartsClientServices.getAllPartsDependency({}).then((res) => {\n setPrimaryPartData(res.data);\n });\n }\n }\n\n\n useEffect(() => {\n getPrimePartData()\n }, [primeId])\n\n // console.log(\"primaryPartData is===============\", currentSelection)\n\n useEffect(() => {\n const params = {\n id: primeId\n }\n if (primeId) {\n PartsClientServices.getAllSecondaryParts(params).then((res) =>\n setSelectedSecondaryPartList(res.data),\n selectedPart = primeId\n );\n }\n }, [primeId]);\n\n if (busy === \"loading\") {\n return (\n \n \n \n );\n }\n\n // copy part on value to partoff \n\n\n const handleClickCopyParts = () => {\n // console.log(\"primarypartData=====\", partDetails, nonManagedCopyParts)\n if (mroOwned === MRO_MANAGED_PART) {\n setCopSelectedpartOff(partDetails?.part_number)\n }\n else {\n setCopSelectedpartOff(nonManagedCopyParts)\n }\n }\n\n return (\n \n \n \n \n \n \n Installed Part\n \n {mroOwned === MRO_MANAGED_PART ? (\n <>\n \n \n \n option?.part_number ? option?.part_number : \"\"\n }\n getOptionSelected={(option, value) => option.primary_part_id === value.primary_part_id\n }\n onChange={(event, newValue) => {\n setPrimeId(newValue?.primary_part_id)\n setPrimaryPartData(newValue);\n setPartDetails({\n part_number: newValue.part_number,\n description: newValue.description,\n serial_number: newValue.serial_number,\n units_of_measure: newValue.unit_name\n })\n }}\n inputValue={currentSelection?.part_number}\n className={\"search\"}\n disabled={currentSelection?.part_number && true}\n renderInput={(params) => (\n \n )}\n />\n {/* */}\n \n\n {/* */}\n\n setSelectBatch({ batch_number: e.target.value })}\n >\n \n Second, select batch number\n \n {selectedSecondaryPartList.length === 0 &&\n No Result Found}\n \n \n {selectedSecondaryPartList.length !== 0 && selectedSecondaryPartList.filter(((item) => item.state === \"In Stock\")).map((uom) => (\n \n {uom.batch_number}\n \n ))}\n \n \n
\n
\n Part #\n {(partDetails?.part_number || currentSelection?.part_on) ?? \"-\"}\n
\n
\n Description\n {(partDetails?.description || currentSelection?.description) ?? \"-\"}\n
\n
\n Units of Measure\n {(partDetails?.units_of_measure || currentSelection?.units_of_measure) ?? \"-\"}\n
\n
\n Serial # On\n {(partDetails?.serial_number || currentSelection?.serial_number) ?? \"-\"}\n
\n
\n
\n {/* \n \n \n option.batch_number ? option.batch_number : \"\"\n }\n onChange={(event, newValue) => {\n setSelectedSecondaryPart(newValue);\n }}\n inputValue={currentSelection?.batch_number}\n // className={\"search\"}\n disabled={action === \"update\"}\n renderInput={(params) => (\n \n )}\n />\n \n
*/}\n\n {/* {details && (\n
\n
\n Part#\n {(details?.part_number) ?? \"-\"}\n
\n
\n Description\n {(details?.description) ?? \"-\"}\n
\n
\n Serial # On\n {details?.serial_number ?? \"-\"}\n
\n
\n )} */}\n \n ) :\n <>\n setNonmanagedCopyParts(e.target.value)}\n placeholder={'Enter Part Number'}\n />\n \n \n \n \n }\n\n {/* */}\n\n \n \n setErrors({ ...errors, quantity: false, qtyMsg: null })\n }\n // minQty={1}\n />\n {/* \n {\n setErrors({ ...errors, quantity: false, qtyMsg: null });\n let val = e.target.value;\n if (isNaN(val)) {\n val = val.replace(/[^0-9]/g, \"\");\n }\n if (val.split(\".\").length > 1)\n val = val.replace(/\\.+$/, \"\");\n val = val.replace(/^0+/, \"\");\n setQuantity(val);\n }}\n />\n \n \n \n \n \n \n \n */}\n
\n\n \n\n {mroOwned === MRO_MANAGED_PART && (\n \n )}\n
\n \n\n \n\n \n \n \n Removed Part\n \n \n \n \n Repairable Part Removed? *\n \n \n \n handleToggle(\"rotable\", val)}\n aria-label=\"yes-or-no\"\n >\n \n No\n \n \n Yes\n \n \n \n {value === \"yes\" && (\n <>\n setCopSelectedpartOff(e.target.value)}\n InputLabelProps={{ shrink: true }}\n placeholder={\"Enter Part Number\"}\n InputProps={{\n\n endAdornment: \n \n \n \n ,\n\n }}\n\n />\n \n \n \n setErrors({ ...errors, removed_quantity: false, qtyMsg: null })\n }\n // minQty={1}\n />\n \n\n\n {/* {mroOwned === MRO_NON_MANAGED_PART && ()} */}\n \n \n )}\n \n \n \n \n
\n );\n});\n\nconst AddTool = React.memo((props) => {\n return (\n \n \n \n );\n});\n\nconst useStyles = makeStyles((theme) => ({\n error: {\n borderColor: \"#ff0056\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n margin: \"0px\",\n },\n purchaseInfo: {\n background: \"#F5F5F5\",\n borderRadius: \"8px\",\n padding: \"10px 25px\",\n \"& div\": {\n display: \"flex\",\n alignItems: \"center\",\n margin: \"10px 0\",\n fontSize: \"16px\",\n \"& span:first-child\": {\n flex: \"0 0 50%\",\n color: theme.palette.secondary.main,\n },\n \"& span:last-child\": {\n color: \"#4D4F5C\",\n },\n },\n },\n purchaseInfo2: {\n borderRadius: \"8px\",\n // padding: \"10px 25px\",\n \"& div\": {\n display: \"flex\",\n alignItems: \"center\",\n margin: \"10px 0\",\n fontSize: \"16px\",\n \"& span:first-child\": {\n flex: \"0 0 50%\",\n color: theme.palette.primary.main,\n },\n \"& span:last-child\": {\n color: \"#4D4F5C\",\n },\n },\n },\n purchaseGrid: {\n paddingTop: \"0 !important\",\n paddingBottom: \"0 !important\",\n },\n}));\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAZCAYAAADAHFVeAAAABHNCSVQICAgIfAhkiAAAAq5JREFUSEutlo1x2kAQhe/UQOgAXEFIBSEVhFRg0QHuAFdgOrBSgUkFkSswHUA6oIJT3rd3EkIgD4zQzI04/ezbt/v2Ie8uHFWWFbr8eOneVddCePLOrbvP6tr5UXlfuqpa6WZ58b5zU93b9iS64roPwc7t42qwyrmJ8/5VLz9o7bXYv7kQnhXkUAdVVYaBJSDYLhV40wR2binA3FfV9H5g3m8EVLSBCG5JZNlS7PZ1j4Yz8/6g7Eft+icRHQRUiN1a92eWwOAyer9XsImEs0U4YjNPIsjFbiSwzT3BACFzC6y1ldryVMo54M1+MDPncgHMlb0xagkE8A8l8qsehcFlTL1YG7uqeknSnwpoof1aQMXd1NhiMlPJAARoizgExMwd2X5WRjU4V4Bx83QIvxWo+MxBOuDfbR8CjvJuo6DjooOoxsJzz/ZCFAF73KHU+aBr9GukMy7BYPMsvXrVek8l5W2eoac7ux7Z/zxSrv54wJSF2ZY1F8AIVGdb1nakLLiHg+xJouuPaQwKA5Z/Al77K357DtZTgpQMTj5SySjVpM+M7dmOmd8OFmdsZyWKhozsF20jrss2HCx6YS5mlLY0y6qqr1o/uoA3g2G0XWlbiaJAcBUEQR9zen3yV3NlGcfJXFe0L1mTybkpEYyiAcMMQJSHuGqH+YI5a88/tomt6ZlenFkgSqSSmAiQPKrLsg+d11LskzGKCzZLM+UISDJ7+x3vM3MX1QiD4xECImC94XmWbdyP9ZssH1JwSgkb5hAWayU2IRADLSa8czpnJ0Bp0/pnflEAMgSAoLAsdZ6rGgtjEGfyr9Y3LTOBvpGwYe4BpA/MFWCPxoIewoASxnLt0rXej6N27F6w+qHkGgDRR3rFR89M6x/lrAXQl/RNYA0oUmfO4ife2TfhNWD/AVh75tLrtey4AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","import React, { useState, useEffect, useReducer, useContext } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport MROFullScreenRightDrawer from \"../../../../components/fullwidth_dialog\";\nimport Typography from \"@material-ui/core/Typography\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport { Box, Dialog } from \"@material-ui/core\";\nimport { Visibility as ViewIcon } from \"@material-ui/icons\";\nimport { ICON_COLOUR } from \"../../../../lib/constants/style_constants\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { ToastMessageContext } from \"../../../../lib/contexts/message_context\";\nimport tableIcons, {\n options,\n} from \"../../../../components/universal/table_attributes\";\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from \"../../../../reducers/table_reducer\";\nimport MaterialTable from \"material-table\";\nimport TableAction from \"../../../../actions/table_actions\";\nimport Document from \"../../../../components/form_components/fileUpload/pdf.png\";\nimport { Edit as EditIcon } from \"@material-ui/icons\";\nimport RequestListClientServices from \"lib/services/api/procurement/request_list\";\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n root: {\n backgroundColor: \"#ffffff\",\n },\n wrapper: {\n padding: \"0 24px\",\n },\n mainTitle: {\n fontSize: \"20px\",\n paddingTop: \"25px\",\n },\n title: {\n fontSize: 20,\n // fontWeight: \"normal\"\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"10px\",\n marginTop: \"20px\",\n color: \"#4D4F5C\",\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n },\n partKey: {\n fontSize: \"14px\",\n // padding: \"5px\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"5px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n alternatesInfo: {\n fontSize: \"16px\",\n color: \"#4D4F5C\",\n marginTop: \"15px\",\n display: \"block\",\n },\n fileView: {\n backgroundColor: \"#ffffff\",\n padding: \"15px\",\n border: \"1px solid \" + theme.palette.primary.main,\n borderRadius: \" 18px\",\n margin: \"12px\",\n \"& ul\": {\n margin: \"0\",\n display: \"flex\",\n padding: \"0\",\n listStyle: \"none\",\n flexWrap: \"wrap\",\n \"& li\": {\n margin: \"0 10px\",\n textAlign: \"center\",\n \"& div\": {\n width: \"60px\",\n height: \"60px\",\n position: \"relative\",\n marginBottom: \"10px\",\n \"& img\": {\n maxWidth: \"100%\",\n height: \"-webkit-fill-available\",\n objectFit: \"cover\",\n },\n \"& div\": {\n position: \"absolute\",\n top: \"0\",\n right: \"0\",\n width: \"20px\",\n backgroundColor: \"#F44336\",\n height: \"20px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"#fff\",\n borderRadius: \"50%\",\n },\n },\n \"& span\": {\n width: \"60px\",\n display: \"-webkit-box\",\n WebkitLineClamp: \"1\",\n WebkitBoxOrient: \"vertical\",\n overflow: \"hidden\",\n },\n },\n },\n },\n}));\n\nexport const GetInfoCard = (props) => {\n const classes = useStyles();\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value || \"-\"}\n \n \n );\n};\n\nfunction StockInfo(props) {\n const classes = useStyles();\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize } = tableState;\n const [loading, setLoading] = useState(false);\n const { currentSelection, handleClose, partInfo } = props;\n\n const [openMsds, setOpenMsds] = useState(false);\n const [msdsList, setMsdsList] = useState(false);\n\n const [stockList, setStockList] = useState([]);\n const [alternateList, setAlternateList] = useState([]);\n\n const [currentPartId, setCurrentPartId] = useState(\n currentSelection.primary_part_id\n );\n\n const [alternateTableState, setAlternateTableState] = useState({\n page: 0,\n totalCount: 5,\n pageSize: 10,\n loading: false,\n });\n\n const getPartList = (stockFetchType, setList) => {\n stockFetchType === \"stock\"\n ? setLoading(true)\n : setAlternateTableState((prevState) => {\n return { ...prevState, loading: true };\n });\n const params = {\n id: currentPartId,\n page:\n stockFetchType === \"stock\" ? page + 1 : alternateTableState.page + 1,\n count_per_page:\n stockFetchType === \"stock\" ? pageSize : alternateTableState.pageSize,\n };\n\n RequestListClientServices.getPartList(params, stockFetchType)\n .then((res) => {\n if (res?.data) {\n setList(res.data);\n if (stockFetchType === \"stock\") {\n TableAction.setTotalCount(dispatch, res?.total_count);\n } else {\n setAlternateTableState((prevState) => {\n return { ...prevState, totalCount: res?.total_count };\n });\n }\n } else setList([]);\n // setLoading(false);\n })\n .catch(() => {\n // setLoading(false);\n })\n .finally(() => {\n stockFetchType === \"stock\"\n ? setLoading(false)\n : setAlternateTableState((prevState) => {\n return { ...prevState, loading: false };\n });\n });\n };\n\n useEffect(() => {\n setLoading(true);\n getPartList(\"stock\", setStockList);\n getPartList(\"alternateList\", setAlternateList);\n }, [currentPartId]);\n\n useEffect(() => {\n getPartList(\"stock\", setStockList);\n }, [page, pageSize]);\n\n useEffect(() => {\n getPartList(\"alternateList\", setAlternateList);\n }, [alternateTableState.pageSize, alternateTableState.page]);\n\n const handleMsdsClose = () => {\n setOpenMsds(!openMsds);\n };\n\n // Ui-table column config\n const stockColumnConfig = [\n {\n title: \"QTY\",\n field: \"quantity\",\n headerStyle: {\n paddingLeft: \"19px\",\n textAlign: \"left\",\n },\n cellStyle: {\n paddingLeft: \"19px\",\n textAlign: \"left\",\n },\n },\n {\n title: \"State\",\n field: \"state\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n },\n {\n title: \"Base\",\n field: \"base_station\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n render: (rowData) => rowData?.base_station || \"-\",\n },\n {\n title: \"Owner\",\n field: \"owner\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n render: (rowData) => rowData?.owner || \"-\",\n },\n {\n title: \"Batch #\",\n field: \"batch_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n render: (rowData) => rowData?.batch_number || \"-\",\n },\n {\n title: \"Serial #\",\n field: \"serial_number\",\n width: \"10%\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n render: (rowData) => rowData?.serial_number || \"-\",\n },\n {\n title: \"Location\",\n field: \"store_location\",\n render: (rowData) => rowData?.store_location\n || \"-\",\n },\n {\n title: \"Shelf-life\",\n field: \"shelf_life_expiry\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n render: (rowData) => rowData?.shelf_life_expiry || \"-\",\n },\n ];\n\n // tableOptions\n const stockTableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n headerStyle: {\n paddingTop: \"22px\",\n paddingBottom: \"15px\",\n textAlign: \"center\",\n },\n };\n\n // Ui-table column config\n const alternatesColumnConfig = [\n {\n title: \"Part #\",\n field: \"part_number\",\n width: \"4%\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"19px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"19px\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n },\n {\n title: \"Stock\",\n field: \"stock\",\n },\n {\n title: \"Action\",\n field: \"id\",\n render: (rowData) => (\n \n \n \n ),\n },\n ];\n\n // tableOptions\n const alternatesTableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n headerStyle: {\n paddingTop: \"22px\",\n paddingBottom: \"15px\",\n textAlign: \"center\",\n },\n };\n\n return (\n \n \n \n \n \n \n \n Requests\n \n \n \n
\n
\n \n Stock Information\n \n \n Part Details\n \n
\n \n \n
\n \n \n \n
\n
\n \n
\n \n \n \n
\n
\n \n
\n \n \n \n
\n
\n \n {\n
\n \n \n MSDS\n \n \n {\n setOpenMsds(true);\n setMsdsList(partInfo?.mds);\n }}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />\n \n \n
\n }\n
\n \n
\n\n \n \n \n Stock Details\n \n Min / Max Levels\n }\n columns={stockColumnConfig}\n data={stockList || []}\n isLoading={loading}\n options={stockTableOptions}\n localization={{\n toolbar: {\n searchPlaceholder: \"Search anything\",\n },\n body: {\n emptyDataSourceMessage: \"No Stock Found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n actions={[\n (rowData) => {\n return {\n icon: () => (\n \n ),\n // tooltip: \"Edit\",\n // disabled: props.permission.write,\n onClick: (event, rowData) => { },\n };\n },\n ]}\n />\n \n \n \n Alternates *\n \n Min / Max Levels\n }\n columns={alternatesColumnConfig}\n data={alternateList || []}\n isLoading={loading}\n options={alternatesTableOptions}\n localization={{\n toolbar: {\n searchPlaceholder: \"Search anything\",\n },\n body: {\n emptyDataSourceMessage: \"No Alternates Found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n onChangePage={(page) => {\n setAlternateTableState((prevState) => {\n return {\n ...prevState,\n page: page,\n };\n });\n }}\n onChangeRowsPerPage={(pageSize) => {\n setAlternateTableState((prevState) => {\n return {\n ...prevState,\n pageSize: pageSize,\n };\n });\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n * Alternates must be verified IAW approved maintenance data!\n \n \n \n
\n
\n \n
\n
    \n {msdsList?.length ? (\n msdsList.map((file, index) => {\n return (\n
  • \n
    \n \n
    \n PDF Name.pdf\n
  • \n );\n })\n ) : (\n No MSDS found\n )}\n
\n
\n \n
\n );\n}\n\nexport default StockInfo;\n","module.exports = __webpack_public_path__ + \"static/media/arrowupwardGreen.8813383f.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrowdownwardRed.d5ffec7a.svg\";","import requestrApi from \"../../common/boxr_api_client\";\n\nconst createEndPoints = {\n general_info: '/line_customers/create_line_customers',\n commercials: '/line_customers/create_commercial_rates'\n}\n\nfunction getLineCustomers(params) {\n return requestrApi({\n url: '/line_customers/listing_line_customers',\n method: 'GET',\n params: params\n });\n}\nfunction fetchDependencies(params) {\n return requestrApi({\n url: '/check_rates/fetch_dependencies',\n method: 'GET',\n params: params\n });\n}\nfunction create(formData, section) {\n return requestrApi({\n url: createEndPoints[section],\n method: 'POST',\n data: formData\n })\n}\n\nfunction createDelayCode(formData) {\n return requestrApi({\n url: \"/line_customers/create_delay_codes\",\n method: 'POST',\n data: formData\n })\n}\nfunction updateDelayCode(formData) {\n return requestrApi({\n url: \"/line_customers/update_delay_codes\",\n method: 'PUT',\n data: formData\n })\n}\n\nconst LineCustomerService = {\n getLineCustomers,\n create,\n fetchDependencies,\n createDelayCode,\n updateDelayCode\n};\n\nexport default LineCustomerService;","import React from \"react\"\n\nconst Verified = ({ fill }) => (\n )\nexport default Verified","import React, { useState, useEffect } from \"react\";\nimport MROTextField from \"../../../../../components/form_components/TextField\";\nimport ButtonGroup from \"@material-ui/core/ButtonGroup\";\nimport Button from \"@material-ui/core/Button\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport SubtractIcon from \"@material-ui/icons/Remove\";\nfunction NumericField(props) {\n\n const { handleChange, formState } = props;\n const [val, setVal] = useState(props.field_value)\n\n const inputProps = {\n max: props.max_length,\n step: props.decimal_places ? (1 / (10 ^ props.decimal_places)) : null,\n readOnly: props.disabled ? true : false\n }\n const fieldProps = {\n // required: props.mandatory || false,\n type: \"text\",\n label: props.field_name === \"Tool Pre-Check Completed By - Stamp #\" ? 'Tool Pre-Checks *' :\n props.mandatory ? props.field_name + ' *' : props.field_name,\n name: props.id || props.org_field_id,\n defaultValue: props.field_value,\n error: props.errors && props.errors[props.id || props.org_field_id] && !props.errors[props.id || props.org_field_id].valid,\n autoFocus: props.errors && props.errors[props.id || props.org_field_id] && !props.errors[props.id || props.org_field_id].valid,\n secondary_fields: props.secondary_fields ? {\n // required: props.secondary_fields[0].mandatory,\n label: props.secondary_fields[0].field_name,\n name: props.secondary_fields[0].org_field_id + ' *',\n defaultValue: props.secondary_fields[0].field_value,\n disabled: props.secondary_fields[0].disabled,\n error: props.errors && !props?.errors[props.secondary_fields[0].org_field_id].valid,\n autoFocus: props.errors && !props?.errors[props.secondary_fields[0].org_field_id].valid,\n\n } : {}\n }\n\n const handleValueControl = (type) => {\n const currentVal = val || 0;\n if (type === 'inc') {\n setVal(+currentVal + 1);\n handleChange({ name: props.id || props.org_field_id, value: +currentVal + 1 });\n }\n else if (type === 'dec') {\n setVal(+currentVal >= 1 ? +currentVal - 1 : 0);\n handleChange({ name: props.id || props.org_field_id, value: +currentVal >= 1 ? +currentVal - 1 : 0 });\n }\n }\n\n const secondaryCheck = props.field_value >= 1 && props.secondary_field;\n\n return (\n
\n
\n {\n handleChange({ name: e.target.name, value: e.target.value });\n setVal(e.target.value);\n }}\n style={inputProps.readOnly ? { opacity: 0.55, cursor: 'not-allowed !important' } : {}}\n />\n
\n {\n props.noIncreament &&\n
\n \n \n \n \n
\n }\n {\n secondaryCheck &&\n
\n {\n handleChange({ name: e.target.name, value: e.target.value });\n console.log(e.target.name)\n }}\n />\n
\n }\n
\n )\n}\n\nexport default React.memo(NumericField);","import { Button, ButtonGroup, Grid } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport RemoveIcon from \"@material-ui/icons/Remove\";\nimport MROTextField from \"./form_components/TextField\";\nimport { fixedInputValueTo2DecimalPlaces } from \"lib/utils/helperFunctions\";\n\nexport default function NumericIncrementJobClockings({ setError, state, setState, ...props }) {\n const [val, setVal] = useState(props.value ? parseFloat(props?.value) : 0);\n const handleChange = (action) => () => {\n typeof setError === \"function\" && setError();\n if (action === \"inc\") {\n if (parseFloat(val || 0) >= 0)\n if (parseFloat(val) % 0.25 === 0) {\n let total = parseFloat(val) + 0.25\n setVal(parseFloat(total).toFixed(2));\n }\n else\n\n setVal((parseFloat(val || 0) + 0.25).toFixed(2))\n }\n if (action === \"dec\") {\n if (parseFloat(val) > 0)\n if (parseFloat(val) % 0.25 === 0) {\n setVal(parseFloat(val - 0.25))\n } else if (parseFloat(val) <= 0.25) {\n setVal(0)\n }\n else setVal((parseFloat(val || 0) - 0.25).toFixed(2))\n }\n };\n\n useEffect(() => {\n setState({\n ...state,\n man_hours: val,\n });\n }, [val]);\n\n // console.log(props?.val, state, val, val % 0.25, parseFloat(val) % 0.25 === 0);\n\n // useEffect(() => {\n // if (state.man_hours > 0) {\n // setVal(parseFloat(state.man_hours))\n // }\n\n // }, [state.man_hours]);\n\n let inputprops = {\n value: props.value,\n };\n\n return (\n <>\n \n \n {\n typeof setError === \"function\" && setError();\n typeof setVal === \"function\" && setVal((fixedInputValueTo2DecimalPlaces(e.target.value.replace(/[A-Za-z]/g, \"\"))));\n }}\n />\n \n \n \n \n \n {\" \"}\n \n \n \n {\" \"}\n \n \n \n \n \n \n );\n}\n","function CreateReducer(initialState, handlers) {\n return function reducer(state = initialState, action) {\n if (handlers.hasOwnProperty(action.type)) {\n return handlers[action.type](state, action)\n } else {\n return state\n }\n }\n}\n\nexport default CreateReducer;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport MROTextField from \"components/form_components/TextField\";\nimport {\n Box,\n CircularProgress,\n IconButton,\n MenuItem,\n useTheme,\n Menu,\n Popover,\n Paper\n} from \"@material-ui/core\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport RightDialog from \"views/Stores/Parts/Stocks/RightDialog\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport DeleteDailog from \"components/form_components/DeleteDailog\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport WarningDialog from \"../UniversalWarningDialog\";\nimport MROButton from \"components/buttons\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport {\n formatDateFunctionWithAmPm,\n _formatDate,\n} from \"lib/utils/common_utils\";\nimport VerticalIcon from '@material-ui/icons/MoreVert';\nimport Tooltip from \"@material-ui/core/Tooltip\";\n\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n margin: 0,\n padding: 0,\n // backgroundColor: \"#fff\",\n // padding: theme.spacing(3),\n // boxShadow: \"0px 1px 4px #0000001A\",\n },\n partKey: {\n fontSize: \"13px\",\n // padding: \"5px\",\n },\n partValue: {\n fontSize: \"13px\",\n color: \"#4D4F5C\",\n padding: \"3px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partCard: {\n borderRadius: \"3px\",\n padding: \"5px 10px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"3px\",\n },\n\n },\n tooltip: {\n position: 'relative',\n display: 'inline-block',\n borderBottom: '1px dotted black' /* If you want dots under the hoverable text */\n },\n tooltipText: {\n background: 'black',\n color: '#fff',\n fontSize: '9px',\n visibility: 'hidden',\n width: '120px',\n textAlign: 'center',\n padding: '5px 0',\n borderRadius: '6px',\n\n /* Position the tooltip text - see examples below! */\n position: 'relative',\n zIndex: 99999\n },\n}));\n\nconst GetInfoCard = (props) => {\n const theme = useTheme();\n const [action, setAction] = useState(null);\n const classes = useStyles();\n const [open, setOpen] = useState(false)\n const [mouseX, setMouseX] = useState();\n const [mouseY, setMouseY] = useState();\n const [poperState, setPoperState] = useState(false)\n const [currentCommentsSelections, setCurrentCommentSelections] = useState({});\n\n\n const handlepopupclose = () => {\n setAction(\"\")\n setPoperState(false)\n }\n\n\n\n return (\n \n \n \n {props?.keyName}\n \n \n\n {props?.keyName === \"Serial #\" && props?.value.length > 25 ?\n <>\n {\n setAction(\"view_key\");\n setCurrentCommentSelections(props?.value);\n setPoperState(!poperState)\n setMouseX(e.clientX);\n setMouseY(e.clientY);\n }}\n onMouseLeave={(e) => {\n // setAction(\"view\")\n // setPoperState(false)\n }}>\n {props?.value.slice(0, 25) + '...'}\n \n {action === \"view_key\" && \n\n \n {currentCommentsSelections}\n\n\n \n }\n \n :\n \n {props?.value}\n }\n \n );\n};\n\nfunction MaintenanceDetails(props) {\n const classes = useStyles();\n const {\n quoteId,\n data,\n workshopOrder,\n actionProps,\n currentSelection,\n bases,\n lineCustomers,\n getHeaderDetails,\n getList,\n handleClose: closeSideDrawer,\n dateField,\n loading,\n isGettingDetails,\n orderState\n } = props;\n\n const message = useContext(ToastMessageContext);\n\n const { setShouldTabDataUpdate } = useContext(WorkshopContext);\n\n const [action, setAction] = useState(null);\n const [isEdit, setIsEdit] = useState(false);\n const [qty, setQty] = useState();\n\n const [busy, setBusy] = useState(null);\n\n const [fieldsData, setFieldsData] = useState({\n part_number: null,\n serial_number: null,\n line_customer_id: null,\n customer_order_number: null,\n item_description: null,\n base_station_id: null,\n });\n const [isUnsavedData, setIsUnsavedData] = useState(false);\n const [anchorEl, setAnchorEl] = useState(false);\n const [open, setOpen] = useState(false)\n // console.log(\"maint is========================\", currentSelection, currentSelection?.order_no)\n\n useEffect(() => {\n if (!data) return;\n const {\n base_station_id,\n line_customer_id,\n part,\n serial,\n description,\n customer_ref,\n quantity,\n } = data;\n setFieldsData({\n part_number: part,\n serial_number: serial,\n line_customer_id,\n customer_order_number: customer_ref,\n item_description: description,\n base_station_id,\n });\n\n setQty(quantity);\n }, [data, isEdit]);\n\n const [errors, setErrors] = useState({});\n\n const resetErrorHandler = (name) => {\n setErrors((err) => ({ ...err, [name]: false }));\n };\n\n const handleChange = (event) => {\n const value = event.target.value;\n const name = event.target.name;\n resetErrorHandler(name);\n setFieldsData((ps) => ({ ...ps, [name]: value }));\n setIsUnsavedData(true);\n };\n\n const handleClose = () => {\n if (isUnsavedData) {\n setAction(\"warning\");\n return;\n }\n setIsEdit(false);\n };\n\n const updateData = async () => {\n const data = { ...fieldsData, quantity: qty };\n\n setBusy(\"loading\");\n try {\n const response = await MaintenanceServices.updateHeader(data, quoteId);\n if (response.success) {\n getHeaderDetails();\n message.showToastMessage({\n message: \"Updated Successfully\",\n variant: \"success\",\n });\n setIsEdit(false);\n getList();\n setAction(null);\n setIsUnsavedData(false);\n setBusy(null);\n setShouldTabDataUpdate(true);\n }\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"error\");\n }\n };\n\n const submitHandler = (event) => {\n event.preventDefault();\n\n const formData = new FormData(event.target);\n\n const { valid, error } = validateFormData(formData);\n\n if (!valid) {\n setErrors(error);\n return;\n }\n updateData();\n };\n\n const showArchiveWarningModal = () => {\n setAction(\"delete\");\n };\n\n const archiveOrderHandler = async () => {\n try {\n setBusy(\"archive-loading\");\n const response = await MaintenanceServices.archiveOrder(quoteId);\n if (response.success) {\n getHeaderDetails();\n message.showToastMessage({\n message: \"Archived Successfully\",\n variant: \"success\",\n });\n setIsEdit(false);\n getList();\n setAction(null);\n setIsUnsavedData(false);\n setBusy(null);\n setShouldTabDataUpdate(true);\n closeSideDrawer();\n }\n else {\n\n message.showToastMessage({\n message: response.error ? response.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setIsEdit(false);\n setAction(null);\n setBusy(null);\n // closeSideDrawer();\n }\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"error\");\n }\n };\n\n // Email Export Records\n const handleClose1 = () => {\n setAction(null);\n setOpen(false)\n setAnchorEl(false)\n\n }\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n const handleEmailExport = async () => {\n const params = {\n workshop_order_id: currentSelection?.id,\n user_id: userDetails?.id,\n }\n await MaintenanceServices.sendEmailExportRecords(params).then(() => {\n\n message.showToastMessage({\n message: `Success - Records emailed to User email address!`,\n variant: \"success\",\n });\n setOpen(false)\n setAnchorEl(false)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n })\n\n }\n\n\n if (loading || isGettingDetails) {\n return (\n \n \n \n );\n }\n\n return (\n
\n \n \n
\n \n \n \n
\n
\n \n
\n \n \n \n
\n
\n \n
\n \n \n \n
\n
\n\n\n \n \n {\n setAnchorEl(true);\n setOpen(true)\n\n }}>\n \n \n\n {open &&\n \n\n {orderState != \"Closed\" && props?.permission.write && {\n setOpen(false)\n setIsEdit(true)\n }}>\n Edit Header Details\n }\n {orderState === \"Closed\" && {\n handleEmailExport()\n }}>\n\n Email Export Records\n }\n\n \n\n }\n\n\n\n\n
\n \n \n {isEdit && (\n \n
\n \n \n Edit\n \n \n Order\n \n\n
\n \n\n \n \n \n \n \n {lineCustomers?.map((option) => (\n \n {option.name}\n \n ))}\n \n \n resetErrorHandler(\"quantity\")}\n helperText={errors.quantity && \"Please enter Quantity\"}\n />\n \n {bases?.map((option) => (\n \n {option.station}\n \n ))}\n \n\n \n \n Cancel\n \n \n Update\n \n \n\n \n \n Archive Order? - Irreversible!\n \n \n \n \n Closes the Order in archive mode, which CANNOT be undone!\n   \n \n \n \n \n \n \n \n \n {action === \"delete\" && (\n \n   This\n process cannot be reversed! Are you sure\n \n }\n open={true}\n handleClose={() => setAction(null)}\n handleConfirm={archiveOrderHandler}\n loading={busy === \"archive-loading\"}\n />\n )}\n
\n\n {action === \"warning\" && (\n setAction(null)}\n handleConfirm={() => {\n setIsEdit(false);\n setAction(null);\n setIsUnsavedData(false);\n }}\n btnTitle=\"Yes\"\n title=\"Warning\"\n description=\"Data is NOT saved! Are you sure you want to leave without saving?\"\n />\n )}\n
\n )}\n \n );\n}\n\nexport default MaintenanceDetails;\n","import {\n Box,\n CircularProgress,\n FormControlLabel,\n Grid,\n IconButton,\n MenuItem,\n Typography,\n} from \"@material-ui/core\";\nimport React, { useContext, useEffect, useState } from \"react\";\nimport MROTextField from \"components/form_components/TextField\";\nimport AddIcon from \"@material-ui/icons/AddBox\";\nimport RemoveOutlinedIcon from \"@material-ui/icons/RemoveOutlined\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport MROButton from \"components/buttons\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport FileCopyIcon from \"@material-ui/icons/FileCopy\";\nimport CopyPreviuos from \"./CopyPrevious\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport AwsDateFormat from \"components/form_components/AwsDateFormat\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport UploadButton from \"components/form_components/upload_multiple\";\nimport SearchCapability from \"./SearchCapability\";\nimport lock from \"assets/icons/Lock.svg\";\nimport unlock from \"assets/icons/Unlock.svg\";\nimport YesNoField from \"components/form_components/YesNoField\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport { ConvertYMD, getOrganisationId } from \"lib/utils/common_utils\";\nimport PlanningClosure from \"./PlanningClosure\";\nimport TechData from \"./PlanningTechData\"\nimport CapabilityServices from \"lib/services/api/compliance/capability_client\";\nimport CopyNewFunction from \"./CopyNewFunction\";\nimport Certification from \"./Certification\";\nimport ProjectParts from \"./ProjectParts\";\nimport CreateProjectParts from \"../QuotePopUp/CreateProjectParts\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n backgroundColor: theme.palette.primary.main,\n border: `1px solid ${theme.palette.primary.main}`,\n margin: \"1% 0\",\n display: \"flex\",\n \"& button\": {\n marginRight: theme.spacing(2),\n width: \"200px\",\n \"& .MuiButton-label\": {\n justifyContent: \"space-between\",\n width: \"150px\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n },\n },\n },\n input: {\n color: \"#fff\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n head: {\n marginTop: \"20px\",\n marginBottom: \"10px\",\n },\n error: {\n borderColor: \"red\",\n },\n svg: {\n filter: \"invert(1)\",\n height: 18,\n marginBottom: 2,\n },\n disableSwitch: {\n pointerEvents: \"none\",\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n message: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n margin: theme.spacing(1)\n }\n}));\n\nfunction Planning(props) {\n const classes = useStyles();\n const {\n handleClose,\n workshopOrder,\n workshop_id,\n actionStatus,\n setEditTab,\n editTab,\n getMaintenanceOrderList,\n currentSelection,\n readOnly,\n readAndWrite,\n orderStateNum,\n tabStatus,\n closeTabStatus,\n getWorkshopOrderDetails,\n planning_Id,\n actions,\n actionTabId,\n copyTab\n } = props;\n const [expand, setExpand] = useState(true);\n const [visibleIcon, setVisibleIcon] = useState(true);\n const [action, setAction] = useState(null);\n const { state, editButton, setEditButton, setState, openPopup, setOpenPopup, setEditTabStatus, conditionState, setConditionState, copyIdflag, setCopyIdFlag, planningCopyId, setCopyPlanningId, planningNullId, setPlanningNullId } = useContext(WorkshopContext);\n const [errors, setErrors] = useState({});\n const [loading, setLoading] = useState(null);\n const [dateFormat, setDateFormat] = useState();\n const message = useContext(ToastMessageContext);\n const [releaseType, setReleaseType] = useState([]);\n const [releaseAuth, setReleaseAuth] = useState([]);\n const [toolRequired, setToolRequired] = useState(\"\");\n const [staffRequired, setStaffRequired] = useState(\"\");\n const [techMaintenance, setTechMaintenance] = useState(\"\");\n const [inspectionAction, setInspectionAction] = useState(actions || actionTabId === 23 ? \"no\" : \"yes\");\n const [refData, setRefData] = useState([]);\n const [busy, setBusy] = useState(null);\n const [busyPopup, setBusyPopup] = useState(null);\n const [referenceData, setReferenceData] = useState(null);\n const [planningCreatedStatus, setPlanningCreatedStatus] = useState(false);\n const [closeTab, setCloseTab] = useState(false);\n const [isGettingDetails, setIsGettingDetails] = useState(false);\n const [planningDetails, setPlanningDetails] = useState([]);\n const [filledAllData, setAllFilledData] = useState(false)\n const [isLoadingClosure, setIsLoadingClosure] = useState(false)\n const [closureData, setClosureData] = useState(null)\n const [openClosure, setOpenClosure] = useState(false)\n const [techMaintenanceAvail, setTechnicalMaintenanceAvail] = useState([]);\n const [getData, setGetData] = useState(false)\n const [access, setAccess] = useState({ read: false, write: true });\n const [acceptAll, setAcceptAll] = useState(false);\n const [handleDate, setHandleDate] = useState(false)\n const [disableComplete, setDisableComplete] = useState(false)\n const [updateFlag, setUpdateFlag] = useState(false)\n const [releaseStatus, setReleaseStatus] = useState(false)\n const [techLoading, setTechLoading] = useState(false)\n const [techAction, setTechAction] = useState('')\n const [disabled, setDisabled] = useState(\n (closeTabStatus === 1 && orderStateNum <= 2) || (planningCreatedStatus === false) && props.tabStatus != true ? false : true\n );\n const [fieldsData, setFieldsData] = useState({\n status_work: null,\n release_auth: null,\n release_type_a: null,\n release_type_b: null,\n description: null,\n estimate_release_date: null,\n tooling_required: null,\n staff_required: null,\n tech_maintenance_avail: null,\n tech_maintenance_file: null,\n });\n\n const handlePopup = () => {\n setEditTabStatus(false)\n if (planning_Id || !planning_Id) {\n setState((ps) => ({ ...ps, warningDialogState: true, isEditing: true }));\n } else if (state.editTabStatus) {\n setState((ps) => ({ ...ps, shouldShowWarning: true, isEditing: true, controlPlanningPop: false }));\n }\n };\n\n useEffect(() => {\n if (acceptAll) {\n setGetData(true)\n setOpenPopup(true)\n setAllFilledData(false)\n }\n }, [getData, openPopup])\n\n useEffect(() => {\n if (editButton) {\n handleEditAPiCall();\n }\n }, [editButton]);\n\n useEffect(() => {\n if (readOnly) {\n setAccess({ read: true, write: false });\n return;\n }\n\n if (readAndWrite) {\n setAccess({ read: false, write: true });\n return;\n }\n }, [readAndWrite, readOnly]);\n\n useEffect(() => {\n setState((ps) => ({ ...ps, isEditing: editTab, tab: \"planning\", warningDialogState: false, controlPlanningPop: true }));\n\n return () => setState((ps) => ({ ...ps, tab: null }));\n }, [editTab]);\n\n useEffect(() => {\n if (currentSelection?.planning_id === null) {\n setDisabled(false);\n }\n }, [currentSelection?.planning_id]);\n\n const onChangeHandler = (e) => {\n handlePopup()\n setReleaseStatus(true)\n const name = e.target.name;\n const value = e.target.value;\n\n resetErrorsHandler(name);\n setFieldsData((prevState) => ({ ...prevState, [name]: value }));\n };\n\n useEffect(() => {\n if (planningDetails?.capability_id) {\n setErrors((e) => ({ ...e, capability_id: false }));\n }\n }, [planningDetails?.capability_id]);\n\n useEffect(() => {\n if (actionStatus === \"Unlock\" || planningCreatedStatus) getPlanningList();\n }, []);\n\n const planningClosure = async () => {\n\n setIsLoadingClosure(true)\n const params = {\n workshop_order_id: workshop_id\n }\n await MaintenanceServices.planningClosure(params)\n .then((res) => {\n if (res.success) {\n setClosureData(res.data)\n setGetData(true)\n setDisableComplete(true)\n }\n }).catch((err) => {\n console.log(\"error\", err)\n }).finally(() => {\n setIsLoadingClosure(false)\n })\n\n }\n console.log(\"rs is===========================\", actionTabId)\n\n const getPlanningList = async () => {\n if (currentSelection?.planning_id || copyIdflag) {\n setIsGettingDetails(true);\n await MaintenanceServices.getPlanning(copyIdflag ? planningCopyId?.planning_id : currentSelection?.planning_id)\n .then((res) => {\n setPlanningDetails(res.data);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setIsGettingDetails(false);\n });\n }\n };\n\n\n\n useEffect(() => {\n if (planningDetails?.inspection_action !== undefined) {\n setInspectionAction(planningDetails?.inspection_action ? \"yes\" : \"no\")\n }\n }, [planningDetails?.inspection_action])\n\n //copy previous \n\n useEffect(() => {\n if (planningDetails?.inspection_action === null || inspectionAction === null) {\n setInspectionAction(actions ? \"no\" : \"yes\")\n }\n }, [planningDetails?.inspection_action])\n\n useEffect(() => {\n if (actionStatus != \"Send Quote \") {\n let data = {};\n Object.keys(planningDetails).forEach((key) => data[key] = planningDetails[key]);\n\n setFieldsData(data);\n setRefData(planningDetails?.capabilty_id);\n if (planningDetails?.capabilty_ref_data !== undefined) {\n setReferenceData(planningDetails?.capabilty_ref_data);\n }\n setToolRequired(\n planningDetails?.tooling_required === true\n ? \"yes\"\n : planningDetails?.tooling_required === false\n ? \"no\"\n : \"\"\n );\n setTechMaintenance(\n planningDetails?.tech_maintenance_avail === true\n ? \"yes\"\n : planningDetails?.tech_maintenance_avail === false\n ? \"no\"\n : \"\"\n );\n setStaffRequired(\n planningDetails?.staff_required === true\n ? \"yes\"\n : planningDetails?.staff_required === false\n ? \"no\"\n : \"\"\n );\n }\n }, [planningDetails]);\n\n // console.log(\"releasee\", expand, visibleIcon)\n\n useEffect(() => {\n if (fieldsData.release_type_b !== null && !releaseStatus) {\n if (planningDetails.release_type_b_name !== \"\") {\n setExpand(false);\n setVisibleIcon(false)\n }\n }\n }, [planningDetails])\n\n useEffect(() => {\n getReleaseType();\n }, []);\n\n const getReleaseType = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await MaintenanceServices.getReleaseType(params)\n .then((res) => {\n if (res) {\n setReleaseType(res.data);\n }\n // setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // setLoading(false);\n });\n };\n\n useEffect(() => {\n getReleaseAuth();\n }, []);\n\n const getReleaseAuth = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await MaintenanceServices.getReleaseAuth(params)\n .then((res) => {\n if (res) {\n setReleaseAuth(res.data);\n }\n // setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // setLoading(false);\n });\n };\n const handleClick = () => {\n setAction(\"save_for_later\");\n };\n\n const params = {\n save_later: 1,\n };\n\n useEffect(() => {\n if (refData !== [] || refData !== undefined) {\n setErrors((er) => ({ ...er, capability_id: false }));\n }\n }, [refData]);\n\n\n\n useEffect(() => {\n if (refData !== [] || refData !== undefined || refData !== null) {\n setTechLoading(true)\n }\n\n }, [refData])\n\n\n const getPlanningListOnNull = async () => {\n await MaintenanceServices.getPlanning(planningNullId)\n .then((res) => {\n setPlanningDetails(res.data);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setIsGettingDetails(false);\n });\n\n };\n\n useEffect(() => {\n if (planningNullId && planning_Id === null) {\n getPlanningListOnNull()\n }\n }, [planningNullId])\n\n // useEffect(() => {\n // if (filledAllData) {\n // planningClosure()\n // // setAction(\"complete\")\n // }\n // }, [filledAllData])\n\n const runInspectionActionLogic = async () => {\n const formData = new FormData()\n formData.append(\"inspection_action\", inspectionAction === \"no\" ? false : true)\n formData.append(\"workshop_order_id\", workshop_id)\n if (currentSelection.order_state != \"Closed\") {\n await MaintenanceServices.inspectionActionLogic(formData)\n .then(() => {\n // getWorkshopOrderDetails();\n // getPlanningList();\n // getMaintenanceOrderList();\n // console.log(\"error\")\n }).catch((error) => {\n console.log(error)\n })\n }\n }\n\n useEffect(() => {\n if (!planning_Id)\n runInspectionActionLogic()\n }, [])\n\n useEffect(() => {\n if (acceptAll) {\n setUpdateFlag(true)\n }\n }, [acceptAll])\n\n // console.log(\"formdata sssssssssssssss==========\", sendFormData)\n\n const handlePlanningFunc = () => {\n setConditionState(false)\n setCloseTab(!closeTab)\n setEditTab(!editTab)\n setPlanningCreatedStatus(true);\n }\n\n const handleSubmit = async (e) => {\n if (techAction !== \"createtechdata\" || techAction !== \"update_tech\") {\n setLoading(action === \"save_for_later\" ? \"save_for_later\" : \"\");\n e.preventDefault();\n const formData = new FormData(document.getElementById(\"my-form\"));\n formData.append(\n \"workshop_order_id\",\n actionStatus === \"Unlock\" || 'calendarAction' ? workshop_id : workshopOrder?.id\n );\n formData.delete(\"capability_id\");\n formData.delete(\"inspection_action\");\n formData.append(\"inspection_action\", inspectionAction === \"no\" ? false : true);\n formData.append(\"capability_id\", refData);\n // if (!handleDate) {\n // formData.delete(\"estimate_release_date\")\n // formData.append(\"estimate_release_date\", ConvertYMD(planningDetails?.estimate_release_date))\n // }\n\n if (action != \"save_for_later\") {\n const { error, valid } = validateFormData(formData, [\n \"inspection_action\",\n \"tech_data_crs_remarks\",\n techMaintenance === \"no\" ? \"tech_maintenance_file\" : \"\",\n ]);\n if (refData === undefined || refData === null) {\n setErrors((er) => ({ ...er, capability_id: true }));\n }\n\n if (techMaintenance === \"no\") {\n setLoading(null);\n setErrors((er) => ({ ...er, tech_maintenance_avail: true }));\n }\n if (toolRequired === \"no\") {\n setLoading(null);\n setErrors((er) => ({ ...er, tooling_required: true }));\n }\n if (staffRequired === \"no\" && actionTabId === 2) {\n setLoading(null);\n setErrors((er) => ({ ...er, staff_required: true }));\n }\n\n if (\n (!valid && !disabled) ||\n techMaintenance == \"no\" ||\n staffRequired == \"no\" ||\n toolRequired === \"no\"\n ) {\n setErrors((err) => ({ ...err, ...error }));\n setLoading(null);\n return;\n }\n\n if (!valid) {\n setLoading(null);\n setErrors(error);\n return;\n }\n\n if (valid && refData !== undefined && refData !== null) {\n if (action !== \"save_for_later\" && !acceptAll && !closeTab)\n\n if (techAction === \"createtechdata\" || techAction === \"update_tech\") {\n // console.log(\"tech=====\", techAction, action)\n }\n else {\n\n if (planning_Id === null && planningNullId === null && copyIdflag === false) {\n await MaintenanceServices.planningData(formData, params)\n .then((res) => {\n if (res.success) {\n setPlanningNullId(res.data.id)\n runInspectionActionLogic()\n setAction(null)\n\n }\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false }));\n getMaintenanceOrderList();\n planningClosure()\n }).catch((response) => {\n message.showToastMessage({\n message:\n response.error.length > 0\n ? response.error?.join(\", \")\n : \"Something went wrong!\",\n variant: \"error\",\n });\n })\n\n }\n else if (planning_Id !== null && planningNullId !== null) {\n\n const param = {\n id: planningNullId ? planningNullId : currentSelection?.planning_id,\n save_later: 1,\n }\n await MaintenanceServices.updateSaveForLaterData(formData, param)\n .then((res) => {\n if (res.success) {\n runInspectionActionLogic()\n setAction(null)\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false }));\n\n getMaintenanceOrderList();\n planningClosure()\n }\n }).catch((res) => {\n message.showToastMessage({\n message: res.error.length > 0\n ? res.error?.join(\", \") : \"Something went wrong !\",\n variant: \"error\",\n });\n })\n\n }\n else if (planning_Id === null && planningNullId === null && copyIdflag) {\n\n const param = {\n id: planningCopyId?.planning_id ? planningCopyId?.planning_id : currentSelection?.planning_id,\n save_later: 1,\n }\n await MaintenanceServices.updateSaveForLaterData(formData, param)\n .then((res) => {\n if (res.success) {\n runInspectionActionLogic()\n setAction(null)\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false }));\n\n getMaintenanceOrderList();\n planningClosure()\n }\n }).catch((res) => {\n message.showToastMessage({\n message: res.error.length > 0\n ? res.error?.join(\", \") : \"Something went wrong !\",\n variant: \"error\",\n });\n })\n\n }\n else if (planning_Id !== null && planningNullId === null && copyIdflag === false) {\n\n const param = {\n id: currentSelection?.planning_id,\n save_later: 1,\n }\n await MaintenanceServices.updateSaveForLaterData(formData, param)\n .then((res) => {\n if (res.success) {\n runInspectionActionLogic()\n setAction(null)\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false }));\n\n getMaintenanceOrderList();\n planningClosure()\n }\n }).catch((res) => {\n message.showToastMessage({\n message: res.error.length > 0\n ? res.error?.join(\", \") : \"Something went wrong !\",\n variant: \"error\",\n });\n })\n\n }\n else {\n planningClosure()\n }\n\n }\n\n }\n }\n\n if (!editTab && planning_Id === null && copyIdflag === false) {\n setDisableComplete(false)\n setBusy(\"loading\");\n if ((action === \"save_for_later\" && refData === undefined) ||\n refData === null) {\n formData.delete(\"capability_id\");\n formData.append(\"capability_id\", \"\");\n }\n if (action === \"save_for_later\" && planningNullId === null) {\n await MaintenanceServices.planningData(formData, params)\n .then((res) => {\n if (res.success) {\n runInspectionActionLogic()\n setAction(null)\n setOpenPopup(false)\n setOpenClosure(false)\n setAllFilledData(false)\n message.showToastMessage({\n message: \"Saved Successfully\",\n variant: \"success\",\n });\n }\n getPlanningList()\n setAction(null)\n setTimeout(() => {\n handleClose();\n getMaintenanceOrderList();\n }, 1000);\n }).catch((res) => {\n message.showToastMessage({\n message: res.error.length > 0\n ? res.error?.join(\", \") : \"Something went wrong !\",\n variant: \"error\",\n });\n }).finally(() => {\n setBusy(null)\n setLoading(null)\n })\n }\n if (action !== \"save_for_later\" && planning_Id === null && action === \"open_popup\" && planningNullId === null) {\n setIsLoadingClosure(false)\n setBusyPopup(\"loading\")\n await MaintenanceServices.planningData(\n formData,\n action === \"save_for_later\" ? params : \"\"\n )\n .then((res) => {\n runInspectionActionLogic()\n handlePlanningFunc()\n setTimeout(() => {\n handleClose();\n getMaintenanceOrderList();\n }, 1000);\n message.showToastMessage({\n message: \"Planning completed Successfully\",\n variant: \"success\",\n });\n setPlanningNullId(null)\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false }));\n setAction(null)\n })\n .catch((res) => {\n message.showToastMessage({\n message: res.error.length > 0\n ? res.error?.join(\", \") : \"Something went wrong !\",\n variant: \"error\",\n });\n setLoading(null);\n }).finally(() => {\n setBusyPopup(null)\n })\n }\n }\n\n if (editTab || planning_Id !== null || planningNullId !== null) {\n setBusy(\"loading\");\n if ((action === \"save_for_later\" && refData === undefined) ||\n refData === null) {\n formData.delete(\"capability_id\");\n formData.append(\"capability_id\", \"\");\n }\n // if (action === \"open_popup\") {\n // handleClosurePopUpFunction(formData)\n // }\n if (action === \"save_for_later\") {\n const param = {\n id: planningNullId ? planningNullId : currentSelection?.planning_id,\n save_later: 1,\n }\n await MaintenanceServices.updateSaveForLaterData(formData, param)\n .then((res) => {\n if (res.success) {\n runInspectionActionLogic()\n setAction(null)\n setOpenPopup(false)\n setOpenClosure(false)\n setAllFilledData(false)\n message.showToastMessage({\n message: \"Saved Successfully\",\n variant: \"success\",\n });\n setPlanningNullId(null)\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false }));\n setTimeout(() => {\n handleClose();\n getMaintenanceOrderList();\n setPlanningNullId(null)\n }, 1000);\n }\n }).catch((res) => {\n message.showToastMessage({\n message: res.error.length > 0\n ? res.error?.join(\", \") : \"Something went wrong !\",\n variant: \"error\",\n });\n }).finally(() => {\n setBusy(null)\n setLoading(null)\n setPlanningNullId(null)\n })\n }\n if (action === \"open_popup\" && (closeTab || updateFlag)) {\n setBusyPopup(\"loading\")\n const param = {\n id: planningNullId ? planningNullId : currentSelection?.planning_id,\n edit_tab: closeTab ? true : \"\"\n }\n\n try {\n const response = await MaintenanceServices.updatePlanningTabData(\n formData,\n param\n );\n if (response.success) {\n runInspectionActionLogic();\n handleCloseTab();\n message.showToastMessage({\n message: \"Updated Successfully!\",\n variant: \"success\",\n });\n setPlanningNullId(null)\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false }));\n } else {\n message.showToastMessage({\n message:\n response.error.length > 0\n ? response.error?.join(\", \")\n : \"Something went wrong!\",\n variant: \"error\",\n });\n }\n setBusy(null);\n setBusyPopup(null)\n } catch (error) {\n setBusy(\"error\");\n setPlanningNullId(null)\n\n message.showToastMessage({\n message: error.error.length > 0\n ? error.error?.join(\", \") : \"Something went wrong !\",\n variant: \"error\",\n });\n // handleCloseTab();\n }\n }\n }\n //copy previous\n if (action === \"save_for_later\" && copyIdflag && planning_Id === null && planningNullId === null) {\n const param = {\n id: planningCopyId?.planning_id,\n save_later: 1,\n }\n if ((action === \"save_for_later\" && refData === undefined) ||\n refData === null) {\n formData.delete(\"capability_id\");\n formData.append(\"capability_id\", \"\");\n }\n await MaintenanceServices.updateSaveForLaterData(formData, param)\n .then((res) => {\n if (res.success) {\n runInspectionActionLogic()\n setAction(null)\n setOpenPopup(false)\n setOpenClosure(false)\n setAllFilledData(false)\n message.showToastMessage({\n message: \"Saved Successfully\",\n variant: \"success\",\n });\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false }));\n setCopyIdFlag(false)\n setCopyPlanningId({})\n setTimeout(() => {\n handleClose();\n getMaintenanceOrderList();\n }, 1000);\n }\n }).catch((res) => {\n message.showToastMessage({\n message: res.error.length > 0\n ? res.error?.join(\", \") : \"Something went wrong !\",\n variant: \"error\",\n });\n }).finally(() => {\n setBusy(null)\n setLoading(null)\n })\n }\n if (updateFlag && copyIdflag && planning_Id === null) {\n setBusyPopup(\"loading\")\n const param = {\n id: planningNullId ? planningNullId : planningCopyId?.planning_id,\n // edit_tab: closeTab ? true : \"\"\n }\n try {\n const response = await MaintenanceServices.updatePlanningTabData(\n formData,\n param\n );\n if (response.success) {\n runInspectionActionLogic();\n handleCloseTab();\n message.showToastMessage({\n message: \"Updated Successfully!\",\n variant: \"success\",\n });\n\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false }));\n setCopyIdFlag(false)\n setCopyPlanningId({})\n } else {\n message.showToastMessage({\n message:\n response.error.length > 0\n ? response.error?.join(\", \")\n : \"Something went wrong!\",\n variant: \"error\",\n });\n }\n setBusy(null);\n setBusyPopup(null)\n } catch (error) {\n setBusy(\"error\");\n message.showToastMessage({\n message: error.error.length > 0\n ? error.error?.join(\", \") : \"Something went wrong !\",\n variant: \"error\",\n });\n }\n }\n }\n };\n\n if (isGettingDetails) {\n return (\n \n \n \n );\n }\n\n const dataFromParent = (referData, id) => {\n setRefData(id);\n setReferenceData(referData);\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleToolRequired = (value) => {\n handlePopup();\n if (value) {\n setToolRequired(value);\n }\n };\n const handleStaffRequired = (value) => {\n handlePopup();\n if (value) {\n setStaffRequired(value);\n }\n };\n const handleInspRequired = (value) => {\n handlePopup();\n if (value) {\n setInspectionAction(value);\n }\n };\n const handleTechMaintenance = (value) => {\n handlePopup();\n if (value) {\n setTechMaintenance(value);\n }\n };\n\n const handleEditAPiCall = async () => {\n setIsGettingDetails(true);\n const param = {\n workshop_order_id: currentSelection?.id,\n tab: \"planning\",\n };\n await MaintenanceServices.editButton(param)\n .then((res) => {\n setBusy(null);\n if (res.success) {\n getWorkshopOrderDetails();\n setEditButton(!editButton);\n setBusy(null);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setBusy(null);\n })\n .finally(() => {\n setIsGettingDetails(false);\n });\n };\n\n const handleCloseTab = () => {\n setConditionState(false)\n if (updateFlag) {\n setAction(null)\n setOpenClosure(false)\n setUpdateFlag(false)\n setTimeout(() => {\n handleClose();\n getMaintenanceOrderList();\n }, 1000);\n }\n setCloseTab(!closeTab)\n getPlanningList();\n getWorkshopOrderDetails();\n setEditTab(!editTab);\n setDisabled(!disabled);\n };\n\n const handleTab = () => {\n setEditTabStatus(true)\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false }));\n setEditButton(true);\n setEditTab(!editTab);\n setDisabled(!disabled);\n setCopyIdFlag(false)\n };\n\n const handleCloseFunction = () => {\n setAction(null)\n setOpenClosure(false)\n setConditionState(false)\n if (acceptAll) {\n setAcceptAll(false)\n }\n setGetData(false)\n }\n\n //copy previous\n\n const getCopyPreviousPlanningId = () => {\n setAction(\"copySection\")\n if (planning_Id === null && copyIdflag === false && planningNullId === null) {\n const params = {\n workshop_order_id: workshop_id,\n }\n\n MaintenanceServices.copyPreviousCreatePlanningId(params)\n .then((res) => {\n setCopyPlanningId(res)\n setCopyIdFlag(true)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n // setBusy(null)\n // setLoading(null)\n })\n }\n }\n return (\n
\n \n \n \n Workscope\n \n \n { getCopyPreviousPlanningId() }}\n style={{\n display: access.read ? \"none\" : undefined,\n }}\n >\n {\" \"}\n \n   Copy Previous\n \n \n
\n \n \n \n Select\n Inspected / Tested\n Repaired\n Overhauled\n Modified\n New\n Prototype\n Customer Instruction\n \n \n \n \n Select\n {releaseAuth?.map((option) => (\n \n {option.type_name}\n \n ))}\n \n \n\n \n resetErrorsHandler(\"staff_required\")}\n />\n\n\n\n\n\n\n \n \n \n \n \n Select\n {releaseType?.map((option) => (\n \n {option.type_name}\n \n ))}\n \n \n {visibleIcon && (\n \n {\n setExpand(!expand);\n setVisibleIcon(!visibleIcon);\n }}\n style={{ pointerEvents: !props?.permission.write && \"none\", color: !props?.permission.write && \"#F5F5F5\" }}\n >\n \n \n \n )}\n\n {!visibleIcon && (\n \n \n Select\n {releaseType?.map((option) => (\n \n {option.type_name}\n \n ))}\n \n \n )}\n {!expand && (\n \n {\n setExpand(!expand);\n setVisibleIcon(!visibleIcon);\n }}\n // style={{visibility: fieldsData.release_type_b ? \"hidden\" : \"\"}}\n >\n \n \n \n )}\n \n\n \n \n \n\n \n \n \n \n \n {/* \n \n \n {\n resetErrorsHandler(\"estimate_release_date\");\n setDateFormat(value);\n setHandleDate(true);\n handlePopup();\n }}\n />\n \n \n \n Check release date aligns with TAT quoted in Quote tab\n \n \n */}\n {(actionTabId === 20 || actionTabId === 24 || actionTabId === 23) && <>\n \n Select and Record the applicable In-Service Life values you want to appear in Block 12 remarks\n \n\n \n \n\n\n\n\n \n }\n {(actionTabId === 20 || actionTabId === 24 || actionTabId === 21 || actionTabId === 25) && currentSelection?.project_part && <>\n \n Project Parts\n \n\n \n \n\n\n\n\n \n }\n\n\n\n \n Capability Check\n \n\n \n Is the work scope within the organisations approval?\n \n \n \n {\n resetErrorsHandler(\"capability_id\");\n handlePopup();\n }}\n >\n \n \n setAction(\"searchCapability\")}\n style={{ display: access.read ? \"none\" : undefined }}\n >\n {\" \"}\n \n  Search Capability\n \n \n \n\n \n resetErrorsHandler(\"tooling_required\")}\n />\n \n\n \n {(actionTabId === 20 || actionTabId === 24) && resetErrorsHandler(\"staff_required\")}\n />}\n \n\n \n Technical / Maintenance Data\n \n \n Attach and or confirm the revision status of ALL technical data linked to the capability\n \n\n \n {/* Old tech data */}\n\n {/* \n resetErrorsHandler(\"tech_maintenance_avail\")}\n />\n \n\n {techMaintenance === \"yes\" && (\n \n \n \n \n ({\n name: file.file_name,\n url: file.path,\n })\n )}\n setFiles={(files) => {\n setTechnicalMaintenanceAvail(files);\n // setUploadButtonState(true);\n resetErrorsHandler(\"tech_maintenance_file\");\n }}\n name={\"tech_maintenance_file\"}\n label=\"Attach a PDF of the Technical / Maintenance data you want to be visible in the APP\"\n />\n \n \n \n \n )} */}\n\n \n Planning Completion\n \n \n Prior to completion of planning, ensure initial planned Actions are\n raised in the appropriate Order tabs\n \n\n
\n {/* {tabStatus && orderStateNum >= 1 && orderStateNum <= 8 && ( */}\n = 1 && orderStateNum <= 8 && props?.permission.write ? \"\" : \"none\",\n marginTop: \"18px\",\n }}\n onClick={() => {\n setTechLoading(true)\n handleTab()\n\n }}\n startIcon={\"lock\"}\n >\n Edit Tab\n \n {/* )} */}\n {closeTabStatus === 1 && orderStateNum > 2 && props?.permission.write && (\n 2 ? \"\" : \"none\",\n marginTop: \"18px\",\n }}\n type=\"submit\"\n loading={busy === \"loading\"}\n startIcon={\n \"unlock\"\n }\n onClick={() => {\n setAction(\"open_popup\");\n setCloseTab(!closeTab);\n setTechLoading(true)\n }}\n >\n Close Tab\n \n )}\n
\n\n\n {/* {action && action === \"complete\" && */}\n {\n getData && (techAction !== \"createtechdata\" || techAction !== \"update_tech\") &&\n < PlanningClosure\n setAction={setAction}\n action={action}\n closureData={closureData}\n acceptAll={acceptAll}\n setAcceptAll={setAcceptAll}\n handleCloseFunction={handleCloseFunction}\n handleSubmit={handleSubmit}\n busyPopup={busyPopup}\n getData={getData}\n setGetData={setGetData}\n handleClose={() => setGetData(false)}\n isLoadingClosure={isLoadingClosure}\n />\n }\n {/* } */}\n\n {\n closeTabStatus === 1 && orderStateNum <= 2 && props?.permission.write && (\n \n
\n \n Save for later\n \n {\n setAction(null)\n }}\n style={{\n // display: access.read ? \"none\" : undefined,\n }}\n >\n Complete\n \n
\n
\n )\n }\n \n\n {action === \"copySection\" && (\n setAction(null)}\n closeTabAction={handleClose}\n currentSelection={currentSelection}\n workshop_id={workshopOrder}\n getWorkshopOrderDetails={getWorkshopOrderDetails}\n getMaintenanceOrder={getMaintenanceOrderList}\n getPlanningList={getPlanningList}\n setPlanningAction={setAction}\n actionTabId={actionTabId}\n planningId={planningCopyId}\n planningNullId={planningNullId}\n planningWholeDetails={planningDetails}\n copyTab={copyTab}\n />\n )\n }\n {\n action === \"searchCapability\" && (\n setAction(null)}\n func={dataFromParent}\n />\n )\n }\n\n {/* {action && action === \"complete\" && (\n setAction(null)}\n cautionMessage={closureData}\n // getAllActionStages={getAllActionStages}\n workshop_id={workshop_id}\n tab={\"planning\"}\n title=\"Planning Closure\"\n show={false}\n isGettingDetails={getData}\n btnTitle=\"Complete\"\n formDataProps={sendFormData}\n />\n )} */}\n
\n );\n}\n\nexport default Planning;\n","import React from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Box } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n}));\n\nfunction ManageInspection(props) {\n const classes = useStyles();\n const { handleClose} = props;\n\n return (\n
\n \n \n \n \n \n \n Event Information\n \n \n\n
\n \n \n Event\n \n \n \n \n \n \n Action & stage Title\n \n \n \n Replace Humidity Cnt Desiccant\n \n \n \n\n \n \n Sub-Fields\n \n \n \n \n \n \n Sub-Field description 1\n \n \n \n Sub-Field text\n \n \n \n Sub-Field description 6\n \n \n \n Sub-Field text\n \n \n\n \n \n \n Sub-Field description 2\n \n \n \n Sub-Field text\n \n \n \n Sub-Field description 2\n \n \n \n Sub-Field text\n \n \n\n \n \n \n Sub-Field description 3\n \n \n \n Sub-Field text\n \n \n \n Sub-Field description 8\n \n \n \n Sub-Field text\n \n \n \n \n \n Sub-Field description 4\n \n \n \n Sub-Field text\n \n \n \n Sub-Field description 9\n \n \n \n Sub-Field text\n \n \n \n \n \n Sub-Field description 5\n \n \n \n Sub-Field text\n \n \n \n Sub-Field description 10\n \n \n \n Sub-Field text\n \n \n \n\n \n \n Event Closure\n \n \n \n \n \n \n Mech\n \n \n \n 5678\n \n \n \n Date / Time\n \n \n \n 25/Dec/2020 11:59\n \n \n\n \n \n \n Insp\n \n \n \n 7890\n \n \n \n Date / Time\n \n \n \n 25/Dec/2020 11:59\n \n \n \n\n \n \n Tech Records\n \n \n \n\n \n \n Event Scheduling\n \n \n \n \n \n \n Next Due\n \n \n \n 19/Jan/2021\n \n \n \n
\n
\n
\n );\n}\n\nexport default ManageInspection;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport MROTextField from \"components/form_components/TextField\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport MROButton from \"components/buttons\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport YesNoField from \"components/form_components/YesNoField\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\nimport NumericIncrement from \"views/Operations/LineMaintenance/WorkOrder/FieldComponents/numeric_increment\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n overflowX: \"hidden !important\"\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrap: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n}));\n\nfunction ActionDetails(props) {\n const classes = useStyles();\n const { handleClose, workshop_id, action_type, getAllActions } = props;\n const message = useContext(ToastMessageContext);\n const [dropDownData, setDropdownData] = useState([]);\n const [errors, setErrors] = useState({});\n const [ataChapter, setAtaChapter] = useState(null);\n const [mechAuth, setMechAuth] = useState(null);\n const [inspAuth, setInspAuth] = useState(null);\n const [busy, setBusy] = useState(null);\n const [maintFile, setMaintFile] = useState([]);\n const [state, setState] = useState({ man_hours: '' });\n const [criticalConsideration, setCriticalConsideration] = useState(null);\n const [IndependentInsp, setIndependentInsp] = useState(null);\n\n useEffect(() => {\n getDropdownData();\n }, []);\n\n const getDropdownData = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await InspectionServices.getAllDropDown(params)\n .then((res) => {\n if (res) {\n setDropdownData(res.data);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const { error, valid } = validateFormData(formData, [\"maintenance_file[]\"]);\n if (!valid) {\n // setLoading(null);\n setErrors(error);\n return;\n }\n\n formData.append(\"workshop_order_id\", workshop_id);\n formData.append(\"action_type\", action_type);\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"raised_by\", userDetails?.id);\n // formData.append(\"status\", \"Open\");\n formData.delete(\"maintenance_file[]\");\n maintFile.forEach((file) => (formData.append(\"maintenance_file[]\", file)))\n setBusy(\"loading\");\n await InspectionServices.createAction(formData)\n .then((res) => {\n if (res) {\n handleClose();\n getAllActions();\n setBusy(null);\n message.showToastMessage({\n message: \"Created successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n setBusy(null);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleCriticalConsideration = (value) => {\n if (value) {\n setCriticalConsideration(value);\n }\n };\n const handleIndependentInsp = (value) => {\n if (value) {\n setIndependentInsp(value);\n }\n };\n\n const handleChange = ({ target: { name, value } }) => {\n // setState({\n // ...state,\n // [name]: value\n // })\n }\n\n return (\n
\n \n \n \n \n \n \n \n Add Action\n \n \n \n\n
\n
\n \n \n Action Details\n \n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n \n \n \n {\n resetErrorsHandler(e.target.name);\n setAtaChapter(e.target.value);\n }}\n >\n {dropDownData?.ata_chapters?.map((option) => (\n \n {option.chapter_number}\n \n ))}\n \n \n \n {\n resetErrorsHandler(e.target.name);\n setMechAuth(e.target.value);\n }}\n >\n {dropDownData?.mech_insp_auth?.map((option) => (\n \n {option?.type_name}\n \n ))}\n \n \n \n \n \n {\n resetErrorsHandler(e.target.name);\n setInspAuth(e.target.value);\n }}\n >\n {dropDownData?.mech_insp_auth?.map((option) => (\n \n {option?.type_name}\n \n ))}\n \n \n \n \n setErrors((prevState) => ({\n ...prevState,\n estimate_man_hours: false,\n }))\n }\n />\n \n \n \n resetErrorsHandler(\"critical_considerations\")}\n />\n \n \n resetErrorsHandler(\"independent_insp_required\")}\n />\n \n \n Upload PDF versions of relevant maintenance data you want to be\n visible in the APP\n \n\n {\n setMaintFile(files);\n }}\n width={\"50%\"}\n showBorderOnNoFiles={true}\n name=\"maintenance_file[]\"\n multiple={true}\n APIUrl={\"\"}\n action={\"Upload Document\"}\n />\n
\n
\n \n Cancel\n \n \n Add\n \n
\n
\n
\n
\n );\n}\n\nexport default ActionDetails;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Typography from \"@material-ui/core/Typography\";\nimport FileUpload from \"components/form_components/fileUpload\"\nimport {\n Box,\n Dialog,\n DialogContent,\n DialogTitle,\n IconButton,\n} from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport cameraIcon from \"assets/camera@2x.png\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport MROButton from \"components/buttons\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\n\nconst useStyles = makeStyles((theme) => ({\n dialogPaper: {\n minHeight: \"30vh\",\n maxHeight: \"150vh\",\n },\n actionButtons: {\n paddingTop: \"5px\",\n paddingBottom: \"20px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n}));\n\nfunction ManageTask(props) {\n const {\n open,\n handleCloseDailog,\n selectedId,\n action_type,\n styleProp,\n status\n } = props;\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [boolState, setBoolState] = useState(false);\n const [busy, setBusy] = useState(null);\n const [actionPhotos, setActionPhotos] = useState([]);\n const [actionImage, setActionImage] = useState([]);\n const [deletedStatus, setDeletedStatus] = useState(false)\n const [isLoading, setIsLoading] = useState(false)\n\n console.log(\"action is=============================\", props.permission.write, status, styleProp, boolState)\n\n useEffect(() => {\n getActionPhotos();\n }, []);\n\n useEffect(() => {\n if (actionImage.length) {\n setDeletedStatus(false)\n }\n }, [actionImage])\n\n const getActionPhotos = async () => {\n setBusy(\"get_photos\");\n setIsLoading(true)\n await InspectionServices.getActionPhotos(selectedId)\n .then((res) => {\n if (res) {\n setBusy(null);\n setActionPhotos(res.data);\n }\n })\n .catch(() => {\n setBusy(null);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setBusy(null);\n setIsLoading(false)\n })\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n formData.append(\"action_id\", selectedId);\n formData.append(\"action_type\", action_type);\n formData.delete(\"action_image[]\");\n actionImage.forEach((image) => formData.append(\"action_image[]\", image));\n setBusy(\"loading\");\n if (deletedStatus !== true) {\n await InspectionServices.addPhotos(formData)\n .then(() => {\n setBusy(null);\n handleCloseDailog();\n message.showToastMessage({\n message: \"Added successfully!\",\n variant: \"success\",\n });\n setDeletedStatus(false)\n })\n .catch(() => {\n setBusy(null);\n handleCloseDailog();\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n }\n setBusy(null);\n handleCloseDailog();\n };\n\n const deleteFileHandler = async (id) => {\n setBusy(\"file-deleting\");\n try {\n const response = await MaintenanceServices.deleteFile(id);\n\n if (response.success) {\n message.showToastMessage({\n message: \"File deleted successfully\",\n variant: \"success\",\n });\n setDeletedStatus(true);\n getActionPhotos();\n }\n setBusy(null);\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"file-deleting-error\");\n }\n };\n\n return (\n
\n \n \n \n \n \n Action Photos   \n {!boolState && status != \"Closed\" && props.permission.write && (\n \n setBoolState(true)}\n />\n \n )}\n \n \n \n \n {\" \"}\n \"Icon\"{\" \"}\n \n \n \n \n Upload any relevant images - E.g., defect photos etc\n \n \n
\n \n \n ({\n filename: item?.file_name,\n url: `${item?.path}`,\n id: item?.id,\n }))\n : \"\"\n }\n setFiles={(files) => {\n setActionImage(files);\n }}\n onDelete={boolState === false ? null : deleteFileHandler}\n APIUrl={\"\"}\n showBorderOnNoFiles={true}\n name=\"action_image[]\"\n multiple={true}\n action={\"Upload Document\"}\n id=\"action_image[]\"\n isLoading={isLoading}\n isDeleting={busy === \"file-deleting\"}\n uploadButtonView={boolState === false}\n accept={\"multiple\"}\n />\n \n \n {boolState === true && (\n
\n \n Cancel\n \n \n Complete\n \n
\n )}\n
\n \n
\n );\n}\n\nexport default ManageTask;\n","import React, { useContext, useState } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Grid,\n Typography,\n} from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\nconst useStyles = makeStyles(() => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"25%\",\n },\n },\n title: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n warning: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: \"16px\",\n marginBottom: \"20px\",\n },\n actionButtons: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n}));\n\nfunction DeleteStage(props) {\n const classes = useStyles();\n const { handleClose, open, action_Id, getAllActionStages, closeStageHandler } = props;\n const message = useContext(ToastMessageContext);\n const [loading, setLoading] = useState(null);\n\n const handleDelete = () => {\n setLoading(\"busy\");\n InspectionServices.deleteStage(action_Id)\n .then((res) => {\n if (res.success) {\n closeStageHandler(res.success);\n getAllActionStages();\n message.showToastMessage({\n message: \"Stage deleted successfully\",\n variant: \"success\",\n });\n }\n })\n .catch((res) => {\n if(!res.success){\n message.showToastMessage({\n message: `${res.error}`,\n variant: \"error\",\n });\n }\n closeStageHandler();\n })\n .finally(() => {\n setLoading(null);\n });\n };\n\n return (\n
\n \n \n \n Delete Item\n \n \n \n \n This cannot be undone. Are you sure?\n \n \n \n \n Cancel\n \n \n \n \n Yes\n \n \n \n \n \n
\n );\n}\n\nexport default DeleteStage;\n","import React, { useState, useContext, useEffect } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from \"components/buttons\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { Box, MenuItem } from \"@material-ui/core\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport DeleteStage from \"./DeleteStage\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& .MuiOutlinedInput-root\": {\n height: \"max-content\",\n },\n },\n wrapper: {\n padding: \"2%\",\n backgroundColor: \"#fff\",\n marginLeft: '24px'\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n content: {\n backgroundColor: \"#fff\",\n borderRadius: \"0 0 5px 5px\",\n minHeight: \"fit-content\",\n },\n inputField: {\n maxWidth: \"328px\",\n },\n actionButtons: {\n textAlign: \"right\",\n marginTop: \"30px\",\n \"& button\": {\n // marginRight: \"20px\",\n },\n },\n}));\n\nfunction UpdateStage(props) {\n const classes = useStyles();\n const { getAllActionStages, actionProp, closeStageHandler, action_Id, handleClose, selectedAction } = props;\n const message = useContext(ToastMessageContext);\n const [action, setAction] = useState(null)\n const [errors, setErrors] = useState({});\n const [description, setDescription] = useState(null);\n const [title, setTitle] = useState(null);\n const [busy, setBusy] = useState(null);\n const [fieldZero, setFieldZero] = useState({ id: null, name: null });\n const [fieldOne, setFieldOne] = useState({ id: null, name: null });\n const [fieldTwo, setFieldTwo] = useState({ id: null, name: null });\n const [fieldThree, setFieldThree] = useState({ id: null, name: null });\n const [fieldFour, setFieldFour] = useState({ id: null, name: null });\n const [fieldFive, setFieldFive] = useState({ id: null, name: null });\n const [fieldSix, setFieldSix] = useState({ id: null, name: null });\n const [fieldSeven, setFieldSeven] = useState({ id: null, name: null });\n const [fieldEight, setFieldEight] = useState({ id: null, name: null });\n const [fieldNine, setFieldNine] = useState({ id: null, name: null });\n const [typeZero, setTypeZero] = useState(null);\n const [typeOne, setTypeOne] = useState(null);\n const [typeTwo, setTypeTwo] = useState(null);\n const [typeThree, setTypeThree] = useState(null);\n const [typeFour, setTypeFour] = useState(null);\n const [typeFive, setTypeFive] = useState(null);\n const [typeSix, setTypeSix] = useState(null);\n const [typeSeven, setTypeSeven] = useState(null);\n const [typeEight, setTypeEight] = useState(null);\n const [typeNine, setTypeNine] = useState(null);\n\n useEffect(() => {\n setTitle(selectedAction?.title);\n setDescription(selectedAction?.description);\n\n if (selectedAction?.sub_fields != undefined) {\n setFieldZero(\n {\n id: selectedAction?.sub_fields[0]?.id,\n name: selectedAction?.sub_fields[0]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[0]?.field_name\n }\n );\n setFieldOne(\n {\n id: selectedAction?.sub_fields[1]?.id,\n name: selectedAction?.sub_fields[1]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[1]?.field_name\n }\n );\n setFieldTwo(\n {\n id: selectedAction?.sub_fields[2]?.id,\n name: selectedAction?.sub_fields[2]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[2]?.field_name\n }\n );\n setFieldThree(\n {\n id: selectedAction?.sub_fields[3]?.id,\n name: selectedAction?.sub_fields[3]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[3]?.field_name\n }\n );\n setFieldFour(\n {\n id: selectedAction?.sub_fields[4]?.id,\n name: selectedAction?.sub_fields[4]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[4]?.field_name\n }\n );\n setFieldFive(\n {\n id: selectedAction?.sub_fields[5]?.id,\n name: selectedAction?.sub_fields[5]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[5]?.field_name\n }\n );\n setFieldSix(\n {\n id: selectedAction?.sub_fields[6]?.id,\n name: selectedAction?.sub_fields[6]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[6]?.field_name\n }\n );\n setFieldSeven(\n {\n id: selectedAction?.sub_fields[7]?.id,\n name: selectedAction?.sub_fields[7]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[7]?.field_name\n }\n );\n setFieldEight(\n {\n id: selectedAction?.sub_fields[8]?.id,\n name: selectedAction?.sub_fields[8]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[8]?.field_name\n }\n );\n setFieldNine(\n {\n id: selectedAction?.sub_fields[9]?.id,\n name: selectedAction?.sub_fields[9]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[9]?.field_name\n }\n );\n\n setTypeZero(\n selectedAction?.sub_fields[0]?.field_type === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[0]?.field_type\n );\n setTypeOne(\n selectedAction?.sub_fields[1]?.field_type === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[1]?.field_type\n );\n setTypeTwo(\n selectedAction?.sub_fields[2]?.field_type === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[2]?.field_type\n );\n setTypeThree(\n selectedAction?.sub_fields[3]?.field_type === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[3]?.field_type\n );\n setTypeFour(\n selectedAction?.sub_fields[4]?.field_type === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[4]?.field_type\n );\n setTypeFive(\n selectedAction?.sub_fields[5]?.field_type === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[5]?.field_type\n );\n setTypeSix(\n selectedAction?.sub_fields[6]?.field_type === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[6]?.field_type\n );\n setTypeSeven(\n selectedAction?.sub_fields[7]?.field_type === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[7]?.field_type\n );\n setTypeEight(\n selectedAction?.sub_fields[8]?.field_type === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[8]?.field_type\n );\n setTypeNine(\n selectedAction?.sub_fields[9]?.field_type === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[9]?.field_type\n );\n }\n }, [selectedAction]);\n\n const validateFields = (formData) => {\n const { error, valid } = validateFormData(formData, [\n \"field_name[0]\",\n \"field_name[1]\",\n \"field_name[2]\",\n \"field_name[3]\",\n \"field_name[4]\",\n \"field_name[5]\",\n \"field_name[6]\",\n \"field_name[7]\",\n \"field_name[8]\",\n \"field_name[9]\",\n \"field_type[0]\",\n \"field_type[1]\",\n \"field_type[2]\",\n \"field_type[3]\",\n \"field_type[4]\",\n \"field_type[5]\",\n \"field_type[6]\",\n \"field_type[7]\",\n \"field_type[8]\",\n \"field_type[9]\",\n ]);\n\n if (!valid) {\n setBusy(null)\n setErrors(error);\n return;\n }\n return valid;\n };\n\n const handleUpdateData = () => {\n setBusy(\"updating\");\n const param = {\n id: action_Id,\n stage_name: title,\n description: description,\n sub_fields: [\n {\n id: fieldZero.id || null,\n field_name: fieldZero.name || null,\n field_type: typeZero || null\n },\n {\n id: fieldOne.id || null,\n field_name: fieldOne.name || null,\n field_type: typeOne || null\n },\n {\n id: fieldTwo.id || null,\n field_name: fieldTwo.name || null,\n field_type: typeTwo || null\n },\n {\n id: fieldThree.id || null,\n field_name: fieldThree.name || null,\n field_type: typeThree || null\n },\n {\n id: fieldFour.id || null,\n field_name: fieldFour.name || null,\n field_type: typeFour || null\n },\n {\n id: fieldFive.id || null,\n field_name: fieldFive.name || null,\n field_type: typeFive || null\n },\n {\n id: fieldSix.id || null,\n field_name: fieldSix.name || null,\n field_type: typeSix || null\n },\n {\n id: fieldSeven.id || null,\n field_name: fieldSeven.name || null,\n field_type: typeSeven || null\n },\n {\n id: fieldEight.id || null,\n field_name: fieldEight.name || null,\n field_type: typeEight || null\n },\n {\n id: fieldNine.id || null,\n field_name: fieldNine.name || null,\n field_type: typeNine || null\n },\n ]\n }\n\n InspectionServices.editStage(param).then((res) => {\n if (res?.success) {\n setBusy(null);\n closeStageHandler(res.success);\n getAllActionStages();\n message.showToastMessage({\n message: \"Stage Edited successfully\",\n variant: \"success\",\n });\n } else {\n setBusy(null);\n res.errors &&\n message.showToastMessage({\n message: res.errors.join(\",\"),\n variant: \"error\",\n });\n }\n }).finally(() => {\n setBusy(null);\n })\n };\n\n const handleSubmit = (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n if (!validateFields(formData)) {\n return;\n }\n\n if (actionProp === \"Edit_Stage\") {\n handleUpdateData(formData);\n }\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n\n return (\n
\n \n \n \n \n \n \n \n \n Edit Stage\n \n \n setAction(\"delete\")}>\n \n Delete Item  \n \n \n \n \n \n\n
\n
\n
\n {\" \"}\n \n \n Stage Details\n \n \n \n \n \n {\n resetErrorsHandler(e.target.name);\n setTitle(e.target.value);\n }}\n color=\"primary\"\n />\n \n \n\n \n \n {\n setDescription(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n />\n \n \n\n <>\n \n \n Stage Details\n \n \n \n \n Upto 10 Sub Fields can be used to capture text E.g. torque\n values, temp readings etc.\n \n \n \n \n \n \n {\n setFieldZero({ id: selectedAction?.sub_fields[0]?.id, name: e.target.value });\n }}\n />\n \n \n {\n setTypeZero(e.target.value);\n resetErrorsHandler(\"field_type[0]\");\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n \n {\n setFieldOne({ id: selectedAction?.sub_fields[1]?.id, name: e.target.value });\n }}\n />\n \n \n {\n setTypeOne(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n \n \n \n {\n setFieldTwo({ id: selectedAction?.sub_fields[2]?.id, name: e.target.value });\n }}\n />\n \n \n {\n setTypeTwo(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n \n {\n setFieldThree({ id: selectedAction?.sub_fields[3]?.id, name: e.target.value });\n }}\n />\n \n \n {\n setTypeThree(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n {/* 56 */}\n \n \n \n {\n setFieldFour({ id: selectedAction?.sub_fields[4]?.id, name: e.target.value });\n }}\n />\n \n \n {\n setTypeFour(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n\n \n\n\n \n {\n setFieldFive({ id: selectedAction?.sub_fields[5]?.id, name: e.target.value });\n }}\n >\n \n \n {\n setTypeFive(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n\n\n \n \n \n {\n setFieldSix({ id: selectedAction?.sub_fields[6]?.id, name: e.target.value });\n }}\n />\n \n \n {\n setTypeSix(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n\n \n\n\n \n {\n setFieldSeven({ id: selectedAction?.sub_fields[7]?.id, name: e.target.value });\n }}\n />\n \n \n {\n setTypeSeven(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n\n\n\n \n \n \n {\n setFieldEight({ id: selectedAction?.sub_fields[8]?.id, name: e.target.value });\n }}\n />\n \n \n {\n setTypeEight(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n\n \n \n {\n setFieldNine({ id: selectedAction?.sub_fields[9]?.id, name: e.target.value });\n }}\n />\n \n \n {\n setTypeNine(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n\n\n \n \n \n
\n \n Cancel\n \n \n Update\n \n
\n \n
\n
\n
\n {action && action === \"delete\" && (\n setAction(null)}\n closeStageHandler={closeStageHandler}\n />\n )}\n
\n );\n}\n\nexport default UpdateStage;\n\n\n\n","import React, { useState, useEffect, useContext } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Box, CircularProgress, Tooltip } from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport EditStage from \"./EditStage\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport RescheduleIcon from \"@material-ui/icons/History\";\nimport { format24HrDateTime, _formatDate } from \"lib/utils/common_utils\";\nimport ManHousrHistory from \"../ActionInformation/ManhoursHistory\";\nimport HistoryTablePopup from \"../ActionInformation/HistoryTablePopup\";\nimport MROTextField from \"components/form_components/TextField\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n description: {\n borderRadius: \"5px\",\n height: \"max-content\",\n fontSize: \"15px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(1),\n whiteSpace: 'break-spaces'\n },\n root: {\n backgroundColor: \"#ffffff\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n EditIcon: {\n bgcolor: \"primary\",\n color: \"#fff\",\n },\n editButton: {\n marginLeft: \"300px\",\n },\n\n}));\n\nfunction StageInfo(props) {\n const classes = useStyles();\n const { handleClose, action_Id, styleProp, getAllActionStages, planning_verification, orderState } = props;\n const [action, setAction] = useState(null);\n const [loading, setLoading] = useState(false);\n const message = useContext(ToastMessageContext);\n const [selectedAction, setSelectedAction] = useState([]);\n const [fieldZero, setFieldZero] = useState(null);\n const [fieldOne, setFieldOne] = useState(null);\n const [fieldTwo, setFieldTwo] = useState(null);\n const [fieldThree, setFieldThree] = useState(null);\n const [fieldFour, setFieldFour] = useState(null);\n const [fieldFive, setFieldFive] = useState(null);\n const [fieldSix, setFieldSix] = useState(null);\n const [fieldSeven, setFieldSeven] = useState(null);\n const [fieldEight, setFieldEight] = useState(null);\n const [fieldNine, setFieldNine] = useState(null);\n\n // this for history table popup\n const [anchorEl, setAnchorEl] = useState(null);\n const [busy, setBusy] = useState(null);\n const [popupData, setPopupData] = useState([]);\n // for opening history table popup\n const handleClick = (event) => {\n setAnchorEl(true);\n };\n\n // for closing history table popup\n const handleCloseFunc = () => {\n setAnchorEl(false);\n };\n\n const handleCloseEdit = () => {\n if (action === \"EditStage\") {\n setAction(null);\n }\n };\n\n useEffect(() => {\n getStageAction();\n }, []);\n\n const getStageAction = async () => {\n setLoading(true);\n const params = {\n id: action_Id,\n };\n await InspectionServices.getStageAction(params)\n .then((res) => {\n if (res) {\n setLoading(false);\n setSelectedAction(res.data);\n }\n })\n .catch(() => {\n setLoading(false);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setLoading(false);\n });\n };\n\n const closeHHandler = () => {\n handleClose();\n getAllActionStages();\n };\n useEffect(() => {\n if (selectedAction?.sub_fields != undefined) {\n setFieldZero(\n selectedAction?.sub_fields[0]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[0]?.field_name\n );\n setFieldOne(\n selectedAction?.sub_fields[1]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[1]?.field_name\n );\n setFieldTwo(\n selectedAction?.sub_fields[2]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[2]?.field_name\n );\n setFieldThree(\n selectedAction?.sub_fields[3]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[3]?.field_name\n );\n setFieldFour(\n selectedAction?.sub_fields[4]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[4]?.field_name\n );\n setFieldFive(\n selectedAction?.sub_fields[5]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[5]?.field_name\n );\n setFieldSix(\n selectedAction?.sub_fields[6]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[6]?.field_name\n );\n setFieldSeven(\n selectedAction?.sub_fields[7]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[7]?.field_name\n );\n setFieldEight(\n selectedAction?.sub_fields[8]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[8]?.field_name\n );\n setFieldNine(\n selectedAction?.sub_fields[9]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[9]?.field_name\n );\n }\n // }\n }, [selectedAction]);\n\n const formatDate = (date) => {\n let dateFormatted = _formatDate(date)\n if (dateFormatted != \"Invalid date\") {\n return dateFormatted\n } else {\n return \"-\"\n }\n }\n return (\n \n \n \n \n \n \n \n \n Stage Information\n \n \n {planning_verification === \"Not Verified\" && props?.permission.write &&\n \n setAction(\"EditStage\")}>\n \n \n }\n \n \n\n
\n
\n {loading && _.isEmpty(selectedAction) ? (\n \n \n \n ) : (\n <>\n \n \n Stage Details\n \n \n \n \n \n Raised by\n \n \n {selectedAction?.raised_by}\n \n \n Raised\n \n \n \n {moment(\n selectedAction?.raised,\n \"YYYY/MM/DD HH:mm:ss\"\n ).format(\"DD-MM-YYYY HH:mm\")}\n \n \n \n \n \n Title\n \n \n {selectedAction?.title}\n \n \n \n \n \n \n \n \n \n\n \n Detailed Description\n \n \n \n {selectedAction?.description}\n \n \n\n \n \n Sub-Fields\n \n \n \n \n \n Sub Field 1\n \n \n {fieldZero || \"-\"}\n \n \n Sub Field 2\n \n \n {fieldOne || \"-\"}\n \n\n \n\n \n \n Sub Field 3\n \n \n {fieldTwo || \"-\"}\n \n \n Sub Field 4\n \n \n {fieldThree || \"-\"}\n \n\n \n \n\n \n Sub Field 5\n \n \n {fieldFour || \"-\"}\n \n \n Sub Field 6\n \n \n {fieldFive || \"-\"}\n \n\n \n \n \n Sub Field 7\n \n \n {fieldSix || \"-\"}\n \n\n \n Sub Field 8\n \n \n {fieldSeven || \"-\"}\n \n\n \n \n \n Sub Field 9\n \n \n {fieldEight || \"-\"}\n \n \n Sub Field 10\n \n \n {fieldNine || \"-\"}\n \n \n \n\n \n \n Closure\n \n \n \n \n \n Mech Closed\n \n \n {formatDate(selectedAction?.mech_closed) || \"-\"}\n \n \n Mech\n \n \n {selectedAction?.mech || \"-\"}\n \n \n \n \n Insp Closed\n \n \n {formatDate(selectedAction?.insp_closed) || \"-\"}\n \n \n Insp\n \n \n {selectedAction?.insp || \"-\"}\n \n \n \n \n {\n handleClick(e);\n // setCurrentSelection(currentSelection);\n }}\n className={\"text-info\"}\n >\n \n \n \n \n \n \n \n \n \n )}\n
\n
\n {\n action === \"EditStage\" && (\n \n )\n }\n
\n );\n}\n\nexport default StageInfo;\n","import React, { useState, useContext, useEffect } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from \"components/buttons\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { organisationDetails } from \"theme/main_theme\";\nimport { TaskLibraryServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/TaskLibrary/task_library\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { WorkshopContext } from \"../../WorkshopContext/WorkshopContext\";\nimport { MenuItem } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& .MuiOutlinedInput-root\": {\n height: \"max-content\",\n },\n },\n wrapper: {\n padding: \"2%\",\n backgroundColor: \"#fff\",\n marginLeft: '24px'\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n content: {\n backgroundColor: \"#fff\",\n // padding: \"2% 3%\",\n borderRadius: \"0 0 5px 5px\",\n minHeight: \"fit-content\",\n },\n inputField: {\n maxWidth: \"328px\",\n },\n actionButtons: {\n textAlign: \"right\",\n marginTop: \"30px\",\n \"& button\": {\n // marginRight: \"20px\",\n },\n },\n}));\n\nfunction UpdateStage(props) {\n const classes = useStyles();\n const { handleClose, action, currentSelection, action_Id } = props;\n const message = useContext(ToastMessageContext);\n const [errors, setErrors] = useState({});\n const [loading, setLoading] = useState(false);\n const [description, setDescription] = useState(null);\n const [title, setTitle] = useState(null);\n const [busy, setBusy] = useState(null);\n const { stageUpdate, setStageUpdate } = useContext(WorkshopContext);\n const [taskLibraryData, setTaskLibraryData] = useState([]);\n const [fieldZero, setFieldZero] = useState(null);\n const [fieldOne, setFieldOne] = useState(null);\n const [fieldTwo, setFieldTwo] = useState(null);\n const [fieldThree, setFieldThree] = useState(null);\n const [fieldFour, setFieldFour] = useState(null);\n const [fieldFive, setFieldFive] = useState(null);\n const [fieldSix, setFieldSix] = useState(null);\n const [fieldSeven, setFieldSeven] = useState(null);\n const [fieldEight, setFieldEight] = useState(null);\n const [fieldNine, setFieldNine] = useState(null);\n const [addLib, setAddToLib] = useState(false)\n const [typeZero, setTypeZero] = useState(null);\n const [typeOne, setTypeOne] = useState(null);\n const [typeTwo, setTypeTwo] = useState(null);\n const [typeThree, setTypeThree] = useState(null);\n const [typeFour, setTypeFour] = useState(null);\n const [typeFive, setTypeFive] = useState(null);\n const [typeSix, setTypeSix] = useState(null);\n const [typeSeven, setTypeSeven] = useState(null);\n const [typeEight, setTypeEight] = useState(null);\n const [typeNine, setTypeNine] = useState(null);\n\n useEffect(() => {\n getTaskLibraryData();\n }, []);\n\n const getTaskLibraryData = async () => {\n await TaskLibraryServices.getTaskLibraryData(currentSelection?.id)\n .then((res) => {\n if (res?.success) {\n setTaskLibraryData(res.data);\n } else {\n res.errors &&\n message.showToastMessage({\n message: res.errors.join(\",\"),\n variant: \"error\",\n });\n }\n })\n .finally(() => {\n // setIsGettingDetails(false)\n });\n };\n\n useEffect(() => {\n // if (action === \"Update\") {\n setTitle(taskLibraryData?.stage_name);\n setDescription(taskLibraryData?.description);\n\n if (taskLibraryData?.sub_fields != undefined) {\n setFieldZero(\n taskLibraryData?.sub_fields[0]?.field_name === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[0]?.field_name\n );\n setFieldOne(\n taskLibraryData?.sub_fields[1]?.field_name === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[1]?.field_name\n );\n setFieldTwo(\n taskLibraryData?.sub_fields[2]?.field_name === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[2]?.field_name\n );\n setFieldThree(\n taskLibraryData?.sub_fields[3]?.field_name === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[3]?.field_name\n );\n setFieldFour(\n taskLibraryData?.sub_fields[4]?.field_name === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[4]?.field_name\n );\n setFieldFive(\n taskLibraryData?.sub_fields[5]?.field_name === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[5]?.field_name\n );\n setFieldSix(\n taskLibraryData?.sub_fields[6]?.field_name === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[6]?.field_name\n );\n setFieldSeven(\n taskLibraryData?.sub_fields[7]?.field_name === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[7]?.field_name\n );\n setFieldEight(\n taskLibraryData?.sub_fields[8]?.field_name === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[8]?.field_name\n );\n setFieldNine(\n taskLibraryData?.sub_fields[9]?.field_name === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[9]?.field_name\n );\n\n\n\n setTypeZero(\n taskLibraryData?.sub_fields[0]?.field_type === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[0]?.field_type\n );\n setTypeOne(\n taskLibraryData?.sub_fields[1]?.field_type === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[1]?.field_type\n );\n setTypeTwo(\n taskLibraryData?.sub_fields[2]?.field_type === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[2]?.field_type\n );\n setTypeThree(\n taskLibraryData?.sub_fields[3]?.field_type === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[3]?.field_type\n );\n setTypeFour(\n taskLibraryData?.sub_fields[4]?.field_type === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[4]?.field_type\n );\n setTypeFive(\n taskLibraryData?.sub_fields[5]?.field_type === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[5]?.field_type\n );\n setTypeSix(\n taskLibraryData?.sub_fields[6]?.field_type === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[6]?.field_type\n );\n setTypeSeven(\n taskLibraryData?.sub_fields[7]?.field_type === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[7]?.field_type\n );\n setTypeEight(\n taskLibraryData?.sub_fields[8]?.field_type === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[8]?.field_type\n );\n setTypeNine(\n taskLibraryData?.sub_fields[9]?.field_type === \"null\"\n ? \"\"\n : taskLibraryData?.sub_fields[9]?.field_type\n );\n }\n // }\n }, [taskLibraryData]);\n\n const validateFields = (formData) => {\n const { error, valid } = validateFormData(formData, [\n \"field_name[0]\",\n \"field_name[1]\",\n \"field_name[2]\",\n \"field_name[3]\",\n \"field_name[4]\",\n \"field_name[5]\",\n \"field_name[6]\",\n \"field_name[7]\",\n \"field_name[8]\",\n \"field_name[9]\",\n \"field_type[0]\",\n \"field_type[1]\",\n \"field_type[2]\",\n \"field_type[3]\",\n \"field_type[4]\",\n \"field_type[5]\",\n \"field_type[6]\",\n \"field_type[7]\",\n \"field_type[8]\",\n \"field_type[9]\",\n ]);\n\n console.log({ error });\n if (!valid) {\n setLoading(false);\n setErrors(error);\n return;\n }\n return valid;\n };\n\n const handleUpdateData = (formData) => {\n setBusy(\"updating\");\n formData.delete(\"field_name[0]\");\n formData.set(\"field_name[0]\", fieldZero || \"\");\n formData.delete(\"field_name[1]\");\n formData.set(\"field_name[1]\", fieldOne || \"\");\n formData.delete(\"field_name[2]\");\n formData.set(\"field_name[2]\", fieldTwo || \"\");\n formData.delete(\"field_name[3]\");\n formData.set(\"field_name[3]\", fieldThree || \"\");\n formData.delete(\"field_name[4]\");\n formData.set(\"field_name[4]\", fieldFour || \"\");\n formData.delete(\"field_name[5]\");\n formData.set(\"field_name[5]\", fieldFive || \"\");\n formData.delete(\"field_name[6]\");\n formData.set(\"field_name[6]\", fieldSix || \"\");\n formData.delete(\"field_name[7]\");\n formData.set(\"field_name[7]\", fieldSeven || \"\");\n formData.delete(\"field_name[8]\");\n formData.set(\"field_name[8]\", fieldEight || \"\");\n formData.delete(\"field_name[9]\");\n formData.set(\"field_name[9]\", fieldNine || \"\");\n\n\n\n\n formData.delete(\"field_type[0]\")\n formData.set(\"field_type[0]\", typeZero || \"\")\n formData.delete(\"field_type[1]\")\n formData.set(\"field_type[1]\", typeOne || \"\")\n formData.delete(\"field_type[2]\")\n formData.set(\"field_type[2]\", typeTwo || \"\")\n formData.delete(\"field_type[3]\")\n formData.set(\"field_type[3]\", typeThree || \"\")\n formData.delete(\"field_type[4]\")\n formData.set(\"field_type[4]\", typeFour || \"\")\n formData.delete(\"field_type[5]\")\n formData.set(\"field_type[5]\", typeFive || \"\")\n formData.delete(\"field_type[6]\")\n formData.set(\"field_type[6]\", typeSix || \"\")\n formData.delete(\"field_type[7]\")\n formData.set(\"field_type[7]\", typeSeven || \"\")\n formData.delete(\"field_type[8]\")\n formData.set(\"field_type[8]\", typeEight || \"\")\n formData.delete(\"field_type[9]\")\n formData.set(\"field_type[9]\", typeNine || \"\")\n\n\n\n\n formData.append(\"organisation_id\", organisationDetails?.id);\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"workshop_action_id\", action_Id);\n formData.append(\"add_to_library\", addLib);\n formData.append(\"raised_by\", userDetails?.id);\n formData.append(\"customize\", stageUpdate);\n if (stageUpdate === false) {\n formData.append(\"workshop_library_id\", currentSelection?.id);\n }\n\n InspectionServices.addOldStagesToAction(formData).then((res) => {\n if (res?.success) {\n setBusy(null);\n handleClose(res.data);\n setStageUpdate(false);\n message.showToastMessage({\n message: \"Added successfully\",\n variant: \"success\",\n });\n } else {\n setBusy(null);\n res.errors &&\n message.showToastMessage({\n message: res.errors.join(\",\"),\n variant: \"error\",\n });\n }\n setBusy(null);\n });\n };\n\n const handleSubmit = (e) => {\n setLoading(true);\n e.preventDefault();\n const formData = new FormData(e.target);\n if (!validateFields(formData)) {\n return;\n }\n\n if (action === \"updateStage\") {\n handleUpdateData(formData);\n }\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleUpdateStage = () => {\n setStageUpdate(true);\n };\n\n const handleCloseFunc = () => {\n handleClose();\n setStageUpdate(false);\n };\n\n return (\n
\n \n \n \n \n \n \n \n Add Stage\n \n \n \n\n
\n
\n
\n {\" \"}\n \n \n Stage Details\n \n \n \n \n \n {\n resetErrorsHandler(e.target.name);\n setTitle(e.target.value);\n handleUpdateStage();\n }}\n color=\"primary\"\n />\n \n \n\n \n \n {\n setDescription(e.target.value);\n resetErrorsHandler(e.target.name);\n handleUpdateStage();\n }}\n />\n \n \n\n <>\n \n \n Stage Details\n \n \n \n \n Upto 10 Sub Fields can be used to capture text E.g. torque\n values, temp readings etc.\n \n \n \n \n \n \n {\n setFieldZero(e.target.value);\n handleUpdateStage();\n }}\n />\n \n\n \n {\n setTypeZero(e.target.value);\n resetErrorsHandler(\"field_type[0]\");\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n\n \n {\n setFieldOne(e.target.value);\n handleUpdateStage();\n }}\n />\n \n \n {\n setTypeOne(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n \n \n \n {\n setFieldTwo(e.target.value);\n handleUpdateStage();\n }}\n />\n \n \n {\n setTypeTwo(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n\n \n\n\n \n {\n setFieldThree(e.target.value);\n handleUpdateStage();\n }}\n />\n \n \n {\n setTypeThree(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n\n\n \n \n \n {\n setFieldFour(e.target.value);\n handleUpdateStage();\n }}\n />\n \n \n {\n setTypeFour(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n\n \n \n {\n setFieldFive(e.target.value);\n handleUpdateStage();\n }}\n >\n \n \n {\n setTypeFive(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n \n \n \n {\n\n setFieldSix(e.target.value);\n handleUpdateStage();\n }}\n />\n \n \n {\n setTypeSix(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n \n {\n setFieldSeven(e.target.value);\n handleUpdateStage();\n }}\n />\n \n \n {\n setTypeSeven(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n\n \n \n \n {\n setFieldEight(e.target.value);\n handleUpdateStage();\n }}\n />\n \n \n {\n setTypeEight(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n\n \n \n {\n setFieldNine(e.target.value);\n handleUpdateStage();\n }}\n />\n \n \n {\n setTypeNine(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n\n\n \n \n \n
\n \n setAddToLib(!addLib)} />\n    Add to your library\n \n\n \n Cancel\n \n \n Add\n \n
\n \n
\n
\n
\n
\n );\n}\n\nexport default UpdateStage;\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport TouchAppIcon from \"@material-ui/icons/TouchApp\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport { Box, Grid, IconButton, Typography } from \"@material-ui/core\";\nimport useDebounce from \"lib/utils/debounce\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\n// import ListingService from \"lib/services/api/listing_service\";\nimport TableAction from \"actions/table_actions\";\nimport SearchByKeyword from \"components/keyword_search\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport BoxpTableAction from \"actions/boxp_table_actions\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport UpdateStage from \"./UpdateStage\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n // padding: \"4px\",\n textAlign: \"center\",\n },\n\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n}));\n\nfunction Library(props) {\n const { action_Id } = props;\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, inProgress, data } = tableState;\n const [searchText, setSearchText] = useState(\"\");\n const debouncedVal = useDebounce(searchText);\n const [action, setAction] = useState(null);\n const [currentSelection, setCurrentSelection] = useState({});\n\n useEffect(() => {\n getAllTaskLibrary();\n }, [page, pageSize, debouncedVal, setSearchText]);\n\n const getAllTaskLibrary = () => {\n const params = {\n page: page + 1,\n limit: pageSize,\n search: debouncedVal,\n organisation_id: getOrganisationId()\n };\n BoxpTableAction.getList(dispatch, message, params, \"allTaskLibrary\");\n };\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n rowStyle: { height: 45 },\n };\n\n const columns = [\n {\n title: \"Title\",\n field: \"stage_name\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"24px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"24px\",\n width: \"40%\",\n },\n },\n {\n title: \"Sub-Fields\",\n field: \"sub_fields\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => {rowData?.sub_fields?.length},\n },\n {\n title: \"Action\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => {\n return (\n \n {\n setAction(\"updateStage\");\n setCurrentSelection(rowData);\n }}\n size=\"small\"\n >\n \n \n \n );\n },\n },\n ];\n return (\n <>\n \n \n Search Library Stages\n \n \n {\n TableAction.setPage(dispatch, 0);\n setSearchText(value);\n }}\n />\n \n\n
\n null,\n }}\n localization={{\n toolbar: {\n searchPlaceholder: \"Search anything\",\n },\n body: {\n emptyDataSourceMessage: \"No Tasks found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n
\n \n Select a Stage to view its details, edit and add to the Action.\n Multiple Stages can be added each time you return to this page.\n \n {action && action === \"updateStage\" && (\n setAction(null)}\n action={action}\n action_Id={action_Id}\n />\n )}\n
\n \n );\n}\n\nexport default Library;\n","import React, { useContext, useState } from \"react\";\nimport MROTextField from \"components/form_components/TextField\";\nimport { MenuItem, Typography } from \"@material-ui/core\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport MROButton from \"components/buttons\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { organisationDetails } from \"theme/main_theme\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& .MuiOutlinedInput-root\": {\n height: \"max-content\",\n }\n },\n\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n content: {\n backgroundColor: \"#fff\",\n // padding: \"3% 6%\",\n borderRadius: \"0 0 5px 5px\",\n minHeight: \"fit-content\",\n },\n // inputField: {\n // maxWidth: \"328px\",\n // },\n actionButtons: {\n textAlign: \"right\",\n marginTop: \"30px\",\n \"& button\": {\n // marginRight: \"20px\",\n },\n },\n}));\n\nexport default function CreateNewStage(props) {\n const { handleClose, action, action_Id } = props;\n const classes = useStyles();\n const message = useContext(ToastMessageContext)\n const [description, setDescription] = useState(null);\n const [title, setTitle] = useState(null);\n const [errors, setErrors] = useState({})\n const [addLib, setAddToLib] = useState(false)\n const [fieldZero, setFieldZero] = useState(null);\n const [fieldOne, setFieldOne] = useState(null);\n const [fieldTwo, setFieldTwo] = useState(null);\n const [fieldThree, setFieldThree] = useState(null);\n const [fieldFour, setFieldFour] = useState(null);\n const [fieldFive, setFieldFive] = useState(null);\n const [fieldSix, setFieldSix] = useState(null);\n const [fieldSeven, setFieldSeven] = useState(null);\n const [fieldEight, setFieldEight] = useState(null);\n const [fieldNine, setFieldNine] = useState(null);\n const [busy, setBusy] = useState(null);\n\n\n const handleCreate = (formData) => {\n setBusy(\"loading\");\n\n const type0 = formData.get(\"field_type[0]\")\n const type1 = formData.get(\"field_type[1]\")\n const type2 = formData.get(\"field_type[2]\")\n const type3 = formData.get(\"field_type[3]\")\n const type4 = formData.get(\"field_type[4]\")\n const type5 = formData.get(\"field_type[5]\")\n const type6 = formData.get(\"field_type[6]\")\n const type7 = formData.get(\"field_type[7]\")\n const type8 = formData.get(\"field_type[8]\")\n const type9 = formData.get(\"field_type[9]\")\n\n\n\n\n\n\n formData.delete(\"field_name[0]\")\n formData.set(\"field_name[0]\", fieldZero || \"\")\n formData.delete(\"field_name[1]\")\n formData.set(\"field_name[1]\", fieldOne || \"\")\n formData.delete(\"field_name[2]\")\n formData.set(\"field_name[2]\", fieldTwo || \"\")\n formData.delete(\"field_name[3]\")\n formData.set(\"field_name[3]\", fieldThree || \"\")\n formData.delete(\"field_name[4]\")\n formData.set(\"field_name[4]\", fieldFour || \"\")\n formData.delete(\"field_name[5]\")\n formData.set(\"field_name[5]\", fieldFive || \"\")\n formData.delete(\"field_name[6]\")\n formData.set(\"field_name[6]\", fieldSix || \"\")\n formData.delete(\"field_name[7]\")\n formData.set(\"field_name[7]\", fieldSeven || \"\")\n formData.delete(\"field_name[8]\")\n formData.set(\"field_name[8]\", fieldEight || \"\")\n formData.delete(\"field_name[9]\")\n formData.set(\"field_name[9]\", fieldNine || \"\")\n\n\n formData.delete(\"field_type[0]\")\n formData.set(\"field_type[0]\", type0 || \"\")\n formData.delete(\"field_type[1]\")\n formData.set(\"field_type[1]\", type1 || \"\")\n formData.delete(\"field_type[2]\")\n formData.set(\"field_type[2]\", type2 || \"\")\n formData.delete(\"field_type[3]\")\n formData.set(\"field_type[3]\", type3 || \"\")\n formData.delete(\"field_type[4]\")\n formData.set(\"field_type[4]\", type4 || \"\")\n formData.delete(\"field_type[5]\")\n formData.set(\"field_type[5]\", type5 || \"\")\n formData.delete(\"field_type[6]\")\n formData.set(\"field_type[6]\", type6 || \"\")\n formData.delete(\"field_type[7]\")\n formData.set(\"field_type[7]\", type7 || \"\")\n formData.delete(\"field_type[8]\")\n formData.set(\"field_type[8]\", type8 || \"\")\n formData.delete(\"field_type[9]\")\n formData.set(\"field_type[9]\", type9 || \"\")\n\n\n formData.append(\"organisation_id\", organisationDetails?.id);\n formData.append(\"add_to_library\", addLib);\n formData.append(\"workshop_action_id\", action_Id);\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"raised_by\", userDetails?.id);\n\n InspectionServices.addLibrary(formData).then((res) => {\n if (res?.success) {\n setBusy(null);\n props.getActionStages();\n handleClose(res.data);\n message.showToastMessage({\n message: \"Stages added successfully\",\n variant: \"success\",\n });\n } else {\n setBusy(null);\n res.errors &&\n message.showToastMessage({\n message: res.errors.join(\",\"),\n variant: \"error\",\n });\n }\n setBusy(null);\n });\n };\n\n const validateFields = (formData) => {\n const { error, valid } = validateFormData(formData, [\n \"field_name[0]\",\n \"field_name[1]\",\n \"field_name[2]\",\n \"field_name[3]\",\n \"field_name[4]\",\n \"field_name[5]\",\n \"field_name[6]\",\n \"field_name[7]\",\n \"field_name[8]\",\n \"field_name[9]\",\n \"field_type[0]\",\n \"field_type[1]\",\n \"field_type[2]\",\n \"field_type[3]\",\n \"field_type[4]\",\n \"field_type[5]\",\n \"field_type[6]\",\n \"field_type[7]\",\n \"field_type[8]\",\n \"field_type[9]\",\n ]);\n\n console.log({ error });\n if (!valid) {\n setErrors(error);\n return;\n }\n return valid;\n };\n const handleSubmit = (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n if (!validateFields(formData)) {\n return;\n }\n\n if (action === \"Add\") {\n handleCreate(formData);\n }\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n return (\n
\n
\n
\n
\n {\" \"}\n \n \n Stage Details\n \n \n \n \n \n {\n resetErrorsHandler(e.target.name);\n setTitle(e.target.value);\n }}\n color=\"primary\"\n />\n \n \n\n \n {\n setDescription(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n />\n \n\n <>\n \n \n Stage Details\n \n \n \n \n Upto 10 Sub Fields can be used to capture text E.g. torque\n values, temp readings etc.\n \n \n \n\n\n\n {/* sub field 1 and 2 */}\n\n\n \n \n \n setFieldZero(e.target.value)}\n />\n\n \n\n \n {\n resetErrorsHandler(\"field_type[0]\");\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n\n \n setFieldOne(e.target.value)}\n />\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n \n \n \n setFieldTwo(e.target.value)}\n />\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n\n \n setFieldThree(e.target.value)}\n />\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n\n\n \n \n \n setFieldFour(e.target.value)}\n />\n\n\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n\n \n\n \n setFieldFive(e.target.value)}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n\n \n \n\n \n setFieldSix(e.target.value)}\n />\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n\n \n \n setFieldSeven(e.target.value)}\n />\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n \n \n \n \n \n setFieldEight(e.target.value)}\n />\n\n\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n\n \n\n \n \n setFieldNine(e.target.value)}\n />\n\n\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n Free Text\n Numeric\n Yes | No\n Date & Time\n Time\n \n \n\n \n \n\n \n \n \n
\n \n setAddToLib(!addLib)} />\n    Add to your library\n \n \n Cancel\n \n \n Add\n \n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Box from \"@material-ui/core/Box\";\nimport Library from \"./Library\";\nimport CreateNewStage from \"./CreateNewStage\";\nimport MROButton from \"components/buttons\";\nimport { ButtonGroup } from \"@material-ui/core\";\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n selected1: {\n background: theme.palette.secondary.main,\n color: \"white\",\n },\n label1: {\n textTransform: \"none\",\n },\n wrapper: {\n padding: \"2%\",\n background: \"white\",\n },\n}));\n\nexport default function TabsWrappedLabel(props) {\n const classes = useStyles();\n const [state, setState] = useState(\"library\");\n\n return (\n
\n
\n \n \n setState(\"createNew\")}\n style={{\n width: \"125px\",\n color: state === \"createNew\" ? \"white\" : undefined,\n }}\n >\n Create New\n \n setState(\"library\")}\n style={{\n width: \"125px\",\n color: state === \"library\" ? \"white\" : undefined,\n }}\n >\n Library\n \n \n \n\n \n {state === \"createNew\" ? (\n \n ) : (\n {}}\n handleCloseDrawer={props.handleClose}\n currentSelection={props.currentSelection}\n action_Id={props.action_Id}\n />\n )}\n \n
\n
\n );\n}\n","import React from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport TabPanel from \"./AddStageTabComponent\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n padding: \"4px\",\n textAlign: \"center\",\n },\n offgoingchecksTable: {\n \"& td, th \": {\n border: \"1px solid #dddddd\",\n textAlign: \"left\",\n padding: \"8px\",\n },\n },\n ongoingchecksTable: {\n \"& td, th \": {\n border: \"1px solid #dddddd\",\n textAlign: \"left\",\n padding: \"8px\",\n },\n },\n\n logo: {\n height: \"76px\",\n },\n filePreviewContainer: {\n maxWidth: \"130px\",\n marginRight: \"30px\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n checksAppBar: {\n backgroundColor: \"lightgray\",\n color: theme.palette.secondary.main,\n boxShadow: \"0px 3px 6px gray\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n generalDetail: {\n backgroundColor: \"white\",\n padding: \"2%\",\n color: \"#fff\",\n borderRadius: \"5px 5px 0 0\",\n },\n content: {\n backgroundColor: \"#fff\",\n padding: \"3% 6%\",\n borderRadius: \"0 0 5px 5px\",\n minHeight: \"50vh\",\n \"& h4\": {\n padding: \"5px 0\",\n },\n },\n titleTile: {\n padding: \"3px 20px\",\n fontSize: \"13px\",\n fontWeight: 500,\n marginBottom: \"20px\",\n },\n wrapper: {\n\n backgroundColor: \"#fff\",\n marginLeft: '24px'\n },\n}));\n\nfunction AddStageTab(props) {\n const classes = useStyles();\n const { handleClose, action_Id } = props;\n\n const closeHHandler = () => {\n handleClose();\n props.getActionStages();\n };\n return (\n
\n \n \n \n \n \n \n \n Add Stage\n \n \n \n
\n \n
\n
\n
\n );\n}\n\nexport default AddStageTab;\n","import React, { useState } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport MROTextField from \"components/form_components/TextField\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport MROButton from \"components/buttons\";\nimport PositiveSwitch from \"components/form_components/switch\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"4%\",\n backgroundColor: \"#F7F8FA\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n content: {\n margin: \"3%\",\n backgroundColor: \"#F7F8FA\",\n // padding: \"3% 6%\",\n borderRadius: \"0 0 5px 5px\",\n minHeight: \"fit-content\",\n },\n inputField: {\n maxWidth: \"328px\",\n },\n input1: {\n height: 200,\n padding: 20,\n },\n input2: {\n height: 200,\n fontSize: \"3em\",\n },\n}));\n\nfunction CalendarActionDetails(props) {\n const classes = useStyles();\n const { handleClose, action } = props;\n const [files, setFiles] = useState([]);\n\n return (\n
\n \n \n \n \n \n \n \n {action === \"EditCalendarInfo\"\n ? \"Edit Calendar Action\"\n : \"Add Calendar Action\"}\n \n \n \n\n \n \n
\n \n \n Action Details\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n \n Operator / CAMO Part M technical records applicable each time?\n \n   \n \n setShow(!show)}\n />\n \n
\n\n \n
\n
\n\n \n
\n
\n {\" \"}\n \n \n Stage Details\n \n \n \n \n \n \n \n \n\n <>\n \n \n Stage Details\n \n \n \n \n Upto 10 Sub Fields can be used to capture text E.g.\n torque values, temp readings etc.\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n
\n
\n
\n\n
\n Cancel\n \n {action === \"EditCalendarInfo\"\n ? \"Update\"\n : \"Add\"}\n \n
\n
\n
\n );\n}\n\nexport default CalendarActionDetails;\n","import React, { useState, useEffect } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Box, useTheme } from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport CalendarActionDetails from \"./CalenderActionDetails\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n description: {\n borderRadius: \"5px\",\n height: \"250px\",\n fontSize: \"15px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(1),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n paper1: {\n borderRadius: \"5px\",\n width: \"100%\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(1),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n EditIcon: {\n bgcolor: \"primary\",\n color: \"#fff\",\n },\n editButton: {\n marginLeft: \"300px\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n}));\n\nfunction CalendarActionInfo(props) {\n const classes = useStyles();\n const theme = useTheme();\n const { handleClose } = props;\n const [action, setAction] = useState(null);\n\n const handleCloseEdit = () => {\n if (action === \"EditStage\") {\n setAction(null);\n }\n };\n\n const GetInfoCard = (props) => {\n const classes = useStyles();\n const theme = useTheme();\n\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n };\n\n return (\n
\n \n \n \n \n \n \n \n \n Calendar Action Information\n \n \n \n setAction(\"EditCalendarInfo\")}\n />\n \n \n \n\n
\n \n \n Action Details\n \n \n\n \n \n
\n \n \n \n \n
\n
\n \n
\n \n \n \n \n
\n
\n \n
\n \n \n \n \n
\n
\n \n\n \n \n Detailed Description\n \n \n \n \n Detailed stage description will appear here. Detailed stage\n descriptions can have up to 2000 characters. This higher character\n allowance than normal allows very detailed descriptions to be\n provide to engineers completing the stage. This box size is sized\n for 2000 characters to guide how large descriptions can be.\n \n \n\n \n \n Sub-Fields\n \n \n \n \n
\n \n \n \n \n \n
\n
\n \n
\n \n \n \n \n \n
\n
\n \n\n \n \n Technical Data\n \n \n \n\n \n \n Closure\n \n \n \n \n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n
\n\n {action === \"EditCalendarInfo\" && setAction(null)} />}\n
\n );\n}\n\nexport default CalendarActionInfo;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { styled } from \"@material-ui/styles\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport {\n Box,\n Dialog,\n DialogContent,\n DialogTitle,\n IconButton,\n} from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport certificateIcon from \"assets/certificate@2x.png\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport MROButton from \"components/buttons\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\n\nconst useStyles = makeStyles((theme) => ({\n dialogPaper: {\n minHeight: \"30vh\",\n maxHeight: \"150vh\",\n },\n actionButtons: {\n paddingTop: \"5px\",\n paddingBottom: \"20px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n}));\n\nfunction Certificate(props) {\n const { open, handleCloseDailog, selectedId, action_type, styleProp, status } = props;\n const classes = useStyles();\n const [boolState, setBoolState] = useState(false);\n const message = useContext(ToastMessageContext);\n const [busy, setBusy] = useState(null);\n const [actionCertificate, setActionCertificate] = useState([]);\n const [certificate, setCertificate] = useState([]);\n const [deletedStatus, setDeletedStatus] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n\n useEffect(() => {\n getActionCertificate();\n }, []);\n\n const getActionCertificate = async () => {\n setBusy(\"certificate_loading\");\n setIsLoading(true);\n await InspectionServices.getActionCertificate(selectedId)\n .then((res) => {\n setBusy(null);\n if (res) {\n setActionCertificate(res?.data);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setIsLoading(false);\n setBusy(null);\n });\n };\n\n useEffect(() => {\n if (certificate.length) {\n setDeletedStatus(false);\n }\n }, [certificate]);\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n formData.append(\"action_id\", selectedId);\n formData.append(\"action_type\", action_type);\n formData.delete(\"action_certificate[]\");\n certificate.forEach((certificateFile) =>\n formData.append(\"action_certificate[]\", certificateFile)\n );\n setBusy(\"loading\");\n if (deletedStatus !== true) {\n await InspectionServices.addCertificate(formData)\n .then(() => {\n setBusy(null);\n handleCloseDailog();\n message.showToastMessage({\n message: \"Added successfully!\",\n variant: \"success\",\n });\n setDeletedStatus(false);\n })\n .catch(() => {\n setBusy(null);\n handleCloseDailog();\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n }\n setBusy(null);\n handleCloseDailog();\n };\n\n const deleteFileHandler = async (id) => {\n setBusy(\"file-deleting\");\n try {\n const response = await MaintenanceServices.deleteFile(id);\n\n if (response.success) {\n message.showToastMessage({\n message: \"File deleted successfully\",\n variant: \"success\",\n });\n setDeletedStatus(true);\n getActionCertificate();\n }\n setBusy(null);\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"file-deleting-error\");\n }\n };\n\n return (\n
\n \n \n \n \n \n Action Certificates   \n {!boolState && status != \"Closed\" && props.permission.write && (\n \n setBoolState(true)}\n />\n \n )}\n \n \n \n \n {\" \"}\n \"Icon\"{\" \"}\n \n \n \n \n Upload ALL task relevant certification documents - E.g., Form1’s,\n 8130’s, C of C’s etc.\n \n \n
\n \n \n ({\n filename: item?.file_name,\n url: `${item?.path}`,\n id: item?.id,\n }))\n : \"\"\n }\n setFiles={(files) => {\n setCertificate(files);\n }}\n onDelete={boolState === false ? null : deleteFileHandler}\n showBorderOnNoFiles={true}\n name=\"action_certificate[]\"\n multiple={true}\n APIUrl={\"\"}\n action={\"Upload Document\"}\n isLoading={isLoading}\n isDeleting={busy === \"file-deleting\"}\n uploadButtonView={boolState === false}\n accept={\"single\"}\n />\n \n \n {boolState === true && (\n
\n \n Cancel\n \n \n Complete\n \n
\n )}\n
\n \n
\n );\n}\n\nexport default Certificate;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport Typography from \"@material-ui/core/Typography\";\nimport {\n Box,\n CircularProgress,\n Dialog,\n DialogContent,\n DialogTitle,\n Grid,\n} from \"@material-ui/core\";\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from \"components/buttons\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& .MuiOutlinedInput-root\": {\n height: \"150px\",\n },\n },\n actionButtons: {\n textAlign: \"right\",\n marginTop: \"30px\",\n \"& button\": {},\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n },\n partKey: {\n fontSize: \"16px\",\n padding: \"5px\",\n },\n partValue: {\n fontSize: \"16px\",\n color: \"#4D4F5C\",\n padding: \"5px\",\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n maxWidth: \"663px\",\n },\n },\n}));\n\nfunction ManageComment(props) {\n const classes = useStyles();\n const {\n handleClose,\n action,\n selectedId,\n currentSelection,\n getAllActionComments,\n } = props;\n const message = useContext(ToastMessageContext);\n const [errors, setErrors] = useState({});\n const [busy, setBusy] = useState(null);\n const [actionComments, setActionComment] = useState([]);\n const [isLoading, setIsLoading] = useState(false);\n\n useEffect(() => {\n if (action === \"Update\") {\n getActionComments();\n }\n }, []);\n\n const getActionComments = async () => {\n setIsLoading(true);\n setBusy(\"get_comment\");\n await InspectionServices.getActionComments(currentSelection?.id)\n .then((res) => {\n if (res) {\n setBusy(null);\n setActionComment(res.data);\n }\n })\n .catch(() => {\n setBusy(null);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setBusy(null);\n setIsLoading(false);\n });\n };\n\n const handleCreate = async (formData) => {\n setBusy(\"add\");\n formData.append(\"action_id\", selectedId);\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"raised_by\", userDetails?.id);\n await InspectionServices.addComments(formData)\n .then(() => {\n setBusy(null);\n handleClose();\n getAllActionComments();\n message.showToastMessage({\n message: \"Created successfully!\",\n variant: \"success\",\n });\n })\n .catch(() => {\n setBusy(null);\n handleClose();\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n };\n\n const handleUpdateData = async (formData) => {\n setBusy(\"edit\");\n formData.append(\"action_id\", selectedId);\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"raised_by\", userDetails?.id);\n await InspectionServices.editcomments(formData, currentSelection?.id)\n .then(() => {\n setBusy(null);\n handleClose();\n getAllActionComments();\n message.showToastMessage({\n message: \"Edited successfully!\",\n variant: \"success\",\n });\n })\n .catch(() => {\n setBusy(null);\n handleClose();\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n };\n\n const validateFields = (formData) => {\n const { error, valid } = validateFormData(formData, []);\n\n if (!valid) {\n setBusy(null);\n setErrors(error);\n return;\n }\n return valid;\n };\n\n const handleSubmit = (e) => {\n setBusy(action === \"Add\" ? \"add\" : \"edit\");\n e.preventDefault();\n const formData = new FormData(e.target);\n if (!validateFields(formData)) {\n return;\n }\n\n if (action === \"Add\") {\n handleCreate(formData);\n }\n if (action === \"Update\") {\n handleUpdateData(formData);\n }\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n if (isLoading) {\n return (\n \n \n \n );\n }\n\n return (\n
\n \n \n \n Comment\n \n \n \n
\n
\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n />\n \n \n
\n \n Cancel\n \n \n {action === \"Add\" ? \"Save\" : action}\n \n
\n \n
\n
\n \n
\n );\n}\n\nexport default ManageComment;\n","import React, { useContext, useState } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Grid,\n Typography,\n} from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport BoxpDataService from \"lib/services/api/boxp_index\";\n\nconst useStyles = makeStyles(() => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"25%\",\n },\n },\n title: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n warning: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: \"16px\",\n marginBottom: \"20px\",\n },\n actionButtons: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n}));\n\nfunction DeleteData(props) {\n const classes = useStyles();\n const { handleClose, open , currentSelection, getAllActionComments} = props;\n const message = useContext(ToastMessageContext);\n const [busy, setBusy] = useState(null);\n\n\n const handleSubmit = () => {\n setBusy(\"loading\")\n BoxpDataService.boxpDeleteData(currentSelection?.id, 'deleteComment', currentSelection).then((res) => {\n if (res.success) {\n setBusy(null);\n getAllActionComments();\n handleClose(currentSelection);\n message.showToastMessage({ message: \"Comment removed successfully\", variant: \"success\" });\n }else{\n setBusy(null);\n handleClose(currentSelection);\n message.showToastMessage({ message: \"Something went wrong!!\", variant: \"error\" });\n }\n })\n}\n return (\n
\n \n \n \n Delete Item\n \n \n \n \n This cannot be undone. Are you sure?\n \n \n \n \n Cancel\n \n \n \n \n Yes\n \n \n \n \n \n
\n );\n}\n\nexport default DeleteData;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { AppBar, Box, IconButton, Toolbar } from \"@material-ui/core\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport AddBoxIcon from \"@material-ui/icons/AddBox\";\nimport ManageComment from \"./ManageComment\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport moment from \"moment\";\nimport DeleteData from \"./DeleteComments\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nconst useStyles = makeStyles((theme) => ({\n tableWrapper: {\n margin: \"3%\",\n width: \"90%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n flex: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-end\",\n marginRight: \"98px\",\n },\n}));\n\nfunction Comment(props) {\n const classes = useStyles();\n const { handleClose, selectedId, styleProp, status } = props;\n const message = useContext(ToastMessageContext);\n // const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const [action, setAction] = useState(null);\n const [loading, setLoading] = useState(false);\n const [page, setPage] = useState(0);\n const [totalCount, setTotalCount] = useState(5);\n const [pageSize, setPageSize] = useState(5);\n const [actionComments, setAllActionComments] = useState([]);\n const [currentSelection, setCurrentSelection] = useState({});\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n\n useEffect(() => {\n getAllActionComments();\n }, [page, pageSize]);\n\n const getAllActionComments = async () => {\n setLoading(true);\n const params = {\n action_id: selectedId,\n page: page + 1,\n limit: pageSize,\n };\n await MaintenanceServices.getAllActionComments(params)\n .then((res) => {\n if (res) {\n setAllActionComments(res.data);\n setTotalCount(res.total_count);\n }\n setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setLoading(false);\n });\n };\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: true,\n rowStyle: { height: 42 },\n };\n\n const columns = [\n {\n title: \"Comment\",\n // field: \"comment\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"30px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"30px\",\n width: \"70%\",\n },\n render: (rowData) => (\n <>\n \n {rowData?.comments}\n \n \n ),\n },\n {\n title: \"User\",\n // field: \"user_id\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n width: \"10%\",\n },\n render: (rowData) => {rowData?.raised_by_userstamp},\n },\n {\n title: \"Date/Time\",\n field: \"created_at\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n width: \"20%\",\n },\n render: (rowData) =>\n moment(rowData?.raised_date_time, \"DD/MM/YYYY HH:mm:ss\").format(\n \"DD/MM/YYYY HH:mm\"\n ),\n },\n {\n title: \"Action\",\n render: (rowData) => {\n return (\n
\n {userDetails?.stamp_number === rowData?.raised_by_userstamp ? (\n \n
\n {status != \"Closed\" && props?.permission.write &&\n {\n setAction(\"Update\");\n setCurrentSelection(rowData);\n }}\n fontSize=\"small\"\n >\n \n }\n
\n
\n {status != \"Closed\" && props?.permission.write &&\n {\n setAction(\"delete\");\n setCurrentSelection(rowData);\n }}\n fontSize=\"small\"\n >\n \n }\n
\n \n ) : (\n \"\"\n )}\n
\n );\n },\n },\n ];\n\n return (\n
\n \n \n \n \n \n \n \n Action Comments\n \n \n \n\n
\n \n Comments\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n actions={ props?.permission.write && status != \"Closed\" ? [\n {\n icon: () => (\n
\n \n
\n ),\n tooltip: \"Add\",\n isFreeAction: true,\n onClick: (event) => setAction(\"Add\"),\n },\n ]:\"\"}\n />\n
\n
\n {action && action !== \"delete\" && (\n setAction(null)}\n currentSelection={currentSelection}\n getAllActionComments={getAllActionComments}\n />\n )}\n {action === \"delete\" && (\n setAction(null)}\n open={true}\n section={\"deleteComment\"}\n currentSelection={currentSelection}\n getAllActionComments={getAllActionComments}\n />\n )}\n
\n );\n}\n\nexport default Comment;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport MROTextField from \"components/form_components/TextField\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport MROButton from \"components/buttons\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport YesNoField from \"components/form_components/YesNoField\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\nimport NumericIncrement from \"views/Operations/LineMaintenance/WorkOrder/FieldComponents/numeric_increment\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport { Autocomplete } from \"@material-ui/lab\";\n\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"2%\",\n overflowX: \"hidden !important\"\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrap: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n}));\nfunction CreateActions(props) {\n const classes = useStyles();\n const { handleClose, workshop_id, action_type, getAllActions, copyTab, projectParts, currentWorkshopDetails } = props;\n const message = useContext(ToastMessageContext);\n const [dropDownData, setDropdownData] = useState([]);\n const [errors, setErrors] = useState({});\n const [ataChapter, setAtaChapter] = useState(null);\n const [mechAuth, setMechAuth] = useState(null);\n const [inspAuth, setInspAuth] = useState(null);\n const [actionCategory, setActionCategory] = useState(null);\n const [busy, setBusy] = useState(null);\n const [maintFile, setMaintFile] = useState([]);\n const [state, setState] = useState({ man_hours: '' });\n const [criticalConsideration, setCriticalConsideration] = useState(null);\n const [IndependentInsp, setIndependentInsp] = useState(null);\n const [project, setProject] = useState(null)\n useEffect(() => {\n getDropdownData();\n }, []);\n\n const getDropdownData = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await InspectionServices.getAllDropDown(params)\n .then((res) => {\n if (res) {\n setDropdownData(res.data);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const { error, valid } = validateFormData(formData, [\"maintenance_file[]\"]);\n\n if (!valid) {\n // setLoading(null);\n setErrors(error);\n return;\n }\n\n const qty = +formData.get(\"estimate_man_hours\");\n if (qty === 0) {\n // console.log(\"qty===\", qty)\n setErrors((prevState) => ({\n ...prevState,\n estimate_man_hours_null: \"QTY must not be less than zero\",\n }))\n\n return;\n\n }\n formData.append(\"workshop_order_id\", workshop_id);\n formData.append(\"action_type\", action_type);\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"raised_by\", userDetails?.id);\n if (copyTab === \"template\") {\n formData.append(\"commercial_type\", 0)\n }\n formData.delete(\"project_part_id\")\n if (currentWorkshopDetails?.project_part && project?.part_number !== \"N/A\") {\n\n formData.append(\"project_part_id\", project?.id)\n\n }\n // formData.append(\"status\", \"Open\");\n formData.delete(\"maintenance_file[]\");\n maintFile.forEach((file) => (formData.append(\"maintenance_file[]\", file)))\n setBusy(\"loading\");\n await InspectionServices.createAction(formData)\n .then((res) => {\n if (res) {\n handleClose();\n getAllActions();\n setBusy(null);\n message.showToastMessage({\n message: \"Created successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n setBusy(null);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleCriticalConsideration = (value) => {\n if (value) {\n setCriticalConsideration(value);\n }\n };\n const handleIndependentInsp = (value) => {\n if (value) {\n setIndependentInsp(value);\n }\n };\n\n const handleChange = ({ target: { name, value } }) => {\n // setState({\n // ...state,\n // [name]: value\n // })\n }\n\n return (\n
\n\n\n
\n
\n \n \n Action Details\n \n \n\n \n\n\n\n \n {\n resetErrorsHandler(e.target.name);\n setActionCategory(e.target.value);\n }}\n >\n {dropDownData?.action_category?.map((option) => (\n \n {option?.name}\n \n ))}\n\n \n \n {currentWorkshopDetails?.project_part && \n\n\n option.id === value.id}\n filterSelectedOptions={true}\n onChange={(e, value) => {\n\n setProject(value)\n setErrors({ ...errors, project_part_id: false })\n }}\n id=\"tags-user\"\n options={projectParts || []}\n getOptionLabel={(option) => option.part_number === \"N/A\" ? option.part_number : `${option.part_number} - ${option.serial}` || \"\"}\n\n renderInput={(params) => (\n \n )}\n />\n\n\n }\n\n\n\n\n \n\n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n \n \n\n \n {\n resetErrorsHandler(e.target.name);\n setMechAuth(e.target.value);\n }}\n >\n {dropDownData?.mech_insp_auth?.map((option) => (\n \n {option?.type_name}\n \n ))}\n \n \n \n {\n resetErrorsHandler(e.target.name);\n setInspAuth(e.target.value);\n }}\n >\n {dropDownData?.mech_insp_auth?.map((option) => (\n \n {option?.type_name}\n \n ))}\n \n \n \n \n\n \n {\n resetErrorsHandler(e.target.name);\n setAtaChapter(e.target.value);\n }}\n >\n {dropDownData?.ata_chapters?.map((option) => (\n \n {option.chapter_number}\n \n ))}\n \n \n \n QTY Required Must Be Greater Than 0 : (errors[\"estimate_man_hours\"] && state.man_hours === \"\") ? *Please Enter Estimated Man Hrs : ''\n }\n InputLabelProps={{ shrink: true }}\n setError={() =>\n setErrors((prevState) => ({\n ...prevState,\n estimate_man_hours: false,\n }))\n }\n />\n \n \n \n resetErrorsHandler(\"critical_considerations\")}\n />\n \n \n resetErrorsHandler(\"independent_insp_required\")}\n />\n \n \n Upload PDF versions of relevant maintenance data you want to be\n visible in the APP\n \n\n {\n setMaintFile(files);\n }}\n width={\"50%\"}\n showBorderOnNoFiles={true}\n name=\"maintenance_file[]\"\n multiple={true}\n APIUrl={\"\"}\n action={\"Upload Document\"}\n accept={\"multiple\"}\n />\n
\n
\n \n Cancel\n \n \n Add\n \n
\n
\n
\n );\n}\n\nexport default CreateActions","\nimport React, { useEffect, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport { DialogContent, IconButton, Typography, Grid, makeStyles } from \"@material-ui/core\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport { BASE_API_URL_BOXR } from \"lib/constants\";\n\nconst useStyles = makeStyles((theme) => ({\n certDialog: {\n \"& .MuiDialog-paper\": {\n boxShadow: \"0px 3px 6px #00000029\",\n position: \"absolute\",\n left: \"calc(50% - 250px)\",\n width: '44%'\n },\n },\n description: {\n borderRadius: \"5px\",\n height: \"max-content\",\n fontSize: \"15px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(1),\n whiteSpace: 'break-spaces'\n },\n}));\nfunction TechFilesPopup(props) {\n const { handleClose, currentSelectedRow, open, name } = props\n const classes = useStyles();\n return (\n
\n\n \n
\n {name !== 'service' && <>\n
\n \n Detailed Description\n \n\n
\n
\n \n {currentSelectedRow?.detailed_description || ' '}\n \n
\n\n }\n
\n \n Files\n \n
\n
\n {name === 'service' ? ({\n filename: file?.filename,\n url: file?.url,\n id: file?.id,\n })) : \" \"\n }\n APIUrl={\"\"}\n showBorderOnNoFiles={true}\n uploadButtonView={true}\n multiple={true}\n name={\"maintenance_file\"}\n action={\"Upload Document\"}\n\n /> :\n ({\n filename: file?.file_name,\n url: file?.file_path,\n id: file?.id,\n })) : \" \"\n }\n APIUrl={\"\"}\n\n // setFiles={setPrePackingFiles}\n showBorderOnNoFiles={true}\n uploadButtonView={true}\n multiple={true}\n name={\"maintenance_file\"}\n action={\"Upload Document\"}\n\n\n />}\n
\n
\n\n \n
\n )\n}\n\nexport default TechFilesPopup","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n TableRow,\n TableCell,\n TableBody,\n MenuItem,\n Table,\n TableContainer,\n Divider,\n TableHead,\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"750px\",\n // height: \"110vh\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"50px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden !important\"\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n tableCell: {\n height: '32px',\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n\n },\n })\n);\n\nexport default function Stages(props) {\n const { handleClose, currentSelection } = props;\n const classes = useStyles();\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const message = useContext(ToastMessageContext);\n const [actionStages, setActionStages] = useState([]);\n const [pageSizes, setPageSizes] = useState(5);\n const [page, setPage] = useState(0);\n const [totalCount, setTotalCount] = useState(5);\n const [isGettingDetails, setIsGettingDetails] = useState(false);\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSizes,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n\n\n const column = [\n // {\n // title: \"\",\n // field: \"id\",\n // width: \"4%\",\n // render: () =>  ,\n // },\n {\n title: \"Stage\",\n field: \"stage_position\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"0px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"10px\",\n },\n },\n {\n title: \"Title\",\n field: \"stage_name\",\n width: '80%',\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n width: '80%',\n textAlign: \"left\",\n },\n },\n\n {\n title: \"SubFields\",\n headerStyle: {\n // textAlign: \"right\",\n paddingRight: '17px',\n },\n // cellStyle: {\n // paddingLeft: '80px',\n // textAlign: \"center\"\n // },\n render: (rowData) => (\n \n {!rowData?.stage_fields?.length ? \"0\" : rowData?.stage_fields?.length}\n \n ),\n },\n\n\n ];\n\n const getAllActionStages = async () => {\n setIsGettingDetails(true);\n const params = {\n workshop_action_id: currentSelection?.workshop_action_id,\n page: page + 1,\n limit: pageSizes,\n\n // search: debouncedVal,\n };\n await InspectionServices.getAllActionStages(params)\n .then((res) => {\n if (res) {\n setActionStages(res.data);\n setTotalCount(res.total_count);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setIsGettingDetails(false);\n });\n };\n\n\n useEffect(() => {\n if (currentSelection?.workshop_action_id)\n getAllActionStages();\n }, [currentSelection?.workshop_action_id, page, pageSizes]);\n return (\n
\n \n
\n \n Stages\n \n\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSizes(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n detailPanel={(rowData) =>\n !rowData?.stage_fields?.length ? (\n \n \n No sub fields found\n \n
\n ) : (\n \n \n\n \n {rowData?.stage_fields?.map((item, index) => (\n \n \n {index + 1} \n {item?.field_name} \n {/* {item?.field_name} */}\n \n\n ))}\n\n \n
\n\n\n
\n )\n }\n />\n \n
\n \n\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react'\nimport MaterialTable from 'material-table';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport { IconButton, Box } from '@material-ui/core';\nimport TechFilesPopup from '../TechFilesPopup';\nimport Stages from '../Stages';\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\n\n\nfunction Actions(props) {\n const { currentActionData, currentWorkshopDetails, setCurrentActionId, projectPartId } = props\n const [action, setAction] = useState(false)\n const [currentSelection, setCurrentSelection] = useState({})\n const [currentSelectedRow, setCurrentSelectedRow] = useState({})\n const [isTechFiles, setIsTechFiles] = useState(false)\n const [actionData, setActionData] = useState([])\n const [files, setFiles] = useState([])\n\n const { copyInspection, setCopyInspection, copiedJobs } = useContext(WorkshopContext)\n const message = useContext(ToastMessageContext)\n\n\n\n useEffect(() => {\n let data = { ...currentActionData }\n setActionData([data])\n }, [currentActionData])\n\n\n // Copy Actions \n\n const handleSubmit = async (rowData) => {\n const formData = new FormData()\n\n formData.append(\"workshop_order_id\", currentWorkshopDetails?.id)\n formData.append(\"workshop_action_id\", rowData.workshop_action_id)\n formData.append(\"action_type\", rowData.action_type)\n if (projectPartId.id !== null) {\n formData.append(\"project_part_id\", projectPartId.id)\n }\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"raised_by\", userDetails?.id);\n setFiles(rowData.maintenance_file)\n files.forEach((file) => formData.set(\"maintenance_file[]\", file))\n\n await MaintenanceServices.copyPreviousCreateAction(formData).then((response) => {\n if (response.success) {\n setCopyInspection(true)\n setCurrentActionId(response.action_id)\n copiedJobs.push(currentActionData.workshop_action_id)\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n\n }).catch((error) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n })\n }\n\n\n\n\n\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n\n const inspectionColumns = [\n {\n title: \"Action #\",\n field: \"action_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n\n }, {\n title: \"Title\",\n field: \"title\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"50%\",\n },\n }, {\n title: \"Est Man-Hrs\",\n field: \"estimate_man_hours\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"Details\",\n // field: \"maintenance_file\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n \n {\n setIsTechFiles(true)\n setAction(\"view_files\")\n setCurrentSelectedRow(rowData)\n }}\n />\n \n\n
\n\n )\n\n\n },\n {\n title: \"Stages\",\n field: \"stages\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n \n )\n },\n {\n title: \"Action\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n {\n handleSubmit(rowData)\n }}\n disabled={copyInspection === true && copiedJobs.find((item) => item === rowData.workshop_action_id)}\n >\n {copyInspection === true && copiedJobs.find((item) => item === rowData.workshop_action_id) ? item === rowData.workshop_action_id) ? \"none\" : \"\", }} /> :\n\n \n }\n\n \n
\n )\n }\n\n ]\n\n return (\n
\n\n \n \n \n {\n action === 'view_files' && (\n setAction(null)}\n currentSelectedRow={currentSelectedRow}\n open={isTechFiles}\n />\n )\n }\n {\n action === 'view_stages' && (\n setAction(null)}\n currentSelection={currentSelection}\n />\n\n )\n\n }\n
\n )\n}\n\nexport default React.memo(Actions)","import React, { useState, useReducer, useEffect, useContext } from 'react'\nimport MaterialTable from 'material-table';\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport { IconButton, Box } from '@material-ui/core';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\n\n\n\nfunction Parts(props) {\n\n const { currentActionData, currentWorkshopDetails, currentClosedDetails, currentActionId, orderType } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { totalCount, inProgress, data } = tableState;\n const [issued, setIssued] = useState(true);\n const message = useContext(ToastMessageContext)\n const { copyParts, setCopyParts, copyInspection, copiedJobs } = useContext(WorkshopContext)\n const [pageSize, setPageSize] = useState(5);\n const [page, setPage] = useState(0);\n const [totalCountT, setTotalCountT] = useState(0)\n const [tData, setTData] = useState([])\n const [loading, setLoading] = useState(false)\n\n const getList = () => {\n const params = {\n reportable_type: \"WorkshopOrder\",\n reportable_id: currentActionData.workshop_order_id,\n page: 1 + page,\n count_per_page: pageSize,\n to_issued: issued,\n workshop_action_id: currentActionData.workshop_action_id\n // ...filters\n };\n\n TableAction.getList(dispatch, message, params, \"workshopRequestPart\");\n };\n\n useEffect(() => {\n if (orderType === \"Maintenance\" || orderType === \"Production\") {\n getList();\n }\n }, [page, pageSize, issued]);\n\n\n\n\n const getTemplateListing = () => {\n setLoading(true)\n const params = {\n workshop_order_id: currentActionData?.workshop_order_id,\n workshop_action_id: currentActionData.workshop_action_id,\n page: 1 + page,\n limit: pageSize,\n\n };\n\n MaintenanceServices.getTemlatePartsListing(params).then((res) => {\n setTData(res.data)\n setTotalCountT(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n useEffect(() => {\n if (orderType === \"Maintenance Template\" || orderType === \"Production Template\") {\n getTemplateListing()\n }\n }, [page, pageSize])\n\n\n\n ///copy parts\n\n\n const handleSubmit = async (rowData) => {\n copyParts.push(rowData.id)\n const formData = new FormData()\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n if (orderType === \"Maintenance\" || orderType === \"Production\") {\n formData.append(\"workshop_action_id\", currentActionId)\n formData.append(\"issued_comment\", rowData.us_comment);\n formData.append(\"from_base_station_id\", currentWorkshopDetails?.base_station_id);\n formData.append(\"to_base_station_id\", currentWorkshopDetails?.base_station_id);\n formData.append(\"quantity\", rowData.required_quantity)\n formData.append(\"user_id\", userDetails?.id);\n formData.append(\"primary_part_id\", rowData?.prime_part_id);\n formData.append(\"reportable_type\", \"WorkshopOrder\");\n formData.append(\"reportable_id\", currentWorkshopDetails?.id);\n formData.append(\"order_number\", currentWorkshopDetails?.order_no);\n formData.append(\"line_customer_id\", currentWorkshopDetails?.line_customer_id);\n formData.append(\"part_number\", rowData.part_number)\n }\n else if (orderType === \"Maintenance Template\" || orderType === \"Production Template\") {\n formData.append(\"workshop_action_id\", currentActionId)\n formData.append(\"issued_comment\", \"\");\n formData.append(\"from_base_station_id\", currentWorkshopDetails?.base_station_id);\n formData.append(\"to_base_station_id\", currentWorkshopDetails?.base_station_id);\n formData.append(\"quantity\", rowData.quantity)\n formData.append(\"user_id\", userDetails?.id);\n formData.append(\"primary_part_id\", rowData?.primary_part_id);\n formData.append(\"reportable_type\", \"WorkshopOrder\");\n formData.append(\"reportable_id\", currentWorkshopDetails?.id);\n formData.append(\"order_number\", currentWorkshopDetails?.order_no);\n formData.append(\"line_customer_id\", currentWorkshopDetails?.line_customer_id);\n formData.append(\"part_number\", rowData.part_number)\n }\n\n await MaintenanceServices.createPartRequest(formData).then((res) => {\n if (res.success) {\n\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n else {\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n\n }\n\n }).catch((err) => {\n message.showToastMessage({ message: \"Something went wrong. Try again\", variant: \"error\" });\n })\n }\n\n\n\n\n\n\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n const tableOptions1 = {\n ...options,\n page: page,\n total: totalCountT,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n\n\n\n\n const columns = [\n\n {\n title: \"Part #\",\n field: \"part_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"70%\",\n },\n },\n {\n title: \"Quantity\",\n field: \"required_quantity\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Copy\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n {copiedJobs.find((item) => item === currentActionData.workshop_action_id) && {\n\n handleSubmit(rowData);\n\n }}\n disabled={copyParts.find((item) => item === rowData.id)}\n >\n {copyParts.find((item) => item === rowData.id) ? item === rowData.id) ? \"none\" : \"\", }} /> :\n\n \n }\n }\n
\n ),\n },\n ];\n\n\n\n const templateColumns = [\n {\n title: \"Action #\",\n field: \"action_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n },\n {\n title: \"Part #\",\n field: \"part_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"70%\",\n },\n },\n {\n title: \"Quantity\",\n field: \"quantity\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Copy\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n {copiedJobs.find((item) => item === currentActionData.workshop_action_id) && {\n\n handleSubmit(rowData);\n\n }}\n disabled={copyParts.find((item) => item === rowData.id)}\n >\n {copyParts.find((item) => item === rowData.id) ? item === rowData.id) ? \"none\" : \"\", }} /> :\n\n \n }\n }\n
\n ),\n },\n ];\n\n return (\n
\n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n\n totalCount={orderType === \"Maintenance\" || orderType === \"Production\" ? totalCount : totalCountT}\n page={page}\n />
\n )\n}\n\nexport default React.memo(Parts)","import React, { useContext, useState, useEffect } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Dialog, DialogContent, DialogTitle, Box, MenuItem } from \"@material-ui/core\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport DateField from 'components/form_components/DateField';\nimport MROTextField from \"components/form_components/TextField\";\nimport ServiceRequestListClientServices from \"lib/services/api/procurement/Services\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\n\n\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n },\n title: {\n display: \"flex\",\n justifyContent: \"left\",\n \"& h2\": {\n // color: theme.palette.primary.main,\n fontSize: \"40px\",\n fontWeight: 40,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"0 25px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"end\",\n marginRight: \"6px\",\n marginTop: '21px',\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n purchaseGrid: {\n paddingTop: \"0 !important\",\n paddingBottom: \"0 !important\",\n height: \"85px\",\n },\n purchaseStock: {\n marginBottom: \"75px\",\n maxWidth: \"340px\",\n marginTop: '10px'\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"24%\",\n },\n }\n}));\n\nfunction ServicesAdditionalPopUp(props) {\n const classes = useStyles();\n const { handleClose, currentWorkshopDetails, currentClosedDetails, selectedRow, currentActionId, orderType, currentActionData } = props\n const message = useContext(ToastMessageContext)\n const { setServiceFlag } = useContext(WorkshopContext)\n const [error, setError] = useState({});\n\n\n console.log(\"action id====\", currentActionData)\n\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formData = new FormData(e.target)\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n let valid = true;\n let errors = {\n desired_date: false\n\n };\n\n if (formData && formData.get(\"desired_date\").length === 0) {\n errors.desired_date = true;\n valid = false;\n }\n if (!valid) {\n\n setError(errors);\n return;\n }\n if (orderType === \"Maintenance\" || orderType === \"Production\") {\n formData.append(\"workshop_action_id\", currentActionId)\n formData.append(\"service_id\", selectedRow.id)\n formData.append(\"location\", selectedRow.location);\n formData.append(\"part_scope_id\", selectedRow.part_scope_id);\n formData.append(\"approval_type_id\", selectedRow?.approval_type_id);\n formData.append(\"part_category_id\", selectedRow.part_category_id)\n formData.append(\"user_id\", userDetails?.id);\n formData.append(\"workshop_order_id\", currentWorkshopDetails?.id);\n formData.append(\"description\", selectedRow?.description);\n formData.append(\"tech_data_ref\", selectedRow?.tech_data_ref);\n formData.append(\"base_station_id\", currentWorkshopDetails?.base_station_id);\n formData.append(\"from_workshop_action_id\", currentWorkshopDetails?.id);\n formData.append(\"to_workshop_action_id\", currentActionData?.workshop_order_id);\n }\n else if (orderType === \"Maintenance Template\" || orderType === \"Production Template\") {\n formData.append(\"workshop_action_id\", currentActionId)\n formData.append(\"service_id\", selectedRow.id)\n formData.append(\"location\", selectedRow.location === \"Supplier Site\" ? \"supplier_off_site\" : \"mro_on_site\");\n formData.append(\"part_scope_id\", selectedRow.part_scope_id);\n formData.append(\"approval_type_id\", selectedRow?.approval_type_id);\n formData.append(\"part_category_id\", selectedRow.part_category_id)\n formData.append(\"user_id\", userDetails?.id);\n formData.append(\"workshop_order_id\", currentWorkshopDetails?.id);\n formData.append(\"description\", selectedRow?.description);\n formData.append(\"tech_data_ref\", selectedRow?.tech_data_ref);\n formData.append(\"base_station_id\", currentWorkshopDetails?.base_station_id);\n formData.append(\"from_workshop_action_id\", currentWorkshopDetails?.id);\n formData.append(\"to_workshop_action_id\", currentActionData?.workshop_order_id);\n formData.append(\"wst_service_id\", selectedRow.id);\n }\n // selectedRow.tech_data.forEach(file => formData.append(\"tech_data\", file))\n // selectedRow.order_reports.forEach(file => formData.append(\"order_reports\", file))\n\n\n await ServiceRequestListClientServices.createServices(formData).then((response) => {\n if (response.success) {\n setServiceFlag(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch((error) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n })\n }\n\n return (\n
\n \n \n \n Additional Data Required\n \n \n \n
\n
\n\n\n \n { setError({ ...error, desired_date: false }); }}\n\n />\n \n\n
\n \n Cancel\n \n \n Complete\n \n
\n
\n
\n
\n \n
\n )\n}\n\nexport default ServicesAdditionalPopUp","import React, { useState, useReducer, useContext, useEffect } from 'react'\nimport MaterialTable from 'material-table';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport { IconButton, Box } from '@material-ui/core';\nimport TableAction from \"actions/table_actions\";\nimport tableReducer, { INITIAL_TABLE_STATE } from 'reducers/table_reducer';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport ServicesAdditionalPopUp from './ServicesAdditionalPopUp';\nimport TechFilesPopup from '../TechFilesPopup';\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport TechFilesPopupServices from \"views/Operations/Workshop/PlanningTab/CopyTemplates/Tabs/Services/TechFilesPopup\"\n\n\n\nfunction Services(props) {\n const { currentActionData, currentWorkshopDetails, currentClosedDetails, currentActionId, orderType } = props\n const [action, setAction] = useState(false)\n const [isTechFiles, setIsTechFiles] = useState(false)\n const [currentSelectedRow, setCurrentSelectedRow] = useState({})\n const [searchText, setSearchText] = useState(\"\");\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { totalCount, data, inProgress } = tableState;\n const message = useContext(ToastMessageContext);\n const [selectedRow, setSelectedRow] = useState({});\n const [pageSize, setPageSize] = useState(5);\n const [page, setPage] = useState(0);\n const [tData, setTData] = useState([])\n const [loading, setLoading] = useState(false)\n const [totalCountT, setTotalCountT] = useState(0)\n const { copyServices, serviceFlag, copyInspection, copiedJobs } = useContext(WorkshopContext)\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n\n const tableOptions1 = {\n ...options,\n page: page,\n total: totalCountT,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n\n\n const getServices = () => {\n const params = {\n count_per_page: pageSize,\n page: page + 1,\n workshop_order_id: currentActionData.workshop_order_id,\n workshop_action_id: currentActionData.workshop_action_id\n\n\n };\n TableAction.getList(dispatch, message, params, \"workshopServices\");\n }\n\n useEffect(() => {\n if (orderType === \"Maintenance\" || orderType === \"Production\") {\n getServices();\n }\n }, [page, pageSize]);\n\n const getTemplateServices = async () => {\n\n const params = {\n\n workshop_order_id: currentActionData?.workshop_order_id,\n workshop_action_id: currentActionData.workshop_action_id,\n page: 1 + page,\n limit: pageSize,\n }\n\n setLoading(true)\n await MaintenanceServices.getTemlateServiceListing(params).then((res) => {\n setTData(res.data)\n setTotalCountT(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n\n setLoading(false)\n\n })\n }\n\n useEffect(() => {\n if (orderType === \"Maintenance Template\" || orderType === \"Production Template\") {\n getTemplateServices();\n }\n }, [page, pageSize]);\n\n const columns = [\n\n {\n title: \"Scope\",\n field: \"scope\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n },\n {\n title: \"Type\",\n field: \"service_type\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n width: '45%',\n headerStyle: {\n textAlign: \"left\",\n width: '45%',\n },\n cellStyle: {\n textAlign: \"left\",\n width: '45%',\n },\n },\n {\n title: \"Location\",\n field: \"location\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n render: (rowData) => {\n if (rowData?.location === \"mro_on_site\") return \"MRO Site\"\n else if (rowData?.location === \"supplier_off_site\") {\n return \"Supplier Site\"\n }\n }\n },\n\n {\n title: \"Tech Data\",\n // field: \"tech_data\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n \n {\n setIsTechFiles(true)\n setAction(\"view_files\")\n setCurrentSelectedRow(rowData)\n }}\n />\n \n\n
\n\n )\n },\n {\n title: \"Copy\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n {copiedJobs.find((item) => item === currentActionData.workshop_action_id) && {\n setAction(\"View\");\n setSelectedRow(rowData);\n copyServices.push(rowData.id)\n }}\n disabled={serviceFlag && copyServices.find((item) => item === rowData.id)}\n >\n {serviceFlag && copyServices.find((item) => item === rowData.id) ? item === rowData.id) ? \"none\" : \"\" }} /> :\n\n \n }\n }\n
\n ),\n },\n ];\n\n const serviceColumns = [\n {\n title: \"Scope\",\n field: \"part_scope_name\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n },\n {\n title: \"Type\",\n field: \"type\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n width: '45%',\n headerStyle: {\n textAlign: \"left\",\n width: '45%',\n },\n cellStyle: {\n textAlign: \"left\",\n width: '45%',\n },\n },\n {\n title: \"Location\",\n field: \"location\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n\n },\n {\n title: \"Tech Data\",\n // field: \"tech_data\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n \n {\n setIsTechFiles(true)\n setAction(\"view_files\")\n setCurrentSelectedRow(rowData)\n }}\n />\n \n\n
\n\n )\n },\n {\n title: \"Copy\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n {copiedJobs.find((item) => item === currentActionData.workshop_action_id) && {\n setAction(\"View\");\n setSelectedRow(rowData);\n copyServices.push(rowData.id)\n }}\n disabled={serviceFlag && copyServices.find((item) => item === rowData.id)}\n >\n {serviceFlag && copyServices.find((item) => item === rowData.id) ? item === rowData.id) ? \"none\" : \"\" }} /> :\n\n \n }\n }\n
\n ),\n },\n ];\n\n return (\n
{\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n\n totalCount={orderType === \"Maintenance\" || orderType === \"Production\" ? totalCount : totalCountT}\n page={page}\n\n />\n\n {action && action === \"View\" && setAction(null)}\n currentClosedDetails={currentClosedDetails}\n currentWorkshopDetails={currentWorkshopDetails}\n selectedRow={selectedRow}\n currentActionData={currentActionData}\n currentActionId={currentActionId}\n orderType={orderType}\n />\n }\n\n {\n action === 'view_files' && (orderType === \"Maintenance\" || orderType === \"Production\") && (\n setAction(null)}\n currentSelectedRow={currentSelectedRow}\n open={isTechFiles}\n name={'service'}\n />\n )\n }\n {\n action === 'view_files' && (orderType === \"Maintenance Template\" || orderType === \"Production Template\") && (\n setAction(null)}\n currentSelectedRow={currentSelectedRow}\n open={isTechFiles}\n\n />\n )\n }\n
\n )\n}\n\nexport default React.memo(Services)","import React, { useContext, useState, useEffect } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Dialog, DialogContent, DialogTitle, Box, MenuItem } from \"@material-ui/core\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport DateField from 'components/form_components/DateField';\nimport MROTextField from \"components/form_components/TextField\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport ServiceRequestListClientServices from 'lib/services/api/procurement/Services';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport moment from 'moment';\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n\n },\n title: {\n display: \"flex\",\n justifyContent: \"left\",\n \"& h2\": {\n // color: theme.palette.primary.main,\n fontSize: \"40px\",\n fontWeight: 40,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"8px 29px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"end\",\n marginRight: \"6px\",\n marginTop: '21px',\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"24%\",\n },\n }\n}));\n\n\nexport default function EquipmentAdditionalPopUp(props) {\n const classes = useStyles();\n const { handleClose, currentClosedDetails, currentWorkshopDetails, selectedRow, currentActionData, currentActionId, orderType } = props\n // const [actionDpdOptions, setActionDpdOptions] = useState([]);\n const { setEquipmentFlag } = useContext(WorkshopContext)\n const [error, setError] = useState({});\n const message = useContext(ToastMessageContext)\n\n // const getActions = async () => {\n // try {\n // const { data } = await MaintenanceServices.getActionsDpdOptions({\n // id: currentPlanningDetails.id,\n // });\n // setActionDpdOptions(data);\n // } catch (error) {\n // console.log(error);\n // }\n // };\n\n // useEffect(() => {\n // getActions();\n // }, []);\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formData = new FormData(e.target)\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n\n let valid = true;\n let errors = {\n // workshop_action_id: false,\n desired_date: false,\n duration: false\n\n };\n // if (formData && formData.get(\"workshop_action_id\")?.length === 0) {\n // errors.workshop_action_id = true;\n // valid = false;\n // }\n if (formData && formData.get(\"desired_date\").length === 0) {\n errors.desired_date = true;\n valid = false;\n }\n if (formData && formData.get(\"duration\").length === 0) {\n errors.duration = true;\n valid = false;\n }\n\n if (!valid) {\n\n setError(errors);\n return;\n }\n formData.append(\"workshop_action_id\", currentActionId)\n formData.append(\"user_id\", userDetails.id)\n formData.append(\"base_station_id\", currentWorkshopDetails?.base_station_id)\n formData.append(\"description\", selectedRow?.description)\n // // setBusy(\"loading\")\n ServiceRequestListClientServices.workshopCreateEquipments(formData)\n .then((res) => {\n if (res.success) {\n setEquipmentFlag(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!!\",\n variant: \"error\"\n })\n }).finally(() => {\n // setBusy(null)\n })\n }\n\n\n\n\n return (\n
\n \n \n \n Additional Data Required\n \n \n \n
\n
\n\n \n { setError({ ...error, desired_date: false }); }}\n\n />\n \n \n {\n setError({ ...error, duration: false })\n }} >\n \n\n \n
\n \n Cancel\n \n \n Complete\n \n
\n
\n
\n
\n \n
\n )\n}\n","import React, { useState, useReducer, useContext, useEffect } from 'react'\nimport MaterialTable from 'material-table';\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport { IconButton, Box } from '@material-ui/core';\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport EquipmentAdditionalPopUp from './EquipmentAdditionalPopUp';\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\n\nfunction Equipments(props) {\n\n const { currentActionData, currentWorkshopDetails, currentClosedDetails, currentActionId, orderType } = props\n const [selectedRow, setSelectedRow] = useState({});\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const message = useContext(ToastMessageContext);\n const { totalCount, inProgress, data } = tableState;\n const [action, setAction] = useState(false)\n const { copyEquipments, equipmentFlag, copyInspection, copiedJobs } = useContext(WorkshopContext)\n const [pageSize, setPageSize] = useState(5);\n const [page, setPage] = useState(0);\n const [tData, setTData] = useState([])\n const [loading, setLoading] = useState(false)\n const [totalCountT, setTotalCountT] = useState(0)\n\n\n\n\n\n\n useEffect(() => {\n if (orderType === \"Maintenance\" || orderType === \"Production\") {\n getWorkshopEquipment();\n }\n }, [page, pageSize]);\n\n const getWorkshopEquipment = () => {\n const params = {\n\n page: page + 1,\n id: currentActionData.workshop_order_id,\n count_per_page: pageSize,\n workshop_action_id: currentActionData.workshop_action_id\n\n };\n TableAction.getList(dispatch, message, params, \"getWorkshopEquipment\");\n };\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n\n };\n\n\n\n const tableOptions1 = {\n ...options,\n page: page,\n total: totalCountT,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n\n };\n\n\n\n\n const getWorkshopTemplateEquipment = async () => {\n\n\n const params = {\n\n workshop_order_id: currentActionData.workshop_order_id,\n workshop_action_id: currentActionData.workshop_action_id,\n page: 1 + page,\n limit: pageSize,\n }\n setLoading(true)\n await MaintenanceServices.getTemlateEquipmentListing(params).then((res) => {\n setTData(res.data)\n setTotalCountT(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n };\n useEffect(() => {\n if (orderType === \"Maintenance Template\" || orderType === \"Production Template\") {\n getWorkshopTemplateEquipment();\n }\n }, [page, pageSize]);\n\n\n\n const columns = [\n\n\n {\n title: \"Description\",\n field: \"description\",\n width: \"90%\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\",\n width: \"90%\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"90%\",\n paddingLeft: \"20px\"\n },\n },\n\n {\n title: \"Copy\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n {copiedJobs.find((item) => item === currentActionData.workshop_action_id) && < IconButton\n onClick={() => {\n setAction(\"View\");\n setSelectedRow(rowData);\n copyEquipments.push(rowData.id)\n }}\n disabled={equipmentFlag && copyEquipments.find((item) => item === rowData.id)}\n >\n\n {equipmentFlag &&\n copyEquipments.find((item) => item === rowData.id) ? item === rowData.id) ? \"none\" : \"\" }} /> :\n\n \n }\n }\n
\n ),\n },\n ];\n return (\n
{\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n\n totalCount={orderType === \"Maintenance\" || orderType === \"Production\" ? totalCount : totalCountT}\n page={page}\n />\n\n\n {action && action === \"View\" && setAction(null)} currentClosedDetails={currentClosedDetails} currentWorkshopDetails={currentWorkshopDetails} selectedRow={selectedRow} currentActionData={currentActionData} currentActionId={currentActionId} orderType={orderType} />}\n\n\n
\n )\n}\n\nexport default React.memo(Equipments)","import { AppBar, Toolbar, makeStyles, IconButton, Typography, Grid, Box } from '@material-ui/core'\nimport MROFullScreenRightDrawer from 'components/fullwidth_dialog'\nimport React, { useReducer, useState } from 'react'\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Alert from '@material-ui/lab/Alert';\nimport AlertIcon from '@material-ui/icons/ReportProblem';\nimport Actions from './CopyTables/Actions';\nimport Parts from './CopyTables/Parts';\nimport Services from './CopyTables/Services';\nimport Equipments from './CopyTables/Equipments';\n\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrapper: {\n margin: \"3%\",\n // overflow: \"hidden !important\"\n },\n\n}));\n\nfunction CopyActions(props) {\n const classes = useStyles()\n const { handleClose, currentSelection, currentWorkshopDetails, currentClosedDetails, orderType, projectPartId } = props\n const [currentActionId, setCurrentActionId] = useState('')\n // console.log(\"orderType=====\", orderType, currentClosedDetails)\n return (\n
\n \n \n \n \n \n \n \n Actions\n \n \n \n\n
\n\n\n \n } >\n Be sure to copy Actions in the correct order you want them on the job. First copy the Action, then the Parts, Services and Equipment as applicable. Do not leave this page until you have completed ALL copying!\n \n \n\n
\n {/* Actionns Table */}\n \n Action\n \n \n
\n {/* Parts */}\n \n Parts\n \n \n
\n {/* Service */}\n \n Services\n \n \n
\n {/* equipment */}\n \n Equipment\n \n \n
\n\n
\n\n
\n )\n}\n\nexport default React.memo(CopyActions)","import { AppBar, Toolbar, makeStyles, IconButton, Typography, Grid } from '@material-ui/core'\nimport MROFullScreenRightDrawer from 'components/fullwidth_dialog'\nimport React, { useReducer, useState, useEffect, useContext } from 'react'\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport MaterialTable from 'material-table';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport TableAction from 'actions/table_actions';\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward';\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport TechFilesPopup from './TechFilesPopup';\nimport Stages from './Stages';\nimport CopyActions from './CopyActions';\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport { Clear } from \"@material-ui/icons\";\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrapper: {\n margin: \"3%\",\n overflowX: \"hidden !important\"\n },\n\n}));\nfunction HistoricalJobs(props) {\n\n const classes = useStyles()\n const { handleClose, selectedRow, currentWorkshopDetails, tabname } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, inProgress, data } = tableState;\n const [action, setAction] = useState('')\n const [currentSelectedRow, setCurrentSelectedRow] = useState({})\n const [isTechFiles, setIsTechFiles] = useState(false)\n const [currentSelection, setCurrentSelection] = useState({})\n const [actionData, setActionData] = useState([])\n const [actionDetails, setActionDetails] = useState(false)\n const message = useContext(ToastMessageContext)\n const { setCopyInspection, setCopyParts, setCopyServices, setServiceFlag, setEquipmentFlag, setCopyEquipments, copyInspection, copiedJobs, setCopiedJobs } = useContext(WorkshopContext)\n\n\n\n const handleCopyClose = () => {\n handleClose()\n setCopyInspection(false)\n setServiceFlag(false)\n setCopyParts([])\n setCopyServices([])\n setEquipmentFlag(false)\n setCopyEquipments([])\n setCopiedJobs([])\n }\n // console.log(\"tabname=======\", tabname)\n const getActionList = async () => {\n setActionDetails(true)\n const params = {\n workshop_order_id: selectedRow.id,\n page: page + 1,\n limit: pageSize,\n action_type: tabname\n }\n await MaintenanceServices.copyPreviousGetActionList(params).then((response) => {\n\n setActionData(response.data)\n\n TableAction.setTotalCount(dispatch, response.total_count);\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n })\n }).finally(() => {\n setActionDetails(false)\n })\n }\n\n useEffect(() => {\n getActionList()\n }, [selectedRow.id, page, pageSize, totalCount])\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n // rowStyle: { height: 42 },\n };\n const column = [\n\n {\n title: \"Action #\",\n field: \"action_number\",\n headerStyle: {\n\n textAlign: 'left', paddingLeft: '5px'\n },\n cellStyle: {\n\n textAlign: 'left', paddingLeft: '5px'\n }\n },\n {\n title: 'Title',\n field: 'title',\n width: '60%',\n headerStyle: {\n width: '60%',\n textAlign: 'left'\n },\n cellStyle: {\n width: '60%',\n textAlign: 'left'\n }\n },\n {\n title: \"Detail\",\n field: \"maintenance_file\",\n render: (rowData) => (\n
\n \n {\n setIsTechFiles(true)\n setAction(\"view_files\")\n setCurrentSelectedRow(rowData)\n }}\n />\n \n\n
\n\n )\n\n },\n {\n title: \"Stages\",\n field: \"stage_count\",\n render: (rowData) => (\n \n )\n },\n {\n title: 'Parts',\n field: 'part_count',\n\n },\n {\n title: 'Service',\n field: 'service_count',\n\n },\n {\n title: 'Equipment',\n field: 'equipment_count',\n\n },\n\n {\n title: 'Copy',\n field: 'view',\n render: (rowData) => <>\n {copiedJobs.find((item) => item === rowData.workshop_action_id) ? \n item === rowData.workshop_action_id) ? \"none\" : \"\", }} />\n :\n {\n setAction('copy')\n setCurrentSelection(rowData)\n }}>\n \n }\n\n \n }\n\n ]\n\n return (\n
\n \n \n \n \n \n \n \n Historical Jobs\n \n \n \n
\n \n\n Job Actions\n\n\n \n
\n \n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n\n \n
\n
\n {\n action === 'view_files' && (\n setAction(null)}\n currentSelectedRow={currentSelectedRow}\n open={isTechFiles}\n />\n )\n }\n {\n action === 'view_stages' && (\n setAction(null)}\n currentSelection={currentSelection}\n />\n\n )\n\n }\n {action === 'copy' && (\n setAction(null)}\n currentSelection={currentSelection}\n currentWorkshopDetails={currentWorkshopDetails}\n currentClosedDetails={selectedRow}\n />\n\n )\n }\n
\n )\n}\n\nexport default HistoricalJobs","import { Grid, InputBase, Typography, InputAdornment, IconButton, makeStyles, TextField, FormControlLabel, useTheme, MenuItem, FormControl, Select } from '@material-ui/core'\nimport React, { useState, useReducer, useEffect, useContext } from 'react'\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport MROTextField from 'components/form_components/TextField';\nimport PartIcon from 'assets/PartIcon.png'\nimport DescriptionIcon from 'assets/Description.png'\nimport PositiveSwitch from 'components/form_components/switch';\nimport MaterialTable from 'material-table';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport TableAction from 'actions/table_actions';\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward';\nimport HistoricalJobs from './HistoricalJobs';\nimport useDebounce from 'lib/utils/debounce';\nimport BoxpTableAction from \"actions/boxp_table_actions\";\nimport { formatToDateOnly, getOrganisationId } from \"lib/utils/common_utils\";\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport TechFilesPopup from './TechFilesPopup';\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport Stages from './Stages';\nimport CopyActions from './CopyActions';\nimport { Autocomplete } from '@material-ui/lab';\n\n\n\n\nconst useStyle = makeStyles((theme) => ({\n\n root: {\n margin: '2%'\n },\n wrapper: {\n backgroundColor: \"#fff\",\n padding: theme.spacing(1, 2),\n border: \"1px solid #d5d5d5\",\n margin: \"1% 0\",\n },\n divider: {\n margin: '8px 0'\n },\n filters: {\n padding: \"10px 0\",\n '& .filter': {\n paddingRight: theme.spacing(3),\n }\n }\n\n}))\n\nfunction History(props) {\n const { currentWorkshopDetails, tabId, tabname, copyTab, projectParts } = props\n const [searchText, setSearchText] = useState(\"\");\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const [action, setAction] = useState('')\n const [partNumber, setPartNumber] = useState('')\n const [description, setDescription] = useState('')\n const [showOnWorkOrders, setShowOnWorkorders] = useState(false)\n const debouncedVal = useDebounce(searchText);\n const message = useContext(ToastMessageContext);\n const [selectedRow, setSelectedRow] = useState('')\n const [actionData, setActionData] = useState([])\n const [actionDetails, setActionDetails] = useState(false)\n const [currentSelectedRow, setCurrentSelectedRow] = useState({})\n const [isTechFiles, setIsTechFiles] = useState(false)\n const [currentSelection, setCurrentSelection] = useState({})\n const { copiedJobs } = useContext(WorkshopContext)\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(10)\n const [loading, setLoading] = useState(false)\n const theme = useTheme()\n const classes = useStyle()\n const [filters, setFilters] = useState({ order_type: tabId === 20 || tabId === 24 ? copyTab === \"normal\" ? \"Maintenance\" : \"Maintenance Template\" : tabId === 21 || tabId === 25 ? copyTab === \"normal\" ? \"Production\" : \"Production Template\" : '', action_type: tabname === \"Inspection\" ? \"Inspection\" : tabname === \"Maintenance\" ? \"Maintenance\" : tabname === \"Production\" ? \"Production\" : undefined });\n const [project, setProject] = useState(null)\n const [errors, setErrors] = useState({})\n useEffect(() => {\n if (currentWorkshopDetails) {\n setPartNumber(currentWorkshopDetails?.part_number)\n setDescription(currentWorkshopDetails?.description)\n }\n\n }, [currentWorkshopDetails])\n\n console.log(currentWorkshopDetails)\n //Handle part copy\n const handlePartCopy = () => {\n setPage(0);\n setSearchText(partNumber)\n\n }\n const handleDescriptionCopy = () => {\n setPage(0);\n setSearchText(description)\n\n }\n const handleSearch = (value) => {\n\n setPage(0);\n\n setSearchText(value)\n\n\n }\n const clearSearch = () => {\n handleSearch('')\n }\n\n\n\n\n const getActionList = async () => {\n setActionDetails(true)\n const params = {\n // workshop_order_id: currentWorkshopDetails.id,\n page: page + 1,\n limit: pageSize,\n part_desc_search: debouncedVal,\n organisation_id: getOrganisationId(),\n ...filters\n }\n await MaintenanceServices.getCopyInspectionHistory(params).then((response) => {\n\n setActionData(response.data)\n\n setTotalCount(response.total_count);\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n })\n }).finally(() => {\n setActionDetails(false)\n })\n }\n\n useEffect(() => {\n\n getActionList()\n\n\n }, [currentWorkshopDetails, page, pageSize, totalCount, debouncedVal, filters,])\n\n // useEffect(() => {\n\n // getMaintenanceOrderList();\n\n // }, [page, pageSize, debouncedVal, showOnWorkOrders]);\n\n // const getMaintenanceOrderList = () => {\n // const params = {\n // page: page + 1,\n // limit: pageSize,\n // order_type: tabId === 21 || tabId === 25\n // ? \"Production\"\n // : tabId === 23\n // ? \"Storage\"\n // : \"Maintenance\",\n // organisation_id: getOrganisationId(),\n // part_desc_search: debouncedVal,\n // show_in_work_orders: showOnWorkOrders,\n // action_type: tabname\n\n\n // };\n\n // BoxpTableAction.getList(dispatch, message, params, \"OrderList\");\n // };\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n // rowStyle: { height: 42 },\n };\n const column = [\n {\n title: 'Title',\n field: 'title',\n width: '25%',\n headerStyle: {\n\n textAlign: 'left',\n paddingLeft: '15px',\n width: '25%',\n },\n cellStyle: {\n\n textAlign: 'left',\n paddingLeft: '15px',\n width: '25%',\n }\n },\n {\n title: 'Order #',\n field: 'order_number',\n headerStyle: {\n\n textAlign: 'left'\n },\n cellStyle: {\n\n textAlign: 'left'\n }\n },\n\n {\n\n title: \"Action #\",\n field: \"action_number\",\n },\n {\n\n title: \"Part #\",\n field: \"part_number\",\n headerStyle: {\n\n textAlign: 'left',\n },\n cellStyle: {\n\n textAlign: 'left'\n }\n },\n {\n\n title: \"Description\",\n field: \"item_description\",\n headerStyle: {\n textAlign: 'left',\n },\n cellStyle: {\n textAlign: 'left'\n }\n },\n {\n title: \"Detail\",\n field: \"maintenance_file\",\n render: (rowData) => (\n
\n \n {\n setIsTechFiles(true)\n setAction(\"view_files\")\n setCurrentSelectedRow(rowData)\n }}\n />\n \n\n
\n\n )\n\n },\n {\n title: \"Stages\",\n field: \"stages\",\n render: (rowData) => (\n \n )\n },\n {\n title: 'Parts',\n field: 'parts',\n\n },\n {\n title: 'Service',\n field: 'services',\n\n },\n {\n title: 'Equipment',\n field: 'equipment',\n\n },\n\n {\n title: 'Copy',\n field: 'view',\n render: (rowData) => <>\n {copiedJobs.find((item) => item === rowData.workshop_action_id) ? \n item === rowData.workshop_action_id) ? \"none\" : \"\", }} />\n :\n {\n if ((project === null || project === undefined) && currentWorkshopDetails?.project_part) {\n setErrors((err) => ({ ...err, project_part_id: true }))\n }\n else {\n\n setAction('copy')\n setCurrentSelection(rowData)\n }\n }}>\n \n }\n\n \n }\n\n ]\n\n\n\n return (\n
\n \n\n {currentWorkshopDetails?.project_part &&\n <>\n\n \n Project Part\n \n\n\n \n\n\n option.id === value.id}\n filterSelectedOptions={true}\n onChange={(e, value) => {\n\n setProject(value)\n setErrors({ ...errors, project_part_id: false })\n }}\n id=\"tags-user\"\n options={projectParts || []}\n getOptionLabel={(option) => option.part_number === \"N/A\" ? option.part_number : `${option.part_number} - ${option.serial}` || \"\"}\n\n renderInput={(params) => (\n \n )}\n />\n\n\n }\n\n \n Historical Actions\n \n\n
\n\n handleSearch(e.target.value)}\n value={searchText}\n variant=\"standard\"\n InputLabelProps={{ shrink: true }}\n InputProps={{\n\n startAdornment: \n \n ,\n\n endAdornment: <>\n { handlePartCopy() }} style={{ cursor: 'pointer' }}>\n \n \n { handleDescriptionCopy() }} style={{ cursor: 'pointer' }}>\n \n \n \n }}\n\n />\n
\n Filters\n\n
\n \n {\n setPage(0)\n setFilters((prevState) => ({\n ...prevState,\n order_type: e.target.value,\n }))\n\n }\n }\n input={}\n >\n {tabId === 20 && Maintenance}\n {tabId === 20 && Maintenance Template}\n {tabId === 24 && Maintenance}\n {tabId === 24 && Maintenance Template}\n {tabId === 21 && Production}\n {tabId === 21 && Production Template}\n {tabId === 25 && Production}\n {tabId === 25 && Production Template}\n \n \n {/* \n {\n setPage(0)\n setFilters((prevState) => ({\n ...prevState,\n action_type: e.target.value,\n }))\n\n }\n }\n input={}\n >\n\n {tabname === \"Inspection\" && Inspection}\n {tabname === \"Maintenance\" && Maintenance}\n {tabname === \"Production\" && Production}\n \n */}\n\n\n
\n
\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n\n \n
\n {/* {action && action === 'history_jobs' &&\n setAction('')} selectedRow={selectedRow} currentWorkshopDetails={currentWorkshopDetails} tabname={tabname} />\n\n\n } */}\n\n {\n action === 'view_files' && (\n setAction(null)}\n currentSelectedRow={currentSelectedRow}\n open={isTechFiles}\n />\n )\n }\n {\n action === 'view_stages' && (\n setAction(null)}\n currentSelection={currentSelection}\n />\n\n )\n\n }\n {action === 'copy' && (\n setAction(null)}\n currentSelection={currentSelection}\n currentWorkshopDetails={currentWorkshopDetails}\n currentClosedDetails={selectedRow}\n orderType={filters?.order_type}\n projectPartId={project}\n />\n\n )\n }\n
\n )\n}\n\nexport default History","import React, { useState, useContext } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport {\n AppBar,\n IconButton,\n Toolbar,\n makeStyles,\n Typography,\n Box,\n ButtonGroup,\n} from \"@material-ui/core\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport MROButton from \"components/buttons\";\nimport CreateNewActions from \"./CreateNewActions/CreateActions\";\nimport History from \"./History\";\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport useGetProjectParts from \"../GetProjectParts\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n root: { \"& > :first-child\": { position: \"unset\" } },\n wrapper: {\n padding: \"3%\",\n background: \"white\",\n },\n}));\n\nfunction AddActions(props) {\n const { getAllActions, action_type, workshop_id, action, handleClose, currentWorkshopDetails, tabId, name, copyTab, } = props\n const classes = useStyles();\n const [state, setState] = useState(\"Create New\");\n const { setCopyInspection, setCopyParts, setCopyServices, setServiceFlag, setEquipmentFlag, setCopyEquipments, copyInspection, copiedJobs, setCopiedJobs } = useContext(WorkshopContext)\n\n\n\n const handleCopyClose = () => {\n handleClose()\n getAllActions()\n setCopyInspection(false)\n setServiceFlag(false)\n setCopyParts([])\n setCopyServices([])\n setEquipmentFlag(false)\n setCopyEquipments([])\n setCopiedJobs([])\n }\n\n\n\n const params1 = {\n organisation_id: getOrganisationId(),\n workshop_order_id: currentWorkshopDetails?.id,\n\n\n }\n\n const projectParts = useGetProjectParts(params1, currentWorkshopDetails?.project_part)\n\n\n\n\n\n // c\n return (\n \n \n \n {\n handleCopyClose()\n }}\n edge=\"start\"\n className={classes.backButton}\n color=\"inherit\"\n aria-label=\"back\"\n >\n \n \n Add Action\n \n \n
\n \n \n setState(\"Create New\")}\n style={{\n width: \"125px\",\n color: state === \"Create New\" ? \"white\" : undefined,\n }}\n\n >\n Create New\n \n setState(\"History\")}\n style={{\n width: \"125px\",\n color: state === \"History\" ? \"white\" : undefined,\n }}\n >\n History\n \n \n \n\n \n {state === \"Create New\" ? (\n 0 ? projectParts : []}\n />\n ) : (\n 0 ? projectParts : []}\n />\n )}\n \n
\n
\n )\n}\n\nexport default AddActions","import { makeStyles } from \"@material-ui/core/styles\";\nimport {\n Grid,\n Typography,\n IconButton,\n Box,\n TextField,\n FormControl,\n Select,\n InputBase,\n Menu,\n TableRow,\n TableCell,\n TableBody,\n MenuItem,\n TableContainer,\n Tooltip,\n InputAdornment,\n} from \"@material-ui/core\";\nimport React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport tableReducer from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport MaterialTable, { MTableToolbar } from \"material-table\";\nimport { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport ManageInspection from \"./ManageInspection\";\nimport ActionDetails from \"./ActionDetails\";\nimport ManageTask from \"./ManageTask/ManageTask\";\nimport AddIcon from \"@material-ui/icons/AddBox\";\nimport certificate from \"assets/certificate.png\";\nimport { Create as CreateIcon } from \"@material-ui/icons\";\nimport { useTheme } from \"@material-ui/core\";\nimport clxc from \"clsx\";\n// import { MenuItem } from \"rc-menu\";\nimport ActionInformation from \"./ActionInformation/ActionInformation\";\nimport StageInfo from \"./StageInformation/StageInfo\";\nimport AddStageTab from \"./AddStage/AddStageTab\";\nimport MROButton from \"components/buttons\";\nimport CautionPopUp from \"../CautionPopUp\";\nimport CalendarActionDetails from \"./CalenderActionDetails\";\nimport CalendarActionInfo from \"./CalendarActionInfo\";\nimport AmberGear from \"assets/AmberGear.png\";\nimport greenCheckIcon from \"assets/green check.png\";\nimport CameraIcon from \"assets/camera.png\";\nimport commentIcon from \"assets/comment.png\";\nimport infoIcon from \"assets/info.png\";\nimport GreenChecklist from \"assets/green_checklist.png\";\nimport AmberChecklist from \"assets/amber_checklist.png\";\nimport RedChecklist from \"assets/red_checklist.png\";\nimport GreenHandIcon from \"assets/green_hand.png\";\nimport AmberHandIcon from \"assets/amber_hand.png\";\nimport RedHandIcon from \"assets/red_hand.png\";\nimport Certificate from \"./ManageCertificate/Certificate\";\nimport { alpha } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport Comment from \"./ManageComments/Comment\";\nimport lock from \"assets/icons/Lock.svg\";\nimport unlock from \"assets/icons/Unlock.svg\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport { formatDateFunction, formatDateTime } from \"lib/utils/common_utils\";\nimport SpecEquipIconGrey from \"assets/maint/SpecEquip/specEquipGray.png\";\nimport SpecEquipIconAmber from \"assets/maint/SpecEquip/specEquipIconAmber.png\";\nimport SpecEquipIconRed from \"assets/maint/SpecEquip/specEquipIconRed.png\";\nimport SpecEquipIconGreen from \"assets/maint/SpecEquip/specEquipIconGreen.png\";\nimport RedCrossIcon from 'assets/Red remove icon.png'\nimport ServicesIconAmber from \"assets/maint/Services/servicesIconAmber.png\";\nimport ServicesIconGray from \"assets/maint/Services/services_icon_grey.png\";\nimport ServicesIconRed from \"assets/maint/Services/servicesIconRed.png\";\nimport ServiceIconGreen from \"assets/maint/Services/ServicesIconGreen.png/\";\n\nimport PartsIconGrey from \"assets/maint/Parts/partsIconGray.png\";\nimport PartsIconGreen from \"assets/maint/Parts/partsIconGreen.png\";\nimport PartsIconRed from \"assets/maint/Parts/partsIconRed.png\";\nimport PartsIconAmber from \"assets/maint/Parts/partsIconAmber.png\";\n\nimport Gear from 'assets/gear.svg'\nimport GearGreen from 'assets/gear-green.svg'\nimport GearRed from 'assets/gear-red.svg'\nimport AddActions from \"./CreateAction\";\n\nimport ViewHeadlineIcon from '@material-ui/icons/ViewHeadline';\nimport ReorderAction from \"./ReorderAction\";\nimport ReorderStages from \"./ReorderStages\";\nimport useDebounce from \"lib/utils/debounce\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { ClearAll, Clear } from \"@material-ui/icons\";\nimport MROTextField from \"components/form_components/TextField\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n width: \"85%\",\n margin: \"1% 3%\",\n },\n tableCell: {\n display: \"flex\",\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n stockBtn: {\n minWidth: \"70px\",\n height: \"30px\",\n borderColor: \"#4D4F5C\",\n borderRadius: \"7px\",\n maxWidth: \"78px\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n secondPaper: {\n height: \"auto\",\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n paddingBottom: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n input1: {\n height: \"20px\",\n },\n head: {\n marginTop: \"20px\",\n marginBottom: \"10px\",\n fontSize: \"17px\",\n },\n flex: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-end\",\n margin: \"5px 38px\",\n },\n viewOnlyField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n svg: {\n filter: \"invert(1)\",\n height: 18,\n marginBottom: 2,\n },\n}));\n\nfunction Item(props) {\n const { sx, ...other } = props;\n return (\n \n );\n}\n\nfunction Inspection(props) {\n const classes = useStyles();\n const theme = useTheme();\n const {\n actions,\n tabId,\n workshop_id,\n action_type_Insp,\n actionTypeMaintenance,\n action_type_prod,\n readOnly,\n readAndWrite,\n orderStateNum,\n tabStatus,\n getWorkshopOrderDetails,\n orderState,\n workshopOrder,\n actionTabId,\n copyTab,\n tabDetails\n } = props;\n\n // let inspSection = orderStateNum > 3 && orderStateNum <= 5 && tabStatus === true\n // let production = orderStateNum > 5 && orderStateNum <= 8 && tabStatus === true && action_type_prod === \"Production\"\n // let MaintSection = orderStateNum > 5 && orderStateNum <= 8 && tabStatus === true && actionTypeMaintenance === \"Maintenance\"\n const message = useContext(ToastMessageContext);\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n // const { data, page, pageSize, totalCount, inProgress } = tableState;\n const { colorStatus, setColorStatus } = useContext(WorkshopContext);\n const [action, setAction] = useState(false);\n const [open, setOpen] = useState(false);\n const [pages, setPages] = useState(0);\n const [totalCounts, setTotalCounts] = useState(5);\n const [pageSizes, setPageSizes] = useState(10);\n const [page, setPage] = useState(0);\n const [totalCount, setTotalCount] = useState(5);\n const [pageSize, setPageSize] = useState(10);\n const [openMenu, setOpenMenu] = useState(false);\n const [actionState, setActionState] = useState(null);\n const [anchorEl, setAnchorEl] = useState(null);\n const [editTab, setEditTab] = useState(false);\n const [selected, setSelected] = useState(false);\n const [loading, setLoading] = useState(false);\n const [selectedRowId, setSelectedRowId] = useState(null);\n const [allActions, setAllActions] = useState([]);\n const [currentSelection, setCurrentSelection] = useState({});\n const [infoSelectedId, setInfoSelectedId] = useState(null);\n const [isGettingDetails, setIsGettingDetails] = useState(false);\n const [actionStages, setActionStages] = useState([]);\n const [status, setStatus] = useState(null);\n const [selectedStages, setSelectedStages] = useState({});\n const [access, setAccess] = useState({ read: false, write: true });\n const [searchText, setSearchText] = useState(\"\")\n const debouncedVal = useDebounce(searchText)\n const [state, setState] = useState(\"\");\n // const debouncedVal = useDebounce(searchText);\n\n useEffect(() => {\n if (readOnly) {\n setAccess({ read: true, write: false });\n return;\n }\n\n if (readAndWrite) {\n setAccess({ read: false, write: true });\n return;\n }\n }, [readAndWrite, readOnly]);\n\n let action_type =\n actions === \"Maintenance\"\n ? actionTypeMaintenance\n : actions === \"Production\"\n ? action_type_prod\n : action_type_Insp;\n\n\n // console.log(\"insp is====================\", action_type, tabDetails)\n\n useEffect(() => {\n if (currentSelection?.id) getAllActionStages();\n }, [currentSelection?.id, page, pageSize, status]);\n\n const getAllActionStages = async () => {\n setIsGettingDetails(true);\n const params = {\n workshop_action_id: currentSelection?.id,\n page: page + 1,\n limit: pageSize,\n status: status,\n // search: debouncedVal,\n };\n await InspectionServices.getAllActionStages(params)\n .then((res) => {\n if (res) {\n setActionStages(res.data);\n setTotalCount(res.total_count);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setIsGettingDetails(false);\n });\n };\n\n useEffect(() => {\n getAllActions();\n }, [pages, pageSizes, selectedRowId, debouncedVal]);\n\n const getAllActions = async () => {\n setLoading(true);\n const params = {\n workshop_order_id: workshop_id,\n action_type: action_type,\n page: pages + 1,\n limit: pageSizes,\n search: debouncedVal\n };\n await MaintenanceServices.getAllActions(params)\n .then((res) => {\n if (res) {\n setAllActions(res.data);\n res.data.map((item) => {\n if (selectedRowId === item.id) {\n setColorStatus(item.planning_verification);\n setState(item.status_color)\n }\n });\n setTotalCounts(res.total_count);\n }\n setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setLoading(false);\n });\n };\n\n const handleROw = () => {\n console.log(\"called func\");\n };\n\n const handleTab = () => {\n setEditTab(!editTab);\n setAction(\"unlock\");\n };\n const handleClickOpen = () => {\n setAction(\"camera\");\n setOpen(true);\n };\n\n const handleClickMsg = () => {\n setAction(\"msg\");\n setOpen(true);\n };\n const handleClickCertificate = () => {\n setAction(\"certificate\");\n setOpen(true);\n };\n\n const handleInfo = () => {\n setAction(tabId === 23 ? \"infoCalendar\" : \"info\");\n setOpen(true);\n };\n\n const handleClick = (event) => {\n setOpenMenu(true);\n setAnchorEl(event.currentTarget);\n };\n\n const handleCloseMenu = () => {\n setOpenMenu(false);\n };\n\n const onRowClick = (event, rowData) => {\n setInfoSelectedId(rowData?.id);\n setCurrentSelection(rowData);\n setSelectedRowId(rowData.id);\n if (rowData.id === selectedRowId) {\n setSelected(true);\n setSelectedRowId(rowData.id);\n } else {\n setSelected(true);\n setSelectedRowId(rowData.id);\n }\n };\n\n const ITEM_HEIGHT = 48;\n\n const tableOptions = {\n ...options,\n page: pages,\n total: totalCounts,\n pageSize: pageSizes,\n search: false,\n toolbar: true,\n\n };\n const tableOptions2 = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: true,\n\n };\n\n const closureMessage = [\n {\n id: 1,\n name: \"Opening this tab will undo closure certification!\",\n },\n {\n id: 2,\n name: \"The Order State will be taken backward to this tab stage!\",\n },\n {\n id: 3,\n name: \"The tab will need to be closed again by a certifier in the APP!\",\n },\n ];\n\n const columns = [\n {\n title: \"Action #\",\n field: \"action_number\",\n width: \"5%\",\n },\n {\n title: \"Title\",\n field: \"title\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"30%\",\n },\n },\n {\n title: \"State\",\n field: \"state\",\n render: (rowData) => {\n if (rowData?.status_color === \"amber\") {\n return (\n \n {\" \"}\n \"Icon\"{\" \"}\n \n );\n } else if (rowData?.status_color === \"green\") {\n return (\n \n {\" \"}\n {\" \"}\n \n );\n } else if (rowData?.status_color === \"red\") {\n return (\n \n {\" \"}\n {\" \"}\n \n );\n } else if (rowData?.status_color === \"red_cross\") {\n return (\n \n {\" \"}\n {\" \"}\n \n );\n }\n else {\n return (\n \n {\" \"}\n {\" \"}\n \n );\n }\n },\n },\n {\n title: \"Status\",\n field: \"status\",\n headerStyle: {\n width: \"30%\"\n },\n cellStyle: {\n width: \"30%\"\n },\n render: (rowData) => {\n return (\n \n {\" \"}\n {rowData?.planning_verification !== null && (\n \n {/* \"Icon\"{\" \"} */}\n {\" \"}\n \n {\" \"}\n {\" \"}\n {\" \"}\n\n\n \n )}\n \n );\n },\n },\n {\n title: \"Info\",\n render: (rowData) => (\n onRowClick(null, rowData)}\n >\n setAction(\"info\")}\n />\n \n ),\n },\n {\n title: \"Plan Man-Hrs\",\n field: \"estimate_man_hours\",\n },\n {\n title: \"Act Man-Hrs\",\n field: \"actual_man_hours\",\n },\n {\n title: \"Action\",\n render: (rowData) => renderButton(rowData),\n },\n ];\n\n const columnsData = [\n {\n title: \"\",\n field: \"id\",\n width: \"4%\",\n render: () =>  ,\n },\n {\n title: \"Stage\",\n field: \"stage\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n render: (rowData) => {rowData?.stage_position},\n },\n {\n title: \"Title\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n width: \"40%\",\n textAlign: \"left\",\n },\n render: (rowData) => {rowData?.stage_name},\n },\n {\n title: \"Sub-Fields\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n width: \"20%\",\n textAlign: \"left\",\n },\n render: (rowData) => (\n \n {!rowData?.stage_fields?.length ? \"0\" : rowData?.stage_fields?.length}\n \n ),\n },\n {\n title: \"Mech\",\n field: \"mech_userstamp\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n render: rowData => {\n if (rowData?.mech_userstamp !== null) {\n return rowData?.mech_userstamp\n } else {\n return \"-\"\n }\n }\n },\n {\n title: \"Insp\",\n field: \"insp_userstamp\",\n headerStyle: {\n textAlign: \"center\",\n },\n render: rowData => {\n if (rowData?.insp_userstamp !== null) {\n return rowData?.insp_userstamp\n } else {\n return \"-\"\n }\n }\n },\n {\n title: \"Closed\",\n field: \"closed_date_time\",\n headerStyle: {\n textAlign: \"center\",\n },\n render: rowData => {\n if (rowData?.closed_date_time !== null) {\n return formatDateFunction(rowData?.closed_date_time)\n } else {\n return \"-\"\n }\n }\n },\n {\n title: \"Action\",\n render: (rowData) => (\n
\n {\n setSelectedStages(rowData);\n setAction(tabId === 23 ? \"view\" : \"viewAction\");\n }}\n />\n
\n ),\n },\n ];\n\n const renderButton = (rowData) => {\n // setCurrentSelection(rowData)\n let ButtonColor, buttonText;\n if (\n (rowData?.id === infoSelectedId && actionState === \"Verified\") ||\n rowData?.planning_verification === \"Verified\"\n ) {\n setActionState(null);\n ButtonColor = \"button-positive\";\n buttonText = \"VERIFIED\";\n } else if (\n (rowData?.id === infoSelectedId && actionState === \"Not Verified\") ||\n rowData?.planning_verification === \"Not Verified\" ||\n rowData?.planning_verification === null\n ) {\n setActionState(null);\n ButtonColor = \"button-warning\";\n buttonText = \"VERIFY\";\n }\n\n else if (\n (rowData?.id === infoSelectedId && actionState === \"Rejected\") ||\n rowData?.planning_verification === \"Rejected\"\n ) {\n setActionState(null);\n ButtonColor = \"button-negative\";\n buttonText = \"REJECTED\";\n }\n return (\n
\n props?.permission.write && handleClick(e)}\n >\n {\n \n {buttonText}\n \n }\n \n \n
\n );\n };\n\n const options1 = [\"Verify\", \"Unverify\"];\n\n const handleOption = (option) => {\n if (option === \"Verify\") {\n setActionState(\"Verified\");\n setOpenMenu(false);\n } else if (option === \"Unverify\") {\n setActionState(\"Not Verified\");\n setOpenMenu(false);\n }\n // else if (option === \"Reject\") {\n // setActionState(\"Rejected\");\n // setOpenMenu(false);\n // }\n };\n\n /*This is handleClose function */\n const handleClose = () => {\n setAction(null);\n };\n\n useEffect(() => {\n updateVerification();\n }, [actionState]);\n\n const updateVerification = async (e) => {\n if (actionState) {\n const formData = new FormData();\n formData.append(\"action_id\", currentSelection?.id);\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"verified_by\", userDetails?.id);\n formData.append(\"planning_verification\", actionState);\n await InspectionServices.updateActionVerification(\n formData,\n currentSelection?.id\n )\n .then((res) => {\n if (res) {\n getAllActions();\n message.showToastMessage({\n message: \"Updated successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch((error) => {\n // setBusy(null);\n message.showToastMessage({\n message: `${error.error}`,\n variant: \"error\",\n });\n });\n // setBusy(null);\n }\n };\n\n return (\n
\n \n {`${actions} Actions`}\n \n \n \n {props?.permission.write && (tabDetails === 1 || tabDetails === 2) &&
{\n setAction(\"reorder\")\n }} />
}
\n \n\n\n {\n setPages(0)\n setSearchText(e.target.value)\n\n\n }}\n value={searchText}\n style={{ width: \"350px\" }}\n InputProps={{\n endAdornment: (\n !!searchText?.length ? {\n setSearchText(\"\")\n setPages(0)\n }} size=\"medium\">\n \n : null\n ),\n startAdornment: (\n \n ),\n }}\n />\n\n \n }\n isLoading={loading}\n columns={columns}\n data={allActions || []}\n options={{\n ...tableOptions,\n rowStyle: (rowData) => ({\n backgroundColor:\n selected && rowData.id === selectedRowId\n ? alpha(theme.palette.primary.main, 0.15)\n : \"#fff\",\n }),\n }}\n\n onChangePage={(page) => {\n setPages(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSizes(pageSize);\n }}\n\n onRowClick={onRowClick}\n totalCount={totalCounts}\n page={pages}\n actions={props?.permission.write && [\n {\n icon: () => (\n
\n \n
\n ),\n tooltip: \"Add\",\n isFreeAction: true,\n onClick: () =>\n setAction(tabId === 23 ? \"createCalendar\" : \"create\"),\n },\n\n ]}\n />\n {openMenu && (\n \n {options1.map((option) => (\n {\n handleOption(option);\n }}\n >\n {option}\n \n ))}\n \n )}\n\n {selectedRowId !== null && (\n
\n \n Selected Action\n \n \n \n
\n \n \n \n {currentSelection?.action_number || \"\"}\n \n    {currentSelection?.title || \"\"}\n \n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n handleClickOpen(\"\")}>\n \n {\" \"}\n {\" \"}\n \n \n \n \n handleClickCertificate(\"\")}>\n \n {\" \"}\n {\" \"}\n \n \n \n \n handleClickMsg(\"\")}>\n \n {\" \"}\n {\" \"}\n \n \n \n \n handleInfo(\"\")}>\n \n {\" \"}\n {\" \"}\n \n \n \n
\n \n\n \n \n {\" \"}\n Table Filters\n \n \n }\n >\n Stage (All)\n \n \n \n }\n // value={status}\n onChange={(e) => setStatus(e.target.value)}\n >\n Status (All)\n Open\n Closed\n \n \n \n \n {\n setAction(\"reorder_stages\")\n }} />
}\n columns={columnsData}\n data={actionStages || []}\n options={tableOptions2}\n localization={{\n body: {\n emptyDataSourceMessage: \"No Records Found\",\n },\n }}\n onChangePage={(page) => {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n onRowClick={handleROw}\n detailPanel={(rowData) =>\n !rowData?.stage_fields?.length ? (\n \n \n No sub fields found\n \n \n ) : (\n \n {\" \"}\n \n {rowData?.stage_fields?.map((item, index) => (\n \n \n \n \n {index + 1}\n {/* {index === 0 ? index + 1.1 : `${1}${\".\"+index}`} */}\n \n \n {item?.field_name}\n \n \n {item?.field_data}\n \n \n \n \n \n ))}\n \n \n )\n }\n\n actions={props?.permission.write && [\n {\n icon: () => (\n \n \n \n ),\n tooltip: \"Add\",\n isFreeAction: true,\n onClick: () => setAction(\"addButton\"),\n },\n ]}\n components={{\n Toolbar: (props) => (\n \n \n \n ),\n }}\n />\n \n \n \n )}\n\n {action === \"view\" && }\n {action === \"createCalendar\" && (\n \n )}\n\n {/* New Changs M& item two button */}\n {action === \"create\" && (\n \n )}\n {action === \"camera\" && (\n setAction(null)}\n open={open}\n action_type={action_type}\n status={currentSelection.status}\n selectedId={currentSelection?.id}\n planning_verification={currentSelection.planning_verification}\n permission={props?.permission}\n />\n )}\n {action === \"msg\" && (\n \n )}\n {action === \"certificate\" && (\n setAction(null)}\n selectedId={currentSelection?.id}\n action_type={action_type}\n status={currentSelection.status}\n open={open}\n planning_verification={currentSelection.planning_verification}\n permission={props?.permission}\n />\n )}\n {action === \"infoCalendar\" && (\n \n )}\n {action === \"info\" && (\n \n )}\n {action === \"viewAction\" && (\n \n )}\n {action === \"addButton\" && (\n \n )}\n\n {\n (orderStateNum > 3 && orderStateNum <= 5\n && tabStatus === true &&\n actions === \"Inspection\"\n && props.permission.write && (\n \n \n }\n >\n {editTab ? \"Open\" : \"Unlock\"}\n \n \n ))}\n {\n (orderStateNum > 5 &&\n orderStateNum <= 8 && tabStatus === true && actions === \"Maintenance\"\n && props.permission.write && (\n \n \n }\n >\n {editTab ? \"Open\" : \"Unlock\"}\n \n \n ))}\n\n {\n (orderStateNum > 5 && orderStateNum <= 8\n && tabStatus === true && actions === \"Production\"\n && props.permission.write && (\n \n \n }\n >\n {editTab ? \"Open\" : \"Unlock\"}\n \n \n ))}\n {action === \"unlock\" && (\n setAction(null)}\n cautionMessages={closureMessage}\n getAllActionStages={getAllActionStages}\n workshop_id={workshop_id}\n tab={\"inspection\"}\n setEditTab={setEditTab}\n editTab={editTab}\n action_type={action_type}\n getWorkshopOrderDetails={getWorkshopOrderDetails}\n getMaintenanceOrderList={props.getMaintenanceOrderList}\n />\n )}\n {action === \"reorder\" && setAction(null)} workshop_id={workshop_id} action_type={action_type} getListing={getAllActions} />} {action === \"reorder_stages\" && setAction(null)} workshop_id={workshop_id} action_type={action_type} getListing={getAllActionStages} selectedId={currentSelection?.id} />}\n \n );\n}\n\nexport default Inspection;\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport {\n Grid,\n Typography,\n makeStyles,\n FormControl,\n Select,\n InputBase,\n MenuItem,\n Box,\n IconButton,\n FormControlLabel,\n Switch,\n useTheme,\n} from \"@material-ui/core\";\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport useDependencies from \"lib/hooks/useDependencies\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport MROTextField from \"components/form_components/TextField\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport { ToggleButton, ToggleButtonGroup } from \"@material-ui/lab\";\nimport MROButton from \"components/buttons\";\nimport TouchAppIcon from \"@material-ui/icons/TouchApp\";\nimport useDebounce from \"lib/utils/debounce\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { Visibility } from \"@material-ui/icons\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport StockInfo from \"views/Stores/Parts/Stocks/stockInfo\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { OperationService } from \"lib/services/api/operaitons/save_operation\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: \"100%\",\n \"& .MuiOutlinedInput-multiline\": {\n minHeight: \"89px\",\n },\n\n \"& textarea::placeholder\": {\n textTransform: \"none !important\",\n },\n\n \"& form\": {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n },\n title: {\n fontSize: \"17px\",\n },\n\n StockInfoDrawer: {\n \"& > div[aria-hidden='true']\": {\n visibility: \"hidden !important\",\n },\n },\n}));\n\nfunction Search(props) {\n const {\n baseStationId,\n lineCustomerId,\n acReg,\n onClose,\n bases,\n lineCustomers,\n currentSelectedOrder,\n actionDpdOptions,\n getList: parentGetList,\n } = props;\n\n const classes = useStyles();\n const theme = useTheme();\n\n const message = useContext(ToastMessageContext);\n\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, inProgress, data } = tableState;\n const [searchText, setSearchText] = useState(\"\");\n const debouncedVal = useDebounce(searchText);\n\n const [qty, setQty] = useState();\n\n const [value, setValue] = useState(\"no\");\n\n const [currentSelection, setCurrentSelection] = useState({});\n const [action, setAction] = useState(null);\n\n const [errors, setErrors] = useState({});\n const [busy, setBusy] = useState(null);\n\n const [filters, setFilters] = useState({\n line_customer_id: null,\n mro_owned: false,\n });\n\n const [selectedPart, setSelectedPart] = useState({});\n\n useEffect(() => {\n setFilters((prevState) => ({\n ...prevState,\n base_station_id: baseStationId,\n }));\n }, [baseStationId]);\n\n const filterChangeHandler = (e) => {\n const name = e.target.name;\n const value = e.target.value;\n setFilters((e) => ({ ...e, [name]: value }));\n };\n\n const getList = () => {\n const parmas = {\n search_keyword: debouncedVal,\n page: page + 1,\n count_per_page: pageSize,\n ...filters,\n };\n\n TableAction.getList(dispatch, message, parmas, \"requestPart\");\n };\n\n useEffect(() => {\n getList();\n }, [page, debouncedVal, pageSize, filters]);\n\n // const addPartFields = [\n // {\n // label: \"Selected Part # *\",\n // placeholder: \"No Part Selected\",\n // type: \"text\",\n // required: true,\n // name: \"selected_part_number\",\n // disabled: true,\n // defaultValue: selectedPart.part_number,\n // },\n // {\n // label: \"Base Stock QTY\",\n // placeholder: \"No Part Selected\",\n // type: \"text\",\n // required: false,\n // name: \"stock_qty\",\n // disabled: true,\n // defaultValue: selectedPart.own_stock,\n // },\n // {\n // label: \"Select Action *\",\n // placeholder: \"Select\",\n // type: \"select\",\n // required: true,\n // name: \"select_action\",\n // disabled: false,\n // },\n // ];\n\n // const repairableFields = [\n // {\n // label: \"Part # Off *\",\n // placeholder: \"Enter Part Number\",\n // type: \"text\",\n // required: true,\n // name: \"part_off\",\n // disabled: false,\n // },\n // {\n // label: \"Serial # Off *\",\n // placeholder: \"Enter Serial Number\",\n // type: \"text\",\n // required: true,\n // name: \"serial_off\",\n // disabled: false,\n // },\n // {\n // label: \"U/S Comment\",\n // placeholder:\n // \"Enter a removal reason or other comment as applicable - Max 150 Characters\",\n // type: \"description\",\n // required: false,\n // name: \"us_comment\",\n // disabled: false,\n // },\n // ];\n\n const tableOptions = {\n ...options,\n page: page,\n search: false,\n total: totalCount,\n pageSize: pageSize,\n searchText: searchText,\n toolbar: false,\n };\n\n const handleViewInfo = (rowData) => {\n setAction(\"view\");\n setCurrentSelection(rowData);\n };\n\n const columns = [\n {\n title: \"Part #\",\n field: \"part_number\",\n },\n {\n title: \"Description\",\n field: \"description\",\n cellStyle: {\n width: \"40%\",\n paddingLeft: \"20px\",\n },\n headerStyle: {\n width: \"40%\",\n textAlign: \"left\",\n paddingLeft: \"20px\",\n },\n },\n {\n title: \"Total Stock\",\n field: \"total_stock\",\n },\n {\n title: \"Base Stock\",\n field: \"own_stock\",\n },\n\n {\n title: \"Stock Info\",\n field: \"\",\n headerStyle: {\n textAlign: \"center\",\n width: \"6%\",\n },\n cellStyle: {\n textAlign: \"center\",\n width: \"6%\",\n },\n render: (rowData) => (\n handleViewInfo(rowData)}>\n \n \n ),\n },\n {\n title: \"Select\",\n field: \"select\",\n render: (rowData) => (\n setSelectedPart(rowData)}>\n \n \n ),\n },\n ];\n\n const handleToggle = (value) => {\n if (value) {\n setValue(value);\n }\n };\n\n useEffect(() => {\n console.log(\"renderning..\");\n if (qty > selectedPart.own_stock) {\n console.log(\"inside if check\");\n setErrors((prevState) => ({\n ...prevState,\n quantity:\n \"Required QTY exceeds Base Stock QTY! - Please enter a deferred defect number for tracking\",\n }));\n } else {\n setErrors((prevState) => ({\n ...prevState,\n quantity: false,\n }));\n }\n console.log(\"errors\", errors);\n }, [qty, selectedPart.own_stock]);\n\n const resetErrorHandler = (name) =>\n setErrors((e) => ({ ...e, [name]: false }));\n\n const submitHandler = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n\n let issued_comment = formData.get(\"reason\")\n formData.delete(\"reason\")\n formData.append(\"issued_comment\", issued_comment);\n formData.append(\"from_base_station_id\", currentSelectedOrder.base_station_id);\n formData.append(\"to_base_station_id\", currentSelectedOrder.base_station_id);\n formData.append(\"user_id\", user?.id);\n formData.append(\"primary_part_id\", selectedPart.id);\n formData.append(\"reportable_type\", \"WorkshopOrder\");\n formData.append(\"reportable_id\", currentSelectedOrder.id);\n formData.append(\"order_number\", currentSelectedOrder?.order_no);\n formData.append(\"line_customer_id\", currentSelectedOrder?.line_customer_id);\n\n const { valid, error } = validateFormData(formData, [\"issued_comment\"]);\n\n const required_quantity = formData.get('quantity');\n if (+required_quantity === 0) {\n error['quantity'] = true;\n error['required_quantity_is_zero'] = true\n valid = false\n }\n console.log(error)\n if (!valid) {\n setErrors(error);\n return;\n }\n\n setBusy(\"loading\");\n try {\n const response = await MaintenanceServices.createPartRequest(formData);\n console.log(\"response\", response);\n if (response.success) {\n message.showToastMessage({\n message: \"Added successfully.\",\n variant: \"success\",\n });\n }\n else {\n message.showToastMessage({ message: response.errors ? response.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n }\n\n onClose();\n parentGetList();\n\n\n setBusy(null);\n } catch (err) {\n message.showToastMessage({ message: \"Something went wrong. Try again\", variant: \"error\" });\n setBusy(\"error\");\n }\n };\n\n return (\n <>\n \n \n \n Search Part\n \n {\n TableAction.setPage(dispatch, 0);\n setSearchText(value);\n }}\n searchText={searchText}\n >\n \n }\n onChange={filterChangeHandler}\n >\n Base (All)\n {bases.map((e) => (\n \n {e.station}\n \n ))}\n \n \n \n \n setFilters((prevState) => ({\n ...prevState,\n line_customer_id: e.target.value,\n mro_owned: false,\n }))\n }\n input={}\n // disabled={filters.mro_owned}\n >\n Owner (All)\n {lineCustomers?.map((item, i) => (\n \n {item.name}\n \n ))}\n \n \n \n setFilters((prevState) => ({\n ...prevState,\n mro_owned: e.target.checked,\n line_customer_id: null,\n }))\n }\n // name=\"checkedB\"\n color=\"primary\"\n />\n }\n label=\"MRO Owned Part?\"\n labelPlacement=\"start\"\n />\n \n\n {/* Table */}\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n \n Selected Part\n \n\n
\n \n resetErrorHandler(e.target.name)}\n error={errors.workshop_action_id}\n >\n {actionDpdOptions.map((e) => (\n \n {e.action_number}\n \n ))}\n \n resetErrorHandler(e.target.name)}\n // error={errors.reason}\n >\n\n \n setErrors((prevState) => ({\n ...prevState,\n quantity: false,\n }))\n }\n setQty={setQty}\n qty={qty}\n />\n {/* {errors[\"quantity\"] && typeof errors[\"quantity\"] === \"string\" && (\n <>\n \n \n Required QTY exceeds Base Stock QTY! - Please enter a deferred\n defect number for tracking\n \n resetErrorHandler(e.target.name)}\n error={errors.defferal_data}\n variant=\"outlined\"\n color=\"primary\"\n InputLabelProps={{ shrink: true }}\n defaultValue={currentSelection[\"defferal_data\"]}\n />\n \n )} */}\n\n \n \n Cancel\n \n \n Add\n \n \n \n
\n
\n {action === \"view\" && currentSelection && (\n {\n setSelectedPart({\n own_stock: currentSelection.own_stock,\n id: currentSelection.id,\n ...partDetails,\n });\n setAction(null);\n }}\n permission={{ write: true }}\n action={action}\n currentSelection={currentSelection}\n handleClose={() => setAction(null)}\n className={classes.StockInfoDrawer}\n />\n )}\n \n );\n}\n\nexport default Search;\n","import React, { useContext, useState, useEffect } from \"react\";\nimport { makeStyles, Typography, Grid, MenuItem, Box } from \"@material-ui/core\";\nimport MROTextField from \"components/form_components/TextField\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport { ToggleButton, ToggleButtonGroup } from \"@material-ui/lab\";\nimport MROButton from \"components/buttons\";\nimport { OperationService } from \"lib/services/api/operaitons/save_operation\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport PrimePartsClientServices from \"lib/services/api/stores/tooling/parts_client\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& .MuiOutlinedInput-multiline\": {\n minHeight: \"89px\",\n },\n\n \"& textarea::placeholder\": {\n // textTransform: \"none !important\",\n },\n },\n\n title: {\n fontSize: \"20px\",\n },\n}));\n\nfunction CreateNew(props) {\n const { getList, onClose, workOrderId, baseStationId, actionDpdOptions, currentSelectedOrder } = props;\n\n const classes = useStyles();\n\n const message = useContext(ToastMessageContext);\n\n const [unitQty, setUnitQty] = useState(1);\n const [requiredQty, setRequiredQty] = useState();\n const [value, setValue] = useState(\"no\");\n const [errors, setErrors] = useState({});\n const [busy, setBusy] = useState(null);\n const [unitOfMeasureItems, setUnitOfMeasureItems] = useState([]);\n\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n\n useEffect(() => {\n PrimePartsClientServices.fetchDependencies()\n .then((res) => {\n if (res) {\n setUnitOfMeasureItems(res.units_of_measure);\n }\n })\n .catch((err) => {\n console.log(\"something weing wrong!\", err);\n });\n }, []);\n\n const unkonwnPartFields = [\n {\n label: \"P/N *\",\n placeholder: \"Part Number\",\n type: \"text\",\n required: true,\n name: \"part_number\",\n },\n {\n label: \"Description *\",\n placeholder: \"Max 30 characters\",\n type: \"text\",\n required: true,\n name: \"description\",\n },\n {\n label: \"Units of Measure *\",\n placeholder: \"\",\n defaultValue: 1,\n type: \"dropdown\",\n values: unitOfMeasureItems?.map((item) => ({\n id: item?.units_of_measure_id,\n value: item?.unit_name,\n })),\n required: true,\n name: \"units_of_measure_id\",\n },\n // {\n // label: \"Units Issued Each QTY *\",\n // placeholder: \"QTY\",\n // type: \"qty\",\n // required: true,\n // name: \"units_issued\",\n // qty: unitQty,\n // setQty: setUnitQty,\n // shouldNotAcceptZero: true,\n // },\n {\n label: \"Maint Data Ref *\",\n placeholder: \"AMM, CMM, IPC etc reference\",\n type: \"text\",\n required: true,\n\n name: \"maint_data_ref\",\n },\n ];\n\n const addPartFields = [\n {\n label: \"Select Action *\",\n type: \"text\",\n required: true,\n name: \"workshop_action_id\",\n type: \"dropdown\",\n values: actionDpdOptions?.map((item) => ({\n id: item?.workshop_action_id,\n value: item?.action_number,\n })),\n },\n {\n label: \"Comments \",\n placeholder: \"Optional alternate part comments for nil stock items – Max 150 characters\",\n type: \"text\",\n required: false,\n name: \"issued_comment\",\n multiline: \"multiline\"\n },\n {\n label: \"Required QTY *\",\n placeholder: \"QTY\",\n type: \"qty\",\n required: true,\n name: \"required_quantity\",\n qty: requiredQty,\n setQty: setRequiredQty,\n shouldNotAcceptZero: true,\n },\n ];\n\n // fields validation\n const validateFields = (formData) => {\n let error = {};\n let valid = true;\n\n const requiredQty = formData.get(\"required_quantity\");\n // const units_issued_qty = formData.get(\"units_issued\");\n\n for (let pair of formData.entries()) {\n const key = pair[0];\n console.log(pair);\n if (pair[1] === \"\" && key !== \"issued_comment\") {\n error[key] = true;\n valid = false;\n }\n }\n\n if (+requiredQty === 0 && requiredQty !== \"\") {\n error[\"required_quantity_is_zero\"] = true;\n error[\"required_quantity\"] = true;\n valid = false;\n }\n\n // if (+units_issued_qty === 0 && units_issued_qty !== \"\") {\n // error[\"units_issued_qty_is_zero\"] = true;\n // error[\"units_issued\"] = true;\n // valid = false;\n // }\n\n if (!valid) {\n setErrors(error);\n }\n console.log({ error });\n return valid;\n };\n\n const createJobReq = async (formData, id) => {\n const part_off = formData.get(\"part_off\");\n const workshop_action_id = formData.get(\"workshop_action_id\");\n const serial_off = formData.get(\"serial_off\");\n const defferal_data = formData.get(\"add_deferral\");\n const issued_comment = formData.get(\"issued_comment\");\n const install_location = formData.get(\"location\");\n const quantity = formData.get(\"required_quantity\");\n\n const params = {\n primary_part_id: id,\n reportable_type: \"WorkshopOrder\",\n reportable_id: workOrderId,\n quantity,\n from_base_station_id: baseStationId,\n to_base_station_id: baseStationId,\n install_location,\n rotable_removed: value === \"yes\" ? true : false,\n part_off,\n serial_off,\n issued_comment,\n line_customer_id: currentSelectedOrder?.line_customer_id,\n // aircraft_registration: \"\",\n user_id: user.id,\n defferal_data,\n order_number: currentSelectedOrder?.order_no,\n workshop_action_id\n };\n\n\n await OperationService.createJobRequest(params).then((res) => {\n if (res.success) {\n\n } else {\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n }\n onClose();\n getList()\n }).catch(() => {\n message.showToastMessage({ message: \"Something went wrong. Try again\", variant: \"error\" });\n\n })\n\n };\n\n // form submit handler\n const submitHandler = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n\n const part_number = formData.get(\"part_number\").toUpperCase();\n\n formData.set(\"part_number\", part_number);\n formData.append(\"user_id\", user.id);\n formData.append(\"units_issued\", \"1\")\n if (!validateFields(formData)) {\n return;\n }\n\n try {\n setBusy(\"loading\");\n const response = await OperationService.addPart(formData);\n\n setBusy(null);\n if (response.success) {\n message.showToastMessage({\n message: \"Added successfully.\",\n variant: \"success\",\n });\n getList()\n onClose()\n createJobReq(formData, response.id);\n } else {\n const msg =\n response.errors?.length > 0\n ? response.errors.join(\", \")\n : \"Something went wrong!\";\n message.showToastMessage({\n message: msg,\n variant: \"error\",\n });\n }\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong!\",\n variant: \"error\",\n });\n setBusy(\"error\");\n }\n };\n\n const fields = ({\n placeholder,\n label,\n name,\n multiline,\n type,\n qty,\n setQty,\n values,\n required,\n defaultValue,\n shouldNotAcceptZero,\n select\n }) => {\n switch (type) {\n case \"text\":\n return (\n \n setErrors((prevState) => ({ ...prevState, [name]: false }))\n }\n />\n );\n\n case \"qty\":\n const fieldName = label.replace(\"*\", \"\");\n const errMsg =\n (errors?.required_quantity_is_zero || errors?.units_issued_qty_is_zero) && (name === \"required_quantity\" || name === \"units_issued\")\n ? `${fieldName} must be greater than 0`\n : `Please Enter ${fieldName}`;\n return (\n \n setErrors((prevState) => ({ ...prevState, [name]: false }))\n }\n minQty={1}\n />\n );\n\n case \"dropdown\":\n return (\n \n setErrors((prevState) => ({ ...prevState, [name]: false }))\n }\n >\n {placeholder !== \"\" && (\n {placeholder}\n )}\n {values?.map((item, i) => (\n \n {item.value}\n \n ))}\n \n );\n default:\n break;\n }\n };\n\n const handleToggle = (value) => {\n if (value) {\n setValue(value);\n }\n };\n\n return (\n
\n
\n \n Unknown Part\n \n \n \n {unkonwnPartFields.map((field, i) => (\n \n {fields(field)}\n \n ))}\n \n \n\n \n Add Part\n \n\n \n \n {addPartFields.map((field, i) => (\n \n {fields(field)}\n {/* {field.type === \"qty\" && (\n \n \n

\n Required QTY exceeds Base Stock QTY! - Please enter a\n deferred defect number for tracking\n

\n
\n )} */}\n
\n ))}\n
\n
\n\n \n \n Cancel\n \n \n Add\n \n \n \n
\n );\n}\n\nexport default CreateNew;\n","import React, { useState } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport {\n AppBar,\n IconButton,\n Toolbar,\n makeStyles,\n Typography,\n Box,\n ButtonGroup,\n} from \"@material-ui/core\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport MROButton from \"components/buttons\";\nimport Search from \"./Search\";\nimport CreateNew from \"./CreateNew\";\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n root: { \"& > :first-child\": { position: \"unset\" } },\n wrapper: {\n padding: \"3%\",\n background: \"white\",\n },\n}));\n\nfunction AddPart(props) {\n const {\n onClose,\n baseStationId,\n lineCustomerId,\n acReg,\n bases,\n lineCustomers,\n currentSelectedOrder,\n actionDpdOptions,\n getList,\n } = props;\n const classes = useStyles();\n const [state, setState] = useState(\"search\");\n\n return (\n \n \n \n \n \n \n \n Add Part\n \n \n \n
\n \n \n setState(\"search\")}\n style={{\n width: \"125px\",\n color: state === \"search\" ? \"white\" : undefined,\n }}\n >\n Search\n \n setState(\"create\")}\n style={{\n width: \"125px\",\n color: state === \"create\" ? \"white\" : undefined,\n }}\n >\n Create New\n \n \n \n\n \n {state === \"search\" ? (\n \n ) : (\n \n )}\n \n
\n
\n );\n}\n\nexport default AddPart;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport RightDialog from \"views/Stores/Parts/Stocks/RightDialog\";\nimport { makeStyles } from \"lib/utils/common_utils\";\nimport { Box, IconButton, MenuItem, Typography } from \"@material-ui/core\";\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from \"components/buttons\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport ManageDataDialog from \"components/form_components/manage_data_dialog\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& .MuiOutlinedInput-multiline\": {\n minHeight: \"89px\",\n },\n },\n title: {\n fontSize: \"20px\",\n marginBottom: \"16px\",\n color: theme.palette.primary.main,\n },\n}));\n\nfunction EditPartDetails(props) {\n const { getData, closeHandler, open, onClose, data, actionDpdOptions, currentSelection, updateData } =\n props;\n\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n\n const [qty, setQty] = useState();\n const [errors, setErrors] = useState({});\n const [busy, setBusy] = useState(null);\n const [fieldsValue, setFieldsValue] = useState({\n workshop_action_id: null,\n issued_comment: null,\n });\n\n const [action, setAction] = useState(null);\n\n useEffect(() => {\n setFieldsValue({\n workshop_action_id: data?.data?.workshop_action_id,\n issued_comment: data?.data?.comment,\n });\n\n setQty(data?.data?.required_quantity);\n }, [currentSelection, data]);\n\n const onChange = (e) => {\n const { name, value } = e.target;\n\n setFieldsValue((ps) => ({ ...ps, [name]: value }));\n };\n\n const resetErrorHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const onSuccess = (response) => {\n if (response.success) {\n message.showToastMessage({\n message: \"Order updated successfully\",\n variant: \"success\",\n });\n updateData();\n onClose();\n } else {\n message.showToastMessage({\n open: true,\n message: response.errors.length\n ? response.errors.join(\", \")\n : \"Something went wrong\",\n variant: \"error\",\n });\n }\n setBusy(null);\n };\n\n const submitHandler = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n formData.append(\"id\", currentSelection?.id);\n\n const { error, valid } = validateFormData(formData, [\"reason\"]);\n const required_quantity = formData.get('quantity');\n if (+required_quantity === 0) {\n error['quantity'] = true;\n error['required_quantity_is_zero'] = true\n valid = false\n }\n if (!valid) {\n setErrors(error);\n return;\n }\n\n try {\n setBusy(\"loading\");\n const response = await MaintenanceServices.editPartWOShopRequest(\n formData\n );\n onSuccess(response);\n } catch (error) {\n setBusy(null);\n message.showToastMessage({\n open: true,\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }\n };\n\n const handleDelete = async () => {\n const formData = new FormData();\n formData.append(\"id\", currentSelection.id);\n setAction(\"deleting\");\n await MaintenanceServices.deleteRequest(formData)\n .then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Deleted successfully\",\n variant: \"success\",\n });\n }\n getData();\n closeHandler()\n }).catch(() => {\n message.showToastMessage({\n open: true,\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setBusy(null);\n })\n };\n\n return (\n \n
\n \n \n Edit\n \n
\n {\n resetErrorHandler(e.target.name);\n onChange(e);\n }}\n value={fieldsValue.workshop_action_id}\n error={errors.workshop_action_id}\n >\n {actionDpdOptions?.map((e) => (\n \n {e.action_number}\n \n ))}\n \n {\n resetErrorHandler(e.target.name);\n onChange(e);\n }}\n value={fieldsValue.issued_comment}\n />\n \n setErrors((prevState) => ({\n ...prevState,\n quantity: false,\n }))\n }\n setQty={setQty}\n qty={qty}\n />\n \n \n Cancel\n \n \n Save\n \n
\n \n \n Delete item\n setAction(\"delete\")}>\n \n \n \n \n \n\n {action === \"delete\" && (\n setAction(null)}\n handleSubmit={handleDelete}\n >\n Are you sure? Confirm Delete.\n \n )}\n
\n );\n}\n\nexport default EditPartDetails;\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport { makeStyles } from \"lib/utils/common_utils\";\nimport {\n AppBar,\n Box,\n IconButton,\n Toolbar,\n Tooltip,\n useTheme,\n Typography,\n Grid,\n} from \"@material-ui/core\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\n\nimport LoadingIndicator from \"components/universal/loading_indicator\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport TableAction from \"actions/table_actions\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport RescheduleIcon from \"@material-ui/icons/History\";\nimport MROButton from \"components/buttons\";\nimport EditPartDetails from \"./EditPartDetails\";\nimport HistoryTablePopup from \"views/Stores/Parts/History/HistoryTablePopup\";\nimport ReplayIcon from \"@material-ui/icons/Replay\";\nimport ReturnIssuedPart from \"./ReturnIssuedPart/ReturnIssuedPart\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport moment from \"moment\";\nimport BoxpTableAction from \"actions/boxp_table_actions\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport CertificatePopup from \"views/Stores/Parts/Stocks/CertificatePopup\";\nimport { BASE_API_URL_BOXR } from \"lib/constants\";\nimport BoxrTableAction from \"actions/boxr_table_actions\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrapper: {\n padding: \"2%\",\n background: \"white\",\n },\n root: { \"& > :first-child\": { position: \"unset\" } },\n // detail: {\n // padding: \"3%\",\n // backgroundColor: \"#fff\",\n // boxShadow: \"0px 3px 6px #0000001A\",\n // },\n\n partCard: {\n padding: \"17px 24px\",\n },\n}));\n\nconst GetInfoCard = (props) => {\n const classes = useStyles();\n const theme = useTheme();\n\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n};\n\nfunction PartInfo(props) {\n const { onClose, currentSelectedRequest, actionDpdOptions, getData, partsAndToolsStatus } = props;\n\n console.log(\"parts tools is===================\", props.permission)\n\n const message = useContext(ToastMessageContext);\n const theme = useTheme();\n const classes = useStyles();\n\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, searchText, inProgress, data } =\n tableState;\n\n const [anchorEl, setAnchorEl] = useState(null);\n const [busy, setBusy] = useState(null);\n\n const [value, setValue] = useState(\"no\");\n const [isEdit, setIsEdit] = useState(false);\n const [isReturnIssuedPart, setIsReturnIssuedPart] = useState(false);\n\n const [currentSelection, setCurrentSelection] = useState({});\n const [isMaterialPopupOpen, setIsMaterialPopupOpen] = useState(false);\n\n\n const [allocId, setAllocId] = useState(null);\nconst [partConditionId , setPartConditionId] = useState(null);\n const [partInfo, setPartInfo] = useState({});\n const [requestedDate, setRequestedDate] = useState(\"\");\n const [popupData, setPopupData] = useState([]);\n const [msds, setMsds] = useState([]);\n\n useEffect(() => {\n if (\n partInfo?.part_condition_details?.created_at !== undefined &&\n partInfo?.part_condition_details?.created_at !== null\n ) {\n let momentDate = moment.utc(partInfo?.part_condition_details?.created_at);\n let formattedDate = moment(momentDate, \"DD/mm/YYYY hh:mm\")\n .local()\n .format(\"DD/MM/YYYY hh:mm\");\n setRequestedDate(formattedDate);\n }\n }, [partInfo]);\n\n const getPartDetials = () => {\n // setTableRefresh(!tableRefresh)\n MaintenanceServices.getRequestPartDetails({ id: currentSelectedRequest.id })\n .then((res) => {\n setPartInfo(res);\n setMsds(res.data.mds);\n })\n .catch((error) => {\n console.log(\"Something went wrong!\", error);\n });\n };\n\n const getList = () => {\n const params = {\n page: page + 1,\n limit: pageSize,\n id: currentSelectedRequest.id,\n };\n BoxrTableAction.getList(dispatch, message, params, \"allocationDetailsList\");\n };\n\n useEffect(() => {\n getPartDetials();\n getList();\n }, [currentSelectedRequest?.id]);\n\n const tableOptions = {\n ...options,\n page: page,\n search: false,\n total: totalCount,\n pageSize: pageSize,\n searchText: searchText,\n };\n\n const handleToggle = (value) => {\n if (value) {\n setValue(value);\n }\n };\n\n const getPopupData = async () => {\n const params = {\n id: currentSelection.id,\n };\n\n try {\n setBusy(\"loading\");\n const { data } = await MaintenanceServices.getConditionedParts(params);\n setPopupData(data);\n } catch (error) {\n setBusy(\"error\");\n } finally {\n setBusy(null);\n }\n };\n\n useEffect(() => {\n if (currentSelection.id) {\n getPopupData();\n }\n }, [currentSelection.id]);\n\n const renderStatBtn = (condition) => {\n if (condition === \"issued\" || condition === \"rts\") {\n return (\n \n {condition}\n \n );\n } else {\n const bgColor = condition === \"pre_load\" ? \"#4FC607\" : \"#FFB302\";\n return (\n \n {condition}\n \n );\n }\n };\n\n const columns = [\n {\n field: \"alloc_id\",\n title: \"ALOC ID\",\n },\n {\n field: \"batch_number\",\n title: \"B/N\",\n },\n {\n field: \"quantity\",\n title: \"QTY\",\n },\n {\n field: \"condition\",\n title: \"State\",\n render: (rowData) => renderStatBtn(rowData.condition),\n },\n {\n field: \"user\",\n title: \"By\",\n },\n {\n field: \"receipt_date\",\n title: \"Date\",\n },\n {\n field: \"eta\",\n title: \"ETA\",\n render: (rowData) => {\n if (rowData?.eta === \"\" || rowData?.eta === null) {\n return <>{\"-\"}\n } else {\n return <>{rowData?.eta}\n }\n }\n },\n {\n field: \"cert\",\n title: \"Cert\",\n render: (rowData) => (\n {\n setIsMaterialPopupOpen(true);\n setMsds(\n rowData.certificates?.map((item) => ({\n ...item,\n url: BASE_API_URL_BOXR + item.url,\n }))\n );\n }}\n >\n \n \n ),\n },\n {\n field: \"\",\n title: \"Action\",\n render: (rowData) => (\n \n \n {\n setAnchorEl(e.currentTarget);\n setCurrentSelection(rowData);\n }}\n className={\"text-info\"}\n >\n \n \n \n {partsAndToolsStatus === 3 || partsAndToolsStatus === 4 ? null : rowData.condition?.toLowerCase() === \"issued\" && props.permission.write &&\n {\n setIsReturnIssuedPart(true);\n setAllocId(rowData.alloc_id);\n setPartConditionId(rowData?.id);\n setCurrentSelection(rowData)\n }}>\n \n \n \n }\n setAnchorEl(event.currentTarget)}\n handleClose={() => setAnchorEl(null)}\n currentSelection={currentSelection}\n data={popupData}\n />\n \n ),\n },\n ];\n\n return (\n \n \n \n \n \n \n \n Part Details \n \n {partsAndToolsStatus === 3 || partsAndToolsStatus === 4 ? null : props.permission.write &&\n setIsEdit(true)}>\n \n }\n \n \n {/*
\n \n
*/}\n {true ? (\n
\n {/* Request detials container */}\n \n \n \n \n Request Details\n \n \n \n \n {currentSelectedRequest?.customer_supply === true ?\n <>\n < WarningIcon\n style={{\n color: \"#FFB300\",\n marginRight: \"10px\",\n fontSize: 20,\n }}\n />\n Customer Supply Part!\n : }\n \n \n \n \n \n
\n \n \n \n\n \n \n \n
\n
\n \n
\n \n \n\n \n \n \n \n setIsMaterialPopupOpen(true)}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />\n
\n }\n />\n
\n \n \n \n\n {/* Allocation details section */}\n \n \n Allocation Details\n \n\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n ) : (\n
\n \n
\n )}\n\n setIsEdit(false)}\n actionDpdOptions={actionDpdOptions}\n currentSelection={currentSelectedRequest}\n data={partInfo}\n updateData={() => {\n getPartDetials();\n getList();\n }}\n closeHandler={onClose}\n getData={getData}\n />\n\n {isReturnIssuedPart && (\n setIsReturnIssuedPart(false)}\n allocId={allocId}\n partConditionId = {partConditionId}\n qtyFieldTitle=\"Quantity Received\"\n getPopupData={getPopupData}\n updateTable={() => {\n getList();\n getData();\n getPartDetials();\n }}\n />\n )}\n\n {isMaterialPopupOpen && (\n setIsMaterialPopupOpen(false)}\n // selectedSecondaryPart={selectedRow}\n // selectedSecondaryPartId={selectedSecondaryPartId}\n msds={msds}\n />\n )}\n
\n );\n}\n\nexport default PartInfo;\n","import React, { useContext, useEffect, useReducer } from \"react\";\n\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport MROButton from \"components/buttons\";\nimport clxc from \"clsx\";\nimport { Typography } from \"antd\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport moment from 'moment'\nimport { formatMMMDate } from \"lib/utils/common_utils\";\nimport { Box, Button, FormControl, IconButton, InputBase, makeStyles, MenuItem, Select } from \"@material-ui/core\";\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport useDebounce from \"lib/utils/debounce\";\nimport { useState } from \"react\";\nimport { BASE_API_URL_BOXR } from \"lib/constants\";\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\n\nconst useStyles = makeStyles(() => ({\n bookedOut: {\n borderColor: \"#4D4F5C\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n color: \"#fff\",\n backgroundColor: \"#FF0202\",\n width: \"80px\",\n },\n stockBtn2: {\n borderColor: \"#4D4F5C\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n color: \"#fff\",\n backgroundColor: \"#4FC605\",\n width: \"80px\",\n },\n}));\n\nfunction ToolingTable(props) {\n const classes = useStyles()\n const { currentSelectedOrder } = props;\n\n const message = useContext(ToastMessageContext);\n\n const [searchText, setSearchText] = useState(null);\n\n const debouncedSearchText = useDebounce(searchText);\n\n const [filterData, setFilterData] = useState({});\n\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, inProgress, data } = tableState;\n\n const getList = () => {\n const params = {\n // reportable_type: \"WorkshopOrder\",\n workshop_order_id: currentSelectedOrder.id,\n page: 1 + page,\n count_per_page: pageSize,\n return_status: true,\n search_keyword: debouncedSearchText,\n ...filterData,\n };\n TableAction.getList(\n dispatch,\n message,\n params,\n \"workshopToolingRequestPart\"\n );\n };\n\n useEffect(() => {\n getList();\n }, [page, pageSize, filterData, debouncedSearchText]);\n\n const tableOptions = {\n ...options,\n page: page,\n search: false,\n total: totalCount,\n pageSize: pageSize,\n toolbar: false,\n };\n\n const columnConfig = [\n {\n title: \"\",\n field: \"id\",\n width: \"4%\",\n render: (rowData) =>  ,\n },\n {\n title: \"Tool #\",\n field: \"tool_id\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n },\n {\n title: \"Part #\",\n field: \"part\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"30%\",\n },\n },\n {\n title: \"Cal Due\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\"\n },\n render: (rowData) => {\n if(rowData.calibration_due === null){\n return \"-\"\n }else{\n return formatMMMDate(rowData?.calibration_due)\n }\n }\n },\n {\n title: \"Cert\",\n field: \"user\",\n headerStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => {\n return (\n {\n if (rowData?.calibration_certificate !== null) {\n window.open(BASE_API_URL_BOXR + \"/\" + rowData?.calibration_certificate)\n } else {\n message.showToastMessage({\n message: \"No Document Found.\",\n variant: \"error\",\n });\n }\n }}\n size=\"small\"\n style={{display: rowData?.calibration_certificate === null ? \"none\" : \"\"}}\n >\n \n \n );\n }\n },\n {\n title: \"User\",\n field: \"booked_out_user_stamp_number\",\n headerStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"Booked Out\",\n headerStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => {\n if(rowData.booked_out_timestamp === null){\n return \"-\"\n }else{\n return formatMMMDate(rowData?.booked_out_timestamp)\n }\n }\n },\n {\n title: \"Returned\",\n headerStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => {\n if(rowData.returned_timestamp === null){\n return \"-\"\n }else{\n return formatMMMDate(rowData?.returned_timestamp)\n }\n }\n },\n {\n title: \"Status\",\n render: (rowData) => {\n if (rowData?.status === \"returned\") {\n return (\n \n \n RETURNED\n \n \n );\n } else {\n return (\n \n \n \n BOOKED OUT\n \n \n \n );\n }\n },\n },\n ];\n\n const handleFilterChange = (keyItem, value) => {\n TableAction.setPage(dispatch, 0);\n setFilterData((prevState) => ({ ...prevState, [keyItem]: value }));\n };\n\n return (\n <>\n {\n TableAction.setPage(dispatch, 0);\n setSearchText(value);\n }}\n searchText={searchText}\n >\n }\n onChange={(e) =>\n handleFilterChange(\"status\", e.target.value)\n }\n >\n Status (All)\n {[{ name: \"Booked Out\", value: \"booked_out\" }, { name: \"Returned\", value: \"returned\" }].map((item) => (\n \n {item.name}\n \n ))}\n \n \n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n );\n}\n\nexport default ToolingTable;\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport {\n Grid,\n Typography,\n makeStyles,\n FormControl,\n Select,\n InputBase,\n MenuItem,\n FormControlLabel,\n Switch,\n InputAdornment,\n} from \"@material-ui/core\";\nimport clxc from \"clsx\";\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport MROButton from \"components/buttons\";\nimport useDebounce from \"lib/utils/debounce\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport AddPart from \"./AddPartDetails/AddPart\";\nimport PartInfo from \"./PartInfo\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport ToolingTable from \"./ToolingTable\";\nimport PositiveSwitch from \"components/form_components/switch\";\n\nconst useStyles = makeStyles(() => ({\n root: {\n height: \"100%\",\n width: \"100%\",\n \"& .MuiOutlinedInput-multiline\": {\n minHeight: \"89px\",\n },\n\n \"& textarea::placeholder\": {\n textTransform: \"none !important\",\n },\n\n \"& form\": {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n bold: {\n fontWeight: 600,\n },\n },\n title: {\n fontSize: \"17px\",\n marginBottom: \"10px\",\n marginRight: \"20px\",\n },\n title2: {\n fontSize: \"17px\",\n margin: \"20px 20px 10px 0px\",\n },\n\n StockInfoDrawer: {\n \"& > div[aria-hidden='true']\": {\n visibility: \"hidden !important\",\n },\n },\n stockBtn: {\n borderColor: \"#4D4F5C\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n width: \"70px\",\n backgroundColor: \"#FFB300\",\n },\n}));\n\nfunction PartsAndTools(props) {\n const classes = useStyles();\n const {\n bases,\n lineCustomers,\n currentSelectedOrder,\n orderState,\n partsAndToolsStatus\n } = props;\n\n const message = useContext(ToastMessageContext);\n\n // const user = JSON.parse(sessionStorage.getItem(\"user\"));\n\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, inProgress, data } = tableState;\n const [issued, setIssued] = useState(true);\n\n const [tableRefresh, setTableRefresh] = useState(false);\n\n const [searchText, setSearchText] = useState(\"\");\n const debouncedVal = useDebounce(searchText);\n\n const [currentSelection, setCurrentSelection] = useState({});\n const [action, setAction] = useState(null);\n\n const [filters, setFilters] = useState({});\n\n const [actionDpdOptions, setActionDpdOptions] = useState([]);\n\n const filterChangeHandler = (key, value) => {\n setFilters(prevState => ({ ...prevState, [key]: value }));\n };\n\n const getActions = async () => {\n try {\n const { data } = await MaintenanceServices.getActionsDpdOptions({\n id: currentSelectedOrder.id,\n });\n setActionDpdOptions(data);\n } catch (error) {\n console.log(error);\n }\n };\n\n useEffect(() => {\n getActions();\n }, []);\n\n const closeHandler = () => {\n setTableRefresh(!tableRefresh);\n // setCreateSection(null);\n setAction(null);\n };\n const tableOptions = {\n ...options,\n page: page,\n search: false,\n total: totalCount,\n pageSize: pageSize,\n searchText: searchText,\n toolbar: false,\n };\n\n const getList = () => {\n const params = {\n reportable_type: \"WorkshopOrder\",\n reportable_id: currentSelectedOrder.id,\n search_keyword: debouncedVal,\n page: 1 + page,\n count_per_page: pageSize,\n to_issued: issued,\n ...filters\n };\n\n TableAction.getList(dispatch, message, params, \"workshopRequestPart\");\n };\n\n useEffect(() => {\n getList();\n }, [page, debouncedVal, pageSize, filters, issued]);\n\n // const dataTable = [\n // {\n // tool_id: \"1870\",\n // part_number: \"ABC1234T-09123\",\n // description: \"Cleaning Solution - 1L\",\n // call_due: \"-\",\n // user: \"7\",\n // },\n // {\n // tool_id: \"098\",\n // part_number: \"ABC1234T-09123\",\n // description: \"Cleaning Solution - 1L\",\n // call_due: \"23/Dec/2020\",\n // user: \"7\",\n // },\n // {\n // tool_id: \"0985\",\n // part_number: \"ABC1234T-09123\",\n // description: \"Cleaning Solution - 1L\",\n // call_due: \"23/Dec/2020\",\n // user: \"7\",\n // },\n // {\n // tool_id: \"7658\",\n // part_number: \"ABC1234T-09123\",\n // description: \"Cleaning Solution - 1L\",\n // call_due: \"23/Dec/2020\",\n // user: \"7\",\n // },\n // ];\n\n const columns = [\n {\n title: \"\",\n field: \"id\",\n width: \"4%\",\n render: (rowData) =>  ,\n },\n {\n title: \"Action #\",\n field: \"action_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n },\n {\n title: \"Part Number\",\n field: \"part_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"20%\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"46%\",\n },\n },\n {\n title: \"Ordered\",\n field: \"required_quantity\",\n },\n {\n title: \"Allocated\",\n field: \"allocated_quantity\",\n },\n {\n title: \"Issued\",\n field: \"issued_quantity\",\n },\n\n {\n title: \"Status\",\n render: (rowData) => {\n if (rowData?.approval_state === \"un_approved\" && rowData?.status != null) {\n return (\n {\n setAction(\"partDetails\");\n setCurrentSelection(rowData);\n }}\n >\n \n \n {/* {rowData?.status?.qty}{\" \"} */}\n {\" \"}\n {\"approval\"}\n \n \n );\n } else if (\n rowData?.status?.status === \"issued\" ||\n (rowData?.approval_state === \"approved\" &&\n rowData?.issued_quantity === rowData?.required_quantity &&\n rowData?.status === null)\n ) {\n return (\n {\n setAction(\"partDetails\");\n setCurrentSelection(rowData);\n }}\n >\n \n \n {\"all issued\"}\n \n \n \n );\n } else if (\n rowData?.issued_quantity != rowData?.required_quantity &&\n rowData?.status === null\n ) {\n return (\n {\n setAction(\"partDetails\");\n setCurrentSelection(rowData);\n }}\n >\n \n {\"--\"}\n \n \n );\n } else {\n if (rowData?.status?.color != null) {\n var bgColor =\n rowData?.status?.color === \"amber\"\n ? \"#FFB300\"\n : rowData?.status?.color === \"green\"\n ? \"#4FC605\"\n : rowData?.status?.color === \"red\"\n ? \"red\"\n : \"darkgrey\";\n }\n return (\n rowData?.status != null && (\n {\n setAction(\"partDetails\");\n setCurrentSelection(rowData);\n }}\n >\n \n \n {rowData?.status?.qty}\n {\" \"}\n \n {rowData?.status?.status || \"\"}\n \n \n \n )\n );\n }\n },\n },\n ];\n\n return (\n <>\n \n Parts\n \n \n \n \n setAction(\"view\")}\n startIcon={}\n >\n Add Part\n \n \n {\n TableAction.setPage(dispatch, 0);\n setSearchText(value);\n }}\n searchText={searchText}\n >\n \n \n }\n onChange={(e) => filterChangeHandler(\"workshop_action_id\", e.target.value)}\n >\n Action (All)\n {actionDpdOptions.map((e) => (\n \n {e.action_number}\n \n ))}\n \n \n
\n  \n {\n TableAction.setPage(dispatch, 0);\n setIssued(e.target.checked);\n }}\n />\n }\n label=\" Show ALL ISSUED items\"\n labelPlacement=\"start\"\n // name={\"show_all_issued_items\"}\n />\n {/* {\n TableAction.setPage(dispatch, 0);\n setIssued(e.target.checked);\n }}\n color=\"primary\"\n />\n }\n label=\"Show ALL ISSUED items\"\n labelPlacement=\"start\"\n /> */}\n
\n
\n \n\n {/* Table */}\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n
\n
\n\n \n \n \n Tools\n \n \n {/* Table */}\n {/* {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n /> */}\n \n \n {action === \"view\" && (\n setAction(null)}\n bases={bases}\n lineCustomers={lineCustomers}\n currentSelectedOrder={currentSelectedOrder}\n actionDpdOptions={actionDpdOptions}\n getList={getList}\n />\n )}\n {action === \"partDetails\" && (\n setAction(null)}\n currentSelectedRequest={currentSelection}\n actionDpdOptions={actionDpdOptions}\n getData={getList}\n closeHandler={closeHandler}\n partsAndToolsStatus={partsAndToolsStatus}\n />\n )}\n \n );\n}\n\nexport default PartsAndTools;\n","import React, { useContext, useState } from \"react\";\nimport { Box, Typography } from \"@material-ui/core\";\nimport MRODialog from \"components/MRODialog\";\nimport ServiceRequestListClientServices from \"lib/services/api/procurement/Services\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport EquipmentsClientServices from \"lib/services/api/procurement/equipments\";\n\nfunction DeleteServices(props) {\n const message = useContext(ToastMessageContext)\n const { tab, action, handleClose, title, description, Id, titleColor, getServices, closeHandler } = props;\n const [busy, setBusy] = useState(null)\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target)\n setBusy(\"loading\")\n formData.set(\"id\", Id)\n if (action === \"delete\" && tab === \"services\") {\n await ServiceRequestListClientServices.deleteServices(formData)\n .then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Service deleted successfully!\",\n variant: \"success\",\n });\n closeHandler();\n getServices();\n }else if(!res.success){\n message.showToastMessage({\n message: res.errors.map(err=> err),\n variant: \"error\",\n });\n handleClose(!res.success);\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setBusy(null);\n });\n }\n if (action === \"delete\" && tab === \"equipment\") {\n await EquipmentsClientServices.deleteEquipments(formData)\n .then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Equipment deleted successfully!\",\n variant: \"success\",\n });\n closeHandler();\n getServices();\n }else if(!res.success){\n message.showToastMessage({\n message: res.errors.map(err=> err),\n variant: \"error\",\n });\n handleClose(!res.success);\n }\n })\n .finally(() => {\n setBusy(null);\n });\n }\n };\n\n return (\n \n \n \n {title}\n \n\n \n {description}\n \n \n \n );\n}\n\nexport default DeleteServices;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport MROTextField from \"components/form_components/TextField\";\nimport { Box } from \"@material-ui/core\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport {\n Toolbar,\n IconButton,\n AppBar,\n Typography,\n Grid,\n MenuItem,\n} from \"@material-ui/core\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport MROButton from \"components/buttons\";\nimport DateField from \"components/form_components/DateField\";\nimport InfoPopup from \"views/Procurement/Services/Requests/InfoPopup\";\nimport MROOnSiteOffSite from \"components/form_components/MRoOnSite_OffSite_Field\";\nimport { userDetails, validateFormData } from \"lib/utils/helperFunctions\";\nimport { ServicesAndEquip } from \"lib/services/api/operaitons/WorkShop/Services_Equipment/services\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport ServiceRequestListClientServices from \"lib/services/api/procurement/Services\";\nimport { BASE_API_URL_BOXR } from \"lib/constants\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport DeleteServices from './DeleteServices'\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\n\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n root: {\n backgroundColor: \"#fff\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrapper: {\n padding: \"3%\",\n background: \"white\",\n },\n title: {\n fontSize: \"17px\",\n marginRight: \"20px\",\n },\n paper: {\n borderRadius: \"2px\",\n backgroundColor: \"#F5F5F5\",\n // padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n resize: {\n textTransform: \"none\",\n },\n actionButtons: {\n // paddingTop: \"15px\",\n // paddingBottom: \"10px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n}));\n\nfunction ManageSpecialistService(props) {\n const classes = useStyles();\n const { onClose, workshop_id, dependencies, action, currentSelection, getServices, closeHandler, baseId, techData } =\n props;\n const message = useContext(ToastMessageContext);\n const [onOffSite, setOnOffSite] = useState(null);\n const [errors, setErrors] = useState({});\n const [busy, setBusy] = useState(null);\n const [files, setFiles] = useState([]);\n const [deleteAction, setDeleteAction] = useState(false);\n const [actionNumber, setActionNumber] = useState([]);\n const [releaseReqData, setReleaseReqData] = useState({})\n const [fieldsData, setFieldsData] = useState({\n workshop_action_id: null,\n part_number: null,\n serial_number: null,\n approval_type_id: null,\n task_description: null,\n tech_data_ref: null,\n description: null,\n desired_date: null,\n });\n\n // console.log(\"base is is=====================\", baseId)\n\n let releaseBStatus = releaseReqData?.data?.release_type_b === undefined || releaseReqData?.data?.release_type_b === null\n\n useEffect(() => {\n if (action === \"Update\" && currentSelection !== null) {\n let tempData = {};\n Object.keys(currentSelection).forEach((key) => {\n tempData[key] = currentSelection[key];\n });\n\n setFieldsData(tempData);\n setOnOffSite(\n currentSelection.location === \"supplier_off_site\"\n ? \"supplier_off_site\"\n : currentSelection.location === \"mro_on_site\"\n ? \"mro_on_site\"\n : null\n );\n let value = currentSelection?.part_category_id\n handleReleaseRequirement(value)\n }\n }, [currentSelection]);\n\n useEffect(() => {\n if (action === \"Add\") setOnOffSite(\"mro_on_site\");\n }, []);\n\n const handleOn_OffSite = (value) => {\n setOnOffSite(value);\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n\n const handleReleaseRequirement = async (value) => {\n let part_category = value === 1 ? \"contracted\" : \"subcontracted\"\n const params = {\n workshop_order_id: workshop_id,\n service_type: part_category\n }\n await ServiceRequestListClientServices.releaseRequirement(params)\n .then((res) => {\n if (res.success) {\n setReleaseReqData(res)\n }\n })\n .catch((err) => {\n console.log(err)\n })\n }\n\n const onChangeHandler = (e) => {\n const name = e.target.name;\n const value = e.target.value;\n\n resetErrorsHandler(name);\n setFieldsData((prevState) => ({ ...prevState, [name]: value }));\n\n if (name === \"part_category_id\") {\n handleReleaseRequirement(value)\n }\n };\n\n // console.log(\"release fda is================\", releaseReqData?.data?.release_type_a)\n\n const uploadDocument = async (id, formData) => {\n if (onOffSite === \"supplier_off_site\") {\n formData.delete(\"part_number\");\n formData.delete(\"serial_number\");\n }\n formData.delete(\"location\");\n formData.delete(\"description\");\n formData.delete(\"workshop_order_id\");\n formData.delete(\"part_category_id\");\n formData.delete(\"part_scope_id\");\n formData.delete(\"task_description\");\n formData.delete(\"desired_date\");\n formData.delete(\"approval_type_id\");\n formData.delete(\"tech_data_ref\");\n formData.delete(\"user_id\");\n formData.delete(\"workshop_action_id\");\n formData.delete(\"approval_type_id\");\n formData.append(\"document_type\", \"tech_data_documents\");\n files.forEach((file) => formData.append(\"documents[]\", file));\n\n if (id === null) {\n return;\n } else {\n formData.append(\"id\", id);\n if (files?.length) {\n await ServiceRequestListClientServices.updateDocuments(formData)\n .then((res) => {\n if (res.success) {\n console.log(\"vcalled ythis inside\")\n getServices()\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n }\n }\n };\n\n useEffect(() => {\n getActionNumber();\n }, []);\n\n const getActionNumber = async () => {\n const params = {\n id: workshop_id,\n };\n await ServicesAndEquip.getActionNumber(params)\n .then((res) => {\n if (res) {\n setActionNumber(res.data);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n\n const handleUpdateService = async (formData) => {\n setBusy(\"Update\");\n formData.append(\"id\", currentSelection?.id);\n formData.delete(\"documents[]\");\n await ServiceRequestListClientServices.updateServices(formData)\n .then((res) => {\n if (res.success) {\n getServices();\n closeHandler(res.data);\n message.showToastMessage({\n message: \"Updated Successfully!\",\n variant: \"success\",\n });\n }\n })\n .catch((err) => {\n // message.showToastMessage({\n // message: \"Something went wrong. Try again!\",\n // variant: \"error\",\n // });\n })\n .finally(() => {\n setBusy(null);\n });\n if (files && action !== \"create\") {\n formData.delete(\"location\");\n formData.delete(\"part_category_id\");\n formData.delete(\"part_scope_id\");\n formData.delete(\"description\");\n formData.delete(\"desired_date\");\n formData.delete(\"tech_data_ref\");\n formData.delete(\"workshop_action_id\");\n formData.delete(\"approval_type_id\");\n formData.delete(\"document_type\");\n formData.append(\"document_type\", \"tech_data_documents\");\n files.forEach((file) => formData.append(\"documents[]\", file));\n if (files?.length !== 0) {\n await ServiceRequestListClientServices.updateDocuments(formData)\n .then((res) => {\n if (res) {\n onClose(res.data);\n getServices();\n }\n })\n .catch((err) => { })\n .finally(() => {\n setBusy(null);\n });\n }\n }\n };\n\n const handleCreateService = async (formData) => {\n formData.append(\"base_station_id\", baseId)\n formData.append(\"user_id\", userDetails.userId);\n formData.append(\"workshop_order_id\", workshop_id);\n setBusy(\"create\");\n formData.delete(\"documents[]\");\n await ServiceRequestListClientServices.createServices(formData)\n .then((res) => {\n if (res.success) {\n getServices();\n uploadDocument(res.id, formData);\n onClose();\n message.showToastMessage({\n message: \"Created Successfully!\",\n variant: \"success\",\n });\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setBusy(null);\n });\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const { error, valid } = validateFormData(formData, []);\n if (!valid) {\n setBusy(null);\n setErrors(error);\n return;\n }\n if (action === \"Add\") {\n handleCreateService(formData);\n }\n if (action === \"Update\" && !deleteAction) {\n handleUpdateService(formData);\n }\n };\n\n const deleteFileHandler = async (id) => {\n setBusy(\"file-deleting\");\n try {\n const response = await ServiceRequestListClientServices.deleteDocument({ id: id });\n\n if (response.success) {\n message.showToastMessage({\n message: \"File deleted successfully\",\n variant: \"success\",\n });\n getServices();\n }\n setBusy(null);\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"file-deleting-error\");\n }\n };\n\n\n return (\n \n \n \n \n \n \n \n \n {action} Specialist Service{\" \"}\n \n \n setDeleteAction(true)} style={{ display: action === \"Add\" && \"none\" }}>\n \n Delete Item  \n \n \n \n \n \n\n
\n \n \n Action\n \n \n \n \n Select\n \n {actionNumber?.map((item) => (\n \n {item.action_number}\n \n ))}\n \n \n \n \n \n Service Details\n \n \n \n \n Where will the service be provided?\n \n \n \n \n \n {onOffSite === \"supplier_off_site\" && (\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n \n \n )}\n\n \n \n \n \n Select\n \n {dependencies?.service_scopes?.map((item) => (\n \n {item.name}\n \n ))}\n \n \n \n \n \n Select\n \n {dependencies?.insp_auth?.map((item) => (\n \n {item.type_name}\n \n ))}\n \n \n \n \n \n \n Select\n \n {dependencies?.service_types?.map((item) => (\n \n {item.name}\n \n ))}\n \n \n \n A Contract type service is provided\n by an organisation approved by either the CAA, EASA or\n the FAA in their own right, thus releasing their\n service on a Form 1 or equivalent.

A\n  \n Subcontract  type service is\n provided by an organisation not approved in their own\n right. Therefore, they are only approved to work under\n this MRO's approval and release their service on a C of C\n \n }\n />\n
\n
\n
\n
\n\n \n Release Requirement: {\" \"}\n   \n \n {releaseReqData?.data?.release_type_a === null ? \"Release type not yet planned\" : releaseReqData?.data?.release_type_a || \"\"}\n \n {releaseBStatus ? \"\" : }{releaseBStatus ? \"\" : \"and\"}{releaseBStatus ? \"\" : }\n {releaseReqData?.data?.release_type_b !== null ? releaseReqData?.data?.release_type_b : \"\" || \"\"}\n \n \n {releaseReqData?.data?.message || \"\"}\n \n \n \n \n \n \n \n \n \n \n {\n resetErrorsHandler(\"desired_date\");\n }}\n />\n \n \n\n \n Technical Data\n \n\n \n ({\n filename: item?.filename,\n url: `${item?.url}`,\n id: item?.id,\n }))\n : \"\"\n }\n setFiles={(files) => {\n setFiles(files);\n }}\n showBorderOnNoFiles={true}\n name=\"documents[]\"\n multiple={true}\n onDelete={deleteFileHandler}\n isDeleting={busy === \"file-deleting\"}\n APIUrl={\"\"}\n action={\"Upload Document\"}\n accept={\"multiple\"}\n />\n \n
\n
\n \n Cancel\n \n \n {action}\n \n
\n
\n {deleteAction && (\n setDeleteAction(false)}\n title=\"Delete Item\"\n description=\"This cannot be undone. Are you sure?\"\n Id={currentSelection?.id}\n closeHandler={closeHandler}\n getServices={getServices}\n tab=\"services\"\n />\n )}\n \n
\n );\n}\n\nexport default ManageSpecialistService;\n","import React, { useEffect, useState } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Box, useTheme } from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport ManageSpecialistService from \"./ManageSpecialistService\";\nimport { formatDate, formatMMMDate } from \"lib/utils/common_utils\";\nimport { userDetails } from \"lib/utils/helperFunctions\";\nimport { BASE_API_URL_BOXR } from \"lib/constants\";\nimport ServiceRequestListClientServices from \"lib/services/api/procurement/Services\";\nimport LoadingIndicator from \"components/universal/loading_indicator\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n description: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n\n height: \"max-content\",\n whiteSpace: 'break-spaces'\n\n // boxShadow: \"0px 1px 4px #0000001A\",\n },\n fontDescription: {\n color: \"#4D4F5C\",\n fontSize: \"14px\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n}));\n\nfunction SpecialistService(props) {\n const classes = useStyles();\n const theme = useTheme();\n const [isEdit, setIsEdit] = useState(null);\n const [loading, setLoading] = useState(false)\n const [releaseReqData, setReleaseReqData] = useState({})\n const { handleClose, workshop_id, dependencies, currentSelection, getServices, orderState, data, setCurrentSelection } = props;\n let releaseBStatus = releaseReqData?.data?.release_type_b === undefined || releaseReqData?.data?.release_type_b === null\n const [techData, setTechData] = useState([])\n\n\n const GetInfoCard = (props) => {\n const classes = useStyles();\n const theme = useTheme();\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n };\n\n useEffect(() => {\n if (currentSelection?.service_type) {\n let value = currentSelection?.service_type.toLowerCase()\n handleReleaseRequirement(value)\n }\n }, [currentSelection?.service_type])\n\n useEffect(() => {\n if (data?.data !== undefined) {\n\n let value = data?.data.filter((item) => {\n if (item.id === currentSelection?.id) {\n setTechData(item.tech_data)\n\n }\n }\n )\n\n }\n\n }, [data])\n console.log(\"data======\", techData)\n\n\n const handleReleaseRequirement = async (value) => {\n setLoading(true)\n // let part_category = value === 1 ? \"contracted\" : \"subcontracted\"\n const params = {\n workshop_order_id: workshop_id,\n service_type: value\n }\n await ServiceRequestListClientServices.releaseRequirement(params)\n .then((res) => {\n if (res.success) {\n setReleaseReqData(res)\n getServices()\n }\n })\n .catch((err) => {\n console.log(err)\n }).finally(() => {\n setLoading(false)\n })\n }\n\n return (\n
\n \n \n \n \n \n \n \n \n Specialist Service\n \n \n {orderState != \"Closed\" && props?.permission.write && !currentSelection?.purchased &&\n setIsEdit(\"Update\")}>\n \n \n }\n \n \n\n {!loading ? (\n
\n \n \n Request Details\n \n\n \n \n
\n \n \n \n\n \n \n \n \n {releaseReqData?.data?.release_type_a || \"\"}\n \n {releaseBStatus ? \"\" : }{releaseBStatus ? \"\" : \"and\"}{releaseBStatus ? \"\" : }\n {releaseReqData?.data?.release_type_b || \"\"}\n \n \n {releaseReqData?.data?.message || \"\"}\n \n \n }\n />\n
\n
\n \n
\n \n \n\n \n \n \n \n
\n
\n
\n \n\n \n Description\n \n \n \n {currentSelection.description}\n \n \n\n \n \n Tech Data\n \n \n ({\n filename: item?.filename,\n url: `${item?.url}`,\n id: item?.id,\n }))\n : \"\"\n }\n APIUrl={\"\"}\n accept={\"multiple\"}\n showBorderOnNoFiles={true}\n uploadButtonView={true}\n multiple={true}\n name={\"shipping_condition_photo[]\"}\n action={\"Upload Document\"}\n id=\"shipping_condition_photo[]\"\n />\n \n \n\n \n \n Purchasing Details\n \n\n \n \n
\n \n \n \n
\n
\n \n
\n \n \n \n
\n
\n
\n \n\n \n \n Closure\n \n\n \n \n
\n \n \n \n
\n
\n \n
\n \n \n\n \n
\n
\n
\n \n\n \n \n Certification (C of C / Form 1)\n \n \n ({\n filename: item?.filename,\n url: `${item?.url}`,\n id: item?.id,\n }))\n : \"\"\n }\n APIUrl={\"\"}\n showBorderOnNoFiles={true}\n uploadButtonView={true}\n multiple={true}\n name={\"shipping_condition_photo[]\"}\n action={\"Upload Document\"}\n id=\"shipping_condition_photo[]\"\n />\n \n \n
) : (\n \n )}\n
\n\n {isEdit === \"Update\" && (\n setIsEdit(null)}\n action={isEdit}\n dependencies={dependencies}\n workshop_id={workshop_id}\n closeHandler={handleClose}\n getServices={getServices}\n techData={techData}\n />\n )}\n
\n );\n}\n\nexport default SpecialistService;\n","import React, { useState, useEffect, useContext } from \"react\";\nimport MROTextField from \"components/form_components/TextField\";\nimport { Box } from \"@material-ui/core\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport {\n Toolbar,\n IconButton,\n AppBar,\n Typography,\n Grid,\n MenuItem\n} from \"@material-ui/core\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport DateField from \"components/form_components/DateField\";\nimport MROButton from \"components/buttons\";\nimport { ServicesAndEquip } from \"lib/services/api/operaitons/WorkShop/Services_Equipment/services\";\nimport { userDetails, validateFormData } from \"lib/utils/helperFunctions\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport ServiceRequestListClientServices from \"lib/services/api/procurement/Services\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport DeleteServices from \"../DeleteServices\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n root: {\n backgroundColor: \"#fff\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrapper: {\n padding: \"3%\",\n background: \"white\",\n },\n title: {\n fontSize: \"20px\",\n marginBottom: \"10px\",\n marginRight: \"20px\",\n },\n paper: {\n borderRadius: \"2px\",\n backgroundColor: \"#F5F5F5\",\n // padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n}));\n\nfunction AddSpecialistEquipment(props) {\n const classes = useStyles();\n const { closeHandler, onClose, workshop_id, action, isEdit, currentSelection, baseId, getWorkshopEquipment } = props;\n const message = useContext(ToastMessageContext)\n const [actionNumber, setActionNumber] = useState([]);\n const [deleteAction, setDeleteAction] = useState(false)\n const [busy, setBusy] = useState(null)\n const [desiredDate, setDesiredDate] = useState(null)\n const [errors, setErrors] = useState({})\n const [fieldsData, setFieldsData] = useState({\n workshop_action_id: null,\n description: null,\n desired_date: null,\n duration: null,\n });\n\n useEffect(() => {\n getActionNumber();\n }, []);\n\n const getActionNumber = async () => {\n const params = {\n id: workshop_id,\n };\n await ServicesAndEquip.getActionNumber(params)\n .then((res) => {\n if (res) {\n setActionNumber(res.data);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n\n useEffect(() => {\n if (isEdit && currentSelection !== null) {\n let tempData = {};\n Object.keys(currentSelection).forEach((key) => {\n tempData[key] = currentSelection[key];\n });\n setFieldsData(tempData);\n }\n }, [currentSelection]);\n\n const onChangeHandler = (e) => {\n const name = e.target.name;\n const value = e.target.value;\n\n resetErrorsHandler(name);\n setFieldsData((prevState) => ({ ...prevState, [name]: value }));\n };\n\n\n const handleCreate = (formData) => {\n formData.append(\"user_id\", userDetails.userId)\n formData.append(\"base_station_id\", baseId)\n setBusy(\"loading\")\n ServiceRequestListClientServices.workshopCreateEquipments(formData)\n .then((res) => {\n if (res) {\n onClose(res.success)\n props.getWorkshopEquipment()\n message.showToastMessage({\n message: \"Created successfully!!\",\n variant: \"success\"\n })\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!!\",\n variant: \"error\"\n })\n }).finally(() => {\n setBusy(null)\n })\n }\n const handleUpdate = (formData) => {\n setBusy(\"loading\")\n formData.append(\"id\", currentSelection.id)\n ServiceRequestListClientServices.workshopUpdateEquipments(formData)\n .then((res) => {\n if (res) {\n onClose(res.success)\n getWorkshopEquipment()\n message.showToastMessage({\n message: \"Updated successfully!!\",\n variant: \"success\"\n })\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!!\",\n variant: \"error\"\n })\n }).finally(() => {\n setBusy(null)\n })\n }\n\n const handleSubmit = (e) => {\n e.preventDefault();\n const formData = new FormData(e.target)\n const { error, valid } = validateFormData(formData, []);\n if (!valid) {\n setBusy(null);\n setErrors(error);\n return;\n }\n\n if (action === \"Add\") {\n handleCreate(formData)\n }\n if (isEdit) {\n handleUpdate(formData)\n }\n\n }\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n return (\n
\n \n \n \n \n \n \n \n \n {isEdit ? 'Edit' + \" \" + 'Specialist Equipment' : 'Add' + \" \" + 'Specialist Equipment'}\n \n \n setDeleteAction(true)} style={{ display: !isEdit && \"none\" }}>\n \n Delete Item  \n \n \n \n \n \n\n
\n \n \n Action\n \n \n \n {\n onChangeHandler(e)\n }}\n >\n {/* \n Select\n */}\n {actionNumber?.map((item) => (\n \n {item.action_number}\n \n ))}\n \n \n \n Item Details\n \n \n {\n onChangeHandler(e)\n }}\n />\n \n \n {\n resetErrorsHandler(\"desired_date\")\n }}\n />\n \n \n {\n onChangeHandler(e)\n }}\n >\n \n \n\n \n \n Cancel\n \n \n {isEdit ? \"Update\" : \"Add\"}\n \n \n \n
\n
\n {deleteAction && (\n setDeleteAction(false)}\n title=\"Delete Item\"\n description=\"This cannot be undone. Are you sure?\"\n tab=\"equipment\"\n Id={currentSelection?.id}\n closeHandler={closeHandler}\n getServices={getWorkshopEquipment}\n />\n )}\n
\n );\n}\n\nexport default AddSpecialistEquipment;\n\n\n","import React, { useState } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Box, useTheme } from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport AddSpecialistEquipment from \"./AddSpecialistEquipment\";\nimport { userDetails } from \"lib/utils/helperFunctions\";\nimport { formatDate } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n}));\n\nfunction SpecialistEquip(props) {\n const classes = useStyles();\n const theme = useTheme();\n const [isEdit, setIsEdit] = useState(false);\n const { handleClose, action, workshop_id = { workshop_id }, orderState, currentSelection, getWorkshopEquipment } = props;\n\n const GetInfoCard = (props) => {\n const classes = useStyles();\n const theme = useTheme();\n\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n };\n\n return (\n
\n \n \n \n \n \n \n \n \n Specialist Equipment\n \n \n {orderState != \"Closed\" && props?.permission.write && !currentSelection?.purchased &&\n setIsEdit(true)}>\n \n }\n \n \n\n
\n \n \n Details\n \n\n \n \n
\n \n \n \n
\n
\n \n
\n \n \n \n
\n
\n
\n \n\n \n \n Description\n \n\n \n\n {currentSelection.description}\n \n \n\n \n \n Purchasing Details\n \n\n \n \n
\n \n \n \n
\n
\n \n
\n \n \n \n
\n
\n
\n \n \n \n Closure\n \n\n \n \n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n\n {isEdit && (\n setIsEdit(false)}\n closeHandler={handleClose}\n getWorkshopEquipment={getWorkshopEquipment}\n />\n )}\n
\n );\n}\n\nexport default SpecialistEquip;\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport {\n Grid,\n Typography,\n makeStyles,\n FormControl,\n Select,\n InputBase,\n MenuItem,\n} from \"@material-ui/core\";\nimport clxc from \"clsx\";\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport MROButton from \"components/buttons\";\nimport useDebounce from \"lib/utils/debounce\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport AddSpecialistEquipment from \"./SpecialistEquipment/AddSpecialistEquipment\";\nimport SpecialistEquip from \"./SpecialistEquipment/SpecialistEquip\";\nimport { formatDate } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles(() => ({\n root: {\n height: \"100%\",\n width: \"100%\",\n \"& .MuiOutlinedInput-multiline\": {\n minHeight: \"89px\",\n },\n\n \"& textarea::placeholder\": {\n textTransform: \"none !important\",\n },\n\n \"& form\": {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n bold: {\n fontWeight: 600,\n },\n },\n title: {\n fontSize: \"17px\",\n marginTop: \"10px\",\n marginBottom: \"10px\",\n marginRight: \"20px\",\n },\n title2: {\n fontSize: \"20px\",\n margin: \"20px 20px 10px 0px\",\n },\n\n StockInfoDrawer: {\n \"& > div[aria-hidden='true']\": {\n visibility: \"hidden !important\",\n },\n },\n pendEo: {\n borderColor: \"#4D4F5C\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n backgroundColor: \"red\",\n },\n booked: {\n borderColor: \"#4FC605\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n backgroundColor: \"#FFB300\",\n },\n received: {\n borderColor: \"#4FC605\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n backgroundColor: \"#4FC605\",\n },\n cancelled: {\n borderColor: \"#4FC605\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n backgroundColor: \"#4FC605\",\n },\n rejected: {\n borderColor: \"#4FC605\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n backgroundColor: \"red\",\n }\n}));\n\nfunction EquipmentServices(props) {\n const classes = useStyles();\n const { workshop_id, dependencies, orderState,baseId} = props;\n const message = useContext(ToastMessageContext);\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, inProgress, data } = tableState;\n const [searchText, setSearchText] = useState(\"\");\n const debouncedVal = useDebounce(searchText);\n const [action, setAction] = useState(null);\n const [filters, setFilters] = useState({});\n const [currentSelection, setCurrentSelection] = useState({});\n\n useEffect(() => {\n getWorkshopEquipment();\n }, [page, pageSize, debouncedVal, filters]);\n\n const getWorkshopEquipment = () => {\n const params = {\n search_keyword: debouncedVal,\n page: page + 1,\n id: workshop_id,\n count_per_page: pageSize,\n ...filters,\n };\n TableAction.getList(dispatch, message, params, \"getWorkshopEquipment\");\n };\n\n const tableOptions = {\n ...options,\n page: page,\n search: false,\n total: totalCount,\n pageSize: pageSize,\n searchText: searchText,\n toolbar: false,\n };\n\n const renderDescription = (rowData) => {\n return rowData?.description?.slice(0, 99)\n }\n\n const columnConfig = [\n {\n title: \"\",\n field: \"id\",\n width: \"3%\",\n render: () => ,\n },\n {\n title: \"Action #\",\n field: \"workshop_action_number\",\n headerStyle: {\n textAlign: \"center\",\n width: \"10%\",\n },\n cellStyle: {\n textAlign: \"center\",\n width: \"10%\"\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n width: \"30%\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"30%\",\n },\n render: (rowData) => renderDescription(rowData)\n },\n {\n title: \"Needed\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => formatDate(rowData?.desired_date)\n },\n {\n title: \"Days\",\n field: \"duration\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"E/Order #\",\n field: \"order_number\",\n headerStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"Planned\",\n headerStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => formatDate(rowData?.planned_date)\n },\n {\n title: \"Status\",\n render: (rowData) => {\n if (rowData?.state === \"open\" && rowData?.approval_state === false) {\n return (\n {\n setAction(\"SpecialistEquip\");\n setCurrentSelection(rowData);\n }}\n variant=\"contained\"\n >\n PEND E/O\n \n )\n }\n if (rowData?.approval_state === true && rowData?.state === \"open\") {\n return (\n {\n setAction(\"SpecialistEquip\");\n setCurrentSelection(rowData);\n }}\n variant=\"contained\"\n >\n BOOKED  \n \n )\n }\n if (rowData?.state === \"complete\") {\n return (\n {\n setAction(\"SpecialistEquip\");\n setCurrentSelection(rowData);\n }}\n variant=\"contained\"\n >\n RECEIVE\n \n )\n }\n if (rowData?.state === \"cancelled\") {\n return (\n {\n setAction(\"SpecialistEquip\");\n setCurrentSelection(rowData);\n }}\n variant=\"contained\"\n >\n CANCELLED\n \n )\n }\n if (rowData?.state === \"rejected\") {\n return (\n {\n setAction(\"SpecialistEquip\");\n setCurrentSelection(rowData);\n }}\n variant=\"contained\"\n >\n REJECTED\n \n )\n }\n }\n },\n ];\n\n const filterChangeHandler = (keyItem, value) => {\n TableAction.setPage(dispatch, 0);\n setFilters((prevState) => ({ ...prevState, [keyItem]: value }));\n };\n\n return (\n <>\n \n Specialist Equipment\n \n \n \n \n setAction(\"Add\")}\n >\n + Add Item\n \n \n {\n TableAction.setPage(dispatch, 0);\n setSearchText(value);\n }}\n searchText={searchText}\n >\n \n }\n onChange={(e) => filterChangeHandler(\"workshop_action_id\", e.target.value)}\n // value={filters.workshop_action_id}\n >\n Action (All)\n {dependencies?.actions?.map((item) => (\n \n {item.action_number}\n \n ))}\n \n \n \n\n {/* Table */}\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n\n {action === \"Add\" && (\n setAction(null)}\n getWorkshopEquipment={getWorkshopEquipment}\n orderState={orderState}\n baseId={baseId}\n />\n )}\n {action === \"SpecialistEquip\" && (\n setAction(null)}\n orderState={orderState}\n currentSelection={currentSelection}\n getWorkshopEquipment={getWorkshopEquipment}\n permission={props?.permission}\n />\n )}\n \n );\n}\n\nexport default EquipmentServices;\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport {\n Grid,\n Typography,\n makeStyles,\n FormControl,\n Select,\n InputBase,\n MenuItem,\n} from \"@material-ui/core\";\nimport clxc from \"clsx\";\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport MROButton from \"components/buttons\";\nimport useDebounce from \"lib/utils/debounce\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport SpecialistService from \"./SpecialistService\";\nimport ServiceRequestListClientServices from \"lib/services/api/procurement/Services\";\nimport EquipmentServices from \"./Equipment\";\nimport ManageSpecialistService from \"./ManageSpecialistService\";\nimport { formatDate, _formatDate } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles(() => ({\n root: {\n height: \"100%\",\n width: \"100%\",\n \"& .MuiOutlinedInput-multiline\": {\n minHeight: \"89px\",\n },\n\n \"& textarea::placeholder\": {\n textTransform: \"none !important\",\n },\n\n \"& form\": {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n bold: {\n fontWeight: 600,\n },\n },\n title: {\n fontSize: \"17px\",\n marginBottom: \"10px\",\n marginRight: \"20px\",\n },\n title2: {\n fontSize: \"20px\",\n margin: \"20px 20px 10px 0px\",\n },\n\n StockInfoDrawer: {\n \"& > div[aria-hidden='true']\": {\n visibility: \"hidden !important\",\n },\n },\n pendSo: {\n borderColor: \"#4D4F5C\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n backgroundColor: \"red\",\n },\n dispatch: {\n borderColor: \"#4FC605\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n backgroundColor: \"#FFB300\",\n },\n received: {\n borderColor: \"#4FC605\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n backgroundColor: \"#4FC605\",\n },\n clarify: {\n borderColor: \"#4FC605\",\n borderRadius: \"7px\",\n minWidth: \"25px\",\n height: \"30px\",\n backgroundColor: \"#FFB300\",\n },\n complete: {\n borderColor: \"#4FC605\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n backgroundColor: \"#4FC605\",\n },\n cancelled: {\n borderColor: \"#4FC605\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n backgroundColor: \"#4FC605\",\n },\n rejected: {\n borderColor: \"#4FC605\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n backgroundColor: \"red\",\n },\n}));\n\nfunction ServicesAndEquip(props) {\n const classes = useStyles();\n const { workshop_id, orderState, baseId } = props;\n const message = useContext(ToastMessageContext);\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, inProgress, data } = tableState;\n const [searchText, setSearchText] = useState(\"\");\n const debouncedVal = useDebounce(searchText);\n const [dependencies, setDependencies] = useState([]);\n const [action, setAction] = useState(null);\n const [equipmentDependency, setEquipmentDependencies] = useState({});\n const [currentSelection, setCurrentSelection] = useState({});\n const [filterData, setFilterData] = useState({});\n\n useEffect(() => {\n getServices();\n }, [page, pageSize, debouncedVal, filterData]);\n\n const getServices = () => {\n const params = {\n count_per_page: pageSize,\n page: page + 1,\n workshop_order_id: workshop_id,\n search_keyword: debouncedVal,\n ...filterData\n };\n TableAction.getList(dispatch, message, params, \"workshopServices\");\n };\n\n useEffect(() => {\n fetchServicesDependencies();\n fetchEquipmentDependencies();\n }, []);\n\n const fetchServicesDependencies = async () => {\n const params = {\n workshop_order_id: workshop_id,\n };\n await ServiceRequestListClientServices.ServiceFetchDependencies(params)\n .then((res) => {\n if (res) {\n setDependencies(res);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n const fetchEquipmentDependencies = async () => {\n const params = {\n workshop_order_id: workshop_id,\n };\n await ServiceRequestListClientServices.workshopEquipmentFetchDependencies(\n params\n )\n .then((res) => {\n if (res) {\n setEquipmentDependencies(res);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n\n const tableOptions = {\n ...options,\n page: page,\n search: false,\n total: totalCount,\n pageSize: pageSize,\n searchText: searchText,\n toolbar: false,\n };\n\n const columns = [\n {\n title: \"\",\n field: \"id\",\n width: \"4%\",\n render: () =>  ,\n },\n {\n title: \"Action #\",\n field: \"workshop_action_number\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"Category\",\n field: \"service_type\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center \",\n },\n },\n {\n title: \"Location\",\n field: \"location\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n render: (rowData) => {\n if (rowData?.location === \"mro_on_site\") return \"MRO Site\"\n else if (rowData?.location === \"supplier_off_site\") {\n return \"Supplier Site\"\n }\n }\n },\n {\n title: \"S/Order #\",\n field: \"order_number\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowdata) => {\n if (rowdata?.order_number === null) return \"-\"\n else {\n return rowdata?.order_number\n }\n }\n },\n {\n title: \"Planned For\",\n field: \"planned_date\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"30%\",\n },\n render: (rowdata) => formatDate(rowdata.planned_date)\n },\n {\n title: \"Dispatched\",\n field: \"dispatched_by\",\n headerStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"Received\",\n field: \"received_by\",\n headerStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"Certified\",\n field: \"insp_by\",\n headerStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"Status\",\n render: (rowData) => {\n if (rowData?.state === \"complete\") {\n return (\n {\n setAction(\"SpecialistService\");\n setCurrentSelection(rowData);\n }}\n variant=\"contained\"\n >\n COMPLETE\n \n )\n }\n if (rowData?.state === \"cancelled\") {\n return (\n {\n setAction(\"SpecialistService\");\n setCurrentSelection(rowData);\n }}\n variant=\"contained\"\n >\n CANCELLED\n \n )\n }\n if (rowData?.state === \"rejected\") {\n return (\n {\n setAction(\"SpecialistService\");\n setCurrentSelection(rowData);\n }}\n variant=\"contained\"\n >\n REJECTED\n \n )\n }\n if (rowData.approval_state === false\n && rowData?.state != \"rejected\"\n && rowData?.state != \"cancelled\") {\n return (\n {\n setAction(\"SpecialistService\");\n setCurrentSelection(rowData);\n }}\n variant=\"contained\"\n >\n PEND S/O \n \n )\n }\n if (rowData?.state === \"open\" &&\n rowData.approval_state === true &&\n rowData.location === \"supplier_off_site\"\n && rowData.dispatched_by === null) {\n return (\n {\n setAction(\"SpecialistService\");\n setCurrentSelection(rowData);\n }}\n variant=\"contained\"\n >\n DISPATCH\n \n )\n }\n if (rowData?.state === \"open\" &&\n rowData.approval_state === true &&\n rowData.location === \"supplier_off_site\"\n && rowData.dispatched_by != null && rowData.received_by === null) {\n return (\n {\n setAction(\"SpecialistService\");\n setCurrentSelection(rowData);\n }}\n variant=\"contained\"\n >\n RECEIVE   \n \n )\n }\n if ((rowData?.state === \"open\" &&\n rowData.approval_state === true &&\n rowData.location === \"supplier_off_site\"\n && rowData.dispatched_by != null &&\n rowData.received_by != null &&\n rowData.insp_by === null) ||\n (rowData.approval_state === true &&\n rowData.location === \"mro_on_site\" && rowData.insp_by === null)) {\n return (\n {\n setAction(\"SpecialistService\");\n setCurrentSelection(rowData);\n }}\n variant=\"contained\"\n >\n CERTIFY   \n \n )\n }\n }\n },\n ];\n\n const handleFilterChange = (keyItem, value) => {\n TableAction.setPage(dispatch, 0);\n setFilterData((prevState) => ({ ...prevState, [keyItem]: value }));\n };\n\n return (\n <>\n \n Specialist Services\n \n \n \n \n setAction(\"Add\")}\n >\n + Add Service\n \n \n {\n TableAction.setPage(dispatch, 0);\n setSearchText(value);\n }}\n >\n \n }\n onChange={(e) =>\n handleFilterChange(\"workshop_action_id\", e.target.value)\n }\n >\n Action (All)\n {dependencies?.actions?.map((item) => (\n \n {item.action_number}\n \n ))}\n \n \n \n }\n onChange={(e) =>\n handleFilterChange(\"site\", e.target.value)\n }\n >\n Location (All)\n MRO Site\n Supplier Site\n \n \n {/* \n }\n onChange={(e) =>\n handleFilterChange(\"part_category_id\", e.target.value)\n }\n >\n Type (All)\n {dependencies?.service_types?.map((item) => (\n \n {item.name}\n \n ))}\n \n */}\n \n\n {/* Table */}\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n \n {action === \"Add\" && (\n setAction(null)}\n getServices={getServices}\n orderState={orderState}\n baseId={baseId}\n />\n )}\n {action === \"SpecialistService\" && (\n setAction(null)}\n dependencies={dependencies}\n workshop_id={workshop_id}\n getServices={getServices}\n orderState={orderState}\n permission={props?.permission}\n data={data}\n setCurrentSelection={setCurrentSelection}\n />\n )}\n \n );\n}\n\nexport default ServicesAndEquip;\n","import React, { useContext, useMemo, useReducer, useState } from \"react\";\nimport MaintMROFullScreenRightDrawer from \"components/MaintFullWidthRightDialog\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport MaintenanceDetails from \"./Maintenance/MaintenanceDetails\";\nimport { TabSectionBar } from \"components/tab_component\";\nimport Divider from \"@material-ui/core/Divider\";\nimport Quote from \"./Quote\";\nimport FormDataProvider from \"lib/contexts/form_context\";\nimport TabComponent from \"./Maintenance/InductionTab/TabComponent\";\nimport ReleaseComponent from \"./Release/TabComponent\"\nimport Planning from \"./PlanningTab/Planning\";\nimport Inspection from \"./Inspection\";\nimport Commercial from \"./Commercial\";\nimport PartsAndTools from \"./Parts&Tools\";\nimport ServicesAndEquip from \"./ServicesAndEquip\";\nimport CRSOverView from \"./CRS\";\nimport InductionTab from \"./Production/InductionTab/Induction\";\nimport { useEffect } from \"react\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { OperationWorkshopTaskLibraryServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/save_operation_taskLibrary\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\"\nimport { WorkshopContext } from \"./WorkshopContext/WorkshopContext\";\nimport RouterPrompt from \"components/RouterPrompt/RouterPrompt\";\nimport tickMark from \"../../../assets/green check.png\";\nimport { Box } from \"@material-ui/core\";\nimport AddMaint from \"./Storage/AddMaint\";\nimport CallMaint from \"./CallMaint\";\nimport WarningDialog from \"./UniversalWarningDialog\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrapper: {\n margin: \"2%\",\n },\n wrapper2: {\n margin: \"2%\",\n },\n detail: {\n padding: \"3%\",\n backgroundColor: \"#fff\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n}));\n\nfunction TabDetails(props) {\n const classes = useStyles();\n const {\n handleClose,\n tabId,\n action,\n currentSelection,\n setAction,\n getMaintenanceOrderList,\n paginationReset,\n getCalenderActionTwoDays,\n getCalenderActionTenDays,\n tabName,\n type,\n\n } = props;\n\n const message = useContext(ToastMessageContext);\n const { state, setState, setTabStatus, EdtabStatus, copyIdflag,\n setCopyIdFlag, setCopyPlanningId } =\n useContext(WorkshopContext);\n const [workshopOrder, setWorkshopOrder] = useState([]);\n const [headerDetails, setHeaderDetails] = useState([]);\n const [dateField, setDateField] = useState(null);\n const [loading, setLoading] = useState(false);\n const [statuFlag, setFlagStatus] = useState();\n const [orderStateNum, setOrderStateNum] = useState(null);\n const [isGettingDetails, setIsGettingDetails] = useState(false);\n const [orderId, setOrderId] = useState(null)\n const [tabDetailsWhenOrderGen, setTabDetailsWhenGenerate] = useState({})\n // const [currentTab, setCurrentTab] = useState(\n // tabId === 23 && action === \"Unlock\"\n // ? 2818\n // : tabId === 23 && props.tab === \"storage\"\n // ? 2834\n // : 2815\n // );\n const [currentTab, setCurrentTab] = useState(2815);\n const [clickedTabId, setClickedTabId] = useState(null);\n const [editTab, setEditTab] = useState(false);\n const [orderDetails, setMainOrderDetails] = useState([]);\n\n const [workshopOrderDetails, setWorkshopOrderDetails] = useState({});\n\n\n\n // console.log(\"tacurrentSelectionbdetails\", workshopOrderDetails?.commercial)\n\n useEffect(() => {\n renderTab(currentSelection.order_state_id)\n }, [currentSelection.order_state_id])\n\n useEffect(() => {\n setState((ps) => ({ ...ps, isEditing: editTab }));\n }, [editTab]);\n\n useEffect(() => {\n if (action === \"Unlock\") {\n getHeaderDetails();\n }\n if (action === \"calendarAction\") {\n getHeaderDetails();\n }\n }, []);\n\n const getHeaderDetails = async () => {\n setIsGettingDetails(true);\n if (currentSelection.id) {\n await MaintenanceServices.getHeaderDetails(currentSelection.id)\n .then((res) => {\n if (res) {\n setHeaderDetails(res.data);\n setDateField(res.data.raised);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setIsGettingDetails(null);\n });\n }\n };\n\n useEffect(() => {\n setFlagStatus(currentSelection?.quote_sent ? true : false);\n }, [currentSelection?.quote_sent]);\n\n useEffect(() => {\n if (action === \"Send Quote \") {\n getWorkshopOrder();\n }\n }, []);\n\n const getWorkshopOrder = async () => {\n let user = JSON.parse(sessionStorage.getItem(\"user\"));\n const params = {\n order_type: props.order_type,\n user_id: user.id,\n organisation_id: getOrganisationId()\n };\n setIsGettingDetails(true);\n if (action === \"Send Quote \") {\n await OperationWorkshopTaskLibraryServices.getWorkshopOrder(params)\n .then((res) => {\n if (res.success) {\n setTabDetailsWhenGenerate(res.data.tab_status_details[0])\n setOrderId(res.data.id)\n setWorkshopOrder(res.data);\n // props.getWorkshopOrderId(res.data?.id);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setIsGettingDetails(false);\n })\n }\n };\n\n const renderIcon = (state, tabName) => {\n return state === 3 || state === 4 ? (\n \n {\" \"}\n {tabName}{\" \"}\n {\" \"}\n \n ) : (\n tabName\n );\n };\n const renderReleaseIcon = (state, tabName) => {\n let release_scrap = state.release_scrap\n let release_away_base = state.release_away_base\n let release_good_out = state.release_good_out\n let release_no_good_out = state.release_no_good_out\n if ((release_scrap === 3 || release_scrap === 4) ||\n (release_away_base === 3 || release_away_base === 4) ||\n (release_good_out === 3 || release_good_out === 4) ||\n (release_no_good_out === 3 || release_good_out === 4)\n ) {\n return (\n \n {\" \"}\n {tabName}{\" \"}\n {\" \"}\n )\n } else {\n return tabName;\n }\n };\n\n const renderTab = (state) => {\n console.log(\"called this func\", state)\n if (state === 0 || state === 11 || state === 12) {\n setCurrentTab(2815)\n } else if (state === 1 && tabId != 21) {\n setCurrentTab(2818)\n }\n else if (state === 1 && tabId === 21) {\n setCurrentTab(2918)\n }\n else if (state === 2) {\n setCurrentTab(2826)\n }\n else if (state === 7 && tabId === 23) {\n setCurrentTab(2834)\n }\n else if (state === 3) {\n setCurrentTab(2831)\n }\n\n else if (state === 4) {\n setCurrentTab(2833)\n } else if (state === 5) {\n setCurrentTab(2844)\n } else if (state === 5 && tabId === 21) {\n setCurrentTab(2881)\n }\n else if (state === 8 || state === 10) {\n setCurrentTab(2837)\n } else if (state === 9) {\n setCurrentTab(2838)\n }\n\n }\n\n const navMenu1 = useMemo(\n () =>\n [\n {\n id: 2815,\n label: renderIcon(workshopOrderDetails.quotation, \"Quote\"),\n backendKey: \"quotation\",\n },\n {\n id: 2818,\n label: renderIcon(workshopOrderDetails.induction, \"Induction\"),\n backendKey: \"induction\",\n },\n {\n id: 2826,\n label: renderIcon(workshopOrderDetails.planning, \"Planning\"),\n backendKey: \"planning\",\n },\n {\n id: 2831,\n label: renderIcon(workshopOrderDetails.inspection, \"Inspection\"),\n backendKey: \"inspection\",\n },\n {\n id: 2833,\n label: renderIcon(workshopOrderDetails.commercial, \"Commercial\"),\n backendKey: \"commercial\",\n },\n {\n id: 2844,\n label: renderIcon(workshopOrderDetails.maintenance, \"Maintenance\"),\n backendKey: \"maintenance\",\n },\n {\n id: 2835,\n label: renderIcon(workshopOrderDetails.part_tools, \"Parts & Tools\"),\n backendKey: \"part_tools\",\n },\n {\n id: 2836,\n label: renderIcon(\n workshopOrderDetails.service_equip,\n \"Services & Equip\"\n ),\n backendKey: \"service_equip\",\n },\n {\n id: 2837,\n label: renderIcon(\n workshopOrderDetails.certification,\n \"Certification\"\n ),\n backendKey: \"certification\",\n },\n {\n id: 2838,\n label: renderReleaseIcon(workshopOrderDetails, \"Release\"),\n backendKey: [\"release_scrap\", \"release_away_base\", \"release_good_out\", \"release_no_good_out\"],\n },\n ].filter((tab) => {\n if (action === \"Send Quote \") {\n setCurrentTab(2815)\n if (typeof tab.backendKey === \"object\") return;\n return tabDetailsWhenOrderGen[tab.backendKey] !== 0\n }\n else if (tabId === 24 && orderStateNum === 4) {\n setCurrentTab(2826)\n // console.log(\"currentSate-----\", orderStateNum, action, tabId)\n if (typeof tab.backendKey === \"object\") return;\n return tabDetailsWhenOrderGen[tab.backendKey] !== 0\n\n }\n else if (type === 'dashboardCommercial') {\n setCurrentTab(2833)\n if (typeof tab.backendKey === \"object\") return;\n return tabDetailsWhenOrderGen[tab.backendKey] !== 0\n }\n else if (typeof tab.backendKey === \"object\" && action != \"Send Quote \") {\n if (workshopOrderDetails[tab.backendKey[0]] != 0) return \"release_scrap\"\n if (workshopOrderDetails[tab.backendKey[1]] != 0) return \"release_away_base\"\n if (workshopOrderDetails[tab.backendKey[2]] != 0) return \"release_good_out\"\n if (workshopOrderDetails[tab.backendKey[3]] != 0) return \"release_no_good_out\"\n } else {\n return workshopOrderDetails[tab.backendKey] !== 0\n }\n }),\n [workshopOrderDetails, isGettingDetails, tabDetailsWhenOrderGen]\n );\n\n const navMenu2 = useMemo(\n () =>\n [\n {\n id: 2815,\n label: renderIcon(workshopOrderDetails.quotation, \"Quote\"),\n backendKey: \"quotation\",\n },\n {\n id: 2918,\n label: renderIcon(workshopOrderDetails.induction, \"Induction\"),\n backendKey: \"induction\",\n },\n {\n id: 2826,\n label: renderIcon(workshopOrderDetails.planning, \"Planning\"),\n backendKey: \"planning\",\n },\n {\n id: 2831,\n label: renderIcon(workshopOrderDetails.inspection, \"Inspection\"),\n backendKey: \"inspection\",\n },\n {\n id: 2833,\n label: renderIcon(workshopOrderDetails.commercial, \"Commercial\"),\n backendKey: \"commercial\",\n },\n {\n id: 2881,\n label: renderIcon(workshopOrderDetails.production, \"Production\"),\n backendKey: \"production\",\n },\n {\n id: 2835,\n label: renderIcon(workshopOrderDetails.part_tools, \"Parts & Tools\"),\n backendKey: \"part_tools\",\n },\n {\n id: 2836,\n label: renderIcon(\n workshopOrderDetails.service_equip,\n \"Services & Equip\"\n ),\n backendKey: \"service_equip\",\n },\n {\n id: 2837,\n label: renderIcon(\n workshopOrderDetails.certification,\n \"Certification\"\n ),\n backendKey: \"certification\",\n },\n {\n id: 2838,\n label: renderReleaseIcon(workshopOrderDetails, \"Release\"),\n backendKey: [\"release_scrap\", \"release_away_base\", \"release_good_out\", \"release_no_good_out\"],\n },\n ].filter((tab) => {\n if (action === \"Send Quote \") {\n setCurrentTab(2815)\n if (typeof tab.backendKey === \"object\") return;\n return tabDetailsWhenOrderGen[tab.backendKey] !== 0\n }\n else if (tabId === 25 && orderStateNum === 4) {\n setCurrentTab(2826)\n if (typeof tab.backendKey === \"object\") return;\n return tabDetailsWhenOrderGen[tab.backendKey] !== 0\n // console.log(\"currentSate-----\", orderStateNum, action)\n }\n else if (typeof tab.backendKey === \"object\" && action != \"Send Quote \") {\n if (workshopOrderDetails[tab.backendKey[0]] != 0) return \"release_scrap\"\n if (workshopOrderDetails[tab.backendKey[1]] != 0) return \"release_away_base\"\n if (workshopOrderDetails[tab.backendKey[2]] != 0) return \"release_good_out\"\n if (workshopOrderDetails[tab.backendKey[3]] != 0) return \"release_no_good_out\"\n } else {\n return workshopOrderDetails[tab.backendKey] !== 0\n }\n }),\n [workshopOrderDetails, isGettingDetails, tabDetailsWhenOrderGen]\n );\n\n const navMenu3 = useMemo(\n () =>\n [\n {\n id: 2818,\n label: renderIcon(workshopOrderDetails.induction, \"Induction\"),\n backendKey: \"induction\",\n },\n {\n id: 2826,\n label: renderIcon(workshopOrderDetails.planning, \"Planning\"),\n backendKey: \"planning\",\n },\n {\n id: 2831,\n label: renderIcon(workshopOrderDetails.inspection, \"Inspection\"),\n backendKey: \"inspection\",\n },\n {\n id: 2834,\n label: renderIcon(workshopOrderDetails.calendar_maint, \"Cal Maint\"),\n backendKey: \"calendar_maint\",\n },\n {\n id: 2835,\n label: renderIcon(workshopOrderDetails.part_tools, \"Parts & Tools\"),\n backendKey: \"part_tools\",\n },\n {\n id: 2836,\n label: renderIcon(\n workshopOrderDetails.service_equip,\n \"Services & Equip\"\n ),\n backendKey: \"service_equip\",\n },\n {\n id: 2936,\n label: renderIcon(workshopOrderDetails.additional_maint, \"Add’l Maint\"),\n backendKey: \"additional_maint\",\n },\n {\n id: 2837,\n label: renderIcon(\n workshopOrderDetails.certification,\n \"Certification\"\n ),\n backendKey: \"certification\",\n },\n {\n id: 2838,\n label: renderReleaseIcon(workshopOrderDetails, \"Release\"),\n backendKey: [\"release_scrap\", \"release_away_base\", \"release_good_out\", \"release_no_good_out\"]\n },\n ].filter((tab) => {\n if (action === \"Send Quote \") {\n setCurrentTab(2815)\n if (typeof tab.backendKey === \"object\") return;\n return tabDetailsWhenOrderGen[tab.backendKey] !== 0\n }\n else if (action === \"calendarAction\") {\n setCurrentTab(2834)\n return workshopOrderDetails[tab.backendKey] !== 0\n }\n else if (typeof tab.backendKey === \"object\" && action != \"Send Quote \") {\n if (workshopOrderDetails[tab.backendKey[0]] != 0) return \"release_scrap\"\n if (workshopOrderDetails[tab.backendKey[1]] != 0) return \"release_away_base\"\n if (workshopOrderDetails[tab.backendKey[2]] != 0) return \"release_good_out\"\n if (workshopOrderDetails[tab.backendKey[3]] != 0) return \"release_no_good_out\"\n }\n else {\n return workshopOrderDetails[tab.backendKey] !== 0\n }\n }),\n [workshopOrderDetails, isGettingDetails, tabDetailsWhenOrderGen]\n );\n // console.log(\"currentSate-----\", action)\n useEffect(() => {\n if (state.tab === \"induction\") {\n if (\n state.tab === \"induction\" &&\n state.isEditing &&\n state.showToastMessage\n ) {\n message.showToastMessage({\n message: \" Close Tab before leaving this tab!\",\n variant: \"error\",\n });\n }\n }\n if (state.tab === \"quote\") {\n if (state.tab === \"quote\" && state.isEditing && state.shouldShowWarning && !state.warningDialogState && !state.warningState) {\n message.showToastMessage({\n message: \" Close Tab before leaving this tab!\",\n variant: \"error\",\n });\n }\n }\n if (state.tab === \"planning\") {\n if (\n state.tab === \"planning\" &&\n state.isEditing &&\n state.shouldShowWarning && !state.warningDialogState && state.controlPlanningPop\n ) {\n message.showToastMessage({\n message: \" Close Tab before leaving this tab!\",\n variant: \"error\",\n });\n }\n }\n if (state.tab === \"release\") {\n if (\n state.tab === \"release\" &&\n state.isEditing &&\n state.showToastMessage\n ) {\n message.showToastMessage({\n message: \" Close Tab before leaving this tab!\",\n variant: \"error\",\n });\n }\n }\n }, [state]);\n\n const clickHandler = () => {\n // console.log(\"called tab close\")\n if (!props?.tab) {\n if (action === \"Send Quote \") {\n typeof paginationReset === \"function\" && paginationReset()\n }\n getMaintenanceOrderList();\n }\n if (copyIdflag) {\n setCopyIdFlag(false)\n setCopyPlanningId({})\n }\n if (tabId === 23 && tabName === \"Operations\") {\n getMaintenanceOrderList()\n getCalenderActionTenDays()\n getCalenderActionTwoDays()\n }\n if (state.isEditing) {\n setState((ps) => ({\n ...ps,\n shouldShowWarning: true,\n handleConfirm: handleClose,\n }));\n return;\n }\n if (props.stoppageOrderClose) {\n props.stoppageOrderClose();\n }\n handleClose()\n };\n\n\n const getWorkshopOrderDetails = async () => {\n console.log(\"called tab api\")\n setIsGettingDetails(true);\n try {\n const { data } = await MaintenanceServices.getOrderDetails(currentSelection.id);\n console.log(\"workshop===\", data[0])\n setWorkshopOrderDetails(data[0]);\n setOrderStateNum(data[0]?.order_state_id);\n setIsGettingDetails(false);\n } catch (error) {\n // console.log(\"error\", error);\n setIsGettingDetails(false);\n }\n };\n\n useEffect(() => {\n if (action !== \"Send Quote \") getWorkshopOrderDetails();\n }, []);\n\n useEffect(() => {\n if (workshopOrderDetails?.quotation === 4) setTabStatus(true);\n }, [workshopOrderDetails.quotation]);\n\n\n const displayProductionTab = (tabId) => {\n if (tabId === 25 || props?.fromPlanninngProduction) {\n const filteredNavMenu2 = navMenu2.filter((item) => item.id != 2833 && item.label != \"Commercial\");\n // console.log(\"menudetails\", orderStateNum)\n return filteredNavMenu2\n }\n else {\n return navMenu2\n }\n }\n\n\n\n const displayMaintenanceTab = (tabId) => {\n if (tabId === 24 || props?.fromPlanninng) {\n const filteredNavMenu1 = navMenu1.filter((item) => item.id != 2833 && item.label != \"Commercial\");\n // console.log(\"menudetails\", filteredNavMenu1)\n return filteredNavMenu1\n }\n else {\n return navMenu1\n }\n }\n\n // console.log(\"warninf statet is-=====================\", workshopOrderDetails.release_good_out)\n\n return (\n \n \n \n \n \n \n \n {tabId === 21 || tabId === 25\n ? \"Production Orders\"\n : tabId === 23\n ? \"Storage Orders\"\n : \"Maintenance Order\"}\n \n \n \n
\n {action && (\n \n )}\n
\n\n {\n
\n {\n setClickedTabId(newValue);\n setState((ps) => ({\n ...ps,\n shouldShowWarning: true,\n handleConfirm: () => setCurrentTab(newValue),\n showToastMessage: true,\n editTabStatus: EdtabStatus ? true : false\n }));\n }\n : setCurrentTab\n }\n />\n {\n \n }\n
\n \n {currentTab === 2815 && workshopOrderDetails.quotation !== 0 && (\n \n )}\n {tabId === 21 || tabId === 25\n ? currentTab === 2918 &&\n workshopOrderDetails.induction !== 0 && (\n \n )\n : currentTab === 2818 &&\n workshopOrderDetails.induction !== 0 && (\n \n )}\n {currentTab === 2826 && workshopOrderDetails.planning !== 0 && (\n \n )}\n {currentTab === 2831 && workshopOrderDetails.inspection !== 0 && (\n \n )}\n {currentTab === 2881 && workshopOrderDetails.production !== 0 && (\n \n )}\n {tabId !== 24 && tabId !== 25 && currentTab === 2833 && workshopOrderDetails.commercial !== 0 && (\n \n )}\n {currentTab === 2834 && workshopOrderDetails.calendar_maint !== 0 && (\n \n )}\n {currentTab === 2936 && workshopOrderDetails.additional_maint !== 0 && (\n \n )}\n {currentTab === 2844 && workshopOrderDetails.maintenance !== 0 && (\n \n )}\n {currentTab === 2835 && workshopOrderDetails.part_tools !== 0 && (\n \n )}\n {currentTab === 2836 &&\n workshopOrderDetails.service_equip !== 0 && (\n \n )}\n {currentTab === 2837 &&\n workshopOrderDetails.certification !== 0 && (\n setAction(null)}\n tabStatus={workshopOrderDetails.certification === 3}\n orderStateNum={orderStateNum}\n getWorkshopOrderDetails={getWorkshopOrderDetails}\n getMaintenanceOrderList={getMaintenanceOrderList}\n permission={props?.permission}\n />\n )}\n {currentTab === 2838 &&\n \n }\n \n
\n
\n }\n\n {/* This will triger if user either try to change the tab or go back. */}\n {/* There are two implimentation of the same functionality becuase the react-router-dom will not able to\n notice the change of dialog becuase the dialogs are not opening with help of routing or any route.\n */}\n {state.tab !== \"induction\" &&\n state.tab !== \"planning\" &&\n state.tab === \"quote\" &&\n state.shouldShowWarning &&\n !state.editTabStatus &&\n state.isEditing ? (\n \n setState((ps) => ({ ...ps, shouldShowWarning: false }))\n }\n handleConfirm={() => {\n // state.handleConfirm();\n setState((ps) => ({\n ...ps,\n shouldShowWarning: true,\n isEditing: true,\n }));\n }}\n hideYesButton={true}\n title=\"Warning\"\n description=\"Data is NOT saved! Don't leave without saving data!!\"\n />\n ) : null}\n {/* This dialog will triger if isEditing is true and user try to change the route */}\n {state.tab !== \"induction\" ? (\n \n ) : (\n \n )}\n {/* {state.tab === \"planning\" && (\n \n )} */}\n {/* {state.tab === \"quote\" && (\n \n )} */}\n {state.tab !== \"induction\" &&\n state.tab !== \"planning\" &&\n state.tab === \"quote\" &&\n state.warningDialogState &&\n state.isEditing &&\n state.shouldShowWarning ? (\n \n setState((ps) => ({ ...ps, shouldShowWarning: false }))\n }\n handleConfirm={() => {\n state.handleConfirm();\n setState((ps) => ({\n ...ps,\n shouldShowWarning: false,\n isEditing: false\n }));\n }}\n hideYesButton={false}\n btnTitle=\"Yes\"\n title=\"Warning\"\n description=\"Data is NOT saved! Are you sure want to leave this page?\"\n />\n ) : null}\n\n {state.tab !== \"induction\" &&\n state.tab !== \"quote\" &&\n state.tab === \"planning\" &&\n state.isEditing &&\n state.shouldShowWarning &&\n !state.editTabStatus ? (\n \n setState((ps) => ({ ...ps, shouldShowWarning: false }))\n }\n handleConfirm={() => {\n // state.handleConfirm();\n setState((ps) => ({\n ...ps,\n shouldShowWarning: true,\n isEditing: true,\n }));\n }}\n hideYesButton={true}\n title=\"Warning\"\n description=\"Data is NOT saved! Don't leave without saving data!!\"\n />\n ) : null}\n\n {state.tab !== \"induction\" &&\n state.tab !== \"quote\" &&\n state.tab === \"planning\" &&\n state.warningDialogState &&\n state.isEditing &&\n state.shouldShowWarning ? (\n \n setState((ps) => ({ ...ps, shouldShowWarning: false }))\n }\n handleConfirm={() => {\n state.handleConfirm();\n setState((ps) => ({\n ...ps,\n shouldShowWarning: false,\n isEditing: false\n }));\n }}\n hideYesButton={false}\n btnTitle=\"Yes\"\n title=\"Warning\"\n description=\"Data is NOT saved! Are you sure want to leave this page?\"\n />\n ) : null}\n {state.tab !== \"induction\" &&\n state.tab !== \"quote\" &&\n state.tab != \"planning\" &&\n state.tab === \"release\" &&\n state.isEditing &&\n state.shouldShowWarning ? (\n \n setState((ps) => ({ ...ps, shouldShowWarning: false }))\n }\n handleConfirm={() => {\n state.handleConfirm();\n setState((ps) => ({\n ...ps,\n shouldShowWarning: false,\n isEditing: false\n }));\n }}\n hideYesButton={false}\n btnTitle=\"Yes\"\n title=\"Warning\"\n description=\"Data is NOT saved! Are you sure want to leave this page?\"\n />\n ) : null}\n
\n );\n}\n\nexport default React.memo(TabDetails);\n","module.exports = __webpack_public_path__ + \"static/media/CheckTick.9fd23558.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAGOFJREFUeJzt3XvUZldB3/HvJBNuuQDRqEUBMZIgIFhBRWGJgRaQ5ZVUBSl4QwritV1qLbLsql0CVkXU6rKCVkMRhOIFUJaWgAZExbuCIYDhKjcjIQQwJGH6x5mJk2FmMpN539nnefbns9ZeJH/t33lzOOf3nMs+BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVe0YHYOvsqe5UfWJ1u+r0/ePM/f9unwOOxwerD1VXVx/Y/+8frN5cXTMw18ZzMOZEnFN9cXXv6vzqvP3jNiNDAVO4vnpLdVn1d9UbqldVrx+YaaMoAByPs6oHVg/aPz47+xCwLu+uXlFdXL28unxsnPVy8OamnNJysn9s9YiWy/kAm+L11a9Uv1S9d3CWVVEAOJK7Vv+henT1KYOzAJyoj1a/Xf1i9ZJq39g44ykAHOqe1fdVj6r2Ds4CsBteV/1o9dzqusFZhlEAOOC+1Q9WX5H9ApjDm6qntdwiuHZwlpPOgZ6zqx+qvr3lfj/AbC5rOQb+3uggJ5MCMK891WOqH2t5nQ9gdi+ovqN6z+ggJ4MCMKfzq/9d3W9wDoC1ubL63upZo4PsNgVgPhdWz65uOzoIwIq9qPqWlkKwldzzncetqmdWL8zJH+CmPKL6k+pzRgfZLaeODsBJceeWVbG+YnQQgA3yCdU3Vu+q/mJslJ2nAGy/u7ec/M8bHQRgA+2tvrK6dfX/BmfZUQrAdvv8ltda/tXoIAAb7gEtb0y9rC1ZRVAB2F4Pr16a+/0AO+XzW96ienHL1wg3mgKwnS5o2UFvPToIwJa5Z8u3Un69Db8SoABsn3u1XKI6Y3QQgC11z+qTWq6ybiwFYLuc2/Id7E8cHQRgy31ey4eELhkd5OZSALbHOdUrqzsNzgEwiwuqt1V/OTrIzWElwO2wp/qNvOcPcLJdU31hG7hOgJUAt8P35eQPMMItq1+rzhod5Hi5BbD5vqC6KP8tAUY5u+UZrBeODnI8nDQ22+1aVvk7e3QQgMndo3pn9eejgxwrzwBstp+pnjQ6BABVXVXdreXbAavnCsDm+tzq5/McB8Ba3LLljazfGB3kWLgCsJlOqV5d3W90EABuZF/14JY1WVbNr8fN9Lic/AHWaE/109Vpo4PcFLcANs+tqhdVZ44OAsBhfVL11la+NoArAJvnW6o7jA4BwFH9QLV3dIijcQVgs5xW/WrL638ArNfZ1Ruqvxkd5EhcAdgsj64+fXQIAI7JD7bi86y3ADbL66vPGh3iOLy3urR6R3V1dWUb/v1s4KQ7szq95fW681t+BG3S1euvrH5rdAg22/1aTp5rHtdVL2t5TuEuu/NnACZ3VvVl1c9V/9T4495NjV/fnT8DM/nZxu/IRxofqp5R3XHXth7g492y+saWe+2jj4NHGtdUn7BL288EblH9Y+N35MONF1d32r1NB7hJp1SPbb3HSUu2c7Nd2Pgd+NBxVfWo3dxogOP0adUljT8+Hjr+aDc3mu32/MbvwAePt7ZZDyMC89hb/a/GHycPHZ6L4rjtaXmafvTOe2C8saVlA6zVnurpjT9eHjwet6tbzFa6V+N33APjXdVn7O7mAuyIPa3rSsBzd3dz2Ubf3fgdd1/LK34P2uVtBdhJe1vPMwHvzto7HKffbPyOu6/6od3eUIBdcMf+ZRGy0eMeu7ytbJk1vNZyacv7tgCb6DsafxzdVz1+tzeU7XFO43fYfdVX7faGAuyiU1t+yIw+lj5jtzf0eKz2IwVUy7rXo72u5TYEwKa6vnra6BCt45h+AwVg3e42OkDLetv7RocAOEHPra4YnEEB4JidN3j+a6vnDc4AsBM+Wr1gcIY7V7canOEGCsC6febg+f+48Y0ZYKe8dPD8p7aiFQEVgHW73eD5Xzl4foCd9ActzwOMNPq4fgMFYN3OHDz/Xw2eH2AnXVW9ZXCGMwbPfwMFYN1G7yhvHDw/wE67dPD8Zw2e/wYKwLqN3lHeN3h+gJ32j4PnH/3D7gYKwLqN3lGuHjw/wE67avD8o3/Y3UABWLe9g+e/bvD8ADvt2sHznzZ4/hsoAAAwIQUAACakAADAhBQAAJiQAgAAE1IAAGBCCgAATEgBAIAJKQAAMCEFAAAmpAAAwIQUAACYkAIAABNSAABgQgoAAExo9PfmN9Udq/Or86q7VedWZ+wft9v/v6fvH5vsQ6MDwGSura6urmz5/9/V+8c7qzccNN5UXTMoI1tCAbhpe6v7VhdUD6ru13KCB9hpp1W33z+O5vrq0uri/eP3q/fvbjS2jQJweKdXF1b/rnpgddbYOAA3cmp1j/3jO6qPVX9R/XZ1UfXGcdHYFArAvzil+qLqMdWjqjPHxgE4ZqdU99k/nlL9WUsReG71voG5WDEPAdatqidVb64uqR6fkz+w2e5T/WT19urZ1V3HxmGNZi4Ap1ff1fIwzc9Unz40DcDOu2X1zS3PC7y4pRhANWcB2Ft9T/XWlob8qWPjAOy6U6ovq15b/d/qLmPjsAazFYD7Vq+pfqL6hMFZAE62PdUjqtdV/7XlCgGTmqUA3L56ZvXHLSUAYGa3rn6o+tvqoYOzMMgMBeCBLTv5dzbH9gIcq8+sXlb9fK4GTGebT4h7qu+vXl7dYXAWgDV7fPWHLYWASWxrATin+p3qaS0LZgBwdJ/bsn7A140OwsmxjQXg3JYH/dzXAjg+Z1XPa/nxxJbbtgJw4Cn/c0cHAdhg39+yPsq2nSM4yDb9x72g5X7/OaODAGyBJ1UvbFktlS20LQXgy1ueZPXRHoCd89XVr1e3GB2EnbcNBeB+1a9mBwXYDQ+rfrntOF9wkE3/D3qP6qUt6/oDsDse2fJMAFtkkwvAp7V8+/rs0UEAJvDE6smjQ7BzNrUA3Lrll/+dRgcBmMgPVxeODsHO2NQC8JPVvUaHAJjMnupZ1WeMDsKJ28QC8DUty1YCcPLdrnp+vh2w8TatAJxb/cLoEACTu2/19NEhODGbVAD2VL9S3XZ0EAD6zupBo0Nw821SAfjm6otGhwCgWn6U/VxuBWysTSkAZ1dPHR0CgBs5r/qPo0Nw82xKAXhq1vgHWKOnVHcZHYLjtwkF4F9XjxsdAoDDunX1o6NDcPw2oQA8uc3ICTCrC6t7jg7B8Vn7ifVuLV+jAmC99lT/eXQIjs/aC8B/af0ZAVg+GHTX0SE4dms+ud6pZYcCYP1Orb5vdAiO3d7RAY7i26rTRoc4Bh+pXlX9fvW31WXVFdWH9g+AY3VadUZ1+5YfQedX968uaPkC6tr9++p7qytHB2FznVK9vdq34vHa6puqM3fpbwBwwJ7qAdWzq39u/PHvaONbd+lvsFN+vLF/H+sm3IR/0/id+Ejjr6uH7d6mAxzVp7aswHd944+HhxuX7N6m7wgFYL+1PgPwmNEBDuPa6geq+1QvG5wFmNc7qydWX1C9fnCWw7l/Phe8EdZYAE6vHjE6xCH+oXpg9bSWIgAw2p9Wn1ddNDrIIfZUjx4dgpu2xgLwxS0PwazF5S2ZXjM6CMAhPlw9tvW9g//w0QG4aWssABeMDnCQd1RfUr15cA6Ao3l69SOjQxzkvtVZo0NwdArAkX2wekj1ttFBAI7BD1bPGR1iv70tt01ZsbUVgNu1fPxnDb6t+rvRIQCO0b7qCa3nwcC1/JjjCNZWAB7YsprUaC9qPU0a4Fh9qGV9ko+NDlI9aHQAjm5tBeDeowO0rOz3PaNDANxMf9KyYNBod28zVnOd1toKwN1GB2j5P477/sAm++Hqo4MznJb1AFZtbQXgvMHzf6z6icEZAE7U26tfHR2i5VsGrNSaCsCexheAV7a89w+w6X55dIAUgFVbUwG4Q+M/rPOCwfMD7JTfr949OIMCsGJrKwCjvXx0AIAd8rHqFYMzrOG4zhGsqQCMXv73iuqNgzMA7KRXD55/9FVdjmJNBWD0jnLp4PkBdtobBs8/+rjOUaypAIy+AvDWwfMD7LTRDzUrACu2pgIw+sMRVw2eH2CnjT6uKQArtqYCcOvB839k8PwAO+3Dg+e/zeD5OYo1FYA9g+ffN3h+gJ02+rg2+rjOUaypAAAAJ4kCAAATUgAAYEIKAABMSAEAgAkpAAAwIQUAACakAADAhBQAAJiQAgAAE1IAAGBCCgAATEgBAIAJKQAAMCEFAAAmpAAAwIQUAACYkAIAABNSAABgQgoAAExIAQCACSkAADAhBQAAJqQAAMCEFAAAmJACAAATUgAAYEIKAABMSAEAgAkpAAAwIQUAACakAADAhBQAAJiQAgAAE1IAAGBCCgAATEgBAIAJKQAAMCEFAAAmpAAAwIQUAACYkAIAABNSAABgQgoAAExIAQCACSkAADAhBQAAJqQAAMCEFAAAmJACAAATUgAAYEIKAABMSAEAgAkpAAAwIQUAACakAADAhBQAAJiQAgAAE1IAAGBCCgAATEgBAIAJKQAAMCEFAAAmpAAAwIQUAACYkAIAABNSAABgQgoAAExIAQCACSkAADAhBQAAJqQAAMCEFAAAmJACAAATUgAAYEIKAABMSAEAgAkpAAAwIQUAACakAADAhBQAAJiQAgAAE1IAAGBCCgAATEgBAIAJKQAAMCEFAAAmpAAAwIQUAACYkAIAABNSAABgQgoAAExIAQCACSkAADAhBQAAJqQAAMCEFAAAmJACAAATUgAAYEIKAABMSAEAgAkpAAAwIQUAACakAADAhBQAAJiQAgAAE1IAAGBCCgAATEgBAIAJKQAAMCEFAAAmpAAAwIQUAACYkAIAABNSAABgQgoAAExIAQCACSkAADAhBQAAJqQAAMCEFAAAmJACAAATUgAAYEIKAABMSAEAgAkpAAAwIQUAACakAADAhBQAAJiQAgAAE1IAAGBCCgAATEgBAIAJKQAAMCEFAAAmpAAAwIQUAACYkAIAABNSAABgQgoAAExIAQCACSkAADAhBQAAJqQAAMCEFAAAmJACAAATUgAAYEIKAABMSAEAgAkpAAAwIQUAACakAADAhBQAAJiQAgAAE1IAAGBCCgAATEgBAIAJKQAAMCEFAAAmpAAAwIQUAACYkAIAABNSAABgQgoAAExIAQCACSkAADAhBQAAJqQAAMCEFAAAmJACAAATUgAAYEIKAABMSAEAgAkpAAAwIQUAACakAADAhBQAAJiQAgAAE1IAAGBCCgAATEgBAIAJKQAAMCEFAAAmpAAAwIQUAACYkAIAABNSAABgQgoAAExIAQCACSkAADAhBQAAJqQAAMCEFAAAmJACAAATUgAAYEIKAABMSAEAgAkpAAAwIQUAACakAAAwkz2D5983eP4bKAAAzOT0wfN/aPD8N1AAAJjJWYPnv3rw/DdQAACYyV0Gz3/V4PlvoAAAMIs91XmDM7gCAAAn2d2r2w/O4AoAAJxkDx4doHrX6AAHKAAAzOLrBs//gRQAADipzqu+cHCGywbPfyMKAAAz+P7GLwJ06eD5b0QBAGDbnVc9ZnSIXAEAgJPqp6vTRoeo/nJ0gIMpAABssydUDxkdorqu+oPRIQ6mAACwre5TPWN0iP3+tBWtAVAKAADb6TOql1S3Gh1kv4tHBziUAgDAtvms6hXVp4wOchAFAAB20UOrV1V3Gh3kIB+oXj06xKEUAAC2wW2qp1e/XZ09OMuhXlD98+gQh9o7OgAAnIBTqq+tnlp9+tgoR3TR6ACHowAAsIk+uXpk9cTq/MFZjuby6pLRIQ5HAQBgzc6qzqjOaTnR37u6oPq8NuMc9pxq3+gQh7MJfzwANtNtWunJ7yS5tnrW6BBH4iFAANgdv1S9bXSII1EAAGDnXV/92OgQR6MAAMDOe271xtEhjkYBAICddV31I6ND3BQFAAB21k9Vl44OcVMUAADYOe+u/tvoEMdCAQCAnfNdLWv/r54CAAA74/eqXxsd4lgpAABw4t5fPX50iOOhAADAidlXfVP1lsE5josCAAAn5seq3xwd4ngpAABw872mevLoEDeHAgAAN8/fV49o+ejPxlEAAOD4va/60pb3/jeSAgAAx+eD1cOqy0YHOREKAAAcuw9XX1X9+eggJ0oBAIBj8/7qodXFo4PshL2jAwDABnhXy2X/vx4dZKe4AgAAR/d31f3aopN/KQAAcDS/Wd2/etvoIDtNAQCAj3dN9d3VV7fc+986ngEAgBt7a/XI6o9GB9lNrgAAwOK66qeqe7XlJ/9yBQAAqi6pnlT9zeggJ4srAADM7O3VN1QPbKKTf7kCAMCc3lL9ZPXz1T+PjTKGAgDATP62enr1vJZ7/tNSAADYdu+vXlBdVL262jc2zjooAABso/e0rNn/vOp3qmvHxlkfBQCAbfBPLU/yX7x/vC6/9I9KAQBgza4+aHygumr/uGz/eEN1afW+UQE3lQIAwG75cHX66BAcnnUAAGBCCgAATEgBAIAJKQAAMCEFAAAmpAAAwIQUAACYkAIAABNSAABgQgoAAExIAQCACSkAADAhBQAAJqQAAMCEFAAAmNCaCsC1g+c/bfD8ADtt9HFt9HGdo1hTAbh68PxnDJ4fYKedOXj+Dw6en6NYUwEYvaOcM3h+gJ02+rg2+rjOUaypAIy+AnDXwfMD7LTzB8+vAKzYmgrA6B3l3NwGALbLvQfPP/q4zlGsqQC8f/D8e6sHDM4AsJMuGDz/lYPn5yjWVAAurz42OMPDB88PsFM+pbrv4AxvGjw/R7GmAvCR6m2DMzyy8a/NAOyER1WnDs5w6eD5OYo1FYCqNwye/5zqawZnADhRp1ZPGB2iumx0AI5MAfh4P9D6/i4Ax+Nrq/NGh2gdx3Q2xBOqfSsY37rbGwqwS25TvaXxx9H37vJ2smU+u/E77b7qH1seoAHYNP+j8cfQfdWLdntD2S57qnc3fsfdV72i8Q/QAByPh1XXN/74ua/69l3eVrbQ8xu/4x4Yz9jlbQXYKXevrmj8cfPAuPvubi7baC3PARwYT9ndzQU4Yee2vEY9+nh5YPxDyxVdOC53bfzOe+j48bwZAKzTfVvPrdMD46Jd3WK22p81fgc+dPxu9Um7udEAx+kJLYuojT4+Hjq+fDc3mu323Y3fgQ83/qn6rlwNAMb6zOp3Gn9MPNx4b1ZU5QR8cnVt43fkI42/bFkxcO9u/QEADuP86herjzb+OHik8cxd23qm8ZLG78g3Nd7V8qbAQ1oW3wDYSXuqe7ZcFf3Dxh/zjmWM/gARx2jNT2leWL1wdIjjcG319y1rX1/R8h3sDw9NBGyavdWZ1dnVnVuW873t0ETH52+qe40OwbFZcwE4tXpdyyUvANbv0dVzR4fg2Kx5pbt91YeqrxwdBICb9ObqidXHRgfh2Kz9afbntHzUAoB1e2p13egQHLs1XwGopUleVz18dBAAjujt1eNavkPAhlj7FYCqZ1VvHB0CgCN6csuriWyQNT8EeLB/27ISHwDr8qrqi1ue22KDrP0WwAF/3/IurK9LAazHdS0Par9ndBCO3ybcAjjge6qrR4cA4AbPqP56dAhunk25AlB1VUsB+NLRQQDoTdXX597/xtqkAlD12pZVpj5rdBCAiV3T8mPsraODcPNt0i2AWh4y+ebq8tFBACb2n6o/Hx2CE7MpbwEc6vOrS6pbjA4CMJkXtnwNlQ23abcADnhndWUWCAI4mV7f8tT/NaODcOI2tQBU/Ul1q+oBo4MATOCd1YOq944Ows7Y5AJQdXH1adXnjg4CsMWuqC5o+eAPW2LTC0DVS1sWCfJmAMDO+0jL7VYP/W2ZbSgA+6oXt7weeP7gLADb5KrqK6o/GB2EnbcNBaCW5Sh/rbpDbgcA7IT3tHyH5TWjg7A7tqUA1HIl4CX7//lLBuYA2HSXtzzw97rRQdg921QADnhlyyuCD247tw9gN/1h9ZDqbaODsLs2bSXAY/XM6v5ZMRDgWO2rfqrlaX9f95vApq4EeKxuWz27unB0EIAVu6L6hpa3qpjEtl8iv6Z6QfWBlgWDLB0McGO/2/Ka35+NDsLJta23AA62r+Wb1edXFw3OArAW72r51f/Q6h2DszDAtt8COJwHV/8zawYAc7qu+tnqKS3v+TOpbb8FcDiXtzwX8N7qs6uzxsYBOCmuq/5P9fXVc/JBn+nNeAXgYLeoHlk9uTpvcBaA3fDR6vnVf68uG5yFFZm9ABywt+X71t+Y9QOA7XB5y3NPv5B7/ByGAvDx7tBSBh6bZYWBzfKB6reqX6le3vIQNByWAnB0d2u5IvCgluWFzx6aBuDGrqte2/Jp9IurV+fePsdIATh2p1SfU31hy6eHz2t5k+CO+TsCu+/Klnv4b6gurf6q5St9HxwZis3lxHXiblOdW52xf9yuOnP/P996YC5g81zf8mreB6qrDxrvyPK8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCu+P8CBSBQ8PU/vQAAAABJRU5ErkJggg==\"","import { Box, Checkbox, Divider, FormControlLabel, Grid, MuiThemeProvider, Typography, useTheme } from '@material-ui/core'\nimport MaterialTable from 'material-table'\nimport React, { useCallback, useContext, useEffect, useReducer, useRef, useState } from 'react'\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank'\nimport CheckBoxIcon from '@material-ui/icons/CheckBox'\nimport TableAction from '../../../../actions/table_actions'\nimport MROButton from '../../../../components/buttons'\nimport MROTextField from '../../../../components/form_components/TextField'\nimport tableIcons, { options } from '../../../../components/universal/table_attributes'\nimport { ToastMessageContext } from '../../../../lib/contexts/message_context'\nimport tableReducer, { INITIAL_TABLE_STATE } from '../../../../reducers/table_reducer'\nimport MROTheme from '../../../../theme/main_theme'\nimport { Autocomplete } from '@material-ui/lab'\nimport DataServiceAction from '../../../../actions/data_actions'\nimport ManageDataDialog from '../../../../components/form_components/manage_data_dialog'\nimport { mapTasks } from './RenderMaintTable'\nimport NumericIncrement from './FieldComponents/numeric_increment'\nimport DataService from '../../../../lib/services/api'\nimport PositiveSwitch from 'components/form_components/switch'\nimport NumericIncrementForWorkOrderLae from './FieldComponents/NumericIncrementForWorkOrderLae'\nimport NumericIncrementForWorkOrderNonLae from './FieldComponents/NumericIncrementForWorkOrderNonLae'\nimport LineCustomerServiceNew from \"lib/services/api/admin/line/line_customers_client\";\nfunction AddMaintTasks({ currentSelection, handleClose, setCreatedId, workOrderId, lineCustomerId }) {\n\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, searchText, inProgress, data: _data } = tableState;\n const message = useContext(ToastMessageContext);\n const [selectedAta, setSelectedAta] = useState(null);\n const [selectedAtaFilter, setSelectedAtaFilter] = useState(null);\n const [ataChapters, setAtaChapters] = useState([]);\n const [filters, setFilters] = useState([]);\n const [error, setError] = useState({});\n const [show, setShow] = useState(false)\n const formRef = useRef(null);\n const [state, setState] = useState({\n part_on: '',\n ata_chapter: '',\n description: '',\n // man_hours: '',\n lae_hrs: '',\n non_lae_hrs: ''\n });\n const [lineData, setLineData] = useState({})\n useEffect(() => {\n if (lineCustomerId) {\n LineCustomerServiceNew.getLineCustomerDetails({\n line_customer_id: lineCustomerId,\n })\n .then((res) => {\n setLineData(res.line_customer)\n })\n .catch((err) =>\n console.log(\"something went wrong from part details\", err)\n )\n .finally(() => { });\n }\n }, [lineCustomerId]);\n const handleChange = ({ target: { name, value } }) => {\n\n if (name === 'description' && value?.length < 1) {\n setCurrentRow({\n ...currentRow,\n description: ''\n })\n }\n setState({\n ...state,\n [name]: value\n })\n\n }\n\n useEffect(() => {\n let chapters = []\n for (let i = 0;i < 100;i++) {\n let obj = {\n id: i + 1,\n name: `${i < 10 ? `0${i}` : i}`\n }\n chapters.push(obj);\n }\n let ataFilters = []\n for (let i = 0;i < 100;i++) {\n let obj = {\n id: i + 1,\n name: `${i < 10 ? `0${i}` : i}`\n }\n ataFilters.push(obj);\n }\n\n getAtaChapters()\n // setAtaChapters(chapters);\n // setFilters(ataFilters);\n // setSelectedAtaFilter(ataFilters);\n }, [])\n\n const getAtaChapters = useCallback(\n () => {\n let params = {\n\n }\n DataService.getData(params, 'listingATAChapter').then(res => {\n setAtaChapters(res.data.map(d => ({\n id: d.ata_chapter_id,\n name: d.chapter_number\n })))\n setFilters(res.data.map(d => ({\n id: d.ata_chapter_id,\n name: d.chapter_number\n })))\n }).catch(err => {\n\n })\n },\n [],\n )\n\n useEffect(() => {\n let params = {\n page: page + 1,\n count_per_page: pageSize,\n search_text: searchText,\n ata_chapter_id: selectedAtaFilter?.id\n }\n TableAction.getList(dispatch, message, params, 'operationTaskLibrary')\n }, [page, totalCount, pageSize, searchText, selectedAtaFilter?.id])\n\n const handleCloseMenu = (data = '') => {\n setCreatedId(data)\n handleClose()\n }\n\n const [errors, setErrors] = useState({});\n\n const handleSubmit = formData => {\n formData.append('id', workOrderId)\n formData.append('task_type', mapTasks[currentSelection?.child_section_name])\n formData.append('save_task', formData.get('save_task_check') === null ? 'false' : 'true')\n formData.append('ata_chapter_id', selectedAta?.id)\n formData.append('man_hours', Number(state.lae_hrs) + Number(state.non_lae_hrs))\n formData.append(\"approved\", lineData?.direct_library ? true : false)\n let valid = true;\n let error = {};\n if (formData.get('ata_chapter_id') === '') {\n error['ata_chapter_id'] = {\n valid: false\n }\n valid = false;\n } if (formData.get('task_tlp') === '') {\n error['task_tlp'] = {\n valid: false\n }\n valid = false;\n } if (formData.get('description') === '') {\n error['description'] = {\n valid: false\n }\n valid = false;\n } if (formData.get('lae_hrs') === '') {\n error['lae_hrs'] = {\n valid: false\n }\n valid = false;\n } if (formData.get('non_lae_hrs') === '') {\n error['non_lae_hrs'] = {\n valid: false\n }\n valid = false;\n }\n\n if (!valid) {\n setErrors(error)\n return\n }\n\n DataServiceAction.createData(dispatch, message, formData, 'operationalTasks', '', handleCloseMenu)\n }\n\n const columns = [{\n headerStyle: {\n textAlign: 'left',\n },\n cellStyle: {\n textAlign: 'left',\n width: '1%'\n }\n }, {\n title: 'Description',\n field: 'description',\n render: rowData => rowData.description ? rowData.description : '-',\n headerStyle: {\n textAlign: 'left',\n width: '20%',\n width: 100\n },\n cellStyle: {\n textAlign: 'left',\n width: '20%',\n width: 100,\n minWidth: '10%'\n }\n }, {\n title: 'Total Hrs',\n field: 'man_hours',\n headerStyle: {\n textAlign: 'left',\n width: '30%'\n },\n cellStyle: {\n textAlign: 'left',\n width: '30%'\n }\n }]\n\n const tableOptions = {\n ...options,\n page: page,\n search: true,\n total: totalCount,\n pageSize: pageSize,\n searchText: searchText,\n scroll: false,\n };\n\n const [currentRow, setCurrentRow] = useState(null);\n useEffect(() => {\n if (currentRow?.ata_chapter) {\n setSelectedAta(ataChapters.find(ata => ata.name == parseInt(currentRow?.ata_chapter)))\n }\n if (currentRow) {\n setState({\n // ...state,\n // man_hours: currentRow.man_hours,\n lae_hrs: currentRow.lae_hrs || \"\",\n non_lae_hrs: currentRow.non_lae_hrs || \"\"\n })\n }\n }, [currentRow?.ata_chapter, currentRow?.lae_hrs, currentRow?.non_lae_hrs]);\n\n useEffect(() => {\n if (currentRow?.non_lae_hrs !== \"0.00\" && currentRow?.non_lae_hrs !== null && currentRow?.non_lae_hrs !== undefined) {\n setShow(true)\n } else {\n setShow(false)\n }\n }, [currentRow?.non_lae_hrs])\n\n return (\n \n \n \n \n \n \n \n \n Creating New Tasks\n \n \n \n\n option.id === value.id}\n value={(selectedAta && selectedAta.id) ? selectedAta : ''}\n onChange={(event, value) => {\n console.log({ value })\n setSelectedAta(value); setError({ ...error, ata: false });\n }}\n id=\"tags-standard\"\n name={\"ata_chapter_id\"}\n options={ataChapters}\n getOptionLabel={(option) => option.name}\n renderInput={(params) => (\n \n )}\n />\n\n \n\n \n\n
\n setShow(!show)}\n name=\"show_not_approved_items\"\n />\n }\n label={{\"Add Mechanic / Technician (non LAE) Man-Hours ?\"}}\n labelPlacement=\"start\"\n name={\"show_not_ready_items\"}\n />\n
\n {show &&\n }\n\n \n {lineData?.direct_library ? }\n checkedIcon={}\n name=\"save_task_check\"\n />\n }\n label={lineData?.direct_library ? \"Add to your library\" : \"Request to be added to Library\"}\n /> : \" \"}\n \n \n\n\n Cancel\n   \n Add\n \n
\n\n
\n\n \n\n \n \n \n Importing task from library\n \n \n \n option.id === value.id}\n value={(selectedAtaFilter && selectedAtaFilter.id) ? selectedAtaFilter : ''}\n onChange={(event, value) => {\n setSelectedAtaFilter(value);\n }}\n id=\"tags-standard\"\n name={\"ata_chapter_id\"}\n options={filters}\n getOptionLabel={(option) => option.name}\n renderInput={(params) => (\n \n )}\n />\n \n \n \n {/* */}\n\n ({\n backgroundColor: (currentRow?.id === rowData.id) ? '#eee' : '#FFF',\n })\n }}\n icons={tableIcons}\n title=\"\"\n data={_data.task_libraries}\n columns={columns}\n isLoading={inProgress}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n onRowClick={(e, rowData) => { setCurrentRow(rowData) }}\n totalCount={totalCount}\n page={page}\n />\n {/* */}\n \n \n \n
\n
\n
\n
\n )\n}\n\n\nexport default React.memo(AddMaintTasks);\n","module.exports = __webpack_public_path__ + \"static/media/audience.5ec86ce6.svg\";","import { makeStyles } from \"@material-ui/core\";\n\nexport const useReturnIssuedPartStyles = makeStyles((theme) => ({\n dialog: {\n \"& .MuiDialogContent-root\": {\n padding: \"26px 85px\",\n },\n },\n\n modal: {\n \"& .MuiDialog-paperWidthLg\": {\n minWidth: \"750px\",\n // padding: \"26px 85px\",\n // height: \"110vh\"\n },\n },\n\n bodyText: {\n marginBottom: \"24px\",\n fontSize: \"16px\",\n color: \"#4D4F5C\",\n textAlign: \"center\",\n },\n\n qrContainer: {\n position: \"fixed\",\n width: \"100vw\",\n height: \"100vh\",\n top: 0,\n left: 0,\n background: \"rgba(0,0,0,.5)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n transition: \"all .5s\",\n zIndex: 9,\n },\n\n heading: {\n fontSize: \"18px\",\n fontWeight: \"bold\",\n marginBottom: \"25px\"\n },\n\n firstStepRoot: {\n \"& .MuiButtonGroup-root\": {\n marginBottom: \"15px\"\n }\n },\n layout: {\n width: '250px',\n height: '377px',\n fontSize: '11px',\n\n },\n leftSection: {\n paddingLeft: '5px',\n // paddingBottom: '2px',\n color: theme.palette.primary.main\n },\n rightSection: {\n paddingLeft: '5px',\n // paddingBottom: '2px',\n\n },\n qrCode: {\n textAlign: 'center',\n display: 'block',\n paddingBottom: '4px',\n }\n}));\n","import React, { useEffect, useState } from \"react\";\nimport MROButton from \"../../buttons\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Close as CloseIcon } from \"@material-ui/icons\";\nimport { ReactComponent as UploadIcon } from \"../../../assets/icons/UploadDoc.svg\";\nimport DataService from \"../../../lib/services/api\";\nimport Document from \"./pdf.png\";\nimport ImageFile from \"./Image.png\";\nimport { BASE_API_URL_BOXR } from \"../../../lib/constants\";\nimport clxc from \"clsx\";\nimport { Box, CircularProgress, Typography, useTheme } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& > *\": {\n margin: theme.spacing(1),\n },\n },\n input: {\n display: \"none\",\n },\n fileLabel: {\n color: theme.palette.primary.main,\n marginBottom: \"5px\",\n display: \"block\",\n },\n fileView: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n padding: \"15px\",\n border: \"none\",\n minHeight: \"146px\",\n borderRadius: \" 8px\",\n backgroundColor: \"#ffff\",\n marginBottom: \"12px\",\n \"& ul\": {\n display: \"flex\",\n padding: \"0\",\n listStyle: \"none\",\n flexWrap: \"wrap\",\n \"& li\": {\n margin: \"0 10px\",\n textAlign: \"center\",\n \"& div\": {\n width: \"115px\",\n height: \"60px\",\n position: \"relative\",\n marginBottom: \"10px\",\n \"& img\": {\n // maxWidth: \"100%\",\n height: \"-webkit-fill-available\",\n objectFit: \"cover\",\n },\n \"& div\": {\n position: \"absolute\",\n top: \"0\",\n right: \"0\",\n width: \"20px\",\n backgroundColor: \"#F44336\",\n height: \"20px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"#fff\",\n borderRadius: \"50%\",\n },\n },\n \"& span\": {\n width: \"60px\",\n display: \"-webkit-box\",\n WebkitLineClamp: \"1\",\n WebkitBoxOrient: \"vertical\",\n overflow: \"hidden\",\n },\n },\n },\n },\n fileError: {\n color: \"#f44336\",\n },\n}));\n\nfunction SignatureFile(props) {\n const classes = useStyles();\n const {\n name,\n defaultValue,\n process,\n id,\n showBorderOnNoFiles,\n APIUrl,\n } = props;\n\n const [files, setFiles] = useState([]);\n const [selectedFileId, setSelectedFileId] = useState(null);\n const theme = useTheme();\n\n // console.log(\"default balue is===================\", defaultValue)\n\n useEffect(() => {\n if (process && files && files[0] && id) {\n const formData = new FormData();\n formData.append(name, files[0]);\n formData.append(\"id\", id);\n DataService.updateData(formData, \"\", \"authDoc\").then((res) => { });\n }\n }, [process]);\n\n\n return (\n
\n\n {files?.length || defaultValue?.length || showBorderOnNoFiles ?\n
\n {showBorderOnNoFiles && !defaultValue?.length && !files?.length && (\n \n No Signature found\n \n )}\n
    \n {defaultValue?.length\n ? defaultValue?.map((file, index) => {\n const fileName = file.filename;\n // const objectUrl = URL.createObjectURL(file);\n // let uploadImage = objectUrl;\n let uploadImage = \"\";\n\n const fileExtension = file?.filename?.split(\".\")[1];\n if (\n [\"jpg\", \"jpeg\", \"png\"].includes(\n fileExtension?.toLowerCase()\n )\n )\n uploadImage = `${APIUrl ?? BASE_API_URL_BOXR}${file?.url}`\n return (\n \n window.open(`${APIUrl ?? BASE_API_URL_BOXR}${file?.url}`)\n }\n style={{ cursor: \"pointer\", display: 'flex', justifyContent: \"center\", alignItems: \"center\", }}\n >\n
    \n {\"\"}\n\n {/* {fileName} */}\n
    \n \n );\n })\n : null}\n
\n
\n : null}\n
\n );\n}\n\nexport default SignatureFile;\n","import React, { useContext, useState } from \"react\";\nimport { Box, Typography } from \"@material-ui/core\";\nimport MRODialog from \"components/MRODialog\";\nimport ServiceRequestListClientServices from \"lib/services/api/procurement/Services\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\nfunction WarningDialog(props) {\n // const message = useContext(ToastMessageContext)\n const { action, handleClose, title, description,titleColor, handleConfirm, hideYesButton, btnTitle} = props;\n const [busy, setBusy] = useState(null)\n\n return (\n \n \n \n {title}\n \n\n \n {description}\n \n \n \n );\n}\n\nexport default WarningDialog;\n","import React from \"react\";\nimport {\n Box,\n CircularProgress,\n Dialog,\n DialogContent,\n makeStyles,\n} from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\n\nfunction PopupDialog(props) {\n const {\n open,\n handleClose,\n children,\n handleSubmit,\n isLoading,\n width,\n centerActionBtns,\n btnTitle,\n noActionBtns,\n btnLeft,\n bgColor,\n color,\n leftStartIcon,\n rightStartIcon,\n submit,\n hideYesButton,\n notShowButton\n } = props;\n\n const classes = useStyles(props);\n\n const submitHandler = (e) => {\n e.preventDefault();\n typeof handleSubmit === \"function\" && handleSubmit(e);\n };\n\n return (\n \n \n
\n {children}\n {!noActionBtns && \n {!notShowButton && \n {btnLeft ?? \"Cancel\"}\n }\n {!notShowButton && \n {isLoading ? (\n \n ) : (\n btnTitle ?? open\n )}\n }\n }\n \n
\n \n );\n}\n\nexport default PopupDialog;\n\nconst useStyles = makeStyles(() => ({\n dialog: {\n \"& .MuiDialog-paper\": {\n boxShadow: \"0px 3px 6px #00000029\",\n position: \"absolute\",\n // left: (props) =>\n // props?.fromLeft ? `calc(60% - ${props.fromLeft})` : `calc(60% - 250px)`,\n // height: \"717px\",\n },\n\n // \"& .MuiDialogContent-root\": {\n // padding: (props) =>\n // props.padding ? props.padding : \"37px 65px 63px 65px\",\n // overflow: \"hidden\",\n // },\n },\n}));","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"750px\",\n // height: \"110vh\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"50px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden !important\"\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n tableCell: {\n height: '32px',\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n\n },\n })\n);\n\nfunction EstimationHistory(props) {\n const { handleClose, currentSelection } = props\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [data, setData] = useState([])\n const [Loading, setLoading] = useState(false)\n\n\n useEffect(() => {\n setLoading(true)\n\n setData(currentSelection?.history)\n setLoading(false)\n\n }, [currentSelection])\n\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n toolbar: false,\n rowStyle: {\n height: '42px'\n }\n };\n\n const column = [\n\n {\n title: \"Revised\",\n field: \"revised\",\n\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n },\n },\n {\n title: \"User\",\n field: \"user\",\n\n\n },\n\n {\n title: \"TAT\",\n field: \"tat\",\n\n },\n {\n title: \"ETD\",\n field: \"etd\",\n\n },\n\n {\n title: \"Reason\",\n field: \"reason\",\n width: '50%',\n headerStyle: {\n textAlign: \"left\",\n\n width: '50%',\n },\n cellStyle: {\n textAlign: \"left\",\n\n width: '50%',\n },\n },\n ];\n\n\n\n\n\n return (\n
\n \n
\n \n History\n \n\n \n \n \n
\n \n\n
\n )\n}\n\n\nexport default EstimationHistory\n\n","module.exports = \"data:image/png;base64,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\"","import WorkOrderTemplateService from \"../../../lib/services/api/admin/line/work_order_builder_client\";\n\nexport const WORK_ORDER_ACTIONS = {\n UPDATE_SECTION_STATUS: 'update_section_status',\n UPDATE_SECTION_FIELD_STATUS: 'update_section_field_status',\n TOGGLE_LOADING: 'toggle_loading',\n TOGGLE_SECTION_LOADING: 'toggle_section_loading',\n SET_ERROR: 'set_error',\n SET_TEMPLATE_CATEGORIES: 'set_template_categories',\n SET_TEMPLATE_SECTION_DETAILS: 'set_template_section_details',\n SET_CURRENT_CATEGORY: 'current_category',\n}\n\nexport function updateSectionStatus(dispatch, message, formData) {\n WorkOrderTemplateService.updateSectionStatus(formData).then((res) => {\n if (res.success) {\n dispatch({ type: WORK_ORDER_ACTIONS.UPDATE_SECTION_STATUS, response: formData });\n message.showToastMessage({ message: \"Section updated successfully\", variant: \"success\" })\n }\n else {\n dispatch({ type: WORK_ORDER_ACTIONS.SET_ERROR, response: res });\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Couldn't update status.Retry again!\", variant: \"error\" })\n }\n }).catch((e) => {\n message.showToastMessage({ message: e.message || \"Couldn't update status.Retry again!\", variant: \"error\" })\n dispatch({ type: WORK_ORDER_ACTIONS.SET_ERROR, response: e.message });\n })\n}\n\nexport function updateSectionStatusAll(dispatch, message, formData, cb = () => { }) {\n return WorkOrderTemplateService.updateSectionStatusAll(formData).then((res) => {\n if (res.success) {\n dispatch({ type: WORK_ORDER_ACTIONS.UPDATE_SECTION_STATUS, response: formData });\n message.showToastMessage({ message: \"Section updated successfully\", variant: \"success\" })\n cb && cb()\n }\n else {\n dispatch({ type: WORK_ORDER_ACTIONS.SET_ERROR, response: res });\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Couldn't update status.Retry again!\", variant: \"error\" })\n }\n }).catch((e) => {\n message.showToastMessage({ message: e.message || \"Couldn't update status.Retry again!\", variant: \"error\" })\n dispatch({ type: WORK_ORDER_ACTIONS.SET_ERROR, response: e.message });\n })\n}\n\nexport function updateSectionFieldStatus(dispatch, message, formData, handleSuccess) {\n WorkOrderTemplateService.updateFieldStatus(formData).then((res) => {\n if (res.success) {\n dispatch({ type: WORK_ORDER_ACTIONS.UPDATE_SECTION_FIELD_STATUS, response: res });\n message.showToastMessage({ message: \"Status updated successfully\", variant: \"success\" })\n handleSuccess && handleSuccess();\n }\n else {\n dispatch({ type: WORK_ORDER_ACTIONS.SET_ERROR, response: res });\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Couldn't update status.Retry again!\", variant: \"error\" })\n }\n }).catch((e) => {\n dispatch({ type: WORK_ORDER_ACTIONS.SET_ERROR, response: e.message });\n message.showToastMessage({ message: e.message || \"Couldn't update status.Retry again!\", variant: \"error\" })\n })\n}\n\nexport function getSectionsOfTemplate(dispatch, message, formData, cb = () => { }, noLoader) {\n !noLoader && dispatch({ type: WORK_ORDER_ACTIONS.TOGGLE_LOADING });\n WorkOrderTemplateService.getSectionsOfTemplate(formData).then((res) => {\n if (res.success) {\n dispatch({ type: WORK_ORDER_ACTIONS.SET_TEMPLATE_CATEGORIES, response: res.section_list });\n cb && cb()\n }\n else {\n dispatch({ type: WORK_ORDER_ACTIONS.TOGGLE_LOADING });\n }\n }).catch((e) => {\n dispatch({ type: WORK_ORDER_ACTIONS.TOGGLE_LOADING });\n message.showToastMessage({ message: e.message || \"Something went wrong. Try again!\", variant: \"error\" })\n })\n}\n\nexport function getSectionDetailsOfTemplate(dispatch, message, formData) {\n dispatch({ type: WORK_ORDER_ACTIONS.TOGGLE_SECTION_LOADING });\n WorkOrderTemplateService.getSectionsDetailsOfTemplate(formData).then((res) => {\n if (res.success) {\n dispatch({ type: WORK_ORDER_ACTIONS.SET_TEMPLATE_SECTION_DETAILS, response: (res.section_list && res.section_list.sub_sections) ? res.section_list.sub_sections : [] })\n }\n else {\n dispatch({ type: WORK_ORDER_ACTIONS.TOGGLE_SECTION_LOADING });\n }\n }).catch((e) => {\n dispatch({ type: WORK_ORDER_ACTIONS.TOGGLE_SECTION_LOADING });\n message.showToastMessage({ message: e.message || \"Something went wrong. Try again!\", variant: \"error\" })\n })\n}\n\n\nexport function setCurrentCategory(dispatch, category) {\n dispatch({ type: WORK_ORDER_ACTIONS.SET_CURRENT_CATEGORY, response: category });\n}\n\nconst WorkOrderAction = {\n getSectionDetailsOfTemplate,\n updateSectionStatus, updateSectionStatusAll,\n updateSectionFieldStatus,\n getSectionsOfTemplate,\n setCurrentCategory,\n}\nexport default WorkOrderAction;\n","\nimport React, { useState, useContext, useEffect } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport {\n AppBar,\n IconButton,\n Toolbar,\n makeStyles,\n Typography,\n Box,\n ButtonGroup,\n MenuItem,\n Select,\n InputBase,\n FormControl,\n} from \"@material-ui/core\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport { Visibility as ViewIcon } from \"@material-ui/icons\";\nimport TouchAppIcon from \"@material-ui/icons/TouchApp\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport { CommercialServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/commercial\";\nimport { _formatDate, format24HrDateOnly, getOrganisationId } from \"lib/utils/common_utils\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport PriceBreaks from \"../../QuotePopUp/PriceBreaks\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n root: { \"& > :first-child\": { position: \"unset\" } },\n wrapper: {\n padding: \"3%\",\n background: \"white\",\n },\n alert: {\n display: \"flex\",\n justifyContent: \"center\",\n }, partKey: {\n fontSize: \"14px\",\n // padding: \"5px\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"5px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n\n}));\n\nexport default function Historcial(props) {\n\n\n const { handleClose, currentSelection, checked, onClose, currentWorkshopDetails, setInput, input, name, salesRate, setTatDays, setTatquantity, setStandardId, projectParts, setProjectParts, currentSelectedData, quoteStatus, workshop_order_id } = props\n const classes = useStyles();\n const [loading, setLoading] = useState(false)\n const [orderDetails, setOrderDetails] = useState({})\n const [approvedDetails, setApprovedDetails] = useState([])\n const [costDetails, setCostDetails] = useState([])\n const [action, setAction] = useState(null)\n const [filters, setFilters] = useState({ cost_performance: \"initial\" })\n\n const message = useContext(ToastMessageContext)\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n toolbar: false\n };\n\n const handleFilterChange = (keyItem, value) => {\n\n setFilters((prevState) => ({ ...prevState, [keyItem]: value }));\n };\n const getDetails = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n show_per_unit_values: checked,\n id: currentSelection?.id,\n ...filters\n\n\n }\n setLoading(true)\n await CommercialServices.getHistoricalJobsDetails(params).then((res) => {\n setOrderDetails(res?.data?.order_details)\n setApprovedDetails(res?.data?.approved_values)\n setCostDetails(res?.data?.cost_performance)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n\n\n\n }\n\n useEffect(() => {\n getDetails()\n }, [filters])\n\n\n\n const handleCalculation = (rowData) => {\n let saleRate = +currentWorkshopDetails?.salesRate || +salesRate\n let quantity = +currentWorkshopDetails?.quantity\n const calculateValue = (field) => {\n return rowData?.[field] ? parseFloat((+rowData[field] * quantity) / saleRate).toFixed(2) : \"0\";\n };\n\n const labourValue = calculateValue(\"labour\");\n const partsValue = calculateValue(\"parts\");\n const servicesValue = calculateValue(\"service\");\n const equipmentValue = calculateValue(\"equipment\");\n\n // console.log(\"labour===\", labour, labour / saleRate)\n if (name === \"quote\") {\n if (orderDetails?.workshop_standard_price_id !== null) { setStandardId(orderDetails?.workshop_standard_price_id) }\n setTatquantity(rowData?.tat ? +rowData?.tat : 0)\n\n setInput({\n // tat_days: +input?.tat_days || \"0\",\n labour: +labourValue || \"0\",\n parts: +partsValue || \"0\",\n services: +servicesValue || \"0\",\n equipment: +equipmentValue || \"0\",\n aog_fee: +input?.aog_fee || \"0\",\n });\n onClose()\n }\n else if (name === \"project_lookup\") {\n if (quoteStatus === false) {\n let total = (+labourValue) + (+ partsValue) + (+servicesValue) + (+ equipmentValue)\n let value = projectParts.map((item) => {\n if (item.item === currentSelectedData.item) {\n item.project_parts_labour = labourValue\n item.project_parts_parts = partsValue\n item.project_parts_services = servicesValue\n item.project_parts_equipment = equipmentValue\n item.project_parts_total = total ? parseFloat(total).toFixed(2) : 0.00\n }\n return item\n })\n setProjectParts(value)\n onClose()\n }\n else {\n const formData = new FormData()\n formData.append(\"primary_part_id\", currentSelectedData?.primary_part_id)\n formData.append(\"reportable_type\", \"WorkshopOrder\")\n formData.append(\"reportable_id\", workshop_order_id)\n formData.append(\"type\", \"link\")\n formData.append(\"standard_pricing_id\", rowData?.id)\n\n MaintenanceServices.linkUnlinkWOProjectParts(formData).then((res) => {\n onClose()\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n }\n }\n else {\n setInput({\n tat_days: +rowData?.tat || \"0\",\n labour_value: +labourValue || \"0\",\n parts_value: +partsValue || \"0\",\n service_value: +servicesValue || \"0\",\n equipment_value: +equipmentValue || \"0\",\n aog_fee: +input?.aog_fee || \"0\",\n });\n onClose()\n // setTatDays(+rowData?.tat)\n }\n\n\n\n\n\n }\n\n\n\n const columns = [\n {\n title: \" \",\n field: \"title\",\n width: '28%',\n headerStyle: {\n width: '28%',\n textAlign: \"left\",\n paddingLeft: \"20px\",\n },\n cellStyle: {\n width: '28%',\n textAlign: \"left\",\n paddingLeft: \"20px\",\n },\n },\n {\n title: \"Quantity\",\n field: \"quantity\" || \"0.00\",\n\n },\n\n {\n title: \"TAT\",\n field: \"tat\" || \"0.00\",\n\n },\n\n {\n title: \"Labour *\",\n field: \"labour\",\n render: (rowData) => {rowData?.labour ? parseFloat(rowData?.labour).toFixed(2) : \"0.00 \"} ,\n },\n {\n title: \"Parts\",\n field: \"parts\" || \"0.00\",\n render: (rowData) => {rowData?.parts ? parseFloat(rowData?.parts).toFixed(2) : \"0.00 \"} ,\n },\n {\n title: \"Services\",\n field: \"service\" || \"0.00\",\n render: (rowData) => {rowData?.service ? parseFloat(rowData?.service).toFixed(2) : \"0.00 \"} ,\n },\n {\n title: \"Equipment\",\n field: \"equipment\" || \"0.00\",\n render: (rowData) => {rowData?.equipment ? parseFloat(rowData?.equipment).toFixed(2) : \"0.00 \"} ,\n },\n {\n title: \"Other\",\n field: \"aog_fee\" || \"0.00\"\n },\n {\n title: \"Total\",\n field: \"total\" || \"0.00\",\n render: (rowData) => {rowData?.total ? parseFloat(rowData?.total).toFixed(2) : \"0.00 \"} ,\n },\n {\n title: \"Currency\",\n field: \"currency\",\n },\n {\n title: \"Action\",\n render: (rowData) => (\n {\n handleCalculation(rowData)\n }}>\n \n \n ),\n },\n ];\n\n const jobsColumns = [\n {\n title: \n }\n onChange={(e) =>\n handleFilterChange(\"cost_performance\", e.target.value)\n }\n >\n Initial\n Exceptions\n Overall\n \n ,\n field: \"title\",\n width: '28%',\n headerStyle: {\n width: '28%',\n textAlign: \"left\",\n paddingLeft: \"20px\",\n },\n cellStyle: {\n width: '28%',\n textAlign: \"left\",\n paddingLeft: \"20px\",\n },\n },\n\n\n {\n title: \"Labour *\",\n field: \"labour\",\n render: (rowData) => {rowData?.labour ? parseFloat(rowData?.labour).toFixed(2) : \"0.00 \"} ,\n },\n {\n title: \"Parts\",\n field: \"parts\" || \"0.00\",\n render: (rowData) => {rowData?.parts ? parseFloat(rowData?.parts).toFixed(2) : \"0.00 \"} ,\n },\n {\n title: \"Services\",\n field: \"service\" || \"0.00\",\n render: (rowData) => {rowData?.service ? parseFloat(rowData?.service).toFixed(2) : \"0.00 \"} ,\n },\n {\n title: \"Equipment\",\n field: \"equipment\" || \"0.00\",\n render: (rowData) => {rowData?.equipment ? parseFloat(rowData?.equipment).toFixed(2) : \"0.00 \"} ,\n },\n {\n title: \"Other\",\n field: \"aog_fee\" || \"0.00\"\n },\n {\n title: \"Total\",\n field: \"total\" || \"0.00\",\n render: (rowData) => {rowData?.total ? parseFloat(rowData?.total).toFixed(2) : \"0.00 \"} ,\n },\n {\n title: \"Currency\",\n field: \"currency\",\n },\n\n ];\n const GetInfoCard = (props) => {\n // const classes = useStyles();\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n };\n\n\n\n return (\n \n \n \n {\n handleClose()\n }}\n edge=\"start\"\n className={classes.backButton}\n color=\"inherit\"\n aria-label=\"back\"\n >\n \n \n Historical Job\n \n \n
\n\n\n Order Details\n\n\n
\n \n <>\n \n
\n \n \n \n\n
\n
\n\n \n
\n \n \n { setAction(\"price_breaks\") }} style={{ textDecoration: 'underline' }}>{orderDetails?.price_breaks} : \"\"}\n\n />\n\n
\n
\n\n \n
\n {\n if (orderDetails?.workshop_report.length > 0) {\n window.open(orderDetails?.workshop_report[0]?.file_path)\n }\n else {\n message.showToastMessage({\n message: \"No Report Found !\",\n variant: \"error\",\n });\n }\n\n }}\n style={{ cursor: \"pointer\" }}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />}\n />\n {\n if (orderDetails?.commercial_report.length > 0) {\n\n window.open(orderDetails?.commercial_report[0]?.file_path)\n }\n else {\n message.showToastMessage({\n message: \"No Report Found !\",\n variant: \"error\",\n });\n }\n\n }}\n style={{ cursor: \"pointer\" }}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />}\n />\n \n\n
\n
\n\n\n \n \n
\n Approval Values\n\n\n
\n \n
\n Cost Performance\n\n\n
\n \n
\n {action === \"price_breaks\" &&\n setAction(null)}\n workshop_order_id={orderDetails?.workshop_order_id}\n />\n }\n\n\n\n\n
\n\n\n\n
\n )\n}\n","import React, { useState, useContext, useEffect } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport {\n AppBar,\n IconButton,\n Toolbar,\n makeStyles,\n Typography,\n Box,\n ButtonGroup,\n Button,\n FormControlLabel,\n FormControl,\n Select,\n InputBase,\n MenuItem,\n} from \"@material-ui/core\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport MROButton from \"components/buttons\";\nimport SearchBarWithPartsFilters from \"components/search_with_filters_parts\";\nimport TouchAppIcon from \"@material-ui/icons/TouchApp\";\nimport MaterialTable from \"material-table\";\nimport TableAction from \"actions/table_actions\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport { Alert } from \"@material-ui/lab\";\nimport clxc from \"clsx\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport useDebounce from \"lib/utils/debounce\";\nimport { CommercialServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/commercial\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { Visibility } from \"@material-ui/icons\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport Historcial from \"./Historcial\";\nimport PriceBreaks from \"../../QuotePopUp/PriceBreaks\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n root: { \"& > :first-child\": { position: \"unset\" } },\n wrapper: {\n padding: \"3%\",\n background: \"white\",\n },\n alert: {\n display: \"flex\",\n justifyContent: \"center\",\n // color: '#FFB300',\n backgroundColor: `rgba(255, 179, 0, 0.15)`\n },\n title: {\n fontSize: '16px',\n color: theme.palette.primary.main\n },\n}));\n\nexport default function PartPricing(props) {\n\n\n const { handleClose, currentWorkshopDetails, setInput, input, name, setTatDays, setTatquantity, setStandardId, salesRate, projectParts, setProjectParts, currentSelectedData, quoteStatus, workshop_order_id } = props\n const classes = useStyles();\n const [partNumber, setPartNumber] = useState('')\n const [description, setDescription] = useState('')\n const [data, setData] = useState([])\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(0)\n const [searchText, setSearchText] = useState(\"\");\n const [action, setAction] = useState(null)\n const [currentSelection, setCurrentSelection] = useState(null)\n const [checked, setChecked] = useState(false)\n const [jobsData, setJobsData] = useState([])\n const [pages, setPages] = useState(0)\n const [pageSizes, setPageSizes] = useState(10)\n const [totalCounts, setTotalCounts] = useState(0)\n const [filterData, setFilterData] = useState({});\n const [customerDetails, setCustomerDetails] = useState([]);\n const debouncedVal = useDebounce(searchText);\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n const [capabilityRating, setCapability] = useState([]);\n const [bases, setBases] = useState([]);\n\n\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n };\n const tableOptions1 = {\n ...options,\n page: pages,\n total: totalCounts,\n pageSize: pageSizes,\n search: false,\n };\n\n useEffect(() => {\n if (currentWorkshopDetails) {\n setPartNumber(currentWorkshopDetails?.part_number)\n setDescription(currentWorkshopDetails?.description)\n }\n\n }, [currentWorkshopDetails])\n\n // console.log(\"quote==============\", currentWorkshopDetails)\n const getDetails = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n page: page + 1,\n limit: pageSize,\n search_part_desc: debouncedVal,\n ...filterData\n\n }\n setLoading(true)\n await CommercialServices.getStandardPricing(params).then((res) => {\n setData(res.data)\n setTotalCount(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n\n\n\n }\n\n useEffect(() => {\n getDetails()\n }, [page, pageSize, debouncedVal, filterData])\n\n\n\n //HistoricalJob\n\n\n const getHistoricalDetails = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n page: pages + 1,\n limit: pageSizes,\n search_part_desc: debouncedVal,\n show_per_unit_values: checked,\n ...filterData\n\n }\n setLoading(true)\n await CommercialServices.getHistoricalJobs(params).then((res) => {\n\n setJobsData(res.data)\n setTotalCounts(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n\n\n\n }\n\n useEffect(() => {\n if (name !== \"accounts\") { getHistoricalDetails() }\n }, [pages, pageSizes, debouncedVal, checked, filterData])\n // console.log(\"labour===\", currentWorkshopDetails)\n\n const handleFilterChange = (keyItem, value) => {\n setPage(0);\n setPages(0)\n setFilterData((prevState) => ({ ...prevState, [keyItem]: value }));\n };\n\n\n\n\n\n const getCustomerList = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await MaintenanceServices.getCustomerList(params)\n .then((res) => {\n if (res) {\n setCustomerDetails(res.data);\n }\n // setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // setLoading(false);\n });\n };\n\n\n const getCapabilityList = () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n MaintenanceServices.getCapabilityRating(params)\n .then((res) => {\n if (res) {\n setCapability(res.data);\n }\n // setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // setLoading(false);\n });\n };\n\n\n useEffect(() => {\n getCustomerList();\n getCapabilityList()\n }, []);\n\n\n\n const handleCalculation = (rowData) => {\n let saleRate = +currentWorkshopDetails?.salesRate || +salesRate\n let quantity = +currentWorkshopDetails?.quantity\n const calculateValue = (field) => {\n return rowData?.[field] ? parseFloat((+rowData[field] * quantity) / saleRate).toFixed(2) : \"0\";\n };\n\n const labourValue = calculateValue(\"labour\");\n const partsValue = calculateValue(\"parts\");\n const servicesValue = calculateValue(\"service\");\n const equipmentValue = calculateValue(\"equipment\");\n\n // console.log(\"labour===\", labour, labour / saleRate, saleRate)\n if (name === \"quote\") {\n setStandardId(rowData?.id)\n setTatquantity(rowData?.tat ? +rowData?.tat : 0)\n setInput({\n // tat_days: +input?.tat_days || \"0\",\n labour: +labourValue || \"0\",\n parts: +partsValue || \"0\",\n services: +servicesValue || \"0\",\n equipment: +equipmentValue || \"0\",\n aog_fee: +input?.aog_fee || \"0\",\n });\n handleClose()\n }\n else if (name === \"project_lookup\") {\n if (quoteStatus === false) {\n let unit_price = (+labourValue) + (+ partsValue) + (+servicesValue) + (+ equipmentValue)\n let quantity = currentSelectedData.quantity || 0.00\n let total = parseFloat(unit_price) * parseFloat(quantity)\n\n\n let value = projectParts.map((item) => {\n if (item.item === currentSelectedData.item) {\n item.project_parts_labour = labourValue\n item.project_parts_parts = partsValue\n item.project_parts_services = servicesValue\n item.project_parts_equipment = equipmentValue\n item.project_parts_unit_price = unit_price ? parseFloat(unit_price).toFixed(2) : 0.00\n item.project_parts_total = total ? parseFloat(total).toFixed(2) : 0.00\n }\n return item\n })\n setProjectParts(value)\n handleClose()\n }\n else {\n const formData = new FormData()\n formData.append(\"primary_part_id\", currentSelectedData?.primary_part_id)\n formData.append(\"reportable_type\", \"WorkshopOrder\")\n formData.append(\"reportable_id\", workshop_order_id)\n formData.append(\"type\", \"link\")\n formData.append(\"standard_pricing_id\", rowData?.id)\n\n MaintenanceServices.linkUnlinkWOProjectParts(formData).then((res) => {\n handleClose()\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n }\n }\n\n else if (name === \"accounts\") {\n const formData = new FormData()\n formData.append(\"primary_part_id\", currentSelectedData?.primary_part_id)\n formData.append(\"reportable_type\", \"PrimaryPart\")\n formData.append(\"reportable_id\", workshop_order_id)\n formData.append(\"type\", \"link\")\n formData.append(\"standard_pricing_id\", rowData?.id)\n\n MaintenanceServices.linkUnlinkWOProjectParts(formData).then((res) => {\n message.showToastMessage({\n message: \"Linked Successfully!\",\n variant: \"success\",\n });\n handleClose()\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n\n\n }\n\n\n else {\n setStandardId(rowData?.id)\n setInput({\n\n labour_value: +labourValue || \"0\",\n parts_value: +partsValue || \"0\",\n service_value: +servicesValue || \"0\",\n equipment_value: +equipmentValue || \"0\",\n aog_fee: +input?.aog_fee || \"0\",\n });\n\n // setTatDays(+rowData?.tat)\n handleClose()\n }\n\n\n\n\n\n }\n\n\n const handlePartCopy = () => {\n setPage(0);\n setSearchText(partNumber)\n\n }\n const handleDescriptionCopy = () => {\n setPage(0);\n setSearchText(description)\n\n }\n\n const handleSearch = (value) => {\n\n setPage(0);\n setSearchText(value);\n }\n\n\n const renderDueDayStatus = (rowData) => {\n let buttonColor = '';\n if (rowData?.age < 275)\n buttonColor = \"button-positive\";\n else if (rowData?.age >= 275 && rowData?.age <= 547)\n buttonColor = \"button-warning\";\n else if (rowData?.age > 547)\n buttonColor = \"button-negative\";\n return {rowData.age} Days\n \n }\n\n\n const columns = [\n {\n title: \"Part #\",\n field: \"part_number\",\n width: \"10%\",\n headerStyle: {\n width: \"10%\",\n textAlign: \"left\",\n paddingLeft: \"10px\",\n },\n cellStyle: {\n width: \"10%\",\n textAlign: \"left\",\n paddingLeft: \"10px\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n width: \"20%\",\n headerStyle: {\n textAlign: \"left\",\n width: \"20%\",\n },\n cellStyle: {\n width: \"20%\",\n textAlign: \"left\",\n\n },\n\n },\n\n {\n title: \"Work / Status\",\n field: \"status_work\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n // padding: \"10px 5px\"\n },\n },\n {\n title: \"TAT\",\n field: \"tat\" || \"0.00\",\n\n },\n\n {\n title: \"Labour *\",\n field: \"labour\" || \"0.00\",\n render: (rowData) => rowData?.labour ? parseFloat(rowData?.labour).toFixed(2) : \"0.00 \",\n },\n {\n title: \"Parts\",\n field: \"parts\" || \"0.00\",\n render: (rowData) => rowData?.parts ? parseFloat(rowData?.parts).toFixed(2) : \"0.00 \",\n },\n {\n title: \"Services\",\n field: \"services\" || \"0.00\",\n render: (rowData) => rowData?.services ? parseFloat(rowData?.services).toFixed(2) : \"0.00 \",\n },\n {\n title: \"Equipment\",\n field: \"equipment\" || \"0.00\",\n render: (rowData) => rowData?.equipment ? parseFloat(rowData?.equipment).toFixed(2) : \"0.00 \",\n },\n\n {\n title: \"Total\",\n field: \"price\" || \"0.00\",\n render: (rowData) => rowData?.total ? parseFloat(rowData?.total).toFixed(2) : \"0.00 \",\n },\n {\n title: \"Currency\",\n field: \"currency\" || \"0.00\",\n },\n {\n title: \"Age\",\n field: \"age\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n // padding: \"10px 5px\"\n },\n render: rowData => renderDueDayStatus(rowData)\n },\n\n {\n title: \"Action\",\n render: (rowData) => (\n {\n handleCalculation(rowData)\n }}>\n \n \n ),\n },\n ];\n\n const jobsColumns = [\n {\n title: \"Part #\",\n field: \"part_number\",\n width: \"10%\",\n headerStyle: {\n width: \"10%\",\n textAlign: \"left\",\n paddingLeft: \"10px\",\n },\n cellStyle: {\n width: \"10%\",\n textAlign: \"left\",\n paddingLeft: \"10px\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n width: \"20%\",\n headerStyle: {\n textAlign: \"left\",\n width: \"20%\",\n },\n cellStyle: {\n width: \"20%\",\n textAlign: \"left\",\n\n },\n },\n {\n title: \"Order #\",\n field: \"order_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"10%\"\n }\n },\n {\n title: \"Quantity\",\n field: \"quantity\",\n },\n {\n title: \"TAT\",\n field: \"tat\",\n\n },\n {\n title: \"Value\",\n field: \"value\",\n\n },\n {\n title: \"Costs\",\n field: \"costs\",\n },\n {\n title: \"Margin %\",\n field: \"margin\",\n }, {\n title: \"Currency\",\n field: \"currency\",\n },\n {\n title: \"Action\",\n render: (rowData) => (\n {\n setAction(\"view\")\n setCurrentSelection(rowData)\n }}>\n \n \n ),\n },\n ];\n\n\n // function SubTable(props) {\n // const [data, setData] = useState([])\n // console.log(\"rowDat===\", props)\n // useEffect(() => {\n // if (props?.rowData) {\n // setData(props?.rowData?.child)\n // }\n // }, [props]);\n\n // return (\n //
\n // \n\n\n //
\n // );\n // }\n\n const column4 = [\n {\n title: \"Order #\",\n field: \"title\",\n width: \"60.6%\",\n headerStyle: {\n width: \"60.6%\",\n textAlign: \"left\",\n paddingLeft: '80px'\n },\n cellStyle: {\n width: \"60.6%\",\n textAlign: \"left\",\n paddingLeft: '80px'\n },\n },\n\n\n\n {\n title: \"Value\",\n field: \"value\",\n width: \"8%\",\n headerStyle: {\n width: \"8%\",\n textAlign: \"left\",\n paddingLeft: '23px'\n },\n cellStyle: {\n width: \"8%\",\n textAlign: \"left\",\n paddingLeft: '23px'\n },\n },\n {\n title: \"Costs\",\n field: \"costs\",\n\n width: \"8%\",\n headerStyle: {\n width: \"8%\",\n textAlign: \"left\",\n paddingLeft: '14px'\n },\n cellStyle: {\n width: \"8%\",\n textAlign: \"left\",\n paddingLeft: '14px'\n },\n },\n {\n title: \"Margin %\",\n field: \"margin\",\n\n width: \"8%\",\n headerStyle: {\n width: \"8%\",\n textAlign: \"left\",\n paddingLeft: '14px'\n },\n cellStyle: {\n width: \"8%\",\n textAlign: \"left\",\n paddingLeft: '14px'\n },\n },\n {\n title: \"Action\",\n field: \" \",\n width: \"20.85%\",\n\n headerStyle: {\n width: \"20.85%\",\n textAlign: \"left\",\n paddingLeft: '15px'\n },\n cellStyle: {\n width: \"20.85%\",\n textAlign: \"left\",\n paddingLeft: '15px'\n },\n },\n\n\n\n\n ];\n\n return (\n \n \n \n {\n handleClose()\n }}\n edge=\"start\"\n className={classes.backButton}\n color=\"inherit\"\n aria-label=\"back\"\n >\n \n \n Part Pricing Lookup\n \n \n
\n\n\n Search Part\n\n \n \n }\n onChange={(e) =>\n handleFilterChange(\"line_customer_id\", e.target.value)\n }>\n Customer(All)\n {customerDetails?.customers?.map((option) => (\n \n {option.name}\n \n ))}\n \n \n \n }\n onChange={(e) =>\n handleFilterChange(\"status_work\", e.target.value)\n }>\n Status/Work(All)\n Inspected / Tested\n Repaired\n Overhauled\n Modified\n New\n Prototype\n Customer Instruction\n \n \n\n \n }\n onChange={(e) =>\n handleFilterChange(\"capability_rating_id\", e.target.value)\n }>\n Rating(All)\n {capabilityRating?.map((option) => (\n \n {option.name}\n \n ))}\n \n \n\n\n\n \n \n \n Attention! All pricing data is shown in the system default currency per unit (qty 1). On selection the relevant quantity based values will pulled into the current job in the Customer’s currency\n \n \n\n Standard Pricing\n\n\n
\n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n
\n {name !== \"accounts\" && <>\n Historic Jobs\n\n\n
\n {\n setPages(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSizes(pageSize);\n }}\n totalCount={totalCounts}\n page={pages}\n actions={[\n {\n icon: () => (\n setChecked(e.target.checked)}\n // name=\"revision_controlled\"\n />\n }\n label=\"Show per unit values\"\n labelPlacement=\"start\"\n name=\"\"\n />\n ),\n tooltip: \"\",\n isFreeAction: true,\n\n },\n ]}\n detailPanel={[\n {\n render: rowData => {\n let data = rowData?.child || []\n if (data.length === 0) {\n return (\n
\n No child data available.\n
\n );\n }\n return (\n
\n ({\n ...col,\n render: (rowData) => rowData[col.field] ? rowData[col.field] : '' // Prevent empty values\n }))}\n // columns={column4}\n data={data || []}\n // isLoading={loading}\n options={{\n ...options,\n toolbar: false,\n paging: false,\n header: false,\n\n }}\n />\n\n\n
)\n\n\n }\n\n\n\n }\n\n\n\n ]}\n />\n
}\n\n\n {action && action === \"view\" && setAction(null)} currentSelection={currentSelection} checked={checked} currentWorkshopDetails={currentWorkshopDetails} setInput={setInput} input={input} onClose={handleClose} name={name} salesRate={salesRate} setTatquantity={setTatquantity} setStandardId={setStandardId} setTatDays={setTatDays} projectParts={projectParts} setProjectParts={setProjectParts} currentSelectedData={currentSelectedData} quoteStatus={quoteStatus} workshop_order_id={workshop_order_id} />}\n\n\n
\n\n\n\n
\n )\n}\n","import React from \"react\";\nimport {\n FormControl,\n Select,\n InputBase,\n MenuItem,\n Box,\n} from \"@material-ui/core\";\nimport SearchBarWithFilters from \"components/search_with_filters\";\n\nconst TableFilters = (props) => {\n const {\n searchText,\n handleSearchTextChange,\n filtersList = [],\n handleFilterChange,\n filterValues,\n disableSearch,\n } = props;\n\n return (\n \n \n {filtersList?.map((filter) => {\n return (\n \n }>\n {filter?.options?.map((filterOption) => {\n return (\n \n {filterOption.value}\n \n );\n })}\n \n \n );\n })}\n \n \n );\n};\n\nexport default TableFilters;\n","import requestrApi from \"../../common/boxr_api_client\";\n\nfunction getWorkOrderTemplates(params) {\n return requestrApi({\n url: '/line_reports/list_templates',\n method: 'GET',\n params: params\n });\n}\nfunction createNewTemplate(formData) {\n return requestrApi({\n url: '/line_reports/create_template',\n method: 'POST',\n data: formData\n })\n}\n\nfunction getSectionsOfTemplate(params) {\n return requestrApi({\n url: '/line_reports/show_sections',\n method: 'GET',\n params: params\n });\n}\nfunction getSectionsDetailsOfTemplate(params) {\n return requestrApi({\n url: '/line_reports/show_fields',\n method: 'GET',\n params: params\n });\n}\n\nfunction updateSectionStatus(formData) {\n return requestrApi({\n url: '/line_reports/edit_sections',\n method: 'PUT',\n data: formData\n })\n}\n\nfunction currencyDependency() {\n return requestrApi({\n url: '/currencies/dependency_listing',\n method: 'GET'\n });\n}\n\nfunction updateSectionStatusAll(formData) {\n return requestrApi({\n url: '/line_reports/select_all',\n method: 'PUT',\n data: formData\n })\n}\n\nfunction updateFieldStatus(formData) {\n return requestrApi({\n url: '/line_reports/edit_fields',\n method: 'PUT',\n data: formData\n })\n}\n\nfunction updateTemplateName(formData) {\n return requestrApi({\n url: '/line_reports/edit_template',\n method: 'PUT',\n data: formData\n })\n}\n\nconst WorkOrderTemplateService = {\n getWorkOrderTemplates,\n createNewTemplate,\n getSectionsOfTemplate,\n getSectionsDetailsOfTemplate,\n updateSectionStatus,\n updateFieldStatus,\n updateTemplateName,\n updateSectionStatusAll,\n currencyDependency\n};\n\nexport default WorkOrderTemplateService;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAB90SURBVHja7d0JlCR1fcDxX8997Mmy7MXCuotcEqIIymGEsF4RIooIiiheSDwSkyiYYBTxERUx8cCHCkESDCAqBpCIF4gHeCwgcoPcuyyLBPaeq69U9Y7GwAI72z0z1V2fz0ul8flsZn7dU/9vV3dXFarVatC6lq9c1Z/cHJxsS5Jt/ma2qaYEk+O+B1b8+MX77X2QSTAZCgKgJRf92cnNq5Lt1cn2kmTrMRXInhtuui1mTp8mAhAA1LXodyU3b0+2o5Nt/2RrMxXIfgCkRACTwSLR/At/IdnekPzj7cl2ZrK9yOMKzWX12nUH/uTn111tEggAtnTxT9/bX5ZsFyTbYhMBEQACoLUX/rnJ9p3kH69MtuebCIgAEACtv/jvNfqq/y9MA0QACIB8LP6vS25+mmzbmwaIABAArb/wpx/0+2jyjxclW5+JgAgAAZCDxT+5+Y9kOznZCiYCIgAEQD58JNneZAwgAkAA5OfV/xGjr/wBESACEAA5WfzTT/unh/4d9gdEAAIgJ4v/3OTm0vCBP0AEIABy5ezwVT9ABCAAcvXq/6Dk5lCTAEQAAiA/i3/6fv+nTAIQAQiAfDky2fYxBkAEIADy8+q/K7n5uEkAIgABkC9vD5f0BUQAAiB3jjYCQAQgAHJk+cpVs5Ob/U0CEAEIgHx5lccCEAEIgPx5tREAIgABkCPLV67qT25eYhKACEAA5MvBydZjDIAIQADkyxIjAEQAAiB/5hsBIAIQAAIAQAQgAAQAgAhAAAgAABGAABAAACIAAdCcphoBIAIQAACIAAQAACIAAQCACEAAACACEAAAiAAEAAAiAAEAgAhAAAAgAgQAAIgAAQAAIkAAACACEAAAiAAEAAAiAAEAgAhAAAAgAhAAAIgABAAAIgABAIAIQAAAIAIQAACIAAQAACIAAQCACEAAACACEAAAiAAEAAAiQAAAgAgQAAAgAgQAAIgAAQAAIkAAAIAIEAAAIAIEAACIAAEAACJAAAAgAkSAAABABCAAABABCAAARAACAAARgAAAQAQgAAAQAQgAAEQAAgAAESAAAEAECAAAEAECAABEgAAAABEgAABABAgAABABAgAARIAAAAARIAAAQAQIAAAQAQIAAESAAAAAESAAAEAECAAAEAECAABEgAAAQAQgAAAQAQgAAESAAAAAESAAAEAECAAAEAECAIB6tLfZBYsAAQCQO52dHYYgAgQAQP4CoNMQRIAAAMhdAHQ4AiACBABADo8ACAARIAAAchgA3gIQAQIAIHe6uwSACBAAALkzdUp/tBUKBiECBABAnrS1tcXUqVMMQgQIAIC8mTFtqiGIAAEAkDfTBYAIEAAA+dPR0R5T+vsMQgQIAIC8mTljuiGIAAEAkDfbbjMjuru6DEIECACAPCkUCjF/7nYGIQIEAEDezJwxLfr7eg1CBAgAgLxZMG+OIYgAAQCQN+m3AZwXQAQIAIAc2mH7+dHlGgEiQAAA5Et6XoAlixbWThOMCBAAADnS29MTixbONwgRIAAA8mbG9Gkxb85sgxABAgAgb9IA2GamswSKAAEAkDuLFi5wJEAECACAvB4JWLzj9j4YKAIEAEDepJ8J2HnJoujs9BVBESAAAHKlr7cndn32s2K6kwWJgAYoVKtVj9AkWr5ylQcAGLP1GzbGQ6t+FwMDg4bRBGZOn/bjF++390ECAAEANOYV5pp1sTIJgeGREcMQAQJAAAB5ku7H/+fxNUkMrI0NGwcMRAQIAAEA5E2pVI6169bHmmRbv35DVOzjRYAAEABAvlQqldpnBYZHilEsplspiqXSH/65nPz35DcCOjwMAK0pPW/A031jYMPAULING9TkOHDSnx8eA4B8mtLXk2zdBpHXQDQCABGAAABABCAAABABCAAARAACAAARgAAAQAQgAAAQAQgAAEQAAgAAEYAAAEAEIAAAEAEIAABEAAIAABGAAABABCAAABABCAAARAACAAARgAAAQAQIAAAQAQIAAESAAAAAESAAAEAECAAAEAECAAARIAIEAAAiAAEAgAhAAAAgAhAAAIgABAAAIgABAIAIQAAAIAIQAACIAAQAACIAAQCACEAAACACBAAAiAABAAAiQAAAgAgQAAAgAgQAAIgAAQAAIkAAAIAIEAAAIAIEAACIAAEAACJAAACACBAAACACBAAAIgABAIAIQAAAIAIQAACIAAQAACJAAACACBAAACACBAAAiAABAAAiQAAAgAgQAAAgAgQAAIgAAQAAIkAA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\"","import requestrApi from \"./common/boxr_api_client\";\n\nconst updateDataUrl = {\n training: '/trainings',\n competency: '/competencies',\n storageCondition: '/storage_conditions/update_storage_conditions',\n procedureCategories: '/procedure_categories',\n aogSMS: '/line_customers/update_aog_sms_contacts',\n kpiEmail: '/line_customers/update_kpi_emails',\n reportEmail: '/line_customers/update_report_emails',\n delayCodes: '/line_customers/update_delay_codes',\n copyDelayCodes: '/line_customers/copy_delay_codes',\n copyCommercialRates: '/line_customers/copy_commercial_rate',\n copyScheduleChecks: '/line_customers/copy_scheduled_check_hours',\n fixedPriceList: '/line_customers/update_fixed_price_lists',\n scheduledChecks: '/line_customers/save_scheduled_check_hours',\n approvalType: '/approval_types/update_approval_types',\n permissionType: '/approval_types/update_type_permissions',\n companyApprovals: '/company_approvals/update_company_approval',\n approvalTypeGroup: '/group_types/update_group_type',\n authorisation: '/auth_lists/update_auth_list',\n customerInfo: '/line_customers/update_customer_info',\n taskLibrary: '/task_libraries/update_task_library',\n authDoc: '/auth_lists/save_doc',\n saveAuthList: '/auth_lists/save_final_records',\n vehicles: '/vehicles/update_vehicle',\n approvalTypeName: '/approval_types/update_approval_types',\n approvalGroupName: '/group_types/update_group_type',\n competencyCategory: '/competencies/update_category',\n competencyQuestion: '/competencies/update_question',\n handoverCheck: '/handovers/update_setup',\n recencyTask: '/recencies/update_recency',\n adhocFormDetail: '/adhoc_forms/update_adhoc_form',\n updateWorkOrder: '/work_orders/update_work_order',\n updateDelay: \"/delays/update_delay\",\n updateCallout: \"/call_outs/update_call_out\",\n vendorParts: '/accounts/update_parts',\n tasks: '/accounts/update_tasks',\n businessModel: '/accounts/update_business_model',\n gndEquip: '/accounts/update_gnd_equip',\n primaryParts: '/primary_parts/update_primary_part',\n primaryPartsBaseLevels: '/primary_parts/update_base_levels',\n currencies: '/currencies/update_currency',\n vendorPart: '/vendor_parts/update_vendor_part',\n managedPart: '/part_conditions/work_order_allocation',\n editMangedPart: '/part_conditions/edit_part_condition',\n deleteMangedPart: '/part_conditions/wo_parts_withdrawal',\n editPartWORequest: '/part_requests/edit_part_request',\n editPartRequest: '/part_conditions/return_part',\n directReturnPartrequest: 'part_conditions/return_allocation_flow',\n updateEmailReport: \"customer/report_emails/update\",\n updateContact: \"customer/contact/update\",\n updateCheckRate: \"/check_rates/update_check_rate\",\n editDDParts: \"/part_requests/edit_part_request\",\n updateHighLiftEquip: \"/accounts/update_high_lift_equip\",\n updatetoolRate: \"/tooling_rates/edit_tooing_rate\",\n copyToolingRates: \"/tooling_rates/copy_tooling_rates\",\n copyScheduledCheckHours: \"/line_customers/copy_scheduled_check_hours\",\n updateManagedParts: '/accounts/update_allocation_parts',\n updateMileageRates: \"vehicles/update_vehicle\",\n updateLabourRates: \"/user_groups/update_labour_rate\",\n fixedFees: \"line_customers/edit_lc_app_type_rates\"\n}\n\nfunction updateData(formData, id = null, section) {\n return requestrApi({\n url: id ? `${updateDataUrl[section]}/${id}` : `${updateDataUrl[section]}`,\n method: 'PUT',\n data: formData\n })\n}\nexport function updateDataWithPost(formData, id = null, section) {\n return requestrApi({\n url: id ? `${updateDataUrl[section]}/${id}` : `${updateDataUrl[section]}`,\n method: 'POST',\n data: formData\n })\n}\n\nexport const updateDataWithParams = (params, section) => {\n return requestrApi({\n url: `${updateDataUrl[section]}`,\n method: 'PUT',\n params: params\n })\n}\n\nexport default updateData;\n","import { Paper, withStyles } from '@material-ui/core'\nimport React from 'react'\n\n\nfunction AutocompletePopper(props) {\n return (\n \n )\n}\n\nexport default AutocompletePopper","\nimport { Dialog, DialogContent, makeStyles, createStyles, Typography, Grid, Paper, Box, CircularProgress, IconButton, Menu, MenuItem, Tooltip } from '@material-ui/core'\nimport React, { useReducer, useState, useContext, useEffect } from 'react'\nimport { alpha, useTheme } from \"@material-ui/core\";\nimport Maintenance from '../../../Dashboard/LineMaintenance/Performance/icons/settings'\nimport Invoicing from '../../../Dashboard/LineMaintenance/Performance/icons/bill'\nimport Handling from '../../../Dashboard/LineMaintenance/Performance/icons/airplane'\nimport Departure from '../../../Dashboard/LineMaintenance/Performance/icons/depature'\nimport Records from '../../../Dashboard/LineMaintenance/Performance/icons/records'\nimport Parts from '../../../Dashboard/LineMaintenance//Performance/icons/parts'\nimport Tools from '../../../Dashboard/LineMaintenance//Performance/icons/tools'\nimport MaterialTable from 'material-table';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport TableAction from 'actions/table_actions'\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from 'reducers/table_reducer';\nimport LandingIcon from '../../../Dashboard/LineMaintenance/Performance/icons/plane-landing';\nimport Servicing from '../../../Dashboard/LineMaintenance/Performance/icons/oil';\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport _ from 'lodash';\nimport { formatToMins, formatDateWithHrMin, formatHoursToMins, handleDuration, format24HrDateOnly } from 'lib/utils/common_utils';\nimport DataService from 'lib/services/api';\nimport pdfLogo from \"../../../../assets/pdf.png\";\nimport jpgLogo from \"../../../../assets/jpg.png\";\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport Verified from 'assets/Dashboard/verifiedcopy';\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport ResendEmail from 'assets/Dashboard/ResendEmail'\nimport moment from 'moment';\nimport { AddBox } from '@material-ui/icons';\nimport AddMaintTasks from 'views/Operations/LineMaintenance/WorkOrder/AddMaintTasks';\nimport AddNewPartsAndTools from 'views/Operations/LineMaintenance/WorkOrder/add_parts_tools';\nimport AddPart from 'views/Dashboard/LineMaintenance/Activity/AddPart';\nimport MROButton from 'components/buttons';\nimport ScheduledChecks from 'views/Dashboard/LineMaintenance/Activity/ScheduledChecks';\nimport HandlingAndEquip from 'views/Dashboard/LineMaintenance/Activity/Handling&Equipments';\n\nfunction DetailsPopUp(props) {\n const { handleClose, selectedRowDetails, data } = props;\n const classes = useStyles();\n const theme = useTheme()\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page } = tableState;\n const message = useContext(ToastMessageContext)\n const [totalCount, setTotalCount] = useState(10)\n const [loading, setLoading] = useState(false)\n const [popUpData, setPopUpData] = useState({})\n const [records, setRecords] = useState([])\n const [maintTask, setMaintTask] = useState([])\n const [pageSize, setPageSize] = useState(5)\n const [scheduleChecks, setScheduleChecks] = useState([])\n const [anchorEl, setAnchorEl] = useState(null);\n const [open, setOpen] = useState(false);\n const [anchorEl1, setAnchorEl1] = useState(null);\n const [open1, setOpen1] = useState(false);\n const [action, setAction] = useState('')\n const options1 = [\"NO Maint Tasks\", \"With Maint Tasks\", \"With Maint Tasks & Man-Hrs\"];\n const options2 = [\"Scheduled Checks\", \"Tech Log Tasks\", \"Cabin Tasks\", \"Parts\", \"Tools\", \"Handling & Equipment\"];\n const options3 = [\"Scheduled Checks\", \"Tech Log Tasks\", \"Cabin Tasks\", \"Tools\", \"Handling & Equipment\"];\n const [totalManHours, setTotalManHours] = useState(0)\n const ITEM_HEIGHT = 48;\n // console.log(\"Popuppp\", selectedRowDetails)\n\n\n\n\n //parts page \n const [parts, setParts] = useState([])\n const [totalCount1, setTotalCount1] = useState(0)\n const [pageSize1, setPageSize1] = useState(5)\n const [page1, setPage1] = useState(0)\n\n\n\n //tools\n\n const [tools, setTools] = useState([])\n const [totalCount2, setTotalCount2] = useState(0)\n const [pageSize2, setPageSize2] = useState(5)\n const [page2, setPage2] = useState(0)\n\n // const [action, setAction] = useState(null)\n const [currentSelections, setCurrentSelections] = useState({ child_section_name: \"\" })\n\n const [createdId, setCreatedId] = useState(\"\");\n\n //api call for popup details\n\n const getDetails = async () => {\n setLoading(true)\n const params = {\n work_order_id: selectedRowDetails,\n page: page + 1,\n limit: pageSize\n }\n await LineMaintainenceServices.getPopUpDetails(params).then((response) => {\n setPopUpData(response.data.work_order_details)\n setRecords(response.data.records)\n setMaintTask(response.data.maint_tasks.data)\n setTotalManHours(response.data.total_hours)\n setScheduleChecks(response.data.schedule_checks)\n setTotalCount(response.data.maint_tasks.total_count)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n useEffect(() => {\n getDetails()\n }, [page, pageSize, totalCount])\n\n const handleUpdate = (newData) => {\n let lae = newData.lae_hrs ? +newData.lae_hrs : 0\n let non_lae = newData.non_lae_hrs ? +newData.non_lae_hrs : 0\n let manHours = parseFloat(lae) + parseFloat(non_lae)\n let params = {\n id: newData.id,\n description: newData.description,\n lae_hrs: lae,\n non_lae_hrs: non_lae,\n man_hours: manHours\n }\n DataService.updateDataWithParams(params, 'tasks').then(res => {\n console.log(res)\n getDetails()\n }).catch(err => {\n message.showToastMessage({ message: 'Something went wrong', variant: 'error' })\n })\n }\n\n\n\n //send mail\n const sendMail = (nomain, withmain, manhrs) => {\n let params = {\n id: selectedRowDetails,\n no_maint_tasks: nomain,\n with_maint_tasks: withmain,\n man_hrs: manhrs,\n };\n DataService.getData(params, \"workOrderSendEmail\")\n .then((res) => {\n message.showToastMessage({\n message: \"Email Sent Successfully!\",\n variant: \"success\",\n });\n setOpen(false)\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Unable to send email\",\n variant: \"error\",\n });\n });\n };\n\n const handleClick = (event) => {\n setOpen(true);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseMenu = () => {\n setOpen(false);\n // setAction(null);\n // setCurrentSelection({});\n };\n const handleOption = (option) => {\n if (option === \"NO Maint Tasks\") {\n sendMail(true, false, false)\n }\n if (option === \"With Maint Tasks\") {\n sendMail(false, true, false)\n }\n if (option === \"With Maint Tasks & Man-Hrs\") {\n sendMail(false, false, true)\n }\n }\n\n // VerifyState\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n const VerifyState = (id) => {\n let params = {\n work_order_id: selectedRowDetails,\n verified: popUpData.verified === true ? 'false' : 'true',\n verify_user_id: popUpData.verified === false ? user?.id : popUpData.verified === null ? user?.id : null,\n verify_datetime: popUpData.verified === false ? moment().format(\"YYYY-MM-DD hh:mm:ss\") : popUpData.verified === null ? moment().format(\"YYYY-MM-DD hh:mm:ss\") : null,\n }\n LineMaintainenceServices.updateVerifyState(params).then((res) => {\n getDetails()\n message.showToastMessage({\n message: \"Verified Successfully!\",\n variant: \"success\",\n });\n }).catch(() => {\n message.showToastMessage({\n message: \"Something Went Wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n\n })\n }\n\n const columns = [\n {\n title: 'ATA',\n field: 'ata_chapter_id',\n editable: 'never',\n headerStyle: {\n textAlign: 'center',\n // paddingLeft: '5px'\n },\n cellStyle: {\n textAlign: 'center',\n // paddingLeft: '5px'\n },\n },\n {\n title: 'Type',\n field: \"task_type\",\n editable: 'never',\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left',\n },\n\n },\n {\n title: 'Maintenance Task',\n field: 'description',\n headerStyle: {\n textAlign: 'left',\n width: '40%'\n },\n cellStyle: {\n textAlign: 'left',\n width: '40%',\n paddingLeft: '7px'\n },\n width: '40%'\n },\n {\n title: 'LAE Hrs',\n field: 'lae_hrs',\n\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '20px'\n },\n },\n {\n title: 'Non LAE Hrs',\n field: 'non_lae_hrs',\n\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '26px'\n },\n },\n\n ]\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n pageSizeOptions: [5, 10, 20],\n search: false,\n sort: false,\n headerStyle: {\n\n color: theme.palette.primary.main\n }\n\n };\n\n\n //New items parts and tools\n\n const handleAdd = (event) => {\n setOpen1(true);\n setAnchorEl1(event.currentTarget);\n };\n\n const handleCloseMenu1 = () => {\n setOpen1(false);\n // setAction(null);\n // setCurrentSelection({});\n };\n const handlePartsOptions = (option) => {\n setOpen1(false)\n if (option === \"Scheduled Checks\") {\n setAction(\"checks\")\n setCurrentSelections({ lineCustomerId: popUpData?.line_customer_id, id: selectedRowDetails })\n }\n if (option === \"Tech Log Tasks\") {\n setAction(\"techlog\")\n setCurrentSelections({ child_section_name: \"Tech Log Maint Tasks\" })\n }\n if (option === \"Cabin Tasks\") {\n setAction(\"cabintask\")\n setCurrentSelections({ child_section_name: \"Cabin Maint Tasks\" })\n }\n if (option === \"Parts\") {\n setAction(\"parts\")\n }\n if (option === \"Tools\") {\n setAction(\"tools\")\n } if (option === \"Handling & Equipment\") {\n setAction(\"handle\")\n setCurrentSelections({ lineCustomerId: popUpData?.line_customer_id, id: selectedRowDetails })\n }\n }\n\n const tableOptions1 = {\n ...options,\n page: page1,\n search: false,\n total: totalCount1,\n pageSize: pageSize1,\n search: false,\n toolbar: false,\n };\n const tableOptions2 = {\n ...options,\n page: page2,\n search: false,\n total: totalCount2,\n pageSize: pageSize2,\n search: false,\n toolbar: false,\n };\n\n const getList = async () => {\n const params = {\n reportable_type: \"WorkOrder\",\n reportable_id: selectedRowDetails,\n page: 1 + page1,\n count_per_page: pageSize1,\n to_issued: true,\n };\n\n await LineMaintainenceServices.getPartsDetails(params).then((res) => {\n setParts(res.data)\n setTotalCount1(res.total_count)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n };\n\n useEffect(() => {\n getList();\n }, [page1, pageSize1]);\n\n\n\n const column1 = [\n {\n title: \"\",\n field: \"id\",\n width: \"4%\",\n render: (rowData) =>  ,\n },\n\n {\n title: \"Part Number\",\n field: \"part_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"20%\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"46%\",\n },\n },\n {\n title: \"Ordered\",\n field: \"required_quantity\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"Allocated\",\n field: \"allocated_quantity\",\n\n headerStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"Issued\",\n field: \"issued_quantity\",\n headerStyle: {\n textAlign: \"center\",\n },\n },\n\n ];\n\n\n //tools\n\n const getToolingDetails = async () => {\n const params = {\n reportable_type: \"WorkOrder\",\n reportable_id: selectedRowDetails,\n page: 1 + page2,\n count_per_page: pageSize2,\n\n };\n\n await LineMaintainenceServices.getPartsTools(params).then((res) => {\n setTools(res.data)\n setTotalCount2(res.total_count)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n };\n\n useEffect(() => {\n getToolingDetails();\n }, [page2, pageSize2]);\n\n\n const column2 = [\n\n {\n title: 'Tool Number',\n field: 'tool_number',\n headerStyle: {\n textAlign: 'left',\n paddingLeft: \"10px\"\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: \"10px\"\n // width: '0.8%'\n }\n },\n {\n title: 'Description',\n field: 'description',\n headerStyle: {\n textAlign: 'left',\n width: \"40%\"\n },\n cellStyle: {\n textAlign: 'left',\n width: \"40%\"\n // width: '0.8%'\n }\n },\n {\n title: 'Calibration Date',\n field: 'calibration_due',\n render: rowData => format24HrDateOnly(rowData?.calibration_due),\n headerStyle: {\n textAlign: 'center',\n },\n cellStyle: {\n textAlign: 'center',\n // width: '0.8%'\n }\n },\n\n ]\n\n\n return (\n
\n \n \n\n {loading && _.isEmpty(popUpData) ? (\n \n \n \n ) :\n < Grid >\n \n \n \n \n {popUpData.work_order_number}\n {popUpData.iata_code}\n \n \n {popUpData.stamp_number ? popUpData.stamp_number : '-'}\n User\n \n\n \n {popUpData.line_customer\n ? popUpData.line_customer : '-'}\n Airline\n \n \n {popUpData.aircraft_registration ? popUpData?.aircraft_registration\n : '-'}\n Aircraft Reg\n \n \n {\n popUpData.type_name ? popUpData?.type_name\n : '-'}\n Aircraft Type\n \n \n \n \n
\n {/*Arrival Grid */}\n \n \n \n \n {/* */}\n\n \n Arrival\n \n\n \n {popUpData.station ? popUpData.station : '-'}\n Base\n \n \n {popUpData.tlp ? popUpData.tlp : '-'}\n TLP\n \n \n {popUpData.arr_flight ? popUpData.arr_flight : '-'}\n Flight\n \n \n {popUpData.est_arr_date ? formatDateWithHrMin(popUpData.est_arr_date) : '-'}\n Estimated\n \n \n {popUpData.aircraft_arrival_date ? formatDateWithHrMin(popUpData.aircraft_arrival_date) : '-'}\n Actual\n \n \n {popUpData.delay_in ? popUpData.delay_in.replace(\"-\", \"\") : \"-\"}\n Delay\n \n \n\n\n \n \n\n
\n {/**Servicing */}\n\n\n \n \n \n \n \n Servicing\n\n \n\n \n {popUpData.oil_quarts ? popUpData.oil_quarts : '-'}\n Oil\n \n \n {popUpData.hyd_quarts ? popUpData.hyd_quarts : '-'}\n Hyds\n \n \n {popUpData.nitrogen_value ? popUpData.nitrogen_value : '-'}\n N/O2 Top Ups\n \n\n \n {popUpData.changed_wheels ? popUpData.changed_wheels : '-'}\n N/Whl Change\n \n {/* \n 0\n Fuel\n */}\n \n\n\n \n \n
\n {/**Maintenance */}\n\n \n \n \n \n \n Maintenance\n \n \n \n {scheduleChecks.length !== 0 && scheduleChecks !== null || undefined ? scheduleChecks.map((item, index) => ({item}{index < scheduleChecks.length - 1 ? \", \" : \"\"})) :\n -}\n Scheduled Checks\n\n\n \n\n \n Maintenance Tasks\n Total Hours: \n {totalManHours ? totalManHours : 0}\n \n\n\n }\n options={tableOptions}\n data={maintTask || []}\n columns={columns}\n isLoading={loading}\n editable={props?.permission?.write &&\n {\n onRowUpdate: (newData, oldData) =>\n new Promise((resolve, reject) => {\n handleUpdate(newData, oldData)\n resolve();\n }),\n }\n }\n\n\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n page={page}\n totalCount={totalCount}\n />\n\n \n \n\n \n \n \n\n\n \n \n\n\n
\n \n \n \n \n \n Parts\n \n \n\n \n\n {\n setPage1(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize1(pageSize);\n }}\n page={page1}\n totalCount={totalCount1}\n />\n\n \n \n\n \n \n \n\n\n \n \n\n
\n\n\n {/* Tools*/}\n\n \n \n \n \n \n Tools\n \n \n\n \n\n {\n setPage2(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize2(pageSize);\n }}\n page={page2}\n totalCount={totalCount2}\n />\n\n \n \n\n \n \n \n\n\n \n \n\n
\n {/**D/Defects */}\n\n\n {/* \n \n \n \n \n D/Defects\n \n \n 6\n In\n \n \n 1\n Raised\n \n \n 3\n Cleared\n \n \n 4\n Out\n \n\n \n\n\n \n \n
*/}\n {/**Handling */}\n\n\n \n \n \n \n \n Handling\n \n \n {popUpData.towing_man_hours ? popUpData.towing_man_hours : '-'}\n Tows\n \n \n {popUpData.large_steps === \"1\" ? \"Yes\" : \"No\"}\n Large Steps\n \n \n {popUpData.medium_steps === \"1\" ? \"Yes\" : \"No\"}\n Medium Steps\n \n\n \n {popUpData.gnd_equip_value === \"1\" ? \"Yes\" : \"No\"}\n APU Access Stand\n \n \n {popUpData.high_lift_equip_value ? popUpData.high_lift_equip_value : '-'}\n High Lift (Hrs)\n \n \n {popUpData.wheel_change_kit ? popUpData.wheel_change_kit : '-'}\n Wheel Change Kit\n \n \n {popUpData.brake_fan ? popUpData.brake_fan : '-'}\n Brake Fan\n \n \n\n\n\n \n \n
\n {/**Departure */}\n \n \n \n \n \n Departure\n \n \n {popUpData.dep_flight ? popUpData.dep_flight : '-'}\n Flight\n \n \n {popUpData.est_dep_date ? formatDateWithHrMin(popUpData.est_dep_date) : '-'}\n Estimated\n \n \n {popUpData.act_dep_date ? formatDateWithHrMin(popUpData.act_dep_date) : '-'}\n Actual\n \n \n {popUpData.gnd_time ? formatToMins(popUpData.gnd_time) : \"-\"}\n Gnd Time\n \n \n {popUpData.delay_time ? popUpData.delay_time.replace(\"-\", \"\") : \"-\"}\n Delay\n \n \n {popUpData.delay_code ? popUpData.delay_code : \"-\"}\n Code\n \n \n\n\n \n \n
\n {/**Records */}\n\n \n \n \n \n \n Records\n \n \n {records.length === 0 ? No files found : records.map((items, index) => {\n\n const fileType = items.file_name.split(\".\")[1];\n\n let logo = pdfLogo;\n if (fileType === \"jpg\") {\n logo = jpgLogo;\n }\n return (\n \n
\n \"file-logo\"\n \n {items.file_name}\n \n
\n \n );\n })}\n
\n
\n\n\n
\n
\n
\n\n\n \n \n \n \n \n Verification\n \n \n {popUpData.verified === false ? \"NOT verified\" : popUpData.verified === true ? \"Verified\" : \"-\"}\n State\n \n \n {popUpData.verify_user_stamp ? popUpData.verify_user_stamp : '-'}\n User\n \n \n {popUpData.verify_datetime ? formatDateWithHrMin(popUpData.verify_datetime) : \"-\"}\n Verified\n \n {(props?.permission?.read || !props?.permission?.read) && !props?.permission?.write ? \"\" : props?.permission?.write && <>\n \n \n {\n handleAdd(e);\n\n }}> \n \n \n \n \n {\n event.stopPropagation();\n VerifyState(selectedRowDetails);\n }}> \n \n \n \n \n {\n handleClick(e);\n\n }}> \n \n }\n \n\n \n\n \n
\n
\n {open && \n Send Options\n {options1.map((option) => {\n\n return (\n {\n handleOption(option);\n }}\n >\n {option}\n \n );\n })}\n\n\n\n }\n {open1 && \n Add Options\n {(popUpData?.part_type_name !== \"non_managed_part\" ? options2 : options3).map((option) => {\n\n return (\n {\n handlePartsOptions(option);\n }}\n >\n {option === \"Parts\" ? \"Parts & Consumables\" : option}\n \n );\n })}\n\n\n\n }\n }\n
\n\n \n {action && (action === \"techlog\" || action === \"cabintask\") && {\n setAction(null)\n getDetails()\n }}\n lineCustomerId={popUpData?.line_customer_id}\n />}\n {action && action === \"tools\" &&\n\n {\n setAction(null)\n getToolingDetails()\n }}\n workOrderId={selectedRowDetails}\n lineCustomerId={popUpData?.line_customer_id}\n />}\n {action && action === \"parts\" &&\n\n {\n setAction(null)\n getList()\n }}\n workOrderId={selectedRowDetails}\n lineCustomerId={popUpData?.line_customer_id}\n popUpData={popUpData}\n />}\n {action && action === \"checks\" &&\n\n {\n setAction(null)\n getDetails()\n }}\n currentSelection={currentSelections}\n />} {action && action === \"handle\" &&\n\n {\n setAction(null)\n getDetails()\n }}\n currentSelection={currentSelections}\n />}\n\n
\n )\n}\n\nexport default DetailsPopUp\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"900px\",\n // height: \"110vh\"\n },\n },\n\n bodyText: {\n fontSize: 20,\n lineHeight: \"28px\",\n textAlign: 'center',\n marginTop: '25px'\n },\n\n org1: {\n background: alpha(theme.palette.primary.main, 0.20),\n\n },\n gtcdc: {\n borderRight: '1px solid transparent',\n textAlign: 'center',\n fontWeight: 600,\n color: theme.palette.primary.main\n },\n leftContent: {\n textAlign: 'center', paddingTop: '7px'\n },\n firstColumn: {\n\n paddingLeft: '17px',\n\n },\n\n headingText: {\n fontSize: '12px',\n paddingTop: '10px'\n },\n\n orderText: {\n fontSize: '10px',\n color: theme.palette.primary.main\n\n },\n maintenanceSettings: {\n display: ' flex',\n justifyContent: 'center',\n flexDirection: \"column\",\n\n alignItems: 'center'\n },\n textPrimary: {\n color: theme.palette.primary.main,\n fontSize: '15px'\n },\n textPrimary1: {\n color: theme.palette.primary.main,\n fontSize: '14px'\n },\n filePreviewContainer: {\n display: 'inline-block',\n maxWidth: \"100px\",\n marginRight: \"30px\",\n paddingTop: '10px',\n paddingLeft: '10px'\n },\n\n logo: {\n height: \"50px\",\n },\n orderText1: {\n fontSize: '14px',\n fontWeight: 600\n\n },\n })\n);\n","import React, { useEffect, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport { makeStyles } from \"lib/utils/common_utils\";\nimport { Typography } from \"@material-ui/core\";\n\nimport pdfLogo from \"../../../../assets/pdf.png\";\nimport jpgLogo from \"../../../../assets/jpg.png\";\n\nimport PartsClientServices from \"../../../../lib/services/api/stores/tooling/parts_client\";\nimport { BASE_API_URL_BOXR } from \"lib/constants\";\n\nconst useStyles = makeStyles((theme) => ({\n fileContainer: {\n width: \"640px\",\n border: `1px solid ${theme.palette.primary.main}`,\n borderRadius: \"15px\",\n display: \"flex\",\n alignItems: \"center\",\n padding: \"10px\",\n minHeight: \"132px\",\n overflowX: \"scroll\",\n },\n\n filePreviewContainer: {\n maxWidth: \"130px\",\n marginRight: \"30px\",\n },\n\n logo: {\n height: \"76px\",\n },\n\n certDialog: {\n \"& .MuiDialog-paper\": {\n boxShadow: \"0px 3px 6px #00000029\",\n position: \"absolute\",\n left: \"calc(50% - 250px)\",\n },\n },\n}));\n\nexport default function CertificatePopup(props) {\n const classes = useStyles();\n\n const { open, dialogCloseHandler, selectedSecondaryPartId, title, msds } =\n props;\n\n const [files, setFiles] = useState([]);\n\n const handleClose = () => {\n dialogCloseHandler();\n };\n\n useEffect(() => {\n if (msds) {\n setFiles(msds);\n return;\n }\n if (selectedSecondaryPartId) {\n PartsClientServices.fetchMaterialCertificates(selectedSecondaryPartId)\n .then((res) => setFiles(res.data))\n .catch((err) => console.log(err));\n }\n }, [selectedSecondaryPartId, msds]);\n\n return (\n
\n \n
\n {title && (\n \n {title}\n \n )}\n
\n {files.length === 0 ? No files found : files.map((item) => {\n const fileType = item.filename.split(\".\")[1];\n\n let logo = pdfLogo;\n if (fileType === \"jpg\") {\n logo = jpgLogo;\n }\n\n return (\n \n
\n \"file-logo\"\n \n {item.filename}\n \n
\n \n );\n })}\n
\n
\n \n
\n );\n}\n","import React from \"react\";\n\nconst Maintenance = ({ fill }) => (\n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport default Maintenance","import React from \"react\"\n\nconst Handling = ({ fill }) => (\n \n \n \n)\nexport default Handling","import React from \"react\"\n\nconst Departure = ({ fill }) =>\n(\n \n \n \n \n \n \n \n \n)\n\n\nexport default Departure","import React from \"react\"\n\nconst Records = ({ fill }) => (\n \n \n \n \n \n \n \n \n \n)\n\nexport default Records","import React from \"react\"\n\n\n\nconst Parts = ({ fill }) => (\n \n \n \n \n \n \n \n \n \n \n \n \n\n)\nexport default Parts","import React from \"react\"\n\n\n\nconst Tools = ({ fill }) => (\n \n \n \n \n \n)\nexport default Tools","import React from \"react\";\n\n\nconst landingIcon = ({ fill }) => (\n \n \n \n \n \n \n \n \n)\nexport default landingIcon;\n\n","import React from \"react\";\n\nconst Servicing = ({ fill }) => (\n \n \n \n \n)\n\nexport default Servicing","import React from \"react\"\n\nconst ResendEmail = ({ fill }) => ()\n\n\nexport default ResendEmail\n","import { Grid, makeStyles, Box, Typography, InputAdornment, MenuItem, IconButton, Divider } from '@material-ui/core'\nimport ManageDataDialog from 'components/form_components/manage_data_dialog'\nimport MROTextField from 'components/form_components/TextField'\nimport React, { useEffect, useState, useCallback, useReducer, useContext } from 'react'\nimport ToggleButton from \"@material-ui/lab/ToggleButton\";\nimport ToggleButtonGroup from \"@material-ui/lab/ToggleButtonGroup\";\nimport { Autocomplete } from '@material-ui/lab';\nimport QuantityCounter from 'components/quantity_counter';\nimport CopyParts from 'assets/copyparts.png'\nimport DataService from 'lib/services/api';\nimport { WorkOrderServices } from 'lib/services/api/operaitons/lineMaintenance/workOrder/workOrder';\nimport PartsClientServices from \"lib/services/api/stores/tooling/parts_client\";\nimport { MRO_MANAGED_PART, MRO_NON_MANAGED_PART, MRO_REQUEST_PART } from \"../../../../constants\";\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport dataReducer, { INITIAL_DATA_STATE } from 'reducers/data_reducer';\nimport { getOrganisationId } from 'lib/utils/common_utils';\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n error: {\n borderColor: \"#ff0056\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n margin: \"0px\",\n },\n purchaseInfo2: {\n borderRadius: \"8px\",\n // padding: \"10px 25px\",\n \"& div\": {\n display: \"flex\",\n alignItems: \"center\",\n margin: \"10px 0\",\n fontSize: \"16px\",\n \"& span:first-child\": {\n flex: \"0 0 50%\",\n color: theme.palette.primary.main,\n },\n \"& span:last-child\": {\n color: \"#4D4F5C\",\n },\n },\n },\n\n}));\n\nfunction AddPart(props) {\n const classes = useStyles();\n const { handleClose, action, workOrderId, lineCustomerId, popUpData } = props\n const [loading, setLoading] = useState(false)\n const [busy, setBusy] = useState(false)\n const [quantity, setQuantity] = useState();\n const [batchNumbers, setBatchNumbers] = useState([]);\n const [selectedSecondaryPart, setSelectedSecondaryPart] = useState({});\n const [details, setDetails] = useState(null);\n const [partDetails, setPartDetails] = useState({});\n const [primaryPartData, setPrimaryPartData] = useState([])\n const [primeId, setPrimeId] = useState(null)\n const [selectedSecondaryPartList, setSelectedSecondaryPartList] = useState([])\n const [selectBatch, setSelectBatch] = useState({})\n const [copySelectedPartOff, setCopSelectedpartOff] = useState('')\n const [nonManagedCopyParts, setNonmanagedCopyParts] = useState('')\n const [quantityRemoved, setQuantityRemoved] = useState();\n const [existingQty, setExistingQty] = useState(0);\n const [errors, setErrors] = useState(false);\n const [mroOwned, setMroOwned] = useState(null);\n const [value, setValue] = useState(\"no\");\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n const [selectedPartBase, setSelectedPartBase] = useState(null);\n const [state, rDispatch] = useReducer(dataReducer, INITIAL_DATA_STATE);\n const message = useContext(ToastMessageContext);\n let selectedPart = ''\n\n\n\n const handleToggle = (name, value) => {\n if (value) {\n setValue(value);\n // handleChange({ name: name, value: value })\n }\n };\n const getDetails = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n batch_number: selectBatch.batch_number,\n };\n try {\n const { data } = await WorkOrderServices.getBatchNumbers(params);\n // console.log(data);\n if (action != \"update\") {\n setExistingQty(data?.quantity)\n }\n setDetails(data);\n } catch (error) {\n console.log(error);\n }\n };\n // console.log(\"primaryPartData is===============\", primeId, details)\n useEffect(() => {\n const { batch_number } = selectedSecondaryPart;\n\n if (batch_number || selectBatch?.batch_number) {\n getDetails();\n }\n }, [selectedSecondaryPart?.batch_number, selectBatch?.batch_number]);\n\n\n const getPrimePartData = async () => {\n if (primaryPartData) {\n PartsClientServices.getAllPartsDependency({}).then((res) => {\n setPrimaryPartData(res.data);\n });\n }\n }\n\n useEffect(() => {\n details && setSelectedPartBase(details?.base);\n }, [details?.base]);\n\n useEffect(() => {\n getPrimePartData()\n }, [primeId])\n\n useEffect(() => {\n const params = {\n id: primeId\n }\n if (primeId) {\n PartsClientServices.getAllSecondaryParts(params).then((res) =>\n setSelectedSecondaryPartList(res.data),\n selectedPart = primeId\n );\n }\n }, [primeId]);\n console.log(\"primarypartData=====\", action)\n // fetching available qty from the database\n useEffect(() => {\n if (action === \"parts\") {\n const params = {\n organisation_id: getOrganisationId(),\n batch_number: selectedSecondaryPart?.batch_number,\n };\n\n DataService.getData(params, \"existingQty\").then((res) => {\n const { unique_part_quantity } = res;\n setExistingQty(unique_part_quantity);\n });\n }\n }, [\n selectedSecondaryPart,\n action,\n setExistingQty,\n ]);\n\n const handleClickCopyParts = () => {\n // console.log(\"primarypartData=====\", partDetails, nonManagedCopyParts)\n\n setCopSelectedpartOff(partDetails?.part_number)\n\n }\n\n const cb = (id = \"\") => {\n props.setCreatedId(id);\n };\n\n // useEffect(() => {\n // // setBusy(\"loading\");\n // LineCustomerServiceNew.getLineCustomerDetails({\n // line_customer_id: lineCustomerId,\n // })\n // .then((res) => {\n // const {\n // line_customer: { part_type },\n // } = res;\n // setMroOwned(part_type);\n // })\n // .catch((err) =>\n // console.log(\"something went wrong from part details\", err)\n // )\n // .finally(() => { }\n\n // );\n // }, []);\n\n\n const handleSubmit = useCallback(\n async (formData) => {\n let error = {};\n let _valid = true;\n let partRemovedData = formData.get(\"part_removed\");\n let removalLocation = formData.get('install_location')\n let description_off = formData.get('description')\n const qty = formData.get(\"quantity\");\n formData.delete(\"part_removed\")\n\n if (partRemovedData === \"yes\") {\n formData.append(\"removal_location\", removalLocation)\n }\n formData.append(\"description_off\", description_off)\n formData.append(\"rotable_removed\", partRemovedData === \"yes\" ? true : false);\n\n\n\n await new Promise((resolve, reject) => {\n resolve(\n (() => {\n for (var pair of formData.entries()) {\n // console.log(\"key-value =>\", pair[0] + ', ' + pair[1]);\n if (\n pair[1] === \"\" &&\n pair[0] !== \"serial_on\" &&\n pair[0] !== \"removal_reason\"\n ) {\n if (pair[0] === \"quantity\") {\n error[pair[0]] = {\n valid: pair[1] === \"\" ? false : true,\n };\n } else if (pair[0] !== \"quantity\") {\n error[pair[0]] = {\n valid: pair[1] === \"\" ? false : true,\n };\n }\n\n _valid = false;\n }\n }\n })()\n );\n });\n\n if (qty !== \"\" &&\n Number(qty) > Number(existingQty)\n ) {\n error = {\n ...error,\n quantity: true,\n qtyMsg: \"Please enter quantity within the available quantity.\",\n };\n _valid = false;\n }\n\n setErrors(error);\n // console.log(\"errorrr\", error, existingQty)\n if (!_valid) {\n return;\n }\n\n\n formData.append(\"user_id\", user?.id);\n formData.append(\"base_station\", selectedPartBase);\n formData.append(\"reportable_id\", workOrderId);\n formData.append(\"reportable_type\", \"WorkOrder\");\n\n if (partRemovedData === \"no\") {\n formData.append(\"part_off\", \"\");\n formData.append(\"serial_off\", \"\");\n formData.append(\"removal_location\", \"\");\n formData.append(\"removal_reason\", \"\");\n }\n\n\n\n\n\n setLoading(true);\n\n DataService.updateData(formData, \"\", \"managedPart\")\n .then((response) => {\n if (response.success) {\n\n }\n else if (!response.success) {\n message.showToastMessage({ message: response.errors ? response.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n\n }\n\n handleClose();\n // console.log(\"runing...\", props.getList);\n props.getList();\n\n\n })\n .catch((err) => {\n // console.log(\"from add parts tools\", err);\n })\n .finally(() => {\n setLoading(false)\n // setTableRefresh(false)\n })\n },\n\n\n [selectedPartBase, existingQty]\n );\n\n\n\n\n\n\n\n\n\n\n return (\n \n\n\n\n\n\n\n \n\n \n \n Installed Part\n \n \n \n option?.part_number ? option?.part_number : \"\"\n }\n getOptionSelected={(option, value) => option.primary_part_id === value.primary_part_id\n }\n onChange={(event, newValue) => {\n setPrimeId(newValue?.primary_part_id)\n setPrimaryPartData(newValue);\n setPartDetails({\n part_number: newValue.part_number,\n description: newValue.description,\n serial_number: newValue.serial_number,\n units_of_measure: newValue.unit_name\n\n })\n }}\n\n className={\"search\"}\n renderInput={(params) => (\n \n )}\n />\n\n \n setSelectBatch({ batch_number: e.target.value })}\n >\n \n Second, select batch number\n \n {selectedSecondaryPartList.length === 0 &&\n No Result Found}\n \n \n {selectedSecondaryPartList.length !== 0 && selectedSecondaryPartList.filter(((item) => item.state === \"In Stock\")).map((uom) => (\n \n {uom.batch_number}\n \n ))}\n \n \n
\n
\n Part #\n {partDetails?.part_number ?? \"-\"}\n
\n
\n Description\n {partDetails?.description ?? \"-\"}\n
\n Units of Measure\n {partDetails?.units_of_measure ?? \"-\"}\n
\n
\n Serial # On\n {partDetails?.serial_number ?? \"-\"}\n
\n
\n \n \n setErrors({ ...errors, quantity: false, qtyMsg: null })\n }\n // minQty={1}\n />\n
\n {\n setErrors({ ...errors, install_location: false })\n }}\n\n placeholder=\"Location\"\n />\n\n\n\n
\n \n \n \n Removed Part\n \n\n \n\n \n \n \n Repairable Part Removed? *\n \n \n \n handleToggle(\"rotable\", val)}\n aria-label=\"yes-or-no\"\n >\n \n No\n \n \n Yes\n \n \n \n {value === \"yes\" && (\n <>\n setCopSelectedpartOff(e.target.value)}\n InputLabelProps={{ shrink: true }}\n placeholder={\"Enter Part Number\"}\n InputProps={{\n\n endAdornment: \n \n \n \n ,\n\n }}\n\n />\n \n \n \n setErrors({ ...errors, removed_quantity: false, qtyMsg: null })\n }\n // minQty={1}\n />\n \n\n\n\n \n\n\n\n \n )}\n\n \n\n\n \n\n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n )\n}\n\nexport default AddPart","import React, { useContext, useEffect, useState } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Box, Dialog, DialogContent, DialogTitle, FormControlLabel, withStyles } from \"@material-ui/core\";\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { FormControl } from '@material-ui/core';\nimport moment from 'moment';\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport MaterialTable from 'material-table';\nimport _ from 'lodash';\n\n\n\n\n\nconst GreenCheckbox = withStyles({\n root: {\n color: \"#4FC605\",\n '&$checked': {\n color: \"#4FC605\",\n },\n },\n checked: {},\n})((props) => );\n\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"760px\",\n paddingLeft: \"24px\",\n paddingRight: \"14px\"\n }\n },\n\n title: {\n display: \"flex\",\n justifyContent: \"left\",\n textAlign: 'left',\n fontSize: \"16px\",\n\n },\n\n actionButtons: {\n paddingTop: \"30px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n\n}));\n\nexport default function ScheduledChecks(props) {\n\n const classes = useStyles()\n const { handleClose, currentSelection } = props\n const [subSection, setSubSection] = useState({})\n const [loading, setLoading] = useState(false)\n const [busy, setBusy] = useState(false)\n const [data, setData] = useState([])\n const message = useContext(ToastMessageContext)\n useEffect(() => {\n if (currentSelection !== undefined) {\n setLoading(true)\n const params = {\n line_customer_id: currentSelection?.lineCustomerId,\n id: currentSelection?.id\n }\n\n LineMaintainenceServices.getWorkOrderSection(params).then((res) => {\n let data1 = res?.sections.find((item) => item.section_name === \"Maint\")\n\n\n if (data1) {\n // setSection(data1)\n getDetails(data1?.org_section_id)\n }\n\n }).catch((res) => {\n message.showToastMessage({\n message: \"Something Went Wrong\",\n variant: \"error\",\n }); message.showToastMessage({\n message: \"Something Went Wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n\n\n }\n\n\n\n\n\n }, [currentSelection])\n\n const getDetails = (org_section_id) => {\n\n\n\n const params = {\n line_customer_id: currentSelection?.lineCustomerId,\n id: currentSelection?.id,\n org_section_id: org_section_id,\n operable_type: \"WorkOrder\"\n }\n LineMaintainenceServices.getWorkOrderSectionDetails(params).then((res) => {\n let data_new = res?.section_details?.sub_sections.find((item) => item.sub_section_name === \"Scheduled Checks\")\n\n if (data_new !== undefined && data_new?.sub_section_fields.length > 0) {\n setSubSection(data_new)\n setData(data_new?.sub_section_fields)\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something Went Wrong\",\n variant: \"error\",\n });\n })\n\n\n\n }\n\n\n // console.log(\"data===\", data)\n\n const handleSubmit = () => {\n setBusy(true)\n\n\n let fields = data.map((item) => {\n let key = item.id\n let value = item.field_value ? item.field_value.toString() : item.field_value\n return { [key]: value }\n\n })\n var newObj = fields.reduce((a, b) => Object.assign(a, b), {})\n\n\n const params = {\n close: false,\n id: currentSelection?.id,\n\n data: [{\n org_section_id: subSection?.org_section_id,\n fields: [newObj]\n }],\n operable_type: \"WorkOrder\",\n }\n\n\n LineMaintainenceServices.updateWorkOrderSectionDetails(params).then((res) => {\n handleClose()\n }).catch(() => {\n message.showToastMessage({\n message: \"Something Went Wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setBusy(false)\n })\n\n\n\n }\n\n\n\n\n const tableOptions = {\n ...options,\n\n pageSizeOptions: [5, 10, 20],\n search: false,\n sort: false,\n paging: false,\n toolbar: false\n };\n\n const handleChange = (rowData) => {\n\n let value = data.map((item) => {\n if (item.id === rowData.id) {\n\n\n item.field_value = rowData?.field_value === (\"true\" || true) ? \"false\" : \"true\"\n }\n return item\n })\n setData(value)\n // console.log(\"row====\", rowData, value)\n\n }\n\n\n\n\n\n const column = [\n {\n title: '',\n field: \"id\",\n render: (rowData) =>
\n {\n handleChange(rowData)\n }} name=\"\" />}\n label=\"\"\n />\n\n
\n },\n\n\n {\n\n title: 'Check Name',\n field: \"field_name\",\n width: \"90%\",\n headerStyle: {\n textAlign: 'left',\n width: \"90%\",\n },\n cellStyle: {\n textAlign: 'left',\n width: \"90%\",\n },\n\n\n }]\n\n\n\n\n return (\n
\n\n \n \n \n Scheduled Checks\n \n \n \n\n\n \n \n \n\n
\n handleClose()}\n type=\"button\"\n >\n Cancel\n \n handleSubmit()}\n >\n Complete\n \n
\n
\n\n\n \n\n\n\n\n
\n )\n}\n","import React, { useContext, useEffect, useState } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Box, Dialog, DialogContent, DialogTitle, FormControlLabel, withStyles } from \"@material-ui/core\";\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { FormControl } from '@material-ui/core';\nimport moment from 'moment';\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport MaterialTable from 'material-table';\nimport _ from 'lodash';\n\n\n\n\n\nconst GreenCheckbox = withStyles({\n root: {\n color: \"#4FC605\",\n '&$checked': {\n color: \"#4FC605\",\n },\n },\n checked: {},\n})((props) => );\n\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"760px\",\n paddingLeft: \"24px\",\n paddingRight: \"14px\"\n }\n },\n\n title: {\n display: \"flex\",\n justifyContent: \"left\",\n textAlign: 'left',\n fontSize: \"16px\",\n\n },\n\n actionButtons: {\n paddingTop: \"30px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n\n}));\n\nexport default function HandlingAndEquip(props) {\n\n const classes = useStyles()\n const { handleClose, currentSelection } = props\n const [subSection, setSubSection] = useState({})\n const [loading, setLoading] = useState(false)\n const [busy, setBusy] = useState(false)\n const [data, setData] = useState([])\n const message = useContext(ToastMessageContext)\n\n const [value, setValue] = useState(\"\")\n\n\n\n useEffect(() => {\n if (currentSelection !== undefined) {\n setLoading(true)\n const params = {\n line_customer_id: currentSelection?.lineCustomerId,\n id: currentSelection?.id\n }\n\n LineMaintainenceServices.getWorkOrderSection(params).then((res) => {\n let data1 = res?.sections.find((item) => item.section_name === \"Hnd & Equip\")\n\n\n if (data1) {\n // setSection(data1)\n getDetails(data1?.org_section_id)\n }\n\n }).catch((res) => {\n message.showToastMessage({\n message: \"Something Went Wrong\",\n variant: \"error\",\n }); message.showToastMessage({\n message: \"Something Went Wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n\n\n }\n\n\n\n\n\n }, [currentSelection])\n\n const getDetails = (org_section_id) => {\n\n\n\n const params = {\n line_customer_id: currentSelection?.lineCustomerId,\n id: currentSelection?.id,\n org_section_id: org_section_id,\n operable_type: \"WorkOrder\"\n }\n LineMaintainenceServices.getWorkOrderSectionDetails(params).then((res) => {\n let data_new = res?.section_details?.sub_sections.find((item) => item.sub_section_name === \"Gnd Handling\")\n\n if (data_new !== undefined && data_new?.sub_section_fields.length > 0) {\n setSubSection(data_new)\n let value = data_new?.sub_section_fields.map((item) => (item?.secondary_field ? {\n ...item, sec_org_section_id: item.secondary_fields[0]?.org_field_id\n , secondary_field_value: item.secondary_fields[0]?.field_value\n } : item)\n )\n console.log(\"item\", value)\n setData(value)\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something Went Wrong\",\n variant: \"error\",\n });\n })\n\n\n\n }\n\n const handleUpdate = (newData, oldData) => {\n\n let value = data.map((item) => (item.id === newData.id ? { ...item, secondary_field_value: newData?.secondary_field_value } : item))\n setData(value)\n console.log(\"data===\", value)\n\n }\n // console.log(\"data===\", data)\n\n const handleSubmit = () => {\n setBusy(true)\n\n\n let fields = data.map((item) => {\n let key = item.id\n let value = item.field_value ? item.field_value.toString() : item.field_value\n return { [key]: value }\n\n })\n let fields1 = data.map((item) => {\n if (item.secondary_field) {\n let key = item.sec_org_section_id\n let value = item.secondary_field_value ? item.secondary_field_value.toString() : item.secondary_field_value\n return { [key]: value }\n }\n })\n let array = [...fields, ...fields1]\n\n var newObj = array.reduce((a, b) => Object.assign(a, b), {})\n\n\n\n const params = {\n close: false,\n id: currentSelection?.id,\n\n data: [{\n org_section_id: subSection?.org_section_id,\n fields: [newObj]\n }],\n operable_type: \"WorkOrder\",\n }\n\n\n LineMaintainenceServices.updateWorkOrderSectionDetails(params).then((res) => {\n handleClose()\n }).catch(() => {\n message.showToastMessage({\n message: \"Something Went Wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setBusy(false)\n })\n\n\n\n }\n\n\n\n\n const tableOptions = {\n ...options,\n\n pageSizeOptions: [5, 10, 20],\n search: false,\n sort: false,\n paging: false,\n toolbar: false\n };\n\n const handleChange = (rowData) => {\n\n let value = data.map((item) => {\n if (item.id === rowData.id) {\n\n\n item.field_value = rowData?.field_value === (\"true\" || true) ? \"false\" : \"true\"\n }\n return item\n })\n setData(value)\n // console.log(\"row====\", rowData, value)\n\n }\n\n\n\n\n\n const column = [\n {\n title: '',\n field: \"\",\n editable: 'never',\n render: (rowData) =>
\n {\n handleChange(rowData)\n }} name=\"\" />}\n label=\"\"\n />\n\n
\n },\n\n\n {\n\n title: 'Check Name',\n field: \"field_name\",\n width: \"90%\",\n editable: 'never',\n headerStyle: {\n textAlign: 'left',\n width: \"90%\",\n },\n cellStyle: {\n textAlign: 'left',\n width: \"90%\",\n },\n\n\n },\n {\n\n title: 'Value',\n field: \"secondary_field_value\",\n render: (rowData) => {rowData?.secondary_field === false ? \"\" : rowData?.secondary_field === true ? rowData?.secondary_field_value : \"\"},\n // editable: 'onUpdate',\n editComponent: (props) =>\n {\n props.onChange(e.target.value)\n }\n }\n variant=\"standard\"\n style={{ width: 60 }}\n />\n\n\n },\n\n\n ]\n\n\n\n\n\n return (\n
\n\n \n \n \n Handling & Equipment\n \n \n \n\n\n \n rowData?.secondary_field,\n isEditHidden: rowData => (!rowData?.secondary_field || (rowData?.field_value === \"false\" || rowData?.field_value === false)),\n onRowUpdate: (newData, oldData) =>\n new Promise((resolve, reject) => {\n setTimeout(() => {\n\n handleUpdate(newData, oldData)\n resolve();\n }, 1000)\n }),\n }}\n />\n \n\n
\n handleClose()}\n type=\"button\"\n >\n Cancel\n \n handleSubmit()}\n >\n Complete\n \n
\n
\n\n\n \n\n\n\n\n
\n )\n}\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABmJLR0QA/wD/AP+gvaeTAAAB30lEQVRIia3Wv2sUQRjG8c/dRUQbRawVogYUjHp97LUQFMTO/AliGXKEJApaKFgKEkgsxMYfWNgIFoJFRKNRLGyvE5MyYHGixdyR2WF3cuvlhYHded95v/vOPvPuNoxuLVzFZUygh3U8xrtdyE8/8Vf8rRgr2DsqpI3NDGQwlqExAuQNDkVzH/FSqGAaRyLf+f+FpJXcEd7VwA6jG/kf7QZkviJ2MYpZbdaAHMAVYXu+9OcWMqA/0XWrImYoO5XxjWHNdkVPxoZI2MBFXBLk/Fs4JyuZNbdxLrp/sRPkGD4ol22vnzDd/rkkbq0kpmBtbFRA4nE9WtNJfBs4vhMkVdc67glS3Yrmb/TXzCbxm4rbNxRkUVE548KJv499mCmp5GxdyAz244EggPEovoVbSfwvnKkLme37bkZzW1jqV/OtBDKZg0yUQDqRfzrxlY2fOJ2DtIQXHS+aS2KagpR7FZD3OJqDwLVk0d1M7Emhgb7GWzzEBUN+BZ5GkE/yfSnXdrLWxIno/pViM4xtHt+FhrokVH6wDmzVdkULGUh6GNt1IISTPkjQFT5aA2sJTz4yBKaSRF3hEHYUW/1IkIEtK5ftrkIIPxQ52GdF0dS2VP9TQheYxB78wHM8U63GoewfAo7YbZrQf6sAAAAASUVORK5CYII=\"","import React, { useContext, useState } from \"react\";\nimport { Box, CircularProgress, } from \"@material-ui/core\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n // IconButton,\n Typography,\n} from \"@material-ui/core\";\nimport exclamationIcon from \"assets/exclamation.png\"\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport MROButton from \"components/buttons\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { CertificateServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/Certification\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { CalenderMaintenanceService } from \"lib/services/api/operaitons/WorkShop/Storage/CalenderMaintenanceService\";\n\n// import { WorkshopContext } from \"./WorkshopContext/WorkshopContext\";\n\n// const useStyles = makeStyles(() => {});\nfunction CautionPopUp(props) {\n const [acceptAll, setAcceptAll] = useState(false);\n const [busy, setBusy] = useState(null);\n const message = useContext(ToastMessageContext);\n const { getWorkshopOrderDetails, editTab, setEditTab, closeHandler, open, handleClose, getMaintenanceOrderList, cautionMessages, getCertificationDetails, workshop_id, tab, action_type, title, show } = props;\n // const classes = useStyles();\n\n const handleCertification = async (formData) => {\n formData.append(\"workshop_order_id\", workshop_id)\n await CertificateServices.unlockCertification(formData)\n .then((res) => {\n if (res) {\n handleClose(res.success)\n getCertificationDetails()\n getWorkshopOrderDetails()\n getMaintenanceOrderList()\n message.showToastMessage({\n message: \"Completed successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setBusy(null);\n });\n }\n const handlePlanningClosure = async (formDataProps) => {\n console.log(\"formdata is\", formDataProps)\n await MaintenanceServices.planningData(\n formDataProps,\n \"\"\n )\n .then((res) => {\n message.showToastMessage({\n message: \"Planning completed Successfully\",\n variant: \"success\",\n });\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setBusy(null);\n });\n }\n const handleInspMaintProd = async (formData) => {\n formData.append(\"workshop_order_id\", workshop_id)\n formData.append(\"action_type\", action_type)\n await MaintenanceServices.unlockPopup(formData)\n .then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Completed successfully!!\",\n variant: \"success\",\n });\n }\n handleClose();\n getWorkshopOrderDetails()\n getMaintenanceOrderList()\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setBusy(null);\n });\n }\n\n const handleCalendarClosure = async (formData) => {\n formData.append(\"workshop_order_id\", workshop_id)\n formData.append(\"action_type\", action_type)\n await CalenderMaintenanceService.unlockPopup(formData)\n .then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Completed successfully!!\",\n variant: \"success\",\n });\n }\n handleClose();\n getWorkshopOrderDetails()\n getMaintenanceOrderList()\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setBusy(null);\n });\n }\n\n\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target)\n setBusy(\"loading\");\n\n if (tab === \"certification\") {\n handleCertification(formData)\n }\n\n if (tab === \"inspection\") {\n handleInspMaintProd(formData)\n }\n if (tab === \"planning\") {\n handlePlanningClosure()\n }\n if (tab === \"calendar\") {\n handleCalendarClosure(formData)\n }\n };\n\n const closeHandle = () => {\n if (tab === \"inspection\" || tab === \"certification\" || tab === \"calendar\") {\n handleClose()\n setEditTab(!editTab)\n } else {\n handleClose()\n }\n }\n\n if (props?.isGettingDetails) {\n return (\n \n \n \n );\n }\n\n return (\n
\n {\" \"}\n \n \n \n \n \n {title ?? \"Caution - Unlock / open tab?\"}\n \n \n \n {\" \"}\n {\" \"}\n \n \n {show ?? \"Read and accept before continuing\"}\n \n
\n \n {cautionMessages?.map((item) => (\n \n \n {item?.name}\n \n ))}\n \n Accept all\n    \n setAcceptAll(!acceptAll)}\n />\n \n \n \n Cancel\n \n \n {props?.btnTitle ?? \"Continue\"}\n \n \n \n
\n \n
\n );\n}\n\nexport default CautionPopUp;\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAAABHNCSVQICAgIfAhkiAAAC8BJREFUeF7tXU1yFDkWljKLiA6zaPoEU+wALzAn6GI5MWOPOcGYE7Q5QZsTYE5A+QS48UzMEvcJxl5g2OE+QbsXMB2BMzXfk1KZkvJPmZWqKperNuBKpaT36en9S8XZwB9x8nA3FdEbxtm99q7Fy3j74qC9Xf8W4j8Pxum36D3jfNzWi2DsdLT94Wlbuz7PeZ+Xmt65fvfolHP+o2+/8faHwedgjp386+E+E9Er3/lELHnKtz+d+rb3bTc4kcnJJhjD/xOKMD0DLPwxFv4f/jMKs8sGBVqcPJikLH5PRAkhfh3tXEyqCExOHkFc8J/VszCE6XGTd5u/azEWXX/5gT+7vHLnJP79aCtN+X/b5u2/WOWWgwLtC6DvgsxCmATNABB/nkNMbdX1mbx7dAU5/j09DyHOOgMt3o7vsfi7x1UTTnl0CE7NiEn3IyHO6ghLeZzLwUgklZw/K9DYXbvg5n0JOhPHsUgxv+pPl7mz5M/zqp3RNF9voCUXSmuCj2cFYCXeF+Iy4ulzX8XpBbQ02Vj0diUAGpiIiKXP+PbH47ZuvYA2FQo24W9CsMu2jlf5OecMu5r/RdIo2FW88+GHNnpbge6iUNoGW6XnUPxgNgV2FIkn/G8XtfqI2rQDbZhs2hQjhZiMNt7g9Xuw445gxk37gqg8t/gnwVmtRdC3b0mgYGfRneQ1/+un3rsQtvgedNM/Qf9VfP31OSlC08Ly8QV6AS2dAMYmGJwm/9hnRavAUgo2fuvnrs8AN7Z3xBPI0u4en7Gjz8FUY+mm71zszgXozOY8jkbJQXodf/ZVCCZUtCvS+O7n4CDrQclKSL4+6WqWETfDs3wDWu+D1gNw9QTxmfF8gD7ZJHv0J6UMxB8gYNyVAMeSOYcneVm4yuIMxDzRGFnxCuLOO8kTLQocHcLMRZdi6Tomi0Da/f0ZYuNSOzPo5jUcmv25AE2TVivNxtEonRLRyclDAA+Z7fkRjE+k+FGr9TK6/nqYxiZBtmtuBqvcKJvlkdJCJF/u64U3n9F7nIlTzynSvK7i7Y+v1YJFe2RtaX00N6DNyXaNkJUJVaC69rop+7Nw51nOWTx9Ef/9Y+7pIZhFWl9yLnmBo+2LZ/R/OyzgD3He0hkn32VGvCaYMnSnOzMxRmDJjrbNLkKGnJvFXEsA9BF46rKNd7ANJ0XcuhATSkkOJ0LS0QZiHSpSSBFFiDsP0cHHaA5zTom1quTEYkRHx9UtbWkhplBUU704ZjCIvkNwapexVIY3kygewzbO2wKIg0ikOXh491hbMiRC0JaicntNoLlMYUYXVwvoNvYf7Llf7HsuQCsNi4yEiMbkrUFLw5LQoc9htlGJowcDsq2jMECD689gRV2RF8p4ehmNxC+uJ5p7hplsfFVss6pJDwe0dOPjDRIB3iZhG4wtz6/i5Ouej73flaMrxxXsEGbmSz2eBFqCPNpACkpzbt2UhwN6RtCCvj4I0EqRnsE/eEpgS6CvTzbfF86DbHEEDX0aYxukHODnWeQ10HqFLbMRtjZlkxKIW1hSE7TJLBay6VUJA7dXj9xUO93edXV9jPeg7DhA57PSXImp4yCUbMZZBx2A7rl3MQTNjqN0xK10PCJUpC0pUJOkXBad1FkdZkyaI3xY5BILDYzMw4u5ozTDgMDiVcnSQrBLyHBwEYumIZyMv7Q66Ps4Ei8oCZAFtD4rUY2AmVnwotPsLusXcy9ktI9rWxJDMB3Zt0hl0O+k53XBeJ1pJ+ck5uK8LXshGUPwx3GaXDZlqIn4uvHraTZXrp1+k2YTW3B0Uc+gC0xCAE3colP/+dRhArlcL6OCDLvJqN0jhRJff3nmmmZqV919aylyeILwCF+4WZ+28YcGWllyd3/POPoPbsnoikhVnbyqK5Yxw5l6dVu4X8Z35Q5ryLZXFSBWWEv5GpqxZ3BWET8viRYdOayusqqjsy3WYUY0YcH9QkDLDIJCHrHcWDw1t+osQEM2TcGZkG/8wKAPQSfEH3TiQA2sngtGubmxEmuYHMlGIeg7WUGE54dIAqqSLoHYd1YcQ8kHtJniHTKvVJ0d5CKeT9W41viv8QU5ScoEk7EQcYh/Sc/sZWPn5Wx9gJbJiISjglU5Y5jXc2lHm7FcPTAFavjOp19nAlpRmX8IPMq3ZWMSCLm96TTNy7d8dIEZ+LFocTrFn0fYPRLMpuJHs26wC9Di3YMfUfE0cRZW0qI8Q1VDXATVyxPMvqlTBsX3zWW77crE5Sgf2WkqoKHH9wG6Hi6k+e6kW6T0rVgHYg9U4tpQ29wZaBIT9CnFdq0Uk4wTy4y6bGdylFsQqePJZjy7AWjycEmcZDTVLrQ1z64cXQU09YHYyq4V67C2t6rjQH4MtjE+mCTJmayosRvQBAD1oUt57S1ul+5CeZ1Wlfz6iK46oOl7lLLRVi6VCLvKzJxnD6ApuSx1BzEMxp26pQ296jqoQ1+r4zYA7RN26AS0rcyqi8ld825VgTaV6TBAm4a3lDGq7hlbksyuPSV2qpXhyomOLOUmI5qMasHVx6dwvZWjlZhoMvhvEdAaWfvf3OGqfqy+9QI6y4Y0WCS3hKMdJF3LYmagdQfKReZbyrQyaoRvi+jIasPJxIyQPfEpQNfYeXF01UrddqujiXurnq2BBiqu0vaxo9dAGyd3Qzosa6BvI9DlVV+doNJScfQQQFvx8hrqKN6rMyr+0bt63+DGyei+QEsXiLM9yhemKaNDSS0HiVCoErHnlDe0CyBLhq88hIk6le9hplJSorJK6sYB3cUFp9LYRg/UOcJRLu8tLWvusTVxuQa17ny67/n2NlEyjHmXp+TlcbOt/DaBDmFSWfGv4iqnmLR91pxAjuEkOWf5VMoI9c461VVQe45E80THgn3aWeFYSvByFCyS62yXUvS+yGUYoGuWsytH627kuT6G/CERyvkZTkQd1pYmqANB++BMLV6mVeces/pCtFPnZngkjqNv/5vmi2Gdp6zjT79q1EEdltYUU7bV2ei7LZ/Af+grf9q2tocoKpXLtfVpPu/N0VJhYeuyNK0uu73+84y4xSdDUldV34WQIdrKwh0wRmVfI3Y5y+nbmYD2Ie4mAe1DT982a6D7ItfxvcGBNgskpdIxj2ZY1olRGGl8T+/oQsGOtCx188GB7n4rVxmfpouvlhrNhsmFALrTvXdVc1sD7cFOVUWOHq+hwNHvKjefvpaxTVCOrqqPlkfr8HGPiK2B7sgedRxdVZJrXfmw5uhuSNcBXRXYaaqxq7sFsttslqd1CNGR3wVqcmxlBA1uerxzoWqIjSL0tTL0YBAnUN9Yj2zHfTen6F5VndbckeEx/NI2GZyj7bMbxZ1wpVAlBZ14uqurLqtOhy0taj0mNjjQNAe7ALC46dAK2mRBJ1ds4O/Gy1p70LgUr4QCujgXYxxnqKMYmZWVFhtSGoZY7jrxUQu0ecdzdqg0xLwW2WcQoJvEh0usey1b0x3PiwRq1rFDAp2Lj6a7mxMe7eMApzyptYrWhl6gYEBb4sOTHei2xFmyGJ7DLKRZMKBd8dFG3So6KSbNQYHWmediQD7G//VRuN/wf7I25IducvS5hqdtwZb1eVCgS4rPOojud8H1sgLXdV5zBZomZ11tadTMdZ34TWs/d6BLh/yNm3NvGnhd5jt3oF2uNm/S6jLxm9Z2IUCXD/kX15bdNAB957sQoGly5cJD+2ZdXwJuSruFAV0Ddu9qzWUHfKFAS7DNKk4U0iDjcn/ZQeszvyBA29e5yfiyvDOp7mOafH1/AaMP8fN8JwzQHTPaXW8KmCdAQ40VBuiOvw/Yt+hmKBDm0U8QoKWtXHGfXhVB7u+x1P244zzACDlGOKCN9JT5KxIuMVgQ+um+PakYjVvEQhK9iL6DAW3dzUkg0m2MLHmps95KYbKf86A/2vjc5LIIkIYYMxjQNDmfw5g5EStYy2EuUFCgc7AZ3cCY3cbosgfqO8Dt+7P8gtwQHBe6j+BAS9mb/QQSkoKUG9RnCM/xBD9spn4CKjShi+7///7JSb9UTm6fAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFwAAABaCAYAAAA1tjFFAAAABHNCSVQICAgIfAhkiAAAED9JREFUeF7VXV9yEzkTl8Z2FeHl4zvBZk+w4RF42HAAknCCDScgnIBwAsIJNpwAJxxgvQ+ER8IJ1jnBwgtQZXu03dJoptUjjTR/7BhXUbtgjUbzm1ar//y6LcWAn6NP4t7q2+j3TGRHQqpdIST8EfgHPmpm/iPnKstn2Z3VxfS++DLg7dcy1ZOPo+ORkPPpg6VZf8+P7Hm9vvzoo9hV+eSlkOK43XxqqqSaXj5YvW133eZGH3wYn0opXyqhzi4fLl/0vXMvwFGi8+/jl1LIk34LUTMpxauhpKjfWtyrLeBmd4prKRbPpo/Eddd7dAa8kOp3INV79OZKqQuVqelIrGbTB2JOvzv6IPZW2WhPqmxfCnUEKud/7sLVVO4sn22TqnEALxarhDi5fLh40wX0ToAffBz9IXN5JqS8Z28Ki3ibycUpB7lpUagfM5WdwphfynEoRXcXj7cFdB/gZq24K0E4mFDFXkIrwFFClZj86Uq1+irVcr/rNtNq6dv4BPUkWew8V/kJvNBbP1QzJY+rs0l9dXalUl9yqZ69f7iaxoC23ycDfvARdLWSKI2VMCrxOcsWR23fsm9xRx/H+0oJWDhXM6mPsv5xoC5fKRCCTCjAga4zXRUmAX74QUv1MXmkm1zmp+8frM6HfEy9g+QEpaVSMUPeoOdcCPjlo+Upnl95PpnCQf8b3ZUSpD128EcBL/Tsn46u3lmcrEvHGtDHs0qC1Fc4HzpbBT0xdi4HE/acCpn/QG02HxsB15aImvxDwYbTmUr6kM9TzsVfspSLX4dQW+tYrHdXNpiPjYAfXo3/Aknbx4WiuQfbCUy5zXxAemDLykN9b7CANvGiuz5Z4Y+cgj/ynM7hMx+DgLvSDZaIXO5tUsr47pI7i/+vS411BZpf9+RqdJQJCeeac6A65mMQ8IOr8Zl9Y+DWvgG3tqc32f6xDq4m57DAP/DKXIgX7x8uztrPstkrCjP33O5OfXdiPgYBB8vkk7W3pVrc72pn93lcIzHZO6NW1N/w0rV62+ZPKNxhLZww4FcTUEH6Ub9ePFyWHmXTw+IBkmcjMJUkHLbqcxuHIDQvnCPg/Jgtuu1qxecYgm/xOROLYyuwXsCp/oxJln6jP8bPZS7QM3ReDNilj6ldimPV9/E77hIXpuBriKM85XoaVNsMVNvvGnA23zZJutcxBFWc7SxP6TMFAEevT4KF0ryVtXeYCwhguUCXQIDuktnyPh62Guxvk7+0miLxEiMVYA3pOdQUdtNTCiS1dcHZeja0s9X3pRnhHIOfYqw5qxXAKQIPvB5D7ww4t5X1y4HtA4mHGSQZ9q0XZk26YmHgwBj1UHptxrv8ZJfKpdh1LtRMSTHrC1LX6zMh/qYgagxy+doJ4oH5nN1dHocsqk6Am7iH2QEW6CxTJ3YxHFx76DrXofTfXf6KC+Mx54tHi/t2bt+L7QpY3+tKITGqEaWa+CXqKwSyTmI70A+4nnDyr0FTXFMAjB7WErlrvoawrMfVD5mVVCdbFVHMie67jqFQzzIcHu0LX/vrEfAsEzOuRvGcyyRIdUKoNsFKEeLi4aIc9+RqcgJb63Up2XcX+77tU7i8RlWQl0YllnqQ9AVRm5sCbmLu6rw9VN2vyCE8a30BmGVuBa3a3SaglXqHJsensg6IHX54pWMrWrpjVgOMLUzL6qWFLCBmc5eOFnV+YvdLfeg240I7jJt7qXM2AE69vPwp2tTM3b4BydfAhz5UfdBdQl7EHP79V7ye6ndqijoO2C0EsQIRwZq51x/wIltdTARbSc3B+rhnvc+UgBKqFZGNjW1+Z3ltVQ+CaxdYHbTkIIYDFe5ThGStuZXugKU+fMo4ZiVBTMlv7qXMpbWCb2DhoLBT2B1pT+zUG8XGccunNl7b9OJpLMAfu0/b70uaRMTcS523BrjJxo8hjhJwZoqZNw54cd9NOz9oJAiZf4mZe50BpzoT4yigOs4ziblGiNiRE5sCXnlb4gv3FH0LMZaOOgS79a19EEeH61yp0tHJlVC7PLN/W8G0VFCbxjkS7joZ9Ri4Y6IV+T2cnP57iiUBhyacCeIXPOkvHy00ryV0aOrvTGafhDzVDF7s4yEA2PQcDuA+p4QuKAR4AdY5APglC9jlvnncXdIcvynOFXhRReTwFiyWIV6OA7jPbk4BfIiFNEm4nZ+m3VJ20hDr0mTOfHU9VD7ADzhz58kDa2Ij/n2dh2YoJBzaYUMAG5qjtFKkOr18sHzV914/rYTnwjhjfQGIXV8jc2YLME1dzmRsDvp9EHCf+ZVyaLa5OY61HmhMpZh4+vgfa65uijpR8zTBHwD21ekgZE6qwzHxKcXyMdVdtwU4d8RiWai2L71pfAOZsxPTNyjhdhFIRAdbXG9dSmykOpwt6gauAWsi8IHwQJWcqBLDbqxcXGNsGWeA9NoeLBL/f7dakziBe2yEjbVWMqcj4RExcUw6N2szh2Tv/VDGIxQnj7r2Q4ptx7kqMqcJT1OhhNzlqxTejFfCdaoMpNThVrBFcivFOjN6mBLnkLR4xp+rTmGrksw/C+CazInsBAHRVE7mVHCgRqoj/IAXHBAz8RgKpMS+AZKqA5d+RuPZBdBzJD/CywPmkdoFqvMxTbRychEDvFktdZTQvpclkTkj5mMj4HyBLB5exrLtuNT8o05J7SyP6BZ0VA0JG/QFad3XWy8b7uNWcQTMx1aA4+Kp6vB5e4WkIyXNw/GGYJgSZzwlVTP5bonp1fXlGLbVBKiBhpZntIHffGwNOM1pwrTBAxKBBzWyB+roHuj0L1BoNR/dWU19Bws7SH8KSpvv5QTInI752BpwnmHXxUUexlSqtDQdpKlzbNO4gls4tWwxK+22Fqg14DhBzaJAJlWmXrTJxhQxdDCvKm7HbbF0h35hsGNf89pVL5nT2uEhTw5BWuWj32QGzkgOQLEaTVQxcO0U/r2x+kwqtHooNWz7SfcpL8Vf5SduIGFy5CVzNgHuIyumLCJlzNCRx5R7Dj0G6BzPQV04/HXcsY1kTh99ARe2LvZTl2LaoYHqO1+IzJkLdeyLZjIdTrjYJKNCXX4ECUyeeblQKXcdcwgtIj6GPBV4r8fwV20ygiNx2veBN3l9jcyJBQNKQkklqchuQ+akLCdLHXaTu/7CKpqJQQAo6YcDwsduErC+94qSOYU8jZXFOBLOC5kwJgJx8Qtb9sGJnfYBaKafJoZ9D7gu9dQXzJTrSzInSjWNXraoyK7xUnwBd4ejAiYgcMArK4SwsbSaiJT4MZNyDpmbF6MtqKkPAb4RMmcvKUSXNhNn2Z3lm1r5CHahMN0jdt0HVNNcQZXvo9VFiqRtckwDFo65l7qmIJkTJTGHup2mEG3jTQjw+Y/RoR/o2gwQYcwhWbs9HYI2Rua0UKCrKn6M91ZK3QMGFLZZchrSaDUCOgxKQaCmUh05Lm34jdwABxyDPZjNqQI+5XgIF6jli1hsOVWq+ozjZM6QuZd6j6CE0wkKcj3WSzJVUIwitAq9M5TAMmhdecY+TheKRtXVM1mbCkBs3NrJnHwB3uKpovsPVG+VRVK2asGWBnLXXc9LGLCcNIq0B8ia7tZ6kQSyRzGghvpekznhEzP3Uu/XKOEesG8gBg61LKYczvm+KG+uOQKQbEDVQevP0eGBeAr+my5KorEbf+n0drVlSgXXNy4IOIt7a1B4lgYnpHxE9wZVVVcgB1gO93FM6uapW9zV56Fv81ov4Dw/2WRbO8VT5En4NZ6cZ6FlwkVJtR12y+pliBdVA9ytDI47MoWUl50nWi7qBigVe030Ag76prtKoKCM1Go+lMVUA9xx0xM7ONgsEPbBknkGtrvTC6r2DvCARLscbe4UfiBXb5sk5K+VzFkvIGrflCas0yvcETBxV8xTiDP2KnfezRHyGSadehVSiSslnGfOu7JTDz+M/7WxFxo17Mvt5oT8kOoamjfuiy3lkE7sWvNTAu4QNRNVie+hq9i5W+ZH529TGIX5wUwt36IOTYnxWMBR92v7uWerv7WQOetUYLfPSepB2NRnpQuZvuyXWDB5kQVGOniW7Cxq5yPgRSEWhlAxetmL+Bkjc7YtZdQS7ta/d2911FgYRTpQpGTna80pTbHsrHSW3KKusgMcxvDbt9VOEymMh+NI1rYVfZSzVmROql/bbHe+TKdentHVYoR7OpenE2gNEaqruRWTBl/7UbTHS43MmdjqWhYmnWnV0aK/lW+5TWqD3qeJUM/BxoekeVC9SlJuiH+vk5Nssxzs902jkf26fFIyZ7BXYYzMyaSyVzNI52D01ODEquQ42LSfyur7BNtoQLsmce0LJOmfQ8AxSu1DScjMjnHztFDcO3AbJ3+T4nCra+mC1K83YKwhGCWC8kSzJ0TQSOxPVQj1eaHgd2e528YHiN0r2KvQYz7KGEhGcsa6i/BILm+aKrjcuer9Yp3vPQxZX2PhUAtUzQJTY023GO0sP4cA5KXsfXqdx4A364dG9g2trh3AffQGRpNo7H4TcnrsQlOcHw66fyeMkZO47wIAPbwlZIlISZ8r3f0ay8fAtt/rVtcKytRpAobkAWQMpFaAR5pLhpyfJiK/2/6p6tTpBYBV3jWVsawzCOZvbm+iojJ2kKUCntJcsm3ZIQ3xcudMd7qAchbknzsJDlZFffBhcu0Lpq2Dzxgkc5KkzYCAx5tLMlu86mvldh8yBirrFueWpEB7D9JEgTd5p5aIl6+tTct2zcFiKkWTORVQ9/gPkbCOd4MB3uT0VPrN/1Ko5IeCT7HDnXnL3m7QXcILMaD9OVzIdoXInEOplJSHCTk/KYA3mZTa+XFDB96yFR5qbdvlM4nMGUhF2hc3mITHnB57Q98LTgHc6eXicaqcfoqBfucp0cYmiXbInN8m0AKV/hAJSnUCmXMwCU/sguyTVC8QEISCH1B6Ye1rZwz7cSWeFqSxfNu52UvbiOkL9n0jmZO0rG6adjgJdwAP/0iGz/kJSV7NSvk+npdORRk9BGYYscl5nIU2tqRAYDwHTuZZFHMoCi5tak1krf0UWrvOnENJeMyeb3J+8MDDSmXOX8Fr6nY4/40FB0bnV7NcO9wNXPGq4hDwDWrI4ehEX1wxYDAJD2V6+EJimZ8UTzOX+vcpHCqdr+mw2/+23o4kBSQf4L57pcyFYwYBPMXpIRIebONUj6WEf+wD7ynEGP7Ah3T9rL9g4vh4esDEgOKJ9d5kziFUSopJZh8s5Px43PAoZyUGFn5fixaSvuUp15c0iYi5lzLXYBKe4vQEAHfs5VDsuvydCajvVEJOoV/5Wx4dLDxK+DFV6Cwq5My2SArF2FMBGpzM6TalKX632DmHqga/8M9z3fS39pG4tc32Do4pvqUlKk5TXzspK5hF4if/QQ9fE3nSD0vPhBYF/oYbsZWHTj6kvjQ6ztHhXSa4rWuorZ2S09wGsGsq5bbAS7uviQ6Wv88WyNqbHCj2yKp+nmtbwNaApz3s7YyqdLpJHjBeindRGPwS+RJa3ZmfiNwmsLcecFwghmWBeXXelnllf/C6L/NqaFHbagnnD5sSfBqaWzg04P8BQfb2HoRTTxoAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","import React, { useState, useEffect } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport InputBase from \"@material-ui/core/InputBase\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { ICON_COLOUR } from \"../lib/constants/style_constants\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { ClearAll, Clear } from \"@material-ui/icons\";\nimport { IconButton, useTheme } from \"@material-ui/core\";\nimport PartIcon from 'assets/PartIcon.png'\nimport DescriptionIcon from 'assets/Description.png'\nimport MROTextField from \"./form_components/TextField\";\n\nconst useStyles = makeStyles(theme => ({\n wrapper: {\n backgroundColor: \"#fff\",\n // padding: theme.spacing(1, 2),\n border: \"1px solid #d5d5d5\",\n margin: \"1% 0\",\n },\n divider: {\n margin: '8px 0'\n },\n filters: {\n padding: \"10px 0\",\n '& .filter': {\n paddingRight: theme.spacing(3),\n // paddingLeft: \"17px\"\n }\n }\n}));\n\nfunction SearchBarWithPartsFilters(props) {\n const classes = useStyles();\n const theme = useTheme()\n const { handleSearch, searchText, noSearch, title, boxShadow, padding, placeholder, partNumber, setPartNumber, description, setDescription, handleDescriptionCopy, handlePartCopy, variant } = props;\n\n const clearSearch = () => {\n handleSearch('')\n }\n\n return (\n
\n {\n !noSearch &&\n <>\n handleSearch(e.target.value)}\n value={searchText}\n variant={variant ?? \"outlined\"}\n InputLabelProps={{ shrink: true }}\n InputProps={{\n\n startAdornment: \n \n ,\n\n endAdornment: <>\n { handlePartCopy() }} style={{ cursor: 'pointer' }}>\n \n \n { handleDescriptionCopy() }} style={{ cursor: 'pointer' }}>\n \n \n \n }}\n\n />\n {/* {props.children && } */}\n \n }\n
\n {props.children && {title ?? \"Filters\"}}\n {props.children}\n
\n
\n )\n}\n\nexport default SearchBarWithPartsFilters;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgUploadDoc = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 23.842,\n height: 15.895,\n viewBox: \"0 0 23.842 15.895\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_cloud_upload_24px\",\n d: \"M19.223,10A7.443,7.443,0,0,0,5.315,8.013a5.958,5.958,0,0,0,.646,11.881H18.875A4.953,4.953,0,0,0,19.223,10Zm-5.315,2.941v3.974H9.934V12.941H6.954l4.967-4.967,4.967,4.967Z\",\n transform: \"translate(0 -4)\",\n fill: \"#fff\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgUploadDoc, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/UploadDoc.bda30147.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useEffect, useState } from \"react\";\nimport {\n KeyboardDatePicker,\n MuiPickersUtilsProvider,\n DateTimePicker,\n KeyboardDateTimePicker,\n KeyboardTimePicker,\n} from \"@material-ui/pickers\";\nimport MomentUtils from \"@date-io/moment\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport moment from \"moment\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n margin: theme.spacing(1, 0),\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderColor: theme.palette.primary.main + \"!important\",\n borderWidth: \"1px !important\",\n },\n \"&:hover fieldset\": {\n borderColor: theme.palette.primary.light + \"!important\",\n // borderWidth: '1px !important'\n },\n \"& .MuiOutlinedInput-input\": {\n padding: \"15px\",\n },\n },\n \"& label\": {\n color: theme.palette.primary.main,\n },\n },\n error: {\n color: \"red\",\n fontSize: 12,\n },\n}));\n\nfunction DateField({\n label,\n name,\n renderDate,\n defaultValue,\n variant,\n disabled,\n onlyTime,\n onChange,\n setErrors,\n errors,\n format,\n background,\n pointerEvent\n}) {\n const classes = useStyles();\n const [selectedDate, setSelectedDate] = useState(null);\n\n useEffect(() => {\n if (defaultValue !== \"Invalid date\") {\n setSelectedDate(\n defaultValue\n ? moment(defaultValue, onlyTime ? \"HH:mm\" : \"DD/MM/YYYY HH:mm:ss a\")\n : null\n );\n } else {\n setSelectedDate(\"\");\n // setErrors({\n // ...errors,\n // [name]: { valid: false }\n // })\n }\n }, [defaultValue]);\n\n const changeDate = (date) => {\n if (date === null) {\n // setErrors({\n // ...errors,\n // [name]: { valid: false }\n // })\n setSelectedDate(\"\");\n onChange && onChange(\"\");\n } else {\n setSelectedDate(date);\n onChange && onChange(moment(date).format(\"YYYY-MM-DD - HH:mm:ss a\"));\n // setErrors({\n // ...errors,\n // [name]: { valid: true }\n // })\n }\n };\n\n const changeTime = (date) => {\n setSelectedDate(date);\n onChange && onChange(moment(date).format(\"HH:mm\"));\n if (date === null) {\n // setErrors({\n // ...errors,\n // [name]: { valid: false }\n // })\n } else {\n // setErrors({\n // ...errors,\n // [name]: { valid: true }\n // })\n }\n };\n\n if (onlyTime) {\n return (\n \n console.log(event.target.value)}\n InputAdornmentProps={{ position: \"end\" }}\n // error={errors && errors[name] && !errors[name]?.valid}\n onChange={(date) => {\n changeTime(date);\n }}\n />\n \n \n );\n }\n\n return (\n \n console.log(event.target.value)}\n // InputAdornmentProps={{ position: \"end\" }}\n onChange={(date) => {\n changeDate(date);\n }}\n />\n \n {errors && (\n

\n Please select the Date & Time\n

\n )}\n
\n );\n}\n\nexport default React.memo(DateField);\n","import React, { useEffect, useState, useRef } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n IconButton,\n Typography,\n} from \"@material-ui/core\";\nimport Grid from \"@material-ui/core/Grid\";\nimport MROTextField from \"../../../../components/form_components/TextField\";\nimport MROButton from \"../../../../components/buttons\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport PositiveSwitch from \"../../../../components/form_components/switch\";\nimport DataService from \"lib/services/api\";\nimport { useMessage } from \"lib/contexts/message_context\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\n\nimport QuantityCounter from \"components/quantity_counter\";\nimport { Autocomplete } from '@material-ui/lab';\nimport ProjectParts from \"../PlanningTab/ProjectParts\";\nimport AutocompletePopper from \"components/Popper\";\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n \"& input[name='part_number']\": { textTransform: \"uppercase\" },\n \"& input[name='description']\": { textTransform: \"uppercase\" },\n },\n title: {\n fontSize: \"20px\",\n textAlign: \"center\"\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"23px 47px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n paddingTop: \"24px\",\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n },\n partKey: {\n fontSize: \"16px\",\n padding: \"5px\",\n },\n partValue: {\n fontSize: \"16px\",\n color: \"#4D4F5C\",\n padding: \"5px\",\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n maxWidth: \"453px\",\n },\n },\n\n error: {\n borderColor: \"red\",\n },\n\n partText: {\n marginLeft: '14px',\n marginTop: '11px',\n fontWeight: '600'\n },\n disableFieldDesc: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n textTransform: \"uppercase\"\n },\n}));\n\nfunction CreateProjectParts(props) {\n const classes = useStyles();\n const message = useMessage();\n const { action, handleClose, getPartDetails, id, tab, primeId, projectParts, quoteStatus, setProjectParts } = props;\n const [primePart, setPrimePart] = useState([])\n const [error, setError] = useState({});\n const [loading, setLoading] = useState(false);\n\n const [actions, setActions] = useState()\n\n const [descriptionField, setDescriptionField] = useState(null)\n\n\n const [quantity, setQuantity] = useState();\n const [selectedPart, setSelectedPart] = useState({});\n const form = useRef(null);\n\n\n useEffect(() => {\n getPartDependencies()\n }, [])\n\n const getPartDependencies = () => {\n let params = {\n organisation_id: getOrganisationId(),\n active: true,\n repairable: true,\n project_part: false,\n status: true,\n }\n\n\n MaintenanceServices.getPartNumber(params)\n .then((res) => {\n setPrimePart(res.data)\n }).catch(() => {\n console.log(\"error\")\n })\n }\n const handleSubmit = (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const formDataFile = new FormData();\n const optionalFields = [\"description\"];\n let valid = true;\n let errors = {\n primary_part_id: false,\n quantity: false,\n\n };\n\n formData &&\n Object.keys(errors).forEach((keyName) => {\n if (\n !optionalFields.includes(keyName) &&\n formData &&\n !formData.get(keyName)?.length\n ) {\n errors[keyName] = true;\n valid = false;\n }\n });\n if (!valid) {\n setError(errors);\n return;\n }\n if (quoteStatus === false) {\n let f_value = projectParts.length > 0 && projectParts.filter((item) => item.primary_part_id === selectedPart?.id)\n\n let data = {\n \"project_primary_part_id\": primeId?.id,\n \"primary_part_id\": selectedPart?.id,\n \"part_number\": selectedPart?.part_number,\n \"description\": selectedPart?.description,\n \"workshop_standard_pricing_labour\": null,\n \"workshop_standard_pricing_parts\": null,\n \"workshop_standard_pricing_services\": null,\n \"workshop_standard_pricing_equipment\": null,\n \"workshop_standard_pricing_unit_price\": null,\n \"workshop_standard_pricing_total\": null,\n \"quantity\": quantity,\n \"project_parts_labour\": null,\n \"project_parts_parts\": null,\n \"project_parts_services\": null,\n \"project_parts_equipment\": null,\n \"project_parts_unit_price\": null,\n \"project_parts_total\": null,\n \"std_price\": false,\n \"serial_numbers\": null,\n \"item\": projectParts.length > 0 ? projectParts.length + 1 : 1,\n \"currency\": \"EUR\"\n }\n if (projectParts.length === 25) {\n message.showToastMessage({\n message: \"Max 25 Part #s Allowed!\",\n variant: \"error\",\n });\n handleClose();\n }\n\n else if (f_value.length > 0) {\n message.showToastMessage({\n message: \"Part already exists!\",\n variant: \"error\",\n });\n handleClose();\n }\n else {\n\n let arr = projectParts.concat(data)\n console.log(arr)\n setProjectParts(arr)\n handleClose();\n }\n } else {\n\n\n formData.delete(\"primary_part_id\")\n formData.append(\"reportable_type\", tab === \"planning\" ? \"PrimaryPart\" : \"WorkshopOrder\");\n formData.append(\"primary_part_id\", selectedPart?.id);\n formData.append(\"organisation_id\", getOrganisationId());\n formData.append(\"reportable_id\", id);\n formData.append(\"project_primary_part_id\", tab === \"planning\" ? id : primeId.id);\n\n if (!valid) {\n setError(errors);\n return;\n }\n if (action === \"add_parts\") {\n setLoading(true);\n MaintenanceServices.createProjectParts(formData)\n .then((res) => {\n if (res?.success) {\n\n setLoading(false);\n message.showToastMessage({\n message: \"Project Parts Added Successfully\",\n variant: \"success\",\n });\n getPartDetails();\n handleClose();\n }\n\n else {\n\n setLoading(false);\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // getList();\n handleClose();\n }\n\n\n\n }).catch((res) => {\n\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n handleClose();\n }).finally(() => {\n setLoading(true)\n })\n }\n }\n };\n\n return (\n
\n \n \n \n Add Part\n \n \n \n
\n
\n \n \n option.id === value.id}\n value={selectedPart !== null && selectedPart}\n onChange={(event, value) => {\n setSelectedPart(value);\n setDescriptionField(value?.description)\n }}\n id=\"tags-standard\"\n options={primePart || []}\n // loading={loading}\n PopperComponent={AutocompletePopper}\n getOptionLabel={(option) => option?.part_number || \"\"}\n renderInput={(params) => (\n {\n // resetErrorsHandler(\"part_number\");\n\n }}\n />\n )}\n />\n \n\n \n \n \n\n\n\n \n \n setError((prevState) => ({\n ...prevState,\n quantity: false\n }))\n }\n setQty={setQuantity}\n qty={quantity}\n marginR={\"23px\"}\n />\n\n\n \n\n \n
\n \n Cancel\n \n \n Complete\n \n
\n \n
\n
\n \n\n
\n );\n}\n\nexport default CreateProjectParts;\n\n","import {\n Box,\n Dialog,\n DialogTitle,\n DialogContent,\n Typography,\n Grid,\n} from \"@material-ui/core\";\nimport React, { useState } from 'react'\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport './index.css';\nimport AmberGear from 'assets/Amber gear@3x.png'\nimport GreenCheck from 'assets/green_filled_tick.png'\nimport HalllowCircle from 'assets/Hollow circle.png'\nimport RadioButtonUncheckedOutlinedIcon from '@material-ui/icons/RadioButtonUncheckedOutlined';\n\nimport CommercialIconAmber from \"assets/maint/Commercial/CommercialIconAmber.png\";\nimport CommercialIconGray from \"assets/maint/Commercial/CommercialIconGray.png\";\nimport CommercialIconGreen from \"assets/maint/Commercial/CommercialIconGreen.png\";\nimport CommercialIconRed from \"assets/maint/Commercial/CommercialIconRed.png\";\n\nimport PartsIconGrey from \"assets/maint/Parts/partsIconGray.png\";\nimport PartsIconGreen from \"assets/maint/Parts/partsIconGreen.png\";\nimport PartsIconRed from \"assets/maint/Parts/partsIconRed.png\";\nimport PartsIconAmber from \"assets/maint/Parts/partsIconAmber.png\";\n\nimport PlanningIconAmber from \"assets/maint/Planning/planningIconAmber.png\";\nimport PlanningIconRed from \"assets/maint/Planning/planningIconRed.png\";\nimport PlanningIconGrey from \"assets/maint/Planning/planningIconGrey.png\";\nimport PlanningIconGreen from \"assets/maint/Planning/planningIconGreen.png\";\n\nimport ServicesIconAmber from \"assets/maint/Services/servicesIconAmber.png\";\nimport ServicesIconGray from \"assets/maint/Services/services_icon_grey.png\";\nimport ServicesIconRed from \"assets/maint/Services/servicesIconRed.png\";\nimport ServiceIconGreen from \"assets/maint/Services/ServicesIconGreen.png/\";\n\nimport SpecEquipIconGrey from \"assets/maint/SpecEquip/specEquipGray.png\";\nimport SpecEquipIconAmber from \"assets/maint/SpecEquip/specEquipIconAmber.png\";\nimport SpecEquipIconRed from \"assets/maint/SpecEquip/specEquipIconRed.png\";\nimport SpecEquipIconGreen from \"assets/maint/SpecEquip/specEquipIconGreen.png\";\n\nimport NoStoppage from \"assets/Stoppage/No_stoppage.png\";\nimport NotRequired from \"assets/Stoppage/Not_required.png\";\nimport NotStarted from \"assets/Stoppage/Not_started.png\";\nimport PartiallyStopped from \"assets/Stoppage/Partially_stopped.png\";\nimport Stopped from \"assets/Stoppage/Stopped.png\";\n\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { useEffect } from \"react\";\nimport LoadingIndicator from \"components/universal/loading_indicator\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n backgroundColor: \"#6338F4\",\n border: \"1px solid #6338F4\",\n margin: \"1% 0\",\n display: \"flex\",\n \"& button\": {\n marginRight: theme.spacing(2),\n width: \"200px\",\n \"& .MuiButton-label\": {\n justifyContent: \"space-between\",\n width: \"150px\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n },\n },\n },\n\n borderLine: {\n zIndex: 1,\n height: \"6px\",\n width: \"420px\",\n backgroundColor: \"#4D4F5C\",\n marginBottom: \"30px\",\n },\n boxMod: {\n border: '2px solid grey',\n borderRadius: '10px',\n height: '36px',\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-around\",\n alignItems: \"center\",\n }\n}));\n\nconst StatusPopup = (props) => {\n console.log(props)\n const classes = useStyles();\n const [productStoppage, setProductionStoppageData] = useState([])\n const [loading, setLoading] = useState(false)\n\n const {\n open,\n handleClose,\n workshop_order_id\n } = props\n\n useEffect(() => {\n productionStoppage()\n }, [])\n\n const productionStoppage = () => {\n setLoading(true)\n const params = {\n workshop_order_id: workshop_order_id\n }\n MaintenanceServices.productionStoppage(params)\n .then((res) => {\n if (res.success) {\n setProductionStoppageData(res.data)\n }\n }).catch((err) => {\n console.log(err)\n }).finally(() => {\n setLoading(false)\n })\n }\n\n return (\n \n \n \n \n \n Stage\n \n \n \n \n \n {!loading ?\n <>\n \n \n
Induction
\n 2 ? GreenCheck : HalllowCircle\n }\n alt=\"Icon\"\n style={{ background: \"#fff\" }}\n height={\"35px\"} />\n
\n \n \n
Planning
\n
\n \n
Inspection
\n \n
\n \n 4 ? GreenCheck : HalllowCircle\n }\n alt=\"Icon\"\n style={{ background: \"#fff\" }}\n height={\"35px\"} />\n
Commercial
\n
\n \n
Maintenance
\n \n
\n \n \n
Certification
\n
\n \n
Release
\n \n
\n
\n\n \n \n\n \n \n \n : }\n\n \n\n \n \n \n   Not Started\n \n \n \"Icon\"  Not Required\n \n \n \"Icon\"  In Progress \n \n \n \"Icon\"  Complete\n \n \n
\n\n\n \n Production Stoppage\n \n \n\n
\n
\n\n {!loading ? \n {/* */}\n \n \n \n Parts\n \n \n \n \n \n Planning\n \n \n \n \n Commercial\n \n \n \n \n \n Services\n \n \n \n \n \n Spec Equip\n \n \n : }\n\n\n
\n \n \n \n \"Icon\"  Not Started\n \n \n \"Icon\"  No Stoppage\n \n \n \"Icon\"  Partially Stopped\n \n \n \"Icon\"  Stopped\n \n \n
\n\n \n )\n}\nexport default StatusPopup;","import React, { useReducer, useContext, useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\nimport { Box } from \"@material-ui/core\";\nimport MaterialTable from \"material-table\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, {\n options,\n} from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport HistoryDialog from \"./HistoryDialog\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { format24HrDateTime, getUserStamp } from \"lib/utils/common_utils\";\n\n\nexport default function ManHousrHistory(props) {\n const { open, handleClose, busy, selectedId } = props;\n\n const classes = useStyles();\n const message = useContext(ToastMessageContext)\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n\n const [historyData, setHistoryData] = useState([])\n const [pageSize, setPageSize] = useState(5);\n const [page, setPage] = useState(0);\n const [totalCount, setTotalCount] = useState(5);\n // tableOptions\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n paging: true,\n headerStyle: {\n textAlign: \"center\",\n paddingTop: \"22px\",\n paddingBottom: \"16px\",\n },\n };\n\n const columns = [\n {\n title: \"User\",\n field: \"user\",\n headerStyle: {\n textAlign: 'left', paddingLeft: '10px'\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '10px'\n }\n },\n {\n title: \"Date / Time\",\n field: \"date_time\",\n headerStyle: {\n textAlign: 'left',\n width: '50%'\n },\n cellStyle: {\n textAlign: 'left',\n width: '50%'\n }\n },\n {\n title: \"Hours\",\n field: \"hours\",\n headerStyle: {\n textAlign: 'center',\n\n },\n cellStyle: {\n textAlign: 'center',\n }\n },\n ];\n\n useEffect(() => {\n const getManHoursData = async () => {\n const params = {\n workshop_action_id: selectedId,\n page: page + 1,\n limit: pageSize\n\n }\n await InspectionServices.getManHoursData(params)\n .then((res) => {\n if (res) {\n setHistoryData(res.data);\n setTotalCount(res.total_count);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n getManHoursData()\n }, [selectedId, page, pageSize, totalCount])\n\n\n\n return (\n
\n \n \n \n History\n \n \n\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n\n totalCount={totalCount}\n page={page}\n />\n \n \n
\n );\n}\n\nconst useStyles = makeStyles(() => ({\n bodyText: {\n fontSize: 20,\n lineHeight: \"28px\",\n },\n}));\n","import React, { useEffect, useReducer } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { Dialog, makeStyles } from \"@material-ui/core\";\nimport { Popover } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\nimport { Box } from \"@material-ui/core\";\nimport MaterialTable from \"material-table\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, {\n options,\n} from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport PopupDialog from \"./PopupDialog\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { useState } from \"react\";\n\nconst StyledMenu = withStyles({\n paper: {\n width: \"523px\",\n height: \"fit-content\",\n top: \"290px !important\",\n padding: \"30px\",\n boxShadow: \"0px 3px 6px #00000029\",\n },\n})((props) => (\n \n));\n\nexport default function PriceBreaks(props) {\n const { open, data, handleClose, busy, workshop_order_id } = props;\n\n const classes = useStyles();\n\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const [page, setPage] = useState(0);\n const [totalCount, setTotalCount] = useState(null);\n const [pageSize, setPageSize] = useState(5);\n const [loading, setLoading] = useState(false)\n const [priceBreakDetails, setPriceBreaksDetails] = useState([]);\n\n useEffect(() => {\n getAllPriceBreaks()\n }, [page, pageSize])\n\n const getAllPriceBreaks = () => {\n const params = {\n page: page + 1,\n limit: pageSize,\n workshop_order_id: workshop_order_id\n }\n setLoading(true)\n MaintenanceServices.getAllPriceBreaks(params)\n .then((res) => {\n setLoading(false)\n setTotalCount(res.total_count)\n setPriceBreaksDetails(res.data)\n }).catch(() => {\n setLoading(false)\n console.log(\"error\")\n })\n }\n\n // tableOptions\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n headerStyle: {\n textAlign: \"center\",\n paddingTop: \"22px\",\n paddingBottom: \"16px\",\n },\n };\n\n const columns = [\n {\n title: \"Band\",\n field: \"band\",\n },\n {\n title: \"Min QTY\",\n field: \"min_quantity\",\n },\n {\n title: \"Units\",\n field: \"units\",\n },\n {\n title: \"Discount\",\n field: \"discount\",\n },\n {\n title: \"Unit Price\",\n field: \"unit_price\",\n },\n ];\n\n return (\n
\n \n \n \n Price Breaks\n \n \n\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n
\n );\n}\n\nconst useStyles = makeStyles((theme) => ({\n bodyText: {\n fontSize: 20,\n lineHeight: \"28px\",\n },\n}));\n","module.exports = __webpack_public_path__ + \"static/media/xls.43a3aade.svg\";","import React from \"react\";\nimport Drawer from '@material-ui/core/Drawer';\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n\nconst MRORightDrawer = withStyles(theme => ({\n paperAnchorRight: {\n width: \"370px\",\n padding:theme.spacing(3)\n },\n}))((props) => {props.children})\n\nexport default MRORightDrawer;","import React, { useEffect, useReducer } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { Popover } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\nimport { Box } from \"@material-ui/core\";\nimport MaterialTable from \"material-table\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, {\n options,\n} from \"../../../../components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\n\nconst StyledMenu = withStyles({\n paper: {\n width: \"523px\",\n height: \"fit-content\",\n top: \"290px !important\",\n padding: \"30px\",\n boxShadow: \"0px 3px 6px #00000029\",\n },\n})((props) => (\n \n));\n\nexport default function HistoryTablePopup(props) {\n const { currentSelection, anchorEl, data, handleClose, busy} = props;\n\n const classes = useStyles();\n\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize } = tableState;\n\n // tableOptions\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n paging: false,\n headerStyle: {\n textAlign: \"center\",\n paddingTop: \"22px\",\n paddingBottom: \"16px\",\n },\n };\n\n const columns = [\n {\n title: \"Allocation\",\n field: \"status\",\n render: (rowData) => rowData?.status?.toUpperCase(),\n },\n {\n title: \"User\",\n field: \"user\",\n },\n {\n title: \"Base\",\n field: \"base_station\",\n },\n {\n title: \"Date / Time\",\n field: \"datetime\",\n },\n ];\n\n return (\n
\n \n \n \n History\n \n \n ALOC ID {currentSelection?.alloc_id}\n \n \n\n \n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n
\n );\n}\n\nconst useStyles = makeStyles((theme) => ({\n bodyText: {\n fontSize: 20,\n lineHeight: \"28px\",\n },\n}));\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport Slide from \"@material-ui/core/Slide\";\nimport {\n CircularProgress,\n createStyles,\n Divider,\n Grid,\n IconButton,\n InputAdornment,\n InputBase,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport SearchByCategory from \"components/category_based_search\";\nimport { Clear } from \"@material-ui/icons\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable, { MTableBodyRow } from \"material-table\";\nimport TableAction from \"actions/table_actions\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport MROButton from \"components/buttons\";\nimport { ToastMessageContext } from \"../../../../lib/contexts/message_context\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport PartsClientServices from \"../../../../lib/services/api/stores/tooling/parts_client\";\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n container: {\n padding: \"50px\",\n width: \"1144px\",\n height: \"886px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n\n position: \"absolute\",\n top: \"19px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n })\n);\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nexport default function StockInfoEditPopup(props) {\n const { open, popupCloseHandler, selectedPrimaryPartId } = props;\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [loading, setLoading] = useState(false);\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, inProgress } = tableState;\n\n const [isDeleting, setIsDeleting] = useState(false);\n\n const [alternateTableState, setAlternateTableState] = useState({\n page: 0,\n totalCount: 5,\n pageSize: 10,\n isLoading: false,\n });\n\n const tableOptions = {\n ...options,\n search: false,\n toolbar: false,\n };\n\n const alternatesTableOptions = {\n ...options,\n ...alternateTableState,\n search: false,\n toolbar: false,\n };\n\n const [isSearching, setIsSearching] = useState(false);\n const [searchText, setSearchText] = useState(\"\");\n\n const [searchTableData, setSearchTableData] = useState([]);\n const [linkedAlternatesTableData, setLinkedAlternatesTableData] = useState(\n []\n );\n\n // this is for showing loading spinner on the right row\n const [selectedAlternatePardId, setSelectedAlternatePardId] = useState(\"\");\n\n const getAlternateList = () => {\n const params = {\n id: selectedPrimaryPartId,\n page: alternateTableState.page + 1,\n count_per_page: alternateTableState.pageSize,\n };\n\n setAlternateTableState((prevState) => {\n return {\n ...prevState,\n isLoading: true,\n };\n });\n PartsClientServices.getAlternateParts(params)\n .then((res) => {\n if (res?.data) {\n setLinkedAlternatesTableData(res?.data);\n setAlternateTableState((prevState) => {\n return {\n ...prevState,\n totalCount: res.total_count,\n };\n });\n } else {\n setLinkedAlternatesTableData([]);\n }\n })\n .finally(() => {\n setAlternateTableState((prevState) => {\n return {\n ...prevState,\n isLoading: false,\n };\n });\n });\n };\n\n useEffect(() => {\n getAlternateList();\n }, [\n open,\n selectedPrimaryPartId,\n alternateTableState.page,\n alternateTableState.pageSize,\n ]);\n\n const fetchPrimaryParts = () => {\n const params = {\n search_keyword: searchText,\n page: page + 1,\n count_per_page: pageSize ? pageSize : 10,\n };\n setIsSearching(true);\n PartsClientServices.getAllParts(params)\n .then((res) => {\n if (res?.data) {\n setSearchTableData(res.data);\n TableAction.setTotalCount(dispatch, res?.total_count);\n } else {\n setSearchTableData([]);\n TableAction.setTotalCount(dispatch, 0);\n }\n })\n .catch((err) => console.log(\"error\", err))\n .finally(() => setIsSearching(false));\n };\n\n //fetching primary parts\n useEffect(() => {\n fetchPrimaryParts();\n }, [page, pageSize]);\n\n useEffect(() => {\n TableAction.setPage(dispatch, 0);\n const timeout = setTimeout(() => {\n // if the user stops typing; search function will trigger\n fetchPrimaryParts();\n }, 600);\n\n return () => clearTimeout(timeout);\n }, [searchText]);\n\n // adding row to the alternates tables\n const addDataToAlternatesHandler = (item) => {\n setLinkedAlternatesTableData((prevState) => {\n return [...prevState, { ...item, isLocallyAdded: true }];\n });\n };\n\n // this function only delete the alternate that are being fetched from the server\n // it will delete the part from teh database\n const deleteAlternatePartFromTheServer = (id) => {\n const formData = new FormData();\n\n formData.append(\"alternate_part_id\", id);\n formData.append(\"id\", selectedPrimaryPartId);\n setIsDeleting(true);\n PartsClientServices.deleteAlternatePart(formData)\n .then((res) => {\n if (res?.success) {\n message.showToastMessage({\n message: \"Deleted successfully\",\n variant: \"success\",\n });\n getAlternateList();\n } else {\n throw new Error(res?.errors);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: err ? err[0] : \"Something went wrong\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setIsDeleting(false);\n });\n };\n\n // deleting row from the alternates table\n const deleteDataToAlternatesHandler = (id, isLocallyAdded) => {\n if (!isLocallyAdded) {\n setSelectedAlternatePardId(id);\n deleteAlternatePartFromTheServer(id);\n return;\n }\n\n setLinkedAlternatesTableData((prevState) =>\n prevState.filter((item) => item.alternate_part_id !== id)\n );\n };\n\n const columns = [\n {\n title: \"Part #\",\n field: \"part_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"10px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"10px\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n\n {\n title: \"Action\",\n field: \"\",\n render: (rowData) => (\n \n {\n addDataToAlternatesHandler({\n // this alternate part id is only use for deleting items\n // from the table\n alternate_part_id: rowData.id,\n // id: uuidv4(),\n part_number: rowData.part_number,\n description: rowData.description,\n });\n }}\n />\n \n ),\n },\n ];\n\n // columns for second tables\n const columnsForSecondTable = [\n {\n title: \"Part #\",\n field: \"part_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"10px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"10px\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n field: \"isLocallyAdded\",\n headerStyle: {\n display: \"none\",\n },\n cellStyle: {\n display: \"none\",\n },\n },\n\n {\n title: \"Action\",\n field: \"\",\n render: (rowData) => {\n if (\n isDeleting &&\n rowData.alternate_part_id === selectedAlternatePardId\n ) {\n return ;\n }\n return (\n \n \n deleteDataToAlternatesHandler(\n rowData.alternate_part_id,\n rowData.isLocallyAdded\n )\n }\n />\n \n );\n },\n },\n ];\n\n const handleClose = () => {\n setSearchText(\"\");\n TableAction.setPage(dispatch, 0);\n TableAction.setPageSize(dispatch, 0);\n popupCloseHandler();\n };\n\n const updateData = () => {\n const formData = new FormData();\n\n if (linkedAlternatesTableData.length !== 0) {\n formData.append(\"id\", selectedPrimaryPartId);\n }\n\n linkedAlternatesTableData.forEach((item) => {\n formData.append(\"alternate_part_ids[]\", item.alternate_part_id);\n });\n\n setLoading(true);\n PartsClientServices.updateAlternateParts(formData)\n .then((res) => {\n if (!res.success) {\n message.showToastMessage({\n message: res.errors[0],\n variant: \"error\",\n });\n // for closing edit popup\n } else {\n handleClose();\n message.showToastMessage({\n message: \" Alternate Part's list updated successfully\",\n variant: \"success\",\n });\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n })\n .finally(() => setLoading(false));\n };\n\n // searching functionality\n const searchHandler = () => {\n setIsSearching(true);\n PartsClientServices.searchPrimaryPart(searchText, selectedPrimaryPartId)\n .then((res) => {\n setSearchTableData(res.data);\n setIsSearching(false);\n })\n .catch((err) => {\n setIsSearching(false);\n console.log(err);\n });\n };\n\n // useEffect(() => {\n // const timeout = setTimeout(() => {\n // // if the user stops typing; search function will trigger\n // searchHandler();\n // }, 600);\n\n // return () => clearTimeout(timeout);\n // }, [searchText]);\n\n return (\n
\n \n
\n \n Alternate Part Links\n \n
\n setSearchText(e.target.value)}\n value={searchText}\n startAdornment={\n \n \n \n }\n endAdornment={\n !!searchText?.length ? (\n setSearchText(\"\")}\n size=\"medium\"\n >\n \n \n ) : null\n }\n />\n \n
\n\n \n \n \n Search Results\n \n\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n\n {/* -------------------------------------second table------------------------------------------------ */}\n \n \n Linked Alternates\n \n\n {\n setAlternateTableState((prevState) => {\n return { ...prevState, page: page };\n });\n }}\n onChangeRowsPerPage={(pageSize) => {\n setAlternateTableState((prevState) => {\n return { ...prevState, pageSize: pageSize };\n });\n }}\n totalCount={alternateTableState.totalCount}\n page={alternateTableState.page}\n />\n \n \n \n \n Cancel\n \n 0\n ? updateData\n : popupCloseHandler\n }\n type=\"button\"\n variant={\"contained\"}\n color=\"primary\"\n >\n {loading ? : \"Complete\"}\n \n
\n
\n \n \n );\n}\n","import React, { useContext, useEffect, useState } from \"react\";\nimport {\n Button,\n ButtonGroup,\n makeStyles,\n MenuItem,\n Typography,\n} from \"@material-ui/core\";\nimport MROTextField from \"../../../../components/form_components/TextField\";\nimport RightDialog from \"./RightDialog\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport RemoveIcon from \"@material-ui/icons/Remove\";\nimport MROButton from \"../../../../components/buttons\";\n\nimport PartsClientServices from \"../../../../lib/services/api/stores/tooling/parts_client\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\nconst useStyels = makeStyles({\n container: {\n width: \"100%\",\n height: \"100%\",\n padding: \"23px 37px 0px 37px\",\n display: \"flex\",\n flexDirection: \"column\",\n\n \"& form\": {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n },\n heading: {\n fontSize: \"16px\",\n color: \"#4D4F5C\",\n lineHeight: \"22px\",\n fontWeight: \"bold\",\n },\n});\n\nfunction TransferPartDialog(props) {\n const classes = useStyels();\n\n const {\n open,\n dialogCloseHandler,\n secondaryPartId,\n getPartList,\n batchNumber,\n } = props;\n\n const message = useContext(ToastMessageContext);\n\n const [qty, setQty] = useState(null);\n const [errors, setErrors] = useState(null);\n const [baseStations, setBaseStations] = useState([]);\n const [loading, setLoading] = useState(false);\n\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n\n useEffect(() => {\n PartsClientServices.fetchDependencies()\n .then((res) => {\n if (res) {\n setBaseStations(res.base_stations);\n }\n })\n .catch(() => { });\n }, []);\n\n const transferPart = async (formData) => {\n setLoading(true);\n try {\n const res = await PartsClientServices.transferPart(formData);\n console.log(res);\n if (res?.success) {\n getPartList();\n dialogCloseHandler();\n message.showToastMessage({\n message: \"Transferred successfully\",\n variant: \"success\",\n });\n }\n } catch (error) {\n console.log(error, \"something went wrong\");\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n } finally {\n setLoading(false);\n }\n };\n\n const submitHandler = (event) => {\n event.preventDefault();\n const formData = new FormData(event.target);\n formData.append(\"user_id\", user.id);\n formData.append(\"secondary_part_id\", secondaryPartId);\n\n let error = {};\n let isValid = true;\n\n // Display the key/value pairs\n for (let pair of formData.entries()) {\n if (pair[1] === \"\") {\n error[pair[0]] = true;\n isValid = false;\n }\n }\n // console.log(error);\n if (!isValid) {\n setErrors(error);\n return;\n }\n transferPart(formData);\n };\n\n return (\n \n
\n \n Stock Transfer\n \n\n
\n \n Batch #\n \n {batchNumber}\n
\n\n
\n
\n {\n setErrors((prevState) => ({\n ...prevState,\n to_base_station_id: false,\n }));\n }}\n InputLabelProps={{ shrink: true }}\n >\n {/* {[\"Test1\", \"Test2\", \"Test3\"].map((item) => (\n \n {item}\n \n ))} */}\n\n {baseStations &&\n baseStations.map((item) => (\n \n {item.station}\n \n ))}\n \n\n {\n setErrors((prevState) => ({ ...prevState, reason: false }));\n }}\n InputLabelProps={{ shrink: true }}\n />\n\n
\n {\n setQty(Number(e.target.value.replace(/[a-zA-Z]/, \"\")));\n setErrors((prevState) => ({\n ...prevState,\n quantity_received: false,\n }));\n }}\n InputLabelProps={{ shrink: true }}\n value={qty}\n fullWidth={false}\n style={{ marginRight: \"15px\" }}\n error={errors?.quantity}\n autoFocus={errors?.quantity}\n helperText={errors?.quantity ? \"Please enter Quantity\" : null}\n />\n\n \n \n setQty((prevState) =>\n prevState > 1 ? prevState - 1 : prevState\n )\n }\n style={{ width: \"46px\", height: \"36px\" }}\n >\n \n \n \n setQty((prevState) => (prevState ? prevState + 1 : 1))\n }\n style={{ width: \"46px\", height: \"36px\" }}\n >\n \n \n \n
\n \n
\n\n \n \n Cancel\n \n \n Save\n \n
\n \n \n
\n );\n}\n\nexport default TransferPartDialog;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport {\n Button,\n ButtonGroup,\n Grid,\n makeStyles,\n MenuItem,\n Typography,\n} from \"@material-ui/core\";\nimport MROTextField from \"../../../../components/form_components/TextField\";\nimport RightDialog from \"./RightDialog\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport RemoveIcon from \"@material-ui/icons/Remove\";\nimport MROButton from \"../../../../components/buttons\";\nimport DateField from \"../../../../components/form_components/DateField\";\nimport { ToastMessageContext } from \"../../../../lib/contexts/message_context\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport PartsClientServices from \"../../../../lib/services/api/stores/tooling/parts_client\";\nimport { CircularProgress } from \"@material-ui/core\";\nimport FetchedFilePreview from \"components/form_components/FetchedFilePreview\";\nimport CloudUploadIcon from \"@material-ui/icons/CloudUpload\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Switch from \"@material-ui/core/Switch\";\nimport { format24HrDateOnly } from \"lib/utils/common_utils\";\n\nconst useStyels = makeStyles((theme) => ({\n container: {\n width: \"100%\",\n height: \"100%\",\n padding: \"23px 37px 0px 37px\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n heading: {\n fontSize: \"16px\",\n color: \"#4D4F5C\",\n lineHeight: \"22px\",\n fontWeight: \"bold\",\n },\n label: {\n color: theme.palette.primary.main,\n marginBottom: \"5px\",\n display: \"block\",\n },\n}));\n\nfunction EditDialog(props) {\n const classes = useStyels();\n\n const message = useContext(ToastMessageContext);\n\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n const [baseStation, setBaseStation] = useState(null);\n const [isLoading, setIsLoading] = useState(false);\n\n const {\n open,\n dialogCloseHandler,\n selectedSecondaryPart,\n partNumber,\n shelfLifeControl,\n oemShelfLife,\n } = props;\n\n const [qty, setQty] = useState();\n\n const [owner, setOwner] = useState(\"\");\n\n const [location, setLocation] = useState(\"\");\n const [locationId, setLocationId] = useState(\"\");\n\n const [date, setDate] = useState(\"\");\n const [oemShelfLifeDate, setOemShelfLifeDate] = useState(\"\");\n\n const [mroOwnedPart, setMroOwnedPart] = useState(false);\n\n // for drop down items\n const [owners, setOwners] = useState([]);\n const [unitOfMeasureItems, setUnitOfMeasureItems] = useState([]);\n\n const [error, setError] = useState({});\n\n const [storeLocation, setStoreLocation] = useState([]);\n\n const [orgName, setOrgName] = useState(\"\");\n\n const [files, setFiles] = useState([]);\n\n const [serialNumber, setSerialNumber] = useState(\"\");\n\n const [isFileUploading, setIsFileUploading] = useState(false);\n\n const [isDeletingFile, setIsDeletingFile] = useState(false);\n\n // this is for showing the loding spinner on the correct file\n const [selectedFileId, setSelectedFileId] = useState();\n\n useEffect(() => {\n PartsClientServices.fetchDependencies()\n .then((res) => {\n if (res) {\n setOwners(res.line_customers);\n setUnitOfMeasureItems(res.units_of_measure);\n setOrgName(res.organisation_name);\n }\n })\n .catch(() => {});\n }, []);\n\n const validateFields = (formData) => {\n const owner = formData.get(\"line_customer_id\");\n\n const storeLocation = formData.get(\"store_location\");\n\n const qtyValidate = formData.get(\"quantity_received\");\n const oemShelfLifeValue = formData.get(\"oem_shelf_life\");\n const shelfLifeValue = formData.get(\"shelf_life_expiry\");\n\n let valid = true;\n let errors = {};\n if (!owner && !mroOwnedPart) {\n valid = false;\n errors = { ...errors, owner: \"*please select owner\" };\n }\n\n if (!storeLocation) {\n valid = false;\n errors = { ...errors, store: \"*please select store location\" };\n }\n if (oemShelfLife && !oemShelfLifeValue) {\n valid = false;\n errors = { ...errors, oem_shelf_life: \"Please select OEM Shelf life\" };\n }\n if (shelfLifeControl && !shelfLifeValue) {\n valid = false;\n errors = { ...errors, shelf_life_expiry: \"Please select Shelf life\" };\n }\n\n if (qty === 0) {\n valid = false;\n errors = { ...errors, qty: \"*please add quantity\" };\n }\n\n if (!valid) {\n setError(errors);\n }\n return valid;\n };\n\n const updateDetailsHandler = (event) => {\n event.preventDefault();\n const formData = new FormData(event.target);\n formData.delete(\"serial_number\");\n // formData.append(\"user_id\", user.id);\n formData.append(\n \"secondary_part_id\",\n selectedSecondaryPart.secondary_part_id\n );\n formData.append(\"base_station_id\", baseStation);\n formData.append(\"batch_number\", selectedSecondaryPart.batch_number);\n\n formData.append(\n \"serial_number\",\n serialNumber === \"null\" || \"\" || null ? \"\" : serialNumber\n );\n\n formData.append(\"mro_owned\", mroOwnedPart);\n formData.append(\"store_location\", location);\n if (!validateFields(formData)) {\n return;\n }\n setIsLoading(true);\n PartsClientServices.updateSecondaryPart(formData)\n .then((res) => {\n if (res?.success) {\n message.showToastMessage({\n message: \" Part updated successfully\",\n variant: \"success\",\n });\n dialogCloseHandler();\n } else {\n res.errors &&\n message.showToastMessage({\n message: res.errors.join(\",\"),\n variant: \"error\",\n });\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try Again\",\n variant: \"error\",\n });\n })\n .finally(() => setIsLoading(false));\n };\n\n // populating the field with the selected values\n // console.log(\"selecte sec part is========================\", selectedSecondaryPart)\n useEffect(() => {\n if (selectedSecondaryPart) {\n selectedSecondaryPart.store_location &&\n setSerialNumber(selectedSecondaryPart.serial_number);\n setLocation(selectedSecondaryPart.store_location);\n setQty(parseInt(selectedSecondaryPart.quantity));\n setBaseStation(selectedSecondaryPart.base_station_id);\n setOwner(selectedSecondaryPart.line_customer_id);\n selectedSecondaryPart.shelf_life_expiry &&\n setDate(selectedSecondaryPart.shelf_life_expiry);\n selectedSecondaryPart?.oem_shelf_life &&\n setOemShelfLifeDate(selectedSecondaryPart?.oem_shelf_life);\n selectedSecondaryPart.mro_owned &&\n setMroOwnedPart(selectedSecondaryPart.mro_owned);\n }\n }, [selectedSecondaryPart]);\n\n useEffect(() => {\n if (selectedSecondaryPart.base_station_id)\n PartsClientServices.fetchStoreLocations(\n selectedSecondaryPart.base_station_id,\n partNumber\n ).then((res) => setStoreLocation(res.data));\n }, [selectedSecondaryPart.base_station_id, partNumber]);\n\n return (\n \n
\n \n Edit\n \n\n
\n \n Batch #\n \n \n {selectedSecondaryPart.batch_number}\n \n
\n
\n \n Receipt by\n \n \n {selectedSecondaryPart.created_by}\n \n
\n\n
\n {\n setBaseStation(e.target.value);\n setError({ ...error, base_station_id: null });\n }}>\n {props?.baseStations?.map((item) => (\n \n {item.station}\n \n ))}\n \n setMroOwnedPart(e.target.checked)}\n // name=\"checkedB\"\n color=\"primary\"\n />\n }\n label=\"MRO Owned Part?\"\n labelPlacement=\"start\"\n />\n
\n \n option.location_name ? option.location_name : \"\"\n }\n inputValue={location || \"\"}\n onChange={(event, newValue, option) => {\n setLocation(newValue.location_name);\n setLocationId(newValue.store_location_id);\n }}\n // onInputChange={(e, newValue, option) => {\n // console.log(\n // \"from auto input onchange -------------\",\n // newValue,\n // option.store_location_id\n // );\n // }}\n renderInput={(params) => (\n {\n setError({ ...error, store: null });\n setLocation(e.target.value);\n console.log(\n \"from text field -------------\",\n e.target.value\n );\n }}\n InputLabelProps={{ shrink: true }}\n // className={classes.inputField}\n />\n )}\n />\n\n {\n setError({ ...error, owner: null });\n setOwner(e.target.value);\n }}\n autoFocus={error.owner}\n error={error.owner}\n helperText={error.owner}\n value={mroOwnedPart ? orgName : owner}\n disabled={mroOwnedPart}>\n {mroOwnedPart && {orgName}}\n {owners &&\n owners.map((item) => (\n {item.name}\n ))}\n \n\n {shelfLifeControl && (\n {\n setDate(e);\n setError({ ...error, shelf_life_expiry: false });\n }}\n defaultValue={format24HrDateOnly(date)}\n error={error.shelf_life_expiry}\n helperText={error.shelf_life_expiry && \"*Please enter shelf life expiry\"}\n />\n )}\n {oemShelfLife && (\n {\n setOemShelfLifeDate(e);\n setError({ ...error, oem_shelf_life: false });\n }}\n defaultValue={format24HrDateOnly(oemShelfLifeDate)}\n error={error.oem_shelf_life}\n helperText={\n error.oem_shelf_life && \"*Please enter OEM shelf life\"\n }\n />\n )}\n\n {\n setSerialNumber(e.target.value);\n }}\n InputLabelProps={{ shrink: true }}\n />\n\n
\n {\n setError({ ...error, qty: null });\n setQty(parseInt(e.target.value.replace(/[A-Za-z]/g, \"\")));\n }}\n InputLabelProps={{ shrink: true }}\n value={isNaN(qty) ? \"\" : qty}\n fullWidth={false}\n style={{ marginRight: \"15px\" }}\n />\n\n \n \n setQty((prevState) =>\n prevState > 1 ? prevState - 1 : prevState\n )\n }\n style={{ width: \"46px\", height: \"36px\" }}>\n \n \n \n setQty((prevState) =>\n isNaN(prevState) ? 1 : prevState + 1\n )\n }\n style={{ width: \"46px\", height: \"36px\" }}>\n \n \n \n
\n \n {/* */}\n {/* {}}\n /> */}\n {/*
\n

\n Part certification document (C of C, Form 1 etc) *\n

\n */}\n {/* \n
*/}\n {/* */}\n
\n
\n\n \n \n Cancel\n \n \n {isLoading ? : \"Save\"}\n \n
\n \n \n
\n );\n}\n\nexport default EditDialog;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport {\n Button,\n ButtonGroup,\n makeStyles,\n MenuItem,\n Typography,\n} from \"@material-ui/core\";\nimport MROTextField from \"../../../../components/form_components/TextField\";\nimport RightDialog from \"./RightDialog\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport RemoveIcon from \"@material-ui/icons/Remove\";\nimport MROButton from \"../../../../components/buttons\";\n\nimport PartsClientServices from \"../../../../lib/services/api/stores/tooling/parts_client\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles({\n container: {\n width: \"100%\",\n height: \"100%\",\n padding: \"23px 37px 0px 37px\",\n display: \"flex\",\n flexDirection: \"column\",\n\n \"& form\": {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n },\n heading: {\n fontSize: \"16px\",\n color: \"#4D4F5C\",\n lineHeight: \"22px\",\n fontWeight: \"bold\",\n },\n});\n\n\nexport default function SplitDialog(props) {\n const classes = useStyles();\n const {\n open,\n dialogCloseHandler,\n secondaryPartId,\n getPartList,\n batchNumber,\n quantitys\n } = props;\n\n const message = useContext(ToastMessageContext);\n\n const [qty, setQty] = useState();\n const [errors, setErrors] = useState({});\n const [loading, setLoading] = useState(false);\n\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n\n const submitHandler = (event) => {\n event.preventDefault();\n const formData = new FormData(event.target);\n formData.append(\"organisation_id\", getOrganisationId());\n formData.append(\"secondary_part_id\", secondaryPartId);\n\n let error = {};\n let isValid = true;\n\n // Display the key/value pairs\n for (let pair of formData.entries()) {\n if (pair[1] === \"\") {\n error[pair[0]] = true;\n isValid = false;\n }\n }\n // console.log(error);\n if (!isValid) {\n setErrors(error);\n return;\n }\n setLoading(true)\n PartsClientServices.updateSplitBatch(formData).then((res) => {\n dialogCloseHandler()\n getPartList()\n if (res?.success) {\n message.showToastMessage({\n message: \"Transferred successfully\",\n variant: \"success\",\n });\n }\n else {\n message.showToastMessage({\n message: res?.errors ? res?.errors : \"Something went wrong!\",\n variant: \"error\",\n });\n\n }\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n };\n\n return (\n \n
\n \n Split Batch\n \n\n\n
\n \n Batch #\n \n {batchNumber}\n
\n\n
\n \n Quantity\n \n {quantitys}\n
\n\n
\n \n setErrors((prevState) => ({\n ...prevState,\n quantity: false,\n }))\n }\n minQty={1}\n\n />\n \n \n Cancel\n \n \n Complete\n \n
\n \n \n
\n )\n}\n","import React, { useState, useEffect, useReducer, useMemo } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport MROFullScreenRightDrawer from \"../../../../components/fullwidth_dialog\";\nimport Typography from \"@material-ui/core/Typography\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport { Box, Menu, MenuItem } from \"@material-ui/core\";\nimport { Edit as EditIcon, Visibility as ViewIcon } from \"@material-ui/icons\";\nimport { CircularProgress } from \"@material-ui/core\";\nimport { ICON_COLOUR } from \"../../../../lib/constants/style_constants\";\nimport Grid from \"@material-ui/core/Grid\";\nimport tableIcons, {\n options,\n} from \"../../../../components/universal/table_attributes\";\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from \"../../../../reducers/table_reducer\";\nimport MaterialTable from \"material-table\";\nimport TableAction from \"../../../../actions/table_actions\";\nimport MROButton from \"../../../../components/buttons\";\nimport StockInfoEditPopup from \"./StockInfoEditPopup\";\nimport PartsClientServices from \"../../../../lib/services/api/stores/tooling/parts_client\";\nimport MoreVertIcon from \"@material-ui/icons/MoreVert\";\nimport Fade from \"@material-ui/core/Fade\";\nimport TransferPartDialog from \"./TransferPartDialog\";\nimport EditDialog from \"./EditDialog\";\nimport CertificatePopup from \"./CertificatePopup\";\nimport TouchAppIcon from \"@material-ui/icons/TouchApp\";\n\nimport _ from \"lodash\";\nimport { format24HrDateOnly } from \"lib/utils/common_utils\";\nimport PartsCertificate from \"./PartsCertificate\";\nimport SplitDialog from \"./SplitDialog\";\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n root: {\n backgroundColor: \"#ffffff\",\n },\n wrapper: {\n padding: \"0 24px\",\n },\n title: {\n fontSize: \"18px\"\n },\n mainTitle: {\n fontSize: \"17px\",\n paddingTop: \"25px\",\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"10px\",\n marginTop: \"20px\",\n color: \"#4D4F5C\",\n \"& button\": {\n float: \"right\",\n minWidth: \"90px\",\n height: \"30px\",\n fontSize: \"12px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n partKey: {\n fontSize: \"14px\",\n // padding: \"5px\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"5px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n alternatesInfo: {\n fontSize: \"16px\",\n color: \"#4D4F5C\",\n marginTop: \"15px\",\n display: \"block\",\n },\n}));\n\nconst GetInfoCard = (props) => {\n const classes = useStyles();\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n};\n\nconst FadeMenu = (props) => {\n const { menuItems } = props;\n const classes = useStyles();\n\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n return (\n
\n \n \n \n \n {menuItems?.map((item, i) => (\n {\n handleClose();\n item.dialogOpenHandler();\n }}\n >\n {item.name}\n \n ))}\n \n
\n );\n};\n\nfunction StockInfo(props) {\n const classes = useStyles();\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n\n const [alternateTableState, setAlternateTableState] = useState({\n page: 0,\n totalCount: 5,\n pageSize: 10,\n isLoading: false,\n });\n const { page, totalCount, pageSize } = tableState;\n const [loading, setLoading] = useState(false);\n const [isEditPopupOpen, setIsEditPopupOpen] = useState(false);\n const [isSplitPopupOpen, setIsSplitPopupOpen] = useState(false);\n const {\n action,\n currentSelection,\n handleClose,\n className,\n showSelectPartBtn,\n onSelectPartBtnClick,\n hideEdit,\n baseStations\n } = props;\n\n const [stockList, setStockList] = useState([]);\n const [alternateList, setAlternateList] = useState([]);\n const [isTransferPartDialogOpen, setIsTransferPartDialogOpen] =\n useState(false);\n\n const [isEditDialopOpen, setIsEditDialopOpen] = useState(false);\n\n const [isCertificatePopupOpen, setIsCertificatePopupOpen] = useState(false);\n\n const [partDetails, setPartDetails] = useState({});\n\n const [selectedSecondaryPartId, setSelectedSecondaryPartId] = useState(\"\");\n\n const [isMsdsPopupOpen, setIsMsdsPopupOpen] = useState(false);\n\n //\n const [alternatesPartStack, setAlternatesPartStack] = useState(0);\n\n const [msds, setMsds] = useState([]);\n\n // id for fetching the right stock details and alternates part according to the current parts\n const [currentPartId, setCurrentPartId] = useState();\n\n // selected secondary part to be edited\n const [selectedRow, setSelectedRow] = useState({});\n\n const organisation = JSON.parse(sessionStorage.getItem(\"organisation\"));\n\n const CURR_PART_ID = useMemo(() => partDetails.alternate_part_id ?? currentSelection.part_id ?? currentSelection.id, [partDetails.alternate_part_id, currentSelection.part_id, currentSelection.id])\n\n useEffect(() => {\n // if (partDetails.alternate_part_id) {\n // setCurrentPartId(partDetails.alternate_part_id);\n // } else if(currentSelection.part_id) {\n // setCurrentPartId(currentSelection.part_id);\n // } else {\n // setCurrentPartId(currentSelection.id);\n // }\n setCurrentPartId(CURR_PART_ID)\n }, [CURR_PART_ID]);\n\n const getPartList = () => {\n const params = {\n id: currentPartId,\n page: 1 + page,\n count_per_page: pageSize,\n };\n\n setLoading(true);\n PartsClientServices.getAllSecondaryParts(params).then((res) => {\n if (res?.data) {\n setStockList(res?.data);\n setLoading(false);\n TableAction.setTotalCount(dispatch, res.total_count);\n } else {\n setStockList([]);\n setLoading(false);\n }\n });\n };\n const getAlternateList = () => {\n const params = {\n id: currentPartId,\n page: alternateTableState.page + 1,\n count_per_page: alternateTableState.pageSize,\n };\n setAlternateTableState((prevState) => {\n return {\n ...prevState,\n isLoading: true,\n };\n });\n PartsClientServices.getAlternateParts(params)\n .then((res) => {\n if (res?.data) {\n setAlternateList(res?.data);\n\n setAlternateTableState((prevState) => {\n return {\n ...prevState,\n totalCount: res.total_count,\n };\n });\n } else {\n setAlternateList([]);\n }\n })\n .finally(() => {\n setAlternateTableState((prevState) => {\n return {\n ...prevState,\n isLoading: false,\n };\n });\n });\n };\n\n useEffect(() => {\n setLoading(true);\n if (currentPartId) {\n getPartList();\n }\n }, [currentPartId, pageSize, page]);\n\n useEffect(() => {\n if (currentPartId) {\n getAlternateList();\n }\n }, [currentPartId, alternateTableState.pageSize, alternateTableState.page]);\n\n // fetching part info\n useEffect(() => {\n setLoading(true);\n if (currentPartId) {\n PartsClientServices.getPrimaryPartInfo(currentPartId)\n .then((response) => {\n response.data && setPartDetails(response.data);\n setMsds(response.data.mds);\n })\n .catch((err) => console.log(err))\n .finally(() => setLoading(false));\n }\n }, [currentPartId]);\n\n // Ui-table column config\n const stockColumnConfig = [\n {\n title: \"QTY\",\n field: \"quantity\",\n headerStyle: {\n paddingLeft: \"19px\",\n textAlign: \"left\",\n },\n cellStyle: {\n paddingLeft: \"19px\",\n textAlign: \"left\",\n },\n render: (rowData) => rowData?.quantity || \"-\",\n },\n {\n title: \"State\",\n field: \"state\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n render: (rowData) => rowData?.state || \"-\",\n },\n {\n title: \"Base\",\n field: \"base_station\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n render: (rowData) => rowData?.base_station || \"-\",\n },\n {\n title: \"Owner\",\n field: \"owner\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n render: (rowData) =>\n rowData.mro_owned ? organisation.company_name : rowData?.owner || \"-\",\n },\n {\n title: \"\",\n field: \"mro_owned\",\n headerStyle: {\n display: \"none\",\n },\n cellStyle: {\n display: \"none\",\n },\n },\n {\n title: \"Batch #\",\n field: \"batch_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n render: (rowData) => rowData?.batch_number || \"-\",\n },\n {\n title: \"Serial #\",\n field: \"serial_number\",\n width: \"10%\",\n render: (rowData) => rowData?.serial_number || \"-\",\n },\n {\n title: \"Location\",\n field: \"store_location\",\n render: (rowData) => rowData?.store_location || \"-\",\n },\n {\n title: \"Shelf-life\",\n field: \"shelf_life_expiry\",\n render: (rowData) => format24HrDateOnly(rowData?.shelf_life_expiry) || \"-\",\n },\n {\n title: \"Action\",\n field: \"\",\n render: (rowData) => {\n if (!hideEdit) {\n return (\n {\n // !!props.permission.write &&\n setIsEditDialopOpen(true);\n // !!props.permission.write &&\n setSelectedRow(rowData);\n },\n }\n : {},\n {\n name: \"Part Certificates\",\n dialogOpenHandler: () => {\n setSelectedSecondaryPartId(rowData.secondary_part_id);\n setIsCertificatePopupOpen(true);\n },\n },\n !!props.permission?.write\n ? {\n name: \"Split Batch\",\n dialogOpenHandler: () => {\n\n setIsSplitPopupOpen(true);\n setSelectedSecondaryPartId(rowData.secondary_part_id);\n setSelectedRow(rowData);\n },\n }\n : {},\n !!props.permission?.write\n ? {\n name: \"Transfer Part\",\n dialogOpenHandler: () => {\n !!props.permission.write &&\n setIsTransferPartDialogOpen(true);\n setSelectedSecondaryPartId(rowData.secondary_part_id);\n setSelectedRow(rowData);\n },\n }\n : {},\n\n ]}\n />\n );\n }\n },\n },\n ];\n\n // tableOptions\n const stockTableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n headerStyle: {\n paddingTop: \"22px\",\n paddingBottom: \"15px\",\n textAlign: \"center\",\n },\n };\n\n // Ui-table column config\n const alternatesColumnConfig = [\n {\n title: \"Part #\",\n field: \"part_number\",\n width: \"4%\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"19px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"19px\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n padding: \"10px 5px\",\n },\n },\n {\n title: \"Stock\",\n field: \"total_stock\",\n },\n {\n title: \"Action\",\n field: \"id\",\n render: (rowData) => (\n = 3 && \"none\",\n }}\n onClick={() => {\n // setPartDetails(rowData);\n // setCurrentPartId(rowData.id)\n\n setCurrentPartId(rowData.alternate_part_id);\n setAlternatesPartStack((prevState) => prevState + 1);\n }}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />\n ),\n },\n ];\n\n // tableOptions\n const alternatesTableOptions = {\n ...options,\n ...alternateTableState,\n search: false,\n toolbar: false,\n };\n\n return (\n \n \n \n {\n alternatesPartStack === 0 && handleClose();\n // setCurrentPartId(currentSelection.part_id);\n setCurrentPartId(CURR_PART_ID);\n setAlternatesPartStack(0);\n }}\n edge=\"start\"\n className={classes.backButton}\n color=\"inherit\"\n aria-label=\"back\"\n >\n \n \n\n \n {alternatesPartStack > 0 ? \"Back to origin part\" : \"Stock\"}\n \n \n \n
\n
\n \n Stock Information\n \n \n Part Details\n \n
\n \n {loading &&\n _.isEmpty(partDetails) &&\n alternatesPartStack === 0 ? (\n \n ) : (\n <>\n \n
\n {partDetails?.part_number}}\n />\n \n {currentSelection?.total_stock}}\n />\n
\n
\n \n
\n \n \n \n
\n
\n \n
\n \n \n \n
\n
\n \n
\n setIsMsdsPopupOpen(true)}\n style={{ cursor: \"pointer\" }}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />\n }\n />\n\n {showSelectPartBtn && (\n onSelectPartBtnClick(partDetails)}\n startIcon={}\n color=\"primary\"\n variant=\"contained\"\n >\n Select Part\n \n )}\n
\n
\n \n )}\n \n
\n\n \n \n \n Stock Details\n \n Min / Max Levels\n }\n columns={stockColumnConfig}\n data={stockList}\n isLoading={loading}\n options={stockTableOptions}\n localization={{\n toolbar: {\n searchPlaceholder: \"Search anything\",\n },\n body: {\n emptyDataSourceMessage: \"No Stock Found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n \n Alternates *{\" \"}\n {!!props.permission?.write\n ? !hideEdit && (\n setIsEditPopupOpen(true)}\n startIcon={}\n >\n Edit\n \n )\n : null}\n \n {\n setAlternateTableState((prevState) => {\n return { ...prevState, page: page };\n });\n }}\n onChangeRowsPerPage={(pageSize) => {\n setAlternateTableState((prevState) => {\n return { ...prevState, pageSize: pageSize };\n });\n }}\n totalCount={alternateTableState.totalCount}\n page={alternateTableState.page}\n />\n \n * Alternates must be verified IAW approved maintenance data!\n \n \n \n
\n
\n {isEditPopupOpen && (\n {\n setIsEditPopupOpen(false);\n getAlternateList();\n }}\n selectedPrimaryPartId={currentPartId}\n />\n )}\n {isTransferPartDialogOpen && (\n setIsTransferPartDialogOpen(false)}\n getPartList={getPartList}\n batchNumber={selectedRow?.batch_number}\n />\n )}\n\n {isSplitPopupOpen && (\n setIsSplitPopupOpen(false)}\n getPartList={getPartList}\n batchNumber={selectedRow?.batch_number}\n quantitys={selectedRow?.quantity}\n />\n )}\n\n {isEditDialopOpen && (\n {\n setIsEditDialopOpen(false);\n getPartList();\n }}\n selectedSecondaryPart={selectedRow}\n partNumber={partDetails?.part_number}\n shelfLifeControl={partDetails?.shelf_life_control}\n oemShelfLife={partDetails?.oem_shelf_life}\n baseStations={baseStations}\n />\n )}\n\n {/* {isCertificatePopupOpen && (\n setIsCertificatePopupOpen(false)}\n selectedSecondaryPart={selectedRow}\n selectedSecondaryPartId={selectedSecondaryPartId}\n title=\"Material Certificate\"\n />\n )} */}\n {isCertificatePopupOpen && (\n setIsCertificatePopupOpen(false)}\n selectedSecondaryPart={selectedRow}\n selectedSecondaryPartId={selectedSecondaryPartId}\n title=\"Material Certificate\"\n tabName={\"stock\"}\n {...props}\n />\n )}\n\n {isMsdsPopupOpen && (\n setIsMsdsPopupOpen(false)}\n // selectedSecondaryPart={selectedRow}\n selectedSecondaryPartId={selectedSecondaryPartId}\n msds={msds}\n />\n )}\n
\n );\n}\n\nexport default StockInfo;\n","import React from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport MROButton from \"../buttons\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport clsx from 'clsx';\n\nconst useStyles = makeStyles(theme => ({\n formWrapper: {\n background: '#fff',\n width: '100%',\n padding: theme.spacing(3)\n },\n noPadding: {\n padding: theme.spacing(0)\n },\n title: {\n textTransform: 'capitalize',\n paddingBottom: theme.spacing(2)\n },\n actionButtons: {\n paddingTop: '20px',\n textAlign: 'right',\n '& button': {\n marginRight: '20px',\n textTransform: 'capitalize',\n }\n },\n}));\n\nfunction ManageDialog(props) {\n const classes = useStyles();\n const { handleClose, handleSubmit, handleCloseMenu, children, loading, title, type, maxWidth, files } = props;\n\n const handleFormSubmit = (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n\n if (files) {\n if (Array.isArray(files)) {\n for (let i = 0; i < files.length - 1; i++) {\n formData.append('documents[]', files[i][0])\n }\n return handleSubmit(formData);\n }\n formData.append('documents[]', files)\n return handleSubmit(formData);\n }\n handleSubmit(formData);\n }\n\n const _handleClose = () => {\n handleClose();\n if (handleCloseMenu) handleCloseMenu();\n }\n const _handleSubmit = () => {\n handleSubmit()\n }\n\n const handleConfirm = () => {\n if (type === 'delete') {\n return _handleSubmit()\n }\n handleCloseMenu ? handleCloseMenu() : handleClose()\n }\n\n return (\n \n \n {type !== 'delete' ?
\n \n {title}\n \n {\n
\n {children}\n {props.formActions &&
\n _handleClose()}>Cancel\n {\n type !== 'view' &&\n {type}\n }\n
}\n
\n }\n
:\n
\n {children}\n
\n Cancel\n {\n handleConfirm()\n }}>Yes, Confirm\n
\n
\n }\n
\n \n )\n}\n\nexport default ManageDialog;\n","// import request from \"../../common/api_client\";\nimport requestApi from \"../../common/boxp_api_client\";\nimport requestrApi from \"../../common/boxr_api_client\";\n\nfunction getUsersList(params) {\n return requestrApi({\n url: '/users',\n method: 'GET',\n params: params\n });\n}\n\nfunction createUser(formData) {\n return requestrApi({\n url: '/users',\n method: 'POST',\n data: formData\n })\n}\n\nfunction getUserDependencies(params) {\n return requestrApi({\n url: '/users/fetch_user_dependencies',\n method: 'GET',\n params: params\n })\n}\n\nfunction updateUserDetails(formData, id) {\n return requestrApi({\n url: `/users/${id}`,\n method: 'PUT',\n data: formData\n })\n}\n\nfunction getUserDetails(id) {\n return requestrApi({\n url: `/users/${id}`,\n method: 'GET',\n })\n}\n\nfunction getUserStatistics() {\n return requestrApi({\n url: '/users/users_stats',\n method: 'GET',\n })\n}\n\nfunction getUserMe(userId) {\n return requestApi({\n url: `get_user_compliance_status_bar?user_id=${userId}`,\n method: 'GET'\n })\n}\n\nfunction getLimeManagerUsers(params) {\n return requestrApi({\n url: `/users`,\n method: 'GET',\n params: params\n })\n}\nfunction getLineManagerUsers(params) {\n return requestApi({\n url: `/list_user_compliance_status_bar`,\n method: 'GET',\n params: params\n })\n}\nfunction updateUserGroupAndBases(params) {\n return requestApi({\n url: `/update_user_group_base_station_users?_method=PUT`,\n method: 'POST',\n params\n })\n}\nconst UserService = {\n getLineManagerUsers, getUsersList, createUser, getUserDependencies, updateUserDetails, getUserDetails, getUserStatistics,\n getUserMe, getLimeManagerUsers,\n updateUserGroupAndBases\n};\n\nexport default UserService;","import requestrApi from \"./common/boxr_api_client\";\n\nconst dataUrl = {\n commercialRates:\"/line_customers/commercial_rates\",\n fetchCapabiity: \"/capabilities\",\n allocationDetailsList: \"/part_requests/allocated_job_req_details\"\n}\n\nexport function getData(params, section) {\n return requestrApi({\n url: dataUrl[section],\n method: 'GET',\n params: params,\n paramsSerializer: (params) => {\n // Sample implementation of query string building\n let result = '';\n Object.keys(params).forEach(key => {\n if (params[key] != null) {\n if(key== \"tasks[]\" || key == \"consumables[]\"){\n const tasksVal=params[key];\n tasksVal.map(function(eachTask){\n result += `${key}=${encodeURIComponent(eachTask)}&`;\n })\n }\n else{\n result += `${key}=${encodeURIComponent(params[key])}&`;\n }\n \n }\n });\n return result.substr(0, result.length - 1);\n }\n })\n}\n\nconst BoxrListingService = {\n getData\n}\n\n\nexport default BoxrListingService;\n","import BoxrListingService from \"lib/services/api/boxr_listing_service\";\n\nexport const TABLE_ACTIONS = {\n CHANGE_STATE: 'change_state_value',\n SET_RESPONSE: 'set_response_data',\n TOGGLE_IN_PROGRESS_STATE: 'toggle_in_progress',\n UPDATE_DATA_IN_LIST: 'update_data_in_list',\n SET_CURRENT_SELECTION: 'set_current_selection',\n CLEAR_STATE: 'clear_data'\n}\n\nfunction setPage(dispatch, page) {\n dispatch({ type: TABLE_ACTIONS.CHANGE_STATE, name: 'page', value: page });\n}\nfunction setSearchText(dispatch, searchText) {\n dispatch({ type: TABLE_ACTIONS.CHANGE_STATE, name: 'searchText', value: searchText })\n}\nfunction setPageSize(dispatch, pageSize) {\n dispatch({ type: TABLE_ACTIONS.CHANGE_STATE, name: 'pageSize', value: pageSize })\n}\nfunction setTotalCount(dispatch, totalCount) {\n dispatch({ type: TABLE_ACTIONS.CHANGE_STATE, name: 'totalCount', value: totalCount })\n}\nfunction getList(dispatch, message, params, section) {\n dispatch({ type: TABLE_ACTIONS.TOGGLE_IN_PROGRESS_STATE });\n BoxrListingService.getData(params, section).then((res) => {\n if (res.success) {\n dispatch({ type: TABLE_ACTIONS.SET_RESPONSE, payload: { data: res, totalCount: res.total_count || 0 } });\n }\n else {\n message && message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong.Try Again\", variant: \"error\" });\n }\n }).catch((e) => {\n dispatch({ type: TABLE_ACTIONS.TOGGLE_IN_PROGRESS_STATE });\n message.showToastMessage({ message: \"Something went wrong. Try Again\", variant: \"error\" })\n })\n}\n\nfunction addDataToList(tableDispatch, dataDispatch, data) {\n tableDispatch({ type: TABLE_ACTIONS.UPDATE_DATA_IN_LIST, payload: data });\n if (dataDispatch) {\n dataDispatch({ type: 'clear_data' });\n }\n}\n\nfunction clearData(tableDispatch) {\n tableDispatch({ type: TABLE_ACTIONS.CLEAR_STATE })\n}\n\n\nconst BoxrTableAction = {\n setPage,\n setPageSize,\n setSearchText,\n setTotalCount,\n getList,\n addDataToList,\n clearData\n}\nexport default BoxrTableAction;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAABHNCSVQICAgIfAhkiAAAArlJREFUSEu1Vk1yElEQ7n4MljvxBJCdu+AJhJ2lmTDurECV8QQmJwiegOQEJlWQbQYG3QZPIO7cSU4g7iwjr/164FH8zgxWOVXDAK+nv379832PKeXy/UZARmpCXGKiMswLuMdCNGSSEVkJo+i6m+QG722+fP/omIxpzZwSCX3GB5yzOgcYF4jp2fRtGVmh5sde52qTtzWQ58Hrkie5GyYui9BXFnueyz0Iw/ByvOogCI4Lk8nvQAw3YV8UkqHH+eqq7RLIi+ConBNzC2P4RmRR5zwtnW79pV8/YUMKJhO21U/h9dCtzUF0B3nxviiAZaksGmUF0iCN8ECBcuztuR3NQQ4OG0OslZIApk5My7I93RaEA0Jg3/vdzlMNMAaZFfmDtXKalCJNiTHcympH1r5F513GIAe1+hhZGvV7bW3RxOsgaFT6YXuQalerj+Bcom5nj6dzQDcONe3lrOsuO2TpFfuH9UtifoNCPd7Ups4patbUgdDfnvEukmzVJm5v+fODRK4A0oi3HvXalaQokVJsn4tqI0zVLClzvlnrwUKDqNcJ0lKh9YDt7U4gTPvs1xqCyX6Poms6Uou+C4immJnO/vtOwB3lzDWJW/1f0oX3MnfXriDL3bXDnOyyk6U5iSPUiV/gmm3V3wVEW179gL9U7NK5S1lBDL0DQxdinYFu4DlmSxdR1A5Xg3Ict8Rd8W7Awmi34qoWTIMA9TCdwPlD/HyC+xtAfmH+z1dB5pokdOe4cElPoIga4ZropM2PW18UPShkaU1P1HBRdDCgTURykRVglqKzTaK3WeOtFyJ1++6AkDf57jaNv7f3NcMEtuCSnglAnpVEjV+MWlvQHRD0f9DvIF4Hz6E+Ff2KCOMnor9jK00VqE0733okcsbTogvIE5EqRRA/gtOfLIyDAs5dwjh3rXfYIthfpiW8E9lLhPMAAAAASUVORK5CYII=\"","import React,{useState,createContext} from \"react\";\n\nexport const FormContext = createContext({});\n\nexport default function FormDataProvider({ children }) {\n const [formState,setFormState] = useState({});\n\n const handleChange = ({name,value}) => {\n setFormState({...formState,[name]:value});\n }\n let formData = {formState,handleChange};\n return (\n \n {children}\n \n );\n}","import requestrApi from \"lib/services/api/common/boxr_api_client\";\n// import requestApi from \"../../../common/boxp_api_client\";\n\nconst getConditionPartDetails = (params) => {\n return requestrApi({\n url: \"/part_conditions/part_condition_details\",\n method: \"GET\",\n params: params,\n });\n};\n\nexport const ReturnIssuedPartServices = {\n getConditionPartDetails,\n};\n","module.exports = __webpack_public_path__ + \"static/media/group.f4ca8d7d.svg\";","import React, { useEffect, useContext, useState } from 'react'\nimport { Dialog, DialogContent, DialogTitle, Box, ButtonGroup, Button, FormControlLabel, Grid, Typography, MenuItem } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport MROButton from 'components/buttons';\nimport MROTextField from 'components/form_components/TextField';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport ResourcesServices from 'lib/services/api/planning/Resource/resources';\n\n\nconst useStyles = makeStyles(theme => ({\n actionButtons: {\n paddingTop: '20px',\n paddingBottom: '33px',\n textAlign: 'center',\n '& button:not(:last-child)': {\n marginRight: '20px'\n }\n },\n modal: {\n '& .MuiDialog-paperWidthMd': {\n maxWidth: '600px',\n }\n },\n title: {\n fontSize: '18px',\n '& h2': {\n color: theme.palette.primary.main,\n\n }\n },\n formLabel: {\n\n '& span:last-child': {\n fontSize: '14px',\n }\n },\n card: {\n padding: '6px 60px 15px 60px'\n }\n\n}));\n\n\nfunction UpdateAreas(props) {\n const classes = useStyles();\n const { action, handleClose, getListing, currentSelection, areaData, onClose } = props;\n const [errors, setErrors] = useState({});\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n\n const handleSubmit = async (e) => {\n\n\n e.preventDefault()\n const formData = new FormData(e.target)\n\n let valid = true;\n let error = {};\n\n\n for (let pair of formData.entries()) {\n const value = pair[1];\n const key = pair[0];\n // console.table(\"formdata=====\", key, value)\n if (!value) {\n error[key] = true;\n valid = false;\n }\n }\n\n if (!valid) {\n setErrors(error);\n return;\n }\n let id = formData.get(\"shift_area_id\")\n formData.append(\"shift_id\", currentSelection?.id)\n formData.delete(\"shift_area_id\")\n formData.append(\"id\", id)\n formData.append(\"key\", \"area\")\n setLoading(true)\n await ResourcesServices.updateShifZoneArea(formData).then((res) => {\n message.showToastMessage({\n message: \"Updated successfully !\",\n variant: \"success\",\n });\n onClose()\n getListing()\n }).catch((res) => {\n onClose()\n message.showToastMessage({\n message: res.message ? res.message : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n\n\n\n return (\n
\n \n Edit User Area\n \n Edit action will only update this single shift\n \n
\n \n \n \n { setErrors({ ...errors, shift_area_id: false }); }}\n >\n\n {areaData && areaData.map((value) => (\n {value.name}\n ))}\n\n\n \n \n \n \n\n
\n \n Cancel\n \n \n Complete\n \n\n
\n
\n
\n\n \n\n
\n )\n}\n\nexport default UpdateAreas","import React, { useEffect, useContext, useState } from 'react'\nimport { Dialog, DialogContent, DialogTitle, Box, ButtonGroup, Button, FormControlLabel, Grid, MenuItem, Typography } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport MROButton from 'components/buttons';\nimport MROTextField from 'components/form_components/TextField';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport ResourcesServices from 'lib/services/api/planning/Resource/resources';\n\nconst useStyles = makeStyles(theme => ({\n actionButtons: {\n paddingTop: '20px',\n paddingBottom: '33px',\n textAlign: 'center',\n '& button:not(:last-child)': {\n marginRight: '20px'\n }\n },\n modal: {\n '& .MuiDialog-paperWidthMd': {\n maxWidth: '600px',\n }\n },\n title: {\n fontSize: '18px',\n '& h2': {\n color: theme.palette.primary.main,\n\n }\n },\n formLabel: {\n\n '& span:last-child': {\n fontSize: '14px',\n }\n },\n card: {\n padding: '6px 60px 15px 60px'\n }\n\n}));\n\n\nfunction EditZones(props) {\n const classes = useStyles();\n const { action, handleClose, getListing, currentSelection, zoneData, onClose } = props;\n const [errors, setErrors] = useState({});\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n const handleSubmit = async (e) => {\n\n\n e.preventDefault()\n const formData = new FormData(e.target)\n\n let valid = true;\n let error = {};\n\n\n for (let pair of formData.entries()) {\n const value = pair[1];\n const key = pair[0];\n // console.table(\"formdata=====\", key, value)\n if (!value) {\n error[key] = true;\n valid = false;\n }\n }\n\n if (!valid) {\n setErrors(error);\n return;\n }\n let id = formData.get(\"shift_zone_id\")\n formData.delete(\"shift_zone_id\")\n formData.append(\"id\", id)\n\n\n formData.append(\"shift_id\", currentSelection?.id)\n formData.append(\"key\", \"zone\")\n setLoading(true)\n await ResourcesServices.updateShifZoneArea(formData).then((res) => {\n message.showToastMessage({\n message: \"Updated successfully !\",\n variant: \"success\",\n });\n onClose()\n getListing()\n }).catch((res) => {\n onClose()\n message.showToastMessage({\n message: res.message ? res.message : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n return (\n
\n \n Edit User Zone\n \n Edit action will only update this single shift\n \n
\n \n \n \n { setErrors({ ...errors, shift_zone_id: false }); }}\n >\n\n {zoneData && zoneData.map((value) => (\n {value.name}\n ))}\n\n\n \n \n \n \n\n
\n \n Cancel\n \n \n Complete\n \n\n
\n
\n
\n\n \n\n
\n )\n}\n\nexport default EditZones","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport ShiftServices from \"lib/services/api/planning/Shifts/shift\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"750px\",\n // height: \"110vh\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"50px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden !important\"\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n tableCell: {\n height: '32px',\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n\n },\n })\n);\n\nexport default function UsedHours(props) {\n const { handleClose, currentSelection } = props\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [data, setData] = useState([])\n const [Loading, setLoading] = useState(false)\n\n\n\n const getListing = () => {\n\n const params = {\n organisation_id: getOrganisationId(),\n shift_id: currentSelection?.id,\n\n }\n\n setLoading(true)\n ShiftServices.getShiftUsedHoursDetails(params).then((res) => {\n setData([{\n \"user_name\": res.data.user_name,\n \"item\": \"Shift Hours\",\n \"hours\": res.data.shift_hours || 0\n\n }, {\n \"user_name\": res.data.user_name,\n \"item\": \"Absence Hours\",\n \"hours\": res.data.absence_hours || 0\n\n }, {\n \"user_name\": res.data.user_name,\n \"item\": \"Leave Hours\",\n \"hours\": res.data.leave_hours || 0\n\n }, {\n \"user_name\": res.data.user_name,\n \"item\": \"Training Hours\",\n \"hours\": res.data.training_hours || 0\n\n }])\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n getListing()\n }, [currentSelection])\n\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n\n const column = [\n\n {\n title: \"User\",\n field: \"user_name\",\n width: '20%',\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n width: '20%',\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n width: '20%',\n },\n },\n {\n title: \"Item\",\n field: \"item\",\n width: '60%',\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n width: '60%',\n textAlign: \"left\",\n },\n\n },\n\n {\n title: \"Hours\",\n field: \"hours\",\n\n },\n ];\n\n\n\n\n\n return (\n
\n \n
\n \n User Hours\n \n\n \n \n \n
\n \n\n
\n )\n}\n","import { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport React, { useContext, useEffect, useState } from \"react\";\n\nconst useGetProjectParts = (params, projectPartsStatus) => {\n\n\n const [projectParts, setProjectParts] = useState([])\n const message = useContext(ToastMessageContext);\n const [filetr, setFilters] = useState([])\n\n const getProjectParts = async () => {\n\n\n await MaintenanceServices.getProjectPartsDropDown(params)\n .then((res) => {\n if (res.success) {\n const obj = {\n part_number: \"N/A\",\n id: null,\n serial: null\n }\n\n let data = [obj, ...res.data]\n setProjectParts(data);\n }\n // setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // setLoading(false);\n }).finally(() => {\n\n })\n };\n useEffect(() => {\n if (projectPartsStatus) { getProjectParts(); }\n }, []);\n\n return projectParts\n}\n\nexport default useGetProjectParts\n\n","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/gear-green.1a9ab4b5.svg\";","module.exports = __webpack_public_path__ + \"static/media/gear-red.dadcb2f4.svg\";","import requestrApi from \"lib/services/api/common/boxr_api_client\";\nimport { BASE_API_URL_BOXR } from \"lib/constants\";\n\n\nconst getActionNumber = (params) => {\n return requestrApi({\n url: `${BASE_API_URL_BOXR}/workshop_actions/list_action_numbers`,\n method: \"GET\",\n params: params\n });\n };\nconst createAction = (formData) => {\n return requestrApi({\n url: `${BASE_API_URL_BOXR}/action_imp`,\n method: \"POST\",\n data: formData\n });\n };\n\n\nexport const ServicesAndEquip = {\n getActionNumber,\n createAction\n};\n","import requestApi from \"lib/services/api/common/boxp_api_client\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\n\nconst createStorageOrder = (formData) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/create_storage_order`,\n method: \"POST\",\n data: formData,\n });\n};\nconst downloadStockReport = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/download_stock_report`,\n method: \"GET\",\n params\n });\n};\n\nconst getLinkedMaintOrderListing = (params) => {\n return requestApi({\n url: `/list_linked_maintenance_order`,\n method: \"GET\",\n params,\n });\n}\n\nconst createLinkedMaintenanceOrder = (formData) => {\n return requestApi({\n url: `/create_linked_maintenance_order`,\n method: \"POST\",\n data: formData,\n });\n};\n\nconst getCalenderActionDue = (params) => {\n return requestApi({\n url: `/calendar_actions_due`,\n method: \"GET\",\n params\n })\n}\n\n\nconst getStorageTableList = (params) => {\n return requestApi({\n url: `/maintenace_order_list`,\n method: \"GET\",\n params\n })\n}\nexport const StorageServices = {\n createStorageOrder,\n downloadStockReport,\n getLinkedMaintOrderListing,\n createLinkedMaintenanceOrder,\n getCalenderActionDue,\n getStorageTableList\n};\n","import { Button, ButtonGroup, Grid } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport RemoveIcon from \"@material-ui/icons/Remove\";\nimport MROTextField from \"../../../../../components/form_components/TextField\";\nimport { fixedInputValueTo2DecimalPlaces } from \"lib/utils/helperFunctions\";\n\nexport default function NumericIncrementForWorkOrderLae({ setError, state, setState, ...props }) {\n const [val, setVal] = useState(props.value ? parseFloat(props?.value) : \"\");\n const handleChange = (action) => () => {\n typeof setError === \"function\" && setError();\n if (action === \"inc\") {\n if (parseFloat(val || 0) >= 0)\n if (parseFloat(val) % 0.5 === 0) setVal(parseFloat(val + 0.5));\n else setVal(parseFloat(val || 0) + 0.5);\n }\n if (action === \"dec\") {\n if (parseFloat(val) > 0)\n if (parseFloat(val) % 0.5 === 0){\n setVal(parseFloat(val - 0.5))\n } else if (parseFloat(val) <= 0.5 ){\n setVal(0)\n }\n else setVal(Math.round(parseFloat(val || 0) - 0.5))\n }\n };\n\n useEffect(() => {\n setState({\n ...state,\n lae_hrs: val,\n });\n }, [val]);\n\n console.log({ val });\n\n useEffect(() => {\n // setVal(parseFloat(props?.value))\n }, [props.value]);\n\n let inputprops = {\n value: props.value,\n };\n\n return (\n <>\n \n \n {\n typeof setError === \"function\" && setError();\n typeof setVal === \"function\" && setVal((fixedInputValueTo2DecimalPlaces(e.target.value.replace(/[A-Za-z]/g, \"\"))));\n }}\n />\n \n \n \n \n \n {\" \"}\n \n \n \n {\" \"}\n \n \n \n \n \n \n );\n}\n","import { Button, ButtonGroup, Grid } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport RemoveIcon from \"@material-ui/icons/Remove\";\nimport MROTextField from \"../../../../../components/form_components/TextField\";\nimport { fixedInputValueTo2DecimalPlaces } from \"lib/utils/helperFunctions\";\n\nexport default function NumericIncrementForWorkOrderNonLae({ setError, state, setState, ...props }) {\n const [val, setVal] = useState(props.value ? parseFloat(props?.value) : \"\");\n const handleChange = (action) => () => {\n typeof setError === \"function\" && setError();\n if (action === \"inc\") {\n if (parseFloat(val || 0) >= 0)\n if (parseFloat(val) % 0.5 === 0) setVal(parseFloat(val + 0.5));\n else setVal(parseFloat(val || 0) + 0.5);\n }\n if (action === \"dec\") {\n if (parseFloat(val) > 0)\n if (parseFloat(val) % 0.5 === 0){\n setVal(parseFloat(val - 0.5))\n } else if (parseFloat(val) <= 0.5 ){\n setVal(0)\n }\n else setVal(Math.round(parseFloat(val || 0) - 0.5))\n }\n };\n\n useEffect(() => {\n setState({\n ...state,\n non_lae_hrs: val\n });\n }, [val]);\n\n console.log({ val });\n\n useEffect(() => {\n // setVal(parseFloat(props?.value))\n }, [props.value]);\n\n let inputprops = {\n value: props.value,\n };\n\n return (\n <>\n \n \n {\n typeof setError === \"function\" && setError();\n typeof setVal === \"function\" && setVal((fixedInputValueTo2DecimalPlaces(e.target.value.replace(/[A-Za-z]/g, \"\"))));\n }}\n />\n \n \n \n \n \n {\" \"}\n \n \n \n {\" \"}\n \n \n \n \n \n \n );\n}\n","import React, { useEffect, useContext, useState } from 'react'\nimport { Dialog, DialogContent, DialogTitle, Box, ButtonGroup, Button, FormControlLabel, Grid, Typography } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport MROButton from 'components/buttons';\nimport MROTextField from 'components/form_components/TextField';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport PositiveSwitch from 'components/form_components/switch';\nimport NumericIncrement from 'views/Operations/LineMaintenance/WorkOrder/FieldComponents/numeric_increment';\nimport ResourcesServices from 'lib/services/api/planning/Resource/resources';\n\n\n\n\n\n\n\n\nconst useStyles = makeStyles(theme => ({\n actionButtons: {\n paddingTop: '20px',\n paddingBottom: '33px',\n textAlign: \"center\",\n '& button:not(:last-child)': {\n marginRight: '20px'\n }\n },\n modal: {\n '& .MuiDialog-paperWidthMd': {\n maxWidth: '530px',\n }\n },\n title: {\n fontSize: '18px',\n '& h2': {\n color: theme.palette.primary.main,\n textAlign: 'center'\n }\n },\n formLabel: {\n\n '& span:last-child': {\n fontSize: '14px',\n }\n }\n\n}));\n\n\nfunction MarkAbsent(props) {\n const classes = useStyles();\n const { action, handleClose, getListing, currentSelection, onClose } = props;\n const [errors, setErrors] = useState({});\n const [loading, setLoading] = useState(false)\n const [checked, setChecked] = useState(false)\n const [states, setStates] = useState({ man_hours: '' });\n const message = useContext(ToastMessageContext)\n\n\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleSubmit = async (e) => {\n\n\n e.preventDefault()\n const formData = new FormData(e.target)\n\n let valid = true;\n let error = {};\n\n\n for (let pair of formData.entries()) {\n const value = pair[1];\n const key = pair[0];\n // console.table(\"formdata=====\", key, value)\n if (!value) {\n error[key] = true;\n valid = false;\n }\n }\n if (parseFloat(states.man_hours) >= parseFloat(currentSelection?.shift_hours)) {\n valid = false;\n error = {\n ...error,\n hours1: `Cannot be greater than Shift Hours!`,\n };\n }\n\n if (!valid) {\n setErrors(error);\n return;\n }\n formData.append(\"shift_id\", currentSelection?.id)\n formData.append(\"key\", \"absent\")\n formData.append(\"full_day\", checked)\n setLoading(true)\n await ResourcesServices.updateShifAbsentTraning(formData).then((response) => {\n if (response.success) {\n message.showToastMessage({\n message: \"Shift updated sucessfully\",\n variant: \"success\",\n });\n handleClose()\n getListing()\n }\n else {\n message.showToastMessage({\n message: response?.error ? response?.error : \"Something went wrong. Try again\",\n variant: \"error\",\n });\n handleClose()\n getListing()\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n\n\n\n\n\n\n return (\n
\n \n Mark as Absent\n \n\n \n
\n \n {\n setChecked(e.target.checked);\n }}\n // name=\"status\"\n />\n\n }\n label=\"User absent for the full shift ?\"\n labelPlacement=\"start\"\n className={classes.formLabel}\n />\n \n {!checked ?\n \n \n \n {\n resetErrorsHandler(\"hours\")\n resetErrorsHandler(\"hours1\")\n }}\n helperText={\n errors[\"hours\"] ? `Please enter hours` : errors[\"hours1\"] ?\n {errors[\"hours1\"]} : ''\n }\n />\n \n : {\" \"}}\n\n\n
\n \n Cancel\n \n \n Complete\n \n\n
\n
\n
\n\n \n\n
\n )\n}\n\nexport default MarkAbsent","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAZCAYAAAA8CX6UAAAABHNCSVQICAgIfAhkiAAAAVtJREFUOE+9lY1RAjEQRkkFaAd0AFYgVKAdIBWgFagViB1gB1ABUIFYgdgBVHC+j0luciE/N+iQmR2YZPPybXazZzqRUVXVFdPP2D3Wsy4Lft+NMevYHhNOAhkwt8IEi405sEm40ABFIEs2bDHBh1jXAqTs0YeFIMm+xQ4Kyw+DQxSiwutbwMhfr0FWzad1esXpJRK2YN92/gOfB+fjgyT1zS5c47SPXRAHOtUbfBTucfggKVCmOjicJMFtADTj/xT7M0jZlPoF5ykR5ymKhXtWaEkQMSuldymHFvNKyo0BVLVwLrmMLgr6Qk4Pc88jpi6r6IcdeiZb2w1UP+NEjFnQBMjcK0TVzy6hLAtqPEoBUaYCdI/WF5cFNR5l8KjDCItZeyI83Y3UqF5SF14E1e2kUG9F0LETAhmiRu03NYogbVxjarWpHi6fVqCMkHrpf0EqulTFtlGjD8XgF7VDsm1Ab2z8AAAAAElFTkSuQmCC\"","\nimport React from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport { makeStyles } from \"lib/utils/common_utils\";\nimport { DialogContent, IconButton, Typography } from \"@material-ui/core\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport { BASE_API_URL_BOXR } from \"lib/constants\";\nconst useStyles = makeStyles((theme) => ({\n certDialog: {\n \"& .MuiDialog-paper\": {\n boxShadow: \"0px 3px 6px #00000029\",\n position: \"absolute\",\n left: \"calc(50% - 250px)\",\n width: '44%'\n },\n },\n}));\nfunction TechFilesPopup(props) {\n const { handleClose, currentSelectedRow, open } = props\n const classes = useStyles();\n return (\n
\n\n \n
\n \n Files\n \n
\n ({\n filename: file?.filename,\n url: file?.path,\n id: file?.id,\n })) : \" \"\n }\n APIUrl={\"\"}\n showBorderOnNoFiles={true}\n uploadButtonView={true}\n multiple={true}\n name={\"maintenance_file\"}\n action={\"Upload Document\"}\n\n />\n
\n
\n\n \n
\n )\n}\n\nexport default TechFilesPopup","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAABHNCSVQICAgIfAhkiAAAAp1JREFUSEu9VkFy2kAQnFkJX8MPTF4Q+QWWb6kEYeWWwlRZPwj+gfMD/yCkCly5RSA7lZuVH5AfyC8IRxeg3czIDBbCkmKbyl5A0u70TE/3SAiF1e70LuiWiwCz4rOqawPQ1EoHP8LLaXEfxXpYXudkYAAdUNC/CofxU0B8P2imehlGk6FbCsIAYExsULUIJGYQPrjUy1M61CwDpOzHkr3X6cWlIAIQRZcDoutcQN57J30OjhZuUSCgqE0/mox8vi4FyXqA5hAMhtlBBFejPuPsGEQpeGNh42wO85bS6nibCnPwLyBT7oEc1qBnUn5GFywdG+zpHdw16bdVBKHnyc/wW1JZSVmJT2m67CXaqfH31OUX7hKkLLENkLbfczFFknz5WliLW6GHdzGl3C9LI6kQD+jwDdH/iykOw0HmtTXIW/9jy9Z2UEcTGp2wCnkfn2lom7wFMaU2jaJh6Hk93yA4ZEDXUrbPQC+ii+X+ELwbkMf2DZjkejL66nndQAM2r6PRRbESNl7lokpuV37i8TO7mgzPua/amJD9ZFLjKKqEBBCsJkiy1ZM6EJGsCCbzEpiZUMjnpULLsuNULwbPpksmA2hwZUJIgiwguc+VrUHe+V3H0oopqFzU5ClR1P9flXBCfwjwMwMS+Hc01BOkzMEcsSm5J5pUt65kNXE/1VVCavrNUs1zfy/dTF0tkfij6pI5VQeSn205n9wI+Apsn3xytBOfiOPpnRPT/5gCO5kxc0bccHxdBVXPi/OveL1pRmN/KQaz0f4gM6gMiIMyNWk6PyS/jEtBXlJJ+/gkIWUlTBXF8RHNq2g8ei0xn23GfFLssT3YSxbpImhYjQFP5fxXy05ARAClXyssOUBFGofK90gdnSRhTJXuP/bd9RfzpuqxMsjmJAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAZCAYAAABQDyyRAAAABHNCSVQICAgIfAhkiAAAAulJREFUSEvVVlFu2kAQnVlDf0NOEHKCJido+KvaGJy/KiDFOUHgBCEnCDlBqQRR/2piWvWv5ARwA5wTNPm2vdPZJYugxXitNh/dH5A8s/vmzcybQbA4x17rCIiuEfDAwhwIIEgw6XwPPkd59phn8Nb7UC1TaUpAT0DYz7Pn7xVA8vl3Ph4ND/Ps1wC8804PnNTZWXNC6QFiGySchOEgyLtQfT+ut7qIcAmSfcF5XPWJnfhhlRkNgB0u2KGr0WecFOXht+B2ZgPgvdtsC4HX2bYUEeL5OBhM0HVbHgj4wom759xNNjkhySgMb23o1+6e51fiNPYRcXNAnCKupx0OqobHjeaUfXY5X1Wb6P6FzXNdzYngBt1Gi9Sf8d2gbXu5jlDGDY5Cg2aGZo7z6j4I+mv5NvepB0uy1JBC3ps0uvWWZtsAuGIAqga2ngVy55Ld/A2GjxxIryRKN78DcevNgAu5wT6P4Wiwq3wLA9AdQuIH+1ZYEz5xSwbkgI4YU1kFFD4gvOF2nZWwXFsFYQCoVuZU67ooBGBFC5h19FT1bqLKVL8CsaoBKmVpmhzFTjIzLVgIwDIChFrW4waQASEldb6Gw15WTq0BmIpVtId3w025/+MN7qyIBYbC0XD/rwEsRaWYEvZY2C62iZc1A0ZWY0z2bYaLLjD31AchPtKWlP0/AEw0BYeRTsE21qwZ0C1EyU8148ejwUmeWC3s4ykRPrG4Ze4P1gAWotHsc/+f2bDANaOj51F8vm2AFQKgokpkMuGL9/jiTtbFy8ctWrYQAMWCkmIhRZ9BvFZKp7YjJFzsB3ppAV4+sMp6MXJE2c8aTCaFhQEox2cm2jz+2mqer9YDg3pASV3bvWENQBGVM49qRkDowZJAEtlqxJKBRnPOLD6gRoK052D5MI+2vA6w/f48WblT4ArVyo0EPGYp4gsm3D7q9+UOwgHPiSNOGfLYri6WUgVC8lLK8/zlXl7crHYCDngSi7St0vYLkPQA2LiEMecAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAZCAYAAAAiwE4nAAAABHNCSVQICAgIfAhkiAAAAhdJREFUSEu9lr1S20AQx3cPUYe0pMB0DJXzBk5BisSSRZmgGatPwUdKCjtvYJ4gMGNnmDTIlpmBKuYJIG9AmrQBGmZiWcv/NDkPSTzo0Ci5RqO7vf3d7t7tLhPGK/9tVYlqMZGv/8scQjTilPbiuBtpvaxhc6LOheSahSIhviwLyCQVYaox8RKltK6h7HobkZ50eL4SRftXZcGMHt8PF5I0GTHTUtzvPmW3EcA4OYgHvbBsmNFX94I2gK0xJ8sZUIQ+DAfd9r8GwpMvHgR6XrA2IVm0PYgSvkWcPv8pbyzMBdYbG6cI+EtbIELzHaF5Vhjoum9WJsp5Ygt0ZPxzMDg8Lwy0BeXJWbvU9YIhMb3OU2jWcd2/Dfu9SmELcbIdZJ9VeyBd47a/Lwy0BeXJWbsUt/QdCa/kKTTreNw3yCa7hS3878/C1rI8OWuX5imyXf8NCLddYuMPXOfntgoeKwdgB/HdRHyZp3ShdqKSg5PoUB+glPGrNDUB6yDt9ZH2fDwzIl0TibkxfcDI6sOoOzL/2UZJPhbtCFCNvjrKqel6mwH1qPtBjVMJAW7qrG6A2bzQEUQWdN18bEeAvRemvdCcKXAKFfqigQ45F5N03MIBtnT7ga9/3+qiPp8JTFPZZkVNlKaq9v2cmg/Laj9mAvXps6Yqla04/rRf1JpZ+2YDhc7GKgnLvLEG/hdQJlI9jnudMq26r+sOJwdW2TtLt7oAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABHNCSVQICAgIfAhkiAAAAxBJREFUSEu9l71uE0EQx2fu9kQAIZkCKRJNIlFQJhREORc4TQpEkktBHyQqCuKIFzAtDeEJME8QO+FDVDGFHYmGpKJBwiUCAaZBCbfeYebCWU58vr1zLNJE8s7Ob2d25j97GDRhhlA9BcAS/Jc/aiDpDVxuqQYhVV3AtgG4lYlN2Nn2w2eZbE8ZLe25a0i4histj+p+yP9Vhwg2MzlDKBFgbccPU+2XW14ViVbwgp42v1UVObB6UV8WZh/YaxPQFiB0bHA5sQGzseN3a2m2Sy2vjEDBtq9LnNlNIJjaLurgBDj4AAU4VDM2aLRudKdWhP1MtglGPTAANUZ1Mto+LEWpRqQFmwPq6mvoqk82uyzrRLjbu+PUu+JKdMh5zndUrRfDe1mcp9mcuGMxlNbiyqOETbNSxVIodV8Xxg9uevuOQ+Uu0BTjOwhOIDA+ibQC958unaWo4gMnRuyQLrOScbHhTw7+8rihAk8Ei4qhccoMrXFPFxBwnfv7nfTi8SZ3lciZRE4HH+pRnrSHE+HcmxvwLREsAJE1LqYKwwsGsBKLQD9k8QAuqiO4lAf8+iZ8GRpxHNlSyw1c6rbBUQVDUOlFvOfeJ4NP8gBjWxf09a0ifB2IWH5IckhEdZG6eK20CxOjgBsLcJgYcWovs+6658Nqbdau5bZDDUQ8bEM0ZbitgPAzC8iszbFtPUeq4YALrQ0YzeE1m2Pb+vCqlrRS2DDolVlIeGKNDzq0qhkk4hHw4JhiMW9HUECeo2E0Mu+04KoimOieg18mhCu26PrXX83Dx6HgY+XyajzoyzLwBQpInOKTAkJo/rCGPMgDdt1wcWsOvg9N9b8HYEMGg8NK1t/Ht9/DpBOq6TzA2PZlUe8lR8xDgiVzXRbjVLNkyh2v9oSl6a7wbw9HAR+hvvvWhx+DETdVpM+nnWZ52OU5SOY+TnOaMsMHthmkFzvz3epYwFmfTkYKlajN0lsZG1je5bZULzdVRWzGCrZB43UeNo974PgTRnKf1cFZ7HqfMNKzBtUmt0i276azUHmvvGZEpP4Cs4sLASVJwxIAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAABHNCSVQICAgIfAhkiAAAAmNJREFUSEutlrtuE0EUhv9JIhQkFDlUdDhPQOiRWFNEQoIYilQUBKWjSfIGbqlwQ0NDahqMjUJBET9BcEGJhCMkKqQkUgoULsN3xmvLa3a9m8UjrXY1c+b/5lxmZp3vKJLUlNcJ79k2pwqCOw5IT+eq6xIghc7s5tVz69rNMvDvVdUvVd19dcPiz/UF3bfOt9WVC57Umbw3FYIdAjczIZ2w0Aea4/mjj3zX0G0MIL/pXFCDjtUCkFYm5A2RWFTF3VXfvApv9C1cfSa9mm0yxtS8Ngc5ITmZEKdruH5GSM9KLqQZwkUyI2+uzuvGhJAVwi6ACrmYHsqMFQzCNYR0yIklbVjKjkoRZe0Jp9MJkM0ynqRBLHTbPF3EawHyHwBb1L8QBBG3/LR4VwHU8cDFxluE8xP5sfGrBbxqM/dFmifmgYWpiXQAWb4CZF9LvJYAVfSDnZDXLuu7W9O3NMgxwj0Aq/F7tPmowkf0beRpj8bntO/u6eUkxFYcVj3ecLlRWDjFMAFJEwplvaAD84qwPSkDS3ryjoR6PU8IeZ0Suj3zcJb7pBuHzAqgAcBKOuJkjdzDcldBWuIpIz1G+CgGbANYNgDGd+j7ytgaNldyQ+d16Or6kF7CCjv7Os+yCQ3DhPEKd8Mp0FvslcVciPSZPB6mQsKFY/n5SS7m1Rrtk7ae4slWAfGBiddr5j5LQtrBA3sSbQgpLD5hmFvCWcJszAZjt/PARKVWHhKf3NMgo9N9/KjPW9X4ePxfcDB1jt2I61oZXr+9i+6D+DcqyoH0+XdocWKEO96M7S/j+CLeFLS1bbDzF1EmMoY21kl+AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAABHNCSVQICAgIfAhkiAAAAj5JREFUSEutlr+O00AQh2e3okDIoaIj9wRAj0RCQZtrqCgwoqM58wZpqXBDQ0NqqkBBQ0Ge4EhBiUQQEhUSd9LVO3yzsSMncWwnxNLcZm/Xv2/nz+7aqchAnMtF5AI79pOIaubUuTk/RgUoaaQw14XwctccFtxnrO9EZnHxIj/Q/WCQGZBcvB9JCJMWSO5U7+2EeJ+jdRrN+6/oDYGMS4j9c8zg3UYIi2GV0wZPLBIJcxbmVWxxwiALaO+OnYyVnmpa5iRrgNxi7Kqw/ddCUcVwEecB7pmrdzZUEry0RCfMaQ7lDnwZriVkmZPTSilbpVhZWzgvqKp0fzdEtiEhzBE8w6zihhHyHwBbVB3ERDNsCqRPO8IDioTJIs9pvlGFGWM3W71S/ciLb+ogM1428bwEWSgLyA1aM8udb4WI/AHyuw7yl5fnmCXZQrfafHjyhP7jDuLLKaqfgLxdh9gx4H1cdfUhXOPOwjUT1yB1QrGsnfuC2Zn17BDYpicZnrxeE1K9BDDB9cHx9kkIsxgyaznYzAMDRMiBV8F24pcJe8rfnxEgcgawZwBC95D+L+wRdr1D6M5573N9CXufArqNSM+EyjABOaF7id3HrnWAfAdyXgspLhw7MCe2Vyr75AV925DdHtX3aL3aTHyKSLqpUEK6KW/Pai3hXcLFYfqgDcwCh4dDiuuhCbK6QoqbMR71bauqjsfvAtukjRS7EfWk9CTuhX32QfwSqTmC1pghLOhP7dpwle8uOxyP/fTsu+sfi0xdTTEil6IAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,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\"","import React, { useContext, useEffect, useReducer, useState, useRef } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Paper,\n Typography,\n CircularProgress, useTheme\n} from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport {\n SortableContainer,\n SortableElement,\n SortableHandle\n} from 'react-sortable-hoc';\nimport { arrayMoveImmutable } from 'array-move';\nimport List from \"@material-ui/core/List\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport ReorderIcon from '@material-ui/icons/Reorder';\n// import { List, Column } from 'react-virtualized';\nimport 'react-virtualized/styles.css';\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport LoadingIndicator from \"components/universal/loading_indicator\";\nimport MROButton from \"components/buttons\";\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"900px\",\n height: \"max-content\"\n },\n },\n container: {\n minWidth: \"600px\",\n padding: \"78px 40px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n tableCell: {\n height: '32px',\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n\n },\n actionButtons: {\n paddingTop: '65px',\n display: \"flex\",\n justifyContent: \"end\",\n alignItems: \"center\",\n },\n })\n);\n\nexport default function ReorderAction(props) {\n\n const theme = useTheme()\n\n const { handleClose, workshop_id, action_type, getListing } = props\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [data, setData] = useState([])\n const [loading, setLoading] = useState(false)\n const ref = useRef()\n\n\n\n\n\n\n useEffect(() => {\n getAllActions();\n }, [workshop_id]);\n\n const getAllActions = async () => {\n setLoading(true);\n const params = {\n workshop_order_id: workshop_id,\n action_type: action_type,\n\n };\n await MaintenanceServices.getAllActions(params)\n .then((res) => {\n if (res) {\n\n setData(res.data)\n }\n setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setLoading(false);\n });\n };\n\n\n const handleSortEnd = ({ oldIndex, newIndex }) => {\n if (newIndex > data.length) {\n console.log(\"index=====\", newIndex, data.length)\n }\n else {\n const fromInspection = data[oldIndex].action_number\n const toInspection = data[newIndex].action_number\n setData(data => arrayMoveImmutable(data, oldIndex, newIndex))\n const formData = {\n workshop_order_id: workshop_id,\n action_type: action_type,\n from_position: fromInspection.slice(1),\n to_position: toInspection.slice(1)\n }\n\n MaintenanceServices.updateReorderFunctions(formData).then((res) => {\n getAllActions()\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n }\n\n };\n\n const handleSortStart = ({ node }) => {\n\n const tds = document.getElementsByClassName(\"SortableHelper\")[0].childNodes;\n node.childNodes.forEach(\n (node, idx) => (tds[idx].style.width = `${node.offsetWidth}px`)\n );\n };\n const SortableTableBody = SortableContainer(({ children }) => (\n {children}\n ));\n const SortableIcon = SortableHandle(({ tabIndex }) => (\n
\n \n
\n ));\n const DragHandle = SortableHandle(({ action_number, title }) => \n \n \n\n\n \n \n {action_number}\n {title}\n\n\n \n\n\n\n\n \n \n );\n\n const SortableRow = SortableElement(({ action_number\n , title }) => (\n
\n \n\n
\n ));\n\n\n\n\n\n\n\n return (\n
\n \n\n \n Reorder Actions\n \n\n\n\n
\n \n\n\n \n \n \n \n {\" \"}\n Action#\n Title\n\n\n \n \n \n \n\n {data.length > 0 && !loading ?
\n\n\n \n {data.map((row, ix) => (\n \n ))}\n \n\n\n
: {loading ? : \"No Actions Found\"}}\n
\n \n {\n handleClose()\n getListing()\n }}\n variant={\"contained\"}\n color=\"primary\"\n\n >\n Complete\n \n \n\n
\n\n\n \n
\n )\n}\n","import React, { useContext, useEffect, useReducer, useState, useRef } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Paper,\n Typography,\n CircularProgress, useTheme\n} from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport {\n SortableContainer,\n SortableElement,\n SortableHandle\n} from 'react-sortable-hoc';\nimport { arrayMoveImmutable } from 'array-move';\nimport List from \"@material-ui/core/List\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport ReorderIcon from '@material-ui/icons/Reorder';\n// import { List, Column } from 'react-virtualized';\nimport 'react-virtualized/styles.css';\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport LoadingIndicator from \"components/universal/loading_indicator\";\nimport MROButton from \"components/buttons\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"900px\",\n height: \"max-content\"\n },\n },\n container: {\n minWidth: \"600px\",\n padding: \"78px 40px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n tableCell: {\n height: '32px',\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n\n },\n actionButtons: {\n paddingTop: '65px',\n display: \"flex\",\n justifyContent: \"end\",\n alignItems: \"center\",\n },\n })\n);\n\n\n\nexport default function ReorderStages(props) {\n\n const theme = useTheme()\n\n const { handleClose, workshop_id, action_type, getListing, selectedId } = props\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [data, setData] = useState([])\n const [loading, setLoading] = useState(false)\n const ref = useRef()\n\n\n\n\n\n\n useEffect(() => {\n getAllStages();\n }, [workshop_id]);\n\n const getAllStages = async () => {\n setLoading(true);\n\n const params = {\n workshop_action_id: selectedId,\n };\n await InspectionServices.getAllActionStages(params)\n .then((res) => {\n if (res) {\n\n setData(res.data)\n }\n setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setLoading(false);\n });\n };\n\n\n const handleSortEnd = ({ oldIndex, newIndex }) => {\n if (newIndex > data.length) {\n console.log(\"index=====\", newIndex, data.length)\n }\n else {\n let c_data = arrayMoveImmutable(data, oldIndex, newIndex)\n setData(data => arrayMoveImmutable(data, oldIndex, newIndex))\n\n\n let stageParams = c_data?.map((item, index) => {\n return { stage_position: index + 1, action_info_id: item.id }\n })\n const params = {\n workshop_action_id: selectedId,\n stage_position_data: stageParams,\n };\n\n InspectionServices.updateStagePosition(params).then((res) => {\n getAllStages()\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n }\n\n };\n\n const handleSortStart = ({ node }) => {\n\n const tds = document.getElementsByClassName(\"SortableHelper\")[0].childNodes;\n node.childNodes.forEach(\n (node, idx) => (tds[idx].style.width = `${node.offsetWidth}px`)\n );\n };\n const SortableTableBody = SortableContainer(({ children }) => (\n {children}\n ));\n const SortableIcon = SortableHandle(({ tabIndex }) => (\n
\n \n
\n ));\n const DragHandle = SortableHandle(({ action_number, title }) => \n \n \n\n\n \n \n {action_number}\n {title}\n\n\n \n\n\n\n\n \n \n );\n\n const SortableRow = SortableElement(({ stage_position, stage_name }) => (\n
\n \n\n
\n ));\n\n\n\n\n\n\n\n return (\n
\n \n\n \n Reorder Actions\n \n\n\n\n
\n \n\n\n \n \n \n \n {\" \"}\n Stage#\n Title\n\n\n \n \n \n \n\n {data.length > 0 && !loading ?
\n\n\n \n {data.map((row, ix) => (\n \n ))}\n \n\n\n
: {loading ? : \"No Actions Found\"}}\n
\n \n {\n handleClose()\n getListing()\n }}\n variant={\"contained\"}\n color=\"primary\"\n\n >\n Complete\n \n \n\n
\n\n\n \n
\n )\n}\n\n","module.exports = \"data:image/png;base64,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\"","import React, { useRef, useState } from \"react\";\n\nimport { Box, Typography, Grid, CircularProgress } from \"@material-ui/core\";\n\nimport { useReactToPrint } from \"react-to-print\";\nimport QRCode from \"qrcode.react\";\nimport MROButton from \"./buttons\";\n\nfunction QRCodeWithData(props) {\n const { qrData, data, handleClose, loading } = props;\n\n const printContainerRef = useRef();\n const printHandler = useReactToPrint({\n content: () => printContainerRef.current,\n onAfterPrint: () => setIsPrintWindowOpen(false),\n });\n\n const [isPrintWindowOpen, setIsPrintWindowOpen] = useState(false);\n\n if (loading) {\n return (\n \n \n \n );\n }\n\n return (\n
\n {/* printContainer */}\n \n Print Part QR Label\n \n \n \n \n {data.map((item, idx) => (\n \n \n \n {item.label}\n \n \n \n \n {item.value ?? \"-\"}\n \n \n \n ))}\n \n\n \n \n \n \n \n\n \n \n Cancel\n \n window.print()}\n onClick={() => {\n printHandler();\n setIsPrintWindowOpen(true);\n }}\n >\n Print\n \n \n
\n );\n}\n\nexport default QRCodeWithData;\n","import React, { useState, useEffect } from \"react\";\n\nimport QRCodeWithData from \"components/qr_code_with_data\";\nimport MRODialog from \"components/MRODialog\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { removeSecFromDateTime } from \"lib/utils/helperFunctions\";\n\nfunction PrintLable(props) {\n const { open, handleClose, id } = props;\n\n const [barcodeData, setBarcodeData] = useState({});\n\n const [loading, setLoading] = useState(false);\n\n const getBarcodeData = async () => {\n try {\n setLoading(true);\n const response = await MaintenanceServices.getBarcodeData({\n workshop_order_id: id,\n });\n setBarcodeData(response ?? {});\n } catch (error) {\n console.log(error);\n } finally {\n setLoading(false);\n }\n };\n\n useEffect(() => {\n getBarcodeData();\n }, [id]);\n\n const data = [\n {\n label: \"Order Ref\",\n value: barcodeData.order_ref,\n },\n {\n label: \"Part #\",\n value: barcodeData.part,\n },\n {\n label: \"Serial #\",\n value: barcodeData.serial,\n },\n {\n label: \"Description\",\n value: barcodeData.description,\n },\n {\n label: \"Customer\",\n value: barcodeData.customer,\n },\n {\n label: \"Customer Ref\",\n value: barcodeData.customer_ref,\n },\n {\n label: \"Booked In\",\n value: removeSecFromDateTime(barcodeData.bookedIn),\n },\n ];\n\n const qrData = {\n orderRef: barcodeData.order_ref,\n partNo: barcodeData.part,\n serialNo: barcodeData.serial,\n desc: barcodeData.description,\n customer: barcodeData.customer,\n customerRef: barcodeData.customer_ref,\n bookedIn: barcodeData.bookedIn,\n reportable_type: \"WorkshopOrder\",\n reportable_id: `${id}`\n\n };\n\n return (\n \n \n \n );\n}\n\nexport default PrintLable;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport { Typography, Grid, Box, CircularProgress } from \"@material-ui/core\";\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from \"components/buttons\";\nimport QrCodeIcon from \"assets/icons/qr-code.png\";\nimport PrintLable from \"./PrintLable\";\nimport {\n removeSecFromDateTime,\n validateFormData,\n} from \"lib/utils/helperFunctions\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\nimport lock from \"../../../../../assets/icons/Lock.svg\";\nimport unlock from \"../../../../../assets/icons/Unlock.svg\";\n\nimport moment from \"moment\";\nimport { WorkshopContext } from \"../../WorkshopContext/WorkshopContext\";\n\nconst Styles = {\n svg: {\n filter: \"invert(1)\",\n height: 18,\n marginBottom: 2,\n },\n};\n\nfunction AwayFromBase(props) {\n const message = useContext(ToastMessageContext);\n\n const {\n data,\n inductionDetails,\n getInductionList,\n editTab,\n setEditTab,\n access,\n orderStateNum,\n tabStatus,\n closeTabStatus,\n getWorkshopOrderDetails,\n setIsGettingDetails,\n isGettingDetails\n } = props;\n\n // const [editTab, setEditTab] = useState(false);\n const [disabled, setDisabled] = useState(true);\n const [closeTab, setCloseTab] = useState(true);\n const [action, setAction] = useState(null);\n const { editButton, setEditButton} =\n useContext(WorkshopContext);\n const [busy, setBusy] = useState(null);\n const [errors, setErrors] = useState({});\n\n const [fieldsData, setFieldsData] = useState({\n complete_by_stamp: null,\n date_time_away_base: null,\n comments: null,\n });\n\n useEffect(() => {\n setFieldsData({\n complete_by_stamp: inductionDetails.complete_by_stamp,\n date_time_away_base: inductionDetails.date_time_away_base,\n comments: inductionDetails.comments,\n });\n }, [inductionDetails]);\n\n const handleCloseTab = () =>{\n getInductionList()\n getWorkshopOrderDetails();\n setEditTab(!editTab)\n setDisabled(!disabled);\n }\n\n const handleTab = () => {\n setEditButton(true)\n setEditTab(!editTab);\n setDisabled(!disabled);\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n const formData = new FormData(e.target);\n\n const { valid, error } = validateFormData(formData);\n\n if (!valid) {\n setErrors(error);\n return;\n }\n\n formData.set(\n \"date_time_away_base\",\n moment(fieldsData.date_time_away_base, \"DD/MM/YYYY HH:mm:ss\").format(\n \"YYYY-MM-DD HH:mm:ss\"\n )\n );\n\n formData.append(\"completed_by\", inductionDetails?.completed_by);\n if(closeTab)\n {\n formData.append(\"edit_tab\", true);\n }\n setBusy(\"loading\");\n try {\n const response = await MaintenanceServices.updateAwayFromBase(\n formData,\n data.induction_id\n );\n\n if (response.success) {\n message.showToastMessage({\n message: \"Updated Successfully!\",\n variant: \"success\",\n });\n handleCloseTab()\n } else {\n message.showToastMessage({\n message:\n response.error.length > 0\n ? response.error?.join(\", \")\n : \"Something went wrong!\",\n variant: \"error\",\n });\n }\n\n setBusy(null);\n } catch (error) {\n setBusy(\"error\");\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }\n };\n\n const handleEditAPiCall = async () => {\n setIsGettingDetails(true);\n const param = {\n workshop_order_id:data?.id,\n tab:\"induction\"\n };\n await MaintenanceServices.editButton(param)\n .then((res) => {\n if (res.success) {\n getWorkshopOrderDetails();\n setEditButton(!editButton);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setBusy(null);\n })\n .finally(() => {\n setBusy(null);\n setIsGettingDetails(false);\n });\n };\n\n useEffect(() => {\n if (editButton) {\n handleEditAPiCall();\n }\n }, [editButton])\n\n if (isGettingDetails) {\n return (\n \n \n \n );\n }\n\n return (\n
\n \n \n Away From Base Checks\n \n \n
\n \n \n \n \n \n \n \n \n \n {\n const value = event.target.value;\n setFieldsData((prevState) => ({\n ...prevState,\n comments: value,\n }));\n setErrors((e) => ({ ...e, comments: false }));\n }}\n >\n \n\n \n \n QR Label\n \n setAction(\"qr_code\")}\n >\n \n Print Label\n \n \n \n {orderStateNum > 1 && orderStateNum <= 8 && tabStatus && (\n handleTab()}\n startIcon={\"lock\"}\n >\n Edit Tab\n \n )}\n\n {orderStateNum > 1 && closeTabStatus === 2 && (\n }\n onClick={()=> setCloseTab(true)}\n >\n Close Tab\n \n )}\n \n
\n {action === \"qr_code\" && (\n setAction(null)}\n id={data.id}\n />\n )}\n
\n );\n}\n\nexport default AwayFromBase;\n","import React, { useContext, useMemo, useState } from \"react\";\nimport {\n Typography,\n makeStyles,\n Grid,\n Box,\n MenuItem,\n CircularProgress,\n IconButton,\n} from \"@material-ui/core\";\nimport MROTextField from \"components/form_components/TextField\";\nimport QrCodeIcon from \"assets/icons/qr-code.png\";\nimport MROButton from \"components/buttons\";\nimport UploadButton from \"components/form_components/upload_multiple\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport { useEffect } from \"react\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport {\n fixedInputValueTo2DecimalPlaces,\n removeSecFromDateTime,\n validateFormData,\n} from \"lib/utils/helperFunctions\";\nimport YesNoField from \"components/form_components/YesNoField\";\nimport PrintLable from \"./PrintLable\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\nimport lock from \"../../../../../assets/icons/Lock.svg\";\nimport unlock from \"../../../../../assets/icons/Unlock.svg\";\n\nimport moment from \"moment\";\nimport { WorkshopContext } from \"../../WorkshopContext/WorkshopContext\";\nimport ManageAddress from \"../../Release/AddAddress\";\nimport Add from \"@material-ui/icons/Add\";\n\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n width: \"85%\",\n margin: \"1% 3%\",\n },\n underline: {\n \"&&&:before\": {\n borderBottom: \"none\",\n },\n \"&&:after\": {\n borderBottom: \"none\",\n },\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n fileView: {\n backgroundColor: \"#ffffff\",\n padding: \"45px\",\n border: \"1px solid gray\",\n borderRadius: \" 8px\",\n marginBottom: \"12px\",\n },\n viewOnlyField: {\n pointerEvents: \"none\",\n background: \"#F5F5F5\",\n },\n\n svg: {\n filter: \"invert(1)\",\n height: 18,\n marginBottom: 2,\n },\n}));\n\nconst numFields = [\"weight\", \"length\", \"width\", \"height\"];\n\nexport default function Induction(props) {\n const classes = useStyles();\n const {\n data,\n inductionDetails,\n getInductionList,\n isGettingDetails,\n editTab,\n setEditTab,\n access,\n getHeaderDetails,\n orderStateNum,\n tabStatus,\n closeTabStatus,\n getWorkshopOrderDetails,\n setIsGettingDetails,\n } = props;\n const [value, setValue] = useState(null);\n // const [editTab, setEditTab] = useState(false);\n const [disabled, setDisabled] = useState(true);\n const [aogUpdate, setAogUpdate] = useState();\n const [errors, setErrors] = useState({});\n const message = useContext(ToastMessageContext);\n const { editButton, setEditButton } =\n useContext(WorkshopContext);\n const [action, setAction] = useState(null);\n const [busy, setBusy] = useState(null);\n const [closeTab, setCloseTab] = useState(false);\n const [customerOrderDoc, setCustomerOrderDoc] = useState([]);\n const [shippingFiles, setShippingFiles] = useState([]);\n const [itemConditionFiles, setItemConditionFiles] = useState([]);\n const [partSerialFiles, setPartSerialFiles] = useState([]);\n const [vehicleList, setVehicleList] = useState([])\n const [customerAddress, setCustomerAddress] = useState([])\n const [filesCus, setFilesCus] = useState([])\n const [addressAction, setAddAction] = useState(null);\n const [selectedAddress, setSelectedAddress] = useState(null)\n const [selectedAddressDetails, setSelectedDetailsAddress] = useState(null)\n const [distance, setDistance] = useState(0)\n\n const [fieldsData, setFieldsData] = useState({\n receipt_by_stamp: null,\n scheduled_date: null,\n arrival_condition: null,\n weight: null,\n length: null,\n width: null,\n height: null,\n physical_check_status: null,\n aog_status: null,\n customer_order_number: null,\n secondary_customer_ref: null,\n receipt_type: null,\n receipt_cost: null,\n collection_address_id: null,\n vehicles_id: null\n\n });\n const onChangeHandler = (e) => {\n const name = e.target.name;\n const value = numFields.includes(name)\n ? fixedInputValueTo2DecimalPlaces(e.target.value)\n : e.target.value;\n\n resetErrorsHandler(name);\n setFieldsData((prevState) => ({ ...prevState, [name]: value }));\n };\n\n useEffect(() => {\n let tempData = {};\n Object.keys(inductionDetails).forEach((key) => {\n tempData[key] = inductionDetails[key];\n });\n\n if (!Object.keys(inductionDetails).length) {\n tempData[\"secondary_customer_ref\"] = data?.secondary_customer_ref;\n tempData[\"customer_order_number\"] = data[\"cus-ref\"];\n }\n\n setFieldsData(tempData);\n setValue(\n inductionDetails.physical_check_status === true\n ? \"yes\"\n : inductionDetails.physical_check_status === false\n ? \"no\"\n : null\n );\n\n const aogStatus = inductionDetails?.aog_status ?? data.aog_status;\n\n setAogUpdate(\n aogStatus === true ? \"yes\" : aogStatus === false ? \"no\" : null\n );\n }, [inductionDetails]);\n\n\n const handleCloseTab = () => {\n getInductionList()\n getWorkshopOrderDetails();\n setEditTab(!editTab)\n setDisabled(!disabled);\n }\n\n\n const getVehicleList = () => {\n MaintenanceServices.getVehicleList().then((res) => {\n setVehicleList(res.data)\n }).catch(() => {\n\n })\n\n\n }\n\n const getCustomerAddress = () => {\n const param = {\n workshop_order_id: data?.id,\n };\n MaintenanceServices.getCustomerAddress(param).then((res) => {\n if (res.success) {\n setCustomerAddress(res.data)\n if (selectedAddress !== null) {\n\n setFieldsData({ ...fieldsData, collection_address_id: selectedAddress })\n }\n\n }\n }).catch(() => {\n\n })\n\n }\n\n useEffect(() => {\n getVehicleList()\n }, [])\n\n useEffect(() => {\n\n getCustomerAddress()\n }, [])\n\n useEffect(() => {\n\n if (selectedAddressDetails !== null && selectedAddressDetails !== undefined && data !== undefined) {\n const service = new window.google.maps.DistanceMatrixService();\n\n // latitude if needed\n const origin1 = { lat: parseFloat(`${data?.base_station_latitude}`), lng: parseFloat(`${data?.base_station_longitude}`) };\n const destinationB = { lat: parseFloat(`${selectedAddressDetails?.latitude}`), lng: parseFloat(`${selectedAddressDetails?.longitude}`) };\n //address\n const origin2 = `${data?.base_station_address}`;\n const destinationA = `${selectedAddressDetails?.address}`;\n\n const request = {\n origins: [origin2],\n destinations: [destinationA],\n travelMode: window.google.maps.TravelMode.DRIVING,\n unitSystem: window.google.maps.UnitSystem.IMPERIAL,\n avoidHighways: false,\n avoidTolls: false,\n };\n // The total distance of this route, expressed in meters (value) and as text. The textual value is formatted according to the unitSystem specified in the request (or in metric, if no preference was supplied).\n service.getDistanceMatrix(request).then((response) => {\n\n if (response?.rows[0].elements[0].status === \"OK\") {\n // const string = response.rows[0].elements[0].distance.text\n // let string1 = string.split(\" \")\n // setDistance(string1[0])\n let string2 = response.rows[0].elements[0].distance.value\n setDistance(string2)\n }\n else {\n setDistance(0)\n }\n\n }).catch((err) => {\n console.log(\"could not find placess\")\n })\n }\n\n\n }, [selectedAddressDetails])\n\n useEffect(() => {\n if (fieldsData.collection_address_id !== null && customerAddress.length > 0) {\n let address = customerAddress.filter((item) => item.id === fieldsData.collection_address_id)\n\n setSelectedDetailsAddress(address[0])\n }\n }, [fieldsData])\n\n const handleEditAPiCall = async () => {\n setIsGettingDetails(true);\n const param = {\n workshop_order_id: data?.id,\n tab: \"induction\"\n };\n await MaintenanceServices.editButton(param)\n .then((res) => {\n if (res.success) {\n getWorkshopOrderDetails();\n setEditButton(!editButton);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setBusy(null);\n })\n .finally(() => {\n setBusy(null);\n setIsGettingDetails(false);\n });\n };\n\n useEffect(() => {\n if (editButton) {\n handleEditAPiCall();\n }\n }, [editButton])\n\n const handleTab = () => {\n setEditButton(true)\n setEditTab(!editTab);\n setDisabled(!disabled);\n };\n const handleToggle = (value) => {\n setValue(value);\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const submitHandler = async (e) => {\n e.preventDefault();\n\n const formData = new FormData(e.target);\n\n const { error, valid } = validateFormData(formData, [\n \"secondary_customer_ref\",\n ]);\n\n shippingFiles.forEach((file) =>\n formData.set(\"shipping_condition_photo[]\", file)\n );\n itemConditionFiles.forEach((file) =>\n formData.set(\"item_condition_photo[]\", file)\n );\n partSerialFiles.forEach((file) => formData.set(\"plate_photo[]\", file));\n\n if (\n customerOrderDoc.length === 0 &&\n !inductionDetails?.customer_order_doc?.length\n ) {\n setErrors((er) => ({ ...er, customer_order_doc: true }));\n }\n\n if (\n (!valid && !disabled) ||\n (customerOrderDoc.length === 0 &&\n !inductionDetails?.customer_order_doc?.length)\n ) {\n setErrors((err) => ({ ...err, ...error }));\n return;\n }\n customerOrderDoc.forEach((file) => {\n formData.append(\"customer_order_doc[]\", file)\n // console.log(\"customer order doc\", file)\n }\n );\n if (fieldsData.receipt_type === \"mro_collect\") {\n\n formData.append(\"collection_distance\", distance)\n }\n // const cusOrder = [];\n // customerOrderDoc.forEach((_, i) => {\n // cusOrder[i] = Array.from(customerOrderDoc[i]);\n // cusOrder[i].forEach((file) =>\n // formData.append(\"customer_order_doc[]\", file)\n // );\n // });\n\n formData.append(\"workshop_order_id\", inductionDetails?.workshop_order_id);\n // formData.delete(\"date_time_good_in\");\n formData.delete(\"date\");\n formData.set(\n \"date\",\n moment(inductionDetails?.date, \"DD/MM/YYYY HH:mm:ss\").format(\n \"YYYY-MM-DD HH:mm:ss\"\n )\n );\n formData.set(\n \"date_time_good_in\",\n moment(inductionDetails?.date_time_good_in, \"DD/MM/YYYY HH:mm:ss\").format(\n \"YYYY-MM-DD HH:mm:ss\"\n )\n );\n formData.append(\"induction_tab_style\", 1);\n formData.append(\"receipt_by\", inductionDetails?.receipt_by);\n if (closeTab) {\n formData.append(\"edit_tab\", true)\n }\n setBusy(\"loading\");\n if (addressAction === null) {\n try {\n const response = await MaintenanceServices.updateInductionTabData(\n formData,\n data.induction_id\n );\n if (response.success) {\n getHeaderDetails();\n getInductionList();\n handleCloseTab();\n setFilesCus(response.data.customer_order_doc)\n message.showToastMessage({\n message: \"Updated Successfully!\",\n variant: \"success\",\n });\n } else {\n message.showToastMessage({\n message:\n response.error.length > 0\n ? response.error?.join(\", \")\n : \"Something went wrong!\",\n variant: \"error\",\n });\n }\n console.table(\"response\", response);\n setBusy(null);\n } catch (error) {\n setBusy(\"error\");\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }\n }\n };\n\n const deleteFileHandler = async (id) => {\n setBusy(\"file-deleting\");\n try {\n const response = await MaintenanceServices.deleteFile(id);\n\n if (response.success) {\n message.showToastMessage({\n message: \"File deleted successfully\",\n variant: \"success\",\n });\n getInductionList();\n }\n setBusy(null);\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"file-deleting-error\");\n }\n };\n\n const customerOrderFiles = useMemo(() => {\n const files = !Object.keys(inductionDetails).length\n ? data?.customer_order_doc\n : inductionDetails?.customer_order_doc;\n\n return files?.map((file) => ({\n name: file.file_name,\n url: file.path,\n }));\n }, [data, inductionDetails]);\n\n if (isGettingDetails) {\n return (\n \n \n \n );\n }\n\n return (\n
\n
\n \n \n Receipt\n \n \n \n \n \n \n \n {/* */}\n \n \n\n \n \n \n Select\n \n Customer Delivery\n MRO Collect\n MRO Arranged 3rd Party Agent\n\n \n \n \n \n\n {fieldsData.receipt_type === \"mro_collect\" &&\n <>\n \n \n Select\n {vehicleList.map((item) =>\n {item.registration}\n\n )}\n \n \n\n \n \n Select\n {customerAddress.map((item) =>\n {item.address}\n\n )}\n \n \n \n {disabled ? \"\" : {\n setAddAction(\"create\")\n }}>}\n\n \n }\n {fieldsData.receipt_type === \"mro_arranged_third_party_agent\" && \n \n }\n \n \n \n Shipping Details\n \n \n \n \n \n \n Select\n \n Excellent\n Good\n Fair\n Poor\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n Shipping Condition Photos\n \n \n\n
\n ({\n filename: item?.file_name,\n url: `${item?.file_path}`,\n id: item?.id,\n }))\n : \"\"\n }\n accept={\"multiple\"}\n setFiles={setShippingFiles}\n APIUrl={\"\"}\n uploadButtonView={editTab === false}\n multiple={true}\n name={\"shipping_condition_photo[]\"}\n action={\"Upload Document\"}\n id=\"shipping_condition_photo[]\"\n onDelete={disabled ? null : deleteFileHandler}\n isDeleting={busy === \"file-deleting\"}\n />\n
\n\n \n \n Item Details\n \n \n\n \n \n \n Item Condition Photos\n \n \n \n\n ({\n filename: item?.file_name,\n url: `${item?.file_path}`,\n id: item?.id,\n }))\n : \"\"\n }\n APIUrl={\"\"}\n uploadButtonView={editTab === false}\n multiple={true}\n name={\"item_condition_photo[]\"}\n setFiles={setItemConditionFiles}\n action={\"Upload Document\"}\n id=\"item_condition_photo[]\"\n onDelete={disabled ? null : deleteFileHandler}\n isDeleting={busy === \"file-deleting\"}\n accept={\"multiple\"}\n />\n\n \n resetErrorsHandler(\"physical_check_status\")}\n />\n \n\n \n \n \n Part / Serial / Data plate photos:\n \n \n \n\n ({\n filename: item?.file_name,\n url: `${item?.file_path}`,\n id: item?.id,\n }))\n : \"\"\n }\n APIUrl={\"\"}\n uploadButtonView={editTab === false}\n multiple={true}\n setFiles={setPartSerialFiles}\n name={\"plate_photo[]\"}\n action={\"Upload Document\"}\n id=\"plate_photo[]\"\n onDelete={disabled ? null : deleteFileHandler}\n isDeleting={busy === \"file-deleting\"}\n accept={\"multiple\"}\n />\n\n \n \n Order Details\n \n \n \n \n \n \n \n \n \n \n \n setAogUpdate(val)}\n value={aogUpdate}\n error={errors.aog_status}\n setError={() => resetErrorsHandler(\"aog_status\")}\n />\n \n \n \n\n \n \n \n \n Customer Order Doc *\n \n \n ({\n filename: item?.file_name,\n url: `${item?.file_path}`,\n id: item?.id,\n }))\n : \"\"\n }\n accept={\"multiple\"}\n APIUrl={''}\n uploadButtonView={editTab === false}\n multiple={true}\n setFiles={(files) => {\n setCustomerOrderDoc(files);\n resetErrorsHandler(\"customer_order_doc\", false);\n }}\n name={\"customer_order_doc[]\"}\n label=\"\"\n action={\"Upload Document\"}\n onDelete={disabled ? null : deleteFileHandler}\n isDeleting={busy === \"file-deleting\"}\n\n />\n {errors.customer_order_doc && editTab ? *Please upload customer order document : ''}\n {/* 0 ? filesCus.map((file) => ({\n name: file.file_name,\n url: file.file_path,\n })) :\n data?.customer_order_doc?.map((file) => ({\n name: file.file_name,\n url: file.file_path,\n }))}\n // defaultValue={customerOrderFiles}\n error={errors.customer_order_doc}\n name={\"customer_order_doc[]\"}\n label=\"Customer Order Doc *\"\n setFiles={(files) => {\n setCustomerOrderDoc(files);\n resetErrorsHandler(\"customer_order_doc[]\");\n }}\n /> */}\n \n \n\n \n \n QR Label\n \n setAction(\"qr_code\")}\n >\n \n Print Label\n \n \n\n \n {orderStateNum > 1 && orderStateNum <= 8 && tabStatus && props?.permission.write &&\n handleTab()}\n startIcon={\"lock\"}\n >\n Edit Tab\n }\n\n {orderStateNum > 1 && closeTabStatus === 2 && props?.permission.write && (\n \n }\n onClick={() => setCloseTab(true)}\n >\n Close Tab\n )}\n\n {action === \"qr_code\" && (\n setAction(null)}\n id={data.id}\n />\n )}\n {addressAction && addressAction === \"create\" && (\n setAddAction(null)}\n workshopDetails={data}\n setSelectedAddress={setSelectedAddress}\n getCustomerAddress={getCustomerAddress}\n\n />\n )}\n \n \n
\n );\n}\n","import React, { useState } from \"react\";\n\nimport { Grid, Typography } from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport QrCodeIcon from \"assets/icons/qr-code.png\";\nimport PrintLable from \"./PrintLable\";\n\nfunction NoGoodsIn({data}) {\n\n const [action, setAction] = useState(null);\n\n return (\n
\n \n \n QR Label\n \n setAction(\"qr_code\")}\n >\n \n Print Label\n \n \n\n {action === \"qr_code\" && (\n setAction(null)}\n id={data.id}\n />\n )}\n
\n );\n}\n\nexport default NoGoodsIn;\n","import React, { useContext, useEffect, useState } from \"react\";\n\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport AwayFromBase from \"./AwayFromBase\";\nimport Induction from \"./Induction\";\nimport NoGoodsIn from \"./NoGoodsIn\";\nimport { WorkshopContext } from \"../../WorkshopContext/WorkshopContext\";\n\nfunction RenderInductionTab({\n data,\n readAndWrite,\n readOnly,\n getHeaderDetails,\n orderStateNum,\n tabStatus,\n closeTabStatus,\n getWorkshopOrderDetails,\n permission\n}) {\n const message = useContext(ToastMessageContext);\n\n const { setState } = useContext(WorkshopContext);\n\n const { shouldTabDataUpdate, setShouldTabDataUpdate } =\n useContext(WorkshopContext);\n\n const [editTab, setEditTab] = useState(false);\n const [access, setAccess] = useState({ read: false, write: true });\n\n useEffect(() => {\n setState((ps) => ({ ...ps, isEditing: editTab, tab: \"induction\" }));\n\n return () => setState((ps) => ({ ...ps, tab: null }));\n }, [editTab]);\n\n useEffect(() => {\n if (readOnly) {\n setAccess({ read: true, write: false });\n return;\n }\n\n if (readAndWrite) {\n setAccess({ read: false, write: true });\n return;\n }\n }, [readAndWrite, readOnly]);\n\n const [inductionDetails, setInductionDetails] = useState({});\n\n const [isGettingDetails, setIsGettingDetails] = useState(false);\n\n const getInductionList = async () => {\n if (data.induction_id) {\n setIsGettingDetails(true);\n await MaintenanceServices.getInduction(data.induction_id)\n .then((res) => {\n setInductionDetails(res.data);\n setShouldTabDataUpdate(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setIsGettingDetails(false);\n });\n }\n };\n\n useEffect(() => {\n getInductionList();\n }, [data.induction_id]);\n\n useEffect(() => {\n if (shouldTabDataUpdate) {\n getInductionList();\n }\n }, [shouldTabDataUpdate]);\n\n const _props = {\n data,\n inductionDetails,\n getInductionList,\n isGettingDetails,\n editTab,\n setEditTab,\n access,\n getHeaderDetails,\n orderStateNum,\n tabStatus,\n closeTabStatus,\n getWorkshopOrderDetails,\n setIsGettingDetails,\n permission\n };\n\n switch (data.induction_tab_style) {\n case 1:\n return ;\n\n case 2:\n return ;\n\n case 3:\n return ;\n\n default:\n return null;\n }\n}\n\nexport default RenderInductionTab;\n","import * as React from \"react\";\n\nimport { Box } from \"@material-ui/core\";\n\nimport RenderInductionTab from \"./Index\";\n\nexport default function TabComponent(props) {\n return (\n \n \n \n );\n}\n","import React, { useReducer } from \"react\";\nimport { Box, Dialog, DialogContent, DialogTitle, Grid, IconButton, InputAdornment, makeStyles, Paper, Table, TableBody, TableCell, TableContainer, TableFooter, TableHead, TablePagination, TableRow, useTheme } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\nimport PropTypes from 'prop-types';\n// import tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport MROTextField from \"components/form_components/TextField\";\nimport SearchIcon from '@material-ui/icons/Search';\nimport LastPageIcon from '@material-ui/icons/LastPage';\nimport FirstPageIcon from '@material-ui/icons/FirstPage';\nimport { KeyboardArrowRight, KeyboardArrowLeft } from \"@material-ui/icons\";\nimport _ from \"lodash\";\nimport { useState } from \"react\";\n\n\n\n\nexport default function PartNumberTable(props) {\n const { currentSelection, data, handleClose, busy } = props;\n\n const classes = useStyles();\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(5);\n const [filteredFn, setFilteredFn] = useState({ fn: items => { return items } });\n\n// console.log(\"filtered function is=============\", filteredFn)\n\n let partNum = currentSelection?.part_number?.split(\",\")\n // let partNumber = new Array({ ...partNum })\n\n TablePaginationActions.propTypes = {\n count: PropTypes.number,\n page: PropTypes.number,\n rowsPerPage: PropTypes.number\n }\n\n // Avoid a layout jump when reaching the last page with empty rows.\n const emptyRows =\n page > 0 ? Math.max(0, (1 + page) * rowsPerPage - partNum?.length) : 0;\n\n const handleChangePage = (event, newPage) => {\n setPage(parseInt(newPage));\n };\n\n const handleChangeRowsPerPage = (\n event\n ) => {\n setRowsPerPage(parseInt(+event.target.value, 10));\n setPage(0);\n };\n\n function TablePaginationActions(props) {\n const theme = useTheme();\n const { count, page, rowsPerPage, onPageChange } = props;\n\n const handleFirstPageButtonClick = (\n event\n ) => {\n onPageChange(+event, 0);\n };\n\n const handleBackButtonClick = (event) => {\n onPageChange(+event, page - 1);\n };\n\n const handleNextButtonClick = (event) => {\n onPageChange(+event, page + 1);\n };\n\n const handleLastPageButtonClick = (event) => {\n onPageChange(+event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\n };\n\n return (\n \n \n {theme.direction === 'rtl' ? : }\n \n \n {theme.direction === 'rtl' ? : }\n \n = Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"next page\"\n >\n {theme.direction === 'rtl' ? : }\n \n = Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"last page\"\n >\n {theme.direction === 'rtl' ? : }\n \n \n );\n }\n\n const handleSearch = (e) => {\n let target = e.target\n setFilteredFn({\n fn: items => {\n if (target.value === \"\")\n return items;\n else {\n return items.filter(x => x.toLowerCase().includes(target.value))\n }\n\n }\n })\n }\n\n return (\n \n \n Applicable Part Numbers\n \n \n \n {\n handleSearch(e); \n setPage(0);\n }}\n placeholder=\"Search Anything\"\n InputLabelProps={{ shrink: true }}\n variant=\"standard\"\n type=\"search\"\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n \n\n \n
\n \n \n \n \n Part #\n \n \n \n {(rowsPerPage > 0\n ? filteredFn.fn(partNum)?.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n : partNum\n )?.map((row) => (\n \n \n {row}\n \n \n ))}\n {emptyRows > 0 && (\n \n \n \n )}\n \n
\n
\n \n {partNum?.length !== 0 &&\n }\n \n
\n
\n
\n \n );\n}\n\nconst useStyles = makeStyles((theme) => ({\n bodyText: {\n fontSize: 20,\n lineHeight: \"28px\",\n },\n}));\n","import React, { useEffect, useReducer, useContext } from \"react\";\nimport { makeStyles, useTheme } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\nimport { Box } from \"@material-ui/core\";\nimport MaterialTable from \"material-table\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, {\n options,\n} from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport StatusDot from \"components/status_dots\";\nimport ScopeDialog from \"views/Compliance/Approvals/Capability/ScopeDialog\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\n\nexport default function ScopePopup(props) {\n const { open, currentSelection, handleClose, } = props;\n\n const message = useContext(ToastMessageContext);\n const classes = useStyles();\n\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, searchText, data, inProgress } = tableState;\n\n\n const GetInfoCard = (props) => {\n\n const theme = useTheme();\n\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n };\n\n\n useEffect(() => {\n getList(currentSelection?.id)\n }, [page, pageSize, searchText])\n\n const getList = (id) => {\n const params = {\n page: page + 1,\n count_per_page: pageSize,\n id: id,\n searchText: searchText,\n };\n\n TableAction.getList(dispatch, message, params, \"capabilitiesEngineTask\");\n };\n\n // tableOptions\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: true,\n toolbar: true,\n paging: true,\n headerStyle: {\n textAlign: \"center\",\n paddingTop: \"22px\",\n paddingBottom: \"16px\",\n },\n };\n\n const columns = [\n {\n title: '',\n field: 'id',\n width: '4%',\n render: rowData =>  ,\n editable: 'never'\n },\n {\n title: \"Tech Data Ref\",\n field: \"tech_data_ref\",\n headerStyle: {\n textAlign: \"left\"\n },\n cellStyle: {\n textAlign: \"left\"\n }\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\"\n },\n cellStyle: {\n textAlign: \"left\"\n }\n },\n ];\n\n return (\n
\n \n \n \n \n Detail\n \n\n \n\n \n\n\n \n \n
\n \n \n \n \n \n\n
\n
\n \n \n \n Scope\n \n \n\n\n \n Task Scope}\n icons={tableIcons}\n columns={columns}\n data={data.data || []}\n options={tableOptions}\n localization={{\n toolbar: {\n searchPlaceholder: \"Search anything\",\n },\n body: {\n emptyDataSourceMessage: \"No scopes Found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n isLoading={inProgress}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n
\n );\n}\n\nconst useStyles = makeStyles((theme) => ({\n bodyText: {\n fontSize: 20,\n // lineHeight: \"28px\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n}));\n","import React, { useContext, useEffect, useReducer, useCallback } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport {\n Box,\n FormControl,\n Grid,\n InputBase,\n MenuItem,\n Select,\n} from \"@material-ui/core\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport MaterialTable from \"material-table\";\nimport TableAction from \"actions/table_actions\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TouchAppIcon from \"@material-ui/icons/TouchApp\";\nimport { useState } from \"react\";\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport BoxrTableAction from \"actions/boxr_table_actions\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport useDebounce from \"lib/utils/debounce\";\nimport { BASE_API_URL_BOXR } from \"lib/constants\";\nimport PdfIcon from \"assets/pdf.png\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport { Visibility as ViewIcon } from \"@material-ui/icons\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport PartNumberTable from \"./PartNumberTable\";\nimport ScopePopup from \"./ScopePopup\";\nimport CapabilityServices from \"lib/services/api/compliance/capability_client\";\nimport TechData from \"views/Compliance/Approvals/Capability/TechData\";\nimport DataService from \"lib/services/api\";\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n padding: \"4px\",\n textAlign: \"center\",\n },\n offgoingchecksTable: {\n \"& td, th \": {\n border: \"1px solid #dddddd\",\n textAlign: \"left\",\n padding: \"8px\",\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n offgoingchecksTable: {\n \"& td, th \": {\n border: \"1px solid #dddddd\",\n textAlign: \"left\",\n padding: \"8px\",\n },\n },\n },\n\n logo: {\n height: \"76px\",\n },\n filePreviewContainer: {\n maxWidth: \"130px\",\n marginRight: \"30px\",\n },\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n checksAppBar: {\n backgroundColor: \"lightgray\",\n color: theme.palette.secondary.main,\n boxShadow: \"0px 3px 6px gray\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n generalDetail: {\n backgroundColor: \"white\",\n padding: \"2%\",\n color: \"#fff\",\n borderRadius: \"5px 5px 0 0\",\n },\n content: {\n backgroundColor: \"#fff\",\n padding: \"3% 6%\",\n borderRadius: \"0 0 5px 5px\",\n minHeight: \"50vh\",\n \"& h4\": {\n padding: \"5px 0\",\n },\n },\n titleTile: {\n padding: \"3px 20px\",\n fontSize: \"13px\",\n fontWeight: 500,\n marginBottom: \"20px\",\n },\n pdfFile: {\n border: \"1px solid #ccc\",\n display: \"inline-block\",\n padding: \"10px\",\n borderRadius: \"5px\",\n position: \"relative\",\n },\n pdfIcon: {\n position: \"absolute\",\n top: \"8px\",\n left: \"5px\",\n color: \"#ff414f\",\n },\n pdfName: {\n color: \"#707070\",\n },\n}));\n\nfunction SearchCapability(props) {\n const classes = useStyles();\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { handleClose } = props;\n const [currentSelection, setCurrentSelection] = useState([]);\n const message = useContext(ToastMessageContext);\n const [action, setAction] = useState(null);\n const [platformList, setPlatformList] = useState([]);\n const [selectedPlatform, setSelectedPlatform] = useState(null);\n const [searchText, setSearchText] = useState(\"\");\n const debouncedVal = useDebounce(searchText);\n const { page, totalCount, pageSize, inProgress, data } = tableState;\n const [filterData, setFilterData] = useState({})\n const [dependencyList, setFetchDependencyList] = useState([]);\n const [busy, setBusy] = useState(null);\n const [ataChapters, setAtaChapters] = useState([]);\n\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n toolbar: false,\n searchText: searchText,\n };\n\n useEffect(() => {\n getAllCapability();\n }, [pageSize, page, searchText, debouncedVal, selectedPlatform, filterData]);\n\n const getAllCapability = () => {\n const params = {\n search_keyword: debouncedVal,\n count_per_page: pageSize,\n page: page + 1,\n platform_id: selectedPlatform,\n status: \"Active\",\n ...filterData\n };\n BoxrTableAction.getList(dispatch, message, params, \"fetchCapabiity\");\n };\n\n const handleAction = (rowData) => {\n props.func(rowData?.reference_data, rowData?.id);\n setAction(\"capability\");\n setCurrentSelection(rowData);\n };\n\n const getAtaChapters = useCallback(\n () => {\n let params = {\n\n }\n DataService.getData(params, 'listingATAChapter').then(res => {\n setAtaChapters(res.data.map(d => ({\n id: d.ata_chapter_id,\n name: d.chapter_number\n })))\n }).catch(err => {\n\n })\n },\n [],\n )\n\n\n const getfetchDependency = () => {\n setBusy(\"loading-platform\");\n const params = {\n organisation_id: getOrganisationId()\n }\n CapabilityServices.getFetchDependency(params)\n .then((data) => {\n if (data) {\n setFetchDependencyList(data);\n }\n setBusy(null);\n })\n .catch((err) => {\n console.log(\"platform api failed\", err);\n setBusy(\"platform-error\");\n });\n };\n\n useEffect(() => {\n getfetchDependency();\n getAtaChapters()\n }, [action]);\n\n useEffect(() => {\n if (action && action === \"capability\") {\n handleClose();\n }\n }, [currentSelection]);\n\n const columns = [\n {\n title: \"Ref #\",\n field: \"reference_data\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"10%\",\n },\n },\n {\n title: \"Type\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n\n },\n render: (rowData) =>\n rowData?.capability_type ? {rowData.capability_type.name} : \"-\",\n\n },\n {\n title: \"OEM / D-Org\",\n field: \"oem\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n\n },\n },\n {\n title: \"Platform\",\n field: \"platform_names\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"10%\",\n },\n },\n {\n title: \"Part #\",\n field: \"part_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"10%\",\n },\n render: (rowData) => (\n \n {\n setAction(\"part_number\");\n setCurrentSelection(rowData);\n }}\n >\n \n \n \n ),\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n width: \"30%\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"30%\",\n },\n },\n {\n title: \"Tech Data\",\n headerStyle: {\n textAlign: \"center\",\n\n },\n cellStyle: {\n textAlign: \"center\",\n\n },\n render: (rowData) => (\n {\n setCurrentSelection(rowData)\n setAction(\"tech_data\")\n }}\n size=\"small\"\n >\n \n \n ),\n },\n {\n title: \"Detail\",\n headerStyle: {\n textAlign: \"center\",\n\n },\n cellStyle: {\n textAlign: \"center\",\n\n },\n render: (rowData) => (\n {\n setCurrentSelection(rowData)\n setAction(\"scope_view\")\n }}\n size=\"small\"\n >\n \n \n ),\n },\n {\n title: \"Document\",\n field: \"document\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n\n },\n render: (rowData) => (\n {\n if (rowData.document) {\n window.open(BASE_API_URL_BOXR + rowData.document);\n } else {\n message.showToastMessage({\n message: \"No Document Found.\",\n variant: \"error\",\n });\n }\n }}\n size=\"small\"\n >\n \n \n ),\n },\n {\n title: \"Action\",\n render: (rowData) => (\n handleAction(rowData)}>\n \n \n ),\n },\n ];\n const handleFilterChange = (keyItem, value) => {\n TableAction.setPage(dispatch, 0);\n setFilterData((prevState) => ({ ...prevState, [keyItem]: value }));\n };\n\n return (\n
\n \n \n \n \n \n \n \n Search Capability\n \n \n \n
\n \n \n \n User the search and filter options below to search for the relevant capability document\n \n\n {\n TableAction.setPage(dispatch, 0);\n setSearchText(value);\n }}\n >\n \n }\n onChange={(e) =>\n handleFilterChange(\"platform_id\", e.target.value)\n }\n >\n Platform (All)\n {dependencyList?.platforms?.map((item) => (\n \n {item.name}\n \n ))}\n \n \n \n }\n onChange={(e) =>\n handleFilterChange(\"release_type_id\", e.target.value)\n }\n >\n Approval (All)\n {dependencyList?.release_types?.map((item) => (\n \n {item.type_name}\n \n ))}\n \n \n {/* \n }\n onChange={(e) =>\n handleFilterChange(\"scope\", e.target.value)\n }\n >\n Scope (All)\n {[{ name: \"Full\", value: true }, { name: \"Limited\", value: false }].map((item) => (\n \n {item.name}\n \n ))}\n \n */}\n \n }\n onChange={(e) =>\n handleFilterChange(\"status_works\", e.target.value)\n }\n >\n Status / Work (All)\n {dependencyList?.status_works?.map((item) => (\n \n {item}\n \n ))}\n \n \n \n }\n onChange={(e) =>\n handleFilterChange(\"capability_type\", e.target.value)\n }\n >\n Type (All)\n {dependencyList?.capability_types?.map((item) => (\n \n {item}\n \n ))}\n \n \n \n }\n onChange={(e) =>\n handleFilterChange(\"capability_rating_id\", e.target.value)\n }\n >\n Rating (All)\n {dependencyList?.capability_rating?.map((item) => (\n \n {item.name}\n \n ))}\n \n \n \n }\n onChange={(e) =>\n handleFilterChange(\"capability_oem_id\", e.target.value)\n }\n >\n OEM (All)\n {dependencyList?.capability_oems?.map((item) => (\n \n {item.name}\n \n ))}\n \n \n\n \n }\n onChange={e => handleFilterChange('ata_chapter_id', e.target.value)}\n >\n ATA (All)\n {ataChapters?.map((item) => (\n \n {item.name}\n \n ))}\n \n \n\n\n \n\n \n Workshop Capabilities\n \n
\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n
\n
\n
\n
\n
\n {action && action === \"part_number\" &&\n setAction(null)}\n currentSelection={currentSelection}\n data={[{}]}\n />}\n {action && action === \"scope_view\" &&\n setAction(null)}\n currentSelection={currentSelection}\n data={[{}]}\n />\n }\n {action && action === \"tech_data\" &&\n setAction(null)}\n currentSelection={currentSelection}\n />\n }\n {/* {action === \"Selected_Order\" && } */}\n
\n );\n}\n\nexport default SearchCapability;\n","import React, { useState } from \"react\";\nimport ToggleButton from \"@material-ui/lab/ToggleButton\";\nimport ToggleButtonGroup from \"@material-ui/lab/ToggleButtonGroup\";\nimport FreeTextField from \"./free_text_field\";\nimport Typography from \"@material-ui/core/Typography\";\nimport NumericField from \"../FieldComponents/numeric_field_with_increments\";\nimport { Box, Grid } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\n\nfunction YesNoInput(props) {\n const classes = useStyles();\n const {\n handleChange,\n formState,\n secondary_fields,\n field_value,\n errors,\n setErrors,\n } = props;\n\n const [value, setValue] = useState(\n field_value === null ? \"\" : String(field_value) === \"true\" ? \"yes\" : \"no\"\n );\n const [secValue, setSecValue] = useState(\n secondary_fields && secondary_fields[0]?.field_value === null\n ? \"\"\n : (secondary_fields && String(secondary_fields[0]?.field_value)) ===\n \"true\"\n ? \"yes\"\n : \"no\"\n );\n\n\n\n const handleToggle = (name, value) => {\n if (value) {\n setValue(value);\n handleChange({ name: name, value: value });\n }\n };\n\n const handleSecToggle = (name, value) => {\n if (value) {\n setErrors({\n ...errors,\n [name]: {\n valid: value ? true : false,\n },\n });\n setSecValue(value);\n handleChange({ name: name, value: value });\n }\n };\n\n const fieldTypeMap = {\n Freetext: \"textfield\",\n Datetime: \"textfield\",\n \"Yes/No\": \"yes_or_no\",\n Numeric: \"numeric\",\n Dropdown: \"textfield\",\n };\n\n const error =\n props.errors &&\n !props.disabled &&\n props.errors[props?.id || props?.org_field_id] &&\n !props.errors[props?.id || props?.org_field_id].valid &&\n props.mandatory &&\n !props?.disabled;\n const secError =\n props.errors &&\n props?.secondary_fields &&\n props?.secondary_fields[0]?.org_field_id &&\n props.errors[props?.secondary_fields[0]?.org_field_id] &&\n !props?.errors[props?.secondary_fields[0]?.org_field_id]?.valid;\n\n console.log({ secError });\n const handleSecInput = (e) => {\n setErrors({\n ...errors,\n [e.name]: {\n valid: e.value !== \"\" ? true : false,\n },\n });\n handleChange(e);\n };\n\n return (\n \n \n {`${props.field_name} ${props.mandatory ? \" *\" : \"\"\n }`}\n \n handleToggle(props.id, val)}\n aria-label=\"yes-or-no\"\n >\n \n No\n \n \n Yes\n \n \n \n {(value === \"yes\" && props.field_name !== \"Tools Removed from A/C\") && props.secondary_field && (\n \n {fieldTypeMap[props?.secondary_fields[0]?.field_type] ===\n \"textfield\" && (\n \n )}\n\n {fieldTypeMap[props?.secondary_fields[0]?.field_type] ===\n \"numeric\" && (\n \n )}\n {fieldTypeMap[props?.secondary_fields[0]?.field_type] ==\n \"yes_or_no\" && (\n \n \n {props?.secondary_fields[0]?.field_name + \"*\"}\n \n \n \n handleSecToggle(props?.secondary_fields[0]?.org_field_id, val)\n }\n aria-label=\"yes-or-no\"\n >\n \n No\n \n \n Yes\n \n \n \n )}\n \n )}\n\n {(value === \"no\" && props.field_name === \"Tools Removed from A/C\") && props.secondary_field && (\n \n\n {fieldTypeMap[props?.secondary_fields[0]?.field_type] ==\n \"yes_or_no\" && (\n \n \n {props?.secondary_fields[0]?.field_name + \"*\"}\n \n \n \n handleSecToggle(props?.secondary_fields[0]?.org_field_id, val)\n }\n aria-label=\"yes-or-no\"\n >\n \n No\n \n \n Yes\n \n \n \n )}\n \n\n\n\n )}\n {/* {value === \"no\" && props?.secondary_field && (\n \n {fieldTypeMap[props?.secondary_fields[0]?.field_type] ==\n \"yes_or_no\" && (\n \n \n {props?.secondary_fields[0]?.field_name + \" *\"}\n \n \n \n handleSecToggle(props?.secondary_fields[0]?.org_field_id, val)\n }\n aria-label=\"yes-or-no\"\n >\n \n No\n \n \n Yes\n \n \n \n )}\n \n )} */}\n \n );\n}\n\nexport default React.memo(YesNoInput);\n\nconst useStyles = makeStyles((theme) => ({\n error: {\n borderColor: \"#f44336\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n margin: \"0px\",\n },\n}));\n","module.exports = __webpack_public_path__ + \"static/media/LeaveBwd.98d8fc91.svg\";","module.exports = __webpack_public_path__ + \"static/media/LeaveFwd.16aa4b3b.svg\";","module.exports = __webpack_public_path__ + \"static/media/display-size.0ad08eda.svg\";","import React, { useReducer, useContext, useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\nimport { Box } from \"@material-ui/core\";\nimport MaterialTable from \"material-table\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, {\n options,\n} from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport HistoryDialog from \"./HistoryDialog\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { format24HrDateTime } from \"lib/utils/common_utils\";\n\n\nexport default function HistoryTablePopup(props) {\n const { open, data, handleClose, busy, selectedId, type } = props;\n\n const classes = useStyles();\n const message = useContext(ToastMessageContext)\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize } = tableState;\n const [historyData, setHistoryData] = useState([])\n\n // tableOptions\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n paging: false,\n headerStyle: {\n textAlign: \"center\",\n paddingTop: \"22px\",\n paddingBottom: \"16px\",\n },\n };\n\n const columns = [\n {\n title: \"Event\",\n field: \"event\",\n // render: (rowData) => rowData?.status?.toUpperCase(),\n },\n {\n title: \"User\",\n field: \"user\",\n },\n {\n title: \"Date / Time\",\n field: \"datetime\",\n render:(rowData)=> format24HrDateTime(rowData?.date_time),\n },\n ];\n\n useEffect(()=>{\n const getHistoryData = async () => {\n const params = {\n id: selectedId,\n type: type ? \"Stage\" : \"Action\",\n page: page + 1,\n limit: 10\n }\n await InspectionServices.getHistoryData(params)\n .then((res) => {\n if (res) {\n setHistoryData(res.data);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n getHistoryData()\n },[selectedId])\n\n \n\n return (\n
\n \n \n \n History\n \n \n\n \n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n
\n );\n}\n\nconst useStyles = makeStyles(() => ({\n bodyText: {\n fontSize: 20,\n lineHeight: \"28px\",\n },\n}));\n","import React from \"react\";\nimport {\n Box,\n CircularProgress,\n Dialog,\n DialogContent,\n makeStyles,\n} from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\n\nfunction HistoryDialog(props) {\n const {\n open,\n handleClose,\n children,\n handleSubmit,\n isLoading,\n width,\n centerActionBtns,\n btnTitle,\n noActionBtns,\n btnLeft,\n bgColor,\n color,\n leftStartIcon,\n rightStartIcon,\n submit,\n hideYesButton,\n notShowButton\n } = props;\n\n const classes = useStyles(props);\n\n const submitHandler = (e) => {\n e.preventDefault();\n typeof handleSubmit === \"function\" && handleSubmit(e);\n };\n\n return (\n \n \n
\n {children}\n {!noActionBtns && \n {!notShowButton && \n {btnLeft ?? \"Cancel\"}\n }\n {!notShowButton && \n {isLoading ? (\n \n ) : (\n btnTitle ?? open\n )}\n }\n }\n \n
\n \n );\n}\n\nexport default HistoryDialog;\n\nconst useStyles = makeStyles(() => ({\n dialog: {\n \"& .MuiDialog-paper\": {\n boxShadow: \"0px 3px 6px #00000029\",\n position: \"absolute\",\n // left: (props) =>\n // props?.fromLeft ? `calc(60% - ${props.fromLeft})` : `calc(60% - 250px)`,\n // height: \"717px\",\n },\n\n // \"& .MuiDialogContent-root\": {\n // padding: (props) =>\n // props.padding ? props.padding : \"37px 65px 63px 65px\",\n // overflow: \"hidden\",\n // },\n },\n}));\n","module.exports = __webpack_public_path__ + \"static/media/key.8075df2a.png\";","import React, { useContext, useEffect, useReducer, useRef, useState } from \"react\";\nimport ManageDataDialog from \"components/form_components/manage_data_dialog\";\nimport Grid from \"@material-ui/core/Grid\";\nimport MROTextField from \"components/form_components/TextField\";\nimport Typography from \"@material-ui/core/Typography\";\nimport BoxpDataServiceAction from \"actions/boxp_data_actions\";\nimport dataReducer, { INITIAL_DATA_STATE } from \"reducers/data_reducer\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport usePlacesAutocomplete, {\n getGeocode,\n getLatLng,\n getDetails\n} from \"use-places-autocomplete\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport { Dialog, DialogContent, DialogTitle, Box, makeStyles } from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { Button, InputAdornment } from \"@material-ui/core\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport mapIcon from 'assets/map.png'\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport Map from \"views/Commercial/Workshop/Customers/Addresses/Map\";\n\n\n\nconst useStyles = makeStyles((theme) => ({\n\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n maxWidth: \"600px\",\n },\n },\n\n}));\n\n\n\nfunction ManageAddress(props) {\n const message = useContext(ToastMessageContext);\n const classes = useStyles();\n const { action, handleClose, currentSelection, workshopDetails, setSelectedAddress, getCustomerAddress } = props;\n const [loading, setLoading] = useState(false);\n const [state, rDispatch] = useReducer(dataReducer, INITIAL_DATA_STATE);\n const [error, setError] = useState({});\n const [location, setLocation] = useState({ latitude: \"\", longitude: \"\", address: \"\" })\n const ref = useRef()\n const [fullAddress, setFullAddress] = useState([])\n const [map, setMap] = useState(null)\n const {\n ready,\n value,\n suggestions: { status, data },\n setValue,\n clearSuggestions,\n\n } = usePlacesAutocomplete({ callbackName: \"maploc\" });\n\n //Autofill format\n const [completeAddress, setCompleteAddress] = useState([])\n const [title, setTitle] = useState(null)\n const [addressLine1, setAddressLine1] = useState(null)\n const [addressLine2, setAddressLine2] = useState(null)\n const [addressLine3, setAddressLine3] = useState(null)\n const [city, setCity] = useState(null)\n const [postCode, setPostCode] = useState(null)\n const [country, setCountry] = useState(null)\n\n // University College Hospital, Euston Road, London, UK\n\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formData = new FormData(e.target)\n setLoading(true);\n\n let valid = true;\n let errors = {\n geo_address: false,\n name: false,\n title: false,\n address_line_1: false,\n city: false,\n postcode: false,\n country: false,\n };\n if (value === \"\" || value === undefined) {\n errors.geo_address = true;\n valid = false;\n }\n\n if (formData && !formData.get(\"title\").length) {\n errors.title = true;\n valid = false;\n }\n if (formData && !formData.get(\"address_line_1\").length) {\n errors.address_line_1 = true;\n valid = false;\n }\n if (formData && !formData.get(\"city\").length) {\n errors.city = true;\n valid = false;\n }\n if (formData && !formData.get(\"postcode\").length) {\n errors.postcode = true;\n valid = false;\n }\n if (formData && !formData.get(\"country\").length) {\n errors.country = true;\n valid = false;\n }\n if (!valid) {\n setLoading(false);\n setError(errors);\n return;\n }\n formData.delete(\"geo_address\")\n formData.append(\"line_customer_id\", workshopDetails.line_customer_id);\n formData.append(\"latitude\", location.latitude);\n formData.append(\"longitude\", location.longitude);\n formData.append(\"address\", location.address);\n await MaintenanceServices.updateCustomerAddress(formData).then((res) => {\n if (res.success)\n setSelectedAddress(res.id)\n getCustomerAddress()\n handleClose()\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try Again\",\n variant: \"error\",\n });\n })\n\n\n\n\n };\n\n\n\n const handleGetLocationDetails = (value1) => {\n\n\n if (value1 !== undefined && value !== null && value1 !== null) {\n\n let description = value1.description\n getGeocode({ address: description }).then((results) => {\n\n const parameter = {\n placeId: results[0].place_id,\n }\n getDetails(parameter)\n .then((details) => {\n // console.log(\"Error: \", details);\n setFullAddress([details])\n setCompleteAddress(details.address_components)\n })\n .catch((error) => {\n console.log(\"Error: \", error);\n });\n\n\n const { lat, lng } = getLatLng(results[0]);\n // console.log(\"📍 Coordinates: \", { lat, lng });\n setLocation({ latitude: lat, longitude: lng, address: description })\n });\n }\n else {\n setLocation({ latitude: \"\", longitude: \"\", address: \"\" })\n }\n }\n //Auto fill address\n\n useEffect(() => {\n setTitle(\"\")\n setCity(\"\")\n setAddressLine1(\"\")\n setAddressLine2(\"\")\n setAddressLine3(\"\")\n setPostCode(\"\")\n setCountry(\"\")\n if (completeAddress.length > 0) {\n // console.log(\"complete=====\", fullAddress)\n //title\n\n let titleValue = \"\"\n\n\n if (fullAddress.length > 0) {\n let titleV1 = fullAddress.filter((item) => item.types.filter((val) => {\n if (val === \"point_of_interest\" || val === \"establishment\" || val === \"park\") {\n setTitle(item.name)\n\n }\n\n }))\n }\n else if (title === undefined || titleValue === \"\" || titleValue === null) {\n\n\n let titleV1 = completeAddress.filter((item) => item.types.filter((val) => {\n if (val === \"point_of_interest\" || val === \"establishment\" || val === \"park\" || value === 'airport') {\n setTitle(item.long_name)\n\n }\n\n }))\n }\n\n\n //address line 1\n\n // premise, subpremise, street_number, route\n\n let addLine = {\n premise: null,\n subpremise: null,\n street_number: null,\n route: null\n\n }\n let add1Val = completeAddress.filter((item) => item.types.filter((val) => {\n if (val === \"premise\") {\n addLine.premise = item.long_name\n }\n if (val === \"subpremise\") {\n addLine.subpremise = item.long_name\n } if (val === \"street_number\") {\n addLine.street_number = item.long_name\n } if (val === \"route\") {\n addLine.route = item.long_name\n }\n\n }))\n let addLine1 = Object.values(addLine).filter(Boolean).join(\", \")\n\n setAddressLine1(addLine1 ? addLine1 : \"\")\n\n\n //city\n // postal_town (use this as preference if both exists)\n // locality (else this if exists)\n let fcity = \"\"\n let cityVal = completeAddress.filter((item) => item.types.filter((val) => {\n if (val === \"postal_town\") {\n fcity = item.long_name\n }\n else if (val === \"locality\" && val !== \"postal_town\") {\n fcity = item.long_name\n }\n }))\n\n setCity(fcity)\n\n\n //Post code\n //postal_code\n let p_code = \"\"\n let postVal = completeAddress.filter((item) => item.types.filter((val) => {\n if (val === \"postal_code\") {\n p_code = item.long_name\n }\n\n }))\n setPostCode(p_code)\n\n //country\n\n let coun_val = \"\"\n let countryVal = completeAddress.filter((item) => item.types.filter((val) => {\n if (val === \"country\") {\n coun_val = item.long_name\n }\n\n }))\n setCountry(coun_val)\n\n //AddressLine2 and 3\n // sublocality_level_1\n // sublocality_level_2\n // sublocality_level_3\n // sublocality_level_4\n // sublocality_level_5\n\n let levels = {\n sublocality_level_1: null,\n sublocality_level_2: null,\n sublocality_level_3: null,\n sublocality_level_4: null,\n sublocality_level_5: null\n\n }\n\n let addressFilter = completeAddress.filter((item) => item.types.filter((val) => {\n if (val === \"sublocality_level_1\") {\n levels.sublocality_level_1 = item.long_name\n }\n if (val === \"sublocality_level_2\") {\n levels.sublocality_level_2 = item.long_name\n }\n if (val === \"sublocality_level_3\") {\n levels.sublocality_level_3 = item.long_name\n }\n if (val === \"sublocality_level_4\") {\n levels.sublocality_level_1 = item.long_name\n }\n if (val === \"sublocality_level_5\") {\n levels.sublocality_level_1 = item.long_name\n }\n\n }))\n\n if (levels.sublocality_level_5 !== null) {\n setAddressLine2(levels.sublocality_level_5)\n\n let levels5 = {\n level_1: levels.sublocality_level_1,\n level_2: levels.sublocality_level_2,\n level_3: levels.sublocality_level_3,\n level_4: levels.sublocality_level_4,\n\n }\n let addLine3 = Object.values(levels5).filter(Boolean).join(\", \")\n setAddressLine3(addLine3)\n\n }\n else if (levels.sublocality_level_5 === null && levels.sublocality_level_4 !== null) {\n setAddressLine2(levels.sublocality_level_4)\n\n let levels5 = {\n level_1: levels.sublocality_level_1,\n level_2: levels.sublocality_level_2,\n level_3: levels.sublocality_level_3,\n\n }\n let addLine3 = Object.values(levels5).filter(Boolean).join(\", \")\n setAddressLine3(addLine3)\n }\n else if (levels.sublocality_level_5 === null && levels.sublocality_level_4 === null && levels.sublocality_level_3 !== null) {\n setAddressLine2(levels.sublocality_level_3)\n\n let levels5 = {\n level_1: levels.sublocality_level_1,\n level_2: levels.sublocality_level_2,\n\n }\n let addLine3 = Object.values(levels5).filter(Boolean).join(\", \")\n setAddressLine3(addLine3)\n }\n else if (levels.sublocality_level_5 === null && levels.sublocality_level_4 === null && levels.sublocality_level_3 === null && levels.sublocality_level_2 !== null) {\n setAddressLine2(levels.sublocality_level_2)\n let addLine3 = levels.sublocality_level_1 ? levels.sublocality_level_1 : \"\"\n setAddressLine3(addLine3)\n }\n else if (levels.sublocality_level_5 === null && levels.sublocality_level_4 === null && levels.sublocality_level_3 === null && levels.sublocality_level_2 === null && levels.sublocality_level_1 !== null) {\n setAddressLine2(levels.sublocality_level_1)\n setAddressLine3(\"\")\n }\n else {\n setAddressLine2(\"\")\n setAddressLine3(\"\")\n }\n\n\n }\n\n }, [completeAddress])\n\n\n return (\n \n \n Customer Address\n \n \n
\n \n \n \n option.id === value.id\n }\n value={value ? value : null}\n onChange={(event, value) => {\n setTitle(\"\")\n setCity(\"\")\n setAddressLine1(\"\")\n setAddressLine2(\"\")\n setAddressLine3(\"\")\n setPostCode(\"\")\n setCountry(\"\")\n handleGetLocationDetails(value)\n setError((error) => ({ ...error, geo_address: false }));\n }}\n id=\"tags-locations\"\n options={data}\n loading={status}\n\n fullWidth\n getOptionLabel={(option) => typeof option === \"string\" ? option : option.description}\n onInputChange={(e, newValue) => {\n\n\n setValue(newValue)\n\n }}\n renderInput={(params) => (\n \n\n\n \n {params.InputProps.startAdornment}\n \n\n ),\n endAdornment: (<> \n\n {\n setMap(\"showmap\")\n }} />\n \n {params.InputProps.endAdornment}\n ),\n }}\n />\n )}\n />\n \n\n\n \n {\n setTitle(e.target.value)\n setError({ ...error, title: false });\n }}\n />\n \n \n {\n setCity(e.target.value)\n setError({ ...error, city: false });\n }}\n />\n \n \n {\n setAddressLine1(e.target.value)\n setError({ ...error, address_line_1: false });\n }}\n />\n \n\n \n {\n setPostCode(e.target.value)\n setError({ ...error, postcode: false });\n }}\n />\n \n\n \n {\n setAddressLine2(e.target.value)\n\n }}\n />\n \n\n \n {\n setCountry(e.target.value)\n setError({ ...error, country: false });\n }}\n />\n \n \n {\n setAddressLine3(e.target.value)\n\n }}\n />\n \n\n\n\n\n\n \n\n\n\n\n\n\n \n \n Cancel\n \n \n Complete\n \n \n \n
\n {map && map === \"showmap\" && setMap(null)} setLocation={setLocation} location={location} setDialogValue={setValue} dialogValue={value} setCompleteAddress={setCompleteAddress} setFullAddress={setFullAddress} />}\n \n );\n}\n\nexport default ManageAddress;\n","import React, { useEffect, useState } from \"react\";\nimport {\n\n MuiPickersUtilsProvider,\n KeyboardDateTimePicker,\n} from '@material-ui/pickers';\nimport MomentUtils from '@date-io/moment';\nimport { makeStyles } from '@material-ui/core';\nimport moment from \"moment\";\nimport EventIcon from 'assets/CalendarIcon.svg'\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n margin: theme.spacing(1, 0),\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: theme.palette.primary.main + '!important',\n borderWidth: '1px !important'\n },\n '&:hover fieldset': {\n borderColor: theme.palette.primary.light + '!important',\n // borderWidth: '1px !important'\n },\n '& .MuiOutlinedInput-input': {\n padding: '15px'\n }\n },\n '& label': {\n color: theme.palette.primary.main\n }\n },\n}))\n\nfunction PartsDateTimeField({ label, name, defaultValue, onChange, permission }) {\n const classes = useStyles();\n const [selectedDate, setSelectedDate] = useState(null);\n const [open, setOpen] = useState(false)\n\n useEffect(() => {\n if (defaultValue !== 'Invalid date' && defaultValue !== null) {\n setSelectedDate(defaultValue ? moment(defaultValue, \"DD/MM/YYYY\") : null)\n }\n else {\n setSelectedDate(null)\n }\n }, [defaultValue]);\n\n const changeDate = (date) => {\n\n if (date === null) {\n setSelectedDate(null)\n onChange && onChange(null);\n\n\n } else {\n setSelectedDate(date);\n onChange && onChange(moment(date).format(\"DD/MM/YYYY\"));\n\n }\n }\n\n const TextComponent = (value) => {\n return value === null ? {\n setOpen(true)\n }} style={{ cursor: \"pointer\", pointerEvents: !permission?.write ? \"none\" : \"\" }} /> : {\n setOpen(true)\n }} >{moment(value).format(\"DD/MM/YYYY\")}\n }\n\n return (\n\n \n TextComponent(selectedDate)}\n autoOk\n open={open}\n onClick={() => setOpen(true)}\n onClose={() => setOpen(false)}\n id=\"\"\n disabled={!permission?.write}\n ampm={false}\n inputVariant=\"standard\"\n label={label}\n color={\"primary\"}\n format={\"DD/MM/YYYY\"}\n value={selectedDate}\n inputProps={{ readOnly: true }}\n InputAdornmentProps={{ position: \"start\", }}\n InputProps={{\n disableUnderline: true,\n\n }}\n // keyboardIcon={selectedDate ? \"\" : }\n onChange={date => { changeDate(date) }}\n style={{ width: \"100px\", color: \"#fff\" }}\n\n />\n \n \n )\n}\n\nexport default React.memo(PartsDateTimeField);","import requestApi from \"lib/services/api/common/boxp_api_client\";\n\nfunction getCertificationDetails(id) {\n return requestApi({\n url: `/certification/${id}`,\n method: \"GET\",\n });\n}\n\nconst unlockCertification = (formData) => {\n return requestApi({\n url: `/undo_certification?_method=PUT`,\n method: \"POST\",\n data: formData,\n });\n};\n\nexport const CertificateServices = {\n getCertificationDetails,\n unlockCertification\n};\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAABHNCSVQICAgIfAhkiAAAAmZJREFUSEutlsFV20AQhmfW0nvABaeCuIPAEfkQUwC2UkFMB1BBoALoAFMBa7sAnIPtI9ABroBwSfKepJ3MrL1Gkp/w4ljvccGr+XZm/n9GCGuek0ktVqQ6gNQAggNArBsw34ZRpte9637HqoMn01pXGbySoKUzM0Tq6qN0tDEknkKDTHgHyLfmh4j6pEjXdjKtD+GXb+D8uUIm8RgOCIJ7uT0B/VSUnukmPG4S2MbC4AoRLpeQeQbBwxwAt4Mo6W4SXN7JX9agOV1C2uPwkalftglwsSzENpnUjZRoEKWtbWSQv6yFdCYBNxT3kZLD/+rBsp/FcqP1Aag7UdGgmcabZFEUzGo/sT0Je5zOd2nQ8CjrfRSyDiDxGBKMEPAr7iaf8j7oTMJndvgL7iXHVf7wAViI60c/SgqecWpjUK/fTE7LGfoA4mnQyojqDAlZCABlSPwAdfM7HImsyyAfwFxQXA2Az5WZWFMxiP4EfBD3HcgXsIBwAvRa2RNXnsV4GAmIfXSNBF2fqTC/YPgi3vNSVx4kcANwPoyS6/eU+GZwuPX2iTSRCLRBOvORenscaETsyO7ZmuPzWc0vhPf8vxkLqlGYXdykUT9Kjz9qyPJ55z1n8JUpXOULX7CbIFzap0EzsYuvuE8o4AX1JlffwO6cA1jZ7qYNNylWNyMGVq5SOtlqPrt8IYof/F7LAiht5af5yoeEbEhjQlYGO90+pAlJq52sn59hdiL8rXWQkCe3/Mn3ADypvaRVnnXvf62QupCx4FG2GTf5okralRAXWPYNguKbkkiRG2lL+crzQvr3TGD0um+wfxfDinqElIsBAAAAAElFTkSuQmCC\"","import React, { useContext, useState } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Grid,\n Typography,\n Box\n} from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport BoxpDataService from \"lib/services/api/boxp_index\";\nimport { CommercialServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/commercial\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport exclamationIcon from \"assets/exclamation.png\"\n\n\n\nconst useStyles = makeStyles(() => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"45%\",\n padding: '14px'\n },\n },\n title: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n warning1: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: \"13px\",\n marginBottom: \"20px\",\n },\n warning: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: \"16px\",\n marginBottom: \"20px\",\n },\n actionButtons: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n}));\n\nfunction DeleteCusApproval(props) {\n const classes = useStyles();\n const {\n handleClose,\n open,\n selectedId,\n closeHandler,\n getApprovedPosition,\n currentSelectedOrder\n } = props;\n const message = useContext(ToastMessageContext);\n const { setApprovalStateCommercial } = useContext(WorkshopContext)\n const [busy, setBusy] = useState(null);\n const [acceptAll, setAcceptAll] = useState(false)\n\n\n\n\n const handleSubmit = () => {\n setBusy(\"loading\");\n const params = {\n workshop_order_id: currentSelectedOrder?.id\n }\n CommercialServices.deleteApproval(params, selectedId)\n .then((res) => {\n if (res.success) {\n setBusy(null);\n setApprovalStateCommercial(false);\n getApprovedPosition();\n closeHandler();\n message.showToastMessage({\n message: \"Deleted Approved position successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n setBusy(null);\n handleClose();\n message.showToastMessage({\n message: \"Something went wrong. Try agin!!\",\n variant: \"error\",\n });\n });\n }\n return (\n
\n \n\n \n \n \n \n Delete Approval\n \n \n \n {\" \"}\n {\" \"}\n \n \n \n\n \n \n \n \n \n This action cannot be undone!\n \n \n \n \n \n \n \n Job actuals may have changed resulting in difference accumulative, or exception charges in any subsequent approved position created\n \n \n \n\n \n Accept all\n    \n {\n setAcceptAll(!acceptAll);\n }}\n />\n \n\n\n \n \n \n Cancel\n \n \n \n\n {\n if (acceptAll) {\n handleSubmit(e);\n }\n else if (!acceptAll) {\n message.showToastMessage({\n message: \"Cautions must be accepted!\",\n variant: \"error\",\n });\n\n }\n }}\n name=\"complete1\"\n >\n Complete\n \n \n \n \n \n
\n );\n}\n\nexport default DeleteCusApproval;\n","module.exports = __webpack_public_path__ + \"static/media/Camera.99f1baca.svg\";","module.exports = __webpack_public_path__ + \"static/media/google.0eedd54e.svg\";","module.exports = __webpack_public_path__ + \"static/media/authy.6431d0d7.svg\";","module.exports = __webpack_public_path__ + \"static/media/mail-send.0fc18f45.svg\";","import MaterialTable from \"material-table\";\nimport React, { useReducer, useState, useEffect } from \"react\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Box, IconButton } from \"@material-ui/core\";\nimport FileCopy from '@material-ui/icons/FileCopy';\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { Visibility as ViewIcon } from \"@material-ui/icons\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { useContext } from \"react\";\nimport _ from \"lodash\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\nimport alertIcon from 'assets/icons/Alert_icon.png'\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles(() => ({}));\n\n\nfunction Plan(props) {\n const classes = useStyles();\n const { currentClosedDetails, currentPlanningDetails, planningId, planningWholeDetails } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const message = useContext(ToastMessageContext)\n const { copyPlanningTab, setCopyPlanningTab, planningNullId } = useContext(WorkshopContext)\n const { page, totalCount, pageSize } = tableState;\n const [loading, setLoading] = useState(false)\n const [mainFiles, setMainFiles] = useState([])\n const [planningData, setPlanningData] = useState({})\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n };\n\n\n // console.log(\"planingde======\", planningWholeDetails)\n\n const handleFileCopy = async (item, value, id) => {\n\n const formData = new FormData(document.getElementById(\"my-form\"));\n\n const param = {\n id: currentPlanningDetails?.planning_id ? currentPlanningDetails?.planning_id : planningId.planning_id ? planningId.planning_id : planningNullId ? planningNullId : currentPlanningDetails?.planning_id,\n save_later: 1,\n }\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id);\n if (copyPlanningTab.capability === false && planningWholeDetails?.capabilty_id) {\n formData.delete(\"capability_id\")\n formData.append(\"capability_id\", planningWholeDetails.capabilty_id)\n\n }\n if (copyPlanningTab.capability === false && planningWholeDetails?.capabilty_id) {\n formData.delete(\"capabilty_ref_data\")\n formData.append(\"capabilty_ref_data\", planningWholeDetails.capabilty_ref_data)\n\n }\n formData.append(\"inspection_action\", planningData.inspection_action)\n if (item === \"Status / Work\" || copyPlanningTab.status) {\n formData.delete(\"status_work\")\n formData.append(\"status_work\", planningData.status_work)\n }\n\n if (item === \"Release Type 1\" || copyPlanningTab.releaseA) {\n formData.delete(\"release_type_a\")\n formData.delete(\"release_type_a_name\")\n formData.append(\"release_type_a\", planningData.release_type_a)\n formData.append(\"release_type_a_name\", planningData.release_type_a_name)\n }\n if (item === \"Release Type 2\" || copyPlanningTab.releaseB) {\n formData.delete(\"release_type_b\")\n formData.delete(\"release_type_b_name\")\n formData.append(\"release_type_b\", planningData.release_type_b)\n formData.append(\"release_type_b_name\", planningData.release_type_b_name)\n }\n if (item === \"Release Auth\" || copyPlanningTab.releaseAuth) {\n formData.delete(\"release_auth\")\n formData.delete(\"release_auth_name\")\n formData.append(\"release_auth\", planningData.release_auth)\n formData.append(\"release_auth_name\", planningData.release_auth_name)\n }\n\n if (item === \"Description of work\" || copyPlanningTab.description) {\n formData.delete(\"description\")\n formData.append(\"description\", planningData.planning_description)\n }\n\n if (item === \"Technical Data CRS remarks\" || copyPlanningTab.techData) {\n formData.delete(\"tech_data_crs_remarks\")\n formData.append(\"tech_data_crs_remarks\", planningData.tech_data_crs_remarks)\n }\n\n if (item === \"Inspection Actions\" || copyPlanningTab.inspection) {\n formData.delete(\"inspection_action\")\n formData.append(\"inspection_action\", planningData.inspection_action)\n }\n\n if (item === \"Capability Reference\" || copyPlanningTab.capability) {\n formData.delete(\"capability_id\")\n formData.append(\"capability_id\", planningData.capability_id)\n formData.delete(\"capabilty_ref_data\")\n formData.append(\"capabilty_ref_data\", planningData.capabilty_ref_data)\n\n }\n\n if (item === \"Technical / Maint Data\") {\n\n formData.delete(\"tech_maintenance_avail\")\n formData.append(\"tech_maintenance_avail\", true)\n\n }\n await MaintenanceServices.updateSaveForLaterData(formData, param)\n .then((res) => {\n if (res.success) {\n // getWorkshopOrderDetails()\n\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(null)\n })\n }\n\n const handleTechDataFile = async (item) => {\n\n if (item !== undefined && item.length != 0) {\n\n\n const formData = new FormData(document.getElementById(\"my-form\"));\n formData.delete(\"tech_maintenance_avail\")\n formData.append(\"tech_maintenance_avail\", true)\n formData.append(\"from_workshop_order_id\", currentClosedDetails.id)\n formData.append(\"to_workshop_order_id\", currentPlanningDetails?.id)\n\n await MaintenanceServices.copyPlanningFile(formData).then((response) => {\n if (response.success) {\n // getWorkshopOrderDetails()\n\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n })\n }\n else {\n setCopyPlanningTab((ps) => ({ ...ps, image: false }));\n message.showToastMessage({\n message: \"No Report Found\",\n variant: \"error\",\n });\n }\n }\n\n const handleService = async () => {\n const formData = new FormData()\n\n formData.append(\"from_workshop_order_id\", currentClosedDetails.id)\n formData.append(\"to_workshop_order_id\", currentPlanningDetails?.id)\n\n\n await MaintenanceServices.updateServiceLifes(formData)\n .then((res) => {\n if (res.success) {\n // getWorkshopOrderDetails()\n\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(null)\n })\n\n\n\n }\n\n const handleProjectParts = async () => {\n const formData = new FormData()\n\n formData.append(\"from_workshop_order_id\", currentClosedDetails.id)\n formData.append(\"to_workshop_order_id\", currentPlanningDetails?.id)\n formData.append(\"reportable_type\", \"WorkshopOrder\")\n formData.append(\"organisation_id\", getOrganisationId())\n\n\n await MaintenanceServices.updateCopyProjectParts(formData)\n .then((res) => {\n if (res.success) {\n // getWorkshopOrderDetails()\n setCopyPlanningTab((ps) => ({ ...ps, projectParts: true }));\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch((res) => {\n\n setCopyPlanningTab((ps) => ({ ...ps, projectParts: false }));\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(null)\n })\n\n\n\n }\n const columns = [\n {\n title: \"Item\",\n field: \"item\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n\n },\n {\n title: \"Detail\",\n field: \"detail\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"50%\",\n },\n },\n {\n title: \"Action\",\n field: \"action\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n }\n ];\n\n //api call planning list \n const getPlanningList = async () => {\n setLoading(true)\n const params = {\n workshop_order_id: currentClosedDetails.id,\n organisation_id: getOrganisationId(),\n }\n await MaintenanceServices.copyPreviousGetPlanningList(params).then((response) => {\n\n setPlanningData(response.data)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n })\n }).finally(() => {\n setLoading(false)\n })\n }\n useEffect(() => {\n getPlanningList()\n\n\n }, [currentClosedDetails.id, page, pageSize, totalCount])\n\n const handleFile = (report) => {\n\n return (\n \n \n {\n if (report !== undefined && report.length != 0) {\n window.open(report.map(document => document.file_path))\n }\n else {\n message.showToastMessage({\n message: \"No Report Found.\",\n variant: \"error\",\n })\n }\n }} />\n \n \n )\n\n }\n\n\n return (\n
\n {\n setCopyPlanningTab((ps) => ({ ...ps, status: true }));\n handleFileCopy(\"Status / Work\")\n }}\n disabled={copyPlanningTab.status || planningData.status_work === null}\n >\n {copyPlanningTab.status ? :\n\n \n }\n\n )\n },\n {\n item: \"Release Type 1\",\n detail: planningData.release_type_a_name ? planningData.release_type_a_name : \"N/A\",\n id: planningData.release_type_a,\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, releaseA: true }));\n handleFileCopy(\"Release Type 1\")\n\n\n }}\n disabled={copyPlanningTab.releaseA || planningData.release_type_a_name === null}\n >\n {copyPlanningTab.releaseA ? :\n\n \n }\n\n\n\n )\n\n },\n {\n item: \"Release Type 2\",\n detail: planningData.release_type_b_name ? planningData.release_type_b_name : \"N/A\",\n id: planningData.release_type_b,\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, releaseB: true }));\n handleFileCopy(\"Release Type 2\")\n\n }}\n disabled={copyPlanningTab.releaseB || planningData.release_type_b_name === null}\n >\n {copyPlanningTab.releaseB ? :\n\n \n }\n\n\n )\n }, //\n {\n item: \"Release Auth\",\n detail: planningData.release_auth_name ? planningData.release_auth_name : \"N/A\",\n id: planningData.release_auth,\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, releaseAuth: true }));\n handleFileCopy(\"Release Auth\")\n\n }}\n disabled={copyPlanningTab.releaseAuth || planningData.release_auth_name === null}\n >\n {copyPlanningTab.releaseAuth ? :\n\n \n }\n\n\n )\n },\n\n\n\n\n\n {\n item: \"Description of work\",\n detail: planningData.planning_description,\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, description: true }));\n handleFileCopy(\"Description of work\")\n }}\n disabled={copyPlanningTab.description || planningData.planning_description === null}\n >\n {copyPlanningTab.description ? :\n\n \n }\n\n\n\n )\n },\n {\n item: \"Technical Data CRS remarks\",\n detail: planningData.tech_data_crs_remarks ? planningData.tech_data_crs_remarks : \"N/A\",\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, techData: true }));\n handleFileCopy(\"Technical Data CRS remarks\")\n\n\n }}\n disabled={copyPlanningTab.techData || planningData.tech_data_crs_remarks === null}\n >\n {copyPlanningTab.techData ? :\n\n \n }\n\n )\n\n }, {\n item: \"Service Life\",\n detail: planningData && planningData?.service_lifes ? planningData?.service_lifes.toString() : \"N/A\",\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, service: true }));\n handleService(\"service_life\")\n\n\n }}\n disabled={copyPlanningTab.service}\n >\n {copyPlanningTab.service ? :\n\n \n }\n\n )\n\n }, {\n item: \"Projects Parts\",\n detail: planningData && planningData?.project_parts ? planningData?.project_parts : \"N/A\",\n action: ( {\n\n handleProjectParts()\n\n\n }}\n disabled={copyPlanningTab.projectParts || planningData?.project_parts === 0}\n >\n {copyPlanningTab.projectParts ? :\n\n \n }\n\n )\n\n },\n {\n item: \"Inspection Actions\",\n detail: planningData.inspection_action === true ? \"Yes\" : \"No\",\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, inspection: true }));\n handleFileCopy(\"Inspection Actions\")\n }}\n disabled={copyPlanningTab.inspection || planningData.inspection_action === null}\n >\n {copyPlanningTab.inspection ? :\n\n \n }\n\n\n )\n },\n {\n item: \"Capability Reference\",\n detail: planningData.capabilty_ref_data ? planningData.capabilty_ref_data : \"N/A\",\n id: planningData.capability_id,\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, capability: true }));\n handleFileCopy(\"Capability Reference\")\n }}\n disabled={copyPlanningTab.capability || planningData.capabilty_ref_data === null}\n >\n {copyPlanningTab.capability ? :\n\n \n }\n\n\n )\n },\n // {\n // item: \"Technical / Maint Data\",\n // detail: handleFile(planningData.tech_maintenance_file),\n // action: ( {\n // setCopyPlanningTab((ps) => ({ ...ps, image: true }));\n // handleFileCopy(\"Technical / Maint Data\")\n // handleTechDataFile(planningData.tech_maintenance_file)\n // }}\n // disabled={copyPlanningTab.image}\n // >\n // {copyPlanningTab.image ? :\n\n // \n // }\n // )\n // },\n\n ].filter((item) => {\n if (!currentPlanningDetails?.project_part) {\n if (!planningData.inspection_action) {\n return item.item !== \"Projects Parts\" && item.item !== \"Inspection Actions\"\n\n } else {\n return item.item !== \"Projects Parts\"\n }\n\n\n }\n else {\n if (!planningData.inspection_action) {\n return item.item !== \"Inspection Actions\"\n\n }\n else {\n return item\n }\n\n }\n\n\n })}\n\n\n isLoading={loading}\n options={tableOptions}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n // totalCount={totalCount}\n // page={page}\n />\n {/*
\n If copying Tech Data be sure to confirm it is the latest revision!\n
*/}\n
\n );\n}\n\nexport default Plan;\n","import React, { useContext, useState } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Dialog, DialogContent, DialogTitle, FormControlLabel } from \"@material-ui/core\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport DateField from 'views/Accounts/Workshop/Maintenance/ManageInvoice/DateField';\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\n\n\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n },\n title: {\n display: \"flex\",\n justifyContent: \"left\",\n \"& h2\": {\n // color: theme.palette.primary.main,\n fontSize: \"40px\",\n fontWeight: 40,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"0 25px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"end\",\n marginTop: '40px',\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n purchaseGrid: {\n paddingTop: \"0 !important\",\n paddingBottom: \"0 !important\",\n height: \"85px\",\n },\n purchaseStock: {\n marginBottom: \"20px\",\n maxWidth: \"274px\",\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"25%\",\n },\n }\n}));\n\n\nfunction AdditionalFieldPopUp(props) {\n const classes = useStyles();\n const { handleClose, currentSelectedRow, actionData, currentPlanningDetails } = props\n const [checked, setChecked] = useState(true)\n const [errors, setErrors] = useState({});\n const message = useContext(ToastMessageContext)\n const [files, setFiles] = useState([])\n const { setCopyCalendarStatus } = useContext(WorkshopContext)\n\n const handleSubmit = async (e) => {\n\n e.preventDefault();\n\n const formData = new FormData(e.target);\n let valid = true;\n\n let error = {\n last_completed: false,\n camo_records: false,\n\n };\n if (formData && formData.get(\"last_completed\")?.length === 0) {\n error.last_completed = true;\n valid = false;\n }\n if (formData && formData.get(\"camo_records\") === \" \") {\n error.camo_records = true;\n valid = false;\n }\n if (!valid) {\n\n setErrors(error);\n return;\n }\n\n\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id)\n formData.append(\"workshop_action_id\", currentSelectedRow.workshop_action_id)\n formData.append(\"action_type\", currentSelectedRow.action_type)\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"raised_by\", userDetails?.id);\n formData.append(\"camo_records\", checked)\n formData.append(\"repeat_events\", currentSelectedRow.repeat_events)\n await MaintenanceServices.copyPreviousCreateAction(formData).then((response) => {\n if (response.success) {\n setCopyCalendarStatus(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch((error) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n })\n\n\n\n\n\n }\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n\n\n return (\n
\n \n \n \n Additional Data Required\n \n \n \n
\n
\n \n\n \n { setErrors({ ...errors, last_completed: false }); }}\n\n />\n \n \n {\n setChecked(e.target.checked);\n }}\n error={errors.camo_records}\n setError={() => resetErrorsHandler(\"camo_records\")}\n />}\n label=\"Operator / CAMO Part M technical records applicable each time?\"\n labelPlacement=\"start\"\n name={\"camo_records\"}\n />\n \n \n
\n \n Cancel\n \n \n Complete\n \n
\n \n
\n
\n \n
\n )\n}\n\nexport default AdditionalFieldPopUp","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n TableRow,\n TableCell,\n TableBody,\n MenuItem,\n Table,\n TableContainer,\n Divider,\n TableHead,\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"750px\",\n // height: \"110vh\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"50px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden !important\"\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n tableCell: {\n height: '32px',\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n\n },\n })\n);\n\nexport default function Stages(props) {\n const { handleClose, currentSelection } = props;\n const classes = useStyles();\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const message = useContext(ToastMessageContext);\n const [actionStages, setActionStages] = useState([]);\n const [pageSizes, setPageSizes] = useState(5);\n const [page, setPage] = useState(0);\n const [totalCount, setTotalCount] = useState(5);\n const [isGettingDetails, setIsGettingDetails] = useState(false);\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSizes,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n\n\n const column = [\n // {\n // title: \"\",\n // field: \"id\",\n // width: \"4%\",\n // render: () =>  ,\n // },\n {\n title: \"Stage\",\n field: \"stage_position\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"0px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"10px\",\n },\n },\n {\n title: \"Title\",\n field: \"stage_name\",\n width: '80%',\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n width: '80%',\n textAlign: \"left\",\n },\n },\n\n {\n title: \"SubFields\",\n headerStyle: {\n // textAlign: \"right\",\n paddingRight: '17px',\n },\n // cellStyle: {\n // paddingLeft: '80px',\n // textAlign: \"center\"\n // },\n render: (rowData) => (\n \n {!rowData?.stage_fields?.length ? \"0\" : rowData?.stage_fields?.length}\n \n ),\n },\n\n\n ];\n\n const getAllActionStages = async () => {\n setIsGettingDetails(true);\n const params = {\n workshop_action_id: currentSelection?.workshop_action_id,\n page: page + 1,\n limit: pageSizes,\n\n // search: debouncedVal,\n };\n await InspectionServices.getAllActionStages(params)\n .then((res) => {\n if (res) {\n setActionStages(res.data);\n setTotalCount(res.total_count);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setIsGettingDetails(false);\n });\n };\n\n\n useEffect(() => {\n if (currentSelection?.workshop_action_id)\n getAllActionStages();\n }, [currentSelection?.workshop_action_id, page, pageSizes]);\n return (\n
\n \n
\n \n Stages\n \n\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSizes(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n detailPanel={(rowData) =>\n !rowData?.stage_fields?.length ? (\n \n \n No sub fields found\n \n
\n ) : (\n \n \n\n \n {rowData?.stage_fields?.map((item, index) => (\n \n \n {index + 1} \n {item?.field_name} \n {/* {item?.field_name} */}\n \n\n ))}\n\n \n
\n\n\n
\n )\n }\n />\n \n
\n \n\n \n );\n}\n","\nimport React, { useEffect, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport { makeStyles } from \"lib/utils/common_utils\";\nimport { DialogContent, IconButton, Typography } from \"@material-ui/core\";\nimport FileUpload from \"components/form_components/fileUpload\";\n\nconst useStyles = makeStyles((theme) => ({\n certDialog: {\n \"& .MuiDialog-paper\": {\n boxShadow: \"0px 3px 6px #00000029\",\n position: \"absolute\",\n left: \"calc(50% - 250px)\",\n width: '44%'\n },\n },\n}));\nfunction TechFilesPopup(props) {\n const { handleClose, currentSelectedRow, open } = props\n const classes = useStyles();\n return (\n
\n\n \n
\n \n Files\n \n
\n ({\n filename: file?.file_name,\n url: file?.file_path,\n id: file?.id,\n })) : \" \"\n }\n APIUrl={\"\"}\n\n // setFiles={setPrePackingFiles}\n showBorderOnNoFiles={true}\n uploadButtonView={true}\n multiple={true}\n name={\"maintenance_file\"}\n action={\"Upload Document\"}\n\n\n />\n
\n
\n\n \n
\n )\n}\n\nexport default TechFilesPopup","import MaterialTable from \"material-table\";\nimport React, { useReducer, useEffect, useContext } from \"react\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Box, IconButton, Typography, Grid, useTheme } from \"@material-ui/core\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport alertIcon from 'assets/icons/Alert_icon.png'\nimport { useState } from \"react\";\nimport AdditionalFieldPopUp from \"./AdditionalFieldPopUp\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\nimport Stages from \"./Stages\";\nimport TechFilesPopup from \"./TechFilesPopup\";\nimport FileCopyIcon from \"@material-ui/icons/FileCopy\";\n\nconst useStyles = makeStyles(() => ({}));\n\nfunction InspectionActions(props) {\n // const classes = useStyles();\n const { currentClosedDetails, currentPlanningDetails } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const message = useContext(ToastMessageContext)\n const { copyTabStatus, copyCalendarStatus, copyAllActions, setCopyAllactions } = useContext(WorkshopContext)\n const { page, totalCount, pageSize } = tableState;\n const [action, setAction] = useState(false)\n const [actionDetails, setActionDetails] = useState(false)\n const [actionData, setActionData] = useState([])\n const [files, setFiles] = useState([])\n const [currentSelection, setCurrentSelection] = useState({})\n const [currentSelectedRow, setCurrentSelectedRow] = useState({})\n const [isTechFiles, setIsTechFiles] = useState(false)\n const theme = useTheme()\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: true\n };\n const getActionList = async () => {\n setActionDetails(true)\n const params = {\n workshop_order_id: currentClosedDetails.id,\n page: page + 1,\n limit: pageSize,\n }\n await MaintenanceServices.copyPreviousGetActionList(params).then((response) => {\n setActionData(response.data)\n TableAction.setTotalCount(dispatch, response.total_count);\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n })\n }).finally(() => {\n setActionDetails(false)\n })\n }\n\n useEffect(() => {\n getActionList()\n }, [currentClosedDetails.id, page, pageSize, totalCount])\n\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n const handleSubmit = async (rowData) => {\n const formData = new FormData()\n\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id)\n formData.append(\"workshop_action_id\", rowData.workshop_action_id)\n formData.append(\"action_type\", rowData.action_type)\n formData.append(\"template_copy\", false)\n\n formData.append(\"raised_by\", userDetails?.id);\n setFiles(rowData.maintenance_file)\n files.forEach((file) => formData.set(\"maintenance_file[]\", file))\n\n await MaintenanceServices.copyPreviousCreateAction(formData).then((response) => {\n if (response.success) {\n copyTabStatus.push(rowData.workshop_action_id)\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n\n }).catch((error) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n })\n }\n\n const handleCopyAllActions = async () => {\n const formData = new FormData()\n\n formData.append(\"from_workshop_order_id\", currentClosedDetails.id)\n formData.append(\"to_workshop_order_id\", currentPlanningDetails?.id)\n formData.append(\"user_id\", userDetails?.id)\n formData.append(\"template_copy\", false)\n\n await MaintenanceServices.updateCopyAllActions(formData)\n .then((res) => {\n if (res.success) {\n // getWorkshopOrderDetails()\n setCopyAllactions(true)\n message.showToastMessage({\n message: \"All Actions copied successfully \",\n variant: \"success\",\n });\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n\n })\n\n\n\n }\n\n const columns = [\n {\n title: \"Action #\",\n field: \"action_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n },\n {\n title: \"Title\",\n field: \"title\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"50%\",\n },\n },\n {\n title: \"Est Man-Hrs\",\n field: \"estimate_man_hours\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n },\n\n {\n title: \"Stages\",\n field: \"stage_count\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n \n )\n },\n {\n title: \"Cal Freq\",\n field: \"calendar_frequency\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => rowData.calendar_frequency ? rowData.calendar_frequency : \"-\"\n },\n {\n title: \"Tech Data\",\n // field: \"maintenance_file\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n \n {\n setIsTechFiles(true)\n setAction(\"view_files\")\n setCurrentSelectedRow(rowData)\n }}\n />\n \n\n
\n\n )\n\n\n },\n {\n title: \"Action\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n rowData.action_type === 4 ?
\n {\n setAction(\"View\")\n setCurrentSelectedRow(rowData)\n copyTabStatus.push(rowData.workshop_action_id)\n }}\n disabled={copyCalendarStatus && copyTabStatus.find((item) => item === rowData.workshop_action_id)}\n >\n\n {copyCalendarStatus && copyTabStatus.find((item) => item === rowData.workshop_action_id) ? item === rowData.workshop_action_id) ? \"none\" : \"\", }} /> :\n\n \n }\n\n \n
:\n
\n {\n handleSubmit(rowData)\n }}\n disabled={copyTabStatus.find((item) => item === rowData.workshop_action_id)}\n >\n {copyTabStatus.find((item) => item === rowData.workshop_action_id) ? item === rowData.workshop_action_id) ? \"none\" : \"\", }} /> :\n\n \n }\n\n \n
\n ),\n },\n ];\n\n\n\n\n return (\n
\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n actions={actionData.length > 0 && [\n {\n icon: () => (\n \n Copy ALL Actions \n \n\n \n ),\n tooltip: \"Copy\",\n isFreeAction: true,\n disabled: copyAllActions,\n onClick: () => handleCopyAllActions(),\n },\n ]}\n />\n
\n Tech Data will be copied. Check for correct revision and update as necessary in the 'To' Order after copying\n
\n {action && action === \"View\" &&\n setAction(null)}\n actionData={actionData}\n currentSelectedRow={currentSelectedRow}\n currentPlanningDetails={currentPlanningDetails} />}\n\n {\n action === 'view_stages' && (\n setAction(null)}\n currentSelection={currentSelection}\n\n />\n\n )\n\n }\n {\n action === 'view_files' && (\n setAction(null)}\n currentSelectedRow={currentSelectedRow}\n open={isTechFiles}\n />\n )\n }\n\n
\n\n );\n}\n\nexport default InspectionActions;\n","import MaterialTable from \"material-table\";\nimport React, { useReducer } from \"react\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport { Box, FormControlLabel } from \"@material-ui/core\";\n// import { IconButton } from \"@material-ui/core\";\n// import {Visibility as ViewIcon} from \"@material-ui/icons/Visibility\";\n// import { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport MROButton from \"components/buttons\";\n\nconst useStyles = makeStyles(() => ({}));\n\nfunction MaintActions() {\n // const classes = useStyles();\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize } = tableState;\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false\n };\n\n const columns = [\n {\n title: \"Action #\",\n field: \"actions\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Title\",\n field: \"title\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"70%\",\n },\n },\n {\n title: \"Man-Hrs\",\n field: \"man_hrs\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Stages\",\n field: \"stages\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Tech Data\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n // render: (rowData) => (\n //
\n // {\n // // setAction(\"view_min_max\");\n // // setCurrentSelection(rowData);\n // }}\n // >\n // \n // \n //
\n // ),\n },\n {\n title: \"Action\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n setShow(!show)}\n />\n }\n />\n
\n ),\n },\n ];\n return (\n
\n
\n Select all items for copy\n \n setShow(!show)}\n />\n \n
\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n Copy & Next\n \n \n
\n );\n}\n\nexport default MaintActions;\n","\nimport React, { useContext, useState, useEffect } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Dialog, DialogContent, DialogTitle, FormControlLabel, MenuItem } from \"@material-ui/core\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport DateField from 'components/form_components/DateField';\nimport MROTextField from \"components/form_components/TextField\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport { getOrganisationId } from 'lib/utils/common_utils';\n\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n },\n title: {\n display: \"flex\",\n justifyContent: \"left\",\n \"& h2\": {\n // color: theme.palette.primary.main,\n fontSize: \"40px\",\n fontWeight: 40,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"0 25px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"end\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n purchaseGrid: {\n paddingTop: \"0 !important\",\n paddingBottom: \"0 !important\",\n height: \"85px\",\n },\n purchaseStock: {\n marginBottom: \"20px\",\n maxWidth: \"300px\",\n marginTop: '10px'\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"22%\",\n },\n }\n}));\n\n\nfunction AdditionalData(props) {\n const classes = useStyles();\n const { handleClose, currentClosedDetails, currentPlanningDetails, selectedRow, copyTab } = props\n const [actionDpdOptions, setActionDpdOptions] = useState([]);\n // console.log(\"data======\", selectedRow)\n const message = useContext(ToastMessageContext)\n const { flag, setflag } = useContext(WorkshopContext)\n const [error, setError] = useState({});\n\n const [loading, setLoading] = useState(false)\n const getActions = async () => {\n try {\n const { data } = await MaintenanceServices.getActionsDpdOptions({\n id: currentPlanningDetails.id,\n });\n setActionDpdOptions(data);\n } catch (error) {\n console.log(error);\n }\n };\n\n useEffect(() => {\n getActions();\n }, []);\n\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formData = new FormData(e.target)\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n let valid = true;\n let errors = {\n workshop_action_id: false,\n\n };\n if (formData && formData.get(\"workshop_action_id\")?.length === 0) {\n errors.workshop_action_id = true;\n valid = false;\n }\n if (!valid) {\n\n setError(errors);\n return;\n }\n if (copyTab === \"normal\") {\n\n setLoading(true)\n formData.append(\"issued_comment\", selectedRow.us_comment);\n formData.append(\"from_base_station_id\", currentClosedDetails?.base_station_id);\n formData.append(\"to_base_station_id\", currentPlanningDetails?.base_station_id);\n formData.append(\"quantity\", selectedRow.required_quantity)\n formData.append(\"user_id\", userDetails?.id);\n formData.append(\"primary_part_id\", selectedRow?.prime_part_id);\n formData.append(\"reportable_type\", \"WorkshopOrder\");\n formData.append(\"reportable_id\", currentPlanningDetails?.id);\n formData.append(\"order_number\", currentPlanningDetails?.order_no);\n formData.append(\"line_customer_id\", currentPlanningDetails?.line_customer_id);\n formData.append(\"part_number\", selectedRow.part_number)\n await MaintenanceServices.createPartRequest(formData).then((res) => {\n if (res.success) {\n setflag(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n else {\n message.showToastMessage({ message: res.error ? res.error : \"Something went wrong. Try again\", variant: \"error\" });\n handleClose()\n }\n }).catch((res) => {\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n else if (copyTab === \"template\") {\n setLoading(true)\n formData.append(\"quantity\", selectedRow.required_quantity)\n formData.append(\"primary_part_id\", selectedRow?.prime_part_id);\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id);\n formData.append(\"organisation_id\", getOrganisationId());\n await MaintenanceServices.addPlanningTemplateParts(formData).then((res) => {\n if (res.success) {\n setflag(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n }\n\n\n return (\n
\n \n \n \n Additional Data Required\n \n \n \n
\n
\n \n\n \n \n {\n setError({ ...error, workshop_action_id: false });\n }}\n\n >\n Select\n {actionDpdOptions && actionDpdOptions?.map((list) => (\n {list.action_number}\n ))}\n \n \n\n\n \n \n
\n \n Cancel\n \n \n Complete\n \n
\n \n
\n
\n \n
\n )\n}\n\nexport default AdditionalData","import MaterialTable from \"material-table\";\nimport React, { useReducer, useState, useEffect, useContext } from \"react\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport useDebounce from \"lib/utils/debounce\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport AdditionalData from \"./AdditionalData\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { IconButton } from \"@material-ui/core\";\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\nimport alertIcon from 'assets/icons/Alert_icon.png'\nconst useStyles = makeStyles(() => ({}));\n\nfunction Parts(props) {\n // const classes = useStyles();\n const { currentClosedDetails, currentPlanningDetails, copyTab } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, inProgress, data } = tableState;\n const [action, setAction] = useState(false)\n const message = useContext(ToastMessageContext);\n const { copyPartTabStatus, flag } = useContext(WorkshopContext)\n const [issued, setIssued] = useState(true);\n const [searchText, setSearchText] = useState(\"\");\n const [selectedRow, setSelectedRow] = useState({});\n const debouncedVal = useDebounce(searchText);\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false\n };\n\n\n\n const getList = () => {\n const params = {\n reportable_type: \"WorkshopOrder\",\n reportable_id: currentClosedDetails.id,\n search_keyword: debouncedVal,\n page: 1 + page,\n count_per_page: pageSize,\n to_issued: issued,\n // ...filters\n };\n\n TableAction.getList(dispatch, message, params, \"workshopRequestPart\");\n };\n\n useEffect(() => {\n getList();\n }, [page, debouncedVal, pageSize, issued]);\n\n const columns = [\n {\n title: \"Action #\",\n field: \"action_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n },\n {\n title: \"Part #\",\n field: \"part_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"70%\",\n },\n },\n {\n title: \"Quantity\",\n field: \"required_quantity\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Action\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n {\n setAction(\"View\");\n copyPartTabStatus.push(rowData.id)\n setSelectedRow(rowData);\n\n }}\n disabled={flag && copyPartTabStatus.find((item) => item === rowData.id)}\n >\n {flag && copyPartTabStatus.find((item) => item === rowData.id) ? item === rowData.id) ? \"none\" : \"\", }} /> :\n\n \n }\n \n
\n ),\n },\n ];\n return (\n
\n\n {\n // selected.push(rowData.id)\n // }\n\n // }\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n
\n Copy Actions first! Parts must be associated to a new Action in the 'To' Order\n
\n {action && action === \"View\" &&\n setAction(null)} currentClosedDetails={currentClosedDetails} currentPlanningDetails={currentPlanningDetails} selectedRow={selectedRow} copyTab={copyTab} />}\n
\n );\n}\n\nexport default Parts;\n","import React, { useContext, useState, useEffect } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Dialog, DialogContent, DialogTitle, Box, MenuItem } from \"@material-ui/core\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport DateField from 'components/form_components/DateField';\nimport MROTextField from \"components/form_components/TextField\";\nimport ServiceRequestListClientServices from \"lib/services/api/procurement/Services\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport moment from 'moment';\nimport { getOrganisationId } from 'lib/utils/common_utils';\n\n\n\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n },\n title: {\n display: \"flex\",\n justifyContent: \"left\",\n \"& h2\": {\n // color: theme.palette.primary.main,\n fontSize: \"40px\",\n fontWeight: 40,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"0 25px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"end\",\n marginRight: \"6px\",\n marginTop: '21px',\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n purchaseGrid: {\n paddingTop: \"0 !important\",\n paddingBottom: \"0 !important\",\n height: \"85px\",\n },\n purchaseStock: {\n marginBottom: \"75px\",\n maxWidth: \"340px\",\n marginTop: '10px'\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"24%\",\n },\n }\n}));\n\n\nexport default function AdditionalData(props) {\n const classes = useStyles();\n const { handleClose, currentClosedDetails, currentPlanningDetails, selectedRow, copyTab } = props\n const [actionDpdOptions, setActionDpdOptions] = useState([]);\n const message = useContext(ToastMessageContext)\n const { setServiceStatus } = useContext(WorkshopContext)\n const [error, setError] = useState({});\n const [loading, setLoading] = useState(false)\n const getActions = async () => {\n try {\n const { data } = await MaintenanceServices.getActionsDpdOptions({\n id: currentPlanningDetails.id,\n });\n setActionDpdOptions(data);\n } catch (error) {\n console.log(error);\n }\n };\n\n useEffect(() => {\n getActions();\n }, []);\n const handleCopyFile = async (id) => {\n const formData = new FormData()\n formData.append(\"from_service_id\", selectedRow.id)\n formData.append(\"to_service_id\", id)\n formData.append(\"workshop_order_id\", currentClosedDetails?.id)\n await MaintenanceServices.copyTemplateServicesFiles(formData).then((res) => {\n\n }).catch(() => {\n\n })\n\n }\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formData = new FormData(e.target)\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n let valid = true;\n let errors = {\n workshop_action_id: false,\n desired_date: false\n\n };\n if (formData && formData.get(\"workshop_action_id\")?.length === 0) {\n errors.workshop_action_id = true;\n valid = false;\n }\n if (copyTab === \"normal\") {\n if (formData && formData.get(\"desired_date\").length === 0) {\n errors.desired_date = true;\n valid = false;\n }\n }\n if (!valid) {\n\n setError(errors);\n return;\n }\n\n if (copyTab === \"normal\") {\n setLoading(true)\n formData.append(\"service_id\", selectedRow.id)\n formData.append(\"location\", selectedRow.location);\n formData.append(\"part_scope_id\", selectedRow.part_scope_id);\n formData.append(\"approval_type_id\", selectedRow?.approval_type_id);\n formData.append(\"part_category_id\", selectedRow.part_category_id)\n formData.append(\"user_id\", userDetails?.id);\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id);\n formData.append(\"description\", selectedRow?.description);\n formData.append(\"tech_data_ref\", selectedRow?.tech_data_ref);\n formData.append(\"base_station_id\", currentPlanningDetails?.base_station_id);\n formData.append(\"from_workshop_action_id\", currentPlanningDetails?.id);\n formData.append(\"to_workshop_action_id\", currentClosedDetails?.id);\n\n // selectedRow.tech_data.forEach(file => formData.append(\"tech_data\", file))\n // selectedRow.order_reports.forEach(file => formData.append(\"order_reports\", file))\n\n\n await ServiceRequestListClientServices.createServices(formData).then((response) => {\n if (response.success) {\n setServiceStatus(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch((error) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n else if (copyTab === \"template\") {\n setLoading(true)\n // const date = formData.get(\"desired_date\")\n // formData.delete(\"desired_date\")\n // formData.append(\"desired_date\", moment(date, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\"));\n formData.append(\"location\", selectedRow.location === \"Supplier Site\" ? \"supplier_off_site\" : \"mro_on_site\");\n formData.append(\"part_scope_id\", selectedRow.part_scope_id);\n formData.append(\"approval_type_id\", selectedRow?.approval_type_id);\n formData.append(\"part_category_id\", selectedRow.part_category_id)\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id);\n formData.append(\"description\", selectedRow?.description);\n formData.append(\"tech_data_ref\", selectedRow?.tech_data_ref);\n formData.append(\"organisation_id\", getOrganisationId());\n await MaintenanceServices.addPlanningTemplateService(formData).then((response) => {\n if (response.success) {\n handleCopyFile(response.id)\n setServiceStatus(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n if (response.error) {\n setServiceStatus(false)\n handleClose()\n message.showToastMessage({\n message: response?.error ? response?.error : \"Something went wrong\",\n variant: \"error\",\n });\n }\n }).catch((error) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n }\n\n return (\n
\n \n \n \n Additional Data Required\n \n \n \n
\n
\n\n\n \n {\n setError({ ...error, workshop_action_id: false });\n }}\n\n >\n Select\n {actionDpdOptions && actionDpdOptions?.map((list) => (\n {list.action_number}\n ))}\n \n \n {copyTab === \"normal\" && \n { setError({ ...error, desired_date: false }); }}\n\n />\n }\n\n
\n \n Cancel\n \n \n Complete\n \n
\n
\n
\n
\n \n
\n )\n}\n","\nimport React from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport { makeStyles } from \"lib/utils/common_utils\";\nimport { DialogContent, IconButton, Typography } from \"@material-ui/core\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport { BASE_API_URL_BOXR } from \"lib/constants\";\nconst useStyles = makeStyles((theme) => ({\n certDialog: {\n \"& .MuiDialog-paper\": {\n boxShadow: \"0px 3px 6px #00000029\",\n position: \"absolute\",\n left: \"calc(50% - 250px)\",\n width: '44%'\n },\n },\n}));\nfunction TechFilesPopup(props) {\n const { handleClose, currentSelectedRow, open } = props\n const classes = useStyles();\n return (\n
\n\n \n
\n \n Files\n \n
\n ({\n filename: file?.filename,\n url: file?.url,\n id: file?.id,\n })) : \" \"\n }\n APIUrl={\"\"}\n showBorderOnNoFiles={true}\n uploadButtonView={true}\n multiple={true}\n name={\"maintenance_file\"}\n action={\"Upload Document\"}\n\n />\n
\n
\n\n \n
\n )\n}\n\nexport default TechFilesPopup","import MaterialTable from \"material-table\";\nimport React, { useReducer, useState, useEffect, useContext } from \"react\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport { IconButton } from \"@material-ui/core\";\nimport AdditionalData from \"./AdditionalData\";\nimport useDebounce from \"lib/utils/debounce\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\n\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\nimport alertIcon from 'assets/icons/Alert_icon.png'\nimport TechFilesPopup from \"./TechFilesPopup\";\n\n\nfunction Services(props) {\n\n const { currentClosedDetails, currentPlanningDetails, copyTab } = props\n const [searchText, setSearchText] = useState(\"\");\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, data, inProgress } = tableState;\n const [action, setAction] = useState(false)\n const message = useContext(ToastMessageContext);\n const { copyServiceTabStatus, serviceStatus } = useContext(WorkshopContext)\n const debouncedVal = useDebounce(searchText);\n const [selectedRow, setSelectedRow] = useState({});\n const [isTechFiles, setIsTechFiles] = useState(false)\n const [currentSelectedRow, setCurrentSelectedRow] = useState({})\n\n const getServices = () => {\n const params = {\n count_per_page: pageSize,\n page: page + 1,\n workshop_order_id: currentClosedDetails?.id,\n search_keyword: debouncedVal,\n };\n TableAction.getList(dispatch, message, params, \"workshopServices\");\n }\n\n useEffect(() => {\n getServices();\n }, [page, pageSize, debouncedVal]);\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false\n };\n\n const columns = [\n {\n title: \"Action #\",\n field: \"workshop_action_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n },\n {\n title: \"Category\",\n field: \"scope\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Type\",\n field: \"service_type\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"30%\",\n },\n },\n {\n title: \"Location\",\n field: \"location\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n render: (rowData) => {\n if (rowData?.location === \"mro_on_site\") return \"MRO Site\"\n else if (rowData?.location === \"supplier_off_site\") {\n return \"Supplier Site\"\n }\n }\n },\n\n {\n title: \"Tech Data\",\n // field: \"tech_data\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n render: (rowData) => (\n
\n \n {\n setIsTechFiles(true)\n setAction(\"view_files\")\n setCurrentSelectedRow(rowData)\n }}\n />\n \n\n
\n\n )\n },\n {\n title: \"Action\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n {\n setAction(\"View\");\n setSelectedRow(rowData);\n copyServiceTabStatus.push(rowData.id)\n }}\n disabled={serviceStatus && copyServiceTabStatus.find((item) => item === rowData.id)}\n >\n {serviceStatus && copyServiceTabStatus.find((item) => item === rowData.id) ? item === rowData.id) ? \"none\" : \"\" }} /> :\n\n \n }\n \n
\n ),\n },\n ];\n return (\n
\n\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n
    \n
  • \n Copy Actions first! Parts must be associated to a new Action in the 'To' Order
  • \n
  • \n Tech Data will be copied. Check for correct revision and update as necessary in the 'To' Order after copying
  • \n
  • \n Supplier Site services must have a Part # and Serial # added in the Service Request in the 'To' Order after copying
  • \n
\n {action && action === \"View\" && setAction(null)} currentClosedDetails={currentClosedDetails} currentPlanningDetails={currentPlanningDetails} selectedRow={selectedRow} copyTab={copyTab} />\n }\n\n {\n action === 'view_files' && (\n setAction(null)}\n currentSelectedRow={currentSelectedRow}\n open={isTechFiles}\n />\n )\n }\n
\n );\n}\n\nexport default Services;\n","import React, { useContext, useState, useEffect } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Dialog, DialogContent, DialogTitle, Box, MenuItem } from \"@material-ui/core\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport DateField from 'components/form_components/DateField';\nimport MROTextField from \"components/form_components/TextField\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport ServiceRequestListClientServices from 'lib/services/api/procurement/Services';\nimport moment from 'moment';\nimport { getOrganisationId } from 'lib/utils/common_utils';\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n\n },\n title: {\n display: \"flex\",\n justifyContent: \"left\",\n \"& h2\": {\n // color: theme.palette.primary.main,\n fontSize: \"40px\",\n fontWeight: 40,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"8px 29px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"end\",\n marginRight: \"6px\",\n marginTop: '21px',\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"24%\",\n },\n }\n}));\n\n\nexport default function AdditionalData(props) {\n const classes = useStyles();\n const { handleClose, currentClosedDetails, currentPlanningDetails, selectedRow, copyTab } = props\n const [actionDpdOptions, setActionDpdOptions] = useState([]);\n const { setEquipmentStatus } = useContext(WorkshopContext)\n const [error, setError] = useState({});\n const message = useContext(ToastMessageContext)\n const [loading, setLoading] = useState(false)\n const getActions = async () => {\n try {\n const { data } = await MaintenanceServices.getActionsDpdOptions({\n id: currentPlanningDetails.id,\n });\n setActionDpdOptions(data);\n } catch (error) {\n console.log(error);\n }\n };\n\n useEffect(() => {\n getActions();\n }, []);\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formData = new FormData(e.target)\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n\n let valid = true;\n let errors = {\n workshop_action_id: false,\n desired_date: false,\n duration: false\n\n };\n if (formData && formData.get(\"workshop_action_id\")?.length === 0) {\n errors.workshop_action_id = true;\n valid = false;\n }\n if (copyTab === \"normal\") {\n if (formData && formData.get(\"desired_date\").length === 0) {\n errors.desired_date = true;\n valid = false;\n }\n if (formData && formData.get(\"duration\").length === 0) {\n errors.duration = true;\n valid = false;\n }\n }\n if (!valid) {\n\n setError(errors);\n return;\n }\n if (copyTab === \"normal\") {\n setLoading(true)\n formData.append(\"user_id\", userDetails.id)\n formData.append(\"base_station_id\", currentPlanningDetails?.base_station_id)\n formData.append(\"description\", selectedRow?.description)\n // // setBusy(\"loading\")\n ServiceRequestListClientServices.workshopCreateEquipments(formData)\n .then((res) => {\n if (res.success) {\n setEquipmentStatus(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!!\",\n variant: \"error\"\n })\n }).finally(() => {\n setLoading(false)\n })\n }\n else if (copyTab === \"template\") {\n setLoading(true)\n // const date = formData.get(\"desired_date\")\n // formData.delete(\"desired_date\")\n\n // formData.append(\"desired_date\", moment(date, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\"));\n formData.append(\"organisation_id\", getOrganisationId())\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id)\n formData.append(\"description\", selectedRow?.description)\n // // setBusy(\"loading\")\n await MaintenanceServices.addPlanningTemplateEquipment(formData)\n .then((res) => {\n if (res.success) {\n setEquipmentStatus(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!!\",\n variant: \"error\"\n })\n }).finally(() => {\n setLoading(false)\n })\n\n }\n }\n\n\n\n\n return (\n
\n \n \n \n Additional Data Required\n \n \n \n
\n
\n \n {\n setError({ ...error, workshop_action_id: false });\n }}\n\n >\n Select\n {actionDpdOptions && actionDpdOptions?.map((list) => (\n {list.action_number}\n ))}\n \n \n {copyTab === \"normal\" && <> \n { setError({ ...error, desired_date: false }); }}\n\n />\n \n \n {\n setError({ ...error, duration: false })\n }} >\n \n\n }\n
\n \n Cancel\n \n \n Complete\n \n
\n
\n
\n
\n \n
\n )\n}\n","import MaterialTable from \"material-table\";\nimport React, { useReducer, useState, useEffect, useContext } from \"react\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport FileCopy from '@material-ui/icons/FileCopy';\nimport { Box, FormControlLabel } from \"@material-ui/core\";\nimport { IconButton } from \"@material-ui/core\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport { Visibility as ViewIcon } from \"@material-ui/icons/Visibility\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport MROButton from \"components/buttons\";\nimport AdditionalData from \"./AdditionalData\";\nimport alertIcon from 'assets/icons/Alert_icon.png'\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\nconst useStyles = makeStyles(() => ({}));\n\n\n\nfunction Equipment(props) {\n const classes = useStyles();\n const { currentClosedDetails, currentPlanningDetails, copyTab } = props\n const [selectedRow, setSelectedRow] = useState({});\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const message = useContext(ToastMessageContext);\n const { page, totalCount, pageSize, inProgress, data } = tableState;\n const { copyEquipmentTabStatus, equipmentStatus } = useContext(WorkshopContext)\n const [action, setAction] = useState(false)\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false\n };\n useEffect(() => {\n getWorkshopEquipment();\n }, [page, pageSize]);\n\n const getWorkshopEquipment = () => {\n const params = {\n\n page: page + 1,\n id: currentClosedDetails?.id,\n count_per_page: pageSize,\n\n };\n TableAction.getList(dispatch, message, params, \"getWorkshopEquipment\");\n };\n\n const columns = [\n {\n title: \"Action #\",\n field: \"workshop_action_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"33px\"\n },\n },\n\n {\n title: \"Description\",\n field: \"description\",\n width: \"80%\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"80%\",\n },\n },\n\n {\n title: \"Action\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n {\n setAction(\"View\");\n setSelectedRow(rowData);\n copyEquipmentTabStatus.push(rowData.id)\n }}\n disabled={equipmentStatus && copyEquipmentTabStatus.find((item) => item === rowData.id)}\n >\n\n {equipmentStatus &&\n copyEquipmentTabStatus.find((item) => item === rowData.id) ? item === rowData.id) ? \"none\" : \"\" }} /> :\n\n \n }\n \n
\n ),\n },\n ];\n return (\n
\n\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n
\n Copy Actions first! Parts must be associated to a new Action in the 'To' Order\n
\n {action && action === \"View\" && setAction(null)} currentClosedDetails={currentClosedDetails} currentPlanningDetails={currentPlanningDetails} selectedRow={selectedRow} copyTab={copyTab} />}\n
\n );\n}\n\nexport default Equipment;\n","import MaterialTable from \"material-table\";\nimport React, { useReducer, useState, useEffect } from \"react\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Box, IconButton } from \"@material-ui/core\";\nimport FileCopy from '@material-ui/icons/FileCopy';\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { Visibility as ViewIcon } from \"@material-ui/icons\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { useContext } from \"react\";\nimport _ from \"lodash\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\nimport alertIcon from 'assets/icons/Alert_icon.png'\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles(() => ({}));\n\n\nfunction Plan(props) {\n const classes = useStyles();\n const { currentClosedDetails, currentPlanningDetails, planningId, planningWholeDetails } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const message = useContext(ToastMessageContext)\n const { copyPlanningTab, setCopyPlanningTab, planningNullId } = useContext(WorkshopContext)\n const { page, totalCount, pageSize } = tableState;\n const [loading, setLoading] = useState(false)\n const [mainFiles, setMainFiles] = useState([])\n const [planningData, setPlanningData] = useState({})\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n };\n\n\n\n\n const handleFileCopy = async (item, value, id) => {\n\n const formData = new FormData(document.getElementById(\"my-form\"));\n\n const param = {\n id: currentPlanningDetails?.planning_id ? currentPlanningDetails?.planning_id : planningId.planning_id ? planningId.planning_id : planningNullId ? planningNullId : currentPlanningDetails?.planning_id,\n save_later: 1,\n }\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id);\n if (copyPlanningTab.capability === false && planningWholeDetails?.capabilty_id) {\n formData.delete(\"capability_id\")\n formData.append(\"capability_id\", planningWholeDetails.capabilty_id)\n\n }\n if (copyPlanningTab.capability === false && planningWholeDetails?.capabilty_id) {\n formData.delete(\"capabilty_ref_data\")\n formData.append(\"capabilty_ref_data\", planningWholeDetails.capabilty_ref_data)\n\n }\n formData.append(\"inspection_action\", planningData.inspection_action)\n if (item === \"Status / Work\" || copyPlanningTab.status) {\n formData.delete(\"status_work\")\n formData.append(\"status_work\", planningData.status_work)\n }\n\n\n\n if (item === \"Release Auth\" || copyPlanningTab.releaseAuth) {\n formData.delete(\"release_auth\")\n formData.delete(\"release_auth_name\")\n formData.append(\"release_auth\", planningData.release_auth)\n formData.append(\"release_auth_name\", planningData.release_auth_name)\n }\n\n if (item === \"Description of work\" || copyPlanningTab.description) {\n formData.delete(\"description\")\n formData.append(\"description\", planningData.planning_description)\n }\n\n if (item === \"Technical Data CRS remarks\" || copyPlanningTab.techData) {\n formData.delete(\"tech_data_crs_remarks\")\n formData.append(\"tech_data_crs_remarks\", planningData.tech_data_crs_remarks)\n }\n\n if (item === \"Inspection Actions\" || copyPlanningTab.inspection) {\n formData.delete(\"inspection_action\")\n formData.append(\"inspection_action\", planningData.inspection_action)\n }\n\n if (item === \"Capability Reference\" || copyPlanningTab.capability) {\n formData.delete(\"capability_id\")\n formData.append(\"capability_id\", planningData.capability_id)\n formData.delete(\"capabilty_ref_data\")\n formData.append(\"capabilty_ref_data\", planningData.capabilty_ref_data)\n\n }\n\n if (item === \"Technical / Maint Data\") {\n\n formData.delete(\"tech_maintenance_avail\")\n formData.append(\"tech_maintenance_avail\", true)\n\n }\n await MaintenanceServices.updateSaveForLaterData(formData, param)\n .then((res) => {\n if (res.success) {\n // getWorkshopOrderDetails()\n\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(null)\n })\n }\n\n const handleTechDataFile = async (item) => {\n\n if (item !== undefined && item.length != 0) {\n\n\n const formData = new FormData(document.getElementById(\"my-form\"));\n formData.delete(\"tech_maintenance_avail\")\n formData.append(\"tech_maintenance_avail\", true)\n formData.append(\"from_workshop_order_id\", currentClosedDetails.id)\n formData.append(\"to_workshop_order_id\", currentPlanningDetails?.id)\n\n await MaintenanceServices.copyPlanningFile(formData).then((response) => {\n if (response.success) {\n // getWorkshopOrderDetails()\n\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n })\n }\n else {\n setCopyPlanningTab((ps) => ({ ...ps, image: false }));\n message.showToastMessage({\n message: \"No Report Found\",\n variant: \"error\",\n });\n }\n }\n\n\n const handleService = async () => {\n const formData = new FormData()\n\n formData.append(\"from_workshop_order_id\", currentClosedDetails.id)\n formData.append(\"to_workshop_order_id\", currentPlanningDetails?.id)\n\n\n await MaintenanceServices.updateServiceLifes(formData)\n .then((res) => {\n if (res.success) {\n // getWorkshopOrderDetails()\n\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(null)\n })\n\n\n\n }\n const handleProjectParts = async () => {\n const formData = new FormData()\n\n formData.append(\"from_workshop_order_id\", currentClosedDetails.id)\n formData.append(\"to_workshop_order_id\", currentPlanningDetails?.id)\n formData.append(\"reportable_type\", \"WorkshopOrder\")\n formData.append(\"organisation_id\", getOrganisationId())\n\n\n await MaintenanceServices.updateCopyProjectParts(formData)\n .then((res) => {\n if (res.success) {\n // getWorkshopOrderDetails()\n setCopyPlanningTab((ps) => ({ ...ps, projectParts: true }));\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch((res) => {\n\n setCopyPlanningTab((ps) => ({ ...ps, projectParts: false }));\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(null)\n })\n\n\n\n }\n const columns = [\n {\n title: \"Item\",\n field: \"item\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n\n },\n {\n title: \"Detail\",\n field: \"detail\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"50%\",\n },\n },\n {\n title: \"Action\",\n field: \"action\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n }\n ];\n\n //api call planning list \n const getPlanningList = async () => {\n setLoading(true)\n const params = {\n workshop_order_id: currentClosedDetails.id,\n organisation_id: getOrganisationId()\n }\n await MaintenanceServices.copyPreviousGetPlanningList(params).then((response) => {\n\n setPlanningData(response.data)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n })\n }).finally(() => {\n setLoading(false)\n })\n }\n useEffect(() => {\n getPlanningList()\n\n\n }, [currentClosedDetails.id, page, pageSize, totalCount])\n\n const handleFile = (report) => {\n\n return (\n \n \n {\n if (report !== undefined && report.length != 0) {\n window.open(report.map(document => document.file_path))\n }\n else {\n message.showToastMessage({\n message: \"No Report Found.\",\n variant: \"error\",\n })\n }\n }} />\n \n \n )\n\n }\n\n\n return (\n
\n {\n setCopyPlanningTab((ps) => ({ ...ps, status: true }));\n handleFileCopy(\"Status / Work\")\n }}\n disabled={copyPlanningTab.status || planningData.status_work === null}\n >\n {copyPlanningTab.status ? :\n\n \n }\n\n )\n },\n {\n item: \"Release Type 1\",\n detail: planningData.release_type_a_name ? planningData.release_type_a_name : \"N/A\",\n id: planningData.release_type_a,\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, releaseA: true }));\n handleFileCopy(\"Release Type 1\")\n\n\n }}\n disabled={copyPlanningTab.releaseA || planningData.release_type_a_name === null}\n >\n {copyPlanningTab.releaseA ? :\n\n \n }\n\n\n\n )\n\n },\n {\n item: \"Release Type 2\",\n detail: planningData.release_type_b_name ? planningData.release_type_b_name : \"N/A\",\n id: planningData.release_type_b,\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, releaseB: true }));\n handleFileCopy(\"Release Type 2\")\n\n }}\n disabled={copyPlanningTab.releaseB || planningData.release_type_b_name === null}\n >\n {copyPlanningTab.releaseB ? :\n\n \n }\n\n\n )\n }, //\n {\n item: \"Release Auth\",\n detail: planningData.release_auth_name ? planningData.release_auth_name : \"N/A\",\n id: planningData.release_auth,\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, releaseAuth: true }));\n handleFileCopy(\"Release Auth\")\n\n }}\n disabled={copyPlanningTab.releaseAuth || planningData.release_auth_name === null}\n >\n {copyPlanningTab.releaseAuth ? :\n\n \n }\n\n\n )\n },\n\n\n\n\n\n {\n item: \"Description of work\",\n detail: planningData.planning_description,\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, description: true }));\n handleFileCopy(\"Description of work\")\n }}\n disabled={copyPlanningTab.description || planningData.planning_description === null}\n >\n {copyPlanningTab.description ? :\n\n \n }\n\n\n\n )\n },\n {\n item: \"Technical Data CRS remarks\",\n detail: planningData.tech_data_crs_remarks ? planningData.tech_data_crs_remarks : \"N/A\",\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, techData: true }));\n handleFileCopy(\"Technical Data CRS remarks\")\n\n\n }}\n disabled={copyPlanningTab.techData || planningData.tech_data_crs_remarks === null}\n >\n {copyPlanningTab.techData ? :\n\n \n }\n\n )\n\n }, {\n item: \"Service Life\",\n detail: planningData && planningData?.service_lifes ? planningData?.service_lifes.toString() : \"N/A\",\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, service: true }));\n handleService(\"service_life\")\n\n\n }}\n disabled={copyPlanningTab.service}\n >\n {copyPlanningTab.service ? :\n\n \n }\n\n )\n\n }, {\n item: \"Projects Parts\",\n detail: planningData && planningData?.project_parts ? planningData?.project_parts : \"N/A\",\n action: ( {\n\n handleProjectParts()\n\n\n }}\n disabled={copyPlanningTab.projectParts || planningData?.project_parts === 0}\n >\n {copyPlanningTab.projectParts ? :\n\n \n }\n\n )\n\n },\n {\n item: \"Inspection Actions\",\n detail: planningData.inspection_action === true ? \"Yes\" : \"No\",\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, inspection: true }));\n handleFileCopy(\"Inspection Actions\")\n }}\n disabled={copyPlanningTab.inspection || planningData.inspection_action === null}\n >\n {copyPlanningTab.inspection ? :\n\n \n }\n\n\n )\n },\n {\n item: \"Capability Reference\",\n detail: planningData.capabilty_ref_data ? planningData.capabilty_ref_data : \"N/A\",\n id: planningData.capability_id,\n action: ( {\n setCopyPlanningTab((ps) => ({ ...ps, capability: true }));\n handleFileCopy(\"Capability Reference\")\n }}\n disabled={copyPlanningTab.capability || planningData.capabilty_ref_data === null}\n >\n {copyPlanningTab.capability ? :\n\n \n }\n\n\n )\n },\n // {\n // item: \"Technical / Maint Data\",\n // detail: handleFile(planningData.tech_maintenance_file),\n // action: ( {\n // setCopyPlanningTab((ps) => ({ ...ps, image: true }));\n // handleFileCopy(\"Technical / Maint Data\")\n // handleTechDataFile(planningData.tech_maintenance_file)\n // }}\n // disabled={copyPlanningTab.image}\n // >\n // {copyPlanningTab.image ? :\n\n // \n // }\n // )\n // },\n\n ].filter((item) => {\n if (!currentPlanningDetails?.project_part) {\n if (!planningData.inspection_action) {\n return item.item !== \"Projects Parts\" && item.item !== \"Inspection Actions\"\n\n } else {\n return item.item !== \"Projects Parts\"\n }\n\n\n }\n else {\n if (!planningData.inspection_action) {\n return item.item !== \"Inspection Actions\"\n\n }\n else {\n return item\n }\n\n }\n\n\n })}\n isLoading={loading}\n options={tableOptions}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n // totalCount={totalCount}\n // page={page}\n />\n {/*
\n If copying Tech Data be sure to confirm it is the latest revision!\n
*/}\n
\n );\n}\n\nexport default Plan;\n","import React, { useContext, useState } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Dialog, DialogContent, DialogTitle, FormControlLabel } from \"@material-ui/core\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport DateField from 'views/Accounts/Workshop/Maintenance/ManageInvoice/DateField';\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\n\n\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n },\n title: {\n display: \"flex\",\n justifyContent: \"left\",\n \"& h2\": {\n // color: theme.palette.primary.main,\n fontSize: \"40px\",\n fontWeight: 40,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"0 25px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"end\",\n marginTop: '40px',\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n purchaseGrid: {\n paddingTop: \"0 !important\",\n paddingBottom: \"0 !important\",\n height: \"85px\",\n },\n purchaseStock: {\n marginBottom: \"20px\",\n maxWidth: \"274px\",\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"25%\",\n },\n }\n}));\n\n\nfunction AdditionalFieldPopUp(props) {\n const classes = useStyles();\n const { handleClose, currentSelectedRow, actionData, currentPlanningDetails } = props\n const [checked, setChecked] = useState(true)\n const [errors, setErrors] = useState({});\n const message = useContext(ToastMessageContext)\n const [files, setFiles] = useState([])\n const { setCopyCalendarStatus } = useContext(WorkshopContext)\n\n const handleSubmit = async (e) => {\n\n e.preventDefault();\n\n const formData = new FormData(e.target);\n let valid = true;\n\n let error = {\n last_completed: false,\n camo_records: false,\n\n };\n if (formData && formData.get(\"last_completed\")?.length === 0) {\n error.last_completed = true;\n valid = false;\n }\n if (formData && formData.get(\"camo_records\") === \" \") {\n error.camo_records = true;\n valid = false;\n }\n if (!valid) {\n\n setErrors(error);\n return;\n }\n\n\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id)\n formData.append(\"workshop_action_id\", currentSelectedRow.workshop_action_id)\n formData.append(\"action_type\", currentSelectedRow.action_type)\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"raised_by\", userDetails?.id);\n formData.append(\"camo_records\", checked)\n formData.append(\"repeat_events\", currentSelectedRow.repeat_events)\n await MaintenanceServices.copyPreviousCreateAction(formData).then((response) => {\n if (response.success) {\n setCopyCalendarStatus(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch((error) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n })\n\n\n\n\n\n }\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n\n\n return (\n
\n \n \n \n Additional Data Required\n \n \n \n
\n
\n \n\n \n { setErrors({ ...errors, last_completed: false }); }}\n\n />\n \n \n {\n setChecked(e.target.checked);\n }}\n error={errors.camo_records}\n setError={() => resetErrorsHandler(\"camo_records\")}\n />}\n label=\"Operator / CAMO Part M technical records applicable each time?\"\n labelPlacement=\"start\"\n name={\"camo_records\"}\n />\n \n \n
\n \n Cancel\n \n \n Complete\n \n
\n \n
\n
\n \n
\n )\n}\n\nexport default AdditionalFieldPopUp","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n TableRow,\n TableCell,\n TableBody,\n MenuItem,\n Table,\n TableContainer,\n Divider,\n TableHead,\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"750px\",\n // height: \"110vh\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"50px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden !important\"\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n tableCell: {\n height: '32px',\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n\n },\n })\n);\n\nexport default function Stages(props) {\n const { handleClose, currentSelection } = props;\n const classes = useStyles();\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const message = useContext(ToastMessageContext);\n const [actionStages, setActionStages] = useState([]);\n const [pageSizes, setPageSizes] = useState(5);\n const [page, setPage] = useState(0);\n const [totalCount, setTotalCount] = useState(5);\n const [isGettingDetails, setIsGettingDetails] = useState(false);\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSizes,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n\n\n const column = [\n // {\n // title: \"\",\n // field: \"id\",\n // width: \"4%\",\n // render: () =>  ,\n // },\n {\n title: \"Stage\",\n field: \"stage_position\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"0px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"10px\",\n },\n },\n {\n title: \"Title\",\n field: \"stage_name\",\n width: '80%',\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n width: '80%',\n textAlign: \"left\",\n },\n },\n\n {\n title: \"SubFields\",\n headerStyle: {\n // textAlign: \"right\",\n paddingRight: '17px',\n },\n // cellStyle: {\n // paddingLeft: '80px',\n // textAlign: \"center\"\n // },\n render: (rowData) => (\n \n {!rowData?.stage_fields?.length ? \"0\" : rowData?.stage_fields?.length}\n \n ),\n },\n\n\n ];\n\n const getAllActionStages = async () => {\n setIsGettingDetails(true);\n const params = {\n workshop_action_id: currentSelection?.workshop_action_id,\n page: page + 1,\n limit: pageSizes,\n\n // search: debouncedVal,\n };\n await InspectionServices.getAllActionStages(params)\n .then((res) => {\n if (res) {\n setActionStages(res.data);\n setTotalCount(res.total_count);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setIsGettingDetails(false);\n });\n };\n\n\n useEffect(() => {\n if (currentSelection?.workshop_action_id)\n getAllActionStages();\n }, [currentSelection?.workshop_action_id, page, pageSizes]);\n return (\n
\n \n
\n \n Stages\n \n\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSizes(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n detailPanel={(rowData) =>\n !rowData?.stage_fields?.length ? (\n \n \n No sub fields found\n \n
\n ) : (\n \n \n\n \n {rowData?.stage_fields?.map((item, index) => (\n \n \n {index + 1} \n {item?.field_name} \n {/* {item?.field_name} */}\n \n\n ))}\n\n \n
\n\n\n
\n )\n }\n />\n \n
\n \n\n \n );\n}\n","\nimport React, { useEffect, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport { makeStyles } from \"lib/utils/common_utils\";\nimport { DialogContent, IconButton, Typography } from \"@material-ui/core\";\nimport FileUpload from \"components/form_components/fileUpload\";\n\nconst useStyles = makeStyles((theme) => ({\n certDialog: {\n \"& .MuiDialog-paper\": {\n boxShadow: \"0px 3px 6px #00000029\",\n position: \"absolute\",\n left: \"calc(50% - 250px)\",\n width: '44%'\n },\n },\n}));\nfunction TechFilesPopup(props) {\n const { handleClose, currentSelectedRow, open } = props\n const classes = useStyles();\n return (\n
\n\n \n
\n \n Files\n \n
\n ({\n filename: file?.file_name,\n url: file?.file_path,\n id: file?.id,\n })) : \" \"\n }\n APIUrl={\"\"}\n\n // setFiles={setPrePackingFiles}\n showBorderOnNoFiles={true}\n uploadButtonView={true}\n multiple={true}\n name={\"maintenance_file\"}\n action={\"Upload Document\"}\n\n\n />\n
\n
\n\n \n
\n )\n}\n\nexport default TechFilesPopup","import MaterialTable from \"material-table\";\nimport React, { useReducer, useEffect, useContext } from \"react\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Box, IconButton, Grid, Typography, useTheme } from \"@material-ui/core\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport alertIcon from 'assets/icons/Alert_icon.png'\nimport { useState } from \"react\";\nimport AdditionalFieldPopUp from \"./AdditionalFieldPopUp\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\nimport Stages from \"./Stages\";\nimport TechFilesPopup from \"./TechFilesPopup\";\nimport FileCopyIcon from \"@material-ui/icons/FileCopy\";\nconst useStyles = makeStyles(() => ({}));\n\nfunction InspectionActions(props) {\n // const classes = useStyles();\n const { currentClosedDetails, currentPlanningDetails } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const message = useContext(ToastMessageContext)\n const { copyTabStatus, copyCalendarStatus, copyAllActions, setCopyAllactions } = useContext(WorkshopContext)\n const { page, totalCount, pageSize } = tableState;\n const [action, setAction] = useState(false)\n const [actionDetails, setActionDetails] = useState(false)\n const [actionData, setActionData] = useState([])\n const [files, setFiles] = useState([])\n const [currentSelection, setCurrentSelection] = useState({})\n const [currentSelectedRow, setCurrentSelectedRow] = useState({})\n const [isTechFiles, setIsTechFiles] = useState(false)\n const theme = useTheme()\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: true\n };\n const getActionList = async () => {\n setActionDetails(true)\n const params = {\n workshop_order_id: currentClosedDetails.id,\n page: page + 1,\n limit: pageSize,\n }\n await MaintenanceServices.copyPreviousGetActionList(params).then((response) => {\n setActionData(response.data)\n TableAction.setTotalCount(dispatch, response.total_count);\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n })\n }).finally(() => {\n setActionDetails(false)\n })\n }\n\n useEffect(() => {\n getActionList()\n }, [currentClosedDetails.id, page, pageSize, totalCount])\n\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n const handleSubmit = async (rowData) => {\n const formData = new FormData()\n\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id)\n formData.append(\"workshop_action_id\", rowData.workshop_action_id)\n formData.append(\"action_type\", rowData.action_type)\n formData.append(\"template_copy\", true)\n\n formData.append(\"raised_by\", userDetails?.id);\n setFiles(rowData.maintenance_file)\n files.forEach((file) => formData.set(\"maintenance_file[]\", file))\n\n await MaintenanceServices.copyPreviousCreateAction(formData).then((response) => {\n if (response.success) {\n copyTabStatus.push(rowData.workshop_action_id)\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n\n }).catch((error) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n })\n }\n const handleCopyAllActions = async () => {\n const formData = new FormData()\n\n formData.append(\"from_workshop_order_id\", currentClosedDetails.id)\n formData.append(\"to_workshop_order_id\", currentPlanningDetails?.id)\n formData.append(\"user_id\", userDetails?.id)\n formData.append(\"template_copy\", true)\n\n\n await MaintenanceServices.updateCopyAllActions(formData)\n .then((res) => {\n if (res.success) {\n // getWorkshopOrderDetails()\n setCopyAllactions(true)\n message.showToastMessage({\n message: \"All Actions copied successfully \",\n variant: \"success\",\n });\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n\n })\n\n\n\n }\n\n\n const columns = [\n {\n title: \"Action #\",\n field: \"action_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n },\n {\n title: \"Title\",\n field: \"title\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"50%\",\n },\n },\n {\n title: \"Est Man-Hrs\",\n field: \"estimate_man_hours\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n },\n\n {\n title: \"Stages\",\n field: \"stage_count\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n \n )\n },\n {\n title: \"Cal Freq\",\n field: \"calendar_frequency\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => rowData.calendar_frequency ? rowData.calendar_frequency : \"-\"\n },\n {\n title: \"Tech Data\",\n // field: \"maintenance_file\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n \n {\n setIsTechFiles(true)\n setAction(\"view_files\")\n setCurrentSelectedRow(rowData)\n }}\n />\n \n\n
\n\n )\n\n\n },\n {\n title: \"Action\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n rowData.action_type === 4 ?
\n {\n setAction(\"View\")\n setCurrentSelectedRow(rowData)\n copyTabStatus.push(rowData.workshop_action_id)\n }}\n disabled={copyCalendarStatus && copyTabStatus.find((item) => item === rowData.workshop_action_id)}\n >\n\n {copyCalendarStatus && copyTabStatus.find((item) => item === rowData.workshop_action_id) ? item === rowData.workshop_action_id) ? \"none\" : \"\", }} /> :\n\n \n }\n\n \n
:\n
\n {\n handleSubmit(rowData)\n }}\n disabled={copyTabStatus.find((item) => item === rowData.workshop_action_id)}\n >\n {copyTabStatus.find((item) => item === rowData.workshop_action_id) ? item === rowData.workshop_action_id) ? \"none\" : \"\", }} /> :\n\n \n }\n\n \n
\n ),\n },\n ];\n\n\n\n\n return (\n
\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n actions={actionData.length > 0 && [\n {\n icon: () => (\n \n Copy ALL Actions \n \n\n \n ),\n tooltip: \"Copy\",\n isFreeAction: true,\n disabled: copyAllActions,\n onClick: () => handleCopyAllActions(),\n },\n ]}\n\n\n\n />\n < div style={{ margin: ' 14px 0px 20px 3px' }}>\n Tech Data will be copied. Check for correct revision and update as necessary in the 'To' Order after copying\n
\n {action && action === \"View\" &&\n setAction(null)}\n actionData={actionData}\n currentSelectedRow={currentSelectedRow}\n currentPlanningDetails={currentPlanningDetails} />}\n\n {\n action === 'view_stages' && (\n setAction(null)}\n currentSelection={currentSelection}\n\n />\n\n )\n\n }\n {\n action === 'view_files' && (\n setAction(null)}\n currentSelectedRow={currentSelectedRow}\n open={isTechFiles}\n />\n )\n }\n\n \n\n );\n}\n\nexport default InspectionActions;\n","import React, { useContext, useState, useEffect } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Dialog, DialogContent, DialogTitle, Box, MenuItem } from \"@material-ui/core\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport DateField from 'components/form_components/DateField';\nimport MROTextField from \"components/form_components/TextField\";\nimport ServiceRequestListClientServices from \"lib/services/api/procurement/Services\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport moment from 'moment';\nimport { getOrganisationId } from 'lib/utils/common_utils';\n\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n },\n title: {\n display: \"flex\",\n justifyContent: \"left\",\n \"& h2\": {\n // color: theme.palette.primary.main,\n fontSize: \"40px\",\n fontWeight: 40,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"0 25px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"end\",\n marginRight: \"6px\",\n marginTop: '21px',\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n purchaseGrid: {\n paddingTop: \"0 !important\",\n paddingBottom: \"0 !important\",\n height: \"85px\",\n },\n purchaseStock: {\n marginBottom: \"75px\",\n maxWidth: \"340px\",\n marginTop: '10px'\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"24%\",\n },\n }\n}));\n\n\nexport default function AdditionalData(props) {\n const classes = useStyles();\n const { handleClose, currentClosedDetails, currentPlanningDetails, selectedRow, copyTab } = props\n const [actionDpdOptions, setActionDpdOptions] = useState([]);\n const message = useContext(ToastMessageContext)\n const { setServiceStatus } = useContext(WorkshopContext)\n const [error, setError] = useState({});\n const [loading, setLoading] = useState(false)\n\n const getActions = async () => {\n try {\n const { data } = await MaintenanceServices.getActionsDpdOptions({\n id: currentPlanningDetails.id,\n });\n setActionDpdOptions(data);\n } catch (error) {\n console.log(error);\n }\n };\n\n useEffect(() => {\n getActions();\n }, []);\n\n const handleCopyFile = async (id) => {\n const formData = new FormData()\n formData.append(\"from_service_id\", selectedRow.id)\n formData.append(\"to_service_id\", id)\n formData.append(\"workshop_order_id\", currentClosedDetails?.id)\n await MaintenanceServices.copyTemplateServicesFiles(formData).then((res) => {\n\n }).catch(() => {\n\n })\n\n }\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formData = new FormData(e.target)\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n let valid = true;\n let errors = {\n workshop_action_id: false,\n desired_date: false\n\n };\n if (formData && formData.get(\"workshop_action_id\")?.length === 0) {\n errors.workshop_action_id = true;\n valid = false;\n }\n if (copyTab === \"normal\") {\n if (formData && formData.get(\"desired_date\").length === 0) {\n errors.desired_date = true;\n valid = false;\n }\n }\n if (!valid) {\n\n setError(errors);\n return;\n }\n\n if (copyTab === \"normal\") {\n setLoading(true)\n formData.append(\"service_id\", selectedRow.id)\n formData.append(\"location\", selectedRow.location === \"Supplier Site\" ? \"supplier_off_site\" : \"mro_on_site\");\n formData.append(\"part_scope_id\", selectedRow.part_scope_id);\n formData.append(\"approval_type_id\", selectedRow?.approval_type_id);\n formData.append(\"part_category_id\", selectedRow.part_category_id)\n formData.append(\"user_id\", userDetails?.id);\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id);\n formData.append(\"description\", selectedRow?.description);\n formData.append(\"tech_data_ref\", selectedRow?.tech_data_ref);\n formData.append(\"base_station_id\", currentPlanningDetails?.base_station_id);\n formData.append(\"from_workshop_action_id\", currentPlanningDetails?.id);\n formData.append(\"to_workshop_action_id\", currentClosedDetails?.id);\n formData.append(\"wst_service_id\", selectedRow.id);\n\n // selectedRow.tech_data.forEach(file => formData.append(\"tech_data\", file))\n // selectedRow.order_reports.forEach(file => formData.append(\"order_reports\", file))\n\n\n await ServiceRequestListClientServices.createServices(formData).then((response) => {\n if (response.success) {\n setServiceStatus(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch((error) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n else if (copyTab === \"template\") {\n setLoading(true)\n // const date = formData.get(\"desired_date\")\n // formData.delete(\"desired_date\")\n // formData.append(\"desired_date\", moment(date, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\"));\n formData.append(\"location\", selectedRow.location === \"Supplier Site\" ? \"supplier_off_site\" : \"mro_on_site\");\n formData.append(\"part_scope_id\", selectedRow.part_scope_id);\n formData.append(\"approval_type_id\", selectedRow?.approval_type_id);\n formData.append(\"part_category_id\", selectedRow.part_category_id)\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id);\n formData.append(\"description\", selectedRow?.description);\n formData.append(\"tech_data_ref\", selectedRow?.tech_data_ref);\n formData.append(\"organisation_id\", getOrganisationId());\n\n await MaintenanceServices.addPlanningTemplateService(formData).then((response) => {\n if (response.success) {\n handleCopyFile(response.id)\n\n setServiceStatus(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n if (response.error) {\n setServiceStatus(false)\n handleClose()\n message.showToastMessage({\n message: response?.error ? response?.error : \"Something went wrong\",\n variant: \"error\",\n });\n }\n\n }).catch((response) => {\n message.showToastMessage({\n message: response?.error ? response?.error : \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n }\n\n return (\n
\n \n \n \n Additional Data Required\n \n \n \n
\n
\n\n\n \n {\n setError({ ...error, workshop_action_id: false });\n }}\n\n >\n Select\n {actionDpdOptions && actionDpdOptions?.map((list) => (\n {list.action_number}\n ))}\n \n \n {copyTab === \"normal\" && \n { setError({ ...error, desired_date: false }); }}\n\n />\n }\n\n
\n \n Cancel\n \n \n Complete\n \n
\n
\n
\n
\n \n
\n )\n}\n","import MaterialTable from \"material-table\";\nimport React, { useReducer, useState, useEffect, useContext } from \"react\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport { IconButton } from \"@material-ui/core\";\nimport AdditionalData from \"./AdditionalData\";\nimport useDebounce from \"lib/utils/debounce\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\nimport alertIcon from 'assets/icons/Alert_icon.png'\nimport TechFilesPopup from \"./TechFilesPopup\";\n\n\nfunction Services(props) {\n\n const { currentClosedDetails, currentPlanningDetails, copyTab } = props\n const [searchText, setSearchText] = useState(\"\");\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(0)\n const [action, setAction] = useState(false)\n const message = useContext(ToastMessageContext);\n const { copyServiceTabStatus, serviceStatus } = useContext(WorkshopContext)\n const debouncedVal = useDebounce(searchText);\n const [selectedRow, setSelectedRow] = useState({});\n const [isTechFiles, setIsTechFiles] = useState(false)\n const [currentSelectedRow, setCurrentSelectedRow] = useState({})\n const [loading, setLoading] = useState(false)\n const [data, setData] = useState([])\n\n const getServices = async () => {\n\n const params = {\n\n workshop_order_id: currentClosedDetails?.id,\n search: debouncedVal,\n page: 1 + page,\n limit: pageSize,\n }\n\n setLoading(true)\n await MaintenanceServices.getTemlateServiceListing(params).then((res) => {\n setData(res.data)\n setTotalCount(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n useEffect(() => {\n getServices();\n }, [page, pageSize, debouncedVal]);\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false\n };\n\n const columns = [\n {\n title: \"Action #\",\n field: \"action_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n },\n {\n title: \"Category\",\n field: \"category\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Type\",\n field: \"type\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"30%\",\n },\n },\n {\n title: \"Location\",\n field: \"location\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n\n },\n\n {\n title: \"Tech Data\",\n // field: \"tech_data\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n render: (rowData) => (\n
\n \n {\n setIsTechFiles(true)\n setAction(\"view_files\")\n setCurrentSelectedRow(rowData)\n }}\n />\n \n\n
\n\n )\n },\n {\n title: \"Action\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n {\n setAction(\"View\");\n setSelectedRow(rowData);\n copyServiceTabStatus.push(rowData.id)\n }}\n disabled={serviceStatus && copyServiceTabStatus.find((item) => item === rowData.id)}\n >\n {serviceStatus && copyServiceTabStatus.find((item) => item === rowData.id) ? item === rowData.id) ? \"none\" : \"\" }} /> :\n\n \n }\n \n
\n ),\n },\n ];\n return (\n
\n\n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n
    \n
  • \n Copy Actions first! Parts must be associated to a new Action in the 'To' Order
  • \n
  • \n Tech Data will be copied. Check for correct revision and update as necessary in the 'To' Order after copying
  • \n
  • \n Supplier Site services must have a Part # and Serial # added in the Service Request in the 'To' Order after copying
  • \n
\n {action && action === \"View\" && setAction(null)} currentClosedDetails={currentClosedDetails} currentPlanningDetails={currentPlanningDetails} selectedRow={selectedRow} copyTab={copyTab} />\n }\n\n {\n action === 'view_files' && (\n setAction(null)}\n currentSelectedRow={currentSelectedRow}\n open={isTechFiles}\n />\n )\n }\n
\n );\n}\n\nexport default Services;\n","\nimport React, { useContext, useState, useEffect } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Dialog, DialogContent, DialogTitle, FormControlLabel, MenuItem } from \"@material-ui/core\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport DateField from 'components/form_components/DateField';\nimport MROTextField from \"components/form_components/TextField\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport { getOrganisationId } from 'lib/utils/common_utils';\n\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n },\n title: {\n display: \"flex\",\n justifyContent: \"left\",\n \"& h2\": {\n // color: theme.palette.primary.main,\n fontSize: \"40px\",\n fontWeight: 40,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"0 25px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"end\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n purchaseGrid: {\n paddingTop: \"0 !important\",\n paddingBottom: \"0 !important\",\n height: \"85px\",\n },\n purchaseStock: {\n marginBottom: \"20px\",\n maxWidth: \"300px\",\n marginTop: '10px'\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"22%\",\n },\n }\n}));\n\n\nfunction AdditionalData(props) {\n const classes = useStyles();\n const { handleClose, currentClosedDetails, currentPlanningDetails, selectedRow, copyTab } = props\n const [actionDpdOptions, setActionDpdOptions] = useState([]);\n // console.log(\"data======\", selectedRow)\n const message = useContext(ToastMessageContext)\n const { flag, setflag } = useContext(WorkshopContext)\n const [error, setError] = useState({});\n const [loading, setLoading] = useState(false)\n\n const getActions = async () => {\n try {\n const { data } = await MaintenanceServices.getActionsDpdOptions({\n id: currentPlanningDetails.id,\n });\n setActionDpdOptions(data);\n } catch (error) {\n console.log(error);\n }\n };\n\n useEffect(() => {\n getActions();\n }, []);\n\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formData = new FormData(e.target)\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n let valid = true;\n let errors = {\n workshop_action_id: false,\n\n };\n if (formData && formData.get(\"workshop_action_id\")?.length === 0) {\n errors.workshop_action_id = true;\n valid = false;\n }\n if (!valid) {\n\n setError(errors);\n return;\n }\n if (copyTab === \"normal\") {\n setLoading(true)\n formData.append(\"issued_comment\", \"\");\n formData.append(\"from_base_station_id\", currentClosedDetails?.base_station_id);\n formData.append(\"to_base_station_id\", currentPlanningDetails?.base_station_id);\n formData.append(\"quantity\", selectedRow.quantity)\n formData.append(\"user_id\", userDetails?.id);\n formData.append(\"primary_part_id\", selectedRow?.primary_part_id);\n formData.append(\"reportable_type\", \"WorkshopOrder\");\n formData.append(\"reportable_id\", currentPlanningDetails?.id);\n formData.append(\"order_number\", currentPlanningDetails?.order_no);\n formData.append(\"line_customer_id\", currentPlanningDetails?.line_customer_id);\n formData.append(\"part_number\", selectedRow.part_number)\n await MaintenanceServices.createPartRequest(formData).then((res) => {\n if (res.success) {\n setflag(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch((res) => {\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n }).finally(() => {\n setLoading(false)\n })\n }\n else if (copyTab === \"template\") {\n setLoading(true)\n\n formData.append(\"quantity\", selectedRow.quantity)\n formData.append(\"primary_part_id\", selectedRow?.primary_part_id);\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id);\n formData.append(\"organisation_id\", getOrganisationId());\n await MaintenanceServices.addPlanningTemplateParts(formData).then((res) => {\n if (res.success) {\n setflag(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n else {\n message.showToastMessage({ message: res.error ? res.error : \"Something went wrong. Try again\", variant: \"error\" });\n handleClose()\n }\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n }\n\n\n return (\n
\n \n \n \n Additional Data Required\n \n \n \n
\n
\n \n\n \n \n {\n setError({ ...error, workshop_action_id: false });\n }}\n\n >\n Select\n {actionDpdOptions && actionDpdOptions?.map((list) => (\n {list.action_number}\n ))}\n \n \n\n\n \n \n
\n \n Cancel\n \n \n Complete\n \n
\n \n
\n
\n \n
\n )\n}\n\nexport default AdditionalData","import MaterialTable from \"material-table\";\nimport React, { useReducer, useState, useEffect, useContext } from \"react\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport useDebounce from \"lib/utils/debounce\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport AdditionalData from \"./AdditionalData\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { IconButton } from \"@material-ui/core\";\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\nimport alertIcon from 'assets/icons/Alert_icon.png'\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\n\n\n\n\nconst useStyles = makeStyles(() => ({}));\n\nfunction Parts(props) {\n // const classes = useStyles();\n const { currentClosedDetails, currentPlanningDetails, copyTab } = props\n\n const [action, setAction] = useState(false)\n const message = useContext(ToastMessageContext);\n const { copyPartTabStatus, flag } = useContext(WorkshopContext)\n const [searchText, setSearchText] = useState(\"\");\n const [selectedRow, setSelectedRow] = useState({});\n const debouncedVal = useDebounce(searchText);\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(0)\n const [loading, setLoading] = useState(false)\n const [data, setData] = useState([])\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false\n };\n console.log(\"parts=======\", copyTab)\n\n\n const getList = () => {\n\n\n setLoading(true)\n const params = {\n workshop_order_id: currentClosedDetails?.id,\n search: debouncedVal,\n page: 1 + page,\n limit: pageSize,\n\n };\n\n MaintenanceServices.getTemlatePartsListing(params).then((res) => {\n setData(res.data)\n setTotalCount(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n };\n\n useEffect(() => {\n getList();\n }, [page, debouncedVal, pageSize]);\n\n const columns = [\n {\n title: \"Action #\",\n field: \"action_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n },\n {\n title: \"Part #\",\n field: \"part_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"70%\",\n },\n },\n {\n title: \"Quantity\",\n field: \"quantity\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n {\n title: \"Action\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n {\n setAction(\"View\");\n copyPartTabStatus.push(rowData.id)\n setSelectedRow(rowData);\n\n }}\n disabled={flag && copyPartTabStatus.find((item) => item === rowData.id)}\n >\n {flag && copyPartTabStatus.find((item) => item === rowData.id) ? item === rowData.id) ? \"none\" : \"\", }} /> :\n\n \n }\n \n
\n ),\n },\n ];\n return (\n
\n\n {\n // selected.push(rowData.id)\n // }\n\n // }\n onChangePage={(page) => {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n
\n Copy Actions first! Parts must be associated to a new Action in the 'To' Order\n
\n {action && action === \"View\" &&\n setAction(null)} currentClosedDetails={currentClosedDetails} currentPlanningDetails={currentPlanningDetails} selectedRow={selectedRow} copyTab={copyTab} />}\n
\n );\n}\n\nexport default Parts;\n","import React, { useContext, useState, useEffect } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Dialog, DialogContent, DialogTitle, Box, MenuItem } from \"@material-ui/core\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport DateField from 'components/form_components/DateField';\nimport MROTextField from \"components/form_components/TextField\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport ServiceRequestListClientServices from 'lib/services/api/procurement/Services';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport moment from 'moment';\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n\n },\n title: {\n display: \"flex\",\n justifyContent: \"left\",\n \"& h2\": {\n // color: theme.palette.primary.main,\n fontSize: \"40px\",\n fontWeight: 40,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"8px 29px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"end\",\n marginRight: \"6px\",\n marginTop: '21px',\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"24%\",\n },\n }\n}));\n\n\nexport default function AdditionalData(props) {\n const classes = useStyles();\n const { handleClose, currentClosedDetails, currentPlanningDetails, selectedRow, copyTab } = props\n const [actionDpdOptions, setActionDpdOptions] = useState([]);\n const { setEquipmentStatus } = useContext(WorkshopContext)\n const [error, setError] = useState({});\n const message = useContext(ToastMessageContext)\n const [loading, setLoading] = useState(false)\n const getActions = async () => {\n try {\n const { data } = await MaintenanceServices.getActionsDpdOptions({\n id: currentPlanningDetails.id,\n });\n setActionDpdOptions(data);\n } catch (error) {\n console.log(error);\n }\n };\n\n useEffect(() => {\n getActions();\n }, []);\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formData = new FormData(e.target)\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n\n let valid = true;\n let errors = {\n workshop_action_id: false,\n desired_date: false,\n duration: false\n\n };\n if (formData && formData.get(\"workshop_action_id\")?.length === 0) {\n errors.workshop_action_id = true;\n valid = false;\n }\n if (copyTab === \"normal\") {\n if (formData && formData.get(\"desired_date\").length === 0) {\n errors.desired_date = true;\n valid = false;\n }\n if (formData && formData.get(\"duration\").length === 0) {\n errors.duration = true;\n valid = false;\n }\n }\n if (!valid) {\n\n setError(errors);\n return;\n }\n if (copyTab === \"normal\") {\n setLoading(true)\n formData.append(\"user_id\", userDetails.id)\n formData.append(\"base_station_id\", currentPlanningDetails?.base_station_id)\n formData.append(\"description\", selectedRow?.description)\n // // setBusy(\"loading\")\n ServiceRequestListClientServices.workshopCreateEquipments(formData)\n .then((res) => {\n if (res.success) {\n setEquipmentStatus(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!!\",\n variant: \"error\"\n })\n }).finally(() => {\n setLoading(false)\n })\n }\n else if (copyTab === \"template\") {\n setLoading(true)\n // const date = formData.get(\"desired_date\")\n // formData.delete(\"desired_date\")\n\n // formData.append(\"desired_date\", moment(date, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\"));\n formData.append(\"organisation_id\", getOrganisationId())\n formData.append(\"workshop_order_id\", currentPlanningDetails?.id)\n formData.append(\"description\", selectedRow?.description)\n // // setBusy(\"loading\")\n await MaintenanceServices.addPlanningTemplateEquipment(formData)\n .then((res) => {\n if (res.success) {\n setEquipmentStatus(true)\n handleClose()\n message.showToastMessage({\n message: \"Copied successfully \",\n variant: \"success\",\n });\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!!\",\n variant: \"error\"\n })\n }).finally(() => {\n setLoading(false)\n })\n\n }\n }\n\n\n\n\n return (\n
\n \n \n \n Additional Data Required\n \n \n \n
\n
\n \n {\n setError({ ...error, workshop_action_id: false });\n }}\n\n >\n Select\n {actionDpdOptions && actionDpdOptions?.map((list) => (\n {list.action_number}\n ))}\n \n \n {copyTab === \"normal\" && <> \n { setError({ ...error, desired_date: false }); }}\n\n />\n \n \n {\n setError({ ...error, duration: false })\n }} >\n \n\n \n }\n
\n \n Cancel\n \n \n Complete\n \n
\n
\n
\n
\n \n
\n )\n}\n","import MaterialTable from \"material-table\";\nimport React, { useReducer, useState, useEffect, useContext } from \"react\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport FileCopy from '@material-ui/icons/FileCopy';\nimport { Box, FormControlLabel } from \"@material-ui/core\";\nimport { IconButton } from \"@material-ui/core\";\nimport CopyFileIcon from \"assets/CopyFiles.svg\"\nimport GreenCopyIcon from \"assets/GreenCopyIcon.svg\"\nimport { Visibility as ViewIcon } from \"@material-ui/icons/Visibility\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport MROButton from \"components/buttons\";\nimport AdditionalData from \"./AdditionalData\";\nimport alertIcon from 'assets/icons/Alert_icon.png'\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nconst useStyles = makeStyles(() => ({}));\n\nfunction Equipment(props) {\n const classes = useStyles();\n const { currentClosedDetails, currentPlanningDetails, copyTab } = props\n const [selectedRow, setSelectedRow] = useState({});\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(0)\n const [loading, setLoading] = useState(false)\n const [data, setData] = useState([])\n const message = useContext(ToastMessageContext);\n const { copyEquipmentTabStatus, equipmentStatus } = useContext(WorkshopContext)\n const [action, setAction] = useState(false)\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false\n };\n useEffect(() => {\n getWorkshopEquipment();\n }, [page, pageSize]);\n\n const getWorkshopEquipment = async () => {\n\n\n const params = {\n\n workshop_order_id: currentClosedDetails?.id,\n page: 1 + page,\n limit: pageSize,\n }\n setLoading(true)\n await MaintenanceServices.getTemlateEquipmentListing(params).then((res) => {\n setData(res.data)\n setTotalCount(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n };\n\n const columns = [\n {\n title: \"Action #\",\n field: \"action_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"33px\"\n },\n },\n\n {\n title: \"Description\",\n field: \"description\",\n width: \"80%\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"80%\",\n },\n },\n\n {\n title: \"Action\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => (\n
\n {\n setAction(\"View\");\n setSelectedRow(rowData);\n copyEquipmentTabStatus.push(rowData.id)\n }}\n disabled={equipmentStatus && copyEquipmentTabStatus.find((item) => item === rowData.id)}\n >\n\n {equipmentStatus &&\n copyEquipmentTabStatus.find((item) => item === rowData.id) ? item === rowData.id) ? \"none\" : \"\" }} /> :\n\n \n }\n \n
\n ),\n },\n ];\n return (\n
\n\n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n
\n Copy Actions first! Parts must be associated to a new Action in the 'To' Order\n
\n {action && action === \"View\" && setAction(null)} currentClosedDetails={currentClosedDetails} currentPlanningDetails={currentPlanningDetails} selectedRow={selectedRow} copyTab={copyTab} />}\n
\n );\n}\n\nexport default Equipment;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { TabSectionBar } from \"components/tab_component\";\nimport Divider from \"@material-ui/core/Divider\";\nimport Plan from \"./Planning/Plan\";\nimport InspectionActions from \"./Actions/InspectionActions\";\nimport { Check, Warning, CheckBox } from \"@material-ui/icons\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport MaintActions from \"./MaintActions\";\nimport Parts from \"./Parts/Parts\";\nimport Services from \"./Services/Services\";\nimport Equipment from \"./Equipment/Equipment\";\nimport TemplatePlanning from \"../CopyTemplates/Tabs/Planning/Plan\"\nimport TemplateInspection from \"../CopyTemplates/Tabs/Actions/InspectionActions\"\nimport TemplateServices from \"../CopyTemplates/Tabs/Services/Services\"\nimport TemplateParts from \"../CopyTemplates/Tabs/Parts/Parts\"\nimport TemplateEquipment from \"../CopyTemplates/Tabs/Equipment/Equipment\"\n\n\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"1% 3%\",\n },\n content: {\n boxShadow: \"0px 1px 3px #00000033\",\n margin: \"2% 0\",\n },\n detail: {\n backgroundColor: \"#fff\",\n padding: \"1%\",\n },\n success: {\n color: \"green\",\n marginLeft: 8,\n },\n warning: {\n color: \"orange\",\n marginLeft: 8,\n },\n indicator: {\n display: \"flex\",\n alignItems: \"center\",\n },\n}));\n\nfunction TabIndex(props) {\n const classes = useStyles();\n const { currentClosedDetails, currentPlanningDetails, workshop_id, planningId, planningWholeDetails, type, copyTab } = props\n const [currentTab, setCurrentTab] = useState(0);\n const [completed, setCompleted] = useState(0);\n\n const navMenu = [\n { label:
Planning  
},\n {\n label: (\n
Actions  
\n ),\n },\n // { label:
Maint Actions
},\n { label:
Parts
},\n { label:
Services
},\n { label:
Equipment
},\n ];\n\n return (\n
\n \n \n
\n {currentTab === 0 && type === \"previous_order\" && }\n {currentTab === 0 && type === \"templates\" && }\n {currentTab === 1 && type === \"previous_order\" &&\n }{currentTab === 1 && type === \"templates\" &&\n }\n {/* {currentTab === 2 && } */}\n {currentTab === 2 && type === \"previous_order\" && }\n {currentTab === 2 && type === \"templates\" && }\n\n\n {currentTab === 3 && type === \"previous_order\" && }\n {currentTab === 3 && type === \"templates\" && }\n {currentTab === 4 && type === \"previous_order\" && }\n {currentTab === 4 && type === \"templates\" && }\n
\n
\n );\n}\n\nexport default TabIndex;\n","import { Toolbar } from \"@material-ui/core\";\nimport { IconButton } from \"@material-ui/core\";\nimport { AppBar } from \"@material-ui/core\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport React, { useEffect, useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport { Alert } from \"@material-ui/lab\";\nimport { Box } from \"@material-ui/core\";\nimport { Grid } from \"@material-ui/core\";\nimport TabIndex from \"./Tabs/TabIndex\";\nimport { WorkshopContext } from \"views/Operations/Workshop/WorkshopContext/WorkshopContext\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { useContext } from \"react\";\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n wrapper: {\n margin: \"3%\",\n },\n checksAppBar: {\n backgroundColor: \"lightgray\",\n color: theme.palette.secondary.main,\n boxShadow: \"0px 3px 6px gray\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n alert: {\n display: \"flex\",\n justifyContent: \"center\",\n },\n}));\n\nfunction SelectedOrderDetails(props) {\n const classes = useStyles();\n const { handleClose, currentPlanningDetails, currentSelectedDetails, workshop_id, getWorkshopOrderDetails, getMaintenanceOrderList, planningTabDetails, planningId, planningWholeDetails, type, copyTab } = props;\n const { setCopyPlanningTab, setflag, setServiceStatus, setcopyTabStatus, setcopyPartTabStatus, setcopyServiceTabStatus, setCopyEquipmentTabStatus, setEquipmentStatus, setCopyCalendarStatus, setCopyAllactions } = useContext(WorkshopContext)\n const message = useContext(ToastMessageContext)\n\n const GetInfoCard = (props) => {\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n };\n return (\n
\n \n \n \n {\n handleClose()\n getMaintenanceOrderList()\n setCopyPlanningTab(false)\n setcopyTabStatus([])\n setcopyPartTabStatus([])\n setcopyServiceTabStatus([])\n setServiceStatus(false)\n setflag(false)\n setCopyEquipmentTabStatus([])\n setEquipmentStatus(false)\n setCopyCalendarStatus(false)\n setCopyAllactions(false)\n }}\n edge=\"start\"\n className={classes.backButton}\n color=\"inherit\"\n aria-label=\"back\"\n >\n \n \n Selected Order Details\n \n \n\n \n \n \n From\n \n \n To\n \n \n\n\n \n \n \n
\n \n \n \n
\n
\n\n \n
\n \n \n {/* To Field */}\n \n
\n \n \n \n
\n
\n \n
\n
\n
\n\n \n Copy Data\n \n \n \n Caution! Take care when selecting copy! Data copied to the “To” Order cannot be reversed / undone here. If you copy an item by mistake it must be removed, or edited in the “To’ Order itself”\n \n \n
\n \n
\n
\n );\n}\n\nexport default SelectedOrderDetails;\n","import { Box, Checkbox, Divider, FormControlLabel, Grid, Dialog, DialogContent, DialogTitle, Typography, makeStyles, MenuItem } from '@material-ui/core';\n\nimport MROTextField from 'components/form_components/TextField';\nimport DataService from 'lib/services/api';\nimport React, { useEffect, useState, useCallback, useReducer, useContext } from \"react\";\nimport { Autocomplete } from '@material-ui/lab'\nimport PositiveSwitch from 'components/form_components/switch'\nimport NumericIncrementForWorkOrderLae from './FieldComponents/NumericIncrementForWorkOrderLae';\nimport NumericIncrementForWorkOrderNonLae from './FieldComponents/NumericIncrementForWorkOrderNonLae'\nimport MROButton from 'components/buttons';\nimport tableReducer, { INITIAL_TABLE_STATE } from 'reducers/table_reducer';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport { WorkOrderServices } from 'lib/services/api/operaitons/lineMaintenance/workOrder/workOrder';\n\n\n\nconst useStyles = makeStyles((theme) => ({\n dialog: {\n \"& .MuiDialog-paperWidthSM\": {\n boxShadow: \"0px 3px 6px #00000029\",\n // position: \"absolute\",\n // left: \"calc(50% - 250px)\",\n // width: '500px',\n height: '238px',\n borderRadius: '5px'\n }\n },\n dialogTitle: {\n color: theme.palette.primary.main,\n fontSize: '18px'\n }\n\n}))\n\n\nfunction UpdateTechLog(props) {\n const classes = useStyles()\n const { handleClose, currentSelection, workOrderId, task_type, typename } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const [currentRow, setCurrentRow] = useState(null);\n const [ataChapters, setAtaChapters] = useState([]);\n const [errors, setErrors] = useState({});\n const [show, setShow] = useState(false)\n const [showLae, setShowLae] = useState(false)\n const [state, setState] = useState({\n part_on: '',\n ata_chapter: '',\n description: '',\n // man_hours: '',\n lae_hrs: '',\n non_lae_hrs: '',\n\n });\n const message = useContext(ToastMessageContext)\n console.log(\"currentSelection\", currentSelection)\n useEffect(() => {\n if (currentSelection !== undefined) {\n setState((ps) => ({ ...ps, lae_hrs: currentSelection?.lae_hrs }))\n setState((ps) => ({ ...ps, non_lae_hrs: currentSelection?.non_lae_hrs }))\n }\n }, [currentSelection])\n\n const getAtaChapters = useCallback(\n () => {\n let params = {\n\n }\n DataService.getData(params, 'listingATAChapter').then(res => {\n setAtaChapters(res.data.map(d => ({\n id: d.ata_chapter_id,\n name: d.chapter_number\n })))\n\n }).catch(err => {\n\n })\n },\n [],\n )\n\n useEffect(() => {\n getAtaChapters()\n }, [])\n\n const handleSubmit = (e) => {\n const formData = new FormData(e.target)\n formData.append('id', workOrderId)\n formData.append('task_type', task_type)\n formData.append(\"task_id\", currentSelection?.task_id)\n formData.append('man_hours', Number(state.lae_hrs) + Number(state.non_lae_hrs))\n\n let valid = true;\n let error = {};\n if (formData.get('ata_chapter_id') === '') {\n error['ata_chapter_id'] = {\n valid: false\n }\n valid = false;\n } if (formData.get('task_tlp') === '') {\n error['task_tlp'] = {\n valid: false\n }\n valid = false;\n } if (formData.get('description') === '') {\n error['description'] = {\n valid: false\n }\n valid = false;\n } if (formData.get('lae_hrs') === '') {\n error['lae_hrs'] = {\n valid: false\n }\n valid = false;\n } if (formData.get('non_lae_hrs') === '') {\n error['non_lae_hrs'] = {\n valid: false\n }\n valid = false;\n }\n\n if (!valid) {\n setErrors(error)\n return\n }\n\n WorkOrderServices.UpdateMaintTechLog(formData).then((res) => {\n\n message.showToastMessage({ message: \"Updated successfully\", variant: \"success\" });\n handleClose()\n }).catch((res) => {\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n handleClose()\n })\n\n\n }\n\n\n\n\n\n return (\n
\n \n\n Edit task \n \n
\n \n \n \n \n setErrors({ ...errors, task_tlp: false })\n }\n />\n\n\n \n setErrors({ ...errors, ata_chapter_id: false })\n }\n >\n {ataChapters.map((item) =>\n {item.name}\n )}\n \n\n\n\n \n setErrors({ ...errors, description: false })\n }\n InputLabelProps={{ shrink: true }}\n multiline\n InputProps={{ style: { height: \"max-content\" } }}\n inputProps={{ maxLength: 500 }}\n\n />\n {/*
\n setShowLae(!showLae)}\n // name=\"show_not_approved_items\"\n />\n }\n label={{`Item / Man-Hrs transferred to ${typename}?`}}\n labelPlacement=\"start\"\n // name={\"show_not_ready_items\"}\n />\n
*/}\n\n \n setErrors({ ...errors, lae_hrs: false })\n }\n />\n\n\n
\n setShow(!show)}\n // name=\"show_not_approved_items\"\n />\n }\n label={{\"Add Mechanic / Technician (non LAE)\"}}\n labelPlacement=\"start\"\n // name={\"show_not_ready_items\"}\n />\n
\n {show &&\n \n setErrors({ ...errors, non_lae_hrs: false })\n }\n />}\n\n \n\n\n Cancel\n   \n Save\n \n\n
\n\n
\n
\n
\n
\n \n
\n )\n}\n\nexport default React.memo(UpdateTechLog)","import MaterialTable from 'material-table';\nimport React, { useContext, useEffect, useReducer, useState } from 'react'\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport TableAction from '../../../../actions/table_actions';\nimport tableIcons, { options } from '../../../../components/universal/table_attributes';\nimport { ToastMessageContext } from '../../../../lib/contexts/message_context';\nimport tableReducer, { INITIAL_TABLE_STATE } from '../../../../reducers/table_reducer';\nimport { ICON_COLOUR } from '../../../../lib/constants/style_constants';\nimport DataServiceAction from '../../../../actions/data_actions';\nimport ManageDataDialog from '../../../../components/form_components/manage_data_dialog';\nimport { IconButton } from '@material-ui/core';\nimport Edit from '@material-ui/icons/Edit';\nimport UpdateTechLog from './UpdateTechLog';\n\nexport const mapTasks = {\n 'Tech Log Maint Tasks': 'tech_log_maint',\n 'Non-Fixed Price Scheduled Maintenance': 'fixed_price_maint',\n 'Defects': 'defects',\n 'Cabin Maint Tasks': 'cabin_maint'\n}\n\nfunction RenderMaintTable(props) {\n\n const { currentSelection, workOrderId } = props;\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, searchText, inProgress, data: _data } = tableState;\n const message = useContext(ToastMessageContext);\n const [currentselection, setCurrentSelection] = useState({});\n const [action, setAction] = useState(null);\n\n const tableOptions = {\n ...options,\n page: page,\n search: false,\n total: totalCount,\n pageSize: pageSize,\n searchText: searchText\n };\n\n\n const columns = [{\n title: '',\n field: '',\n headerStyle: {\n textAlign: 'left',\n width: '2%'\n },\n cellStyle: {\n textAlign: 'left',\n width: '2%'\n }\n }, {\n title: 'Task / TLP #',\n field: 'task_tlp',\n headerStyle: {\n textAlign: 'left',\n width: '20%'\n },\n cellStyle: {\n textAlign: 'left',\n width: '20%'\n }\n }, {\n title: 'ATA Chapter',\n field: 'ata_chapter',\n headerStyle: {\n textAlign: 'center',\n width: '15%'\n },\n cellStyle: {\n textAlign: 'center',\n width: '15%'\n }\n }, {\n title: 'Description',\n field: 'description',\n headerStyle: {\n textAlign: 'left',\n width: '30%'\n },\n cellStyle: {\n textAlign: 'left',\n width: '30%'\n }\n },\n {\n title: 'LAE Hrs',\n field: 'lae_hrs',\n headerStyle: {\n textAlign: 'center',\n\n },\n cellStyle: {\n textAlign: 'center',\n\n }\n }, {\n title: 'Non-LAE',\n field: 'non_lae_hrs',\n headerStyle: {\n textAlign: 'center',\n\n },\n cellStyle: {\n textAlign: 'center',\n\n }\n },\n {\n title: 'Total Hrs',\n field: 'man_hours',\n headerStyle: {\n textAlign: 'center',\n\n },\n cellStyle: {\n textAlign: 'center',\n\n }\n },\n {\n title: 'Actions',\n field: '',\n headerStyle: {\n textAlign: 'center',\n width: '10%'\n },\n cellStyle: {\n textAlign: 'center',\n width: '10%'\n },\n render: rowData => (\n // (currentSelection?.child_section_name === \"Tech Log Maint Tasks\" ?\n <>\n {\n setCurrentSelection(rowData);\n setAction('edit');\n }}>\n \n \n\n {\n setCurrentSelection(rowData);\n setAction('delete');\n }}>\n \n \n \n // : {\n // setCurrentSelection(rowData);\n // setAction('delete');\n // }}>\n // \n // \n )\n }];\n\n useEffect(() => {\n if (currentSelection?.child_section_name)\n getOperationList(mapTasks[currentSelection?.child_section_name])\n\n }, [page, totalCount, pageSize, currentSelection, props?.createdId])\n\n function getOperationList(task_type) {\n let params = {\n id: workOrderId,\n task_type,\n page: page + 1,\n count_per_page: pageSize\n }\n TableAction.getList(dispatch, message, params, 'operational_tasks');\n }\n\n useEffect(() => {\n if (action === 'delete') {\n\n\n }\n }, [action])\n\n const handleClose = () => {\n setAction(null);\n getOperationList(mapTasks[currentSelection?.child_section_name])\n }\n\n const handleSubmit = () => {\n let data = {\n task_id: currentselection.task_id\n }\n DataServiceAction.deleteData(dispatch, message, null, data, 'operationalTasks', handleClose)\n }\n\n return (\n <>\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n {\n action === 'delete' && \n Are you sure? Confirm Delete.\n \n }\n {action === \"edit\" && }\n \n )\n}\n\nexport default React.memo(RenderMaintTable)","module.exports = __webpack_public_path__ + \"static/media/ppt.e8f28ab5.svg\";","module.exports = __webpack_public_path__ + \"static/media/doc.bc5f9db1.svg\";","import { useState, useEffect } from \"react\";\nimport PrimePartsClientServices from \"lib/services/api/procurement/primePart\";\n\nfunction useDependencies() {\n const [state, setState] = useState({\n baseStations: [],\n lineCustomers: [],\n });\n\n const fetchDependencies = () => {\n PrimePartsClientServices.fetchDependencies()\n .then((res) => {\n if (res) {\n setState({\n baseStations: res.base_stations,\n lineCustomers: res.line_customers,\n });\n } else {\n setState({ baseStations: [], lineCustomers: [] });\n }\n })\n .catch(() => {});\n };\n\n useEffect(() => {\n fetchDependencies();\n }, []);\n\n return [state.baseStations, state.lineCustomers];\n}\n\nexport default useDependencies;\n","import React from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Grid,\n Typography,\n} from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\n\nconst useStyles = makeStyles(() => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"25%\",\n },\n },\n title: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n warning: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: \"16px\",\n marginBottom: \"20px\",\n },\n actionButtons: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n}));\n\nfunction DeleteDailog(props) {\n const classes = useStyles();\n const { handleClose, open, deleteSelection, setLinkedKitContentsTableData, loading, handleConfirm, title, description } =\n props;\n\n const handleDelete = () => {\n if(typeof handleConfirm === \"function\") {\n handleConfirm()\n return \n }\n if (deleteSelection.isLocallyAdded) {\n setLinkedKitContentsTableData((prevState) =>\n prevState.filter(\n (item) => item.alternate_part_id !== deleteSelection.alternate_part_id\n )\n );\n }\n };\n\n return (\n
\n \n \n \n {title ?? <>Delete Item}\n \n \n \n \n {description ?? <>This cannot be undone. Are you sure?}\n \n \n \n \n Cancel\n \n \n \n \n Yes\n \n \n \n \n \n
\n );\n}\n\nexport default DeleteDailog;\n","import React, { useState, useEffect } from 'react'\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\nimport {\n\n MuiPickersUtilsProvider,\n KeyboardTimePicker,\n} from \"@material-ui/pickers\";\nimport MomentUtils from \"@date-io/moment\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport moment from \"moment\";\nimport { IconButton, InputAdornment } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n margin: theme.spacing(1, 0),\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderColor: theme.palette.primary.main,\n borderWidth: '1px !important'\n },\n \"&:hover fieldset\": {\n borderColor: theme.palette.primary.light + \"!important\",\n },\n '&.Mui-disabled fieldset': {\n borderColor: 'rgba(0, 0, 0, 0.26) !important'\n },\n '&.Mui-error:hover fieldset': {\n borderColor: '#f44336 !important',\n },\n \"& .MuiOutlinedInput-input\": {\n padding: \"15px\",\n },\n },\n \"& label\": {\n color: theme.palette.primary.main,\n },\n \"& .MuiOutlinedInput-input\": {\n \"&::placeholder\": {\n textTransform: \"none\"\n },\n }\n },\n}));\nfunction PlanningTimeField({\n label,\n name,\n renderDate,\n defaultValue,\n variant,\n disabled,\n onlyTime,\n onChange,\n setErrors,\n error,\n format,\n background,\n pointerEvent,\n helperText,\n type\n}) {\n\n const classes = useStyles();\n const [selectedDate, setSelectedDate] = useState(null);\n const outputFormat = \"DD/MM/YYYY\";\n useEffect(() => {\n if (defaultValue !== \"Invalid date\") {\n setSelectedDate(\n defaultValue\n ? moment(defaultValue, onlyTime ? \"HH:mm\" : \"DD/MM/YYYY HH:mm:ss a\")\n : null\n );\n } else {\n setSelectedDate(\"\");\n // setErrors({\n // ...errors,\n // [name]: { valid: false }\n // })\n }\n }, [defaultValue]);\n\n const changeTime = (date) => {\n setSelectedDate(date);\n onChange && onChange(moment(date).format(\"HH:mm\"));\n if (date === null) {\n // setErrors({\n // ...errors,\n // [name]: { valid: false }\n // })\n } else {\n // setErrors({\n // ...errors,\n // [name]: { valid: true }\n // })\n }\n };\n\n return (\n \n }\n error={error && error}\n helperText={helperText}\n InputAdornmentProps={{ position: \"end\" }}\n onChange={(date) => {\n setSelectedDate(date);\n onChange && onChange(moment(date).format(type === \"resource\" ? \"HH:mm:ss\" : \"DD/MM/YYYY HH:mm:ss\"));\n }}\n />\n \n \n )\n}\n\nexport default PlanningTimeField","import React from \"react\";\n\nimport { Grid, Typography, makeStyles, Box } from \"@material-ui/core\";\nimport { ToggleButton, ToggleButtonGroup } from \"@material-ui/lab\";\n\nconst useStyles = makeStyles((theme) => ({\n error: {\n borderColor: \"red\",\n color: \"red\",\n },\n}));\n\nfunction MROOnSiteOffSite(props) {\n const classes = useStyles();\n\n const {\n value,\n handleToggle,\n error,\n setError,\n name,\n label,\n disabled,\n label1,\n label2,\n } = props;\n\n return (\n \n \n \n \n {label}\n \n \n \n \n {\n typeof handleToggle === \"function\" && handleToggle(value);\n typeof setError === \"function\" && setError();\n }}\n aria-label=\"text formatting\"\n exclusive\n >\n \n {label1 ?? \"MRO / On-Site\"}\n \n \n {label2 ?? \"Supplier / Off-Site\"}\n \n \n \n \n \n \n {error && (\n

\n Please select the yes or no\n

\n )}\n
\n );\n}\n\nexport default MROOnSiteOffSite;\n","import React, { useEffect, useState } from \"react\";\nimport {\n KeyboardDatePicker,\n MuiPickersUtilsProvider,\n DateTimePicker,\n KeyboardDateTimePicker,\n KeyboardTimePicker\n} from '@material-ui/pickers';\nimport MomentUtils from '@date-io/moment';\nimport { makeStyles } from '@material-ui/core/styles';\nimport moment from \"moment\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n margin: theme.spacing(1, 0),\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: theme.palette.primary.main + '!important',\n borderWidth: '1px !important'\n },\n '&:hover fieldset': {\n borderColor: theme.palette.primary.light + '!important',\n // borderWidth: '1px !important'\n },\n '& .MuiOutlinedInput-input': {\n padding: '15px'\n }\n },\n '& label': {\n color: theme.palette.primary.main\n }\n },\n}))\n\nfunction DateField({ label, name, defaultValue, variant, disabled, onlyTime, onChange, setErrors, errors, format }) {\n\n const classes = useStyles();\n const [selectedDate, setSelectedDate] = useState(null);\n\n\n\n useEffect(() => {\n if (defaultValue !== 'Invalid date') {\n setSelectedDate(defaultValue ? moment(defaultValue, onlyTime ? \"HH:mm\" : \"YYYY-MM-DD HH:mm:ss a\") : null)\n }\n else {\n setSelectedDate(\"\")\n // setErrors({\n // ...errors,\n // [name]: { valid: false }\n // })\n }\n }, [defaultValue]);\n\n const changeDate = (date) => {\n if (date === null) {\n // setErrors({\n // ...errors,\n // [name]: { valid: false }\n // })\n setSelectedDate(\"\")\n onChange && onChange(\"\")\n } else {\n setSelectedDate(date);\n onChange && onChange(moment(date).format(\"YYYY-MM-DD - HH:mm:ss a\"))\n // setErrors({\n // ...errors,\n // [name]: { valid: true }\n // })\n }\n }\n\n const changeTime = (date) => {\n setSelectedDate(date); onChange && onChange(moment(date).format(\"HH:mm\"))\n if (date === null) {\n // setErrors({\n // ...errors,\n // [name]: { valid: false }\n // })\n } else {\n // setErrors({\n // ...errors,\n // [name]: { valid: true }\n // })\n }\n }\n\n if (onlyTime) {\n return \n console.log(event.target.value)}\n InputAdornmentProps={{ position: \"end\" }}\n // error={errors && errors[name] && !errors[name]?.valid}\n onChange={date => { changeTime(date) }}\n />\n \n \n }\n\n return (\n \n console.log(event.target.value)}\n // InputAdornmentProps={{ position: \"end\" }}\n // error={errors && errors[name] && !errors[name]?.valid}\n onChange={date => { changeDate(date) }}\n />\n \n \n )\n}\n\nexport default React.memo(DateField);\n","import React, { useReducer, useEffect, useContext } from \"react\";\nimport useDebounce from \"lib/utils/debounce\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Divider, Grid, InputBase } from \"@material-ui/core\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport MaterialTable from \"material-table\";\nimport TableAction from \"actions/table_actions\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TouchAppIcon from \"@material-ui/icons/TouchApp\";\nimport { useState } from \"react\";\nimport SelectedOrderDetails from \"./SelectedOrderDetails\";\nimport BoxpTableAction from \"actions/boxp_table_actions\";\nimport { formatToDateOnly, getOrganisationId } from \"lib/utils/common_utils\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport SearchBarWithPartsFilters from \"components/search_with_filters_parts\";\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n padding: \"4px\",\n textAlign: \"center\",\n },\n offgoingchecksTable: {\n \"& td, th \": {\n border: \"1px solid #dddddd\",\n textAlign: \"left\",\n padding: \"8px\",\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n offgoingchecksTable: {\n \"& td, th \": {\n border: \"1px solid #dddddd\",\n textAlign: \"left\",\n padding: \"8px\",\n },\n },\n },\n\n logo: {\n height: \"76px\",\n },\n filePreviewContainer: {\n maxWidth: \"130px\",\n marginRight: \"30px\",\n },\n wrapper: {\n margin: \"1%\",\n },\n\n\n\n\n}));\n\nfunction CopyPreviuos(props) {\n const classes = useStyles();\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { handleClose,\n currentSelection,\n workshop_id,\n getWorkshopOrderDetails,\n setPlanningAction,\n getPlanningList,\n getMaintenanceOrder,\n actionTabId,\n planningId,\n planningWholeDetails,\n getPlanningDetails,\n closeTabAction,\n copyTab } = props;\n // console.log(\"planning id====\", actionTabId)\n const [action, setAction] = useState(null);\n const message = useContext(ToastMessageContext);\n const { page, totalCount, pageSize, inProgress, data } = tableState;\n const [searchText, setSearchText] = useState(\"\");\n const debouncedVal = useDebounce(searchText);\n const [currentSelectedDetails, setCurrentSelectedDetails] = useState({});\n const [planningData, setPlanningData] = useState({})\n const [loading, setLoading] = useState(false)\n const [partNumber, setPartNumber] = useState('')\n const [description, setDescription] = useState('')\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n };\n\n console.log(\"plannnnnn====\", planningId, currentSelection)\n useEffect(() => {\n getMaintenanceOrderList();\n setPlanningData(currentSelection)\n\n }, [page, pageSize, debouncedVal, currentSelection]);\n\n // console.log(\"name===\", tabname)\n useEffect(() => {\n if (currentSelection) {\n setPartNumber(currentSelection?.part_number)\n setDescription(currentSelection?.description || currentSelection?.item_description\n )\n }\n\n }, [currentSelection])\n\n const getMaintenanceOrderList = () => {\n const params = {\n page: page + 1,\n limit: pageSize,\n order_type: actionTabId === 21 || actionTabId === 25\n ? \"Production\"\n : actionTabId === 23\n ? \"Storage\"\n : \"Maintenance\",\n organisation_id: getOrganisationId(),\n search: debouncedVal,\n show_in_work_order: true,\n\n };\n\n BoxpTableAction.getList(dispatch, message, params, \"OrderList\");\n };\n\n\n const columns = [\n {\n title: \"Order #\",\n field: \"order_no\",\n },\n {\n title: \"Date Raised\",\n field: \"created_at\",\n render: (rowData) => formatToDateOnly(rowData.created_at)\n },\n {\n title: \"Part #\",\n field: \"part_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"10%\"\n }\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"45%\"\n }\n },\n {\n title: \"Customer\",\n field: \"customer\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n }\n },\n {\n title: \"Quantity\",\n field: \"quantity\",\n },\n {\n title: \"Action\",\n render: (rowData) => (\n {\n setAction(\"Selected_Order\")\n setCurrentSelectedDetails(rowData)\n }}>\n \n \n ),\n },\n ];\n\n const handlePartCopy = () => {\n TableAction.setPage(dispatch, 0);\n setSearchText(partNumber)\n\n }\n const handleDescriptionCopy = () => {\n TableAction.setPage(dispatch, 0);\n setSearchText(description)\n\n }\n\n const handleSearch = (value) => {\n\n TableAction.setPage(dispatch, 0);\n setSearchText(value);\n }\n const clearSearch = () => {\n handleSearch('')\n }\n return (\n\n\n
\n \n \n \n\n\n
\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n
\n
\n Select an Order to view its details and add to this Order\n
\n
\n
\n\n\n\n {\n action === \"Selected_Order\" &&\n setAction(null)}\n currentPlanningDetails={planningData}\n currentSelectedDetails={currentSelectedDetails}\n workshop_id={workshop_id}\n getWorkshopOrderDetails={getWorkshopOrderDetails}\n getMaintenanceOrderList={getMaintenanceOrderList}\n getPlanningList={getPlanningList}\n planningId={planningId}\n planningWholeDetails={planningWholeDetails}\n type={\"previous_order\"}\n copyTab={copyTab}\n />\n }\n
\n\n\n );\n}\n\nexport default CopyPreviuos;\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAZCAYAAADAHFVeAAAABHNCSVQICAgIfAhkiAAAA1hJREFUSEutVsFV20AQnVlJB3OJOoipIOaIOUQUgBEVxHQgOjAV4A5wKoiAAmIOmKPdAU4HPkHek7STP2sWjC0TePYebGl3NX9m9s+fZaoZnVE0YKIfdWsfmbNEZzftor+8FzZXR2cUDg1TL98vh3Xr6R218gOa1H57F/Z0/vqgdP+L48Ng6T01RcJLIt4VkikTN/H/yzTK83yPZt5oZ1OwOVA0tGSzm3aVe8NHoyhjoe71QdHaGhi8zYVlsAikxtUJK2EmxFN/RhtHdjwKZ1ftMl7Mv5KISGZGyoHlsH/dLhNd3wJYNL1qF83OXTQRtj0mkzoStItuOqbYPoX51sAUxOwUCf2FYRvlxDRRIAU8GgWpgvv3jSM7ug+6bDkFnV1EfmhU8hSNWYoTXwobg7mzGIV9Ek7I2AsRVuq3SOhUjO3f7Fc4v/nYCticfWFiLSkRlOoTY8pBvk/TN8R5r85cioi/+g8MlT9B58F7CvKSRgUn+q7vYmUS7FS39jHMHHnqFOR4FAnGuTPAlEBSBA9N/A5RWzMtWmKOSWSG9SFLeU4mjJHKS2y8xfw8MqYYTuNM5UEE84iemY+9Y8C4YgUDrZ1suXwDUIGctwxvG9XQy5GmEYZyPTNDRXdZH10ZPIaDObCCUer1VfV2FWxNCpwzShLi2DSKjB6puU6Mn/e+EfPPg0G24PWDeq2CjNjH3ChPF4XYp225c3wazGmhDbvG0FDT4/qe0DfeKQ6XAT8NpsaXqa2ePxfzBMWcVhwlSiJVmDetZqkn1kamZWCh8Iaop7SEbUhT6ej8mqIIpSEDEAWRAdAELSOmp8+6p+LwixHus5GzFYJYkkQ3YQNoToc4ixhz3UCqqXA0RpNUVT/TiFQfKwoStiZTUTbEUH3JArQZBddv4eSklo1eXrzXKGr0rijXLowoT9Rbfcc6Cl9QEryrTVTp7aJh6VrLfZUt6GdT7WhBaw9cqbPF9Phn35nh4QXOo4V62zVcdsWGYy1sAKaW7WlgK7ScUGvyN+b2UIOzuvrzdmvvII4EuNRoU9R0WJEfhow7w3kEJkPBoplCLTD3EWlTm2vBXqOE/gn1ICexMk6ecOkRSnAV+GOMZOtuYHUZ+y/YCwPRQHE+TUvcq7sT1hlfnvsHp3lPrjqMh1MAAAAASUVORK5CYII=\"","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport AddIconBox from \"@material-ui/icons/AddBox\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport { Close, Edit, Save, } from \"@material-ui/icons\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport SearchCapability from \"./SearchCapability\";\nimport MROTextField from \"components/form_components/TextField\";\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"1065px\",\n // height: \"110vh\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"73px 50px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"scroll\"\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n tableCell: {\n height: '32px',\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n\n },\n })\n);\n\nexport default function UpdateProjectParts(props) {\n const { handleClose, currentSelection, getPartDetails, projectParts, setCurrentSelectedData, id, primeId, workshopDetails, disabled, orderStateNum } = props\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [data, setData] = useState([])\n const [loading, setLoading] = useState(false)\n const [action, setAction] = useState(null)\n const [rowDetails, setRowDetails] = useState(null)\n\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n toolbar: false\n\n\n };\n useEffect(() => {\n if (currentSelection !== undefined) {\n console.log(currentSelection)\n if (currentSelection?.serial_array.length > 0) {\n setData(currentSelection?.serial_array)\n }\n else {\n setData([])\n }\n\n }\n }, [currentSelection])\n\n\n\n useEffect(() => {\n const value = projectParts.find((item) => item.primary_part_id === currentSelection.primary_part_id)\n // setCurrentSelectedData(value)\n setData(value?.serial_array)\n\n\n }, [projectParts])\n\n\n\n\n const handleDelete = (newData, oldData) => {\n\n MaintenanceServices.deletePlanningProjectParts({ project_part_id: newData.id }).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Deleted Successfully !\",\n variant: \"success\",\n });\n getPartDetails()\n }\n else {\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }\n\n }).catch((res) => {\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n\n }\n\n const handleAdd = (newData, oldData) => {\n const formData = new FormData()\n\n formData.append(\"reportable_type\", \"WorkshopOrder\");\n formData.append(\"primary_part_id\", currentSelection?.primary_part_id);\n formData.append(\"organisation_id\", getOrganisationId());\n formData.append(\"reportable_id\", id);\n formData.append(\"project_primary_part_id\", primeId?.id);\n formData.append(\"quantity\", 1);\n setLoading(true);\n MaintenanceServices.createProjectParts(formData)\n .then((res) => {\n if (res?.success) {\n\n setLoading(false);\n message.showToastMessage({\n message: \"Project Parts Added Successfully\",\n variant: \"success\",\n });\n getPartDetails();\n\n }\n\n else {\n\n setLoading(false);\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // getList();\n handleClose();\n }\n\n\n\n })\n .catch((res) => {\n\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n\n const dataFromParent = (referData, id) => {\n\n const params = {\n quantity: rowDetails.quantity,\n serial: rowDetails.serial,\n project_part_id: rowDetails.id,\n certification_remarks: rowDetails.certification_remarks,\n capability_id: id\n }\n handleSave(params)\n\n };\n\n const handleUpdate = (newData, oldData) => {\n\n const params = {\n quantity: newData.quantity,\n serial: newData.serial,\n project_part_id: newData.id,\n certification_remarks: newData.certification_remarks,\n capability_id: newData.capability_id\n }\n handleSave(params)\n\n }\n\n const handleSave = (params) => {\n setLoading(true)\n MaintenanceServices.updatePLanningProjectParts(params).then((res) => {\n if (res?.success) {\n getPartDetails()\n message.showToastMessage({\n message: \"Updated Successfully !\",\n variant: \"success\",\n });\n }\n else {\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }\n }).catch((res) => {\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n const column = [\n\n {\n title: \"Part #\",\n field: \"part_number\",\n width: '10%',\n editable: \"never\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n width: '10%',\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n width: '10%',\n },\n },\n {\n title: \"Serial #\",\n field: \"serial\",\n\n editComponent: props => (\n\n props.onChange(e.target.value)}\n inputProps={{ maxLength: 30 }}\n\n />\n\n )\n },\n {\n title: \"CRS Remarks *\",\n field: \"certification_remarks\",\n\n width: '50%',\n headerStyle: {\n textAlign: \"left\",\n\n width: '50%'\n },\n cellStyle: {\n textAlign: \"left\",\n width: '50%'\n\n },\n editComponent: props => (\n\n props.onChange(e.target.value)}\n inputProps={{ maxLength: 500 }}\n multiline\n />\n\n )\n },\n {\n title: \"CAP Ref *\",\n field: \"reference_data\",\n render: (rowData) => rowData?.reference_data || \"-\",\n editComponent: (props) =>\n {\n setAction(\"searchCapability\")\n setRowDetails(props?.rowData)\n }}>{props?.rowData?.reference_data || \"-\"}\n },\n\n {\n title: \"Quantity\",\n field: \"quantity\",\n editable: \"never\",\n },\n\n ];\n\n return (\n
\n \n
\n\n\n\n \n \n \n Project Parts\n \n \n\n handleClose()} />\n \n \n\n\n \n disabled || !props?.permission.write,\n isEditHidden: (rowData) => disabled || !props?.permission.write,\n onRowUpdate: (newData, oldData) =>\n new Promise((resolve, reject) => {\n handleUpdate(newData, oldData)\n resolve();\n }),\n onRowDelete: (newData, oldData) =>\n new Promise((resolve, reject) => {\n handleDelete(newData, oldData)\n resolve();\n }),\n }\n }\n\n />\n \n
* Only add customised ‘CRS Remarks’ and ‘Capability Reference’ if they differ from those planned against the general Workshop Order
\n
\n \n {\n action === \"searchCapability\" && (\n setAction(null)}\n func={dataFromParent}\n />\n )\n }\n
\n )\n}\n","import React, { useState, useEffect, useReducer, useContext } from \"react\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport { IconButton } from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport AddIconBox from \"@material-ui/icons/AddBox\";\nimport CreateProjectParts from \"../QuotePopUp/CreateProjectParts\";\nimport UpdateProjectParts from \"./UpdateProjectParts\";\nimport { Visibility } from \"@material-ui/icons\";\n\n\nfunction ProjectParts(props) {\n const { currentSelection, workshopOrderId, tabState, disabled, tab, actions, setActions, orderStateNum } = props\n // const [actions, setActions] = useState(null)\n const [currentSelectedData, setCurrentSelectedData] = useState({})\n const [projectParts, setProjectParts] = useState([])\n const [projectLoading, setProjectLoading] = useState(false)\n\n const message = useContext(ToastMessageContext)\n\n const tableOptions1 = {\n ...options,\n paging: false,\n search: false,\n toolbar: true,\n };\n const columns1 = [\n {\n title: \"Item\",\n field: \"item\",\n width: \"4%\",\n // render: (rowData) =>  ,\n },\n {\n title: \"Part #\",\n field: \"part_number\",\n\n headerStyle: {\n textAlign: \"left\",\n width: \"12%\"\n },\n cellStyle: {\n textAlign: \"left\",\n\n width: \"12%\"\n }\n },\n {\n title: \"Description\",\n field: \"description\",\n\n headerStyle: {\n textAlign: \"left\",\n width: \"20%\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: '15px',\n width: \"20%\"\n }\n }, {\n title: \"Serial #s\",\n field: \"serial_numbers\",\n\n headerStyle: {\n textAlign: \"left\",\n width: \"60%\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: '15px',\n width: \"60%\"\n }\n },\n {\n title: \"Quantity\",\n field: \"quantity\",\n\n\n },\n\n {\n title: \"Action\",\n field: \"\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n\n },\n render: (rowData) =>\n\n {\n setActions(\"edit_parts\");\n setCurrentSelectedData(rowData);\n }}\n >\n \n \n\n }\n\n ];\n\n useEffect(() => {\n\n getProjectParts()\n\n }, [currentSelectedData])\n\n\n const getProjectParts = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n reportable_id: workshopOrderId,\n // project_primary_part_id: currentSelection.primary_part_id,\n reportable_type: \"WorkshopOrder\"\n\n }\n setProjectLoading(true)\n await MaintenanceServices.getAllProjectParts(params)\n .then((res) => {\n if (res) {\n setProjectParts(res.data);\n }\n // setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // setLoading(false);\n }).finally(() => {\n setProjectLoading(false)\n })\n };\n\n\n return (\n
\n (\n\n \n\n ),\n tooltip: \"Add\",\n hidden: disabled || orderStateNum > 2,\n isFreeAction: true,\n onClick: (rowData) => {\n setActions('add_parts')\n setCurrentSelectedData(rowData)\n }\n },\n ]}\n />\n {\n actions && actions === 'add_parts' &&\n setActions(null)}\n action={actions}\n getPartDetails={getProjectParts}\n id={workshopOrderId}\n primeId={{ id: currentSelection.primary_part_id }}\n tab={\"quote\"}\n quoteStatus={true}\n\n />\n }\n {\n actions && actions === 'edit_parts' &&\n {\n setActions(null)\n setCurrentSelectedData({})\n }}\n action={actions}\n getPartDetails={getProjectParts}\n id={workshopOrderId}\n currentSelection={currentSelectedData}\n projectParts={projectParts}\n setCurrentSelectedData={setCurrentSelectedData}\n primeId={{ id: currentSelection.primary_part_id }}\n workshopDetails={currentSelection}\n disabled={disabled}\n orderStateNum={orderStateNum}\n permission={props?.permission}\n />\n }\n
\n )\n}\n\nexport default ProjectParts","import { Box } from '@material-ui/core'\nimport React, { useState, useEffect } from 'react'\nimport { useContext } from 'react'\nimport MROButton from '../../../../../components/buttons'\nimport { ToastMessageContext } from '../../../../../lib/contexts/message_context'\nimport DataService from '../../../../../lib/services/api'\nimport FileUpload from 'components/form_components/fileUpload'\n\nexport const MultiUploadPreview = (props) => {\n\n const [files, setFiles] = useState([]);\n const message = useContext(ToastMessageContext);\n const [busy, setBusy] = useState(null)\n const handleChange = (e) => {\n console.log(e)\n setFiles(e);\n props.setFiles(e);\n }\n\n useEffect(() => {\n props.setOrgSectionId(props.org_section_id)\n }, [props.org_section_id, props])\n\n const handleUpload = () => {\n let formData = new FormData();\n\n formData.append('org_section_id', props.org_section_id)\n formData.append('id', props.id)\n // formData.append('documents[]', files[0][0])\n formData.append('operable_type', 'WorkOrder')\n files.length > 0 && files.forEach(item => formData.append(`documents[]`, item))\n\n DataService.createData(formData, 'uploadDocs').then(res => {\n props.getSectionDetails()\n message.showToastMessage({ message: 'Documnet uploaded successfully', variant: 'success' })\n }).catch(err => {\n message.showToastMessage({ message: 'Failed to upload documnet.', variant: 'error' })\n })\n }\n\n const handleRemoveFiles = (id) => {\n setBusy(\"file-deleting\")\n DataService.deleteData(null, 'destroyDoc', { id: id })\n .then(res => {\n message.showToastMessage({ message: 'Documnet removed successfully', variant: 'success' })\n props.getSectionDetails()\n }).catch(err => {\n message.showToastMessage({ message: 'Failed to remove documnet.', variant: 'error' })\n }).finally(() => {\n setBusy(null)\n })\n }\n\n return (\n\n <>\n\n 0 &&\n props?.file.map((file) => ({\n filename: file?.filename,\n url: file?.file,\n id: file?.id,\n }))\n }\n uploadButtonView={false}\n setFiles={(files) => {\n setFiles(files)\n handleChange(files)\n }}\n showBorderOnNoFiles={true}\n accept={\"video\"}\n // name=\"internal_files[]\"\n multiple={true}\n APIUrl={\"\"}\n action={\"Upload File\"}\n onDelete={!props.permission.write ? null : handleRemoveFiles}\n isDeleting={busy === \"file-deleting\"}\n viewOnly={!props.permission.write}\n width={\"56vw\"}\n />\n\n\n\n {/* \n \n {!!files.length && \n Upload File\n }\n */}\n \n )\n}\n\nexport default React.memo(MultiUploadPreview)\n","module.exports = __webpack_public_path__ + \"static/media/gear.607d7ae7.svg\";","import { ToastMessageContext } from \"lib/contexts/message_context\";\nimport React, { useState, useCallback, useEffect, useContext } from \"react\";\n\nimport { useHistory } from \"react-router\";\n\nimport WarningDialog from \"views/Procurement/Services/Requests/WarningDialog\";\n\nfunction RouterPrompt(props) {\n const {\n when,\n onOK = () => true,\n onCancel = () => false,\n title,\n description,\n tab,\n } = props;\n\n const history = useHistory();\n\n const message = useContext(ToastMessageContext);\n\n const [showPrompt, setShowPrompt] = useState(false);\n const [currentPath, setCurrentPath] = useState(\"\");\n const [showToast, setShowToast] = useState(false);\n\n useEffect(() => {\n if (when) {\n history.block((prompt) => {\n setCurrentPath(prompt.pathname);\n setShowPrompt(true);\n setShowToast(true);\n return \"false\";\n });\n } else {\n history.block(() => {});\n }\n\n return () => {\n history.block(() => {});\n };\n }, [history, when]);\n\n const handleOK = useCallback(async () => {\n if (onOK) {\n const canRoute = await Promise.resolve(onOK());\n if (canRoute) {\n history.block(() => {});\n history.push(currentPath);\n }\n }\n }, [currentPath, history, onOK]);\n\n const handleCancel = useCallback(async () => {\n if (onCancel) {\n const canRoute = await Promise.resolve(onCancel());\n if (canRoute) {\n history.block(() => {});\n history.push(currentPath);\n }\n }\n setShowPrompt(false);\n }, [currentPath, history, onCancel]);\n\n useEffect(() => {\n if ((showToast && tab === \"induction\") || (showToast && tab === \"quote\") || (showToast && tab === \"planning\")) {\n message.showToastMessage({\n message: \" Close Tab before leaving this tab!\",\n variant: \"error\",\n });\n }\n }, [showToast, tab, currentPath]);\n\n if (showToast && tab === \"induction\" || (showToast && tab === \"quote\") || (showToast && tab === \"planning\")) {\n return null;\n }\n \n\n return showPrompt ? (\n \n ) : null;\n}\n\nexport default RouterPrompt;\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAABHNCSVQICAgIfAhkiAAABGlJREFUWEftWV1u20YQ3iGZ5yYnqHyCKieo/Ba0psW8FbaAuiewcoIoJ6h8AxeQjb6FMt2ib1FOUOUE1RHYZ5M7/WZJKivqjxRtQwK6gGDI4u58++3M7PAbUg3Hm+Cnlqe9LhG3WVFLliOl2vjzEp+YlZpm/+MZM00TJxn/Ff4+a2IW69cfAvSFdi+BJAAcA7Te4JliFT446dUuG6gF2oBl9z2AXtQDuelpvn6g9EMd8JVAB8HFy0Qnl0RqUDbPiv8lVhPFHLLrmGP3lDcNw+vYzFOJuIqiVLcUUcCkOqTom9I6MbMaeo53JfO2EbIVtDHMD59gyBifD1afccTDKBqF24yUf/f9XgDX6uPz/eKSPPXoxfE24BtB/xCctV12PmFhCapsACw7anAfjiZ1wZafPwl6HdI4vUXwcUr6+M/w1gTwqrEWtO+fXSjH+XUBsNa/RNHtdVOw5fk/+ud9xyGxVYxYaf1una2VoMsMi99q4s6m3TfdiNh0mCaWv69lfAm0+HDKyT8FwwiQL8itQZ3o3nUDec4PEfDf5WvELnlHZR9fAF0OOmE4obT9HICLjRrg7E4LxoFhKTgXQJ+c9gbYJfJwNhAQr5/SJdadSO6efxe/47Q/3N+NBsX3Oejs4vDELbLxREFX1XVKwRk/UPK6OPE5aP/0/BrJ/2ezKNJadDfqVDXwVM/5p73JPB0y/xbd3VyILQO6zDJurePHyMNNN2PyOCu5J8wA20fCtgENXx7Cly/3ieUCqM02fPsKvt03oP3uOXyZWpkvq7e7XM1NWV0331z5jvqY/c6zaHxzRLZrSIq7H998vbKfCknNdf1uD2X5VxehhShlHsPZUSPv10CSCJEkusYRNL+jhayxX1hXo0EWAWgrrRwEaPX5QEFbTn4IRANjTHZkHghodXCgzTvp/4H4HP6FYk7y9DxxP4fNxjYkTx/kjVgqS+NoPHrVmI1HXmCp9pD1T7rnqFHp232v8uQlG6Vpe6meRjk1uR+Pjh+ZrJ2XO+n2oG6pjilM7Xr6IN9cZBd2tbcvbNssg+bFd0QBXdYbpG79I7oZ7nyuDSfaWa2sv+yl7lF+oV2rewgxuQ49sWUpW29oSF6l6Xl8iVBjXvskY0C37tjS2EotD3q0pEAjfIssBWns7XNIY7mLfiy0cHEL6NWtjVpeQUUdBbMSfRUeyl1C3rozhjcotRv1aXZoaLcacFR9JPerChhqPQLdRVoj86A35afmfi19egPjYAD9FYIg+EidACz4vrg8tjFc4KrWc9GJHZxmroAnrdFzuR3XolXuBP+sy44jSlHHnrsq6FatvRW0lVXQ2GEYWtGZwgYY3S2Hs+6W67pfiu5WmqZGINekW4TuFgwu6SriDopJulvDbU0iWasS6GK3edMTjZ1cXa1L8arncdOhCTqok51qgbbBo7UszIO5vDqssQFxAzw+QVtkWAdsZZ/ehkXYd1M3cEj64dQy/o4+ubhR1hilvLXGM81qmrppuAtQG8d/qm17/uM6l6IAAAAASUVORK5CYII=\"","import React, { useContext, useState } from \"react\";\nimport MRORightDrawer from \"components/temporary_sidebar\";\nimport { Typography, Box, Grid } from \"@material-ui/core\";\nimport TouchAppIcon from \"@material-ui/icons/TouchApp\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { DragDropContext, Droppable, Draggable } from \"react-beautiful-dnd\";\nimport MROButton from \"components/buttons\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport ReorderIcon from '@material-ui/icons/Reorder';\n\n\nconst useStyles = makeStyles((theme) => ({\n stageStyle: {\n border: \"0.5px solid gray\",\n borderRadius: \"5px\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n padding: \"5px\",\n width: \"288px\",\n height: \"50px\",\n wordWrap: \"break-word\",\n boxShadow: \"0px 1px 4px #0000001A\",\n textAlign: 'center'\n },\n actionButtons: {\n paddingTop: \"20px\",\n textAlign: \"right\",\n \"& button\": {\n marginRight: \"20px\",\n },\n },\n reorderIcon: {\n color: theme.palette.secondary.main\n },\n}));\n\nfunction EditStageOrder(props) {\n const classes = useStyles();\n const { handleClose, stageDetails, workshop_id, closeDrawer } = props;\n const message = useContext(ToastMessageContext);\n const [stageObj, setStageObj] = useState(stageDetails);\n const [busy, setBusy] = useState(null)\n\n // console.log(\"stage obj=================\", stageObj);\n\n const handleSubmit = () => {\n let stageParams = stageObj?.map((item) => {\n return { stage_position: item.stage_position, action_info_id: item.id }\n })\n\n // console.log(\"stage params is=================\", stageDetails)\n const params = {\n workshop_action_id: workshop_id,\n stage_position_data: stageParams,\n };\n // console.log(\"params is========================\", params);\n setBusy(\"update\")\n InspectionServices.updateStagePosition(params)\n .then((res) => {\n if (res) {\n closeDrawer(res);\n props.getAllActionStages()\n message.showToastMessage({\n message: \"Updated Successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!!\",\n variant: \"error\",\n });\n }).finally(() => {\n setBusy(null)\n })\n };\n\n // console.log(\"stage obj is================\", stageObj)\n\n const resetDisplayPositions = list => {\n const resetList = list.map((c, index) => {\n const slide = c\n slide.stage_position = index + 1\n return slide\n })\n return resetList\n }\n\n const handleDrag = (list, startIndex, endIndex) => {\n const result = Array.from(list)\n const [removed] = result.splice(startIndex, 1)\n result.splice(endIndex, 0, removed)\n return resetDisplayPositions(result)\n };\n\n const onDragUpdate = result => {\n if (!result.destination) {\n return\n }\n const dragged = stageObj[result.source.index]\n const previousDraggedIndex = dragged.stage_position\n dragged.stage_position = result.destination.index + 1\n const draggedIndexDifference = dragged.stage_position - previousDraggedIndex\n const updatedContent = stageObj.map((c, index) => {\n const slide = c\n if (slide.stage_position === result.destination.index + 1 && index !== result.source.index) {\n slide.stage_position -= draggedIndexDifference\n }\n return slide\n })\n setStageObj(updatedContent)\n }\n\n return (\n
\n \n {\n if (!result.destination) {\n return\n }\n const content = handleDrag(stageDetails, result.source.index, result.destination.index)\n setStageObj(content)\n stageDetails.splice(result.destination.index, 0, stageDetails.splice(result.source.index, 1)[0]);\n\n // handleDrag(param);\n // const srcIndx = param.source.index;\n // const desIndx = param.destination?.index;\n // stageDetails.splice(desIndx, 0, stageDetails.splice(srcIndx, 1)[0]);\n }}\n >\n Edit Stage Order\n \n \n Click and Drag Stages up or down to re-order as required\n \n \n \n Stage Order\n \n \n {(provided, snapshot) => (\n
\n {stageDetails?.map((stage, index) => (\n \n {(provided, snapshot) => (\n \n \n \n \n {stage.stage_position}\n \n \n \n \n   \n {stage.stage_name}\n \n \n \n \n )}\n \n ))}\n {provided.placeholder}\n
\n )}\n
\n \n
\n \n Cancel\n \n \n Save\n \n
\n
\n
\n );\n}\n\nexport default EditStageOrder;\n","import React, { useContext, useState } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Grid,\n Typography,\n} from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport BoxpDataService from \"lib/services/api/boxp_index\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\n\nconst useStyles = makeStyles(() => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"25%\",\n },\n },\n title: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n warning: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: \"16px\",\n marginBottom: \"20px\",\n },\n actionButtons: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n}));\n\nfunction DeleteAction(props) {\n const classes = useStyles();\n const {\n handleClose,\n open,\n selectedId,\n section,\n getAllActions,\n closeHandler,\n setSelectedRowId,\n } = props;\n const message = useContext(ToastMessageContext);\n const [busy, setBusy] = useState(null);\n\n const handleSubmit = () => {\n setBusy(\"loading\");\n InspectionServices.deleteAction(selectedId)\n .then((res) => {\n if (res.success) {\n setBusy(null);\n setSelectedRowId(null);\n getAllActions();\n closeHandler();\n message.showToastMessage({\n message: \"Action removed successfully\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n setBusy(null);\n handleClose();\n message.showToastMessage({\n message: \"Can’t be deleted! - Items exist against action!!\",\n variant: \"error\",\n });\n });\n // BoxpDataService.boxpDeleteData(selectedId, section , \"\").then((res) => {\n // if (res.success) {\n // setBusy(null);\n // setSelectedRowId(null)\n // getAllActions();\n // closeHandler();\n // message.showToastMessage({ message: \"Action removed successfully\", variant: \"success\" });\n // }else if(!res.scucces){\n // setBusy(null);\n // handleClose();\n // // message.showToastMessage({ message: \"Can’t be deleted! - Items exist against action!!\", variant: \"error\" });\n // message.showToastMessage({ message: \"Action removed successfullys\", variant: \"success\" });\n // }\n // })\n };\n return (\n
\n \n \n \n Delete Item\n \n \n \n \n This cannot be undone. Are you sure?\n \n \n \n \n Cancel\n \n \n \n \n Yes\n \n \n \n \n \n
\n );\n}\n\nexport default DeleteAction;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport MROTextField from \"components/form_components/TextField\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport MROButton from \"components/buttons\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport YesNoField from \"components/form_components/YesNoField\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport { Box } from \"@material-ui/core\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport DeleteAction from \"./DeleteAction\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\nimport NumericIncrement from \"views/Operations/LineMaintenance/WorkOrder/FieldComponents/numeric_increment\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport { Autocomplete } from \"@material-ui/lab\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrap: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n}));\n\nfunction EditActionInfo(props) {\n const classes = useStyles();\n const {\n handleClose,\n selectedId,\n closeHandler,\n getAllActions,\n selectedAction,\n getSelectedAction,\n setSelectedRowId, projectParts,\n currentWorkshopDetails\n } = props;\n const message = useContext(ToastMessageContext);\n const [dropDownData, setDropdownData] = useState([]);\n const [errors, setErrors] = useState({});\n const [ataChapter, setAtaChapter] = useState(null);\n const [mechAuth, setMechAuth] = useState(null);\n const [inspAuth, setInspAuth] = useState(null);\n const [busy, setBusy] = useState(null);\n const [action, setAction] = useState(null);\n const [criticalConsideration, setCriticalConsideration] = useState(null);\n const [IndependentInsp, setIndependentInsp] = useState(null);\n const [title, setTitle] = useState(null);\n const [maintFile, setMaintFile] = useState([]);\n const [state, setState] = useState({ man_hours: '' });\n const [detailedDescription, setDetailedDescription] = useState('')\n const [actionCategory, setActionCategory] = useState(null);\n const [selectedProjects, setSelectedProject] = useState({})\n\n\n\n\n useEffect(() => {\n if (projectParts.length > 0 && selectedAction?.project_part_id !== null) {\n\n let value = projectParts?.find((item) => item.id === selectedAction?.project_part_id)\n setSelectedProject(value)\n\n } else if (projectParts.length > 0 && selectedAction?.project_part_id == null) {\n let value = projectParts?.find((item) => item.part_number === \"N/A\")\n setSelectedProject(value)\n\n\n }\n\n }, [projectParts])\n\n\n\n\n\n useEffect(() => {\n if (selectedAction?.ata_chapter_id !== undefined) {\n setAtaChapter(selectedAction?.ata_chapter_id);\n } if (selectedAction?.action_category_id !== undefined) {\n setActionCategory(selectedAction?.action_category_id);\n }\n if (selectedAction?.mech_auth_id !== undefined) {\n setMechAuth(selectedAction?.mech_auth_id);\n }\n if (selectedAction?.insp_auth_id != undefined) {\n setInspAuth(selectedAction?.insp_auth_id);\n }\n setTitle(selectedAction?.title);\n setDetailedDescription(selectedAction?.detailed_description)\n setState({ man_hours: selectedAction?.estimate_man_hours })\n setCriticalConsideration(\n selectedAction?.critical_considerations === true\n ? \"yes\"\n : selectedAction?.critical_considerations === false\n ? \"no\"\n : null\n );\n setIndependentInsp(\n selectedAction?.independent_insp_required === true\n ? \"yes\"\n : selectedAction?.independent_insp_required === false\n ? \"no\"\n : null\n );\n }, [selectedAction]);\n\n useEffect(() => {\n getDropdownData();\n }, []);\n\n const getDropdownData = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await InspectionServices.getAllDropDown(params)\n .then((res) => {\n if (res) {\n setDropdownData(res.data);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const { error, valid } = validateFormData(formData, [\n \"critical_considerations\",\n \"independent_insp_required\",\n \"maintenance_file[]\",\n ]);\n if (!valid) {\n setBusy(null);\n setErrors(error);\n return;\n }\n const qty = +formData.get(\"estimate_man_hours\");\n if (qty === 0) {\n console.log(\"qty===\", qty)\n setErrors((prevState) => ({\n ...prevState,\n estimate_man_hours_null: \"QTY must not be less than zero\",\n }))\n\n return;\n\n }\n setBusy(\"loading\");\n formData.delete(\"maintenance_file[]\");\n maintFile.forEach((file) => formData.append(\"maintenance_file[]\", file));\n formData.delete(\"project_part_id\")\n if (currentWorkshopDetails?.project_part && selectedProjects?.part_number !== \"N/A\") {\n\n formData.append(\"project_part_id\", selectedProjects?.id)\n\n }\n await InspectionServices.updateAction(formData, selectedId)\n .then((res) => {\n if (res) {\n handleClose();\n getSelectedAction();\n setBusy(null);\n message.showToastMessage({\n message: \"Updated successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n setBusy(null);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n };\n\n const deleteFileHandler = async (id) => {\n setBusy(\"file-deleting\");\n try {\n const response = await MaintenanceServices.deleteFile(id);\n\n if (response.success) {\n message.showToastMessage({\n message: \"File deleted successfully\",\n variant: \"success\",\n });\n getSelectedAction();\n }\n setBusy(null);\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"file-deleting-error\");\n }\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleCriticalConsideration = (value) => {\n if (value) {\n setCriticalConsideration(value);\n }\n };\n const handleIndependentInsp = (value) => {\n if (value) {\n setIndependentInsp(value);\n }\n };\n\n const handleChange = ({ target: { name, value } }) => {\n setState({\n ...state,\n [name]: value\n })\n }\n\n return (\n
\n \n \n \n \n \n \n \n \n Edit Action\n \n \n setAction(\"delete\")}>\n \n Delete Item  \n \n \n \n \n \n\n
\n
\n \n \n Action Details\n \n \n \n\n\n\n \n {\n resetErrorsHandler(e.target.name);\n setActionCategory(e.target.value);\n }}\n >\n {dropDownData?.action_category?.map((option) => (\n \n {option?.name}\n \n ))}\n \n \n\n\n {currentWorkshopDetails?.project_part && \n\n\n option.id === value.id}\n filterSelectedOptions={true}\n onChange={(e, value) => {\n setSelectedProject(value)\n setErrors({ ...errors, project_part_id: false })\n }}\n id=\"tags-user\"\n options={projectParts || []}\n getOptionLabel={(option) => option.part_number === \"N/A\" ? option.part_number : `${option.part_number} - ${option.serial}` || \"\"}\n value={selectedProjects}\n renderInput={(params) => (\n \n )}\n />\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n \n \n {\n setTitle(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n \n \n {\n setDetailedDescription(e.target.value)\n resetErrorsHandler(e.target.name);\n }}\n >\n \n \n\n \n {\n setMechAuth(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n {dropDownData?.mech_insp_auth?.map((option) => (\n \n {option.type_name}\n \n ))}\n \n \n \n {\n setInspAuth(e.target.value);\n resetErrorsHandler(e.target.name);\n }}\n >\n {dropDownData?.mech_insp_auth?.map((option) => (\n \n {option.type_name}\n \n ))}\n \n \n \n \n \n {\n resetErrorsHandler(e.target.name);\n setAtaChapter(e.target.value);\n }}\n >\n {dropDownData?.ata_chapters?.map((option) => (\n \n {option.chapter_number}\n \n ))}\n \n \n \n QTY Required Must Be Greater Than 0 : (errors[\"estimate_man_hours\"] && state.man_hours === \"\") ? *Please Enter Estimated Man Hrs : ''\n }\n setError={() =>\n setErrors((prevState) => ({\n ...prevState,\n estimate_man_hours: false,\n }))\n }\n />\n \n \n \n \n \n\n \n \n \n\n \n Upload PDF versions of relevant maintenance data you want to be\n visible in the APP\n \n\n ({\n filename: item?.file_name,\n url: `${item?.path}`,\n id: item?.id,\n }))\n : \"\"\n }\n APIUrl={\"\"}\n onDelete={deleteFileHandler}\n isDeleting={busy === \"file-deleting\"}\n setFiles={(files) => {\n setMaintFile(files);\n }}\n multiple={true}\n width={\"50%\"}\n showBorderOnNoFiles={true}\n name={\"maintenance_file[]\"}\n action={\"Upload Document\"}\n accept={\"multiple\"}\n />\n
\n
\n \n Cancel\n \n \n Update\n \n
\n
\n {action === \"delete\" && (\n setAction(null)}\n open={true}\n selectedId={selectedId}\n section={\"deleteActionData\"}\n closeHandler={closeHandler}\n getAllActions={getAllActions}\n setSelectedRowId={setSelectedRowId}\n />\n )}\n
\n
\n );\n}\n\nexport default EditActionInfo;\n","import React, { useState, useEffect, useContext } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Box, CircularProgress, Tooltip } from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport MROButton from \"components/buttons\";\nimport EditStageOrder from \"./EditStageOrder\";\nimport EditActionInfo from \"./EditActionInfo\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport _ from \"lodash\";\nimport { formatDateFunction, getOrganisationId } from \"lib/utils/common_utils\";\nimport RescheduleIcon from \"@material-ui/icons/History\";\nimport HistoryTablePopup from \"./HistoryTablePopup\";\nimport ManHousrHistory from \"./ManhoursHistory\";\nimport ReorderIcon from '@material-ui/icons/Reorder';\nimport useGetProjectParts from \"../GetProjectParts\";\n\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n root: {\n backgroundColor: \"#ffffff\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n EditIcon: {\n bgcolor: \"primary\",\n color: \"#fff\",\n },\n reorderIcon: {\n color: theme.palette.secondary.main\n },\n editButton: {\n marginLeft: \"300px\",\n },\n description: {\n borderRadius: \"5px\",\n height: \"max-content\",\n fontSize: \"15px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(1),\n whiteSpace: 'break-spaces'\n },\n partKey1: {\n fontSize: \"14px\",\n // padding: \"5px\",\n },\n partValue1: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"5px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partCard1: {\n borderRadius: \"8px\",\n padding: \"12px 16px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n}));\n\nfunction ActionInformation(props) {\n const classes = useStyles();\n const {\n handleClose,\n selectedId,\n getAllActions,\n setSelectedRowId,\n styleProp,\n readProp,\n orderState,\n planning_verification,\n currentWorkshopDetails\n } = props;\n const [action, setAction] = useState(null);\n const message = useContext(ToastMessageContext);\n const [loading, setLoading] = useState(false);\n const [stageDetails, setStageDetails] = useState([]);\n const [selectedAction, setSelectedAction] = useState([]);\n const [currentSelection, setCurrentSelection] = useState({})\n\n // this for history table popup\n const [anchorEl, setAnchorEl] = useState(null);\n const [anchorElMan, setAnchorElMan] = useState(null);\n const [busy, setBusy] = useState(null);\n const [popupData, setPopupData] = useState([]);\n // for opening history table popup\n const handleClickHistory = (event) => {\n setAnchorEl(true);\n };\n const handleClick = (event) => {\n setAnchorElMan(true);\n };\n\n\n // ProjectPArts\n const params1 = {\n organisation_id: getOrganisationId(),\n workshop_order_id: currentWorkshopDetails?.id,\n\n\n }\n\n const projectParts = useGetProjectParts(params1, currentWorkshopDetails?.project_part)\n // for closing history table popup\n const handleCloseFunc = () => {\n setAnchorEl(false);\n };\n const handleCloseFuncMan = () => {\n setAnchorElMan(false);\n };\n\n const handleEdit = () => {\n setAction(\"EditInfo\");\n };\n\n const handleCloseEdit = () => {\n if (action === \"EditInfo\" || action === \"EditActionInfo\") {\n setAction(null);\n }\n };\n\n // console.log(\"order state is================\", orderState)\n\n useEffect(() => {\n getAllActionStages();\n }, []);\n\n const getAllActionStages = async () => {\n const params = {\n workshop_action_id: selectedId,\n };\n await InspectionServices.getAllActionStages(params)\n .then((res) => {\n if (res) {\n setStageDetails(res.data);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n // setIsGettingDetails(false);\n });\n };\n\n useEffect(() => {\n getSelectedAction();\n }, []);\n\n const getSelectedAction = async () => {\n setLoading(true);\n await InspectionServices.getSelectedAction(selectedId)\n .then((res) => {\n if (res) {\n setLoading(false);\n setSelectedAction(res.data);\n }\n })\n .catch(() => {\n setLoading(false);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setLoading(false);\n });\n };\n\n const handleCloseButton = () => {\n props.getAllActionStages();\n handleClose();\n };\n const GetInfoCard = (props) => {\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n };\n\n\n\n\n return (\n \n \n \n \n \n \n \n Action Information\n \n {planning_verification === \"Not Verified\" && props?.permission.write &&\n
\n \n setAction(\"EditActionInfo\")}\n />\n \n
}\n
\n
\n\n
\n
\n {loading && _.isEmpty(selectedAction) ? (\n \n \n \n ) : (\n <>\n \n \n Action Details\n \n \n\n\n
\n \n <>\n \n
\n \n \n \n \n \n\n
\n
\n\n \n
\n \n \n\n \n \n\n \n
\n
\n\n \n \n
\n\n\n \n \n Detailed Description\n \n \n \n \n {selectedAction?.detailed_description}\n \n \n\n \n Tech Data\n \n \n ({\n filename: item?.file_name,\n url: `${item?.path}`,\n id: item?.id,\n }))\n : \"\"\n }\n showBorderOnNoFiles={true}\n APIUrl={\"\"}\n multiple={true}\n name={\"maintenance_file[]\"}\n action={\"Upload Document\"}\n uploadButtonView={true}\n />\n \n\n \n \n Verification\n \n \n \n \n \n Verified\n \n \n \n {selectedAction?.verified_date_time === null\n ? \"-\"\n : formatDateFunction(\n selectedAction?.verified_date_time\n )}\n \n \n \n Verified by\n \n \n \n {selectedAction?.verified_by === null\n ? \"-\"\n : selectedAction?.verified_by}\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n Stages\n \n \n \n \n \n Number of Stages\n \n \n {stageDetails.length || \"-\"}\n \n {/* \n Reorder Stages\n \n {planning_verification === \"Verified\" &&\n \n {\"-\"}\n }\n {planning_verification === \"Not Verified\" && props?.permission.write &&\n \n \n {(\n <>\n \n \n\n\n\n ) || \"-\"}\n \n \n } */}\n \n \n \n \n \n \n \n \n\n \n \n Man-Hrs\n \n \n \n \n \n Est Man-Hrs\n \n \n {selectedAction?.estimate_man_hours}\n \n \n Actual Man-hrs\n \n \n {selectedAction?.actual_man_hours || \"-\"\n }\n \n\n \n \n \n \n \n \n {/* \n \n */}\n \n \n \n {\n handleClick(e);\n setCurrentSelection(currentSelection);\n }}\n className={\"text-info\"}\n >\n \n \n \n \n \n \n \n \n\n \n \n Closure\n \n \n \n \n \n Closed\n \n \n {selectedAction?.closed_date_time === null\n ? \"-\"\n : formatDateFunction(\n selectedAction?.closed_date_time\n )}\n \n \n Closed by\n \n \n {selectedAction?.closed_by || \"-\"}\n \n \n \n \n \n \n \n {\n handleClickHistory(e);\n setCurrentSelection(currentSelection);\n }}\n className={\"text-info\"}\n >\n \n \n \n \n \n \n \n \n \n )}\n
\n
\n\n {action === \"EditInfo\" && (\n \n )}\n {action === \"EditActionInfo\" && (\n \n )}\n
\n );\n}\n\nexport default ActionInformation;\n","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/CheckTickGrey.34ebe2bb.svg\";","import requestrApi from \"../../common/boxr_api_client\";\nimport requestApi from \"lib/services/api/common/boxp_api_client\";\n\n\n\n\n\nconst getBaseStation = (params) => {\n return requestrApi({\n url: '/base_stations',\n method: \"GET\",\n params\n });\n};\n\nfunction getLineCustomers(params) {\n return requestrApi({\n url: '/line_customers/listing_line_customers',\n method: 'GET',\n params: params\n });\n}\n\n\nconst getPlannedWorkOrder = (params) => {\n return requestrApi({\n url: '/work_orders/planned_work_orders',\n method: \"GET\",\n params\n });\n};\n\nconst getPlannedTask = (params) => {\n return requestrApi({\n url: '/work_orders/planned_tasks',\n method: \"GET\",\n params\n });\n};\nconst getPlannedTasksParts = (params) => {\n return requestrApi({\n url: '/work_orders/planned_parts',\n method: \"GET\",\n params\n });\n};\nconst getPlannedTasksTools = (params) => {\n return requestrApi({\n url: '/work_orders/planned_tools',\n method: \"GET\",\n params\n });\n};\n\nconst createPlannedTask = (formData) => {\n return requestrApi({\n url: '/work_orders/create_planned_task',\n method: \"POST\",\n data: formData\n });\n};\n\nconst createTaskLibrary = (formData) => {\n return requestrApi({\n url: '/work_orders/create_task_library',\n method: \"POST\",\n data: formData\n });\n};\n\n\n\n\nconst getAllDropDown = (params) => {\n return requestrApi({\n url: `/task_libraries/fetch_ata_chapters`,\n method: \"GET\",\n params\n });\n};\nconst convertHourstoDecimal = (params) => {\n return requestrApi({\n url: `/work_orders/convert_hours_minutes`,\n method: \"GET\",\n params\n });\n};\n\nconst createPlannedTools = (params) => {\n return requestrApi({\n url: '/work_orders/create_tool',\n method: \"POST\",\n params\n });\n};\n\n\nconst getSubPlannedTasksTools = (params) => {\n return requestrApi({\n url: '/work_orders/task_tools',\n method: \"GET\",\n params\n });\n};\n\nconst getSubPlannedTasksParts = (params) => {\n return requestrApi({\n url: '/work_orders/task_parts',\n method: \"GET\",\n params\n });\n};\n\nconst createNewParts = (params) => {\n return requestrApi({\n url: '/work_orders/create_lm_part',\n method: \"POST\",\n params\n });\n};\n\nconst searchCreateNewParts = (params) => {\n return requestrApi({\n url: 'work_orders/search_create_part',\n method: \"POST\",\n params\n });\n};\nconst getPlannedLibraryListing = (params) => {\n return requestrApi({\n url: '/work_orders/task_library',\n method: \"GET\",\n params\n });\n};\nconst updatePlannedTask = (params) => {\n return requestrApi({\n url: '/work_orders/edit_planned_tasks',\n method: \"PUT\",\n params\n });\n};\nconst getRecords = (params) => {\n return requestrApi({\n url: '/work_orders/view_records',\n method: \"GET\",\n params\n });\n};\n\nconst fetchAllToolsListing = (params) => {\n return requestrApi({\n url: '/toolings/toolings_dependencies',\n method: \"GET\",\n params\n });\n};\nconst deleteWorkOrder = (params) => {\n return requestrApi({\n url: '/work_orders/destroy_work_order',\n method: \"DELETE\",\n params\n });\n};\n\n\nconst deletePlannedTask = (params) => {\n return requestrApi({\n url: '/work_orders/delete_planned_tasks',\n method: \"DELETE\",\n params\n });\n};\nconst deletePlannedTools = (params) => {\n return requestrApi({\n url: '/work_orders/delete_lmp_tool',\n method: \"DELETE\",\n params\n });\n};\nconst deletePlannedParts = (params) => {\n return requestrApi({\n url: '/work_orders/delete_lmp_part',\n method: \"DELETE\",\n params\n });\n};\n\nconst getToolingList = (params) => {\n return requestrApi({\n url: '/work_orders/tools_table',\n method: \"GET\",\n params\n });\n};\nconst getToolingFinder = (params) => {\n return requestrApi({\n url: '/toolings',\n method: \"GET\",\n params\n });\n};\n// Task Library tab\n\nconst getTaskLibraryListing = (params) => {\n return requestrApi({\n url: '/work_orders/task_library_table',\n method: \"GET\",\n params\n });\n};\n\nconst createJobRequest = (params) => {\n return requestrApi({\n url: \"/part_requests/operation_part_request\",\n method: \"POST\",\n params\n })\n}\nconst updateTaskManHours = (formData) => {\n return requestrApi({\n url: '/task_libraries/update_task_library',\n method: \"PUT\",\n data: formData\n });\n};\n\n\nconst getActualHoursListing = (params) => {\n return requestrApi({\n url: '/work_orders/avg_hours_table',\n method: \"GET\",\n params\n });\n};\n\nconst createTaskWorkOrder = (formData) => {\n return requestrApi({\n url: '/work_orders/create_operational_task',\n method: \"POST\",\n data: formData\n });\n}\nconst updateTaskWorkOrder = (formData) => {\n return requestrApi({\n url: 'work_orders/update_planned_task',\n method: \"PUT\",\n data: formData\n });\n}\nconst getHistory = (params) => {\n return requestrApi({\n url: 'work_orders/history_table',\n method: \"GET\",\n params\n });\n};\nconst changetaskState = (params) => {\n return requestrApi({\n url: '/work_orders/change_state?',\n method: \"PUT\",\n params\n });\n};\n\nconst deleteAllTempPlannedTask = (formData) => {\n\n return requestrApi({\n url: '/work_orders/delete_parts_tool',\n method: \"DELETE\",\n data: formData\n });\n\n}\n\n\nconst PlanningWorkOrderServices = {\n getBaseStation,\n getLineCustomers,\n getPlannedWorkOrder,\n getAllDropDown,\n convertHourstoDecimal,\n createPlannedTask,\n getPlannedTask,\n getPlannedTasksParts,\n getPlannedTasksTools,\n getTaskLibraryListing,\n createPlannedTools,\n getSubPlannedTasksTools,\n getSubPlannedTasksParts,\n createNewParts,\n searchCreateNewParts,\n getPlannedLibraryListing,\n updatePlannedTask,\n getRecords,\n createJobRequest,\n fetchAllToolsListing,\n deleteWorkOrder,\n deletePlannedTask,\n getToolingList,\n deletePlannedTools,\n deletePlannedParts,\n getActualHoursListing,\n updateTaskManHours,\n createTaskWorkOrder,\n getToolingFinder,\n updateTaskWorkOrder,\n createTaskLibrary,\n getHistory,\n changetaskState,\n deleteAllTempPlannedTask\n\n\n}\nexport default PlanningWorkOrderServices","import requestApi from \"lib/services/api/common/boxp_api_client\";\n\n\nconst createMessage = (formData) => {\n return requestApi({\n url: '/new_message',\n method: 'POST',\n data: formData\n\n })\n\n}\n\nfunction fetchDependency(params) {\n return requestApi({\n url: '/fetch_users',\n method: 'GET',\n params: params\n })\n\n}\nfunction getListingConversation(params) {\n return requestApi({\n url: '/listing_conversations',\n method: 'GET',\n params: params\n })\n\n}\nfunction getGroupMessageDetails(params) {\n return requestApi({\n url: '/group_message_details',\n method: 'GET',\n params: params\n })\n\n}\n\nfunction getChatMessage(params) {\n return requestApi({\n url: '/chat_messages',\n method: 'GET',\n params: params\n })\n\n}\n\nfunction updateSubjectTitle(formData) {\n return requestApi({\n url: '/update_thread_subject?_method=PUT',\n method: 'POST',\n data: formData\n })\n\n}\nfunction viewParticipantDetails(params) {\n return requestApi({\n url: '/view_participants',\n method: 'GET',\n params: params\n })\n\n}\n\nfunction updateArchiveState(formData) {\n return requestApi({\n url: '/archive_thread?_method=PUT',\n method: 'POST',\n data: formData\n })\n\n}\nfunction updateReplyMessage(formData) {\n return requestApi({\n url: '/reply_message',\n method: 'POST',\n data: formData\n })\n\n}\n\nfunction getAllComplianceReadAndSign(params) {\n return requestApi({\n url: '/read_sign_messages',\n method: 'GET',\n params: params\n })\n}\n\nfunction fetchCategoryDependencies(params) {\n return requestApi({\n url: '/read_sign_categories',\n method: 'GET',\n params: params\n })\n}\nfunction fetchCustomerDependencies(params) {\n return requestApi({\n url: '/fetch_customers',\n method: 'GET',\n params: params\n })\n}\nfunction getComplianceReadDetails(params) {\n return requestApi({\n url: '/get_read_sign_message',\n method: 'GET',\n params: params\n })\n}\n\nfunction getTotalUnReadCount(params) {\n return requestApi({\n url: '/total_unread_messages',\n method: 'GET',\n params: params\n })\n}\n\nfunction updateUnReadMessageStatus(formData) {\n return requestApi({\n url: '/read_message?_method=PUT',\n method: 'POST',\n data: formData\n })\n\n}\n\nfunction updateReadStatusById(params) {\n return requestApi({\n url: '/read_bulk_messages?_method=PUT',\n method: 'POST',\n params\n })\n\n}\n\nfunction fetchApprovalTypes(params) {\n return requestApi({\n url: '/fetch_approval_types',\n method: 'GET',\n params: params\n })\n}\n\n\nfunction getReadSignListing(params) {\n return requestApi({\n url: '/reading_list',\n method: 'GET',\n params: params\n })\n}\n\n\nfunction removeUserFromChat(params) {\n return requestApi({\n url: '/remove_user_from_chat',\n method: 'DELETE',\n params: params\n })\n\n}\n\nfunction updateReadAndSign(formData) {\n return requestApi({\n url: '/edit_read_sign?_method=PUT',\n method: 'POST',\n data: formData\n })\n\n}\n\nexport const MessageServices = {\n createMessage,\n fetchDependency,\n getListingConversation,\n getGroupMessageDetails,\n getChatMessage,\n updateSubjectTitle,\n viewParticipantDetails,\n updateArchiveState,\n updateReplyMessage,\n getAllComplianceReadAndSign,\n fetchCategoryDependencies,\n fetchCustomerDependencies,\n getComplianceReadDetails,\n getTotalUnReadCount,\n updateUnReadMessageStatus,\n updateReadStatusById,\n fetchApprovalTypes,\n getReadSignListing,\n removeUserFromChat,\n updateReadAndSign\n\n\n};\n\n","// import request from \"../../common/api_client\";\nimport requestrApi from \"../../common/boxr_api_client\";\n\nfunction getAllTooling(params) {\n return requestrApi({\n url: '/toolings',\n method: 'GET',\n params:params\n });\n}\nfunction getToolImageDetails(params) {\n return requestrApi({\n url: '/toolings/image_list',\n method: 'GET',\n params:params\n });\n}\nfunction getAllFileList(params) {\n return requestrApi({\n url: '/toolings/file_list',\n method: 'GET',\n params:params\n });\n}\nfunction getToolImageHistory(params) {\n return requestrApi({\n url: '/toolings/calibration_certificate_list',\n method: 'GET',\n params:params\n });\n}\nfunction fetchDependencies() {\n return requestrApi({\n url: '/toolings/fetch_filter_dependencies',\n method: 'GET',\n });\n}\nfunction getToolHistory(params) {\n return requestrApi({\n url: '/toolings/tooling_histories',\n method: 'GET',\n params:params\n });\n}\nfunction fetchSampleDocument() {\n return requestrApi({\n url: '/toolings/fetch_sample_document',\n method: 'GET',\n });\n}\nfunction downloadTemplate() {\n return requestrApi({\n url: '/primary_parts/fetch_sample_document',\n method: 'GET',\n });\n}\nfunction createToolings(formData) {\n return requestrApi({\n url:'/toolings',\n method: 'POST',\n data:formData\n })\n}\nfunction createToolingImage(formData) {\n return requestrApi({\n url:'/toolings/create_image',\n method: 'POST',\n data:formData\n })\n}\nfunction createToolingFiles(formData) {\n return requestrApi({\n url:'/toolings/create_files',\n method: 'POST',\n data:formData\n })\n}\nfunction bulkUpload(formData) {\n return requestrApi({\n url:'/toolings/bulk_upload',\n method: 'POST',\n data:formData\n })\n}\nfunction createCalibrationCert(formData) {\n return requestrApi({\n url:'/toolings/create_calibration_certificate',\n method: 'POST',\n data:formData\n })\n}\nfunction createImages(formData) {\n return requestrApi({\n url:'/toolings/create_image',\n method: 'POST',\n data:formData\n })\n}\nfunction deleteTooling(formData) {\n return requestrApi({\n url:`/toolings/destroy_tooling`,\n method: 'DELETE',\n data:formData\n })\n}\nfunction deleteToolImages(formData) {\n return requestrApi({\n url:`/toolings/remove_certificate`,\n method: 'DELETE',\n data:formData\n })\n}\nfunction changeStatus(formData){\n return requestrApi({\n url:`/toolings/update_tooling`,\n method: 'PUT',\n data:formData\n })\n}\nfunction updateDocument(formData){\n return requestrApi({\n url:`/toolings/update_documents`,\n method: 'PUT',\n data:formData\n })\n}\nfunction bulkUploadStock(formData) {\n return requestrApi({\n url:'/primary_parts/bulk_upload',\n method: 'POST',\n data:formData\n })\n}\n\nconst InStockClientervices = {\n downloadTemplate, bulkUploadStock, getToolHistory,createImages, createCalibrationCert,deleteToolImages,createToolingImage,createToolingFiles,getAllFileList,\n deleteTooling, getToolImageDetails, updateDocument, getToolImageHistory, getAllTooling,createToolings,deleteTooling,fetchDependencies,changeStatus,bulkUpload,fetchSampleDocument\n};\n\nexport default InStockClientervices;","import requestApi from \"lib/services/api/common/boxp_api_client\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\nimport { BASE_API_URL_BOXR } from \"lib/constants\";\nimport requestrApi from \"lib/services/api/common/boxr_api_client\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\nconst addTask = (formData) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/public/api/v1/add_stage`,\n method: \"POST\",\n data: formData,\n });\n};\nconst editTask = (formData) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/public/api/v1/edit_stage`,\n method: \"POST\",\n data: formData,\n });\n};\nconst createCustomer = (formData) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customer`,\n method: \"POST\",\n data: formData,\n });\n};\nconst editCustomer = (formData, id = null) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customer/update/${id}?_method=PUT`,\n method: \"POST\",\n data: formData,\n });\n};\n\nconst getCustomerAll = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customer/all`,\n method: \"GET\",\n params,\n });\n};\nconst getCustomer = (id = null) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customer/${id}`,\n method: \"GET\",\n // params,\n });\n};\n\nconst updateContact = (formData, id = null) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customer/contact/update/${id}?_method=PUT`,\n method: \"POST\",\n data: formData,\n });\n};\nconst deleteContact = (id = null) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customer/contact/${id}`,\n method: \"DELETE\",\n });\n};\nconst updateEmail = (formData, id = null) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customer/report_emails/update/${id}?_method=PUT`,\n method: \"POST\",\n data: formData,\n });\n};\n\nconst deleteEmail = (id = null) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customer/report_emails/${id}`,\n method: \"DELETE\",\n });\n};\nconst updateAddress = (formData, id = null) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customer/address/update/${id}?_method=PUT`,\n method: \"POST\",\n data: formData,\n });\n};\n\nconst deleteAddress = (id = null) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customer/address/${id}`,\n method: \"DELETE\",\n });\n};\nconst updateStorageRates = (formData, id = null) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customer/storage_rates/update/${id}?_method=PUT`,\n method: \"POST\",\n data: formData,\n });\n};\n\nconst deleteStorageRates = (id = null) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/customer/storage_rates/${id}`,\n method: \"DELETE\",\n });\n};\n\nconst updateCommercialRates = (formData, params) => {\n return requestrApi({\n url: `${BASE_API_URL_BOXR}/line_customers/update_commercial_rates`,\n method: \"PUT\",\n data: formData,\n params\n });\n};\nconst currencies = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/currencies`,\n method: \"GET\",\n params\n });\n};\nconst getPaymentTerms = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/get_payment_terms`,\n method: \"GET\",\n params\n });\n};\nconst getIncoterms = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/get_incoterms`,\n method: \"GET\",\n params\n });\n};\n\nconst getQuotation = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/quotation/${id}`,\n method: \"GET\",\n });\n}\nconst getWorkshopOrder = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/workshop_order_generate`,\n method: \"POST\",\n params\n });\n}\n\nconst getBaseStation = (params) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/base-stations`,\n method: \"GET\",\n params\n });\n}\n\nconst acceptanceOrder = (formData, id = null) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/quotation-acceptance-update/${id}?_method=PUT`,\n method: \"POST\",\n data: formData,\n });\n};\n\n\nexport const OperationWorkshopTaskLibraryServices = {\n addTask,\n editTask,\n createCustomer,\n editCustomer,\n getCustomerAll,\n getCustomer,\n updateContact,\n updateEmail,\n deleteContact,\n deleteEmail,\n updateAddress,\n deleteAddress,\n updateStorageRates,\n deleteStorageRates,\n updateCommercialRates,\n currencies,\n getQuotation,\n getWorkshopOrder,\n getBaseStation,\n acceptanceOrder,\n getPaymentTerms,\n getIncoterms\n};\n","import React from \"react\";\n\nimport Popover from \"@material-ui/core/Popover\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { IconButton, makeStyles } from \"@material-ui/core\";\nimport InfoOutlinedIcon from \"@material-ui/icons/InfoOutlined\";\n\nconst useStyles = makeStyles((theme) => ({\n typography: {\n padding: theme.spacing(2),\n },\n\n root: {\n \"& .MuiPaper-root\": {\n width: (props) => props.width ?? undefined,\n },\n },\n}));\n\nexport default function InfoPopup(props) {\n const { description } = props;\n const [anchorEl, setAnchorEl] = React.useState(null);\n\n const classes = useStyles(props);\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const open = Boolean(anchorEl);\n const id = open ? \"simple-popover\" : undefined;\n\n return (\n
\n \n \n \n \n {description}\n \n
\n );\n}\n","// import request from \"../common/api_client\";\nimport requestrApi from \"../common/boxr_api_client\";\nconst BASE_PATH= '/part_requests';\nconst constType = {\n 'stock': 'fetch_secondary_parts',\n 'alternateList': 'list_alternate_parts'\n}\n\n\nfunction getAllRequestList(params, formData) {\n return requestrApi({\n url: `${BASE_PATH}/procurement_requests_listing`,\n method: 'GET',\n params: params,\n data: formData\n });\n}\n\nfunction getPartInfo(params) {\n return requestrApi({\n url: `primary_parts/primary_part_info`,\n method: 'GET',\n params: params,\n });\n}\n\nfunction fetchDependencies() {\n return requestrApi({\n url: `primary_parts/fetch_dependencies`,\n method: 'GET',\n });\n}\n\nfunction getPartList(params,fetchType) {\n return requestrApi({\n url: `primary_parts/${constType[fetchType]}`,\n method: 'GET',\n params: params,\n });\n}\n\nfunction EditPartRequest(params) {\n return requestrApi({\n url: `${BASE_PATH}/edit_part_request`,\n method: 'PUT',\n params: params,\n })\n}\n\n\nfunction createPo(formData) {\n return requestrApi({\n url: `/purchase_orders`,\n method: 'POST',\n data:formData\n })\n}\n\nfunction allocatePart(data) {\n return requestrApi({\n url: \"/procurement_requests/procurement_request_allocate\",\n method: \"PUT\",\n data\n })\n}\n\nfunction updateAlternateQty (data) {\n return requestrApi({\n url: `/procurement_requests/allocate_alternate_parts`,\n method: \"PUT\",\n data\n })\n}\n\n\nconst RequestListClientServices = { getAllRequestList, getPartInfo, fetchDependencies, getPartList, EditPartRequest, createPo, allocatePart, updateAlternateQty}\n\nexport default RequestListClientServices;","// import request from \"../common/api_client\";\nimport requestrApi from \"../common/boxr_api_client\";\nimport requestApi from \"../common/boxp_api_client\";\n// import { BASE_API_URL } from \"lib/constants\";\n\nfunction fetchDependencies() {\n return requestrApi({\n url: `/equipment_requests/fetch_dependencies`,\n method: \"GET\",\n });\n}\nfunction ServiceFetchDependencies(params) {\n return requestrApi({\n url: `/services/fetch_dependencies`,\n method: \"GET\",\n params:params\n });\n}\nfunction workshopEquipmentFetchDependencies(params) {\n return requestrApi({\n url: `/equipment_requests/fetch_dependencies`,\n method: \"GET\",\n params:params\n });\n}\nfunction fetchEquipDependencies() {\n return requestrApi({\n url: `/equipment_requests/fetch_dependencies`,\n method: \"GET\",\n });\n}\nfunction fetchSupplier(params) {\n return requestrApi({\n url: `/equipment_requests/fetch_suppliers`,\n method: \"GET\",\n params: params,\n });\n}\nfunction fetchEquipmentSupplier(params) {\n return requestrApi({\n url: `/equipment_requests/fetch_suppliers`,\n method: \"GET\",\n params: params,\n });\n}\nfunction getProcuremntApprvl(params) {\n return requestrApi({\n url: `/equipment_requests/listing_proc_approvals`,\n method: \"GET\",\n params\n });\n}\nfunction releaseRequirement(params) {\n return requestApi({\n url: `/release_requirement`,\n method: \"GET\",\n params\n });\n}\nfunction equipment(params) {\n return requestrApi({\n url: `/equipment_requests`,\n method: \"GET\",\n params\n });\n}\n\nfunction createEquipment(formData) {\n return requestrApi({\n url: `/equipment_requests`,\n method: \"POST\",\n data: formData,\n });\n}\nfunction createEquipments(formData) {\n return requestrApi({\n url: `/equipments`,\n method: \"POST\",\n data: formData,\n });\n}\nfunction workshopCreateEquipments(formData) {\n return requestrApi({\n url: `/equipment_requests`,\n method: \"POST\",\n data: formData,\n });\n}\nfunction updateEquipments(formData) {\n return requestrApi({\n url: `/equipment_requests/update_equipment`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction workshopUpdateEquipments(formData) {\n return requestrApi({\n url: `/equipment_requests/update_equipment`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction updatePurchase(formData) {\n return requestrApi({\n url: `/equipment_requests/update_purchase_order`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction updateEquipmentQuoteServices(formData) {\n return requestrApi({\n url: `/equipments/update_equipment`,\n method: \"PUT\",\n data: formData,\n });\n}\n\nfunction updateDocuments(formData) {\n return requestrApi({\n url: `/equipment_requests/update_documents`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction cancelEquipmntOrder(formData) {\n return requestrApi({\n url: `/equipment_requests/cancel_eo`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction createPurchaseOrder(formData) {\n return requestrApi({\n url: `/equipment_requests/create_purchase_order`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction deleteEquipments(Id) {\n return requestrApi({\n url: `/equipment_requests/delete_eo`,\n method: \"DELETE\",\n data: Id,\n });\n}\n\n//Approval page\nfunction editProcApproval(formData) {\n return requestrApi({\n url: `/equipment_requests/edit_proc_approval`,\n method: \"PUT\",\n data: formData,\n });\n}\nfunction changeState(formData) {\n return requestrApi({\n url: `/equipment_requests/change_state`,\n method: \"PUT\",\n data: formData,\n });\n}\n\n//send order report email\nfunction sendOrderReportEmail(params) {\n return requestrApi({\n url: `/equipment_requests/send_equipment`,\n method: \"GET\",\n params\n });\n}\n\nfunction deleteDocument(params) {\n return requestrApi({\n url: `/generals/remove_attachment`,\n method: \"DELETE\",\n params\n });\n}\n\nconst EquipmentsClientServices = {\n updatePurchase,\n fetchDependencies,\n createEquipment,\n updateEquipments,\n updateDocuments,\n fetchSupplier,\n ServiceFetchDependencies,\n workshopEquipmentFetchDependencies,\n fetchEquipDependencies,\n createEquipments,\n fetchEquipmentSupplier,\n updateEquipmentQuoteServices,\n workshopCreateEquipments,\n deleteEquipments,\n createPurchaseOrder,\n getProcuremntApprvl,\n editProcApproval,\n changeState,\n cancelEquipmntOrder,\n releaseRequirement,\n workshopUpdateEquipments,\n equipment,\n sendOrderReportEmail,\n deleteDocument\n};\n\nexport default EquipmentsClientServices;\n","// import request from \"../common/api_client\";\nimport requestrApi from \"../common/boxr_api_client\";\nconst BASE_PATH = '/primary_parts';\n\nfunction fetchDependencies() {\n return requestrApi({\n url: `purchase_orders/fetch_dependencies`,\n method: 'GET',\n });\n}\n\nfunction updatePrimaryParts(data) {\n return requestrApi({\n url: `${BASE_PATH}/update_primary_part`,\n method: 'PUT',\n data,\n });\n}\nfunction getPrimaryParts(data) {\n return requestrApi({\n url: `${BASE_PATH}/listing_prime_parts`,\n method: 'GET',\n data,\n });\n}\n\n\nconst PrimePartsClientServices = {\n fetchDependencies,\n updatePrimaryParts,\n getPrimaryParts\n};\n\nexport default PrimePartsClientServices;\n","import React, { useState, useEffect } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport InputBase from \"@material-ui/core/InputBase\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { ICON_COLOUR } from \"../lib/constants/style_constants\";\nimport Divider from \"@material-ui/core/Divider\";\nimport Button from \"@material-ui/core/Button\";\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\nimport Grow from '@material-ui/core/Grow';\nimport Paper from '@material-ui/core/Paper';\nimport Popper from '@material-ui/core/Popper';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport MenuList from '@material-ui/core/MenuList';\n\n\nconst useStyles = makeStyles(theme => ({\n wrapper: {\n backgroundColor: \"#fff\",\n border: \"1px solid #d5d5d5\",\n margin: \"1% 0\",\n display: 'flex',\n '& button': {\n marginRight: theme.spacing(2),\n width: '200px',\n '& .MuiButton-label': {\n justifyContent: 'space-between',\n width: '150px',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden'\n }\n }\n },\n}));\n\nfunction SearchByKeyword(props) {\n const classes = useStyles();\n const anchorRef = React.useRef(null);\n const [open, setOpen] = useState(false);\n const { options, setSelectedOption, selectedOption, searchText, handleSearchText, placeholder } = props;\n\n function handleListKeyDown(event) {\n if (event.key === 'Tab') {\n event.preventDefault();\n setOpen(false);\n }\n }\n\n const handleSelect = (option) => {\n setSelectedOption(option);\n setOpen(false);\n }\n\n return (\n
\n handleSearchText(e.target.value)}\n startAdornment={}\n />\n
\n )\n}\n\nexport default SearchByKeyword;","// import request from \"../../common/api_client\";\nimport requestrApi from \"../../common/boxr_api_client\";\nconst BASE_PATH = \"/part_conditions\";\n\nfunction getAllPartHistory(params) {\n return requestrApi({\n url: `${BASE_PATH}/listing_parts`,\n method: \"GET\",\n params: params,\n });\n}\n\nfunction getHistoryDependency(params) {\n return requestrApi({\n url: `${BASE_PATH}/fetch_dependencies`,\n method: \"GET\",\n params: params,\n });\n}\n\nfunction fetchDependencies() {\n return requestrApi({\n url: `${BASE_PATH}/fetch_dependencies`,\n method: \"GET\",\n });\n}\n\nfunction getConditionedParts(params) {\n return requestrApi({\n url: `/part_conditions/part_condition_info`,\n method: \"GET\",\n params: params,\n });\n}\n\nconst HistoryClientServices = {\n getHistoryDependency,\n getAllPartHistory,\n fetchDependencies,\n getConditionedParts,\n};\n\nexport default HistoryClientServices;\n","module.exports = __webpack_public_path__ + \"static/media/map.61004589.png\";","import { Dialog, withStyles, makeStyles, Grid, DialogTitle, Paper, Typography, Button, Popover, Fade, MenuItem } from '@material-ui/core';\nimport MROTextField from 'components/form_components/TextField';\nimport React, { useContext, useEffect, useReducer, useRef, useState } from 'react'\nimport usePlacesAutocomplete, {\n getGeocode,\n getLatLng, getDetails\n} from \"use-places-autocomplete\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport MROButton from 'components/buttons';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\n\n\n\nlet cachedScripts = []\n\n\n\n\nfunction useScript(src) {\n // Keeping track of script loaded and error state\n\n const [state, setState] = useState({\n loaded: false,\n error: false\n });\n\n useEffect(\n () => {\n // If cachedScripts array already includes src that means another instance ...\n // ... of this hook already loaded this script, so no need to load again.\n if (cachedScripts.includes(src)) {\n setState({\n loaded: true,\n\n error: false\n });\n } else {\n cachedScripts.push(src);\n // Create script\n let script = document.createElement(\"script\");\n script.src = src;\n script.async = true;\n // Script event listener callbacks for load and error\n const onScriptLoad = () => {\n setState({\n loaded: true,\n error: false\n });\n };\n\n const onScriptError = () => {\n // Remove from cachedScripts we can try loading again\n const index = cachedScripts.indexOf(src);\n if (index >= 0) cachedScripts.splice(index, 1);\n script.remove();\n setState({\n loaded: true,\n error: true\n });\n };\n script.addEventListener(\"load\", onScriptLoad);\n script.addEventListener(\"error\", onScriptError);\n // Add script to document body\n document.body.appendChild(script);\n // Remove event listeners on cleanup\n return () => {\n script.removeEventListener(\"load\", onScriptLoad);\n script.removeEventListener(\"error\", onScriptError);\n };\n }\n },\n [src] // Only re-run effect if script src changes\n );\n return [state.loaded, state.error];\n}\n\n\nexport default function Map(props) {\n const { handleClose, location, setLocation, setDialogValue, dialogValue, setCompleteAddress, setFullAddress, } = props\n const classes = useStyles()\n const [mapDetails, setMapDetails] = useState({ name: '', id: '', placeAddress: '' })\n const [mapLocDetails, setMapLocDetails] = useState({ latitude: \"\", longitude: \"\", address: \"\" })\n const [userCurrentLocation, setUserCurrentLocation] = useState({ latitude: \"\", longitude: \"\", })\n const message = useContext(ToastMessageContext);\n const ref = useRef()\n const [action, setAction] = useState(null)\n const [allResults, setAllResults] = useState([])\n const [mouseX, setMouseX] = useState();\n const [mouseY, setMouseY] = useState();\n const [poperState, setPoperState] = useState(false)\n\n const handlepopupclose = () => {\n setAction(\"\")\n setPoperState(false)\n }\n\n const [loaded, error] = useScript(\n \"https://maps.googleapis.com/maps/api/js?key=AIzaSyD8xz9Vdoalaxr8NJyaYAAZ8ZorxPQJ06g&libraries=places,drawing,geometry,marker\"\n );\n\n useEffect(() => {\n if (dialogValue !== undefined || dialogValue !== null) {\n setMapDetails({ placeAddress: dialogValue })\n }\n }, [])\n useEffect(() => {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(success, errors)\n } else {\n console.log(\"Geolocation is not supported by this browser.\")\n }\n\n }, [])\n function success(position) {\n const latitude = position.coords.latitude;\n const longitude = position.coords.longitude;\n\n setUserCurrentLocation({ latitude: latitude, longitude: longitude })\n\n }\n\n function errors() {\n console.log(\"Unable to retrieve your location\");\n }\n // console.log(\"loc===\", userCurrentLocation, location)\n const handleClick = (e) => {\n setAction(\"result\");\n\n setPoperState(!poperState)\n setMouseX(e.clientX);\n setMouseY(e.clientY);\n };\n\n\n\n\n useEffect(() => {\n if (loaded) {\n\n const myLatlng = { lat: location?.latitude ? location.latitude : userCurrentLocation?.latitude ? userCurrentLocation?.latitude : 53.4806837, lng: location?.longitude ? location.longitude : userCurrentLocation?.longitude ? userCurrentLocation?.longitude : -2.2427183 };\n const map = new window.google.maps.Map(document.getElementById(\"map\"), {\n center: myLatlng,\n zoom: 13,\n mapTypeId: \"roadmap\",\n });\n // Create the search box and link it to the UI element.\n\n const geocoder = new window.google.maps.Geocoder();\n let infoWindow = new window.google.maps.InfoWindow();\n const infowindowContent = document.getElementById(\"infowindow-content\");\n //get place details\n\n const marker = new window.google.maps.Marker({\n map,\n position: myLatlng,\n });\n\n //click listner\n map.addListener(\"click\", (event) => {\n\n if (event.placeId) {\n\n geocoder.geocode({ placeId: event.placeId }).then(({ results }) => {\n\n setAllResults(results)\n getAddDetails(results[0].formatted_address)\n map.setZoom(4);\n map.setCenter(results[0].geometry.location);\n\n const parameter = {\n placeId: event.placeId,\n }\n // setTitle(\"\")\n getDetails(parameter)\n .then((details) => {\n setFullAddress([details])\n setCompleteAddress(details.address_components)\n })\n .catch((error) => {\n console.log(\"Error: \", error);\n });\n // setCompleteAddress(results[0].address_components)\n const { lat, lng } = getLatLng(results[0]);\n setMapLocDetails({ latitude: lat, longitude: lng, address: results[0].formatted_address })\n setLocation({ latitude: lat, longitude: lng, address: results[0].formatted_address })\n // Set the position of the marker using the place ID and location.\n // @ts-ignore TODO This should be in @typings/googlemaps.\n\n marker.setPlace({\n placeId: event.placeId,\n location: results[0].geometry.location,\n\n });\n\n marker.setVisible(true);\n let name = event.name\n let address = results[0].formatted_address\n\n\n // infowindowContent.children[\"place-name\"].textContent = event.name;\n // infowindowContent.children[\"place-id\"].textContent = event.placeId;\n // infowindowContent.children[\"place-address\"].textContent = results[0].formatted_address;\n // infoWindow.close()\n // infoWindow.setHeaderContent(name)\n // infoWindow.setContent(address)\n // infoWindow.open(map, marker);\n\n })\n\n }\n else if (event.latLng.toJSON()) {\n\n\n geocoder.geocode({ location: event.latLng.toJSON() }).then(({ results }) => {\n setAllResults(results)\n getAddDetails(results[0].formatted_address)\n map.setZoom(4);\n map.setCenter(results[0].geometry.location);\n\n const parameter = {\n placeId: results[0].placeId,\n }\n // setTitle(\"\")\n getDetails(parameter)\n .then((details) => {\n setFullAddress([details])\n setCompleteAddress(details.address_components)\n })\n .catch((error) => {\n console.log(\"Error: \", error);\n });\n // setCompleteAddress(results[0].address_components)\n const { lat, lng } = getLatLng(results[0]);\n setMapLocDetails({ latitude: lat, longitude: lng, address: results[0].formatted_address })\n setLocation({ latitude: lat, longitude: lng, address: results[0].formatted_address })\n marker.setPlace({\n placeId: event.placeId,\n location: results[0].geometry.location,\n\n });\n\n marker.setVisible(true);\n\n })\n\n\n }\n else {\n message.showToastMessage({\n message: \"No places found\",\n variant: \"error\",\n });\n setMapDetails({ placeAddress: \"\" })\n }\n });\n\n\n\n }\n }, [loaded, location, userCurrentLocation]);\n function getAddDetails(results) {\n // console.log(results)\n setMapDetails({ placeAddress: results })\n\n }\n\n\n const {\n ready,\n value,\n suggestions: { status, data },\n setValue,\n clearSuggestions,\n\n } = usePlacesAutocomplete({ callbackName: \"maploc\" });\n\n\n\n const handleGetLocationDetails = (value1) => {\n\n\n if (value1 !== undefined && value !== null && value1 !== null) {\n let description = value1.description\n setMapDetails({ placeAddress: description })\n getGeocode({ address: description }).then((results) => {\n const parameter = {\n placeId: results[0].place_id,\n }\n console.log(results)\n setAllResults(results)\n // setTitle(\"\")\n getDetails(parameter)\n .then((details) => {\n setFullAddress([details])\n setCompleteAddress(details.address_components)\n })\n .catch((error) => {\n console.log(\"Error: \", error);\n });\n // setCompleteAddress(results[0].address_components)\n const { lat, lng } = getLatLng(results[0]);\n // console.log(\"📍 Coordinates: \", { lat, lng });\n setMapLocDetails({ latitude: lat, longitude: lng, address: description })\n setLocation({ latitude: lat, longitude: lng, address: description })\n\n });\n }\n else {\n setMapLocDetails({ latitude: \"\", longitude: \"\", address: \"\" })\n }\n }\n\n return (\n\n \n\n \n\n Search\n \n \n \n \n \n option.id === value.id\n }\n value={value ? value : null}\n onChange={(event, value) => {\n console.log(value)\n handleGetLocationDetails(value)\n }}\n id=\"tags-locations\"\n options={data}\n loading={status}\n name={\"address\"}\n fullWidth\n getOptionLabel={(option) => typeof option === \"string\" ? option : option.description}\n onInputChange={(e, newValue) => {\n setValue(newValue)\n\n }}\n renderInput={(params) => (\n \n )}\n />\n \n\n\n\n\n
\n {/*
\n
\n Place ID:
\n \n
*/}\n\n\n\n \n\n\n \n \n \n {mapDetails?.placeAddress ? mapDetails?.placeAddress : \"No places found\"}\n \n \n
\n \n Cancel\n \n {\n setDialogValue(mapDetails?.placeAddress)\n setLocation({ latitude: mapLocDetails.latitude, longitude: mapLocDetails.longitude, address: mapLocDetails.address })\n handleClose()\n }}\n >\n Done\n \n
\n {allResults.length > 0 ? \n \n : \"\"}\n\n\n\n
\n
\n\n\n\n \n\n {action && action === \"result\" && \n\n \n {allResults.map((item) => {\n setValue(item.formatted_address)\n handleGetLocationDetails({ description: item.formatted_address })\n handlepopupclose()\n }}>{item.formatted_address})}\n\n\n \n }\n\n\n\n\n\n\n\n\n \n\n );\n}\n\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"800px\",\n }\n },\n actionButtons: {\n marginTop: '-22px',\n // paddingBottom: \"5px\",\n // paddingTop: '20px',\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n}));\n","import React from \"react\";\n\nimport { Grid, Typography, makeStyles, Box } from \"@material-ui/core\";\nimport { ToggleButton, ToggleButtonGroup } from \"@material-ui/lab\";\n\nconst useStyles = makeStyles(() => {\n return {\n mainContainer: {\n margin: \"0.5rem 0\",\n },\n\n fieldContainer: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.25rem\",\n },\n };\n});\n\nfunction SMSReportToggle(props) {\n const {\n value,\n handleToggle,\n error,\n name,\n label,\n disabled,\n toggleOptions = [],\n labelWidth,\n buttonStyles,\n } = props;\n\n const classes = useStyles({ labelWidth });\n\n return (\n \n \n \n \n {label}\n \n \n \n {\n if (handleToggle && typeof handleToggle === \"function\") {\n handleToggle(value);\n }\n }}\n exclusive>\n {toggleOptions?.map((toggleOption) => {\n return (\n \n {toggleOption?.label}\n \n );\n })}\n \n \n \n {error ? (\n \n * Please select{\" \"}\n {typeof label === \"string\" ? label?.toLowerCase() : \"any option\"}\n \n ) : null}\n \n );\n}\n\nexport default SMSReportToggle;\n","import React, { useState, createContext, useReducer, useContext } from \"react\";\n\nexport const PlannedWorkOrderContext = createContext({});\n\n\n\n\nexport default function PlannedWorkOrderProvider({ children }) {\n const [workOrderDetails, setWorkOrderDetails] = useState('')\n const [deleteTaskStatus, setdeleteTaskDetails] = useState(false)\n const [partId, setPartId] = useState([])\n const [toolId, setToolId] = useState([])\n\n\n\n\n let PlannedValue = {\n workOrderDetails,\n setWorkOrderDetails,\n deleteTaskStatus,\n setdeleteTaskDetails,\n partId, setPartId,\n toolId, setToolId\n }\n return (\n \n {children}\n \n );\n\n}","import React from \"react\";\nimport {\n Box,\n CircularProgress,\n Dialog,\n DialogContent,\n makeStyles,\n} from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\n\nfunction ScopeDialog(props) {\n const {\n open,\n handleClose,\n children,\n handleSubmit,\n isLoading,\n width,\n centerActionBtns,\n btnTitle,\n noActionBtns,\n btnLeft,\n bgColor,\n color,\n leftStartIcon,\n rightStartIcon,\n submit,\n hideYesButton,\n notShowButton\n } = props;\n\n const classes = useStyles(props);\n\n const submitHandler = (e) => {\n e.preventDefault();\n typeof handleSubmit === \"function\" && handleSubmit(e);\n };\n\n return (\n \n \n
\n {children}\n {!noActionBtns && \n {!notShowButton && \n {btnLeft ?? \"Cancel\"}\n }\n {!notShowButton && \n {isLoading ? (\n \n ) : (\n btnTitle ?? open\n )}\n }\n }\n \n
\n \n );\n}\n\nexport default ScopeDialog;\n\nconst useStyles = makeStyles(() => ({\n dialog: {\n \"& .MuiDialog-paper\": {\n boxShadow: \"0px 3px 6px #00000029\",\n position: \"absolute\",\n // left: (props) =>\n // props?.fromLeft ? `calc(60% - ${props.fromLeft})` : `calc(60% - 250px)`,\n // height: \"717px\",\n },\n\n // \"& .MuiDialogContent-root\": {\n // padding: (props) =>\n // props.padding ? props.padding : \"37px 65px 63px 65px\",\n // overflow: \"hidden\",\n // },\n },\n}));","module.exports = __webpack_public_path__ + \"static/media/DownloadIcon.1b12ab78.svg\";","import requestrApi from \"./common/boxr_api_client\";\n\nconst deletionUrl = {\n training: '/trainings/destroy_training',\n competency: '/competencies/destroy_competency',\n storageCondition: '/storage_conditions',\n procedureCategories: '/procedure_categories',\n aogSMS: '/line_customers/delete_aog_sms_contacts',\n kpiEmail: '/line_customers/delete_kpi_emails',\n reportEmail: '/line_customers/delete_report_emails',\n approvalType: '/approval_types/destroy_approval_types',\n companyApprovals: '/company_approvals/destroy_company_approval',\n approvalTypeGroup: '/group_types/destroy_group_type',\n authorisation: '/auth_lists/destroy_auth_list',\n taskLibrary: '/task_libraries/destroy_task_library',\n vehicles: '/vehicles/destroy_vehicle',\n competencyCategory: '/competencies/destroy_category',\n competencyQuestion: 'competencies/destroy_question',\n handoverCheck: '/handovers/destroy_setup',\n delayCodes: '/line_customers/delete_delay_codes',\n authList: '/auth_lists/destroy_changes',\n fixedPriceList: '/line_customers/delete_fixed_price_lists',\n airCraftTypeGroup: '/line_customers/delete_aircraft_type_groups',\n vendorParts: '/vendor_parts/delete_vendor_part',\n operation_workorder_tooling: 'operation_fields/delete_tooling',\n operationalTasks: '/operational_tasks/delete_task',\n destroyWorkOrder: '/work_orders/destroy_work_order',\n destroyDoc: '/operation_fields/destroy_doc',\n currencies: '/currencies',\n removeCertificates:\"/primary_parts/remove_certificate\",\n deleteAdhocFormAttachment: '/adhoc_forms/delete_adhoc_mr_attachment',\n deletePartRequests: 'part_requests/destroy_request',\n destroyRequest: 'part_requests/destroy_request',\n deleteContact: \"customer/contact\",\n deleteEmail: \"customer/report_emails\",\n deleteCheckRate: \"/check_rates/destroy_check_rate\",\n destroyCallOuts: \"/call_outs/destroy_call_out\",\n destroyDelay: \"/destroy_delay\",\n deleteToolRate:\"/tooling_rates/delete_tooling_rate\"\n}\n\nfunction deleteData(id, section, data, params) {\n let url = params ? `${deletionUrl[section]}${params ? '?id=' + id : id || ''}`\n : `${deletionUrl[section]}/${id || ''}`\n return requestrApi({\n url: url,\n method: 'DELETE',\n data: id ? '' : data\n })\n}\nfunction AuthDestroyChanges(section) {\n let url = deletionUrl[section];\n return requestrApi({\n url: url,\n method: 'DELETE',\n })\n}\n\nfunction deleteTheAttachment(section,formData) {\n let url = deletionUrl[section];\n return requestrApi({\n url: url,\n method: 'DELETE',\n data:formData\n })\n}\n\n\nexport default deleteData;\nexport { AuthDestroyChanges };\nexport { deleteTheAttachment };","import CreateReducer from '../../../lib/utils/create_reducer';\nimport {WORK_ORDER_ACTIONS} from \"../../../actions/admin/line/work_order_builder_actions\";\n\nexport const INITIAL_STATE = {\n loading:false,\n currentCategory:{},\n categories:[],\n sectionLoading:false,\n sectionDetails:[]\n};\n\n\nconst workOrderReducer = CreateReducer(INITIAL_STATE, {\n [WORK_ORDER_ACTIONS.SET_TEMPLATE_SECTION_DETAILS](state,action){\n return {\n ...state,\n loading:false,\n sectionLoading: false,\n sectionDetails: action.response\n }\n },\n [WORK_ORDER_ACTIONS.SET_TEMPLATE_CATEGORIES](state,action){\n return {\n ...state,\n loading: false,\n categories: action.response\n };\n },\n [WORK_ORDER_ACTIONS.UPDATE_SECTION_STATUS](state,action){\n const updatedCategories = state.categories.map((section)=>{\n if(section.id === action.response.section_id){\n return ({...section,status:!section.status})\n }\n return section;\n })\n return {\n ...state,\n loading: false,\n categories: updatedCategories\n }\n },\n [WORK_ORDER_ACTIONS.UPDATE_SECTION_FIELD_STATUS](state,action){\n return {\n ...state,\n loading:false,\n }\n },\n [WORK_ORDER_ACTIONS.SET_CURRENT_CATEGORY](state,action){\n return {\n ...state,\n loading:false,\n currentCategory: action.response\n }\n },\n [WORK_ORDER_ACTIONS.TOGGLE_LOADING](state,action){\n return {\n ...state,\n loading:!state.loading\n }\n },\n [WORK_ORDER_ACTIONS.TOGGLE_SECTION_LOADING](state,action){\n return {\n ...state,\n sectionLoading:!state.loading\n }\n }\n})\n\nexport default workOrderReducer;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport IconButton from '@material-ui/core/IconButton';\nimport FirstPageIcon from '@material-ui/icons/FirstPage';\nimport KeyboardArrowLeft from '@material-ui/icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@material-ui/icons/KeyboardArrowRight';\nimport LastPageIcon from '@material-ui/icons/LastPage';\n\nconst useStyles1 = makeStyles((theme) => ({\n root: {\n flexShrink: 0,\n marginLeft: theme.spacing(2),\n },\n}));\n\nfunction TablePaginationActions(props) {\n const classes = useStyles1();\n const theme = useTheme();\n const { count, page, rowsPerPage, onPageChange } = props;\n\n const handleFirstPageButtonClick = (event) => {\n onPageChange(event, 0);\n };\n\n const handleBackButtonClick = (event) => {\n onPageChange(event, page - 1);\n };\n\n const handleNextButtonClick = (event) => {\n onPageChange(event, page + 1);\n };\n\n const handleLastPageButtonClick = (event) => {\n onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\n };\n\n return (\n
\n \n {theme.direction === 'rtl' ? : }\n \n \n {theme.direction === 'rtl' ? : }\n \n = Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"next page\"\n >\n {theme.direction === 'rtl' ? : }\n \n = Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"last page\"\n size=\"large\"\n >\n {theme.direction === 'rtl' ? : }\n \n
\n );\n}\n\n\n\n\n\n\nconst useStyles2 = makeStyles({\n table: {\n minWidth: 250,\n },\n});\n\nexport default function CustomPaginationActionsTable({ rowPerPageOptions, count, label, page, setPage, rowsPerPage, setRowsPerPage }) {\n const classes = useStyles2();\n\n\n\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n return (\n\n\n \n\n\n\n );\n}\n","import React from \"react\";\nimport Drawer from '@material-ui/core/Drawer';\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n\nconst MaintMROFullScreenRightDrawer = withStyles(theme => ({\n paperAnchorRight: {\n width: \"calc(100% - 250px)\",\n backgroundColor: \"#F5F5F5\"\n },\n modal:{\n left:'250px !important',\n '& .MuiBackdrop-root':{\n left:'250px'\n }\n }\n}))((props) => {props.open? props.children:

})\n\nexport default MaintMROFullScreenRightDrawer;","import requestApi from \"lib/services/api/common/boxp_api_client\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\n// import { BASE_API_URL_BOXR } from \"lib/constants\";\n\nconst addTask = (formData) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/task_library`,\n method: \"POST\",\n data: formData,\n });\n };\nconst getTaskLibraryData = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/task_library/${id}`,\n method: \"GET\",\n });\n };\n\n const updateTaskLibrary = (data, id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/task_library/${id}?_method=PUT`,\n method: \"POST\",\n data,\n });\n };\nconst deleteTask = (id) => {\n return requestApi({\n url: `${BASE_API_URL_BOXP}/task_library/${id}`,\n method: \"DELETE\",\n });\n };\n\nexport const TaskLibraryServices = {\n addTask,\n getTaskLibraryData,\n updateTaskLibrary,\n deleteTask\n};\n","module.exports = \"data:image/png;base64,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\"","import React from \"react\";\nimport Button from \"@material-ui/core/Button\";\nimport { makeStyles } from \"@material-ui/core/styles\";\n\nconst useStyles = makeStyles(theme => ({\n titleTile: {\n padding: \"3px 20px\",\n fontSize: \"13px\",\n fontWeight: 500,\n margin: '20px 0'\n },\n titleTile2: {\n padding: \"3px 20px\",\n fontSize: \"13px\",\n fontWeight: 500,\n backgroundColor: theme.palette.secondary.light,\n color: theme.palette.secondary.dark\n }\n}))\n\nfunction SectionLabel(props) {\n\n const classes = useStyles();\n\n return (\n \n )\n}\n\nexport function SubSectionLabel(props) {\n\n const classes = useStyles();\n\n return (\n \n )\n}\n\nexport default SectionLabel;\n","module.exports = __webpack_public_path__ + \"static/media/Image.248a3f7a.png\";","import { CircularProgress, Dialog, DialogContent, DialogTitle, IconButton, Typography, makeStyles, Grid } from '@material-ui/core'\nimport { Edit } from '@material-ui/icons'\nimport MROButton from 'components/buttons'\nimport FileUpload from 'components/form_components/fileUpload'\nimport tableIcons, { options } from 'components/universal/table_attributes'\nimport { BASE_API_URL_BOXR } from 'lib/constants'\nimport { ICON_COLOUR } from 'lib/constants/style_constants'\nimport { ToastMessageContext } from 'lib/contexts/message_context'\nimport PartsClientServices from 'lib/services/api/stores/tooling/parts_client'\nimport MaterialTable from 'material-table'\nimport React, { useContext, useEffect, useState } from 'react'\nimport GreenTick from 'assets/CheckTick.svg'\nimport CheckBoxIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport { getOrganisationId } from 'lib/utils/common_utils'\n\nconst useStyles = makeStyles((theme) => ({\n\n dialogTitle: {\n color: theme.palette.primary.main,\n fontSize: '18px'\n },\n modal: {\n \"&.MuiDialog-paperWidthMd\": {\n width: \"563px\",\n },\n },\n actionButtons: {\n paddingTop: \"5px\",\n paddingBottom: \"20px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n\n}))\n\nfunction PartsCertificate(props) {\n const classes = useStyles()\n const { handleClose, selectedSecondaryPartId, selectedSecondaryPart, dialogCloseHandler, tabName } = props\n const [loading, setLoading] = useState(true)\n const [files, setFiles] = useState([])\n const [edit, setEdit] = useState(false)\n const [boolState, setBoolState] = useState(false);\n const [deletedStatus, setDeletedStatus] = useState(false);\n const [records, setRecords] = useState([]);\n const [busy, setBusy] = useState(null);\n const [tableData, setTableData] = useState([])\n const [tableLoading, setTableLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n\n\n const fetchFiles = () => {\n if (selectedSecondaryPartId) {\n setLoading(true)\n PartsClientServices.fetchMaterialCertificates(\n selectedSecondaryPartId\n ).then((response) => {\n setFiles(response.data)\n setTableData(response.certification_requirement);\n }).catch(() => {\n\n }).finally(() => {\n setLoading(false)\n })\n }\n };\n\n // // for fetching files\n useEffect(() => {\n fetchFiles();\n }, [selectedSecondaryPartId]);\n\n\n const deleteFileHandler = (fileId) => {\n // setSelectedFileId(fileId);\n setBusy(\"file-deleting\");\n PartsClientServices.deleteFile(fileId)\n .then((res) => {\n message.showToastMessage({\n message: \"File deleted successfully\",\n variant: \"success\",\n });\n fetchFiles();\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"file-deleting-error\");\n })\n .finally(() => {\n setBusy(null);\n });\n };\n\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n // formData.append(\"task_id\", currentSelection?.id);\n if (records.length > 0) {\n records.forEach((item) => formData.append(\"certificates[]\", item));\n\n formData.append(\"id\", selectedSecondaryPartId);\n formData.append(\"part_type\", \"SecondaryPart\");\n setTableLoading(true)\n PartsClientServices.postDocument(formData)\n .then((res) => {\n message.showToastMessage({\n message: \" File added successfully\",\n variant: \"success\",\n });\n dialogCloseHandler();\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setTableLoading(false);\n });\n }\n else {\n dialogCloseHandler()\n }\n\n };\n useEffect(() => {\n if (records.length) {\n setDeletedStatus(false);\n }\n }, [records]);\n\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n toolbar: false\n };\n\n\n const handleCertificateStatus = (rowData) => {\n const params = {\n secondary_part_id: selectedSecondaryPartId,\n organisation_id: getOrganisationId(),\n data: [\n {\n id: rowData?.id,\n status: rowData?.state === true ? false : true\n },\n\n ]\n }\n\n PartsClientServices.updateSecPartsCertification(params).then((res) => {\n // setBoolState(false)\n fetchFiles()\n })\n\n }\n\n\n\n\n const columns = [{\n title: \"Part Certificates\",\n field: \"name\",\n width: '80%',\n headerStyle: {\n width: '80%',\n textAlign: 'left',\n paddingLeft: '15px'\n },\n\n cellStyle: {\n textAlign: 'left',\n width: '80%',\n paddingLeft: '15px'\n }\n },\n {\n title: \"Status\",\n field: \"status\",\n headerStyle: {\n\n textAlign: 'center'\n },\n\n cellStyle: {\n textAlign: 'center'\n\n },\n render: (rowData) =>\n (\n rowData?.state && boolState ?\n {\n handleCertificateStatus(rowData)\n }}>\n \n : !rowData?.state && boolState ? {\n handleCertificateStatus(rowData)\n }}>\n \n : rowData?.state ?\n \n : ''\n\n )\n }\n ]\n\n\n\n return (\n

\n \n\n \n \n\n Part Certificates\n \n\n {props.permission?.write && tabName === \"stock\" ? {\n setBoolState(true)\n\n }}>\n\n \n \n : \"\"}\n \n \n\n\n\n\n \n
\n ({\n filename: file?.filename,\n url: file?.url,\n id: file?.id,\n })) : ''}\n setFiles={(files) => {\n setRecords(files);\n }}\n accept={\"multiple\"}\n onDelete={boolState === false ? null : deleteFileHandler}\n showBorderOnNoFiles={true}\n multiple={true}\n APIUrl={BASE_API_URL_BOXR}\n isDeleting={busy === \"file-deleting\"}\n uploadButtonView={boolState === false}\n // name={\"certificates[]\"}\n action={\"Upload Document\"} />\n\n
\n
\n \n\n
\n\n\n {boolState === true && (\n
\n \n Cancel\n \n \n Done\n \n
\n )}\n \n
\n \n\n
\n )\n}\n\n\nexport default PartsCertificate","import React, { useEffect } from 'react';\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport ErrorIcon from '@material-ui/icons/Error';\nimport InfoIcon from '@material-ui/icons/Info';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { amber, green } from '@material-ui/core/colors';\nimport IconButton from '@material-ui/core/IconButton';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport SnackbarContent from '@material-ui/core/SnackbarContent';\nimport WarningIcon from '@material-ui/icons/Warning';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { ToastMessageContext } from \"../../lib/contexts/message_context\";\n\nconst variantIcon = {\n success: CheckCircleIcon,\n warning: WarningIcon,\n error: ErrorIcon,\n info: InfoIcon,\n};\n\nconst useStyles1 = makeStyles(theme => ({\n success: {\n backgroundColor: `${green[600]} !important`,\n color: '#fff !important'\n },\n error: {\n backgroundColor: `${theme.palette.error.dark} !important`,\n color: '#fff !important'\n },\n info: {\n backgroundColor: `${theme.palette.primary.main} !important`,\n color: '#fff !important'\n },\n warning: {\n backgroundColor: amber[700],\n },\n icon: {\n fontSize: 20,\n },\n iconVariant: {\n opacity: 0.9,\n marginRight: theme.spacing(1),\n },\n message: {\n display: 'flex',\n alignItems: 'center',\n textTransform: 'capitalize'\n },\n}));\n\nfunction ToastMessageWrapper(props) {\n const classes = useStyles1();\n const { className, message, onClose, variant, ...other } = props;\n const Icon = variantIcon[variant];\n\n return (\n \n \n {message}\n \n }\n action={[\n \n \n ,\n ]}\n {...other}\n />\n );\n}\n\n\nexport default function ToastMessage(props) {\n const messageState = React.useContext(ToastMessageContext);\n\n useEffect(() => {\n return (handleClose = () => null);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n });\n\n function handleClose(event, reason) {\n if (reason === 'clickaway') {\n return;\n }\n messageState.showToastMessage({ ...messageState.toastMessage, open: false });\n }\n\n const { variant, message, open, duration } = messageState.toastMessage;\n\n return (\n \n \n \n );\n}\n","module.exports = __webpack_public_path__ + \"static/media/FormLinkIcon.150193ae.svg\";","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport LoadingIndicator from \"components/universal/loading_indicator\";\nimport { canvasToBlob } from 'blob-util'\nimport InfoOutlinedIcon from \"@material-ui/icons/InfoOutlined\";\nimport CheckBoxIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport GreenTick from 'assets/CheckTick.svg'\nimport PlanningLineMaintenance from 'lib/services/api/planning/LineMaintenance/lineEventsandSeries';\nimport MROButton from \"components/buttons\";\nimport { render } from \"react-dom\";\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"1100px\",\n height: \"830px\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"50px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n // overflow: \"hidden !important\"\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n actionButtons: {\n marginTop: '25px',\n display: \"flex\",\n justifyContent: \"end\",\n alignItems: \"center\",\n },\n\n\n })\n);\nexport default function LinkWorkOrder(props) {\n\n const { handleClose, currentSelection, eventId, onClose } = props\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [file, setFile] = useState([])\n const [loading, setLoading] = useState(false)\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(0)\n const [data, setData] = useState([])\n const [busy, setBusy] = useState(false)\n const [checked, setChecked] = useState({});\n\n const handleChange = (rowData, checked) => {\n setChecked({ ...rowData, checked: true });\n };\n\n\n const getListing = () => {\n\n const params = {\n organisation_id: getOrganisationId(),\n page: page + 1,\n limit: pageSize,\n event_id: eventId\n }\n\n setLoading(true)\n PlanningLineMaintenance.linkWorkOrderListing(params).then((res) => {\n setData(res.data)\n setTotalCount(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n\n\n useEffect(() => {\n\n getListing();\n\n }, [page, pageSize, totalCount]);\n\n\n function container() {\n // Use the fullscreen element if in fullscreen mode, otherwise just the document's body\n return document.fullscreenElement ?? document.body;\n }\n\n\n const handleWorkOrder = () => {\n const formData = new FormData()\n\n\n if (checked.id === undefined || null) {\n message.showToastMessage({\n message: \"Select a Work Order!\",\n variant: \"error\",\n });\n return;\n }\n else {\n setBusy(true)\n formData.append(\"event_id\", eventId)\n formData.append(\"work_order_id\", checked?.id)\n formData.append(\"task\", \"link\")\n PlanningLineMaintenance.updateLinkUnlinkWorkOrder(formData).then((res) => {\n message.showToastMessage({\n message: \"Work order linked successfully\",\n variant: \"success\",\n });\n\n onClose()\n\n }).catch(() => {\n onClose()\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setBusy(false)\n })\n }\n }\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n toolbar: false,\n search: false,\n\n };\n\n\n const column = [\n\n {\n title: \"WO #\",\n field: \"work_order_number\",\n\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n\n },\n },\n {\n title: \"Base\",\n field: \"base_station\",\n\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n\n textAlign: \"left\",\n },\n\n },\n\n {\n title: \"Airline\",\n field: \"airline\",\n\n }, {\n title: \"Aircraft\",\n field: \"aircraft\",\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n\n textAlign: \"left\",\n },\n\n }, {\n title: \"Arr Flight #\",\n field: \"arr_flight\",\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n\n textAlign: \"left\",\n },\n render: (rowData) => {rowData?.arr_flight || \"-\"}\n }, {\n title: \"Arrived At\",\n field: \"arrived_at\",\n width: \"30%\",\n headerStyle: {\n\n textAlign: \"left\",\n width: \"30%\",\n },\n cellStyle: {\n\n textAlign: \"left\",\n width: \"30%\",\n },\n\n },\n\n {\n title: \"Select\",\n field: \"hours\",\n render: (rowData) =>\n <>\n {\n handleChange(rowData, true)\n }}>\n {checked.id !== undefined && checked.id === rowData.id ? :\n }\n \n \n\n\n },\n ];\n\n return (\n
\n \n
\n
\n \n Link to Work Order\n \n
\n\n Select from the table below of unlinked Work Orders matching the Airline and Base from the LM Event
\n
\n
\n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n\n />\n
\n \n \n \n Cancel\n \n \n \n {\n handleWorkOrder()\n }}\n variant={\"contained\"}\n color=\"primary\"\n loading={busy}\n >\n Complete\n \n \n \n
\n \n
\n )\n}\n","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGEAAABaCAYAAACouzjNAAAABHNCSVQICAgIfAhkiAAACexJREFUeF7tXV1W2zgUlhznnNKXYVYwzAqaPgIPhQUAYQWFFTSsoOkKCitouoIGWEDDA/BYZgUNK5jhpe05dqy5V7YTWZZjyZGatJHPmZ52Il9L3ydd3T/ZlFi8urekw0j4mVC6aVHsaoliZHC5G53a7BS1KezwNhxSSo9sylxFWZRGfw+3ydhW3+yScBeOKKGvbHVuVeVQyvaH2/HIVv+ckcAI+RhQNrDV0WXLYYx+zvvw65DA2Lur3bi/bPBsPf/org3zKr08CbZQNZTjSTAEzEVzT4ILVA1lehIMAXPR3JPgAlVDmZ4EQ8BcNPckuEDVUKYnwRAwF809CS5QNZTpSTAEzEVzT4ILVA1lehIMAXPR3JPgAlVDmZ4EQ8BcNPckuEDVUKYnwRAwF809CS5QNZTpSTAEzEVzT4ILVA1lehIMAXPR3JPgAlVDmZ4EQ8BcNPckuEDVUKYnwRAwF809CS5QNZTpSTAEzEVzT4ILVA1lehIMAXPR3JPgAlVDmZ4EQ8BcNPckuEDVUKYnwRAwF809CS5QNZTpSTAEzEVzT4ILVA1lehIMAXPR3DkJeAh8QsM/TDt/vRPfiPccCkdo2QodHDy4C+ce622x+Gm4Sx7mjd8pCUe37Q+EkhNTAtL2bHS5E+/n964KCd37cI8l9DWMaw/6tqU9Nsb+g7OZw4Qkw+vdyaV4n1sShKOh2p0VGl7uRNOz0LokdO/JVsLaR4SymtcvsHFAJje6p+f5ax1o+B6ARPAXuxh5oAE7yw+NV5HQ/UI2k+9tILxuLKrusPHV9uQjFYU36bUuCRx40npFGYVVZwgSAMIoGQQb0cfhSwKztXwd3odvQXa/yRjm3pO9y6KKhIO7di8gBIhvdsGqOy6QoHNImi914XR7s0c3vAvUBaO0f7UTXeQScCay7+EnmVjGyD9IXItFozp9j7JwXBPCtmgS9CglL4o9ZEOQ383/n4iTuPqbjAr3ziWSwJ7giDxuhg+ESbM71eWg0kkH/lQYDGxIN+JT8iPssIR8Kr5Vhj0lhJ1c70wAuGZXNtEGcPdfSgmwOljAxryPfGWn+w4j7Ab+GNU9FV7Cgvdw2UshAd95wXDj0wQJ9XxC2z0g5LU0OASBDz6/EIRgI+5Wqaw6cMTfua7/1h6VV0W1FF2LUN47F14JuDS1BvcsflgEHE4GaQ+qQNEFQKuvWSNTInT7YJ0EcWM2GWCTtur9iD0BMV2br74prAg0KJLwHHSj0pITVeZvT4LK+rGpfppMCrxH1ywX5f+SK0HlUOrOuqbg6t63FiSUVZBb9aMLft5uLUgQ36uHtn/wPNqrdtharykL+ggQZdGxjn9gCrrcfj1I0AgKHt5PwZ+ZrODYJZSd6prCTclYOxLAtRlCwPB4qgpU4EtoJjQ5vd6eDJqCXHffWpBwcN86CVjwQQBjDGTAfxRn/Wzmzxo8wl8Lnq5LItaCBG4G3rYf6jxXbq5S0kd/4fAOnDrJw4bfz6924rO6mW36+9qQkIaL4cW3ineuiuAXbPHbsA8xmrcFUB283XdtSMiB5BnAoNWhCd3CAFqLTEbzcg0KVYZRNquvWV47EkxVBbZPiaDnhWgsJmyeR/uLxLKmxoGG9VZn1i4cwPuZsaN5JMCMfA/qqsvgrcRX2/E7sW2WcRu5IMKvhAzpFOT2lynwCpWTtcEcw8xy4ilMcOoWePm4J0GY7pB+BLNVNE3ZCBI/x6LKUYamwamjJN5v6l3/EiSkueUQwgmYJYNUJGTSAhpfLDL7VGpJDXBZ9ystrQWIWHkSwF5/A/Y6bIrlC3R3X9bdTTbegu5XZ8PGqjhSyZdoGOZYWRKy5Dt4ubPkuApgrDRoGttJn8H3gS2R0KwE5bzgrFXMdJVTZ+pdrwQJCIAMsJj8Tn/jSf0BJvTB8+0JVsoYrKu/m6yAUohb2oyVMx3qiOQ4ksqXkInAAGEWJil1tZDo16w6tJ7UqQOQh5+DCNKP6edPZPCamrjZagOZQjWGZP9DGLzkNatmuoqIPMwBgMGqom/qxsmn2iqSAAO5gHgNzPzZpTAnHyD4P4YVApu12SdSKjdjEp3m1s48gMv9CkfFEptivVEdEVZIAJXRA+DmFsbCrOiImy2vtYGrGNdR1/7w2futDV+f4pZS6Zqnj/HeyffwhVyErGN2VnjNpfCF0qmb9nJaJ1Xot/VEfx3Tqt9RncgqBqyRl7LdnRbpyoVaZYmqKsCUvPArL/KqCDnUbbJqgBW+BK+uaMNXsopVeFWz3PrGbIsEWc9XVUqg3sVSkkJsB0BG9QR92YQyxhHUed6QJIbyR9EjVjtYKv1dsJzSguGiylGQWl5dkNfeiLdUsSapDBL6nVbmzb3QZ8q+Rccr8JRLtU4I/x1VDu1f70Tnsp7HgQfP4gvyDc3HcpW0PKsO7lrdgARQT1pxYdkh6DvZ7Ew0rR0xclpR0FXyJeQ+VRkQVmpRtfDWaKTXGXWlRBZ8K2zg8iNxk8/2noKlonL6UgDpoMpy0tlHJMvqEUjYUsGwaFU2ql9r31mbv6mlxbJynWhlRTXUq4K9BxbTrHCWE7AR/Tn5AQAX0508RwCh6bNCnKhG9VQ5dSwAD5+RTQiznExVBvQHKsFPquYiEkGZ+fkEmEAP6KxaIwE7yONEUDKo+PTjIwDYKYGk+E6n6EVnXvG/+eDzTTs1BAiWq88qtlW6XbXJCpHTkrlcgbLtzzzKj7FKgii8sEnCwOGjoS/z36s+lKoyUSE6+hXuy1XBuLjxSYdNFOGJOUW9IKvuKBXse5T1XFZrpCrW0SVvbKi7Yfbitzk7sHT70pdqH8Gs7cpmbaPzdIpAnM7BFjQWsqLf3IfBaO+57WivCm5nJODDyjH+chdg8JfB8/ikoKpAjbCkDYc/1E6dYtO+KTiLEhHKXPNUyM+Z7fPmulMS6jZrvhSlL7ryFcQonCgtf9MZCcP0JQTNOmIlRZXlhKdL08HP1BYnHTff7DINlbhQHE5JwA5nJzX78KA9+CekFtlTBky6qWaWDf4VylrewoxWmqoJIWfok+QgiHsOWl4Qo9pTec1F0NBEjjs/Q8WYkOWcBFVnVNHNOZ1W7hcqEo7u4Kvo1SdDlXJMwHLVdikk6B5DUu0XCEQpY4ehDjyAKByKx7Nx6GvwxYY1Ss8mQxslLi6IWAoJXE3xVGSIx1XFJM90jJiHuNqNCtFW3Yyd6l4X4NmSuTQSxAHgvkFICKf8STdPoOBMFr3UzLHC+BK0nXuVHENbYLmSsxIk5IOT4zB5fgNWy558Wj8/LA4+xx637yF1CgfNR+Lm7Qo023JXigRlylIxYlwl8IqF3qrqeFOSVooE7Pz8sPbyHStTgHXarxwJfNPmB8cxSY++BQ/SPcLsHwU0gvMHacHA73T9D+5K177SpElKAAAAAElFTkSuQmCC\"","import { Box, Grid } from '@material-ui/core'\nimport React, { useEffect, useState } from 'react'\nimport MROTextField from '../../../../components/form_components/TextField';\nimport FreeTextField from './FieldComponents/free_text_field'\nimport { HydAndOilQuarts } from './section_detail';\n\nexport const OilAndHydFluid = ({ subSection, errors, setErrors, sub_section_fields, oilState, setOilState, disabled }) => {\n\n const [val, setVal] = useState(subSection.field_value);\n const [secondaryCheck, setSecondaryCheck] = useState(false);\n\n useEffect(() => {\n const oilField = sub_section_fields.find(section => section.field_name === HydAndOilQuarts[0])\n const hydField = sub_section_fields.find(section => section.field_name === HydAndOilQuarts[1])\n setOilState({\n ...oilState,\n 'Oil - Quarts': oilField?.field_value,\n 'Hyd Fluid - Quarts': hydField?.field_value,\n })\n }, [])\n\n useEffect(() => {\n setSecondaryCheck(parseFloat(oilState[subSection.field_name]) >= 1)\n }, [oilState['Oil - Quarts'], oilState['Hyd Fluid - Quarts']])\n\n\n const handleChange = _name => ({ target: { value } }) => {\n\n setOilState({\n ...oilState,\n [_name]: value\n })\n }\n\n const inputProps = {\n max: subSection.max_length,\n step: subSection.decimal_places ? (1 / (10 ^ subSection.decimal_places)) : null,\n readOnly:disabled\n }\n const fieldProps = {\n // required: subSection.mandatory || false,\n type: \"number\",\n label: subSection.field_name === \"Tool Pre-Check Completed By - Stamp #\" ? 'Tool Pre-Checks' : subSection.field_name,\n name: subSection.id || subSection.org_field_id,\n defaultValue: subSection.field_value,\n disabled: subSection.disabled,\n // error: errors && errors[subSection.id || subSection.org_field_id],\n autoFocus: errors && errors[subSection.id || subSection.org_field_id] && !errors[subSection.id || subSection.org_field_id].valid,\n error: errors && errors[subSection.id || subSection.org_field_id] && !errors[subSection.id || subSection.org_field_id].valid,\n secondary_fields: subSection.secondary_fields ? {\n // required: subSection.secondary_fields[0].mandatory,\n label: oilState['Oil - Quarts'] ? subSection.secondary_fields[0].field_name + ' *' : subSection.secondary_fields[0].field_name,\n name: subSection.secondary_fields[0].org_field_id,\n defaultValue: subSection.secondary_fields[0].field_value,\n disabled: subSection.secondary_fields[0].disabled,\n error: errors && errors[subSection.secondary_fields[0].org_field_id] && !errors[subSection.secondary_fields[0].org_field_id]?.valid,\n autoFocus: errors && errors[subSection.secondary_fields[0].org_field_id] && !errors[subSection.secondary_fields[0].org_field_id]?.valid\n } : {}\n }\n\n\n\n\n return (\n \n \n \n \n \n {\n secondaryCheck &&\n \n {\n handleChange({ name: e.target.name, value: e.target.value });\n setErrors({\n ...errors,\n [e.target.name]: {\n valid: e.target.value ? true : false\n }\n })\n }}\n />\n \n }\n \n \n )\n}\n\n\nexport default React.memo(OilAndHydFluid)\n","import React, { useEffect, useContext, useState } from 'react'\nimport { Dialog, DialogContent, DialogTitle, Box, ButtonGroup, Button, FormControlLabel, Grid } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport MROButton from 'components/buttons';\nimport MROTextField from 'components/form_components/TextField';\nimport { Autocomplete } from '@material-ui/lab';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport PositiveSwitch from 'components/form_components/switch';\nimport DateTimeField from 'components/form_components/LMEventsDateTimeField';\nimport ShiftServices from 'lib/services/api/planning/Shifts/shift';\nimport AutocompletePopper from 'components/Popper';\n\n\n\n\n\nconst useStyles = makeStyles(theme => ({\n actionButtons: {\n paddingTop: '20px',\n paddingBottom: '33px',\n textAlign: 'right',\n '& button:not(:last-child)': {\n marginRight: '20px'\n }\n },\n modal: {\n '& .MuiDialog-paperWidthMd': {\n maxWidth: '450px',\n padding: '10px'\n }\n },\n title: {\n fontSize: '18px',\n '& h2': {\n color: theme.palette.primary.main,\n textAlign: 'center',\n fontSize: '16px'\n\n }\n },\n formLabel: {\n\n '& span:last-child': {\n fontSize: '14px',\n }\n }\n\n}));\n\n\nfunction CreateLeaveRequest(props) {\n const classes = useStyles();\n const { action, handleClose, getListing, type } = props;\n const [errors, setErrors] = useState({});\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n const [individualUsers, setIndividualUsers] = useState([])\n const [selectedUser, setSelectedUser] = useState('')\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n\n\n\n\n\n const getFetchDependency = () => {\n const params = {\n organisation_id: getOrganisationId(),\n\n }\n ShiftServices.fetchUsers(params).then((response) => {\n if (response.success) {\n\n setIndividualUsers(response.data.user)\n\n }\n }).catch(() => {\n\n })\n }\n\n useEffect(() => {\n getFetchDependency()\n }, [])\n\n\n\n const handleSelectedUser = (event, value) => {\n setSelectedUser(value)\n }\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formdata = new FormData(e.target)\n let valid = true;\n let error = {};\n const startdate = formdata.get(\"start_datetime\")\n const enddate = formdata.get(\"end_datetime\")\n let c_startdate = new Date(startdate)\n let c_enddate = new Date(enddate)\n\n let comment = formdata.get(\"comment\")\n formdata.delete(\"comment\")\n for (let pair of formdata.entries()) {\n const value = pair[1];\n const key = pair[0];\n // console.table(\"formdata=====\", key, value)\n if (!value) {\n error[key] = true;\n valid = false;\n }\n }\n if (startdate === \"\") {\n valid = false;\n error = {\n ...error,\n start_datetime: \"*please enter start date\"\n\n };\n }\n if (enddate === \"\") {\n valid = false;\n error = {\n ...error,\n end_datetime: \"*please enter end date\"\n\n };\n }\n if (c_startdate > c_enddate) {\n valid = false;\n error = {\n ...error,\n end_datetime: \"Must be greater than Start Date\"\n\n };\n message.showToastMessage({\n message: \"End Date / Time must be after the Start Date\",\n variant: \"error\",\n });\n }\n\n if (!valid) {\n setErrors(error);\n return;\n }\n\n setLoading(true)\n formdata.delete('user_id')\n formdata.append(\"organisation_id\", getOrganisationId())\n formdata.append(\"created_user_id\", userDetails?.id)\n if (type === \"leave\") {\n formdata.append('user_id', selectedUser.id)\n }\n else {\n formdata.append('user_id', userDetails?.id)\n }\n formdata.append(\"comment\", comment)\n\n await ShiftServices.createLeaveRequest(formdata).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Leave created successfully !\",\n variant: \"success\",\n });\n handleClose()\n getListing()\n }\n else {\n message.showToastMessage({\n message: res.message ? res.message : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n handleClose()\n }\n }).catch((res) => {\n handleClose()\n message.showToastMessage({\n message: res.message ? res.message : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n return (\n
\n \n Leave Request\n \n\n \n
\n\n {type === \"leave\" && \n option.id === value.id}\n filterSelectedOptions={true}\n onChange={handleSelectedUser}\n id=\"tags-user\"\n options={individualUsers}\n getOptionLabel={(option) => option.user_name}\n PopperComponent={AutocompletePopper}\n renderInput={(params) => (\n {\n resetErrorsHandler(\"user_id\");\n }}\n />\n )}\n />\n }\n \n {\n resetErrorsHandler(\"start_datetime\");\n }}\n />\n \n \n {\n resetErrorsHandler(\"end_datetime\");\n\n }}\n />\n \n\n\n\n \n { setErrors({ ...errors, comment: false }); }}\n className={classes.inputField}\n\n />\n \n
\n \n Cancel\n \n \n Complete\n \n\n
\n
\n
\n\n \n\n
)\n}\nexport default CreateLeaveRequest","import React, { useEffect, useContext, useState } from 'react'\nimport { Dialog, DialogContent, DialogTitle, MenuItem, Grid } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport MROButton from 'components/buttons';\nimport MROTextField from 'components/form_components/TextField';\nimport { Autocomplete } from '@material-ui/lab';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport PositiveSwitch from 'components/form_components/switch';\nimport DateTimeField from 'components/form_components/LMEventsDateTimeField';\nimport ShiftServices from 'lib/services/api/planning/Shifts/shift';\nimport ResourcesServices from 'lib/services/api/planning/Resource/resources';\nimport moment from 'moment';\nimport AutocompletePopper from 'components/Popper';\n\nconst useStyles = makeStyles(theme => ({\n actionButtons: {\n paddingTop: '20px',\n paddingBottom: '33px',\n textAlign: 'right',\n '& button:not(:last-child)': {\n marginRight: '20px'\n }\n },\n modal: {\n '& .MuiDialog-paperWidthMd': {\n maxWidth: '380px',\n }\n },\n title: {\n fontSize: '18px',\n '& h2': {\n color: theme.palette.primary.main,\n textAlign: 'center',\n fontSize: '16px'\n\n }\n },\n formLabel: {\n\n '& span:last-child': {\n fontSize: '14px',\n }\n }\n\n}));\n\n\nfunction CreateLeaveRequest(props) {\n const classes = useStyles();\n const { action, handleClose, getListing, type, userTimeZone } = props;\n const [errors, setErrors] = useState({});\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n const [individualUsers, setIndividualUsers] = useState([])\n const [selectedUser, setSelectedUser] = useState('')\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n const [shiftType, setShiftType] = useState([])\n const [timeZoneId, setTimeZoneId] = useState(\"\")\n const [timeLoading, setTimeLoading] = useState(false)\n const [timeZone, setTimeZone] = useState([])\n\n const handleSelectedUser = (event, value) => {\n setSelectedUser(value)\n }\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formdata = new FormData(e.target)\n let valid = true;\n let error = {};\n const startdate = formdata.get(\"start_datetime\")\n const enddate = formdata.get(\"end_datetime\")\n let c_startdate = new Date(startdate)\n let c_enddate = new Date(enddate)\n\n let comment = formdata.get(\"comment\")\n formdata.delete(\"comment\")\n\n let format = \"YYYY-MM-DD HH:mm\"\n let diff = moment(enddate, format).diff(moment(startdate, format), 'hours')\n\n\n for (let pair of formdata.entries()) {\n const value = pair[1];\n const key = pair[0];\n\n if (!value) {\n error[key] = true;\n valid = false;\n }\n }\n\n if (startdate === \"\") {\n valid = false;\n error = {\n ...error,\n start_datetime: \"*please enter start date\"\n\n };\n }\n\n if (diff > 23) {\n valid = false;\n error = {\n ...error,\n end_datetime: \"*Shift cannot be greater than 24 hours!\"\n\n };\n message.showToastMessage({\n message: \"Shift cannot be greater than 24 hours!\",\n variant: \"error\",\n });\n }\n if (enddate === \"\") {\n valid = false;\n error = {\n ...error,\n end_datetime: \"*please enter end date\"\n\n };\n }\n if (c_startdate > c_enddate) {\n valid = false;\n error = {\n ...error,\n end_datetime: \"Must be greater than Start Date\"\n\n };\n message.showToastMessage({\n message: \"End Date / Time must be after the Start Date\",\n variant: \"error\",\n });\n }\n if (!valid) {\n setErrors(error);\n return;\n }\n\n setLoading(true)\n formdata.delete('user_id')\n formdata.append(\"organisation_id\", getOrganisationId())\n formdata.append(\"created_user_id\", userDetails?.id)\n if (type === \"leave\") {\n formdata.append('user_id', selectedUser.id)\n }\n else {\n formdata.append('user_id', userDetails?.id)\n }\n formdata.append(\"comment\", comment)\n\n\n\n await ShiftServices.createOvertimeRequest(formdata).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Overtime shift created successfully !\",\n variant: \"success\",\n });\n handleClose()\n getListing()\n }\n else {\n message.showToastMessage({\n message: res.message ? res.message : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n handleClose()\n }\n }).catch((res) => {\n handleClose()\n message.showToastMessage({\n message: res.message ? res.message : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n\n\n const getShiftTypeDetails = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n }\n ResourcesServices.fetchShiftTypes(params)\n .then((res) => {\n if (res) {\n setShiftType(res.data.filter((item) => item.id !== 1));\n\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n\n\n\n useEffect(() => {\n getTimeZone()\n getShiftTypeDetails()\n getFetchDependency()\n\n }, [])\n const getTimeZone = async () => {\n setTimeLoading(true)\n ResourcesServices.getTimeZone()\n .then((res) => {\n if (res) {\n setTimeZone(res.data)\n const value = res.data.filter((item) => parseFloat(item.ident) === parseFloat(userTimeZone))\n value !== undefined && setTimeZoneId(value[0]?.id)\n }\n })\n .catch((err) => {\n }).finally(() => {\n setTimeLoading(false)\n })\n };\n const getFetchDependency = () => {\n const params = {\n organisation_id: getOrganisationId(),\n\n }\n ShiftServices.fetchUsers(params).then((response) => {\n if (response.success) {\n\n setIndividualUsers(response.data.user)\n\n }\n }).catch(() => {\n\n })\n }\n\n\n\n\n return (\n
\n \n Overtime Shift Request\n \n\n \n
\n\n {type === \"leave\" && \n option.id === value.id}\n filterSelectedOptions={true}\n onChange={handleSelectedUser}\n PopperComponent={AutocompletePopper}\n id=\"tags-user\"\n options={individualUsers}\n getOptionLabel={(option) => option.user_name}\n renderInput={(params) => (\n {\n resetErrorsHandler(\"user_id\");\n }}\n />\n )}\n />\n }\n \n {\n\n setErrors({ ...errors, shift_type_id: false });\n }}\n className={classes.inputField}\n >\n {shiftType && shiftType.map((value) => (\n {value.name}\n ))}\n\n \n \n \n {\n resetErrorsHandler(\"start_datetime\");\n\n }}\n />\n \n \n {\n resetErrorsHandler(\"end_datetime\");\n\n }}\n />\n \n\n \n {\n setTimeZoneId(e.target.value)\n setErrors({ ...errors, timezone_id: false });\n }}\n\n >\n {timeZone && timeZone.map((value) => (\n {value.name}\n ))}\n \n \n\n \n { setErrors({ ...errors, comment: false }); }}\n className={classes.inputField}\n\n />\n \n
\n \n Cancel\n \n \n Complete\n \n\n
\n
\n
\n\n \n\n
)\n}\nexport default CreateLeaveRequest","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport IconButton from '@material-ui/core/IconButton';\nimport FirstPageIcon from '@material-ui/icons/FirstPage';\nimport KeyboardArrowLeft from '@material-ui/icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@material-ui/icons/KeyboardArrowRight';\nimport LastPageIcon from '@material-ui/icons/LastPage';\n\nconst useStyles1 = makeStyles((theme) => ({\n root: {\n flexShrink: 0,\n marginLeft: theme.spacing(2.5),\n },\n}));\n\nfunction DaysPaginationActions(props) {\n const classes = useStyles1();\n const theme = useTheme();\n const { count, page, rowsPerPage, onPageChange } = props;\n // console.log(\"Days==\", theme)\n\n const handleFirstPageButtonClick = (event) => {\n onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\n };\n\n const handleBackButtonClick = (event) => {\n onPageChange(event, page + 1);\n };\n\n const handleNextButtonClick = (event) => {\n onPageChange(event, page - 1);\n };\n\n const handleLastPageButtonClick = (event) => {\n onPageChange(event, 0);\n };\n\n return (\n
\n {/* = Math.ceil(count / rowsPerPage) - 1}\n\n aria-label=\"first page\"\n >\n {theme.direction === 'rtl' ? : }\n */}\n = Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"previous page\">\n {theme.direction === 'rtl' ? : }\n \n \n {theme.direction === 'rtl' ? : }\n \n {/* \n {theme.direction === 'rtl' ? : }\n */}\n
\n );\n}\n\n\n\n\n\n\nconst useStyles2 = makeStyles({\n table: {\n minWidth: 500,\n },\n});\n\nexport default function CustomDaysPaginationActionsTable({ rowPerPageOptions, count, label, page, setPage, rowsPerPage, setRowsPerPage, defaultDate }) {\n const classes = useStyles2();\n\n\n\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n\n setRowsPerPage(parseInt(event.target.value, 10));\n\n if (defaultDate && event.target.value === 7) {\n setPage(4)\n }\n else if (defaultDate && event.target.value === 14) {\n setPage(2)\n }\n else if (defaultDate && event.target.value === 31) {\n setPage(1)\n }\n else {\n setPage(0)\n }\n\n };\n\n return (\n\n\n \n\n\n\n );\n}\n","import {\n Box,\n Dialog,\n DialogTitle,\n DialogContent,\n Typography,\n} from \"@material-ui/core\";\nimport React, { useContext, useEffect, useState } from \"react\";\nimport MROButton from \"components/buttons\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport exclamationIcon from \"assets/exclamation.png\"\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport LoadingIndicator from \"components/universal/loading_indicator\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport { useCallback } from \"react\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n backgroundColor: theme.palette.primary.main,\n border: `1px solid ${theme.palette.primary.main}`,\n margin: \"1% 0\",\n display: \"flex\",\n \"& button\": {\n marginRight: theme.spacing(2),\n width: \"200px\",\n \"& .MuiButton-label\": {\n justifyContent: \"space-between\",\n width: \"150px\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n },\n },\n },\n input: {\n color: \"#fff\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n head: {\n marginTop: \"20px\",\n marginBottom: \"10px\",\n },\n error: {\n borderColor: \"red\",\n },\n svg: {\n filter: \"invert(1)\",\n height: 18,\n marginBottom: 2,\n },\n disableSwitch: {\n pointerEvents: \"none\",\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n message: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n margin: theme.spacing(1)\n }\n}));\n\nconst PlanningClosure = (props) => {\n\n const classes = useStyles();\n const { setConditionState, conditionState } = useContext(WorkshopContext)\n\n const {\n getData,\n closureData,\n acceptAll,\n setAcceptAll,\n handleCloseFunction,\n handleSubmit,\n handleClose,\n setAction,\n busyPopup, isLoadingClosure, setGetData } = props\n\n useEffect(() => {\n if (acceptAll) {\n setAction(\"open_popup\")\n }\n }, [acceptAll])\n\n const handleCloseHandler = () => {\n setAction(null)\n setConditionState(false);\n setAcceptAll(false)\n setGetData(false)\n handleClose()\n }\n\n\n return (\n <>\n \n \n \n \n \n Planning Closure\n \n \n \n {\" \"}\n {\" \"}\n \n \n \n \n {!isLoadingClosure ? \n\n {closureData?.failures?.release_type_a &&\n
\n   {closureData?.failures?.release_type_a}\n
}\n {closureData?.failures?.release_type_b &&\n
\n   {closureData?.failures?.release_type_b}\n
}\n {closureData?.failures?.status_work &&\n
\n   {closureData?.failures?.status_work}\n
}\n {closureData?.failures?.tech_data &&\n
\n   {closureData?.failures?.tech_data}\n
}\n {closureData?.failures?.action &&\n
\n   {closureData?.failures?.action}\n
}\n {closureData?.failures?.service_life &&\n
\n   {closureData?.failures?.service_life}\n
}\n {closureData?.cautions?.service_life &&\n
\n   \n {closureData?.cautions?.service_life}\n
}\n {closureData?.cautions?.equipment &&\n
\n   \n {closureData?.cautions?.equipment}\n
}\n\n {closureData?.cautions?.part &&\n
\n   \n {closureData?.cautions?.part}\n
}\n\n\n {closureData?.cautions?.service &&\n
\n   \n {closureData?.cautions?.service}\n
}\n : }\n \n Accept all\n    \n {\n setAcceptAll(!acceptAll);\n }}\n />\n \n \n \n Cancel\n \n {\n acceptAll && handleSubmit(e);\n }}\n name=\"complete1\"\n >\n Complete\n \n \n
\n \n \n )\n}\nexport default PlanningClosure;","import React, { useState, useContext } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport {\n AppBar,\n IconButton,\n Toolbar,\n makeStyles,\n Typography,\n Box,\n ButtonGroup,\n} from \"@material-ui/core\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport MROButton from \"components/buttons\";\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport CopyPreviuos from \"./CopyPrevious\";\nimport CopyTemplates from \"./CopyTemplates\";\n\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n root: { \"& > :first-child\": { position: \"unset\" } },\n wrapper: {\n padding: \"3%\",\n background: \"white\",\n },\n}));\nexport default function CopyNewFunction(props) {\n const { closeTabAction, handleClose, currentSelection, workshop_id, getWorkshopOrderDetails, getMaintenanceOrder, getPlanningList, setPlanningAction, actionTabId, planningId, planningNullId, planningWholeDetails, copyTab } = props\n const classes = useStyles();\n const [state, setState] = useState(\"Templates\");\n const { setCopyInspection, setCopyParts, setCopyServices, setServiceFlag, setEquipmentFlag, setCopyEquipments, copyInspection, copiedJobs, setCopiedJobs } = useContext(WorkshopContext)\n\n\n const handleCopyClose = () => {\n handleClose()\n setCopyInspection(false)\n setServiceFlag(false)\n setCopyParts([])\n setCopyServices([])\n setEquipmentFlag(false)\n setCopyEquipments([])\n setCopiedJobs([])\n }\n\n return (\n \n \n \n {\n handleClose()\n setPlanningAction(null)\n getPlanningList()\n getWorkshopOrderDetails()\n getMaintenanceOrder()\n }}\n edge=\"start\"\n className={classes.backButton}\n color=\"inherit\"\n aria-label=\"back\"\n >\n \n \n Copy From\n \n \n
\n Select where you want to copy from\n \n \n setState(\"Templates\")}\n style={{\n width: \"125px\",\n color: state === \"Templates\" ? \"white\" : undefined,\n }}\n\n >\n Templates\n \n setState(\"Previous Order\")}\n style={{\n width: \"125px\",\n color: state === \"Previous Order\" ? \"white\" : undefined,\n }}\n >\n Previous Order\n \n \n \n\n \n {state === \"Templates\" ? (\n \n ) : (\n \n )}\n \n
\n
\n )\n}\n","import React, { useReducer, useEffect, useContext } from \"react\";\nimport useDebounce from \"lib/utils/debounce\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Divider, Grid, InputBase } from \"@material-ui/core\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TouchAppIcon from \"@material-ui/icons/TouchApp\";\nimport { useState } from \"react\";\nimport { formatToDateOnly, getOrganisationId } from \"lib/utils/common_utils\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport SearchBarWithPartsFilters from \"components/search_with_filters_parts\";\nimport SelectedOrderDetails from \"../SelectedOrderDetails\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\n\n\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n padding: \"4px\",\n textAlign: \"center\",\n },\n offgoingchecksTable: {\n \"& td, th \": {\n border: \"1px solid #dddddd\",\n textAlign: \"left\",\n padding: \"8px\",\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n offgoingchecksTable: {\n \"& td, th \": {\n border: \"1px solid #dddddd\",\n textAlign: \"left\",\n padding: \"8px\",\n },\n },\n },\n\n logo: {\n height: \"76px\",\n },\n filePreviewContainer: {\n maxWidth: \"130px\",\n marginRight: \"30px\",\n },\n wrapper: {\n margin: \"1%\",\n },\n\n\n}));\n\nexport default function CopyTemplates(props) {\n const classes = useStyles();\n const { handleClose,\n currentSelection,\n workshop_id,\n getWorkshopOrderDetails,\n setPlanningAction,\n getPlanningList,\n getMaintenanceOrder,\n actionTabId,\n planningId,\n planningWholeDetails,\n getPlanningDetails,\n closeTabAction, copyTab } = props;\n const [data, setData] = useState([])\n const [action, setAction] = useState(null);\n const message = useContext(ToastMessageContext);\n const [searchText, setSearchText] = useState(\"\");\n const debouncedVal = useDebounce(searchText);\n const [currentSelectedDetails, setCurrentSelectedDetails] = useState({});\n const [planningData, setPlanningData] = useState({})\n const [loading, setLoading] = useState(false)\n const [partNumber, setPartNumber] = useState('')\n const [description, setDescription] = useState('')\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(0)\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n };\n useEffect(() => {\n if (currentSelection) {\n setPartNumber(currentSelection?.part_number)\n setDescription(currentSelection?.description || currentSelection?.item_description\n )\n }\n\n }, [currentSelection])\n\n const handlePartCopy = () => {\n setPage(0);\n setSearchText(partNumber)\n\n }\n const handleDescriptionCopy = () => {\n setPage(0);\n setSearchText(description)\n\n }\n\n const handleSearch = (value) => {\n\n setPage(0);\n setSearchText(value);\n }\n const clearSearch = () => {\n handleSearch('')\n }\n\n\n\n\n\n\n const columns = [\n {\n title: \"Order #\",\n field: \"order_number\",\n },\n {\n title: \"Date Raised\",\n field: \"created_at\",\n render: (rowData) => formatToDateOnly(rowData.created_at)\n },\n {\n title: \"Part #\",\n field: \"part_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"10%\"\n }\n },\n {\n title: \"Description\",\n field: \"item_description\",\n width: \"45%\",\n headerStyle: {\n textAlign: \"left\",\n width: \"45%\"\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"45%\"\n }\n },\n\n\n {\n title: \"Action\",\n render: (rowData) => (\n {\n setAction(\"Selected_Order\")\n setCurrentSelectedDetails(rowData)\n }}>\n \n \n ),\n },\n ];\n\n const getList = async () => {\n const params = {\n page: page + 1,\n limit: pageSize,\n search: debouncedVal,\n organisation_id: getOrganisationId(),\n type: actionTabId === 20 || actionTabId === 24 ? \"Maintenance Template\" : \"Production Template\"\n\n\n }\n setLoading(true)\n await MaintenanceServices.getTemplateListing(params).then((res) => {\n setData(res.data)\n setTotalCount(res.total_count)\n }).catch((res) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n useEffect(() => {\n getList()\n setPlanningData(currentSelection)\n }, [page, pageSize, debouncedVal, currentSelection])\n\n return (\n\n
\n \n \n \n\n\n
\n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n
\n
\n Select an Order to view its details and add to this Order\n
\n
\n
\n\n\n\n {\n action === \"Selected_Order\" &&\n setAction(null)}\n currentPlanningDetails={planningData}\n currentSelectedDetails={currentSelectedDetails}\n workshop_id={workshop_id}\n getWorkshopOrderDetails={getWorkshopOrderDetails}\n getMaintenanceOrderList={getList}\n getPlanningList={getPlanningList}\n planningId={planningId}\n planningWholeDetails={planningWholeDetails}\n type={\"templates\"}\n copyTab={copyTab}\n />\n }\n
\n\n\n )\n\n\n}","import React, { useState, useReducer, useEffect, useContext } from 'react'\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport CheckBoxIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport GreenTick from 'assets/CheckTick.svg'\nimport GreyTick from 'assets/CheckTickGrey.svg'\nimport { IconButton } from '@material-ui/core';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\n\n\nexport default function Certification(props) {\n\n const { workshopOrderId, disabled, tabState } = props\n\n // console.log(\"data======\", tabState)\n\n const [loading, setLoading] = useState(false)\n const [data, setData] = useState([])\n const message = useContext(ToastMessageContext)\n\n\n\n\n const getDetails = async () => {\n\n setLoading(true)\n const params = {\n workshop_order_id: workshopOrderId\n }\n await MaintenanceServices.getPlanningServiceDetails(params)\n .then((res) => {\n if (res.success) {\n setData(res?.data)\n }\n }).catch((err) => {\n console.log(\"error\", err)\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n\n useEffect(() => {\n if (workshopOrderId) {\n getDetails()\n }\n }, [workshopOrderId])\n\n\n\n const handleSelection = (rowData, name) => {\n\n const formData = {\n organisation_id: getOrganisationId(),\n workshop_order_id: workshopOrderId,\n service_life_id: rowData?.service_lifes_id,\n // capture_later: rowData?.capture_later === null ? false : !rowData?.capture_later,\n applicable: rowData?.applicable ? \"false\" : \"true\"\n\n }\n const formData1 = {\n organisation_id: getOrganisationId(),\n workshop_order_id: workshopOrderId,\n service_life_id: rowData?.service_lifes_id,\n applicable: \"true\",\n capture_later: rowData?.capture_later === null ? \"true\" : rowData?.capture_later === false ? \"true\" : false,\n\n\n }\n\n MaintenanceServices.updatePlanningServiceDetails(name === \"applicable\" ? formData : formData1).then((res) => {\n if (res.success) {\n getDetails()\n }\n }).catch(() => {\n\n })\n\n\n\n }\n\n const handleUpdate = (newData) => {\n const formData = {\n id: newData?.id,\n value: newData?.value\n\n }\n\n MaintenanceServices.updatePlanningServiceValue(formData).then((res) => {\n if (res.success) {\n getDetails()\n message.showToastMessage({\n message: \"Updated Successfully!\",\n variant: \"success\",\n });\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n\n\n }\n\n\n\n const column = [\n\n {\n title: \"Applicable\",\n field: \"name\",\n width: '10%',\n editable: 'never',\n headerStyle: {\n width: '10%',\n textAlign: 'left', paddingLeft: '15px'\n },\n cellStyle: {\n width: '10%',\n textAlign: 'left', paddingLeft: '15px'\n },\n render: (rowData) =>\n
{\n handleSelection(rowData, \"applicable\")\n }} style={{ cursor: disabled ? \"none\" : \"pointer\", pointerEvents: disabled ? \"none\" : \"\" }}>\n {!rowData?.applicable ?\n \n : rowData?.applicable ?\n \n = 2 ? GreyTick : GreenTick} height={'20px'} />\n\n : \"\"\n\n\n\n }\n\n\n
\n\n },\n\n {\n title: \"Item\",\n field: \"item\",\n editable: 'never',\n headerStyle: {\n\n textAlign: 'left'\n },\n cellStyle: {\n\n textAlign: 'left'\n },\n\n },\n\n {\n title: 'Description',\n field: 'description',\n width: '50%',\n editable: 'never',\n headerStyle: {\n width: '50%',\n textAlign: 'left'\n },\n cellStyle: {\n width: '50%',\n textAlign: 'left'\n },\n\n },\n {\n title: 'Capture Later *',\n field: 'capture_later',\n editable: 'never',\n render: (rowData) =>\n
{\n handleSelection(rowData, \"capture\")\n }} style={{ cursor: disabled ? \"none\" : \"pointer\", pointerEvents: disabled ? \"none\" : \"\" }}>\n {rowData?.applicable &&\n !rowData?.capture_later ?\n \n : rowData?.capture_later ?\n \n = 2 ? GreyTick : GreenTick} height={'20px'} />\n\n : \"\"\n\n\n\n }\n\n\n
\n },\n\n {\n title: 'Value',\n field: 'value',\n editable: 'onUpdate',\n },\n\n\n ]\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n toolbar: false,\n // rowStyle: { height: 42 },\n };\n\n\n return (\n
\n\n !rowData?.applicable,\n onRowUpdate: (newData, oldData) =>\n new Promise((resolve, reject) => {\n handleUpdate(newData)\n resolve();\n\n }),\n\n } : \"\"}\n />\n\n
\n * If ‘Capture Later’ is selected, the User will be prompted at final certification to capture the applicable In-Service Life value\n\n
\n\n\n\n\n\n\n
\n )\n}\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAZCAYAAADAHFVeAAAABHNCSVQICAgIfAhkiAAAAt9JREFUSEutVlty2jAUvaK007+ygzorKFlByWcnTQorqNmB2YFZQdhB6ApCSTr9jFkB3kHoDvgnrnrOtewRxk7JGGU0jiR0z30cHclITbP3Msf097q1o+aMTMxXmVV/a2rBlpKIkdhc4VvnzC/pm0tJGxyNOY+9+vXb0WD2twTyLLfYfCZWNnAmwPdOMpmakWwLo8hKOzAHxCgjeLwoDT9IBMAQc/3TgS0BYGTuA9G4cyLC2qaoUfvIlrI119Lz8+9ItJUOyJTJDOsDdaB1Gu/h+ZUEMERSsCZDR4LQ3sGJN7I4JVgKcgzkPQw/a81SgIcuEgIPvXFLgizV8BDea0QlGfKo1uij4ii0TqOLgId0ADLcyF+lPhk4BhtZr/nJ2OgZIgkGAOgDLJUuGPoFwH60LxHEMkVGPpa/78oP2cHTFxSkAv5ZxxbgmazgQOTIo7Xzm0GOLSambgPTZPEXYJygUxnoTA9zW3wTUH2KNHJ8i/EK60VkPBqs6RP6ykX/rQSz8lPBwCSVLS2u1boQiI0sTAo5wjpTyAO+AWhY1Ud3DObYR2CmmixVW8hgcgiGhToRdc6QJKR/JO8kaBLjwrhfiteDUbaYppyJZ+hrAI99IS7SRuPtwHLlD2EwYXqcZH3C3EUV8NVgFNoqtTVFPMxd1LMDQrDGUH4qzN5Vc1RkVo+BUh9GDM8TolA6lynKb/K8EzBTMsT6P1smHzBmfScHBFHv8kaaX2DcwzfE5g1ovnYqMdGIqI87ZSwdoEME1WtGwbmXLG5gY+x7DYAFABZ6CxsZqbcci0acoJMYvDTpEPeG6DM6pLc3GtmMmvGI7J+zPSA38G7mGz2cBHgLoztEmZ9B1moMAaZqkHWPmDtH5/12cP4KjNo3CBctHjW8FDUdfGnlUVBfGAFTyHQ9ubo2Po78YBrBih851YhVsnindSFTucr8YTqbXmB1GfsvmAeaqmZ28MSreRPWGa/O/QMRc5ECBWIIRwAAAABJRU5ErkJggg==\"","import React, { useEffect, useState } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Box, CircularProgress, Grid, useTheme } from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport CautionPopUp from \"../CautionPopUp\";\nimport { CertificateServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/Certification\";\nimport lock from \"assets/icons/Lock.svg\";\nimport unlock from \"assets/icons/Unlock.svg\";\nimport { userDetails } from \"lib/utils/helperFunctions\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\nimport SignatureFile from \"components/form_components/fileUpload/SIgnatureFile\";\nimport { format24HrDateTime } from \"lib/utils/common_utils\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport MROTextField from \"components/form_components/TextField\";\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n svg: {\n filter: \"invert(1)\",\n height: 18,\n marginBottom: 2,\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"5px\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec: {\n width: \"20%\",\n height: \"70px\",\n borderRadius: \"6px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n }, disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n}));\n\nfunction CRSOverView(props) {\n const classes = useStyles();\n const theme = useTheme();\n const [editTab, setEditTab] = useState(false);\n const [action, setAction] = useState(null);\n const [isGettingDetails, setIsGettingDetails] = useState(null);\n const [certificationDetails, setCertificationDetails] = useState({});\n const { workshop_id, orderStateNum, tabStatus } = props;\n const [serviceLife, setServiceLife] = useState(\"\")\n const [remarks, setRemarks] = useState(\"\")\n\n\n const handleTab = () => {\n setEditTab(!editTab);\n setAction(\"unlock\");\n // setDisabled(!disabled)\n };\n\n useEffect(() => {\n getCertificationDetails();\n }, []);\n\n const getCertificationDetails = async () => {\n setIsGettingDetails(true);\n await CertificateServices.getCertificationDetails(workshop_id)\n .then((res) => {\n if (res) {\n setCertificationDetails(res?.data);\n let obj = {\n ads: `ADs: ${res?.data?.Ads ? res?.data?.Ads : \" Nil\"}`,\n sbs: `SBs: ${res?.data?.SBs ? res?.data?.SBs : \" Nil\"}`,\n sis: `SIs: ${res?.data?.SIs ? res?.data?.SIs : \" Nil\"}`,\n sls: `SLs: ${res?.data?.SLs ? res?.data?.SLs : \" Nil\"}`,\n\n }\n setRemarks(Object.values(obj).join(\" | \"))\n\n\n let s_value = res?.data?.service_life\n if (s_value.length > 0 && s_value !== undefined) {\n let f_value = s_value.map((item, index) => {\n let value1 = item.item + \":\" + item.value\n\n return value1\n })\n\n if (f_value.length > 0) {\n setServiceLife(f_value.join(\" | \"))\n }\n }\n\n }\n })\n .then(() => {\n console.log(\"error\");\n })\n .finally(() => {\n setIsGettingDetails(false);\n });\n };\n\n if (isGettingDetails) {\n return (\n \n \n \n );\n }\n const GetInfoCard = (props) => {\n const classes = useStyles();\n const theme = useTheme();\n\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value}\n \n \n );\n };\n\n const closureMessage = [\n {\n id: 1,\n name: \"Opening this tab will undo closure certification!\",\n },\n {\n id: 2,\n name: \"The Order State will be taken backward to this tab stage!\",\n },\n {\n id: 3,\n name: \"The tab will need to be closed again by a certifier in the APP!\",\n },\n ];\n\n return (\n
\n \n \n CRS Overview\n \n\n \n \n
\n \n \n \n \n \n \n \n \n {certificationDetails?.reopen_remarks !== null && }\n \n\n \n \n\n\n\n {/* \n {certificationDetails?.tech_data_crs_remarks}\n \n \n \n {certificationDetails?.reopen_remarks}\n \n \n \n {certificationDetails?.crs_remarks}\n */}\n \n \n ({\n filename: file?.file_name,\n url: file?.file_path,\n id: file?.id,\n })\n )}\n APIUrl={\"\"}\n uploadButtonView={false}\n />\n\n\n \n \n \n \n
\n
\n
\n \n\n \n 8 && tabStatus && props?.permission.write ? \"\" : \"none\",\n }}\n onClick={handleTab}\n startIcon={\n \n }\n >\n {editTab ? \"Open\" : \"Unlock\"}\n \n \n {action === \"unlock\" && (\n setAction(null)}\n cautionMessages={closureMessage}\n getCertificationDetails={getCertificationDetails}\n workshop_id={workshop_id}\n tab={\"certification\"}\n setEditTab={setEditTab}\n editTab={editTab}\n getWorkshopOrderDetails={props.getWorkshopOrderDetails}\n getMaintenanceOrderList={props.getMaintenanceOrderList}\n />\n )}\n
\n );\n}\n\nexport default CRSOverView;\n","import { Grid, Typography } from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport React from \"react\";\nimport QrCodeIcon from \"assets/icons/qr-code.png\";\nimport TabComponent from \"../../../Workshop/Maintenance/InductionTab/TabComponent\";\n\nfunction InductionTab(props) {\n return (\n
\n \n
\n );\n}\n\nexport default InductionTab;\n","import React, { useContext, useState } from \"react\";\nimport { Box, Typography } from \"@material-ui/core\";\nimport MRODialog from \"components/MRODialog\";\nimport ServiceRequestListClientServices from \"lib/services/api/procurement/Services\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\nfunction WarningDialog(props) {\n const message = useContext(ToastMessageContext)\n const { action, handleClose, title, description, Id, titleColor, getServices, closeHandler } = props;\n const [busy, setBusy] = useState(null)\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target)\n setBusy(\"loading\")\n formData.set(\"id\", Id)\n if (action === \"delete\") {\n await ServiceRequestListClientServices.deleteServices(formData)\n .then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Service deleted successfully!\",\n variant: \"success\",\n });\n closeHandler();\n getServices();\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setBusy(null);\n });\n }\n if (action === \"close\") {\n formData.append(\"state\", \"close\")\n await ServiceRequestListClientServices.changeState(formData)\n .then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"successfull!\",\n variant: \"success\",\n });\n closeHandler();\n getServices();\n }else if(!res.success){\n message.showToastMessage({\n message: res.errors.map(err=> err),\n variant: \"error\",\n });\n handleClose();\n }\n })\n .finally(() => {\n setBusy(null);\n });\n }\n };\n\n return (\n \n \n \n {title}\n \n\n \n {description}\n \n \n \n );\n}\n\nexport default WarningDialog;\n","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAABHNCSVQICAgIfAhkiAAABBFJREFUWEfVWU1oVFcUPufNfUkHa1WKf1B/FlXciUEwvhRqEKK1k4mCRV256MZu4s9GXVWh0CL401UbuumuqAvNNDQaWgnqTEYpRHe6Ea0i1h+w1hAz7+Ydvzc6IZlMfG/y7ryJdzU/53zne+edn3vvYYq42m7SrORQok2Em4l5OYssIaYlRPwJkTwgofvCfJ9E7jJLfnjWaF/fahqKYpano7wtSwu0Ze+wPEmBaFv1GHJRiHsS4p4510KPq9WvivTWQZorw2o/vHcAZD+s1li5vIj8j99OkOjjmc/I/xxqhSL9VY6SBVJ7QfYgyM4NhVyFEMg/YeLvGtj95axDw0GqgaRTV2ipZdkZZlodBBb1fyEa1OJu+6OF7r0L652k03nVyh6dRVJ9HJVQeH15NirU3tOiB6bSmZJ0ey7xtSXchXBIhDdoSlIKcFRnt+N2VUKsSLojpxwI90PRNkWjehxxhak1s15ny3UnkU7laYU1qrLMPL96Q2Y1/AR1E7qpt5kejEeeQDp9lWYz23+jOaw0a376aH5yvhhxnf5WelVCmUg6p06h9OydvonaaArJjxlH75tEest1WmRrdQdxnKyN6SioMjzUoBf/uZb+81HGPJ2eoV4uPSri+2imRR8ZIz2zvfyWtsjzoUa93Pd20dMocYfg9O+jvMA4dD2i/b87LvIOC6HRjwT8PA7D0WzIxW5Hb+ZimbPUU3i6IRpgHNpSKFh6PqeziZ3M1m9xmDRhQ8TbxTO9apQ/qF+z4Wl1Hi27w4QX4sBA6etmVI484nldHAbN2JBrIG3fBdgyM4CxoNzzw+MVwqMxFnMGjCA8RvxEfIQavdAAXiwQSMR/4Wn7RhznP1NPJEI3/US8gETcZAq01jjF6pHO2b+il++utTFz+F4XpwfsPSz0kznQ2iLh3PgN+9tSpdVDJGPgHUht6QSjIwmFLL24tDV9TxqMXMMur/k93k/naSF76jaqyJzgl1QfCYTGC/cD/WlvE+He7+1CZzyCzvhtfSiFsSqHERo/+JJjpL/I00c2vI2EXBQGIlYZkceFBXpp7woamUDa/9Kes/dZRCdjJRTCmF/mMuvdn0uiE8scruc7BtQlvIANIbBiEUEsX8Z93gbEBC6b3qxJtdkfTXhsX8d/dd+uoir/4ybdtX7yjfdQxYaSGqCmhBQPB/W9NSW9LuPQYPkrnbIL1ru9l8dxoKdLAqmc2ogb9dOxTwKIdvQ4+q+pkiZwv7ElS8sU2xcguKrWmYdMu4WZy+ZIM5cSyeJ0S1QnQA+iAc0zTh73dAiHY42kTxmZbo0n+OUVmqcshbEcdRq5EhZ5CbInraQ+cX4NPQ/rjMDwqAT0Zjtrb0fpTE3r1CPS51ncozz3dM0ntpUeoB6z8ddGv34xGrCR4gAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAABHNCSVQICAgIfAhkiAAABBhJREFUWEfVWUtoU0EUnTtJE4t/pH7ATxcq7gQRFDcqQtTmJVWwaJMURTe6qZ+NurKCoAhqXakIUrDxl4Xt69NoqFKEYhWhutON+EP8QrWWNC/Ju95pTWiTti/p+yS+1fvMnHPmvjt37swFZvDyeBqmuio1D0O2FhhUI+AiglxE9wuR4Se6/wgIH+n+HQPWo8Z5LBa7PmCEFibT2bO9Ya47pe1EziQS5ykWgwbwkCEoqgPuxO5e/1Zs/6JEb9u2Z1Yak4eJ5AhjMK1Ysrz2yPqRsfOcuc7J8rX+QvEKEl1XV1cZV10HyapHCXhWoeCFtkNk3wG0U1NcyauRSCSu109XtCQ1LGYcZQC2Ug/M8HdkvemUtv3+/RvvJ8KaULTXH9jIgUcIYI5hQYUD/MR02qcoN5+O12Vc0T5fYB/jcIV811E4n1ktUSXexo72VuLPv8YU7a0NreOMdVHzCrNkTAInCYgbZTncnds3T7QkBZYxzrvJh6smQWRqFzFB00lcFY2GRbzPXqNE+/17p2ugvqCXy01lNwJGk7P/t3NdV1fLYAZmlGjJH2omCx80wmFFX7L4RUVuPZQnuqambr6jwvWWJkClFcTGMDEeH1AXdHZGfgmcrKXL1cqZwZK1T5K1m7Kiy9vK2X/UFx9IVAtrD1laqg0eoyX6tLFfaH1vTcPD9zrCzUOiff5QFznKeutpjTGI7FBpD28BEeYQEj/IvV3GIO3ojWpKZVVA+cUuyi9u2kFpBoeGWj2Ue9TIHaiI2eDzB9sYQK0ZVrAFA7EdpNpQD83GNbYQmkBCO51nJDr4jsLdEhPwbIGgCPJe+PQg5RtuWxhNICGfTgif/kI+Pc8EPHsgEL8KS7+0Zf9n0pDI0q+ETz8gn95sEqb1MCJ6kHu0kHvstp7NLAa8Qu4R3A8Al8yCtBoHEQ+ASEu50/WZhOuegVgtSA+fBNNJnLbgX2r6fywwYmFR2lvpoPN/zaf9/vp5GvA3FEVm6v2iUn0nz/idTqpLo9HI95F7xCby6hOlEqXHS8v3cdoAnBHtsqK3bg3OcFTAGxI+Xw+gBN+/pdSfi6PRaGKUaPHg9QUPcQ4XSiBqQkoR5hQ5fDnTKDfMiVT1Mb3cUDbCEZ90yGGhh4LH8JUXm0VpwqVpz8shXaU840M6mVgtJt9II465oEhSaBUd8PZQwxKfmqbWyPKt3ty/Pu4qWOrlPdePdS2daSBJwU3ggNv0bHMlAHcqSvjRePNKN9+oqQks4U54QKnJCqsnJ1n3tZbCLYZqLhmRoro1qLobCfQoiZ9tgfg+wj5b6VabTalujRTo9QZmcyenshw2mnMkjH8Q4YKTO8+3tbX0FWoMXfcYC2g4nXXvYICiYlv0roeW5BhoTEk4+W3LK7ZjDaAUtfG/CFyQdNOasTwAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAABHNCSVQICAgIfAhkiAAAA5FJREFUWEfVmU1IVFEUx/83zZKylLAUSl1UtAskUNykRCmliRBZqxZtcmPaxlplEBRBfqxK2rQLbVE6U6RQSBBpBNYuN6EZUVnQJ6aVt/+ZfOOMM+Od57yZee/Ck/Hdc8/5vfPuOe/ecxUSbHoQ6zCHA1RTDo0SKGzjb7m28nrLa4r3p3h/gr9HkIUhVY2fiZhVKxlM0M2YRSNBajlegO22QQ7w8wH6+AAf7Q62Ba3vIBcZaKWRMwReb9dYhLzGd+rpwDyuqnr+jrPFBa37kI21OE2dbTSSG6duO2LTFL6IGdxQR/nX0IzQegBFBB2gnt0mZQn3a4zxTTaoQ5hcTtey0NqPKr6624TelDBQvAo0PtNenarD01hDYkLTwyc5qIcKMuK155icZj4CmtVh2o/SokLTwxVMU8OUX+0YiH1Fv/mWqxigT5YOjYDWPuygkAjm27fj+IhpvudSdTCQ74MtDFr3Iwer8Jy9Ox03v1KFEpw5qFBV+GWpCIf2oYsdktrc1roZmC0R0PoeCvAXrxl42W4jZnzNkKpQ7cdXYQt6mnPZrV62fHiB3m4PQrvayxayxhd6u0S8HfA0c/JZ+vyS66ZFZK5rVbXosqCHCb3X9dDAIKdIjQqkOYVPvLJcDy1fykzkK379jjE6b7keeDHfHVceyBpL/dmtGIR3OTXqPeNpjX6BHiF0mYegR2V6TBC42DPQwKRAy0JkjYegZ2V6vOf02OIZaI0P4ukXBE7+/s85r7wU6AfUV+2cziRrCmQPH27SzIkkm3JOvUaPQJ+ixmvOaU26piYVWJbO4x1NGWsgSccxG9BkLbRWed74wGiMsqxQ7uH1dD/ztMI4r43mN5Q2iW8sJ2xnOWE6dI/YTpzzaUMyGdY4x6lxWcQWoe9jA3fj47xXYBqf8n7NGnYmiujl2TBo+YcbghZuCDpTDmU22MRt1nVLLLxYo+l5Px6xs9KsJ0USGo9Rh0ql6M6FFlnLk6OJOTxjvxuWq28YfHsk+EJdFL1qOoBS+nyEgumumpaxajq29J3Grk+n//MeNo+NnrYEuC7Zx5nUm4aTgEYG3sNYUWNcb3BtUszvvSxfd6Ug9F6x1FyT0JlL0OP/T7ea6fE23stzHF7qdApXWBvtcuR0KxSQeTyPXhdweYDES8IaP6inE3/QoRoIHmczTo9oehaWs0fYJye2K9n1DDFW/NxO9yb9xDbqA6ThbPwfcGcDCdfdq1cAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAABHNCSVQICAgIfAhkiAAAA2lJREFUWEfVmU1IFVEUx++8qIi+lPAjyI9FRbtAAsVNSmAuiggCa9WiTW1M21irCoIiyI9VSZt2YW0qWpRQRCBZBNauNqEZUVlgWagFc/qd92H6fO/dmd6892YuHGYennvOz//cOffOvY7Js4kxawnRZmKxJq71RqSGa41xnC3cf+B+kvtJruPGdUe5DjvG/MonLf39N0Ar6dUBzD6szXcEkYf8Q/fpdwuAL377+4IGtgxFu0l4Cth1fpMt8xeZIU4vT+AKIDNe43mCBnYNAU+SoAcr8xrcs5/IFEJcwP86QLO2flZogGsBvYfttAXL++8iY8AfBGoiV6yc0AC3Ansb25Q3kNcAIt8A3w/Ys2xdskIDfAzYQWyF13yB+Yn8BrwTuMFMMTNCA9wM7BNsZWAgfgOJ/AG8FcCR9K7LoAHeBuwIVuE3T+D+iRe0AUit9wttCTTA64F9iW0PHOB/AyZezmZA51IhlkLHYv3x0ha+NuC4btcyaFSuRuF3mNbkcDWRWdTejMLfFWxBaQmvyikBz6P2uQXoUKucQhaZRu16VTuuNNCnWVNcDNeYyEDjut0A9yegEzV5d+ihWR06Iu1Ossx9BXpVBKB1pqxQ6MMMjZuhB04Buu4RJwJVI13PAYfxfIehcSAySovcVehRoBsjBP1coceBrosQ9IRCzwG9OkLQ8wr9CeiqCEF/VuhXRfn+C0oVkdcK/QDovUHFLHicePWIxW6Q6GjBkwWXYFBnxOPMiFeDi1ngSK57QqF18f8Rs+6BFBjHHl5Ekh8D8VVeNCYYESYWaYrwetqYKobHW2yj/RmVyEPkB0NjKypPLf5G1O+vsyVCsqd13TPAXlLHf9DGbEiqXW2PUGQPkS+oXAvs/BJo/UEl6aL89RUZyZ5Oy5wx11KO6TtMDmo/xlrskYrkIfIUlVsARdNEy7SXVwn0i1AsV0XeA7xLX77FEmXbNW0AWmt3qXdNGwEcS3+mufanSzu9p41jq9IpBwbRHtQeKsFJQAdqPsr21ljXG4DXAa3L1x0Ff/VE3jCG24GayJXLCp0shbqT2gm4nm6VBw6f2Ke7TFzd8sr/dGsxIKqXU8d79DwkkC1hkZ/E6eMcsRfYaa9ieFI6PVh8OWvMIRLqia3/rx6R4eSJ7RAAhT2xzaREKc7G/wJLcj0LY0aVmgAAAABJRU5ErkJggg==\"","import React, { useState, useEffect, useContext } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Box, CircularProgress } from \"@material-ui/core\"\nimport { CalenderMaintenanceService } from \"lib/services/api/operaitons/WorkShop/Storage/CalenderMaintenanceService\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport _ from \"lodash\";\nimport { format24HrDateTime } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n}));\n\nfunction ManageInspection(props) {\n const classes = useStyles();\n const { handleClose, getAllActionStages, action_Id, currentSelectedInfo } = props;\n // console.log(\" action_Id===========\", action_Id)\n const [loading, setLoading] = useState(false)\n const [details, setDetails] = useState({})\n const [subFields, setSubFields] = useState([])\n const message = useContext(ToastMessageContext);\n const getStagesDetails = async () => {\n setLoading(true);\n\n const params = {\n id: action_Id\n }\n await CalenderMaintenanceService.getStagesDetails(params)\n .then((res) => {\n if (res) {\n setDetails(res.data)\n setSubFields(res.data.sub_fields)\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setLoading(false);\n });\n };\n\n useEffect(() => {\n getStagesDetails()\n }, [action_Id])\n return (\n
\n \n \n \n \n \n \n Event Information\n \n \n\n
\n {loading && _.isEmpty(details) ? (\n \n \n \n ) : (\n <>\n \n \n Event\n \n \n \n \n \n \n Title\n \n \n \n {details.title ? details.title : \"-\"}\n \n \n \n \n \n\n \n \n Sub-Fields\n \n \n \n \n \n \n Sub-Field 1\n \n \n \n {subFields[0] !== undefined ? subFields[0].field_name : \"-\"}\n \n \n \n Sub-Field 6\n \n \n \n {subFields[1] !== undefined ? subFields[1].field_name : \"-\"}\n \n \n\n \n \n \n Sub-Field 2\n \n \n \n {subFields[2] !== undefined ? subFields[2].field_name : \"-\"}\n \n \n \n Sub-Field 7\n \n \n \n {subFields[3] !== undefined ? subFields[3].field_name : \"-\"}\n \n \n\n \n \n \n Sub-Field 3\n \n \n \n {subFields[4] !== undefined ? subFields[4].field_name : \"-\"}\n \n \n \n Sub-Field 8\n \n \n \n {subFields[5] !== undefined ? subFields[5].field_name : \"-\"}\n \n \n \n \n \n Sub-Field 4\n \n \n \n {subFields[6] !== undefined ? subFields[6].field_name : \"-\"}\n \n \n \n Sub-Field 9\n \n \n \n {subFields[7] !== undefined ? subFields[7].field_name : \"-\"}\n \n \n \n \n \n Sub-Field 5\n \n \n \n {subFields[8] !== undefined ? subFields[8].field_name : \"-\"}\n \n \n \n Sub-Field 10\n \n \n \n {subFields[9] !== undefined ? subFields[9].field_name : \"-\"}\n \n \n \n\n \n \n Event Closure\n \n \n \n \n \n \n Mech\n \n \n \n {details.mech ? details.mech : \"-\"}\n \n \n \n Date / Time\n \n \n \n {details.mech_closed ? format24HrDateTime(details.mech_closed) : \"-\"}\n \n \n\n \n \n \n Insp\n \n \n \n {details.insp ? details.insp : \"-\"}\n \n \n \n Date / Time\n \n \n \n {details.insp_closed ? format24HrDateTime(details.insp_closed) : \"-\"}\n \n \n \n\n \n \n Tech Records\n \n \n ({\n filename: item?.file_name,\n url: item?.file_path,\n id: item?.id,\n }))\n : \"\"\n }\n showBorderOnNoFiles={true}\n APIUrl={\"\"}\n multiple={true}\n name={\"maintenance_file\"}\n action={\"Upload Document\"}\n uploadButtonView={true}\n />\n \n \n \n \n Closure\n \n \n \n \n \n \n Closed\n \n \n \n {details.closed ? format24HrDateTime(details.closed) : \"-\"}\n \n \n \n Closed by\n \n \n \n {details.closed_by ? details.closed_by : \"-\"}\n \n \n \n \n \n Event Scheduling\n \n \n \n \n \n \n Next Due\n \n \n \n {details.next_due ? format24HrDateTime(details.next_due) : \"-\"}\n \n \n \n \n \n \n )}\n
\n
\n
\n );\n}\n\nexport default ManageInspection;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { ButtonGroup, Button } from \"@material-ui/core/\";\nimport MROTextField from \"components/form_components/TextField\";\nimport Subtract from \"@material-ui/icons/Remove\";\nimport Add from \"@material-ui/icons/Add\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport YesNoInput from \"views/Accounts/WorkOrder/FieldComponents/yes_or_no_based_input_field\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport MROButton from \"components/buttons\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport YesNoField from \"components/form_components/YesNoField\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\nimport NumericIncrement from \"views/Operations/LineMaintenance/WorkOrder/FieldComponents/numeric_increment\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n overflowX:\"hidden !important\"\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrap: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n}));\n\nfunction ActionDetails(props) {\n const classes = useStyles();\n const { handleClose, workshop_id, action_type, getAllActions } = props;\n const message = useContext(ToastMessageContext);\n const [dropDownData, setDropdownData] = useState([]);\n const [errors, setErrors] = useState({});\n const [ataChapter, setAtaChapter] = useState(null);\n const [mechAuth, setMechAuth] = useState(null);\n const [inspAuth, setInspAuth] = useState(null);\n const [busy, setBusy] = useState(null);\n const [maintFile, setMaintFile] = useState([]);\n const [state, setState] = useState({ man_hours: ''});\n const [criticalConsideration, setCriticalConsideration] = useState(null);\n const [IndependentInsp, setIndependentInsp] = useState(null);\n\n useEffect(() => {\n getDropdownData();\n }, []);\n\n const getDropdownData = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await InspectionServices.getAllDropDown(params)\n .then((res) => {\n if (res) {\n setDropdownData(res.data);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const { error, valid } = validateFormData(formData, [\"maintenance_file[]\"]);\n if (!valid) {\n // setLoading(null);\n setErrors(error);\n return;\n }\n\n formData.append(\"workshop_order_id\", workshop_id);\n formData.append(\"action_type\", action_type);\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"raised_by\", userDetails?.id);\n // formData.append(\"status\", \"Open\");\n formData.delete(\"maintenance_file[]\");\n maintFile.forEach((file)=> (formData.append(\"maintenance_file[]\", file)))\n setBusy(\"loading\");\n await InspectionServices.createAction(formData)\n .then((res) => {\n if (res) {\n handleClose();\n getAllActions();\n setBusy(null);\n message.showToastMessage({\n message: \"Created successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n setBusy(null);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleCriticalConsideration = (value) => {\n setCriticalConsideration(value);\n };\n const handleIndependentInsp = (value) => {\n setIndependentInsp(value);\n };\n\n const handleChange = ({ target: { name, value } }) => {\n // setState({\n // ...state,\n // [name]: value\n // })\n}\n\n return (\n
\n \n \n \n \n \n \n \n Add Action\n \n \n \n\n
\n
\n \n \n Action Details\n \n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n setAtaChapter(e.target.value);\n }}\n >\n {dropDownData?.ata_chapters?.map((option) => (\n \n {option.chapter_number}\n \n ))}\n \n \n \n {\n resetErrorsHandler(e.target.name);\n setMechAuth(e.target.value);\n }}\n >\n {dropDownData?.mech_insp_auth?.map((option) => (\n \n {option?.type_name}\n \n ))}\n \n \n \n {\n resetErrorsHandler(e.target.name);\n setInspAuth(e.target.value);\n }}\n >\n {dropDownData?.mech_insp_auth?.map((option) => (\n \n {option?.type_name}\n \n ))}\n \n \n \n \n setErrors((prevState) => ({\n ...prevState,\n estimate_man_hours: false,\n }))\n }\n />\n \n \n resetErrorsHandler(\"critical_considerations\")}\n />\n \n \n resetErrorsHandler(\"independent_insp_required\")}\n />\n \n \n Upload PDF versions of relevant maintenance data you want to be\n visible in the APP\n \n \n {\n setMaintFile(files);\n }}\n width={\"50%\"}\n showBorderOnNoFiles={true}\n name=\"maintenance_file[]\"\n multiple={true}\n APIUrl={\"\"}\n action={\"Upload Document\"}\n />\n
\n
\n \n Cancel\n \n \n Add\n \n
\n
\n
\n
\n );\n}\n\nexport default ActionDetails;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Typography from \"@material-ui/core/Typography\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport {\n Box,\n Dialog,\n DialogContent,\n DialogTitle,\n IconButton,\n} from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport cameraIcon from \"assets/camera@2x.png\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport MROButton from \"components/buttons\";\n// import { BASE_API_URL_BOXP } from \"lib/constants\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\n\nconst useStyles = makeStyles((theme) => ({\n dialogPaper: {\n minHeight: \"30vh\",\n maxHeight: \"150vh\",\n },\n actionButtons: {\n paddingTop: \"5px\",\n paddingBottom: \"20px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n}));\n\nfunction ManageTask(props) {\n const {\n open,\n handleCloseDailog,\n selectedId,\n action_type,\n styleProp\n } = props;\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [boolState, setBoolState] = useState(false);\n const [busy, setBusy] = useState(null);\n const [actionPhotos, setActionPhotos] = useState([]);\n const [actionImage, setActionImage] = useState([]);\n const [deletedStatus, setDeletedStatus] = useState(false)\n const [isLoading, setIsLoading] = useState(false)\n\n useEffect(() => {\n getActionPhotos();\n }, []);\n\n useEffect(()=>{\n if(actionImage.length){\n setDeletedStatus(false)\n }\n },[actionImage])\n\n const getActionPhotos = async () => {\n setBusy(\"get_photos\");\n setIsLoading(true)\n await InspectionServices.getActionPhotos(selectedId)\n .then((res) => {\n if (res) {\n setBusy(null);\n setActionPhotos(res.data);\n }\n })\n .catch(() => {\n setBusy(null);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(()=>{\n setBusy(null);\n setIsLoading(false)\n })\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n formData.append(\"action_id\", selectedId);\n formData.append(\"action_type\", action_type);\n formData.delete(\"action_image[]\");\n actionImage.forEach((image) => formData.append(\"action_image[]\", image));\n setBusy(\"loading\");\n if(deletedStatus !== true){\n await InspectionServices.addPhotos(formData)\n .then(() => {\n setBusy(null);\n handleCloseDailog();\n message.showToastMessage({\n message: \"Added successfully!\",\n variant: \"success\",\n });\n setDeletedStatus(false)\n })\n .catch(() => {\n setBusy(null);\n handleCloseDailog();\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n }\n setBusy(null);\n handleCloseDailog();\n };\n\n const deleteFileHandler = async (id) => {\n setBusy(\"file-deleting\");\n try {\n const response = await MaintenanceServices.deleteFile(id);\n\n if (response.success) {\n message.showToastMessage({\n message: \"File deleted successfully\",\n variant: \"success\",\n });\n setDeletedStatus(true);\n getActionPhotos();\n }\n setBusy(null);\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"file-deleting-error\");\n }\n };\n\n return (\n
\n \n \n \n \n \n Action Photos   \n {!boolState && props?.permission.write && (\n \n setBoolState(true)}\n />\n \n )}\n \n \n \n \n {\" \"}\n \"Icon\"{\" \"}\n \n \n \n \n Upload any relevant images - E.g., defect photos etc\n \n \n
\n \n \n ({\n filename: item?.file_name,\n url: `${item?.path}`,\n id: item?.id,\n }))\n : \"\"\n }\n setFiles={(files) => {\n setActionImage(files);\n }}\n onDelete={boolState === false ? null : deleteFileHandler}\n APIUrl={\"\"}\n showBorderOnNoFiles={true}\n name=\"action_image[]\"\n multiple={true}\n action={\"Upload Document\"}\n id=\"action_image[]\"\n isLoading={isLoading}\n isDeleting={busy === \"file-deleting\"}\n uploadButtonView={boolState === false}\n />\n \n \n {boolState === true && (\n
\n \n Cancel\n \n \n Complete\n \n
\n )}\n
\n \n
\n );\n}\n\nexport default ManageTask;\n","import React, { useContext, useState } from \"react\";\nimport MRORightDrawer from \"components/temporary_sidebar\";\nimport { Typography, Box, Grid } from \"@material-ui/core\";\nimport TouchAppIcon from \"@material-ui/icons/TouchApp\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { DragDropContext, Droppable, Draggable } from \"react-beautiful-dnd\";\nimport MROButton from \"components/buttons\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\nconst useStyles = makeStyles((theme) => ({\n stageStyle: {\n border: \"0.5px solid gray\",\n borderRadius: \"10px\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n padding: \"5px\",\n width: \"260px\",\n height: \"50px\",\n wordWrap: \"break-word\",\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n actionButtons: {\n paddingTop: \"20px\",\n textAlign: \"right\",\n \"& button\": {\n marginRight: \"20px\",\n },\n },\n}));\n\nfunction EditStageOrder(props) {\n const classes = useStyles();\n const { handleClose, stageDetails, workshop_id,closeDrawer} = props;\n const message = useContext(ToastMessageContext);\n const [stageObj, setStageObj] = useState(stageDetails);\n const [busy, setBusy] = useState(null)\n\n // console.log(\"stage obj=================\", stageObj);\n\n const handleSubmit = () => {\n let stageParams = stageObj?.map((item) =>{\n return {stage_position: item.stage_position, workshop_library_id: item.workshop_library_id}\n })\n const params = {\n workshop_action_id: workshop_id,\n stage_position_data: stageParams,\n };\n // console.log(\"params is========================\", params);\n setBusy(\"update\")\n InspectionServices.updateStagePosition(params)\n .then((res) => {\n if (res) {\n closeDrawer(res);\n props.getAllActionStages()\n message.showToastMessage({\n message: \"Updated Successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!!\",\n variant: \"error\",\n });\n }).finally(()=>{\n setBusy(null)\n })\n };\n\n // console.log(\"stage obj is================\", stageObj)\n\n const resetDisplayPositions = list => {\n const resetList = list.map((c, index) => {\n const slide = c\n slide.stage_position = index + 1\n return slide\n })\n return resetList\n }\n\n const handleDrag = (list, startIndex, endIndex) => {\n const result = Array.from(list)\n const [removed] = result.splice(startIndex, 1)\n result.splice(endIndex, 0, removed)\n return resetDisplayPositions(result)\n };\n\n const onDragUpdate = result => {\n if (!result.destination) {\n return\n }\n const dragged = stageObj[result.source.index]\n const previousDraggedIndex = dragged.stage_position\n dragged.stage_position = result.destination.index + 1\n const draggedIndexDifference = dragged.stage_position - previousDraggedIndex\n const updatedContent = stageObj.map((c, index) => {\n const slide = c\n if (slide.stage_position === result.destination.index + 1 && index !== result.source.index) {\n slide.stage_position -= draggedIndexDifference\n }\n return slide\n })\n setStageObj(updatedContent)\n }\n\n return (\n
\n \n {\n if (!result.destination) {\n return\n }\n const content = handleDrag(stageDetails, result.source.index,result.destination.index)\n setStageObj(content)\n stageDetails.splice( result.destination.index, 0, stageDetails.splice(result.source.index, 1)[0]);\n\n // handleDrag(param);\n // const srcIndx = param.source.index;\n // const desIndx = param.destination?.index;\n // stageDetails.splice(desIndx, 0, stageDetails.splice(srcIndx, 1)[0]);\n\n // console.log(\"stage details is===================\",param, srcIndx+1,desIndx+1)\n }}\n >\n Edit Stage Order\n \n \n Click and Drag Stages up or down to re-order as required\n \n \n \n Stage Order\n \n \n {(provided, snapshot) => (\n
\n {stageDetails?.map((stage, index) => (\n \n {(provided, snapshot) => (\n \n \n \n \n {stage.stage_position}\n \n \n \n \n   \n {stage.stage_name}\n \n \n \n \n )}\n \n ))}\n {provided.placeholder}\n
\n )}\n
\n \n
\n \n Cancel\n \n \n Save\n \n
\n
\n
\n );\n}\n\nexport default EditStageOrder;\n","import React, { useContext, useState } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Grid,\n Typography,\n} from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport BoxpDataService from \"lib/services/api/boxp_index\";\nimport { CalenderMaintenanceService } from \"lib/services/api/operaitons/WorkShop/Storage/CalenderMaintenanceService\";\n\nconst useStyles = makeStyles(() => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"25%\",\n },\n },\n title: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n warning: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: \"16px\",\n marginBottom: \"20px\",\n },\n actionButtons: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n}));\n\nfunction DeleteAction(props) {\n const classes = useStyles();\n const {\n handleClose,\n open,\n selectedId,\n section,\n getAllActions,\n closeHandler,\n setSelectedRowId,\n } = props;\n const message = useContext(ToastMessageContext);\n const [busy, setBusy] = useState(null);\n\n const handleSubmit = () => {\n setBusy(\"loading\");\n CalenderMaintenanceService.deleteAction(selectedId)\n .then((res) => {\n if (res.success) {\n setBusy(null);\n setSelectedRowId(null);\n getAllActions();\n closeHandler();\n message.showToastMessage({\n message: \"Action removed successfully\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n setBusy(null);\n handleClose();\n message.showToastMessage({\n message: \"Can’t be deleted! - Items exist against action!!\",\n variant: \"error\",\n });\n });\n // BoxpDataService.boxpDeleteData(selectedId, section , \"\").then((res) => {\n // if (res.success) {\n // setBusy(null);\n // setSelectedRowId(null)\n // getAllActions();\n // closeHandler();\n // message.showToastMessage({ message: \"Action removed successfully\", variant: \"success\" });\n // }else if(!res.scucces){\n // setBusy(null);\n // handleClose();\n // // message.showToastMessage({ message: \"Can’t be deleted! - Items exist against action!!\", variant: \"error\" });\n // message.showToastMessage({ message: \"Action removed successfullys\", variant: \"success\" });\n // }\n // })\n };\n return (\n
\n \n \n \n Delete Item\n \n \n \n \n This cannot be undone. Are you sure?\n \n \n \n \n Cancel\n \n \n \n \n Yes\n \n \n \n \n \n
\n );\n}\n\nexport default DeleteAction;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport MROTextField from \"components/form_components/TextField\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport MROButton from \"components/buttons\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport { Box, FormControlLabel } from \"@material-ui/core\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport DeleteAction from \"./DeleteAction\";\nimport { formatUTC, getOrganisationId } from \"lib/utils/common_utils\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport DateField from \"views/Accounts/Workshop/Maintenance/ManageInvoice/DateField\";\nimport { CalenderMaintenanceService } from \"lib/services/api/operaitons/WorkShop/Storage/CalenderMaintenanceService\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport NumericIncrement from \"views/Operations/LineMaintenance/WorkOrder/FieldComponents/numeric_increment\";\nimport moment from \"moment\";\n\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrap: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n}));\n\nfunction EditActionInfo(props) {\n const classes = useStyles();\n const {\n handleClose,\n currentSelectedInfo,\n closeHandler,\n getAllActions,\n selectedAction,\n getSelectedAction,\n setSelectedRowId,\n currentSelectedID,\n getAllActionStages,\n getActions,\n data\n } = props;\n\n const message = useContext(ToastMessageContext);\n const [dropDownData, setDropdownData] = useState([]);\n const [errors, setErrors] = useState({});\n const [ataChapter, setAtaChapter] = useState(null);\n const [mechAuth, setMechAuth] = useState(null);\n const [inspAuth, setInspAuth] = useState(null);\n const [techData, setTechData] = useState(null);\n const [busy, setBusy] = useState(null);\n const [action, setAction] = useState(null);\n const [qty, setQty] = useState(null);\n const [show, setShow] = useState(false);\n const [title, setTitle] = useState(null);\n const [desc, setDesc] = useState(null);\n const [maintFile, setMaintFile] = useState([]);\n const [state, setState] = useState({ man_hours: '' });\n const [fieldZero, setFieldZero] = useState({ id: null, name: null });\n const [fieldOne, setFieldOne] = useState({ id: null, name: null });\n const [fieldTwo, setFieldTwo] = useState({ id: null, name: null });\n const [fieldThree, setFieldThree] = useState({ id: null, name: null });\n const [fieldFour, setFieldFour] = useState({ id: null, name: null });\n const [fieldFive, setFieldFive] = useState({ id: null, name: null });\n const [fieldSix, setFieldSix] = useState({ id: null, name: null });\n const [fieldSeven, setFieldSeven] = useState({ id: null, name: null });\n const [fieldEight, setFieldEight] = useState({ id: null, name: null });\n const [fieldNine, setFieldNine] = useState({ id: null, name: null });\n const [date, setDate] = useState(null)\n const [updatedData, setUpdatedData] = useState({})\n const [loading, setLoading] = useState(false)\n const [showFrequency, setShowFrequency] = useState(false)\n\n useEffect(() => {\n if (selectedAction?.ata_chapter_id !== undefined) {\n setAtaChapter(selectedAction?.ata_chapter_id);\n }\n if (selectedAction?.mech_auth_id !== undefined) {\n setMechAuth(selectedAction?.mech_auth_id);\n }\n if (selectedAction?.insp_auth_id != undefined) {\n setInspAuth(selectedAction?.insp_auth_id);\n }\n setTitle(selectedAction?.title);\n setDesc(selectedAction?.description);\n if (selectedAction?.tech_data_ref) {\n setTechData(selectedAction?.tech_data_ref)\n }\n if (selectedAction?.action_due_date\n ) {\n setDate(formatUTC(selectedAction?.action_due_date)\n )\n\n }\n\n if (selectedAction?.sub_fields != undefined && selectedAction?.sub_fields != []) {\n setFieldZero(\n {\n id: selectedAction?.sub_fields[0]?.id,\n name: selectedAction?.sub_fields[0]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[0]?.field_name\n }\n );\n setFieldFive(\n {\n id: selectedAction?.sub_fields[1]?.id,\n name: selectedAction?.sub_fields[1]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[1]?.field_name\n }\n );\n setFieldOne(\n {\n id: selectedAction?.sub_fields[2]?.id,\n name: selectedAction?.sub_fields[2]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[2]?.field_name\n }\n );\n\n setFieldTwo(\n {\n id: selectedAction?.sub_fields[4]?.id,\n name: selectedAction?.sub_fields[4]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[4]?.field_name\n }\n );\n setFieldThree(\n {\n id: selectedAction?.sub_fields[6]?.id,\n name: selectedAction?.sub_fields[6]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[6]?.field_name\n }\n );\n setFieldFour(\n {\n id: selectedAction?.sub_fields[8]?.id,\n name: selectedAction?.sub_fields[8]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[8]?.field_name\n }\n );\n\n setFieldSix(\n {\n id: selectedAction?.sub_fields[3]?.id,\n name: selectedAction?.sub_fields[3]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[3]?.field_name\n }\n );\n setFieldSeven(\n {\n id: selectedAction?.sub_fields[5]?.id,\n name: selectedAction?.sub_fields[5]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[5]?.field_name\n }\n );\n setFieldEight(\n {\n id: selectedAction?.sub_fields[7]?.id,\n name: selectedAction?.sub_fields[7]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[7]?.field_name\n }\n );\n setFieldNine(\n {\n id: selectedAction?.sub_fields[9]?.id,\n name: selectedAction?.sub_fields[9]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[9]?.field_name\n }\n );\n }\n\n }, [selectedAction]);\n\n useEffect(() => {\n if (data)\n setUpdatedData(data)\n }, [data])\n // console.log(\"selectedAction=========\", qty)\n useEffect(() => {\n if (selectedAction?.repeat_events) {\n setShowFrequency(selectedAction?.repeat_events)\n }\n }, [selectedAction?.repeat_events])\n useEffect(() => {\n if (selectedAction?.calendar_frequency) {\n setQty(selectedAction?.calendar_frequency)\n }\n }, [selectedAction?.calendar_frequency]);\n\n\n\n useEffect(() => {\n if (selectedAction?.estimate_man_hours) {\n setState({ man_hours: selectedAction?.estimate_man_hours })\n }\n }, [selectedAction?.estimate_man_hours]);\n\n useEffect(() => {\n if (selectedAction?.camo_records) {\n setShow(selectedAction?.camo_records)\n }\n }, [selectedAction?.camo_records]);\n\n useEffect(() => {\n getDropdownData();\n }, []);\n\n const handleDateFunction = (e) => {\n if (e) {\n\n let date = formatUTC(e)\n setDate(date)\n }\n\n // console.log(\"date=====\", formatUTC(e))\n }\n\n const getDropdownData = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await InspectionServices.getAllDropDown(params)\n .then((res) => {\n if (res) {\n setDropdownData(res.data);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n\n const handleSubmit = (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n formData.append(\"id\", currentSelectedID)\n maintFile.forEach((file) => formData.set(\"maintenance_file[]\", file))\n setLoading(true)\n let valid = true\n let error = {\n title: false,\n ata_chapter_id: false,\n mech_auth_id: false,\n insp_auth_id: false,\n tech_data_ref: false,\n last_completed: false,\n calendar_frequency: false,\n camo_records: false,\n description: false,\n estimate_man_hours: false\n };\n if (qty === undefined && showFrequency || null) {\n error.calendar_frequency = true\n valid = false\n }\n if (title === \"\" || null) {\n error.title = true\n valid = false\n }\n if (ataChapter === \"\" || null) {\n error.ata_chapter_id = true\n valid = false\n }\n if (mechAuth === \"\" || null) {\n error.mech_auth_id = true\n valid = false\n }\n if (state.man_hours === \"\" || null) {\n error.estimate_man_hours = true\n valid = false\n }\n if (date === \"\" || null) {\n error.last_completed = true\n valid = false\n }\n\n if (techData === \"\" || null) {\n error.tech_data_ref = true\n valid = false\n }\n if (inspAuth === \"\" || null) {\n error.insp_auth_id = true\n valid = false\n }\n\n if (desc === \"\" || null) {\n error.description = true\n valid = false\n }\n if (!valid) {\n setBusy(null)\n setErrors(error);\n return;\n }\n\n\n\n const param = {\n title: title,\n ata_chapter_id: ataChapter,\n mech_auth_id: mechAuth,\n insp_auth_id: inspAuth,\n estimate_man_hours: state.man_hours,\n critical_considerations: selectedAction.critical_considerations,\n independent_insp_required: selectedAction.independent_insp_required,\n raised_by: selectedAction.raised_by,\n raised_date_time: selectedAction.raised_date_time,\n camo_records: show,\n closed_by: selectedAction.closed_by,\n verified_by: selectedAction.verified_by,\n verified_date_time: selectedAction.verified_date_time,\n tech_data_ref: techData,\n calendar_frequency: qty,\n last_completed: date,\n description: desc,\n id: currentSelectedID,\n stage_id: selectedAction.stage_id,\n repeat_events: showFrequency,\n sub_fields: [\n {\n id: fieldZero.id || null,\n field_name: fieldZero.name || null\n },\n {\n id: fieldOne.id || null,\n field_name: fieldOne.name || null\n },\n {\n id: fieldTwo.id || null,\n field_name: fieldTwo.name || null\n },\n {\n id: fieldThree.id || null,\n field_name: fieldThree.name || null\n },\n {\n id: fieldFour.id || null,\n field_name: fieldFour.name || null\n },\n {\n id: fieldFive.id || null,\n field_name: fieldFive.name || null\n },\n {\n id: fieldSix.id || null,\n field_name: fieldSix.name || null\n },\n {\n id: fieldSeven.id || null,\n field_name: fieldSeven.name || null\n },\n {\n id: fieldEight.id || null,\n field_name: fieldEight.name || null\n },\n {\n id: fieldNine.id || null,\n field_name: fieldNine.name || null\n },\n ]\n }\n try {\n handleFileUpdate(formData)\n handleUpdateFields(param, currentSelectedID)\n }\n catch (err) {\n console.log(err)\n }\n finally {\n setBusy(null);\n setLoading(false)\n }\n };\n\n\n const handleUpdateFields = async (param, currentSelectedID) => {\n setBusy(\"loading\");\n await CalenderMaintenanceService.updateAction(param, currentSelectedID)\n .then((res) => {\n if (res) {\n handleClose();\n closeHandler()\n getAllActions();\n getAllActionStages()\n setBusy(null);\n message.showToastMessage({\n message: \"Updated successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n setBusy(null);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n\n }\n\n const handleFileUpdate = async (formData) => {\n setBusy(\"loading\");\n await CalenderMaintenanceService.updateFile(formData).then((res) => {\n if (res) {\n // handleClose();\n // closeHandler()\n // // getAllActions();\n // // getAllActionStages()\n // setBusy(null);\n message.showToastMessage({\n message: \"Updated successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n setBusy(null);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n\n }\n const deleteFileHandler = async (id) => {\n\n setBusy(\"file-deleting\");\n try {\n const response = await MaintenanceServices.deleteFile(id);\n\n if (response.success) {\n\n message.showToastMessage({\n message: \"File deleted successfully\",\n variant: \"success\",\n });\n getAllActions()\n getActions()\n // getSelectedAction();\n }\n setUpdatedData(data)\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n })\n\n\n }\n finally {\n setBusy(null);\n setLoading(false)\n }\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleFrequency = (e) => {\n // console.log(\"events=====\", e.target.checked)\n if (e.target.checked === false) {\n setQty(null)\n }\n\n }\n const handleChange = ({ target: { name, value } }) => {\n setState({\n ...state,\n [name]: value\n })\n }\n\n return (\n
\n \n \n \n \n {\n\n handleClose()\n closeHandler()\n getAllActions()\n }}\n edge=\"start\"\n className={classes.backButton}\n color=\"inherit\"\n aria-label=\"back\"\n >\n \n \n \n Edit Calendar Action\n \n \n setAction(\"delete\")}>\n \n Delete Item  \n \n \n \n \n \n\n \n \n
\n \n \n Action Details\n \n \n\n \n {\n resetErrorsHandler(e.target.name);\n setTitle(e.target.value);\n }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n setAtaChapter(e.target.value);\n }}\n >\n {dropDownData?.ata_chapters?.map((option) => (\n \n {option.chapter_number}\n \n ))}\n \n \n \n {\n resetErrorsHandler(e.target.name);\n setMechAuth(e.target.value);\n }}\n >\n {dropDownData?.mech_insp_auth?.map((option) => (\n \n {option?.type_name}\n \n ))}\n \n \n \n {\n resetErrorsHandler(e.target.name);\n setInspAuth(e.target.value);\n }}\n >\n {dropDownData?.mech_insp_auth?.map((option) => (\n \n {option?.type_name}\n \n ))}\n \n \n \n \n setErrors((prevState) => ({\n ...prevState,\n estimate_man_hours: false,\n }))\n }\n />\n {/* \n setErrors((prevState) => ({\n ...prevState,\n estimate_man_hours: false,\n }))\n }\n minQty={1}\n /> */}\n \n\n \n {\n resetErrorsHandler(e.target.name);\n setTechData(e.target.value);\n }}\n >\n \n \n {\n handleDateFunction(e)\n setErrors({ ...errors, last_completed: false });\n }}\n defaultValue={date}\n error={errors.last_completed}\n helperText={errors.last_completed ? \"*please enter a date\" : null}\n\n />\n \n \n {\n setShowFrequency(e.target.checked)\n handleFrequency(e)\n }\n }\n // error={errors.calendar_frequency}\n error={errors.repeat_events}\n setError={() => resetErrorsHandler(\"repeat_events\")}\n\n />\n }\n\n label=\"Frequency based repeating event? \"\n labelPlacement=\"start\"\n name=\"repeat_events\"\n />\n \n {showFrequency &&\n \n \n setErrors((prevState) => ({\n ...prevState,\n calendar_frequency: false,\n }))\n }\n />\n \n }\n\n {\n setShow(e.target.checked)\n\n }\n }\n error={errors.camo_records}\n setError={() => resetErrorsHandler(\"camo_records\")}\n\n />\n }\n\n label=\"Operator / CAMO Part M technical records applicable each time?\"\n labelPlacement=\"start\"\n name=\"camo_records\"\n />\n\n\n
\n
\n\n \n
\n\n {\" \"}\n \n \n Event Details\n \n \n \n \n \n {\n resetErrorsHandler(e.target.name);\n setDesc(e.target.value)\n }}\n />\n \n \n\n <>\n \n \n Stage Details\n \n \n \n \n Upto 10 Sub Fields can be used to capture text E.g.\n torque values, temp readings etc.\n \n \n\n \n \n {\n setFieldZero({ id: selectedAction?.sub_fields[0]?.id, name: e.target.value });\n // handleUpdateStage();\n }}\n />\n \n \n {\n setFieldFive({ id: selectedAction?.sub_fields[1]?.id, name: e.target.value });\n }}\n >\n \n \n \n \n {\n setFieldOne({ id: selectedAction?.sub_fields[2]?.id, name: e.target.value });\n\n }}\n />\n \n \n {\n setFieldSix({ id: selectedAction?.sub_fields[3]?.id, name: e.target.value });\n\n }}\n />\n \n \n \n \n {\n setFieldTwo({ id: selectedAction?.sub_fields[4]?.id, name: e.target.value });\n\n }}\n />\n \n\n \n {\n setFieldSeven({ id: selectedAction?.sub_fields[5]?.id, name: e.target.value });\n }}\n />\n \n \n \n \n {\n setFieldThree({ id: selectedAction?.sub_fields[6]?.id, name: e.target.value });\n\n }}\n />\n \n\n \n {\n setFieldEight({ id: selectedAction?.sub_fields[7]?.id, name: e.target.value });\n\n }}\n />\n \n \n\n \n \n {\n setFieldFour({ id: selectedAction?.sub_fields[8]?.id, name: e.target.value });\n\n }}\n />\n \n\n \n {\n setFieldNine({ id: selectedAction?.sub_fields[9]?.id, name: e.target.value });\n\n }}\n />\n \n \n \n \n
\n\n
\n
\n
{\n handleSubmit(e)\n // console.log(\"Addd clicked=======\")\n }}>\n \n ({\n filename: item?.file_name,\n url: `${item?.path}`,\n id: item?.id,\n }))\n : \"\"\n }\n APIUrl={\"\"}\n onDelete={deleteFileHandler}\n isDeleting={busy === \"file-deleting\"}\n // isLoading={loading}\n setFiles={(files) => {\n setMaintFile(files);\n }}\n multiple={true}\n width={\"50%\"}\n showBorderOnNoFiles={true}\n name={\"maintenance_file[]\"}\n action={\"Upload Document\"}\n />\n \n \n Cancel\n \n Update\n \n \n
\n\n\n\n\n\n\n {action === \"delete\" && (\n setAction(null)}\n open={true}\n selectedId={currentSelectedID}\n section={\"deleteActionData\"}\n closeHandler={closeHandler}\n getAllActions={getAllActions}\n setSelectedRowId={setSelectedRowId}\n />\n )}\n
\n
\n );\n}\n\nexport default EditActionInfo;\n","import React, { useState, useEffect, useContext } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Box, CircularProgress } from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport MROButton from \"components/buttons\";\nimport EditStageOrder from \"./EditStageOrder\";\nimport EditActionInfo from \"./EditActionInfo\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport { formatDateFunction } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n root: {\n backgroundColor: \"#ffffff\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n EditIcon: {\n bgcolor: \"primary\",\n color: \"#fff\",\n },\n editButton: {\n marginLeft: \"300px\",\n },\n}));\n\nfunction ActionInformation(props) {\n const classes = useStyles();\n const {\n handleClose,\n selectedId,\n getAllActions,\n setSelectedRowId,\n styleProp,\n readProp,\n } = props;\n const [action, setAction] = useState(null);\n const message = useContext(ToastMessageContext);\n const [loading, setLoading] = useState(false);\n const [stageDetails, setStageDetails] = useState([]);\n const [selectedAction, setSelectedAction] = useState([]);\n\n const handleEdit = () => {\n setAction(\"EditInfo\");\n };\n\n const handleCloseEdit = () => {\n if (action === \"EditInfo\" || action === \"EditActionInfo\") {\n setAction(null);\n }\n };\n\n useEffect(() => {\n getAllActionStages();\n }, []);\n\n const getAllActionStages = async () => {\n const params = {\n workshop_action_id: selectedId,\n };\n await InspectionServices.getAllActionStages(params)\n .then((res) => {\n if (res) {\n setStageDetails(res.data);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n // setIsGettingDetails(false);\n });\n };\n\n useEffect(() => {\n getSelectedAction();\n }, []);\n\n const getSelectedAction = async () => {\n setLoading(true);\n await InspectionServices.getSelectedAction(selectedId)\n .then((res) => {\n if (res) {\n setLoading(false);\n setSelectedAction(res.data);\n }\n })\n .catch(() => {\n setLoading(false);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setLoading(false);\n });\n };\n\n const handleCloseButton = () => {\n props.getAllActionStages();\n handleClose();\n };\n\n return (\n \n \n \n \n \n \n \n Action Information\n \n
\n \n setAction(\"EditActionInfo\")}\n />\n \n
\n
\n
\n\n
\n
\n {loading && _.isEmpty(selectedAction) ? (\n \n \n \n ) : (\n <>\n \n \n Action Details\n \n \n \n \n \n Raised by\n \n \n {selectedAction?.raised_by}\n \n \n Raised\n \n \n \n {formatDateFunction(selectedAction?.raised_date_time)}\n \n \n \n \n \n ATA Chapter\n \n \n {selectedAction?.ata_chapter}\n \n \n Estimated Man-Hrs\n \n \n \n {selectedAction?.estimate_man_hours}\n \n \n \n \n \n Mech Auth\n \n \n {selectedAction?.mech_auth}\n \n \n Safety Critical\n \n \n \n {selectedAction?.critical_considerations === false\n ? \"No\"\n : \"Yes\"}\n \n \n \n \n \n Insp Auth\n \n \n {selectedAction?.insp_auth}\n \n \n Ind Insp\n \n \n \n {selectedAction?.independent_insp_required === false\n ? \"No\"\n : \"Yes\"}\n \n \n \n \n \n Title\n \n \n {selectedAction?.title}\n \n \n \n \n \n \n \n \n \n \n Tech Data\n \n \n ({\n filename: item?.file_name,\n url: `${item?.path}`,\n id: item?.id,\n }))\n : \"\"\n }\n showBorderOnNoFiles={true}\n APIUrl={\"\"}\n multiple={true}\n name={\"maintenance_file[]\"}\n action={\"Upload Document\"}\n uploadButtonView={true}\n />\n \n\n \n \n Verification\n \n \n \n \n \n Verified\n \n \n \n {selectedAction?.verified_date_time === null\n ? \"-\"\n : formatDateFunction(\n selectedAction?.verified_date_time\n )}\n \n \n \n Verified by\n \n \n \n {selectedAction?.verified_by === null\n ? \"-\"\n : selectedAction?.verified_by}\n \n \n \n \n\n \n \n Stages\n \n \n \n \n \n Number of Stages\n \n \n {stageDetails.length || \"-\"}\n \n \n Order\n \n \n \n {(\n }\n onClick={handleEdit}\n style={{ display: readProp ? \"none\" : \"-\" }}\n >\n Edit\n \n ) || \"-\"}\n \n \n \n \n\n \n \n Man-Hrs\n \n \n \n \n \n Actual Man-hrs\n \n \n {\"-\"}\n \n \n \n \n \n \n \n \n \n\n \n \n Closure\n \n \n \n \n \n Closed\n \n \n {selectedAction?.closed || \"-\"}\n \n \n Closed by\n \n \n {selectedAction?.closed_by || \"-\"}\n \n \n \n \n )}\n
\n
\n\n {action === \"EditInfo\" && (\n \n )}\n {action === \"EditActionInfo\" && (\n \n )}\n
\n );\n}\n\nexport default ActionInformation;\n","import React, { useContext, useState } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Grid,\n Typography,\n} from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\nconst useStyles = makeStyles(() => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"25%\",\n },\n },\n title: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n warning: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: \"16px\",\n marginBottom: \"20px\",\n },\n actionButtons: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n}));\n\nfunction DeleteStage(props) {\n const classes = useStyles();\n const { handleClose, open, action_Id, getAllActionStages } = props;\n const message = useContext(ToastMessageContext);\n const [loading, setLoading] = useState(null);\n\n const handleDelete = () => {\n setLoading(\"busy\");\n InspectionServices.deleteStage(action_Id)\n .then((res) => {\n if (res.success) {\n props.closeStageHandler(res.success);\n getAllActionStages();\n message.showToastMessage({\n message: \"Stage deleted successfully\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setLoading(null);\n });\n };\n\n return (\n
\n \n \n \n Delete Item\n \n \n \n \n This cannot be undone. Are you sure?\n \n \n \n \n Cancel\n \n \n \n \n Yes\n \n \n \n \n \n
\n );\n}\n\nexport default DeleteStage;\n","import React, { useState, useEffect } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport MROButton from \"components/buttons\";\nimport MROTextField from \"components/form_components/TextField\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport { Box } from \"@material-ui/core\";\nimport \"./textField.css\";\nimport DeleteDailog from \"components/form_components/DeleteDailog\";\nimport DeleteStage from \"./DeleteStage\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n padding: \"2%\",\n backgroundColor: \"#fff\",\n },\n root: {\n \"& .MuiOutlinedInput-root\": {\n height: \"140px\",\n },\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n description: {\n borderRadius: \"5px\",\n height: \"250px\",\n fontSize: \"15px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(1),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n actionButtons: {\n textAlign: \"right\",\n marginTop: \"30px\",\n \"& button\": {\n // marginRight: \"20px\",\n },\n },\n content: {\n backgroundColor: \"#fff\",\n // padding: \"3% 6%\",\n borderRadius: \"0 0 5px 5px\",\n minHeight: \"fit-content\",\n },\n}));\n\nfunction EditStage(props) {\n const classes = useStyles();\n const { handleClose, action_Id, getAllActionStages, closeStageHandler } = props;\n const [action, setAction] = useState(null);\n\n return (\n
\n \n \n \n \n \n \n \n \n Edit Stage\n \n \n setAction(\"delete\")}>\n \n Delete Item  \n \n \n \n \n \n
\n
\n
\n {\" \"}\n \n Stage Details\n \n \n \n \n {\n // setError({ ...error, partError: null });\n // setselectedPartNumber(e.target.value);\n // }}\n className={classes.inputField}\n color=\"primary\"\n />\n \n \n\n \n \n {\n // setDescription(e.target.value);\n // resetErrorsHandler(e.target.name);\n // handleUpdateStage()\n // }}\n />\n \n \n\n <>\n \n \n Stage Details\n \n \n \n \n Upto 10 Sub Fields can be used to capture text E.g. torque\n values, temp readings etc.\n \n \n\n \n \n setFieldZero(e.target.value)}\n />\n \n \n setFieldFive(e.target.value)}\n >\n \n \n \n \n setFieldOne(e.target.value)}\n />\n \n \n setFieldSix(e.target.value)}\n />\n \n \n \n \n setFieldTwo(e.target.value)}\n />\n \n\n \n setFieldSeven(e.target.value)}\n />\n \n \n \n \n setFieldThree(e.target.value)}\n />\n \n\n \n setFieldEight(e.target.value)}\n />\n \n \n\n \n \n setFieldFour(e.target.value)}\n />\n \n\n \n setFieldNine(e.target.value)}\n />\n \n \n \n \n
\n \n cancel\n \n \n update\n \n
\n \n
\n
\n
\n {action && action === \"delete\" && (\n setAction(null)}\n closeStageHandler={closeStageHandler}\n />\n )}\n
\n );\n}\n\nexport default EditStage;\n","import React, { useState, useEffect, useContext } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Box, CircularProgress } from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport EditStage from \"./EditStage\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n description: {\n borderRadius: \"5px\",\n height: \"250px\",\n fontSize: \"15px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(1),\n },\n root: {\n backgroundColor: \"#ffffff\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n EditIcon: {\n bgcolor: \"primary\",\n color: \"#fff\",\n },\n editButton: {\n marginLeft: \"300px\",\n },\n}));\n\nfunction StageInfo(props) {\n const classes = useStyles();\n const { handleClose, action_Id, styleProp, getAllActionStages } = props;\n const [action, setAction] = useState(null);\n const [loading, setLoading] = useState(false);\n const message = useContext(ToastMessageContext);\n const [selectedAction, setSelectedAction] = useState([]);\n const [fieldZero, setFieldZero] = useState(null);\n const [fieldOne, setFieldOne] = useState(null);\n const [fieldTwo, setFieldTwo] = useState(null);\n const [fieldThree, setFieldThree] = useState(null);\n const [fieldFour, setFieldFour] = useState(null);\n const [fieldFive, setFieldFive] = useState(null);\n const [fieldSix, setFieldSix] = useState(null);\n const [fieldSeven, setFieldSeven] = useState(null);\n const [fieldEight, setFieldEight] = useState(null);\n const [fieldNine, setFieldNine] = useState(null);\n\n const handleCloseEdit = () => {\n if (action === \"EditStage\") {\n setAction(null);\n }\n };\n\n useEffect(() => {\n getStageAction();\n }, []);\n\n const getStageAction = async () => {\n setLoading(true);\n const params = {\n id: action_Id,\n };\n await InspectionServices.getStageAction(params)\n .then((res) => {\n if (res) {\n setLoading(false);\n setSelectedAction(res.data);\n }\n })\n .catch(() => {\n setLoading(false);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setLoading(false);\n });\n };\n\n const closeHHandler = () => {\n handleClose();\n props.getActionStages();\n };\n useEffect(() => {\n if (selectedAction?.sub_fields != undefined) {\n setFieldZero(\n selectedAction?.sub_fields[0]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[0]?.field_name\n );\n setFieldOne(\n selectedAction?.sub_fields[1]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[1]?.field_name\n );\n setFieldTwo(\n selectedAction?.sub_fields[2]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[2]?.field_name\n );\n setFieldThree(\n selectedAction?.sub_fields[3]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[3]?.field_name\n );\n setFieldFour(\n selectedAction?.sub_fields[4]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[4]?.field_name\n );\n setFieldFive(\n selectedAction?.sub_fields[5]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[5]?.field_name\n );\n setFieldSix(\n selectedAction?.sub_fields[6]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[6]?.field_name\n );\n setFieldSeven(\n selectedAction?.sub_fields[7]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[7]?.field_name\n );\n setFieldEight(\n selectedAction?.sub_fields[8]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[8]?.field_name\n );\n setFieldNine(\n selectedAction?.sub_fields[9]?.field_name === \"null\"\n ? \"\"\n : selectedAction?.sub_fields[9]?.field_name\n );\n }\n // }\n }, [selectedAction]);\n return (\n \n \n \n \n \n \n \n \n Stage Information\n \n \n {props.permission.write && \n setAction(\"EditStage\")}>\n \n \n }\n \n \n\n
\n
\n {loading && _.isEmpty(selectedAction) ? (\n \n \n \n ) : (\n <>\n \n \n Stage Details\n \n \n \n \n \n Raised by\n \n \n {selectedAction?.raised_by}\n \n \n Raised\n \n \n \n {moment(\n selectedAction?.raised,\n \"YYYY/MM/DD HH:mm:ss\"\n ).format(\"DD-MM-YYYY HH:mm\")}\n \n \n \n \n \n Title\n \n \n {selectedAction?.title}\n \n \n \n \n \n \n \n \n \n\n \n Detailed Description\n \n \n \n {selectedAction?.description}\n \n \n\n \n \n Sub-Fields\n \n \n \n \n \n Sub Field 1\n \n \n {fieldZero || \"-\"}\n \n \n Sub Field 2\n \n \n {fieldOne || \"-\"}\n \n\n \n\n \n \n Sub Field 3\n \n \n {fieldTwo || \"-\"}\n \n \n Sub Field 4\n \n \n {fieldThree || \"-\"}\n \n\n \n \n\n \n Sub Field 5\n \n \n {fieldFour || \"-\"}\n \n \n Sub Field 6\n \n \n {fieldFive || \"-\"}\n \n\n \n \n \n Sub Field 7\n \n \n {fieldSix || \"-\"}\n \n\n \n Sub Field 8\n \n \n {fieldSeven || \"-\"}\n \n\n \n \n \n Sub Field 9\n \n \n {fieldEight || \"-\"}\n \n \n Sub Field 10\n \n \n {fieldNine || \"-\"}\n \n \n \n\n \n \n Closure\n \n \n \n \n \n Mech Closed\n \n \n {\"-\"}\n \n \n Mech\n \n \n \n \n \n \n \n Insp Closed\n \n \n {\"-\"}\n \n \n Insp\n \n \n \n \n \n \n \n )}\n
\n
\n {action === \"EditStage\" && (\n \n )}\n
\n );\n}\n\nexport default StageInfo;\n","import React, { useState, useEffect, useContext } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport MROTextField from \"components/form_components/TextField\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport MROButton from \"components/buttons\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport { CalenderMaintenanceService } from \"lib/services/api/operaitons/WorkShop/Storage/CalenderMaintenanceService\";\nimport { MenuItem, FormControlLabel } from \"@material-ui/core\";\nimport DateField from \"views/Accounts/Workshop/Maintenance/ManageInvoice/DateField\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport NumericIncrement from \"views/Operations/LineMaintenance/WorkOrder/FieldComponents/numeric_increment\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"4%\",\n // backgroundColor: \"#F7F8FA\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n content: {\n margin: \"3%\",\n // backgroundColor: \"#F7F8FA\",\n // padding: \"3% 6%\",\n borderRadius: \"0 0 5px 5px\",\n minHeight: \"fit-content\",\n },\n inputField: {\n maxWidth: \"328px\",\n },\n input1: {\n height: 200,\n padding: 20,\n },\n input2: {\n height: 200,\n fontSize: \"3em\",\n },\n}));\n\nfunction CalendarActionDetails(props) {\n const classes = useStyles();\n const { handleClose, action, workshop_id, action_type, getAllActions, actionData, selectedId } = props;\n const [files, setFiles] = useState([]);\n const [errors, setErrors] = useState({});\n const [busy, setBusy] = useState(null);\n const [ataChapter, setAtaChapter] = useState(null);\n const [dropDownData, setDropdownData] = useState([]);\n const [mechAuth, setMechAuth] = useState(null);\n const [inspAuth, setInspAuth] = useState(null);\n const [state, setState] = useState(null);\n const [qty, setQty] = useState(null);\n const [maintFile, setMaintFile] = useState([]);\n const [show, setShow] = useState(false);\n const [showFrequency, setShowFrequency] = useState(true);\n const message = useContext(ToastMessageContext);\n const [states, setStates] = useState({ man_hours: '' });\n //create Api\n\n const handleFrequency = (e) => {\n // console.log(\"events=====\", e.target.checked)\n if (e.target.checked === false) {\n setState({\n ...state,\n man_hours: '',\n })\n }\n }\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n const formData = new FormData(e.target);\n let valid = true;\n\n let error = {\n title: false,\n ata_chapter_id: false,\n mech_auth_id: false,\n insp_auth_id: false,\n tech_data_ref: false,\n last_completed: false,\n calendar_frequency: false,\n camo_records: false,\n description: false,\n estimate_man_hours: false,\n repeat_events: false\n };\n if (formData && formData.get(\"title\")?.length === 0) {\n error.title = true;\n valid = false;\n }\n if (formData && formData.get(\"ata_chapter_id\")?.length === 0) {\n error.ata_chapter_id = true;\n valid = false;\n }\n if (formData && formData.get(\"mech_auth_id\")?.length === 0) {\n error.mech_auth_id = true;\n valid = false;\n }\n if (formData && formData.get(\"insp_auth_id\")?.length === 0) {\n error.insp_auth_id = true;\n valid = false;\n }\n if (formData && formData.get(\"tech_data_ref\")?.length === 0) {\n error.tech_data_ref = true;\n valid = false;\n }\n\n if (formData && formData.get(\"last_completed\")?.length === 0) {\n error.last_completed = true;\n valid = false;\n }\n if (formData && formData.get(\"camo_records\") === \" \") {\n error.camo_records = true;\n valid = false;\n }\n if (formData && formData.get(\"description\")?.length === 0) {\n error.description = true;\n valid = false;\n }\n if (showFrequency && formData.get(\"calendar_frequency\")?.length === 0) {\n error.calendar_frequency = true;\n valid = false;\n }\n if (formData && formData.get(\"estimate_man_hours\")?.length === 0) {\n error.estimate_man_hours = true;\n valid = false;\n }\n if (!valid) {\n\n setErrors(error);\n return;\n }\n formData.append(\"workshop_order_id\", workshop_id);\n formData.append(\"action_type\", action_type);\n\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"raised_by\", userDetails?.id);\n if (show === false) {\n formData.append(\"camo_records\", show)\n\n }\n if (showFrequency === false) {\n formData.append(\"repeat_events\", showFrequency)\n }\n if (action === \"createCalendar\") {\n // formData.delete(\"maintenance_file\");\n maintFile.forEach((file) => (formData.append(\"maintenance_file[]\", file)))\n setBusy(\"loading\");\n await CalenderMaintenanceService.createAction(formData).then((response) => {\n\n if (response.success) {\n handleClose()\n getAllActions()\n message.showToastMessage({\n message: \"Actions created successfully!\",\n variant: \"success\",\n });\n\n }\n else {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }\n }).catch((error) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n }\n // if (action === \"Edit Calendar Action\") {\n\n // }\n }\n\n useEffect(() => {\n getDropdownData();\n\n }, []);\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const getDropdownData = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await CalenderMaintenanceService.getAllDropDown(params)\n .then((res) => {\n if (res) {\n setDropdownData(res.data);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n\n useEffect(() => {\n setShow(show)\n }, [show]);\n\n\n\n return (\n
\n \n \n \n {\n handleClose()\n getAllActions()\n }}\n edge=\"start\"\n className={classes.backButton}\n color=\"inherit\"\n aria-label=\"back\"\n >\n \n \n \n Add Calendar Action\n \n \n \n
{\n handleSubmit(e)\n // console.log(\"Addd clicked=======\")\n }}>\n \n \n
\n \n \n Action Details\n \n \n\n \n {\n resetErrorsHandler(e.target.name);\n\n }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n setAtaChapter(e.target.value);\n }}\n >\n {dropDownData?.ata_chapters?.map((option) => (\n \n {option.chapter_number}\n \n ))}\n \n \n \n {\n resetErrorsHandler(e.target.name);\n setMechAuth(e.target.value);\n }}\n >\n {dropDownData?.mech_insp_auth?.map((option) => (\n \n {option?.type_name}\n \n ))}\n \n \n \n {\n resetErrorsHandler(e.target.name);\n setInspAuth(e.target.value);\n }}\n >\n {dropDownData?.mech_insp_auth?.map((option) => (\n \n {option?.type_name}\n \n ))}\n \n \n \n resetErrorsHandler(\"estimate_man_hours\")}\n helperText={\n errors[\"estimate_man_hours\"] &&\n `Please enter estimate man hours`\n }\n />\n\n \n\n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n \n \n { setErrors({ ...errors, last_completed: false }); }}\n\n\n />\n \n \n {\n setShowFrequency(e.target.checked)\n handleFrequency(e)\n\n }\n }\n error={errors.repeat_events}\n setError={() => resetErrorsHandler(\"repeat_events\")}\n\n />\n }\n\n label=\"Frequency based repeating event? \"\n labelPlacement=\"start\"\n name=\"repeat_events\"\n />\n \n {showFrequency &&\n \n \n setErrors((prevState) => ({\n ...prevState,\n calendar_frequency: false,\n }))\n }\n />\n \n }\n\n {\n setShow(e.target.checked)\n\n }\n }\n error={errors.camo_records}\n setError={() => resetErrorsHandler(\"camo_records\")}\n\n />\n }\n\n label=\"Operator / CAMO Part M technical records applicable each time?\"\n labelPlacement=\"start\"\n name=\"camo_records\"\n />\n\n \n Tech Data\n
\n \n setMaintFile(files)\n }\n APIUrl={\"\"}\n multiple={true}\n name={\"maintenance_file[]\"}\n action={\"Upload Document\"}\n />\n
\n
\n
\n\n \n
\n\n {\" \"}\n \n \n Event Details\n \n \n \n \n \n {\n resetErrorsHandler(e.target.name);\n\n }}\n />\n \n \n\n <>\n \n \n Sub-Fields\n \n \n \n \n Upto 10 Sub Fields can be used to capture text E.g.\n torque values, temp readings etc.\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n
\n Cancel\n \n Add\n \n
\n\n
\n
\n
\n\n
\n
\n
\n );\n}\n\nexport default CalendarActionDetails;\n","import React, { useState, useEffect, useContext } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Box, useTheme, CircularProgress, Tooltip } from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport CalendarActionDetails from \"./CalenderActionDetails\";\nimport { CalenderMaintenanceService } from \"lib/services/api/operaitons/WorkShop/Storage/CalenderMaintenanceService\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport _ from \"lodash\";\nimport EditActionInfo from \"./ActionInformation/EditActionInfo\";\nimport { formatDateFunction, formatToDateOnly, format24HrDateTime } from \"lib/utils/common_utils\";\nimport ManHousrHistory from \"../Inspection/ActionInformation/ManhoursHistory\";\nimport RescheduleIcon from \"@material-ui/icons/History\";\n\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n description: {\n borderRadius: \"5px\",\n height: \"250px\",\n fontSize: \"15px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(1),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n paper1: {\n borderRadius: \"5px\",\n width: \"100%\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(1),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n EditIcon: {\n bgcolor: \"primary\",\n color: \"#fff\",\n },\n editButton: {\n marginLeft: \"300px\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n}));\n\nfunction CalendarActionInfo(props) {\n const classes = useStyles();\n const theme = useTheme();\n const { handleClose, currentSelectedInfo, getAllActions, currentSelectedID, setSelectedRowId, getAllActionStages, currentSelection } = props;\n const [loading, setLoading] = useState(false)\n const [action, setAction] = useState(null);\n const [actionData, setActionData] = useState({});\n const [subFields, setSubFields] = useState([])\n const message = useContext(ToastMessageContext);\n const [currentManHoursSelection, setCurrentManHoursSelection] = useState({})\n\n\n const [anchorEl, setAnchorEl] = useState(null);\n const [anchorElMan, setAnchorElMan] = useState(null);\n const [busy, setBusy] = useState(null);\n const [popupData, setPopupData] = useState([]);\n // for opening history table popup\n const handleClickHistory = (event) => {\n setAnchorEl(true);\n };\n const handleClick = (event) => {\n setAnchorElMan(true);\n };\n\n // for closing history table popup\n const handleCloseFunc = () => {\n setAnchorEl(false);\n };\n const handleCloseFuncMan = () => {\n setAnchorElMan(false);\n };\n\n // console.log(\"planning varified====\", currentSelection)\n const handleCloseEdit = () => {\n if (action === \"EditCalendarInfo\") {\n setAction(null);\n }\n };\n\n const getActions = async () => {\n setLoading(true);\n\n\n await CalenderMaintenanceService.getActions(currentSelectedID)\n .then((res) => {\n if (res) {\n setActionData(res.data)\n setSubFields(res.data.sub_fields)\n\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setLoading(false);\n });\n };\n\n useEffect(() => {\n getActions()\n }, [currentSelectedID])\n\n const GetInfoCard = (props) => {\n const classes = useStyles();\n const theme = useTheme();\n\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n };\n return (\n
\n \n \n \n \n {\n handleClose()\n getAllActions()\n }}\n edge=\"start\"\n className={classes.backButton}\n color=\"inherit\"\n aria-label=\"back\"\n >\n \n \n \n Calendar Action Information\n \n \n {props?.permission.write &&\n \n setAction(\"EditCalendarInfo\")}\n style={{ display: currentSelection?.planning_verification === \"Verified\" && \"none\" }}\n />\n }\n \n \n\n
\n {loading && _.isEmpty(actionData) ? (\n \n \n \n ) : (\n <>\n \n \n Action Details\n \n \n\n \n \n
\n \n \n \n \n \n\n
\n
\n \n
\n \n \n \n \n\n \n \n \n
\n
\n \n
\n \n \n \n \n \n \n \n
\n
\n \n\n \n \n Detailed Description\n \n \n \n \n {actionData.description}\n \n \n\n \n \n Sub-Fields\n \n \n \n \n
\n \n \n \n \n \n
\n
\n \n
\n \n \n \n \n \n
\n
\n \n\n \n \n Technical Data\n \n \n ({\n filename: item?.file_name,\n url: `${item?.path}`,\n id: item?.id,\n }))\n : \"\"\n }\n showBorderOnNoFiles={true}\n APIUrl={\"\"}\n multiple={true}\n name={\"maintenance_file\"}\n action={\"Upload Document\"}\n uploadButtonView={true}\n />\n \n \n \n \n Man-Hrs\n \n \n \n \n \n Actual Man-hrs\n \n \n {actionData?.actual_man_hours || \"-\"\n }\n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* \n \n */}\n \n \n \n {\n handleClick(e);\n setCurrentManHoursSelection(currentSelection);\n }}\n className={\"text-info\"}\n >\n \n \n \n \n \n \n \n \n \n \n Closure\n \n \n \n \n
\n \n
\n
\n \n
\n \n
\n
\n \n )}\n\n\n
\n\n
\n\n {action === \"EditCalendarInfo\" &&\n\n }\n
\n );\n}\n\nexport default CalendarActionInfo;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { styled } from \"@material-ui/styles\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport {\n Box,\n Dialog,\n DialogContent,\n DialogTitle,\n IconButton,\n} from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport certificateIcon from \"assets/certificate@2x.png\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport MROButton from \"components/buttons\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\n\nconst useStyles = makeStyles((theme) => ({\n dialogPaper: {\n minHeight: \"30vh\",\n maxHeight: \"150vh\",\n },\n actionButtons: {\n paddingTop: \"5px\",\n paddingBottom: \"20px\",\n textAlign: \"right\",\n marginRight: \"20px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n}));\n\nfunction Certificate(props) {\n const { open, handleCloseDailog, selectedId, action_type, styleProp } = props;\n const classes = useStyles();\n const [boolState, setBoolState] = useState(false);\n const message = useContext(ToastMessageContext);\n const [busy, setBusy] = useState(null);\n const [actionCertificate, setActionCertificate] = useState([]);\n const [certificate, setCertificate] = useState([]);\n const [deletedStatus, setDeletedStatus] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n\n useEffect(() => {\n getActionCertificate();\n }, []);\n\n const getActionCertificate = async () => {\n setBusy(\"certificate_loading\");\n setIsLoading(true);\n await InspectionServices.getActionCertificate(selectedId)\n .then((res) => {\n setBusy(null);\n if (res) {\n setActionCertificate(res?.data);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setIsLoading(false);\n setBusy(null);\n });\n };\n\n useEffect(() => {\n if (certificate.length) {\n setDeletedStatus(false);\n }\n }, [certificate]);\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n formData.append(\"action_id\", selectedId);\n formData.append(\"action_type\", action_type);\n formData.delete(\"action_certificate[]\");\n certificate.forEach((certificateFile) =>\n formData.append(\"action_certificate[]\", certificateFile)\n );\n setBusy(\"loading\");\n if (deletedStatus !== true) {\n await InspectionServices.addCertificate(formData)\n .then(() => {\n setBusy(null);\n handleCloseDailog();\n message.showToastMessage({\n message: \"Added successfully!\",\n variant: \"success\",\n });\n setDeletedStatus(false);\n })\n .catch(() => {\n setBusy(null);\n handleCloseDailog();\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n }\n setBusy(null);\n handleCloseDailog();\n };\n\n const deleteFileHandler = async (id) => {\n setBusy(\"file-deleting\");\n try {\n const response = await MaintenanceServices.deleteFile(id);\n\n if (response.success) {\n message.showToastMessage({\n message: \"File deleted successfully\",\n variant: \"success\",\n });\n setDeletedStatus(true);\n getActionCertificate();\n }\n setBusy(null);\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"file-deleting-error\");\n }\n };\n\n return (\n
\n \n \n \n \n \n Action Certificates   \n {!boolState && props.permission.write && (\n \n setBoolState(true)}\n />\n \n )}\n \n \n \n \n {\" \"}\n \"Icon\"{\" \"}\n \n \n \n \n Upload ALL task relevant certification documents - E.g., Form1’s,\n 8130’s, C of C’s etc.\n \n \n
\n \n \n ({\n filename: item?.file_name,\n url: `${item?.path}`,\n id: item?.id,\n }))\n : \"\"\n }\n setFiles={(files) => {\n setCertificate(files);\n }}\n onDelete={boolState === false ? null : deleteFileHandler}\n showBorderOnNoFiles={true}\n name=\"action_certificate[]\"\n multiple={true}\n APIUrl={\"\"}\n action={\"Upload Document\"}\n isLoading={isLoading}\n isDeleting={busy === \"file-deleting\"}\n uploadButtonView={boolState === false}\n />\n \n \n {boolState === true && (\n
\n \n Cancel\n \n \n Complete\n \n
\n )}\n
\n \n
\n );\n}\n\nexport default Certificate;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Dialog, DialogContent, DialogTitle, Grid } from \"@material-ui/core\";\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from \"components/buttons\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& .MuiOutlinedInput-root\": {\n height:\"150px\",\n }\n },\n actionButtons: {\n textAlign: \"right\",\n marginTop: \"30px\",\n \"& button\": {\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n },\n partKey: {\n fontSize: \"16px\",\n padding: \"5px\",\n },\n partValue: {\n fontSize: \"16px\",\n color: \"#4D4F5C\",\n padding: \"5px\",\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n maxWidth: \"663px\",\n },\n },\n}));\n\nfunction ManageComment(props) {\n const classes = useStyles();\n const { handleClose, action, selectedId, currentSelection, getAllActionComments } = props;\n const message = useContext(ToastMessageContext);\n const [errors, setErrors] = useState({});\n const [busy, setBusy] = useState(null);\n const [actionComments, setActionComment] = useState([])\n\n useEffect(() => {\n if(action === \"Update\"){\n getActionComments();\n }\n }, []);\n\n const getActionComments = async () => {\n setBusy(\"get_comment\");\n await InspectionServices.getActionComments(currentSelection?.id)\n .then((res) => {\n if (res) {\n setBusy(null);\n setActionComment(res.data);\n }\n })\n .catch(() => {\n setBusy(null);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n };\n\n const handleCreate = async (formData) => {\n setBusy(\"add\");\n formData.append(\"action_id\", selectedId);\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"raised_by\", userDetails?.id);\n await InspectionServices.addComments(formData)\n .then(() => {\n setBusy(null);\n handleClose();\n getAllActionComments();\n message.showToastMessage({\n message: \"Created successfully!\",\n variant: \"success\",\n });\n })\n .catch(() => {\n setBusy(null);\n handleClose();\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n };\n\n const handleUpdateData = async (formData) => {\n setBusy(\"edit\");\n formData.append(\"action_id\", selectedId);\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"raised_by\", userDetails?.id);\n await InspectionServices.editcomments(formData, currentSelection?.id)\n .then(() => {\n setBusy(null);\n handleClose();\n getAllActionComments();\n message.showToastMessage({\n message: \"Edited successfully!\",\n variant: \"success\",\n });\n })\n .catch(() => {\n setBusy(null);\n handleClose();\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setBusy(null);\n };\n\n const validateFields = (formData) => {\n const { error, valid } = validateFormData(formData, []);\n\n if (!valid) {\n setBusy(null);\n setErrors(error);\n return;\n }\n return valid;\n };\n\n const handleSubmit = (e) => {\n setBusy(action === \"Add\" ? \"add\" : \"edit\");\n e.preventDefault();\n const formData = new FormData(e.target);\n if (!validateFields(formData)) {\n return;\n }\n\n if (action === \"Add\") {\n handleCreate(formData);\n }\n if (action === \"Update\") {\n handleUpdateData(formData);\n }\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n return (\n
\n \n \n \n Comment\n \n \n \n
\n
\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n />\n \n \n
\n \n Cancel\n \n \n {action === \"Add\" ? \"Save\" : action}\n \n
\n \n
\n
\n \n
\n );\n}\n\nexport default ManageComment;\n","import React, { useContext, useState } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Grid,\n Typography,\n} from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport BoxpDataService from \"lib/services/api/boxp_index\";\n\nconst useStyles = makeStyles(() => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"25%\",\n },\n },\n title: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n warning: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: \"16px\",\n marginBottom: \"20px\",\n },\n actionButtons: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n}));\n\nfunction DeleteData(props) {\n const classes = useStyles();\n const { handleClose, open , currentSelection, getAllActionComments} = props;\n const message = useContext(ToastMessageContext);\n const [busy, setBusy] = useState(null);\n\n\n const handleSubmit = () => {\n setBusy(\"loading\")\n BoxpDataService.boxpDeleteData(currentSelection?.id, 'deleteComment', currentSelection).then((res) => {\n if (res.success) {\n setBusy(null);\n getAllActionComments();\n handleClose(currentSelection);\n message.showToastMessage({ message: \"Comment removed successfully\", variant: \"success\" });\n }else{\n setBusy(null);\n handleClose(currentSelection);\n message.showToastMessage({ message: \"Something went wrong!!\", variant: \"error\" });\n }\n })\n}\n return (\n
\n \n \n \n Delete Item\n \n \n \n \n This cannot be undone. Are you sure?\n \n \n \n \n Cancel\n \n \n \n \n Yes\n \n \n \n \n \n
\n );\n}\n\nexport default DeleteData;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { AppBar, Box, IconButton, Toolbar } from \"@material-ui/core\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport AddBoxIcon from \"@material-ui/icons/AddBox\";\nimport ManageComment from \"./ManageComment\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport moment from \"moment\";\nimport DeleteData from \"./DeleteComments\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nconst useStyles = makeStyles((theme) => ({\n tableWrapper: {\n margin: \"3%\",\n width: \"90%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n flex: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-end\",\n marginRight: \"98px\",\n },\n}));\n\nfunction Comment(props) {\n const classes = useStyles();\n const { handleClose, selectedId, styleProp } = props;\n const message = useContext(ToastMessageContext);\n // const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const [action, setAction] = useState(null);\n const [loading, setLoading] = useState(false);\n const [page, setPage] = useState(0);\n const [totalCount, setTotalCount] = useState(5);\n const [pageSize, setPageSize] = useState(5);\n const [actionComments, setAllActionComments] = useState([]);\n const [currentSelection, setCurrentSelection] = useState({});\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n\n useEffect(() => {\n getAllActionComments();\n }, [page, pageSize]);\n\n const getAllActionComments = async () => {\n setLoading(true);\n const params = {\n action_id: selectedId,\n page: page + 1,\n limit: pageSize,\n };\n await MaintenanceServices.getAllActionComments(params)\n .then((res) => {\n if (res) {\n setAllActionComments(res.data);\n setTotalCount(res.total_count);\n }\n setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setLoading(false);\n });\n };\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: true,\n rowStyle: { height: 42 },\n };\n\n const columns = [\n {\n title: \"Comment\",\n // field: \"comment\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"30px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"30px\",\n width: \"70%\",\n },\n render: (rowData) => (\n <>\n \n {rowData?.comments}\n \n \n ),\n },\n {\n title: \"User\",\n // field: \"user_id\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n width: \"10%\",\n },\n render: (rowData) => {rowData?.raised_by_userstamp},\n },\n {\n title: \"Date/Time\",\n field: \"created_at\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n width: \"20%\",\n },\n render: (rowData) =>\n moment(rowData?.raised_date_time, \"DD/MM/YYYY HH:mm:ss\").format(\n \"DD/MM/YYYY HH:mm\"\n ),\n },\n {\n title: \"Action\",\n render: (rowData) => {\n return (\n
\n {userDetails?.stamp_number === rowData?.raised_by_userstamp ? (\n \n
\n {props.permission.write && {\n setAction(\"Update\");\n setCurrentSelection(rowData);\n }}\n fontSize=\"small\"\n >\n \n }\n
\n
\n {props.permission.write && {\n setAction(\"delete\");\n setCurrentSelection(rowData);\n }}\n fontSize=\"small\"\n >\n \n }\n
\n \n ) : (\n \"\"\n )}\n
\n );\n },\n },\n ];\n\n // console.log(\"current selection is==================\", currentSelection)\n\n return (\n
\n \n \n \n \n \n \n \n Action Comments\n \n \n \n\n
\n \n Comments\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n actions={ props?.permission.write && [\n {\n icon: () => (\n
\n \n
\n ),\n tooltip: \"Add\",\n isFreeAction: true,\n onClick: (event) => setAction(\"Add\"),\n },\n ]}\n />\n
\n
\n {action && action !== \"delete\" && (\n setAction(null)}\n currentSelection={currentSelection}\n getAllActionComments={getAllActionComments}\n />\n )}\n {action === \"delete\" && (\n setAction(null)}\n open={true}\n section={\"deleteComment\"}\n currentSelection={currentSelection}\n getAllActionComments={getAllActionComments}\n />\n )}\n
\n );\n}\n\nexport default Comment;\n","import { makeStyles } from \"@material-ui/core/styles\";\nimport {\n Grid,\n Typography,\n IconButton,\n Box,\n TextField,\n FormControl,\n Select,\n InputBase,\n Menu,\n TableRow,\n TableCell,\n TableBody,\n MenuItem,\n TableContainer,\n useTheme,\n Tooltip\n} from \"@material-ui/core\";\nimport React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport tableReducer from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport MaterialTable, { MTableToolbar } from \"material-table\";\nimport { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport ManageInspection from \"./ManageInspection\";\nimport ActionDetails from \"./ActionDetails\";\nimport ManageTask from \"./ManageTask/ManageTask\";\nimport AddIcon from \"@material-ui/icons/AddBox\";\nimport certificate from \"assets/certificate.png\";\nimport { Create as CreateIcon } from \"@material-ui/icons\";\nimport clxc from \"clsx\";\n// import { MenuItem } from \"rc-menu\";\nimport ActionInformation from \"./ActionInformation/ActionInformation\";\nimport StageInfo from \"./StageInformation/StageInfo\";\nimport MROButton from \"components/buttons\";\nimport CautionPopUp from \"../CautionPopUp\";\nimport CalendarActionDetails from \"./CalenderActionDetails\";\nimport CalendarActionInfo from \"./CalendarActionInfo\";\nimport AmberGear from \"assets/AmberGear.png\";\nimport GroupIcon from \"assets/GroupIcon.png\";\nimport greenCheckIcon from \"assets/green check.png\";\nimport HandRed from \"assets/HandRed.png\";\nimport CameraIcon from \"assets/camera.png\";\nimport commentIcon from \"assets/comment.png\";\nimport infoIcon from \"assets/info.png\";\nimport OutSourcing from \"assets/outsourcing.png\";\nimport GreenChecklist from \"assets/green_checklist.png\";\nimport AmberChecklist from \"assets/amber_checklist.png\";\nimport RedChecklist from \"assets/red_checklist.png\";\nimport GreenHandIcon from \"assets/green_hand.png\";\nimport lock from \"assets/icons/Lock.svg\";\nimport unlock from \"assets/icons/Unlock.svg\";\nimport Certificate from \"./ManageCertificate/Certificate\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport Comment from \"./ManageComments/Comment\";\nimport { InspectionServices } from \"lib/services/api/operaitons/WorkShop/Inspection/InspectionService\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport { CalenderMaintenanceService } from \"lib/services/api/operaitons/WorkShop/Storage/CalenderMaintenanceService\";\nimport { formatDateFunction } from \"lib/utils/common_utils\";\n\nimport SpecEquipIconGrey from \"assets/maint/SpecEquip/specEquipGray.png\";\nimport SpecEquipIconAmber from \"assets/maint/SpecEquip/specEquipIconAmber.png\";\nimport SpecEquipIconRed from \"assets/maint/SpecEquip/specEquipIconRed.png\";\nimport SpecEquipIconGreen from \"assets/maint/SpecEquip/specEquipIconGreen.png\";\n\nimport ServicesIconAmber from \"assets/maint/Services/servicesIconAmber.png\";\nimport ServicesIconGray from \"assets/maint/Services/services_icon_grey.png\";\nimport ServicesIconRed from \"assets/maint/Services/servicesIconRed.png\";\nimport ServiceIconGreen from \"assets/maint/Services/ServicesIconGreen.png/\";\nimport ViewHeadlineIcon from '@material-ui/icons/ViewHeadline';\nimport PartsIconGrey from \"assets/maint/Parts/partsIconGray.png\";\nimport PartsIconGreen from \"assets/maint/Parts/partsIconGreen.png\";\nimport PartsIconRed from \"assets/maint/Parts/partsIconRed.png\";\nimport PartsIconAmber from \"assets/maint/Parts/partsIconAmber.png\";\nimport GearGreen from 'assets/gear-green.svg'\nimport GearRed from 'assets/gear-red.svg'\nimport { alpha } from \"@material-ui/core\";\nimport ReorderAction from \"../Inspection/ReorderAction\";\nimport ReorderStages from \"../Inspection/ReorderStages\";\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n width: \"85%\",\n margin: \"1% 3%\",\n },\n tableCell: {\n display: \"flex\",\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n stockBtn: {\n minWidth: \"70px\",\n height: \"30px\",\n borderColor: \"#4D4F5C\",\n borderRadius: \"7px\",\n maxWidth: \"78px\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n secondPaper: {\n height: \"auto\",\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n paddingBottom: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n input1: {\n height: \"20px\",\n },\n head: {\n marginTop: \"20px\",\n marginBottom: \"10px\",\n fontSize: \"17px\",\n },\n flex: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-end\",\n margin: \"5px 38px\",\n },\n viewOnlyField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n svg: {\n filter: \"invert(1)\",\n height: 18,\n marginBottom: 2,\n },\n}));\n\nfunction Item(props) {\n const { sx, ...other } = props;\n return (\n \n );\n}\n\nfunction CallMaint(props) {\n const classes = useStyles();\n const {\n actions,\n tabId,\n workshop_id,\n currentDataSelection,\n action_type_Insp,\n actionTypeMaintenance,\n action_type_cal,\n action_type_prod,\n readOnly,\n readAndWrite,\n orderStateNum,\n tabStatus,\n tabDetails\n } = props;\n const message = useContext(ToastMessageContext);\n const theme = useTheme();\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n // const { data, page, pageSize, totalCount, inProgress } = tableState;\n const { colorStatus, setColorStatus } = useContext(WorkshopContext);\n const [action, setAction] = useState(false);\n const [open, setOpen] = useState(false);\n const [pages, setPages] = useState(0);\n const [totalCounts, setTotalCounts] = useState(5);\n const [pageSizes, setPageSizes] = useState(10);\n const [page, setPage] = useState(0);\n const [totalCount, setTotalCount] = useState(5);\n const [pageSize, setPageSize] = useState(5);\n const [openMenu, setOpenMenu] = useState(false);\n const [actionState, setActionState] = useState(null);\n const [anchorEl, setAnchorEl] = useState(null);\n const [editTab, setEditTab] = useState(false);\n const [selected, setSelected] = useState(false);\n const [loading, setLoading] = useState(false);\n const [selectedRowId, setSelectedRowId] = useState(null);\n const [allActions, setAllActions] = useState([]);\n const [currentSelection, setCurrentSelection] = useState({});\n const [currentSelectedInfo, setCurrentSelectedInfo] = useState({});\n const [infoSelectedId, setInfoSelectedId] = useState(null);\n const [isGettingDetails, setIsGettingDetails] = useState(false);\n const [actionStages, setActionStages] = useState([]);\n const [status, setStatus] = useState(null);\n const [selectedStages, setSelectedStages] = useState({});\n const [access, setAccess] = useState({ read: false, write: true });\n const [state, setState] = useState(\"\");\n\n let calSection = orderStateNum > 7 && orderStateNum <= 8 && tabStatus === true\n useEffect(() => {\n if (readOnly) {\n setAccess({ read: true, write: false });\n return;\n }\n\n if (readAndWrite) {\n setAccess({ read: false, write: true });\n return;\n }\n }, [readAndWrite, readOnly]);\n\n let action_type =\n actions === \"Maintenance\"\n ? actionTypeMaintenance\n : actions === \"Calender\"\n ? action_type_cal\n : action_type_Insp;\n\n useEffect(() => {\n if (currentSelection?.id) getAllActionStages();\n }, [currentSelection?.id, page, pageSize, status]);\n\n const getAllActionStages = async () => {\n setIsGettingDetails(true);\n const params = {\n workshop_action_id: currentSelection?.id,\n // search: debouncedVal,\n };\n await CalenderMaintenanceService.getAllActionStages(params)\n .then((res) => {\n if (res) {\n setActionStages(res.data);\n setTotalCount(res.total_count);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setIsGettingDetails(false);\n });\n };\n\n useEffect(() => {\n getAllActions();\n }, [pages, pageSizes, selectedRowId]);\n\n const getAllActions = async () => {\n setLoading(true);\n // console.log(\"getAllActions=========\", workshop_id)\n const params = {\n action_type: actions,\n page: pages + 1,\n show_closed_action: true,\n limit: pageSizes,\n workshop_order_id: workshop_id,\n };\n await CalenderMaintenanceService.getAllActions(params)\n .then((res) => {\n if (res) {\n setAllActions(res.data);\n res.data.map((item) => {\n if (selectedRowId === item.id) {\n setColorStatus(item.planning_verification);\n setState(item.status_color)\n }\n });\n setTotalCounts(res.total_count);\n }\n setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setLoading(false);\n });\n };\n\n const handleTab = () => {\n setEditTab(!editTab);\n setAction(\"unlock\");\n };\n const handleClickOpen = () => {\n setAction(\"camera\");\n setOpen(true);\n };\n\n const handleClickMsg = () => {\n setAction(\"msg\");\n setOpen(true);\n };\n const handleClickCertificate = () => {\n setAction(\"certificate\");\n setOpen(true);\n };\n\n const handleInfo = () => {\n setAction(\"infoCalendar\");\n setOpen(true);\n };\n\n const handleClick = (event) => {\n setOpenMenu(true);\n setAnchorEl(event.currentTarget);\n };\n\n const handleCloseMenu = () => {\n setOpenMenu(false);\n };\n\n const onRowClick = (event, rowData) => {\n setInfoSelectedId(rowData?.id);\n setCurrentSelection(rowData);\n setSelectedRowId(rowData.id);\n if (rowData.id === selectedRowId) {\n setSelected(true);\n setSelectedRowId(rowData.id);\n } else {\n setSelected(true);\n setSelectedRowId(rowData.id);\n }\n };\n const closureMessage = [\n {\n id: 1,\n name: \"Opening this tab will undo closure certification!\",\n },\n {\n id: 2,\n name: \"The Order State will be taken backward to this tab stage!\",\n },\n {\n id: 3,\n name: \"The tab will need to be closed again by a certifier in the APP!\",\n },\n ];\n const ITEM_HEIGHT = 48;\n\n const tableOptions = {\n ...options,\n page: pages,\n total: totalCounts,\n pageSize: pageSizes,\n search: false,\n toolbar: true,\n rowStyle: { height: 42 },\n };\n const tableOptions2 = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: true,\n rowStyle: { height: 42 },\n };\n\n const columns = [\n {\n title: \"Action #\",\n field: \"action_number\",\n width: \"5%\",\n },\n {\n title: \"Title\",\n field: \"title\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"30%\",\n },\n },\n {\n title: \"State\",\n field: \"state\",\n render: (rowData) => {\n if (rowData?.status_color === \"amber\") {\n return (\n \n {\" \"}\n \"Icon\"{\" \"}\n \n );\n } else if (rowData?.status_color === \"green\") {\n return (\n \n {\" \"}\n {\" \"}\n \n );\n } else if (rowData?.status_color === \"red\") {\n return (\n \n {\" \"}\n {\" \"}\n \n );\n } else {\n return (\n \n {\" \"}\n {\" \"}\n \n );\n }\n },\n },\n {\n title: \"Status\",\n field: \"status\",\n render: (rowData) => {\n return (\n \n {\" \"}\n {rowData?.planning_verification !== null && (\n \n {/* \"Icon\"{\" \"} */}\n {\" \"}\n {\" \"}\n {/* {\" \"} */}\n {\" \"}\n {\" \"}\n\n\n \n )}\n \n );\n },\n },\n {\n title: \"Due in (days) \",\n // field: \"due_in_days\",\n render: (rowData) => rowData.due_in_days ? (\n
\n {rowData.due_in_days <= 2 && {rowData.due_in_days}}\n\n {rowData.due_in_days > 10 && {rowData.due_in_days}}\n {rowData.due_in_days > 2 && rowData.due_in_days <= 10 && {rowData.due_in_days}}\n
\n ) :
{rowData.due_in_days == 0 && {rowData.due_in_days}}
\n\n },\n {\n title: \"Frequency\",\n field: \"frequency\",\n },\n {\n title: \"Events\",\n field: \"event\",\n },\n {\n title: \"Info\",\n field: \"act_man_hrs\",\n render: (rowData) => (\n onRowClick(null, rowData)}\n >\n {\n setCurrentSelectedInfo(rowData)\n // console.log(\"setCurrentSelectedInfo======\", rowData)\n setAction(\"info\")\n }}\n />\n \n ),\n },\n {\n title: \"Action\",\n render: (rowData) => renderButton(rowData),\n },\n ];\n\n const columnsData = [\n {\n title: \"Event\",\n field: \"stage_position\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n // padding: \"10px 5px\",\n }\n },\n {\n title: \"Title\",\n field: \"stage_name\",\n width: \"30%\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n width: \"30%\",\n // padding: \"10px 5px\",\n },\n },\n {\n title: \"Due\",\n field: \"due\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n\n // textAlign: \"left\",\n },\n render: rowData => {\n if (rowData?.due !== null) {\n return formatDateFunction(rowData?.due)\n } else {\n return \"-\"\n }\n }\n\n },\n {\n title: \"Completed\",\n field: \"completed\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n render: rowData => {\n if (rowData?.completed !== null) {\n return formatDateFunction(rowData?.completed)\n } else {\n return \"-\"\n }\n }\n },\n {\n title: \"Comp At (days)\",\n field: \"completed_at\",\n headerStyle: {\n textAlign: \"left\",\n width: \"171px\"\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) =>
0 ? \"#FF0202\" : rowData.completed_at <= 0 ? \"#4FC605\" : \"\" }}>{rowData.completed_at ? rowData.completed_at : \"-\"}
\n\n },\n {\n title: \"Mech\",\n field: \"mech_userstamp\",\n headerStyle: {\n // textAlign: \"left\",\n },\n cellStyle: {\n // padding: \"10px 5px\",\n },\n render: (rowData) =>
{rowData.mech_userstamp ? rowData.mech_userstamp : \"-\"}
\n },\n {\n title: \"Insp\",\n field: \"insp_userstamp\",\n headerStyle: {\n textAlign: \"center\",\n },\n render: (rowData) =>
{rowData.insp_userstamp ? rowData.insp_userstamp : \"-\"}
\n },\n {\n title: \"Closed\",\n field: \"closed_date_time\",\n headerStyle: {\n textAlign: \"center\",\n },\n render: rowData => {\n if (rowData?.closed_date_time !== null) {\n return formatDateFunction(rowData?.closed_date_time)\n } else {\n return \"-\"\n }\n }\n },\n {\n title: \"Action\",\n render: (rowData) => (\n
\n \n {\n setSelectedStages(rowData);\n setAction(\"view\");\n }}\n />\n \n
\n ),\n },\n ];\n\n const renderButton = (rowData) => {\n // setCurrentSelection(rowData)\n let ButtonColor, buttonText;\n if (\n (rowData?.id === infoSelectedId && actionState === \"Verified\") ||\n rowData?.planning_verification === \"Verified\"\n ) {\n setActionState(null);\n ButtonColor = \"button-positive\";\n buttonText = \"VERIFIED\";\n } else if (\n (rowData?.id === infoSelectedId && actionState === \"Not Verified\") ||\n rowData?.planning_verification === \"Not Verified\" ||\n rowData?.planning_verification === null\n ) {\n setActionState(null);\n ButtonColor = \"button-warning\";\n buttonText = \"VERIFY\";\n } else if (\n (rowData?.id === infoSelectedId && actionState === \"Rejected\") ||\n rowData?.planning_verification === \"Rejected\"\n ) {\n setActionState(null);\n ButtonColor = \"button-negative\";\n buttonText = \"REJECTED\";\n }\n return (\n
\n handleClick(e)}\n >\n {\n \n {buttonText}\n \n }\n \n \n
\n );\n };\n\n const options1 = [\"Verify\", \"Unverify\"];\n\n const handleOption = (option) => {\n if (option === \"Verify\") {\n setActionState(\"Verified\");\n setOpenMenu(false);\n } else if (option === \"Unverify\") {\n setActionState(\"Not Verified\");\n setOpenMenu(false);\n }\n // else if (option === \"Reject\") {\n // setActionState(\"Rejected\");\n // setOpenMenu(false);\n // }\n };\n\n\n /*This is handleClose function */\n const handleClose = () => {\n setAction(null);\n };\n\n useEffect(() => {\n updateVerification();\n }, [actionState]);\n\n const updateVerification = async (e) => {\n if (actionState) {\n const formData = new FormData();\n formData.append(\"action_id\", currentSelection?.id);\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"verified_by\", userDetails?.id);\n formData.append(\"planning_verification\", actionState);\n await InspectionServices.updateActionVerification(\n formData,\n currentSelection?.id\n )\n .then((res) => {\n if (res) {\n getAllActions();\n setSelectedRowId(null)\n message.showToastMessage({\n message: \"Updated successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n // setBusy(null);\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n // setBusy(null);\n }\n };\n\n // if (isGettingDetails) {\n // return (\n // \n // \n // \n // );\n // }\n\n return (\n
\n \n {`${actions} Actions`}\n \n {\n setAction(\"reorder\")\n }} />
}\n isLoading={loading}\n columns={columns}\n data={allActions || []}\n options={{\n ...tableOptions,\n rowStyle: (rowData) => ({\n backgroundColor:\n selected && rowData.id === selectedRowId\n ? alpha(theme.palette.primary.main, 0.15)\n : \"#fff\",\n }),\n }}\n localization={{\n body: {\n emptyDataSourceMessage: \"No Records Found\",\n },\n }}\n onChangePage={(page) => {\n setPages(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSizes(pageSize);\n }}\n onRowClick={onRowClick}\n totalCount={totalCounts}\n page={pages}\n actions={props?.permission.write && [\n {\n icon: () => (\n
\n \n
\n ),\n tooltip: \"Add\",\n isFreeAction: true,\n onClick: () =>\n setAction(\"createCalendar\"),\n },\n ]}\n />\n {openMenu && (\n \n {options1.map((option) => (\n {\n handleOption(option);\n }}\n >\n {option}\n \n ))}\n \n )}\n\n {selectedRowId !== null && (\n
\n \n Selected Action\n \n \n \n
\n \n \n \n {currentSelection?.action_number || \"\"}\n \n    {currentSelection?.title || \"\"}\n \n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n handleClickOpen(\"\")}>\n \n {\" \"}\n {\" \"}\n \n \n \n \n handleClickCertificate(\"\")}>\n \n {\" \"}\n {\" \"}\n \n \n \n \n handleClickMsg(\"\")}>\n \n {\" \"}\n {\" \"}\n \n \n \n \n handleInfo(\"\")}>\n \n {\" \"}\n {\" \"}\n \n \n \n
\n \n\n \n {\n setAction(\"reorder_stages\")\n }} />
}\n columns={columnsData}\n data={actionStages || []}\n options={tableOptions2}\n localization={{\n body: {\n emptyDataSourceMessage: \"No Records Found\",\n },\n }}\n onChangePage={(page) => {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n detailPanel={(rowData) =>\n !rowData?.stage_fields?.length ? (\n \n \n No sub fields found\n \n \n ) : (\n \n {\" \"}\n {/* \n \n Sub Fields\n Fields Data\n \n */}\n \n {rowData?.stage_fields?.map((item, index) => (\n \n \n \n \n {index + 1}\n \n \n {item?.field_name}\n \n \n {item?.field_data}\n
\n
\n \n \n \n ))}\n \n \n )\n }\n components={{\n Toolbar: (props) => (\n \n \n \n ),\n }}\n />\n \n \n \n )}\n\n {action === \"view\" && }\n {action === \"createCalendar\" && (\n \n )}\n {action === \"camera\" && (\n setAction(null)}\n open={open}\n action_type={\"Calendar\"}\n selectedId={currentSelection?.id}\n permission={props?.permission}\n />\n )}\n {action === \"msg\" && (\n \n )}\n {action === \"certificate\" && (\n setAction(null)}\n selectedId={currentSelection?.id}\n action_type={\"Calendar\"}\n open={open}\n permission={props?.permission}\n />\n )}\n {(action === \"info\" || action === \"infoCalendar\") && (\n \n )}\n {action === \"viewAction\" && (\n \n )}\n {\n\n (orderStateNum > 7 && orderStateNum <= 8 && tabStatus === true && (\n \n }\n >\n {editTab ? \"Open\" : \"Unlock\"}\n \n \n ))\n }\n {\n action === \"unlock\" && (\n setAction(null)}\n getAllActionStages={getAllActionStages}\n workshop_id={workshop_id}\n action_type={\"Calendar\"}\n tab={\"calendar\"}\n getWorkshopOrderDetails={props.getWorkshopOrderDetails}\n getMaintenanceOrderList={props.getMaintenanceOrderList} />\n )\n }\n {action === \"reorder\" && setAction(null)} workshop_id={workshop_id} action_type={\"Calendar\"} getListing={getAllActions} />}\n {action === \"reorder_stages\" && setAction(null)} workshop_id={workshop_id} action_type={action_type} getListing={getAllActionStages} selectedId={currentSelection?.id} />}\n\n \n );\n}\n\nexport default CallMaint;\n","import { Typography, Grid } from \"@material-ui/core\";\nimport React, { useContext, useEffect, useState } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { styled } from \"@material-ui/styles\";\nimport { Paper } from \"@material-ui/core\";\nimport tableIcons from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { useReducer } from \"react\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport greenCheckIcon from \"assets/green check.png\";\nimport TableAction from \"actions/table_actions\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"2%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n main: {\n marginRight: theme.spacing(2),\n },\n generalDetail: {\n backgroundColor: theme.palette.primary.main,\n padding: \"2%\",\n color: \"#fff\",\n borderRadius: \"5px 5px 0 0\",\n },\n content: {\n backgroundColor: \"#fff\",\n padding: \"3% 6%\",\n borderRadius: \"0 0 5px 5px\",\n minHeight: \"fit-content\",\n },\n titleTile: {\n padding: \"3px 20px\",\n fontSize: \"13px\",\n fontWeight: 500,\n marginBottom: \"20px\",\n },\n inputField: {\n maxWidth: \"328px\",\n },\n actionButtons: {\n textAlign: \"right\",\n marginTop: \"30px\",\n \"& button\": {\n // marginRight: \"20px\",\n },\n },\n input1: {\n height: 200,\n padding: 20,\n },\n}));\n\nconst Item = styled(Paper)(({ theme }) => ({\n ...theme.typography.body2,\n padding: theme.spacing(2),\n textAlign: \"center\",\n color: theme.palette.text.secondary,\n}));\n\nfunction ApprovedPosition(props) {\n // const classes = useStyles();\n const { approvedPosition } = props;\n const { setTatCount } = useContext(WorkshopContext)\n // const {message} = useContext(ToastMessageContext)\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, options, data } = tableState;\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n paging: false,\n rowStyle: { height: 42 },\n headerStyle:{\n height:\"42px\"\n }\n };\n\n const handleTatCount = (rowData) =>{\n setTatCount(rowData?.tat_days_count)\n return ({rowData?.tat_days_count})\n }\n\n const columns = [\n {\n title: \"Approval\",\n field: \"approval_number\",\n headerStyle: {\n paddingLeft: \"22px\",\n },\n cellStyle: {\n width: \"40%\",\n paddingLeft: \"22px\",\n },\n render: (rowData) => rowData?.approval_number === 0 ? \"Quote\" : rowData?.approval_number\n },\n {\n title: \"Acceptance\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: () => {\n return (\n
\n \n
\n );\n },\n },\n {\n title: \"TAT\",\n field: \"tat_days_count\" || \"0.00\",\n render: (rowData) => handleTatCount(rowData)\n },\n {\n title: \"Labour\",\n field: \"labour_value\" || \"0.00\" ,\n render: (rowData) => rowData.labour_value != null ? rowData.labour_value : \"0.00\"\n },\n {\n title: \"Parts\",\n field: \"parts_value\" || \"0.00\",\n render: (rowData) => rowData.parts_value != null ? rowData.parts_value : \"0.00\"\n },\n {\n title: \"Services\",\n field: \"service_value\" || \"0.00\",\n render: (rowData) => rowData.service_value != null ? rowData.service_value : \"0.00\"\n },\n {\n title: \"Equipment\",\n field: \"equipment_value\" || \"0.00\",\n render: (rowData) => rowData.equipment_value != null ? rowData.equipment_value : \"0.00\"\n },\n {\n title: \"AOG Fee\",\n field: \"aog_fee\" || \"0.00\",\n render: (rowData) => rowData.aog_fee != null ? rowData.aog_fee : \"0.00\"\n },\n {\n title: \"Total\",\n field: \"total\" || \"0.00\",\n render: (rowData) => rowData.total != null ? rowData.total : \"0.00\"\n },\n ];\n\n return (\n
\n \n \n Approved Position\n \n \n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No History found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n onRowClick={(row) => {}}\n />\n
\n );\n}\n\nexport default ApprovedPosition;\n","import { Typography, Grid } from \"@material-ui/core\";\nimport React, { useContext, useEffect } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { styled } from \"@material-ui/styles\";\nimport { Paper } from \"@material-ui/core\";\nimport tableIcons from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { useReducer } from \"react\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport TableAction from \"actions/table_actions\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\n\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"2%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n main: {\n marginRight: theme.spacing(2),\n },\n generalDetail: {\n backgroundColor: theme.palette.primary.main,\n padding: \"2%\",\n color: \"#fff\",\n borderRadius: \"5px 5px 0 0\",\n },\n content: {\n backgroundColor: \"#fff\",\n padding: \"3% 6%\",\n borderRadius: \"0 0 5px 5px\",\n minHeight: \"fit-content\",\n },\n titleTile: {\n padding: \"3px 20px\",\n fontSize: \"13px\",\n fontWeight: 500,\n marginBottom: \"20px\",\n },\n inputField: {\n maxWidth: \"328px\",\n },\n actionButtons: {\n textAlign: \"right\",\n marginTop: \"30px\",\n \"& button\": {\n // marginRight: \"20px\",\n },\n },\n input1: {\n height: 200,\n padding: 20,\n },\n noteText: {\n color: theme.palette.primary.main,\n paddingLeft: \"10px\", fontStyle: \"italic\", fontSize: \"15px\"\n }\n}));\n\n\nfunction CurrentLivePosition(props) {\n const classes = useStyles();\n\n const { tatCount } = useContext(WorkshopContext)\n const { totalRow, tatDays } = props;\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, options } = tableState;\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n paging: false,\n rowStyle: { height: 42 },\n };\n const data = [{}];\n const total = parseFloat(totalRow.total_estimate_charge) + parseFloat(totalRow?.parts) + parseFloat(totalRow?.services) + parseFloat(totalRow?.equipment) + parseFloat(totalRow?.aog_fee)\n\n\n const column = [\n {\n title: \"Current Position\",\n field: \"current_position\",\n headerStyle: {\n paddingLeft: '22px'\n },\n cellStyle: {\n width: \"40%\",\n paddingLeft: \"22px\"\n },\n render: () => <>Live\n },\n {\n title: \"TAT\",\n field: \"tat\",\n render: () => <>{totalRow?.tat_days}\n },\n {\n title: \"Labour *\",\n field: \"labour\",\n render: () => <>{totalRow.total_estimate_charge}\n },\n {\n title: \"Parts\",\n field: \"parts\",\n render: () => <>{totalRow?.parts}\n },\n {\n title: \"Services\",\n field: \"services\",\n render: () => <>{totalRow?.services}\n },\n {\n title: \"Equipment\",\n field: \"equipment\",\n render: () => <>{totalRow?.equipment}\n },\n {\n title: \"AOG Fee\",\n field: \"aog_fee\",\n render: () => <>{totalRow?.aog_fee}\n },\n {\n title: \"Total\",\n field: \"total\",\n render: () => <>{total.toFixed(2)}\n },\n ];\n\n return (\n
\n \n \n Current Live Position\n \n \n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No History found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n onRowClick={(row) => { }}\n />\n \n * Labour figure shown in the table is calculated from the estimate hours from each action. The ACTUAL bookings currently equate to:\n {totalRow?.labour} \n \n
\n );\n}\n\nexport default CurrentLivePosition;\n","import {\n Box,\n Dialog,\n DialogTitle,\n DialogContent,\n Typography,\n Grid,\n} from \"@material-ui/core\";\nimport React, { useContext, useEffect, useState } from \"react\";\nimport MROButton from \"components/buttons\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport exclamationIcon from \"assets/exclamation.png\"\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport LoadingIndicator from \"components/universal/loading_indicator\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport { useCallback } from \"react\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n backgroundColor: theme.palette.primary.main,\n border: `1px solid ${theme.palette.primary.main}`,\n margin: \"1% 0\",\n display: \"flex\",\n \"& button\": {\n marginRight: theme.spacing(2),\n width: \"200px\",\n \"& .MuiButton-label\": {\n justifyContent: \"space-between\",\n width: \"150px\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n },\n },\n },\n input: {\n color: \"#fff\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n head: {\n marginTop: \"20px\",\n marginBottom: \"10px\",\n },\n error: {\n borderColor: \"red\",\n },\n svg: {\n filter: \"invert(1)\",\n height: 18,\n marginBottom: 2,\n },\n disableSwitch: {\n pointerEvents: \"none\",\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n message: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n margin: theme.spacing(1)\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"563px\",\n },\n },\n}));\n\nfunction CreateApprovaCaution(props) {\n const classes = useStyles();\n const { open, handleClose, popupValues, setAcceptAll, acceptAll, handleSubmit, onClose, planningVerfication } = props\n\n\n const handlePopUp = (e) => {\n handleClose()\n handleSubmit(e)\n }\n return (\n
\n \n \n \n \n \n Caution\n \n \n \n {\" \"}\n {\" \"}\n \n \n \n\n\n\n \n {planningVerfication.length > 0 &&\n
\n    At least one Action has NOT been Verified!\n
}\n {/* 1content */}\n
\n   You are about to submit the following figures directly to the customer:\n
\n\n \n \n \n \n TAT\n \n \n\n {popupValues?.tat_days}\n \n \n \n \n \n Labour\n \n \n {popupValues?.labour_value}\n\n \n\n \n \n \n \n Parts\n \n \n {popupValues?.parts_value}\n \n\n \n \n \n \n Services\n \n \n {popupValues?.service_value}\n \n \n \n \n \n Equipment\n \n \n {popupValues?.equipment_value}\n \n \n \n\n \n \n AOG Fee\n \n \n {popupValues?.aog_fee}\n \n \n \n \n \n Total\n \n \n {popupValues?.total ? parseFloat(popupValues?.total).toFixed(2) : ''}\n \n\n \n\n \n\n\n\n\n \n Accept all\n    \n {\n setAcceptAll(!acceptAll);\n }}\n />\n \n\n\n \n \n Cancel\n \n {\n acceptAll && handlePopUp(e);\n\n }}\n name=\"complete1\"\n >\n Complete\n \n \n\n
\n\n\n\n \n\n\n
\n )\n}\n\nexport default CreateApprovaCaution","import {\n AppBar,\n IconButton,\n Toolbar,\n Typography,\n Grid,\n Box,\n FormControlLabel,\n} from \"@material-ui/core\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport React, { useContext, useEffect, useMemo } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport ApprovedPosition from \"./ApprovedPosition\";\nimport CurrentLivePosition from \"./CurrentLivePosition\";\nimport { useState } from \"react\";\nimport MROTextField from \"components/form_components/TextField\";\nimport { ToggleButton, ToggleButtonGroup } from \"@material-ui/lab\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport MROButton from \"components/buttons\";\nimport YesNoField from \"components/form_components/YesNoField\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { CommercialServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/commercial\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport MessagePopup from \"components/universal/messagePopup\";\nimport CreateApprovaCaution from \"./CreateApprovaCaution\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n}));\n\nfunction ApprovalManage(props) {\n const classes = useStyles();\n const {\n handleClose,\n currentSelectedOrder,\n getApprovedPosition,\n currentPositionData,\n totalRow,\n tatDays,\n approvedPosition\n } = props;\n const { setApprovalStateCommercial, approvalStateCommercial } = useContext(WorkshopContext);\n const message = useContext(ToastMessageContext);\n const [value, setValue] = useState(null);\n const [busy, setBusy] = useState(null);\n const [sum, setSum] = useState(null);\n const [report, setReport] = useState(true);\n const [errors, setErrors] = useState({});\n const [messagePopup, setMessagePopup] = useState(false)\n const [revisedtotal, setRevisedTotal] = useState(null)\n const [input, setInput] = useState({\n tat_days: \"\",\n labour_value: \"\",\n parts_value: \"\",\n service_value: \"\",\n equipment_value: \"\",\n aog_fee: \"\",\n });\n\n const [confirmationPopup, setConfirmationPopup] = useState(false)\n const [acceptAll, setAcceptAll] = useState(false)\n const [popupValues, setPopUpValues] = useState({})\n const [formvalues, setFormvalues] = useState({})\n // console.log(\"current position is===================\", currentPositionData)\n\n useMemo(\n () =>\n setSum(\n +input.labour_value +\n +input.parts_value +\n +input.service_value +\n +input.equipment_value +\n +input.aog_fee\n ),\n [input]\n );\n useMemo(\n () =>\n setRevisedTotal(\n +input.labour_value +\n +input.parts_value +\n +input.service_value +\n +input.equipment_value\n ),\n [input]\n );\n useEffect(() => {\n if (currentPositionData !== null) {\n let datas = currentPositionData?.map(data => {\n setInput({\n tat_days: +data?.tat_days || \"0\",\n labour_value: +data?.total_estimate_charge || \"0\",\n parts_value: +data?.parts || \"0\",\n service_value: +data?.services || \"0\",\n equipment_value: +data?.equipment || \"0\",\n aog_fee: +data?.aog_fee || \"0\",\n });\n })\n }\n }, [currentPositionData, value])\n\n const handleToggle = (value) => {\n if (value) {\n setValue(value);\n }\n };\n //handle input change\n const handleInput = function (e) {\n const { value } = e.target;\n if (value.match(/\\./g)) {\n const [, decimal] = value.split(\".\");\n\n // restrict value to only 2 decimal places\n if (decimal?.length > 2) {\n // do nothing\n return;\n }\n }\n setInput({\n ...input,\n [e.target.name]: e.target.value,\n });\n };\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n useEffect(() => {\n setValue(\"yes\");\n }, []);\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const { error, valid } = validateFormData(formData, [\"send_report_to_customer\"]);\n if (!valid) {\n setBusy(null);\n setErrors(error);\n return;\n }\n setBusy(\"loading\");\n\n formData.delete(\"tat_days\")\n formData.delete(\"labour_value\")\n formData.delete(\"parts_value\")\n formData.delete(\"service_value\")\n formData.delete(\"equipment_value\")\n formData.delete(\"aog_fee\")\n formData.delete(\"total\")\n formData.append(\"tat_days\", input.tat_days)\n formData.append(\"labour_value\", input.labour_value || \"\")\n formData.append(\"parts_value\", input.parts_value || \"\")\n formData.append(\"service_value\", input.service_value || \"\")\n formData.append(\"equipment_value\", input.equipment_value || \"\")\n formData.append(\"aog_fee\", input.aog_fee || \"\")\n formData.append(\"total\", parseFloat(revisedtotal).toFixed(2) || \"\")\n formData.append(\"workshop_order_id\", currentSelectedOrder?.id);\n formData.delete(\"send_report_to_customer\");\n formData.append(\"send_report_to_customer\", report);\n\n\n setPopUpValues({\n tat_days: input.tat_days,\n labour_value: input.labour_value,\n parts_value: input.parts_value,\n service_value: input.service_value,\n equipment_value: input.equipment_value,\n aog_fee: input.aog_fee,\n total: sum\n })\n\n if (valid) {\n\n setConfirmationPopup(true)\n setFormvalues(formData)\n\n }\n\n\n\n };\n // console.log(\"formValues==\", formvalues)\n\n const handlePopUp = async (e) => {\n setMessagePopup(true)\n\n await CommercialServices.createNewApproval(formvalues)\n .then((res) => {\n if (res) {\n handleClose(res.success);\n setApprovalStateCommercial(res.success);\n getApprovedPosition();\n message.showToastMessage({\n message: \"created successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setBusy(null);\n setMessagePopup(false)\n });\n\n }\n\n return (\n
\n \n \n \n \n \n \n \n Create New Customer Approval\n \n \n \n\n \n \n
\n
\n \n Approval Submission\n \n \n \n {\n resetErrorsHandler(\"submit_live_pos\");\n }}\n />\n \n \n {value === \"no\" && (\n
\n \n Revise figures as required\n \n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n \n \n \n \n    \n \n Amended Sum Charges are reflected in the report summary,\n however, are not reflected in the itemised breakdown!\n \n \n
\n )}\n \n {\n resetErrorsHandler(e.target.name);\n }}\n placeholder={\n \"Amendment Comments - add comments you wish to appear on your commercial report summary - Max 250 Characters\"\n }\n InputLabelProps={{ shrink: true }}\n >\n\n {/* */}\n {\n setReport(!report);\n }}\n />\n }\n label={\n \n Send report to Customer ?\n \n }\n labelPlacement=\"start\"\n name={\"send_report_to_customer\"}\n />\n \n
\n
\n \n Complete\n \n
\n
\n {confirmationPopup && {\n setConfirmationPopup(false)\n\n }}\n\n onClose={() => {\n setConfirmationPopup(false)\n setAcceptAll(false)\n }}\n open={confirmationPopup}\n popupValues={popupValues}\n setAcceptAll={setAcceptAll}\n acceptAll={acceptAll}\n\n handleSubmit={handlePopUp}\n />}\n {messagePopup &&\n setMessagePopup(false)}\n open={messagePopup}\n topTitle={\"The Commercial Reports for the job are being prepared\"}\n bottomTitle={\"Please be patient, this will take a few moments\"}\n />}\n
\n
\n );\n}\n\nexport default ApprovalManage;\n","import React, { useContext, useEffect, useState } from 'react'\nimport { CircularProgress, Dialog, DialogContent, DialogTitle, Typography, makeStyles } from '@material-ui/core'\nimport MROButton from 'components/buttons'\nimport { CommercialServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/commercial'\nimport { ToastMessageContext } from 'lib/contexts/message_context'\n\n\n\nconst useStyles = makeStyles((theme) => ({\n dialog: {\n \"& .MuiDialog-paperWidthMd\": {\n boxShadow: \"0px 3px 6px #00000029\",\n // position: \"absolute\",\n // left: \"calc(50% - 250px)\",\n width: '58%',\n height: '188px',\n borderRadius: '5px'\n }\n },\n dialogTitle: {\n color: theme.palette.primary.main,\n fontSize: '18px',\n textAlign: 'center'\n }\n\n}))\n\nfunction CustomerSupply(props) {\n const classes = useStyles()\n const { handleClose, selectedParts, getListItems, getActionBreakdown } = props\n // console.log(\"selectedParts===== \", selectedParts)\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n\n const handleComplete = async () => {\n setLoading(true)\n const params = {\n part_request_id: selectedParts?.id,\n customer_supply: selectedParts.customer_supply === false ? true : false\n }\n await CommercialServices.updateCustomerSupply(params).then((res) => {\n handleClose()\n getActionBreakdown()\n getListItems()\n\n message.showToastMessage({\n message: \"Updated Successfully !\",\n variant: \"success\",\n });\n }).catch(() => {\n handleClose()\n getActionBreakdown()\n getListItems()\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n return (\n
\n\n Change Customer Supply \n \n\n Are you sure you want to change the 'Customer Supply' state? This will impact the part/s values on the job.\n
\n
\n \n Cancel\n \n \n Confirm\n \n
\n
\n\n \n
\n )\n}\n\nexport default CustomerSupply","import React, { useReducer, useContext, useEffect, useState } from \"react\";\nimport MaterialTable from \"material-table\";\nimport tableReducer from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { CommercialServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/commercial\";\nimport { formatDateWithHrMin } from \"lib/utils/common_utils\";\nimport { IconButton } from \"@material-ui/core\";\nimport RedCrossIcon from 'assets/Red remove icon.png'\nimport GreenTickIcon from 'assets/green check.png'\nimport CustomerSupply from \"./CustomerSupply\";\n\nfunction LineItems(props) {\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, pageSize } = tableState;\n const { selectedData, selectedActionRowData, setLoading, loading, getActionBreakdown } = props\n const [data, setData] = useState({})\n const [totalCount, setTotalCount] = useState(10)\n const [action, setAction] = useState('')\n const [selectedParts, setSelectedparts] = useState({})\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n rowStyle: { height: 42 },\n };\n const getListItems = async () => {\n setLoading(true)\n\n const params = {\n workshop_action_id: selectedData.id,\n item: selectedActionRowData.item.toLowerCase(),\n page: 1 + page,\n limit: pageSize,\n };\n await CommercialServices.getListItems(params)\n .then((res) => {\n\n console.log(\"ListData Response\", res)\n setData(res)\n setTotalCount(res.total_count)\n })\n .catch(() => {\n console.log(\"error\");\n })\n .finally(() => {\n setLoading(false)\n });\n };\n\n useEffect(() => {\n getListItems();\n\n }, [page, pageSize, selectedActionRowData, totalCount]);\n const colors = { amber: \"#FFB300\", green: \"#4FC605\", red: \"#FF0202\" }\n\n const LabourColumn = [{\n title: \"Date\",\n field: \"date\",\n headerStyle: {\n textAlign: \"left\",\n width: \"20%\",\n paddingLeft: \"22px\"\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"20%\",\n paddingLeft: \"22px\"\n },\n render: (rowData) => rowData.date ? formatDateWithHrMin(rowData.date) : '-'\n },\n {\n title: \"User\",\n field: \"user\",\n headerStyle: {\n textAlign: \"left\",\n width: \"60%\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"60%\",\n },\n },\n {\n title: \"Hours\",\n field: \"hours\",\n headerStyle: {\n textAlign: \"center\",\n\n },\n cellStyle: {\n textAlign: \"center\",\n }\n },\n {\n title: \"Charge\",\n field: \"charges\",\n headerStyle: {\n textAlign: \"center\",\n\n },\n cellStyle: {\n textAlign: \"center\",\n\n },\n },\n ]\n\n\n const column = [\n {\n title: \"ID\",\n field: \"id\",\n headerStyle: {\n textAlign: \"left\",\n width: \"10%\",\n paddingLeft: \"22px\"\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"10%\",\n paddingLeft: \"22px\"\n },\n render: (rowData) => {\n return (\n {rowData.id === null ? \"-\" : rowData.id}\n )\n },\n },\n\n {\n title: \"Item\",\n field: \"item\",\n headerStyle: {\n textAlign: \"left\",\n width: \"10%\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"10%\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n width: \"45%\"\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"45%\",\n },\n },\n {\n\n title: \"Customer Supply\",\n field: 'customer_supply',\n hidden: selectedActionRowData.item === 'Parts' ? false : true,\n render: (rowData) => (\n {\n setAction('customersupply')\n setSelectedparts(rowData)\n }}>\n \n \n )\n },\n {\n\n title: \"Price Ages(days)\",\n field: 'Ages',\n hidden: selectedActionRowData.item === 'Parts' ? false : true,\n render: (rowData) => (\n
= 0 && rowData.price_age <= 7 ? colors.green : rowData.price_age > 7 && rowData.price_age < 30 ? colors.amber : colors.red, fontWeight: 600 }}>\n {rowData.price_age !== null || rowData?.price_age !== undefined || rowData.price_age !== \"\" ? rowData.price_age : '-'}\n
\n\n )\n\n },\n {\n title: \"ETA\",\n field: \"eta\",\n }, {\n title: \"QTY\",\n field: \"quantity\",\n },\n {\n title: \"Charge\",\n field: \"charge\",\n },\n ];\n\n return (\n <>\n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No Line Items found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n {action && action === 'customersupply' && setAction(null)} getListItems={getListItems} selectedParts={selectedParts} getActionBreakdown={getActionBreakdown} />}\n \n );\n}\n\nexport default LineItems;\n\n\n\n\n","import React, { useState, useEffect, useContext, useReducer } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { alpha, Box, useTheme } from \"@material-ui/core\";\nimport MaterialTable from \"material-table\";\nimport tableReducer from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport greenHollow from \"assets/Green hollow.png\";\nimport LineItems from \"./LineItemsTable\";\nimport { CommercialServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/commercial\";\nimport AmberGear from \"assets/AmberGear.png\";\nimport { fixedInputValueTo2DecimalPlaces } from \"lib/utils/helperFunctions\";\nimport RedHandIcon from \"assets/red_hand.png\";\n\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n root: {\n backgroundColor: \"#fff\", height: '125vh'\n },\n\n}));\n\nfunction DetailedOverView(props) {\n const theme = useTheme()\n const classes = useStyles();\n const { handleClose, currentSelectedOrder, selectedData } = props;\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const [loading, setLoading] = useState(false);\n const [actionData, setActionData] = useState([])\n const { page, totalCount, pageSize } = tableState;\n const [selectedActionRowData, setSelectedActionRowData] = useState({});\n const [action, setAction] = useState(null);\n const [loadingActionPosition, setLoadingActionPosition] = useState(false);\n const [data, setData] = useState({})\n const [dataVariance, setDataVariance] = useState({\n varaince_1: \"\",\n variance_2: \"\",\n });\n useEffect(() => {\n setDataVariance({\n varaince_1: (data.action_charges_live) - (data.action_charges_at_approval),\n variance_2: (data.action_quantity_live) - (data.action_quantity_at_approval)\n })\n }, [data])\n // let variance1 = parseInt(data.charges_live) - parseInt(data.charges_at_approval)\n // let variance2 = parseInt(data.quantity_live) - parseInt(data.quantity_at_approval)\n const getActionBreakdown = async () => {\n setLoadingActionPosition(true)\n const params = {\n workshop_action_id: selectedData.id,\n };\n await CommercialServices.getActionBreakdown(params)\n .then((res) => {\n setData(res.data.action_detail)\n setActionData(res.data.action_overview)\n })\n .catch(() => {\n console.log(\"error\");\n })\n .finally(() => {\n console.log(\"action\");\n setLoadingActionPosition(false)\n });\n };\n\n\n useEffect(() => {\n getActionBreakdown()\n }, [])\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n paging: false,\n rowStyle: rowData => ({\n backgroundColor: (selectedActionRowData.item === rowData.item) ? alpha(theme.palette.primary.main, 0.15) : '#FFF', height: 42\n }),\n headerStyle: {\n height: 42\n }\n };\n\n const renderZeroState = (value) => {\n return (\n\n
\n \n
\n )\n\n\n }\n\n\n const column1 = [\n {\n title: \"Item\",\n field: \"item\",\n headerStyle: {\n paddingLeft: \"15px\",\n },\n cellStyle: {\n paddingLeft: \"15px\",\n width: \"40%\",\n textTransform: \"capitalize\"\n },\n\n },\n {\n title: \"Ready\",\n field: \"approval_readiness\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n // padding: '0 20px'\n },\n render: (rowData) => renderApvlState(rowData),\n },\n {\n title: \"QTY Live\",\n field: \"quantity_live\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n // textAlign: \"start\",\n textAlign: \"center\",\n // paddingLeft: '17px'\n },\n\n },\n {\n title: \"QTY Apvl\",\n field: \"quantity_at_approval\",\n headerStyle: {\n textAlign: \"center\",\n paddingLeft: '17px'\n },\n cellStyle: {\n // paddingLeft: '17px',\n textAlign: \"center\",\n },\n render: (rowData) => {\n return (\n {rowData.quantity_at_approval === null ? \"-\" : rowData.quantity_at_approval}\n\n )\n },\n },\n {\n title: \"Value Live\",\n field: \"charges_live\",\n headerStyle: {\n textAlign: \"center\",\n paddingLeft: '17px'\n },\n cellStyle: {\n // paddingLeft: '24px',\n textAlign: \"center\",\n }\n },\n {\n title: \"Value Apvl\",\n field: \"charges_at_approval\",\n headerStyle: {\n textAlign: \"center\",\n // paddingLeft: '17px'\n },\n cellStyle: {\n // paddingLeft: '17px'\n textAlign: \"center\",\n }\n },\n {\n title: \"Status\",\n field: \"variance\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n // paddingLeft: '17px'\n textAlign: \"center\",\n },\n render: (rowData) =>\n <>\n {rowData.variance === \"\" ? renderZeroState(rowData.variance) : 100 ? \"red\" : \"green\", fontWeight: \"bold\", paddingLeft: rowData.variance ? \"\" : '8px' }}\n >\n {rowData.variance}\n }\n \n },\n\n ];\n\n\n const renderApvlState = (rowData) => {\n\n if (rowData?.approval_readiness === 'green') {\n return (\n
\n {\" \"}\n
\n )\n }\n else {\n return (\n
\n {\" \"}\n
\n )\n\n }\n };\n\n const GetInfoCard = (props) => {\n const classes = useStyles();\n const { color } = props\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"} \n\n \n \n );\n };\n\n return (\n
\n \n \n \n \n \n \n \n Detailed Overview\n \n \n \n
\n\n
\n \n \n Selected Action\n \n \n\n
\n \n \n\n
\n \n \n \n \n
\n
\n \n
\n \n \n \n \n
\n
\n
\n
\n\n \n \n Action Breakdown\n \n \n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No action breakdown found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n onRowClick={(event, rowData, selectedRow) => {\n const rowDataCopy = { ...rowData };\n setSelectedActionRowData(rowData)\n setLoading(true)\n setAction(\"line_items\")\n // console.log(\"setSelectedRow\", selectedActionRowData)\n\n }}\n />\n \n All values shown include applicable markup and are shown in the Customer’s currency. Select a row to see the applicable live items\n \n \n \n \n Live Action Items\n \n \n \n {/* \n Select a row in the table above to view line items in the table\n below\n */}\n \n\n {action === \"line_items\" && (\n )}\n
\n
\n
\n );\n}\n\nexport default DetailedOverView;\n","import React, { useContext, useEffect, useMemo, useState } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport { Box, MenuItem } from \"@material-ui/core\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport DeleteCusApproval from \"./DeleteCusApproval\";\nimport MROButton from \"components/buttons\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport { Visibility as ViewIcon } from \"@material-ui/icons\";\nimport YesNoField from \"components/form_components/YesNoField\";\nimport MROTextField from \"components/form_components/TextField\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport UploadButton from \"components/form_components/upload_multiple\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { CommercialServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/commercial\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrap: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n itemContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n width: \"100%\",\n },\n actionButtons: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n textAlign: \"right\",\n marginRight: \"33px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n}));\n\nfunction CustomerApproval(props) {\n const classes = useStyles();\n const {\n handleClose,\n approvedPositionData,\n getApprovedPosition,\n currentSelectedId,\n approveData\n } = props;\n const message = useContext(ToastMessageContext);\n const { setApprovalStateCommercial } = useContext(WorkshopContext);\n const [busy, setBusy] = useState(null);\n const [action, setAction] = useState(null);\n const [releaseType, setReleaseType] = useState(null);\n const [approvedToggle, setApprovedToggle] = useState(\"yes\");\n const [amendements, setAmendments] = useState(null);\n const [errors, setErrors] = useState({});\n const [sum, setSum] = useState(null);\n const [proofAcceptnace, setProofAcceptance] = useState([]);\n const [proofRejection, setProofRejection] = useState([]);\n const [togglevalue, setToggleValue] = useState(\"yes\")\n const [amendementsToggle, setAmendmentsToggle] = useState(null)\n const [revisedtotal, setRevisedTotal] = useState(null)\n // console.log(\"approved position data=================\", approvedPositionData)\n // console.log(\"approved data=================\", approveData)\n\n const [input, setInput] = useState({\n tat_days_count: \"\",\n labour_value: \"\",\n parts_value: \"\",\n service_value: \"\",\n equipment_value: \"\",\n aog_fee: \"\",\n });\n\n useEffect(() => {\n if (approveData !== null) {\n setInput({\n tat_days_count: +approveData?.tat_days_count || \"0\",\n labour_value: +approveData?.labour_value || \"0\",\n parts_value: +approveData?.parts_value || \"0\",\n service_value: +approveData?.service_value || \"0\",\n equipment_value: +approveData?.equipment_value || \"0\",\n aog_fee: +approveData?.aog_fee || \"0\",\n });\n }\n }, [approveData, togglevalue, amendementsToggle])\n\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n useEffect(() => {\n setAmendments(\"no\")\n setAmendmentsToggle(\"no\")\n }, [])\n\n useMemo(\n () =>\n setSum(\n +input.labour_value +\n +input.parts_value +\n +input.service_value +\n +input.equipment_value +\n +input.aog_fee\n ),\n [input]\n );\n useMemo(\n () =>\n setRevisedTotal(\n +input.labour_value +\n +input.parts_value +\n +input.service_value +\n +input.equipment_value\n ),\n [input]\n );\n //handle input change\n const handleInput = function (e) {\n const { value } = e.target;\n if (value.match(/\\./g)) {\n const [, decimal] = value.split(\".\");\n\n // restrict value to only 2 decimal places\n if (decimal?.length > 2) {\n // do nothing\n return;\n }\n }\n // setState((ps) => ({ ...ps, isEditing: true }));\n setInput({\n ...input,\n [e.target.name]: e.target.value,\n });\n };\n\n const column = [\n {\n title: \"Current Position\",\n field: \"approval_number\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n width: \"20%\",\n textAlign: \"center\",\n },\n },\n {\n title: \"TAT (Days)\",\n field: \"tat_days_count\",\n render: (rowData) => !rowData.tat_days_count ? \"0\" : rowData.tat_days_count\n },\n {\n title: \"Labour\",\n field: \"labour_value\",\n render: (rowData) => !rowData.labour_value ? \"0.00\" : rowData.labour_value\n },\n {\n title: \"Parts\",\n field: \"parts_value\",\n render: (rowData) => !rowData.parts_value ? \"0.00\" : rowData.parts_value\n },\n {\n title: \"Services\",\n field: \"service_value\",\n render: (rowData) => !rowData.service_value ? \"0.00\" : rowData.service_value\n },\n {\n title: \"Equipment\",\n field: \"equipment_value\",\n render: (rowData) => !rowData.equipment_value ? \"0.00\" : rowData.equipment_value\n },\n {\n title: \"AOG Fee\",\n field: \"aog_fee\",\n render: (rowData) => !rowData.aog_fee ? \"0.00\" : rowData.aog_fee\n },\n {\n title: \"Total\",\n field: \"total\",\n },\n ];\n\n const tableOptions = {\n ...options,\n search: false,\n paging: false,\n rowStyle: { height: 42 },\n };\n\n const handleApprovedToggle = (value) => {\n if (value !== null) {\n setToggleValue(value)\n setApprovedToggle(value)\n }\n else {\n setApprovedToggle(togglevalue)\n }\n };\n\n // console.log(\"toggle=====\", togglevalue, amendementsToggle)\n useEffect(() => {\n getReleaseType();\n }, []);\n\n const getReleaseType = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await MaintenanceServices.getReleaseType(params)\n .then((res) => {\n if (res) {\n setReleaseType(res.data);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const { error, valid } = validateFormData(formData, [\n approvedToggle === \"no\"\n ? (\"amendments_agreed\", \"proof_of_acceptance\")\n : \"\",\n approvedToggle === \"yes\"\n ? (\"release_type\", \"reject_comments\", \"proof_of_rejection\")\n : \"\",\n ]);\n\n if (approvedToggle === null) {\n setBusy(null);\n setErrors((er) => ({ ...er, quote_accepted: true }));\n }\n\n if (proofAcceptnace?.length === 0 && approvedToggle === \"yes\") {\n setBusy(null);\n setErrors((er) => ({ ...er, proof_of_acceptance: true }));\n }\n if (proofRejection?.length === 0 && approvedToggle === \"no\") {\n setBusy(null);\n setErrors((er) => ({ ...er, proof_of_rejection: true }));\n }\n\n if (\n (proofAcceptnace?.length === 0 && approvedToggle === \"yes\") ||\n (proofRejection?.length === 0 && approvedToggle === \"no\") || approvedToggle === null\n ) {\n setErrors((err) => ({ ...err, ...error }));\n setBusy(null);\n return;\n }\n\n if (!valid) {\n setBusy(null);\n setErrors(error);\n return;\n }\n formData.delete(\"tat_days_count\")\n formData.delete(\"labour_value\")\n formData.delete(\"parts_value\")\n formData.delete(\"service_value\")\n formData.delete(\"equipment_value\")\n formData.delete(\"aog_fee\")\n formData.delete(\"total\")\n\n formData.append(\"tat_days_count\", input.tat_days_count)\n formData.append(\"labour_value\", input.labour_value || \"\")\n formData.append(\"parts_value\", input.parts_value || \"\")\n formData.append(\"service_value\", input.service_value || \"\")\n formData.append(\"equipment_value\", input.equipment_value || \"\")\n formData.append(\"aog_fee\", input.aog_fee || \"\")\n formData.append(\"total\", parseFloat(revisedtotal).toFixed(2) || \"\")\n formData.append(\"id\", currentSelectedId);\n setBusy(\"loading\");\n await CommercialServices.customerApproval(formData)\n .then((res) => {\n if (res) {\n handleClose(res.success);\n setApprovalStateCommercial(false);\n getApprovedPosition();\n message.showToastMessage({\n message: \"Approved successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something wnt wrong. Try again!!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setBusy(null);\n });\n };\n\n return (\n
\n \n \n \n \n \n \n \n \n Customer Approval\n \n \n setAction(\"delete\")}>\n \n \n \n \n\n
\n
\n \n \n Submission\n \n \n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No data found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n />\n\n \n \n Approval\n \n \n {\n resetErrorsHandler(\"quote_accepted\");\n }}\n />\n {approvedToggle === \"no\" && (\n \n \n \n Is the item being Scrapped, or returned U/S? Update the\n order’s Release Type below to match the return state\n \n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n \n Select\n \n {releaseType?.map((option) => (\n \n {option.type_name}\n \n ))}\n \n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n placeholder={\n \"Where applicable, add comments below that you wish to appear on the release documents (U/S label, re....\"\n }\n InputLabelProps={{ shrink: true }}\n >\n \n \n \n Proof of rejection (customer approval email etc) *\n \n \n \n {\n setProofRejection(files);\n resetErrorsHandler(\"proof_of_rejection\");\n }}\n name={\"proof_of_rejection\"}\n label=\"\"\n labelName=\"Proof of rejection (customer approval email etc) *\"\n />\n \n \n \n \n \n Is the item being Scrapped? If so, make sure to raise and\n approve a Maintenance Action to scrap the item!\n \n \n \n \n \n \n \n Remember to Reject each Maintenance Action not authorised\n by this approval!\n \n \n \n \n )}\n {approvedToggle === \"yes\" && (\n \n \n {\n if (value !== null) {\n setAmendmentsToggle(value)\n setAmendments(value)\n } else {\n setAmendments(amendementsToggle)\n }\n\n }}\n value={amendements}\n error={errors.amendments_agreed}\n setError={() => {\n resetErrorsHandler(\"amendments_agreed\");\n }}\n />\n \n {amendements === \"yes\" && (\n <>\n \n Revise figures as per agreement\n \n

\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n \n\n \n \n \n \n Amended Sum Charges are reflected in the report\n summary, however, are not reflected in the itemised\n breakdown!\n \n \n \n
\n \n )}\n \n \n Proof of acceptance (customer approval email etc) *\n \n \n \n {\n setProofAcceptance(files);\n resetErrorsHandler(\"proof_of_acceptance\");\n }}\n name={\"proof_of_acceptance\"}\n label=\"\"\n labelName=\"Proof of acceptance (customer approval email etc) *\"\n />\n \n \n \n \n \n Remember to Approve each Maintenance Action covered by\n this approval!\n \n \n \n \n )}\n
\n
\n \n Cancel\n \n \n Complete\n \n
\n
\n {action === \"delete\" && (\n setAction(null)}\n open={true}\n selectedId={currentSelectedId}\n closeHandler={handleClose}\n getApprovedPosition={getApprovedPosition}\n />\n )}\n
\n
\n );\n}\n\nexport default CustomerApproval;\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgRight = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 512,\n viewBox: \"0 0 24 24\",\n width: 512,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"_19\",\n \"data-name\": 19\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m12 19a1 1 0 0 1 -.71-1.71l5.3-5.29-5.3-5.29a1 1 0 0 1 1.41-1.41l6 6a1 1 0 0 1 0 1.41l-6 6a1 1 0 0 1 -.7.29z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m6 19a1 1 0 0 1 -.71-1.71l5.3-5.29-5.3-5.29a1 1 0 0 1 1.42-1.42l6 6a1 1 0 0 1 0 1.41l-6 6a1 1 0 0 1 -.71.3z\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgRight, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/right.6a41b5b4.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useEffect, useState } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { Dialog, makeStyles } from \"@material-ui/core\";\nimport { Popover } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\nimport { Box } from \"@material-ui/core\";\nimport MaterialTable from \"material-table\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, {\n options,\n} from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport PopupDialog from \"./../QuotePopUp/PopupDialog\"\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport LinearProgressBar from 'components/linear_progress_bar';\n\n\n\n\n\nconst StyledMenu = withStyles({\n paper: {\n width: \"523px\",\n height: \"fit-content\",\n top: \"290px !important\",\n padding: \"30px\",\n boxShadow: \"0px 3px 6px #00000029\",\n },\n})((props) => (\n \n));\n\nfunction LabourPopup(props) {\n const { currentRow, open, handleClose, workshop_order_id } = props;\n\n const [data, setData] = useState([])\n const classes = useStyles();\n\n\n useEffect(() => {\n let row = { ...currentRow }\n setData([row])\n\n\n }, [currentRow])\n\n // tableOptions\n const tableOptions = {\n ...options,\n search: false,\n toolbar: false,\n paging: false,\n headerStyle: {\n textAlign: \"center\",\n paddingTop: \"22px\",\n paddingBottom: \"16px\",\n },\n cellStyle: {\n textAlign: 'center'\n },\n rowStyle: {\n height: '42px'\n }\n };\n const columns = [\n {\n title: \"Item\",\n field: \"live_values\",\n\n },\n {\n title: \"Estimated\",\n field: \"est_labour\",\n\n },\n {\n title: \"Current\",\n field: \"labour\",\n\n },\n {\n title: \"Status\",\n field: \"status\",\n\n\n render: (rowData) =>\n
\n 0 && rowData.status < 75) ? '#4FC605' : (rowData.status >= 75 && rowData.status < 100) ? '#FFB300' : rowData.status >= 100 ? '#FF0202' : '#fff'}\n color={rowData.status >= 100 ? \"#FFFFFF\" : \"#4D4F5C\"}\n />\n
\n\n },\n ];\n\n\n return (\n
\n \n \n \n Labour Overview\n \n \n\n \n \n \n \n
\n );\n}\n\nconst useStyles = makeStyles((theme) => ({\n bodyText: {\n fontSize: 20,\n lineHeight: \"28px\",\n },\n}));\n\nexport default LabourPopup","import React, { useContext, useEffect, useState } from 'react'\nimport { CircularProgress, Dialog, DialogContent, DialogTitle, Typography, makeStyles } from '@material-ui/core'\nimport MROButton from 'components/buttons'\nimport { CommercialServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/commercial'\nimport { ToastMessageContext } from 'lib/contexts/message_context'\n\n\n\nconst useStyles = makeStyles((theme) => ({\n dialog: {\n \"& .MuiDialog-paperWidthMd\": {\n boxShadow: \"0px 3px 6px #00000029\",\n // position: \"absolute\",\n // left: \"calc(50% - 250px)\",\n width: '650px',\n height: '240px',\n borderRadius: '5px'\n }\n },\n dialogTitle: {\n color: theme.palette.primary.main,\n fontSize: '18px',\n textAlign: 'center'\n }\n\n}))\n\n\nexport default function ApproveAll(props) {\n const classes = useStyles()\n const { currentSelectedOrder, handleClose, getList, getActionIndicators } = props\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n\n const handleSubmit = async () => {\n\n\n setLoading(true)\n const formData = new FormData()\n formData.append(\"workshop_order_id\", currentSelectedOrder?.id)\n await CommercialServices.updateApprovalActionStatus(formData).then((res) => {\n handleClose()\n getList()\n getActionIndicators()\n message.showToastMessage({\n message: \"All Action Approved Successfully !\",\n variant: \"success\",\n });\n }).catch(() => {\n handleClose()\n getList()\n getActionIndicators()\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n\n\n return (\n
\n\n Approve ALL Unapproved Actions \n \n\n This action will approve all actions that are currently unapproved!\n
\n\n Are you sure you want to continue?\n
\n
\n \n Cancel\n \n \n Yes\n \n
\n
\n\n \n
\n )\n}\n","import {\n AppBar,\n IconButton,\n Toolbar,\n Typography,\n Grid,\n Box,\n FormControlLabel,\n Paper,\n MenuItem,\n\n} from \"@material-ui/core\";\n\nimport React, { useContext, useEffect, useMemo, useState } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { CommercialServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/commercial\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport InfoOutlinedIcon from \"@material-ui/icons/InfoOutlined\";\nimport MROTextField from \"components/form_components/TextField\"\nimport RescheduleIcon from \"@material-ui/icons/History\";\nimport LinearProgressBar from 'components/linear_progress_bar';\nimport NumericIncrement from \"components/numeric_increment_job_clockings\";\nimport CopyIcon from \"assets/CopyIcon.svg\"\nimport MROButton from \"components/buttons\";\nimport { Search } from \"@material-ui/icons\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport MessagePopup from \"components/universal/messagePopup\";\nimport CreateApprovaCaution from \"./CreateApprovaCaution\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport EstimationHistory from \"./EstimationHistory\";\nimport DateField from 'views/Accounts/Workshop/Maintenance/ManageInvoice/DateField';\nimport moment from \"moment\";\nimport PartPricing from \"./LookupPricing/PartPricing\";\nimport { getUserId } from \"lib/utils/common_utils\";\n\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n fontSize: '14px'\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n title: {\n fontSize: '16px',\n color: theme.palette.primary.main\n },\n title1: {\n fontSize: '14px',\n\n },\n detail: {\n backgroundColor: \"#fff\",\n padding: \"1%\",\n },\n spacing: {\n paddingTop: '15px', paddingBottom: '10px'\n },\n\n consolidatedTxt: {\n display: \"flex\", margin: '-23px 0px 20px 1px'\n\n },\n text: {\n fontSize: \"12px\"\n\n },\n button: {\n background: theme.palette.primary.main,\n width: \"36px\",\n height: \" 36px\",\n borderRadius: \"5px\"\n }\n\n}));\n\n\n\nexport default function Accumulative(props) {\n\n\n const classes = useStyles();\n const {\n handleClose,\n jobData,\n estData,\n approvedPositionnData,\n currentSelectedOrder,\n currentPosition,\n getApprovedPosition\n } = props;\n\n\n const [action, setAction] = useState(null);\n const [currentSelection, setCurrentSelection] = useState({});\n const [states, setStates] = useState({ man_hours: '' });\n const [errors, setErrors] = useState({});\n const [receipType, setReceiptType] = useState('')\n const { setApprovalStateCommercial, approvalStateCommercial } = useContext(WorkshopContext);\n const [input, setInput] = useState({\n tat_days: \"\",\n labour_value: \"\",\n parts_value: \"\",\n service_value: \"\",\n equipment_value: \"\",\n aog_fee: \"\",\n });\n const [sum, setSum] = useState(null);\n const [revisedtotal, setRevisedTotal] = useState(null)\n const [confirmationPopup, setConfirmationPopup] = useState(false)\n const [acceptAll, setAcceptAll] = useState(false)\n const [popupValues, setPopUpValues] = useState({})\n const [messagePopup, setMessagePopup] = useState(false)\n const [formvalues, setFormvalues] = useState({})\n const [busy, setBusy] = useState(null);\n const message = useContext(ToastMessageContext);\n const [tatDays, setTatDays] = useState(\"\")\n const [etd, setETD] = useState(null)\n const [standardId, setStandardId] = useState(null)\n const [exceptionData, setExceptionData] = useState([])\n const [planningVerfication, setPlanningVerification] = useState([])\n const [totalTat, setTotalTat] = useState(\"\")\n const [reportData, setReportData] = useState([\n\n {\n item: \"Display Cost to Date\",\n details: \"Show “Costs to Date” section in the report?\",\n status: false,\n name: \"costs_to_date\",\n id: 1\n }, {\n item: \"Show Cost Breakdown\",\n details: \"Shows the Cost breakdown section with total costs per Action\",\n status: false,\n name: \"cost_breakdown\",\n id: 2\n }, {\n item: \"Detailed Costs\",\n details: \"Show additional breakdown of Labour, Parts, Service and Equipment Costs in ALL Cost sections of the Commercial Report?\",\n status: false,\n name: \"cost_breakdown_detail\",\n id: 3\n }, {\n item: \"Detailed CSV\",\n details: \"Send detailed “Cost Breakdown Report CSV” with the report?\",\n status: false,\n name: \"costs_csv\",\n id: 4\n }, {\n item: \"Workshop Report\",\n details: \"Send Workshop Report with to date Actions and Stage progress?\",\n status: false,\n name: \"workshop_report\",\n id: 5\n }, {\n item: \"Do NOT send Report\",\n details: \"Do not send anything to the customer in relation to this approval?\",\n status: false,\n name: \"do_not_send\",\n id: 6\n\n },\n\n\n\n ])\n useEffect(() => {\n getList()\n }, [])\n //planning verification\n const getList = async () => {\n const params = {\n // page: 1 + page,\n // limit: pageSize,\n workshop_order_id: currentSelectedOrder.id,\n\n\n };\n\n CommercialServices.getExceptionTableListing(params).then((res) => {\n\n if (res.success) {\n\n\n setExceptionData(res.data)\n\n }\n }).catch(() => {\n\n })\n\n };\n\n useEffect(() => {\n if (exceptionData.length > 0) {\n let data = exceptionData.filter((item) => item.planning_verification === false)\n setPlanningVerification(data)\n }\n }, [exceptionData])\n\n\n useMemo(\n () =>\n setSum(\n +input.labour_value +\n +input.parts_value +\n +input.service_value +\n +input.equipment_value +\n +input.aog_fee\n ),\n [input]\n );\n useMemo(\n () =>\n setRevisedTotal(\n +input.labour_value +\n +input.parts_value +\n +input.service_value +\n +input.equipment_value\n ),\n [input]\n );\n\n\n\n const handleCopyButtonClick = () => {\n\n setInput({\n tat_days: +currentPosition?.tat || \"0\",\n labour_value: +currentPosition?.labour || \"0\",\n parts_value: +currentPosition?.parts || \"0\",\n service_value: +currentPosition?.services || \"0\",\n equipment_value: +currentPosition?.equipment || \"0\",\n aog_fee: +currentPosition?.aog_fee || \"0\",\n });\n\n\n }\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleInput = function (e) {\n const { value } = e.target;\n if (value.match(/\\./g)) {\n const [, decimal] = value.split(\".\");\n\n // restrict value to only 2 decimal places\n if (decimal?.length > 2) {\n // do nothing\n return;\n }\n }\n setInput({\n ...input,\n [e.target.name]: e.target.value,\n });\n };\n\n const tableOptions1 = {\n ...options,\n paging: false,\n search: false,\n paging: false,\n rowStyle: { height: 42 },\n };\n const handleReport = (rowData) => {\n\n let reportStatus = reportData.map((item) => {\n if (item.id === rowData.id) {\n item.status = !rowData?.status\n }\n return item\n })\n setReportData(reportStatus)\n }\n\n\n const estColumns = [\n {\n title: \"Type\",\n field: \"type\",\n\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"22px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"22px\",\n },\n\n },\n {\n title: \"Position\",\n field: \"position\",\n\n },\n {\n title: \"Date\",\n field: \"date\",\n },\n {\n title: \"History\",\n field: \"\",\n width: \"20%\",\n\n headerStyle: {\n textAlign: \"left\",\n\n },\n cellStyle: {\n width: \"20%\",\n }, render: (rowData) => {\n if (rowData?.type === \"Approved\") {\n return \"\"\n }\n else if (rowData?.type === \"Revised\") {\n return (\n {\n setAction(\"est_history\")\n setCurrentSelection(rowData)\n }}>\n \n \n\n )\n }\n\n }\n },\n {\n title: \"Inducted / Start\",\n field: \"inducted_start\",\n\n\n }, {\n title: \"TAT\",\n field: \"tat_days\",\n\n\n }, {\n title: \"ETD\",\n field: \"etd\",\n\n }, {\n title: \"Progress\",\n field: \"progress\",\n render: (rowData) =>\n
\n 0 && rowData.progress < 75) ? '#4FC605' : (rowData.progress >= 75 && rowData.progress < 100) ? '#FFB300' : rowData.progress >= 100 ? '#FF0202' : '#fff'}\n color={rowData.progress >= 100 ? \"#FFFFFF\" : \"#4D4F5C\"}\n />\n
\n\n },\n\n ]\n\n const reportColumn = [\n {\n title: \"Item\",\n field: \"item\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: '15px'\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: '15px'\n },\n\n\n },\n {\n title: \"Detail\",\n field: \"details\",\n width: \"60%\",\n\n headerStyle: {\n textAlign: \"left\",\n width: \"60%\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"60%\",\n },\n },\n {\n title: \"Action\",\n field: \"\",\n render: (rowData) =>
\n {\n handleReport(rowData)\n }}\n />\n }\n label=\"\"\n labelPlacement=\"\"\n // name={\"show_all_issued_items\"}\n />\n\n
\n\n },\n\n ]\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n let c_date = formData.get(\"calculated_etd\")\n\n let optionalFields = [\"send_report_to_customer\", \"receipt_charge\", \"receipt_type\"]\n let format = \"DD/MM/YYYY\"\n let today = moment()\n let valid = true;\n let error = {};\n\n for (const pair of formData.entries()) {\n const key = pair[0];\n const value = pair[1];\n\n\n if (value === \"select\" || value === \"Search\") {\n error[key] = true;\n valid = false;\n }\n\n if (value === \"\" && !optionalFields.includes(key)) {\n error[key] = true;\n valid = false;\n }\n }\n\n\n if (moment(c_date, format).isBefore(moment(today, format))) {\n valid = false;\n error = {\n ...error,\n calculated_etd: \"ETD cannot be less than today!\"\n\n };\n }\n\n if (!valid) {\n setBusy(null);\n setErrors(error);\n return;\n }\n setBusy(\"loading\");\n\n formData.delete(\"calculated_etd\")\n formData.append(\"calculated_etd\", moment(etd, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\"))\n\n // formData.delete(\"tat_days\")\n formData.delete(\"labour_value\")\n formData.delete(\"parts_value\")\n formData.delete(\"service_value\")\n formData.delete(\"equipment_value\")\n formData.delete(\"aog_fee\")\n formData.delete(\"total\")\n // formData.append(\"tat_days\", input.tat_days)\n formData.append(\"labour_value\", input.labour_value || \"\")\n formData.append(\"parts_value\", input.parts_value || \"\")\n formData.append(\"service_value\", input.service_value || \"\")\n formData.append(\"equipment_value\", input.equipment_value || \"\")\n formData.append(\"aog_fee\", input.aog_fee || \"\")\n formData.append(\"total\", parseFloat(revisedtotal).toFixed(2) || \"\")\n formData.append(\"workshop_order_id\", currentSelectedOrder?.id);\n formData.append(\"user_id\", getUserId());\n reportData.forEach((item) => formData.append(`${item.name}`, item.status))\n // formData.append(\"commercial_type\", 0)\n formData.append(\"approval_type\", 0)\n if (standardId !== null) {\n formData.append(\"workshop_standard_price_id\", standardId)\n }\n\n\n setPopUpValues({\n tat_days: tatDays,\n labour_value: input.labour_value,\n parts_value: input.parts_value,\n service_value: input.service_value,\n equipment_value: input.equipment_value,\n aog_fee: input.aog_fee,\n total: sum\n })\n\n if (valid) {\n\n setConfirmationPopup(true)\n setFormvalues(formData)\n\n }\n\n\n\n };\n\n\n const handlePopUp = async (e) => {\n setMessagePopup(true)\n\n await CommercialServices.createNewApproval(formvalues)\n .then((res) => {\n if (res) {\n handleClose(res.success);\n setApprovalStateCommercial(res.success);\n getApprovedPosition();\n message.showToastMessage({\n message: \"created successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setBusy(null);\n setMessagePopup(false)\n });\n\n }\n\n // useEffect(() => {\n // if (estData.length > 0 && estData !== undefined) {\n // let apTAT = estData[0].tat_days ? estData[0].tat_days : 0\n // let reTAT = estData[1].tat_days ? estData[1].tat_days : 0\n // if (apTAT > reTAT) {\n // setTatDays(apTAT)\n // }\n // else if (reTAT > apTAT) {\n // setTatDays(reTAT)\n // }\n // else {\n // setTatDays(approvedPositionnData?.tat)\n // }\n // // console.log(\"appppp======\", apTAT, reTAT)\n\n // }\n // else {\n // setTatDays(approvedPositionnData?.tat)\n // }\n // }, [estData, approvedPositionnData])\n\n\n useEffect(() => {\n if (approvedPositionnData !== null) {\n // setTatDays(approvedPositionnData?.tat)\n setStandardId(approvedPositionnData?.standard_id)\n setTatDays(approvedPositionnData?.tat_remaining)\n setTotalTat(approvedPositionnData?.tat ? approvedPositionnData?.tat : 0)\n }\n }, [approvedPositionnData])\n\n useEffect(() => {\n if (tatDays !== null && tatDays !== undefined) {\n let today = moment().format(\"DD/MM/YYYY\")\n let tat = tatDays ? tatDays : 0\n let date = today ? moment(today, \"DD/MM/YYYY\").add(tat, \"days\").format(\"DD/MM/YYYY\") : null\n setETD(date)\n if (date) {\n let date_format = \"DD/MM/YYYY\"\n let c_etd = moment(date, date_format)\n let inducted = currentSelectedOrder?.inducted_start ? moment(currentSelectedOrder?.inducted_start, \"DD/MM/YYYY HH:mm:ss\").format(date_format) : null\n\n if (inducted !== null) {\n let i_date = moment(inducted, date_format)\n let final_date = c_etd.diff(i_date, \"days\")\n\n setTotalTat(final_date)\n }\n }\n\n }\n }, [tatDays])\n\n\n\n return (\n
\n
\n\n
\n
\n \n   \n \n Use Manual method for jobs being calculated based on the Current Position\n \n
\n Estimated Departure\n
\n Current Approved and Revised ETDs\n
\n \n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No History found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n />\n \n
\n Update Approved ETD as required\n
\n\n\n \n \n {\n resetErrorsHandler(\"tat_remaining\");\n setTatDays(e.target.value)\n handleInput(e);\n setErrors({ ...errors, tat_remaining: false })\n }}\n >\n \n\n\n \n {\n resetErrorsHandler(e.target.name);\n setTotalTat(e.target.value)\n }}\n InputProps={{\n className: classes.disableField,\n }}\n InputLabelProps={{ shrink: true }}\n >\n\n \n {/* {approvedPositionnData?.etd === null ? \n\n \n { setErrors({ ...errors, calculated_etd: false }); }}\n\n />\n \n\n : */}\n \n {\n resetErrorsHandler(e.target.name);\n // handleInput(e);\n setErrors({ ...errors, calculated_etd: false })\n }}\n helperText={errors.calculated_etd ? errors.calculated_etd : !errors.calculated_etd ? null : \"*please enter a ETA\"}\n InputLabelProps={{ shrink: true }}\n InputProps={{\n className: classes.disableField,\n }}\n >\n \n\n\n\n\n \n
\n Shipping\n\n \n \n \n Customer Delivery\n MRO Collect\n MRO Arranged 3rd Party Agent\n \n \n \n \n \n\n \n {\n resetErrorsHandler(e.target.name);\n setReceiptType(e.target.value)\n }}\n // defaultValue={\"Select\"}\n InputLabelProps={{ shrink: true }}\n >\n\n {/* Select */}\n Excludes Return Shipping\n Customer Collect\n MRO Delivery\n MRO Arranged 3rd Party Agent\n\n \n \n\n {(receipType === \"mro_delivery\" || receipType === \"mro_arranged_third_party_agent\") && \n resetErrorsHandler(\"return_charge\")}\n helperText={\n errors[\"return_charge\"] &&\n `Please enter return charge`\n }\n />\n\n }\n\n\n \n\n
\n {/* commercial section tab 0 */}\n
\n Commercial Values\n
\n Quick assist functions\n
\n \n \n {\n handleCopyButtonClick()\n }}>\n \n \n \n Copy From CURRENT POSITION\n\n \n \n \n {\n setAction(\"lookup\")\n }}>\n \n \n \n Lookup from Standard Pricing or Job History \n\n \n\n
\n Workshop Order TOTAL value in the Customer’s currency\n
\n
\n\n \n \n \n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n\n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n\n \n {\n resetErrorsHandler(e.target.name);\n }}\n\n >\n \n \n \n \n\n\n\n\n \n
\n
\n \n   \n \n The above total will show in the Commercial Summary section of the report, however, any sum amendments will NOT be reflected in the Cost Breakdown (and CSV) which come directly actual current values\n \n
\n
\n\n {/* comment section tab 0 */}\n Commercial Report Comments\n\n \n\n \n {\n resetErrorsHandler(e.target.name);\n }}\n multiline\n InputLabelProps={{ shrink: true }}\n inputProps={{ maxLength: 250 }}\n InputProps={{\n style: {\n height: 'max-content',\n width: \"100%\",\n\n },\n }}\n >\n \n\n\n\n\n\n \n {/* report section tab 0 */}\n
\n Commercial Report Options\n
\n \n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No History found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n />\n \n
\n\n\n\n\n\n\n
\n \n Complete\n \n
\n\n
\n\n\n\n {confirmationPopup && {\n setConfirmationPopup(false)\n\n }}\n\n onClose={() => {\n setConfirmationPopup(false)\n setAcceptAll(false)\n }}\n open={confirmationPopup}\n popupValues={popupValues}\n setAcceptAll={setAcceptAll}\n acceptAll={acceptAll}\n planningVerfication={planningVerfication}\n handleSubmit={handlePopUp}\n />}\n {messagePopup &&\n setMessagePopup(false)}\n open={messagePopup}\n topTitle={\"The Commercial Reports for the job are being prepared\"}\n bottomTitle={\"Please be patient, this will take a few moments\"}\n />}\n {action === \"est_history\" && (\n setAction(null)}\n\n />\n )}\n {action === \"lookup\" && (\n setAction(null)} currentWorkshopDetails={{ quantity: currentSelectedOrder?.quantity, part_number: currentSelectedOrder?.part_number, description: currentSelectedOrder?.description, salesRate: approvedPositionnData?.sales_rate }}\n setInput={setInput} input={input} name={\"commercial\"} setTatDays={setTatDays} setStandardId={setStandardId}\n />\n\n )}\n
\n )\n}\n","import {\n AppBar,\n IconButton,\n Toolbar,\n Typography,\n Grid,\n Box,\n FormControlLabel,\n Paper,\n MenuItem,\n Button,\n withStyles,\n} from \"@material-ui/core\";\n\nimport React, { useContext, useEffect, useMemo, useState } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { CommercialServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/commercial\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport InfoOutlinedIcon from \"@material-ui/icons/InfoOutlined\";\nimport MROTextField from \"components/form_components/TextField\"\nimport RescheduleIcon from \"@material-ui/icons/History\";\nimport LinearProgressBar from 'components/linear_progress_bar';\nimport NumericIncrement from \"components/numeric_increment_job_clockings\";\nimport MROButton from \"components/buttons\";\nimport { Search } from \"@material-ui/icons\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport MessagePopup from \"components/universal/messagePopup\";\nimport CreateApprovaCaution from \"./CreateApprovaCaution\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport Checkbox from '@material-ui/core/Checkbox';\nimport EstimationHistory from \"./EstimationHistory\";\nimport DateField from 'views/Accounts/Workshop/Maintenance/ManageInvoice/DateField';\nimport moment from \"moment\";\nimport PartPricing from \"./LookupPricing/PartPricing\";\nimport { getUserId } from \"lib/utils/common_utils\";\n\n\nconst GreenCheckbox = withStyles({\n root: {\n color: \"#4FC605\",\n '&$checked': {\n color: \"#4FC605\",\n },\n },\n checked: {},\n})((props) => );\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n fontSize: '14px'\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n title: {\n fontSize: '16px',\n color: theme.palette.primary.main\n }, title1: {\n fontSize: '14px',\n\n },\n detail: {\n backgroundColor: \"#fff\",\n padding: \"1%\",\n },\n spacing: {\n paddingTop: '15px', paddingBottom: '10px'\n },\n\n consolidatedTxt: {\n display: \"flex\", margin: '-23px 0px 20px 1px'\n\n },\n text: {\n fontSize: \"12px\"\n\n },\n button: {\n background: theme.palette.primary.main,\n width: \"36px\",\n height: \" 36px\",\n borderRadius: \"5px\"\n },\n diabledButton: {\n backgroundColor: \"#707070\",\n width: \"36px\",\n height: \" 36px\",\n borderRadius: \"5px\"\n }\n\n}));\n\n\n\n\nexport default function InitialExceptions(props) {\n\n const classes = useStyles();\n const {\n handleClose,\n jobData,\n estData,\n approvedPositionnData,\n currentSelectedOrder,\n currentPosition,\n getApprovedPosition\n } = props;\n\n\n const [action, setAction] = useState(null);\n const [currentSelection, setCurrentSelection] = useState({});\n const [states, setStates] = useState({ man_hours: '' });\n const [errors, setErrors] = useState({});\n const [receipType, setReceiptType] = useState('')\n const { setApprovalStateCommercial, approvalStateCommercial, } = useContext(WorkshopContext);\n const [input, setInput] = useState({\n tat_days: \"\",\n labour_value: \"\",\n parts_value: \"\",\n service_value: \"\",\n equipment_value: \"\",\n aog_fee: \"\",\n });\n const [selectedException, setSetSelectionException] = useState([])\n const [sum, setSum] = useState(null);\n const [initilaSum, setInitialSum] = useState(null);\n const [selectedSum, setSelectedSum] = useState(null);\n const [revisedtotal, setRevisedTotal] = useState(null)\n const [revisedInitialtotal, setRevisedInitialTotal] = useState(null)\n const [confirmationPopup, setConfirmationPopup] = useState(false)\n const [acceptAll, setAcceptAll] = useState(false)\n const [popupValues, setPopUpValues] = useState({})\n const [messagePopup, setMessagePopup] = useState(false)\n const [formvalues, setFormvalues] = useState({})\n const [busy, setBusy] = useState(null);\n const message = useContext(ToastMessageContext);\n const [exceptionChecked, setExceptionChecked] = useState(false)\n const [itemChecked, setItemChecked] = useState(false)\n const [exceptionData, setExceptionData] = useState([])\n const [disabled, setDisabled] = useState(false)\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(5)\n const [totalCount, setTotalCount] = useState(0)\n const [loading, setLoading] = useState(false)\n const [standardId, setStandardId] = useState(null)\n const [etd, setETD] = useState(null)\n const [tatDays, setTatDays] = useState(\"\")\n const [totalTat, setTotalTat] = useState(null)\n const [tableInput, setTableInput] = useState({\n labour_cost: 0, parts_cost: 0, service_cost: 0, equipment_cost: 0\n })\n const [planningVerfication, setPlanningVerification] = useState([])\n const getList = async () => {\n const params = {\n // page: 1 + page,\n // limit: pageSize,\n workshop_order_id: currentSelectedOrder.id,\n\n\n };\n setLoading(true)\n CommercialServices.getExceptionTableListing(params).then((res) => {\n\n if (res.success) {\n let data = res?.data\n\n if (data.length > 0) {\n let value = data.map((item) => {\n if (item.commercial_type === 1) {\n item.status = true\n }\n return item\n })\n\n let selectedValue = value.filter((item) => {\n if (item.status === true) {\n return item.id\n\n }\n })\n if (selectedValue.length > 0) {\n let array1 = selectedValue.map((item) => {\n return item.id\n })\n setSetSelectionException(array1)\n\n //calculation\n\n const initialLabourVal = 0;\n let labour = selectedValue.map((item) =>\n +item.labour_cost)\n const labourTotal = labour.reduce(\n (accumulator, currentValue) => accumulator + currentValue,\n initialLabourVal,\n );\n const initialPartsVal = 0;\n let parts = selectedValue.map((item) =>\n +item.parts_cost)\n const partTotal = parts.reduce(\n (accumulator, currentValue) => accumulator + currentValue,\n initialPartsVal,\n );\n const initialServicesVal = 0;\n let services = selectedValue.map((item) =>\n +item.service_cost)\n const servicesTotal = services.reduce(\n (accumulator, currentValue) => accumulator + currentValue,\n initialServicesVal,\n );\n const initialEquipmentVal = 0;\n let equipment = selectedValue.map((item) =>\n +item.equipment_cost)\n const sumEqip = equipment.reduce(\n (accumulator, currentValue) => accumulator + currentValue,\n initialEquipmentVal,\n );\n let rowData = { labour_cost: labourTotal, parts_cost: partTotal, service_cost: servicesTotal, equipment_cost: sumEqip }\n setTableInput(rowData)\n handleCalculation1(rowData)\n\n\n\n\n }\n\n\n\n }\n\n setExceptionData(res.data)\n setTotalCount(res.total_count)\n }\n }).catch(() => {\n\n }).finally(() => {\n setLoading(false)\n })\n\n };\n\n\n useEffect(() => {\n if (exceptionData.length > 0) {\n let data = exceptionData.filter((item) => item.planning_verification === false)\n setPlanningVerification(data)\n }\n }, [exceptionData])\n\n\n\n\n useEffect(() => {\n getList();\n }, [page, pageSize]);\n\n\n // useEffect(() => {\n // if (estData.length > 0 && estData !== undefined) {\n // let apTAT = estData[0].tat_days ? estData[0].tat_days : 0\n // let reTAT = estData[1].tat_days ? estData[1].tat_days : 0\n // if (apTAT > reTAT) {\n // setTatDays(apTAT)\n // }\n // else if (reTAT > apTAT) {\n // setTatDays(reTAT)\n // }\n // else {\n // setTatDays(approvedPositionnData?.tat)\n // }\n // // console.log(\"appppp======\", apTAT, reTAT)\n\n // }\n // else {\n // setTatDays(approvedPositionnData?.tat)\n // }\n // }, [estData, approvedPositionnData])\n\n\n const [initialInput, setInitialInput] = useState({\n tat_days: \"\",\n labour_value: \"\",\n parts_value: \"\",\n service_value: \"\",\n equipment_value: \"\",\n aog_fee: \"\",\n });\n const [selectedInput, setSelectedInput] = useState({\n tat_days: 0.00,\n labour_value: 0.00,\n parts_value: 0.00,\n service_value: 0.00,\n equipment_value: 0.00,\n aog_fee: 0.00,\n });\n\n const [reportData, setReportData] = useState([\n\n {\n item: \"Display Cost to Date\",\n details: \"Show “Costs to Date” section in the report?\",\n status: false,\n name: \"costs_to_date\",\n id: 1\n }, {\n item: \"Show Cost Breakdown\",\n details: \"Shows the Cost breakdown section with total costs per Action\",\n status: false,\n name: \"cost_breakdown\",\n id: 2\n }, {\n item: \"Detailed Costs\",\n details: \"Show additional breakdown of Labour, Parts, Service and Equipment Costs in ALL Cost sections of the Commercial Report?\",\n status: false,\n name: \"cost_breakdown_detail\",\n id: 3\n }, {\n item: \"Detailed CSV\",\n details: \"Send detailed “Cost Breakdown Report CSV” with the report?\",\n status: false,\n name: \"costs_csv\",\n id: 4\n }, {\n item: \"Workshop Report\",\n details: \"Send Workshop Report with to date Actions and Stage progress?\",\n status: false,\n name: \"workshop_report\",\n id: 5\n }, {\n item: \"Do NOT send Report\",\n details: \"Do not send anything to the customer in relation to this approval?\",\n status: false,\n name: \"do_not_send\",\n id: 6\n\n },\n\n\n\n ])\n\n useEffect(() => {\n if (approvedPositionnData !== null) {\n\n setInitialInput({\n tat_days: +approvedPositionnData?.tat || 0,\n labour_value: +approvedPositionnData?.labour || 0,\n parts_value: +approvedPositionnData?.parts || 0,\n service_value: +approvedPositionnData?.services || 0,\n equipment_value: +approvedPositionnData?.equipment || 0,\n aog_fee: +approvedPositionnData?.aog_fee || 0,\n });\n\n setInput({\n tat_days: +approvedPositionnData?.tat || 0,\n labour_value: +approvedPositionnData?.labour || 0,\n parts_value: +approvedPositionnData?.parts || 0,\n service_value: +approvedPositionnData?.services || 0,\n equipment_value: +approvedPositionnData?.equipment || 0,\n aog_fee: +approvedPositionnData?.aog_fee || 0,\n });\n\n if (approvedPositionnData?.position !== undefined || approvedPositionnData?.position !== null) {\n setExceptionChecked(true)\n setDisabled(true)\n }\n // setStandardId(approvedPositionnData?.standard_id)\n }\n }, [approvedPositionnData])\n\n\n // useEffect(() => {\n // if (approvedPositionnData?.inducted_start !== null) {\n // let tat = tatDays ? tatDays : 0\n // let date = approvedPositionnData?.inducted_start ? moment(approvedPositionnData?.inducted_start, \"YYYY-MM-DD HH:mm:ss\").add(tat, \"days\").format(\"DD/MM/YYYY\") : null\n // setETD(date)\n // }\n // }, [approvedPositionnData, tatDays])\n\n useEffect(() => {\n if (approvedPositionnData !== null) {\n setTotalTat(approvedPositionnData?.tat ? approvedPositionnData?.tat : 0)\n setStandardId(approvedPositionnData?.standard_id)\n setTatDays(approvedPositionnData?.tat_remaining)\n }\n }, [approvedPositionnData])\n\n useEffect(() => {\n if (tatDays !== null && tatDays !== undefined) {\n let today = moment().format(\"DD/MM/YYYY\")\n let tat = tatDays ? tatDays : 0\n let date = today ? moment(today, \"DD/MM/YYYY\").add(tat, \"days\").format(\"DD/MM/YYYY\") : null\n setETD(date)\n if (date) {\n let date_format = \"DD/MM/YYYY\"\n let c_etd = moment(date, date_format)\n let inducted = currentSelectedOrder?.inducted_start ? moment(currentSelectedOrder?.inducted_start, \"DD/MM/YYYY HH:mm:ss\").format(date_format) : null\n\n if (inducted !== null) {\n let i_date = moment(inducted, date_format)\n let final_date = c_etd.diff(i_date, \"days\")\n\n setTotalTat(final_date)\n }\n }\n\n }\n }, [tatDays])\n useMemo(\n () =>\n setSum(\n +input.labour_value +\n +input.parts_value +\n +input.service_value +\n +input.equipment_value +\n +input.aog_fee\n ),\n [input]\n );\n\n\n useMemo(\n () =>\n setInitialSum(\n +initialInput.labour_value +\n +initialInput.parts_value +\n +initialInput.service_value +\n +initialInput.equipment_value +\n +initialInput.aog_fee\n ),\n [initialInput]\n );\n useMemo(\n () =>\n setSelectedSum(\n +selectedInput.labour_value +\n +selectedInput.parts_value +\n +selectedInput.service_value +\n +selectedInput.equipment_value +\n +selectedInput.aog_fee\n ),\n [selectedInput]\n );\n\n\n useMemo(\n () =>\n setRevisedTotal(\n +input.labour_value +\n +input.parts_value +\n +input.service_value +\n +input.equipment_value\n ),\n [input]\n );\n useMemo(\n () =>\n setRevisedInitialTotal(\n +initialInput.labour_value +\n +initialInput.parts_value +\n +initialInput.service_value +\n +initialInput.equipment_value\n ),\n [initialInput]\n );\n\n\n\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleInput = function (e) {\n const { value } = e.target;\n if (value.match(/\\./g)) {\n const [, decimal] = value.split(\".\");\n\n // restrict value to only 2 decimal places\n if (decimal?.length > 2) {\n // do nothing\n return;\n }\n }\n setInput({\n ...input,\n [e.target.name]: e.target.value,\n });\n };\n\n const handleInitialInput = function (e) {\n const { value } = e.target;\n if (value.match(/\\./g)) {\n const [, decimal] = value.split(\".\");\n\n // restrict value to only 2 decimal places\n if (decimal?.length > 2) {\n // do nothing\n return;\n }\n }\n\n setInitialInput({\n ...input,\n [e.target.name === \"initial_labour\" ? \"labour_value\" : e.target.name === \"initial_parts\" ? \"parts_value\" : e.target.name === \"initial_service\" ? \"service_value\" : e.target.name === \"initial_equipment\" ? \"equipment_value\" : e.target.name]: e.target.value,\n });\n };\n\n\n const tableOptions1 = {\n ...options,\n paging: false,\n search: false,\n paging: false,\n\n };\n\n const tableOptions2 = {\n ...options,\n paging: false,\n search: false,\n\n\n };\n\n const handleReport = (rowData) => {\n\n let reportStatus = reportData.map((item) => {\n if (item.id === rowData.id) {\n item.status = !rowData?.status\n }\n return item\n })\n setReportData(reportStatus)\n\n }\n\n useEffect(() => {\n if (exceptionData.length > 0 && selectedException.length > 0) {\n let selectedValue = exceptionData.map((item) => {\n selectedException.filter((excep) => {\n if (excep === item.id) {\n item.status = true\n }\n // return item\n })\n return item\n })\n\n }\n }, [exceptionData, selectedException])\n\n\n\n const handleExceptionTable = (rowData) => {\n\n let value = exceptionData.map((item) => {\n if (item.id === rowData.id) {\n item.status = !rowData?.status\n }\n return item\n })\n setExceptionData(value)\n\n if (rowData?.status === false) {\n handleMinusCalculation(rowData)\n let indexExp = selectedException.filter(item => item !== rowData?.id)\n setSetSelectionException(indexExp)\n\n }\n else {\n selectedException.push(rowData.id)\n handleCalculation(rowData)\n }\n\n\n }\n // console.log(\"selectedDataf=====\", selectedException)\n const handleCalculation = (rowData) => {\n\n setSelectedInput({\n labour_value: parseFloat(+selectedInput.labour_value + rowData.labour_cost).toFixed(2),\n parts_value: parseFloat(+selectedInput.parts_value + rowData.parts_cost).toFixed(2),\n service_value: parseFloat(+selectedInput.service_value + rowData.service_cost).toFixed(2),\n equipment_value: parseFloat(+selectedInput.equipment_value + rowData.equipment_cost).toFixed(2),\n aog_fee: 0,\n\n });\n\n setInput({\n labour_value: parseFloat(+input.labour_value + rowData.labour_cost).toFixed(2),\n parts_value: parseFloat(+input.parts_value + rowData.parts_cost).toFixed(2),\n service_value: parseFloat(+input.service_value + rowData.service_cost).toFixed(2),\n equipment_value: parseFloat(+input.equipment_value + rowData.equipment_cost).toFixed(2),\n aog_fee: +input.aog_fee || 0,\n tat_days: +input.tat_days\n });\n\n\n }\n\n const handleCalculation1 = (rowData) => {\n // console.log(\"selected====\", rowData)\n setSelectedInput({\n labour_value: parseFloat(+selectedInput.labour_value + rowData.labour_cost).toFixed(2),\n parts_value: parseFloat(+selectedInput.parts_value + rowData.parts_cost).toFixed(2),\n service_value: parseFloat(+selectedInput.service_value + rowData.service_cost).toFixed(2),\n equipment_value: parseFloat(+selectedInput.equipment_value + rowData.equipment_cost).toFixed(2),\n aog_fee: 0,\n\n });\n\n setInput({\n labour_value: parseFloat(+input.labour_value + rowData.labour_cost + (+approvedPositionnData?.labour)).toFixed(2),\n parts_value: parseFloat(+input.parts_value + rowData.parts_cost + (+approvedPositionnData?.parts)).toFixed(2),\n service_value: parseFloat(+input.service_value + rowData.service_cost + (+approvedPositionnData?.services)).toFixed(2),\n equipment_value: parseFloat(+input.equipment_value + rowData.equipment_cost + (+approvedPositionnData?.equipment)).toFixed(2),\n aog_fee: +input.aog_fee + (+approvedPositionnData?.aog_fee) || 0,\n tat_days: +input.tat_days\n });\n\n\n }\n const handleMinusCalculation = (rowData) => {\n\n setSelectedInput({\n labour_value: parseFloat(+selectedInput.labour_value - rowData.labour_cost).toFixed(2),\n parts_value: parseFloat(+selectedInput.parts_value - rowData.parts_cost).toFixed(2),\n service_value: parseFloat(+selectedInput.service_value - rowData.service_cost).toFixed(2),\n equipment_value: parseFloat(+selectedInput.equipment_value - rowData.equipment_cost).toFixed(2),\n aog_fee: 0\n });\n setInput({\n labour_value: parseFloat(+input.labour_value - rowData.labour_cost).toFixed(2),\n parts_value: parseFloat(+input.parts_value - rowData.parts_cost).toFixed(2),\n service_value: parseFloat(+input.service_value - rowData.service_cost).toFixed(2),\n equipment_value: parseFloat(+input.equipment_value - rowData.equipment_cost).toFixed(2),\n aog_fee: +input.aog_fee || 0,\n tat_days: +input.tat_days\n });\n\n\n\n }\n\n useEffect(() => {\n if (selectedInput) {\n setTableInput({\n labour_cost: +selectedInput.labour_value,\n parts_cost: +selectedInput.parts_value,\n service_cost: +selectedInput.service_value,\n equipment_cost: +selectedInput.equipment_value,\n });\n\n }\n }, [selectedInput])\n useEffect(() => {\n if (initialInput && approvedPositionnData?.total === null) {\n let value_selected = {\n labour_value: parseFloat(+initialInput.labour_value + tableInput.labour_cost).toFixed(2),\n parts_value: parseFloat(+initialInput.parts_value + tableInput.parts_cost).toFixed(2),\n service_value: parseFloat(+initialInput.service_value + tableInput.service_cost).toFixed(2),\n equipment_value: parseFloat(+initialInput.equipment_value + tableInput.equipment_cost).toFixed(2),\n aog_fee: parseFloat(+initialInput.aog_fee).toFixed(2),\n\n\n }\n // console.log(\"selected====\", tableInput, value_selected)\n\n setInput(value_selected);\n\n\n\n }\n\n\n\n }, [initialInput])\n\n\n\n\n // console.log(\"minus====\", selectedInput, input)\n\n const estColumns = [\n {\n title: \"Type\",\n field: \"type\",\n\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"22px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"22px\",\n },\n\n },\n {\n title: \"Position\",\n field: \"position\",\n\n },\n {\n title: \"Date\",\n field: \"date\",\n },\n {\n title: \"History\",\n field: \"\",\n width: \"20%\",\n\n headerStyle: {\n textAlign: \"left\",\n\n },\n cellStyle: {\n width: \"20%\",\n }, render: (rowData) => {\n if (rowData?.type === \"Approved\") {\n return \"\"\n }\n else if (rowData?.type === \"Revised\") {\n return (\n {\n setAction(\"est_history\")\n setCurrentSelection(rowData)\n }}>\n \n \n\n )\n }\n\n }\n },\n {\n title: \"Inducted / Start\",\n field: \"inducted_start\",\n\n\n }, {\n title: \"TAT\",\n field: \"tat_days\",\n\n\n }, {\n title: \"ETD\",\n field: \"etd\",\n\n }, {\n title: \"Progress\",\n field: \"progress\",\n render: (rowData) =>\n
\n 0 && rowData.progress < 75) ? '#4FC605' : (rowData.progress >= 75 && rowData.progress < 100) ? '#FFB300' : rowData.progress >= 100 ? '#FF0202' : '#fff'}\n color={rowData.progress >= 100 ? \"#FFFFFF\" : \"#4D4F5C\"}\n />\n
\n\n },\n\n ]\n\n const reportColumn = [\n {\n title: \"Item\",\n field: \"item\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: '15px'\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: '15px'\n },\n\n\n },\n {\n title: \"Detail\",\n field: \"details\",\n width: \"60%\",\n\n headerStyle: {\n textAlign: \"left\",\n width: \"60%\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"60%\",\n },\n },\n {\n title: \"Action\",\n field: \"\",\n render: (rowData) =>
\n {\n handleReport(rowData)\n }}\n />\n }\n label=\"\"\n labelPlacement=\"\"\n // name={\"show_all_issued_items\"}\n />\n\n
\n\n },\n\n ]\n const exceptionColumn = [\n {\n title: \"Action\",\n field: \"action_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: '15px'\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: '15px'\n },\n\n\n },\n {\n title: \"Type\",\n field: \"action_category\",\n headerStyle: {\n textAlign: \"left\",\n\n },\n cellStyle: {\n textAlign: \"left\",\n\n },\n },\n {\n title: \"Description\",\n field: \"title\",\n width: \"40%\",\n\n headerStyle: {\n textAlign: \"left\",\n width: \"40%\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"40%\",\n },\n },\n {\n title: \"Labour\",\n field: \"labour_cost\",\n },\n\n {\n title: \"Parts\",\n field: \"parts_cost\",\n },\n\n {\n title: \"Services\",\n field: \"service_cost\",\n },\n\n {\n title: \"Equipment\",\n field: \"equipment_cost\",\n },\n {\n title: \"Overall\",\n field: \"overview_total\",\n },\n\n\n\n {\n title: \"Action\",\n field: \"\",\n render: (rowData) =>
\n {\n handleExceptionTable(rowData)\n }} name=\"\" />}\n label=\"\"\n />\n\n
\n\n },\n\n ]\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n // const { error, valid } = validateFormData(formData, [\"send_report_to_customer\", \"receipt_charge\", \"receipt_type\"]);\n let c_date = formData.get(\"calculated_etd\")\n\n let optionalFields = [\"send_report_to_customer\", \"receipt_charge\", \"receipt_type\"]\n let format = \"DD/MM/YYYY\"\n let today = moment()\n let valid = true;\n let error = {};\n\n for (const pair of formData.entries()) {\n const key = pair[0];\n const value = pair[1];\n\n // console.log(\"value is===================\", optionalFields)\n\n if (value === \"select\" || value === \"Search\") {\n error[key] = true;\n valid = false;\n }\n\n if (value === \"\" && !optionalFields.includes(key)) {\n error[key] = true;\n valid = false;\n }\n }\n\n\n if (moment(c_date, format).isBefore(moment(today, format))) {\n valid = false;\n error = {\n ...error,\n calculated_etd: \"ETD cannot be less than today!\"\n\n };\n }\n\n // console.log(\"date====\", c_date)\n if (!valid) {\n setBusy(null);\n setErrors(error);\n return;\n }\n setBusy(\"loading\");\n\n formData.delete(\"calculated_etd\")\n formData.append(\"calculated_etd\", moment(etd, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\"))\n\n // formData.delete(\"tat_days\")\n formData.delete(\"labour_value\")\n formData.delete(\"parts_value\")\n formData.delete(\"service_value\")\n formData.delete(\"equipment_value\")\n formData.delete(\"aog_fee\")\n formData.delete(\"total\")\n formData.delete(\"initial_total\")\n // formData.append(\"tat_days\", tatDays)\n formData.append(\"labour_value\", input.labour_value || \"\")\n formData.append(\"parts_value\", input.parts_value || \"\")\n formData.append(\"service_value\", input.service_value || \"\")\n formData.append(\"equipment_value\", input.equipment_value || \"\")\n formData.append(\"aog_fee\", input.aog_fee || \"\")\n formData.append(\"total\", parseFloat(revisedtotal).toFixed(2) || \"\")\n formData.append(\"initial_total\", parseFloat(revisedInitialtotal).toFixed(2) || \"\")\n formData.append(\"workshop_order_id\", currentSelectedOrder?.id);\n formData.append(\"user_id\", getUserId());\n // formData.delete(\"send_report_to_customer\");\n // formData.append(\"send_report_to_customer\", report);\n reportData.forEach((item) => formData.append(`${item.name}`, item.status))\n\n\n // formData.append(\"commercial_type\", exceptionChecked ? 1 : 0)\n if (selectedException.length > 0) {\n selectedException.forEach((item, index) => formData.append(`action_id[${index}]`, item))\n }\n formData.append(\"approval_type\", 1)\n if (standardId !== null) {\n formData.append(\"workshop_standard_price_id\", standardId)\n }\n\n setPopUpValues({\n tat_days: tatDays,\n labour_value: input.labour_value,\n parts_value: input.parts_value,\n service_value: input.service_value,\n equipment_value: input.equipment_value,\n aog_fee: input.aog_fee,\n total: sum\n })\n\n if (valid) {\n\n setConfirmationPopup(true)\n setFormvalues(formData)\n\n }\n\n\n\n };\n\n\n const handlePopUp = async (e) => {\n setMessagePopup(true)\n\n await CommercialServices.createNewApproval(formvalues)\n .then((res) => {\n if (res) {\n handleClose(res.success);\n setApprovalStateCommercial(res.success);\n getApprovedPosition();\n message.showToastMessage({\n message: \"created successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setBusy(null);\n setMessagePopup(false)\n });\n\n }\n\n\n\n\n\n return (\n
\n
\n\n\n\n\n
\n
\n \n   \n \n Use Initial & Exceptions method for to capture an Initial Charges (quote or standard charges) and subsequent Exceptions (defects etc)\n \n
\n Estimated Departure\n
\n Current Approved and Revised ETDs\n
\n \n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No History found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n />\n \n
\n Update Approved ETD as required\n
\n\n\n \n \n {\n resetErrorsHandler(\"tat_remaining\");\n setTatDays(e.target.value)\n handleInput(e);\n setErrors({ ...errors, tat_remaining: false })\n }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n setTotalTat(e.target.value)\n }}\n InputProps={{\n className: classes.disableField,\n }}\n InputLabelProps={{ shrink: true }}\n >\n\n \n {/* {approvedPositionnData?.etd === null ? \n\n \n \n \n\n : */}\n \n {\n resetErrorsHandler(e.target.name);\n // handleInput(e);\n setErrors({ ...errors, calculated_etd: false })\n }}\n InputLabelProps={{ shrink: true }}\n InputProps={{\n className: classes.disableField,\n }}\n >\n \n\n\n\n \n
\n Shipping\n\n \n \n \n Customer Delivery\n MRO Collect\n MRO Arranged 3rd Party Agent\n \n \n \n \n \n\n \n {\n resetErrorsHandler(e.target.name);\n setReceiptType(e.target.value)\n }}\n defaultValue={\"\"}\n InputLabelProps={{ shrink: true }}\n >\n\n {/* Select */}\n Excludes Return Shipping\n Customer Collect\n MRO Delivery\n MRO Arranged 3rd Party Agent\n\n \n \n\n {(receipType === \"mro_delivery\" || receipType === \"mro_arranged_third_party_agent\") && \n resetErrorsHandler(\"return_charge\")}\n helperText={\n errors[\"return_charge\"] &&\n `Please enter return charge`\n }\n />\n\n }\n\n\n \n\n
\n {/* initial value sction tab 1 */}\n
\n Initial Value\n
\n Initial Approved Position Values\n
\n \n \n {\n setAction(\"lookup\")\n }} style={{ pointerEvents: approvedPositionnData?.total !== null ? \"none\" : \"\" }}>\n \n \n \n Lookup from Standard Pricing or Job History \n\n \n\n
\n\n\n \n \n \n \n \n {\n resetErrorsHandler(e.target.name);\n setInitialInput({ ...initialInput, labour_value: e.target.value })\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n\n \n {\n resetErrorsHandler(e.target.name);\n setInitialInput({ ...initialInput, parts_value: e.target.value })\n\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n setInitialInput({ ...initialInput, service_value: e.target.value })\n\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n setInitialInput({ ...initialInput, equipment_value: e.target.value })\n\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n setInitialInput({ ...initialInput, aog_fee: e.target.value })\n setInput({ ...input, aog_fee: e.target.value })\n resetErrorsHandler(e.target.name)\n }}\n InputLabelProps={{ shrink: true }}\n\n >\n \n\n \n \n \n \n \n \n\n\n\n\n \n {/* exception sections tab 1*/}\n
\n\n\n Exceptions\n
\n
\n {\n setExceptionChecked(e.target.checked)\n }}\n disabled={disabled}\n />\n }\n label=\"Add Exceptions now?\"\n labelPlacement=\"start\"\n // name={\"show_all_issued_items\"}\n />\n
\n {exceptionChecked && <>\n\n Select the exception / defects that go beyond the initial Approved Position scope of work \n\n \n \n\n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No Records found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n // onChangePage={(page) => {\n // setPage(page);\n // }}\n // onChangeRowsPerPage={(pageSize) => {\n // setPageSize(pageSize);\n // }}\n\n totalCount={totalCount}\n page={page}\n />\n\n \n \n
\n Selected exception values\n
\n {/* selected exceptions */}\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n\n\n\n \n\n\n\n }\n {/* commercial sections tab1*/}\n\n\n
\n Commercial Values\n\n
\n Workshop Order TOTAL value in the Customer’s currency\n
\n
\n\n\n \n \n \n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputProps={{\n className: classes.disableField,\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n\n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputProps={{\n className: classes.disableField,\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputProps={{\n className: classes.disableField,\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputProps={{\n className: classes.disableField,\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputProps={{\n className: classes.disableField,\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n\n \n {\n resetErrorsHandler(e.target.name);\n }}\n\n >\n \n \n \n \n\n\n\n\n \n\n\n\n {/* comments Sections tab1*/}\n Commercial Report Comments\n\n \n\n \n {\n resetErrorsHandler(e.target.name);\n }}\n InputLabelProps={{ shrink: true }}\n inputProps={{ maxLength: 250 }}\n InputProps={{\n style: {\n height: 'max-content',\n width: \"100%\",\n\n },\n }}\n >\n \n\n\n\n\n\n \n\n {/* report sections */}\n
\n Commercial Report Options\n
\n \n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No Records found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n />\n \n
\n\n
\n \n Complete\n \n
\n\n\n\n\n\n\n\n\n\n
\n\n\n {action === \"lookup\" && (\n setAction(null)} currentWorkshopDetails={{ quantity: currentSelectedOrder?.quantity, part_number: currentSelectedOrder?.part_number, description: currentSelectedOrder?.description, salesRate: approvedPositionnData?.sales_rate }}\n setInput={setInitialInput} input={initialInput} name={\"initial\"} setStandardId={setStandardId} setTatDays={setTatDays}\n />\n\n )\n }\n\n\n\n {\n confirmationPopup && {\n setConfirmationPopup(false)\n\n }}\n\n onClose={() => {\n setConfirmationPopup(false)\n setAcceptAll(false)\n }}\n open={confirmationPopup}\n popupValues={popupValues}\n setAcceptAll={setAcceptAll}\n acceptAll={acceptAll}\n\n handleSubmit={handlePopUp}\n planningVerfication={planningVerfication}\n />\n }\n {\n messagePopup &&\n setMessagePopup(false)}\n open={messagePopup}\n topTitle={\"The Commercial Reports for the job are being prepared\"}\n bottomTitle={\"Please be patient, this will take a few moments\"}\n />\n }\n\n {\n action === \"est_history\" && (\n setAction(null)}\n\n />\n )\n }\n\n
\n )\n}\n","import {\n AppBar,\n IconButton,\n Toolbar,\n Typography,\n Paper,\n\n} from \"@material-ui/core\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport React, { useContext, useEffect, useMemo, useState } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport { TabSectionBar } from \"components/tab_component\";\nimport Divider from \"@material-ui/core/Divider\";\nimport Accumulative from \"./Accumulative\";\nimport InitialExceptions from \"./InitialExceptions\";\nimport moment from \"moment\";\n\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n fontSize: '14px'\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n title: {\n fontSize: '16px',\n color: theme.palette.primary.main\n }, title1: {\n fontSize: '14px',\n\n },\n detail: {\n backgroundColor: \"#fff\",\n padding: \"1%\",\n },\n spacing: {\n paddingTop: '15px', paddingBottom: '10px'\n },\n\n consolidatedTxt: {\n display: \"flex\", margin: '-23px 0px 20px 1px'\n\n },\n text: {\n fontSize: \"12px\"\n\n },\n button: {\n background: theme.palette.primary.main,\n width: \"36px\",\n height: \" 36px\",\n borderRadius: \"5px\"\n },\n noteText: {\n color: theme.palette.primary.main,\n paddingLeft: \"10px\", fontStyle: \"italic\", fontSize: \"15px\"\n }\n\n}));\n\n\n\n\nexport default function CreateNewApprovedPosition(props) {\n\n const classes = useStyles();\n const {\n handleClose,\n jobData,\n estData,\n approvedPositionnData,\n currentSelectedOrder,\n currentPosition,\n getApprovedPosition,\n appPosition,\n currPosition,\n setApprovalData,\n setCurrentData,\n setVarianceData,\n setApprovalInitialData,\n approvalInitialData\n } = props;\n\n const [currentTab, setCurrentTab] = useState(0);\n\n const navMenu = [\n\n {\n label: (\n
Initial & Exceptions  
\n ),\n },\n { label:
Accumulative  
},\n ];\n\n useEffect(() => {\n\n let appData = null;\n let curData = null;\n let today = moment().format(\"DD/MM/YYYY\")\n if (appPosition?.data !== undefined && appPosition?.data.length > 0) {\n appData = appPosition?.data[appPosition?.data.length - 1]\n let tat = 0\n let date = today ? moment(today, \"DD/MM/YYYY HH:mm:ss\").add(tat, \"days\").format(\"DD/MM/YYYY\") : null\n\n //inducted_start\n setApprovalData((ps) => ({\n ...ps,\n position: appData?.approval_number,\n tat: appData?.tat_days_count,\n etd: date,\n labour: appData?.labour_value || 0,\n parts: appData?.parts_value || 0,\n services: appData?.service_value || 0,\n equipment: appData?.equipment_value || 0,\n aog_fee: appData?.aog_fee || 0,\n total: appData?.total,\n currency: appData?.currency_name,\n approvalType: appData?.approval_type,\n release_type_id: appData?.release_type_id,\n sales_rate: appData?.customer_sales_rate,\n standard_id: appData?.workshop_standard_price_id,\n inducted_start: appData?.inducted_start ? appData?.inducted_start : null,\n tat_remaining: null\n\n }))\n setApprovalInitialData((ps) => ({\n ...ps,\n position: appData?.approval_number,\n tat: appData?.tat_days_count,\n etd: date,\n labour: appData?.initial_labour,\n parts: appData?.initial_parts,\n services: appData?.initial_services,\n equipment: appData?.initial_equipment,\n aog_fee: appData?.initial_aog,\n total: appData?.initial_total,\n currency: appData?.currency_name,\n approvalType: appData?.approval_type,\n release_type_id: appData?.release_type_id,\n sales_rate: appData?.customer_sales_rate,\n standard_id: appData?.workshop_standard_price_id,\n inducted_start: appData?.inducted_start ? appData?.inducted_start : null,\n tat_remaining: null\n }))\n\n\n\n\n }\n\n if (appData === null) {\n // console.log(\"data====\", appData, currentSelectedOrder)\n let tat = 0\n let date = today ? moment(today, \"DD/MM/YYYY HH:mm:ss\").add(tat, \"days\").format(\"DD/MM/YYYY\") : null\n setApprovalData((ps) => ({\n ...ps,\n approvalType: null,\n tat: 0,\n etd: date,\n inducted_start: currentSelectedOrder?.inducted_start ? moment(currentSelectedOrder?.inducted_start, \"DD/MM/YYYY HH:mm:ss\").format(\"YYYY-MM-DD HH:mm:ss\") : null,\n currency: currentSelectedOrder?.currency\n }))\n setApprovalInitialData((ps) => ({\n ...ps,\n approvalType: null,\n tat: 0,\n etd: date,\n inducted_start: currentSelectedOrder?.inducted_start ? moment(currentSelectedOrder?.inducted_start, \"DD/MM/YYYY HH:mm:ss\").format(\"YYYY-MM-DD HH:mm:ss\") : null,\n currency: currentSelectedOrder?.currency\n\n }))\n setCurrentTab(0)\n }\n\n if (currPosition?.data !== undefined && currPosition?.data.length > 0) {\n\n curData = currPosition?.data[currPosition?.data.length - 1]\n\n let total = +curData?.est_labour + (+curData?.parts) + (+curData?.services) + (+curData?.equipment) + (+curData?.aog_fee)\n\n setCurrentData((ps) => ({\n ...ps,\n\n tat: curData?.tat_days,\n labour: curData?.est_labour || 0,\n parts: curData?.parts || 0,\n services: curData?.services || 0,\n equipment: curData?.equipment || 0,\n aog_fee: curData?.aog_fee || 0,\n total: total ? parseFloat(total).toFixed(2) : 0,\n currency: appData?.currency_name ? appData?.currency_name : currentSelectedOrder?.currency,\n t_labour: curData?.labour || 0\n\n }))\n }\n if (curData !== null) {\n\n let total = +curData?.est_labour + (+curData?.parts) + (+curData?.services) + (+curData?.equipment) + (+curData?.aog_fee)\n setVarianceData((ps) => ({\n ...ps,\n labour: parseFloat(parseFloat(curData?.est_labour).toFixed(2) - parseFloat(appData?.labour_value) || 0).toFixed(2),\n parts: parseFloat(parseFloat(curData?.parts).toFixed(2) - parseFloat(appData?.parts_value) || 0).toFixed(2),\n services: parseFloat(parseFloat(curData?.services).toFixed(2) - parseFloat(appData?.service_value) || 0).toFixed(2),\n equipment: parseFloat(parseFloat(curData?.equipment).toFixed(2) - parseFloat(appData?.equipment_value) || 0).toFixed(2),\n aog_fee: parseFloat(parseFloat(curData?.aog_fee).toFixed(2) - parseFloat(appData?.aog_fee) || 0).toFixed(2),\n total: parseFloat(parseFloat(total) - parseFloat(appData?.total) || 0).toFixed(2),\n currency: appData?.currency_name ? appData?.currency_name : currentSelectedOrder?.currency,\n\n }))\n\n\n }\n\n }, [appPosition, currPosition])\n useEffect(() => {\n\n }, [])\n\n useEffect(() => {\n if (approvedPositionnData !== undefined) {\n if (approvedPositionnData?.approvalType === null || approvedPositionnData?.approvalType === undefined || approvedPositionnData?.approvalType === 1) {\n setCurrentTab(0)\n } else {\n setCurrentTab(1)\n }\n }\n }, [approvedPositionnData])\n\n\n const columns = [\n {\n title: \"\",\n field: \"name\",\n width: \"20%\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n width: \"20%\",\n textAlign: \"left\",\n paddingLeft: '12px'\n },\n },\n {\n title: \"Position\",\n field: \"position\"\n },\n {\n title: \"TAT*\",\n field: \"tat\"\n },\n {\n title: \"ETD\",\n field: \"etd\"\n },\n {\n title: \"Labour**\",\n field: \"labour\",\n render: (rowData) =>
{rowData?.labour}
\n },\n {\n title: \"Parts\",\n field: \"parts\",\n render: (rowData) =>
{rowData?.parts}
\n },\n {\n title: \"Services\",\n field: \"services\",\n render: (rowData) =>
{rowData?.services}
\n },\n {\n title: \"Equipment\",\n field: \"equipment\",\n render: (rowData) =>
{rowData?.equipment}
\n },\n {\n title: \"Other\",\n field: \"aog_fee\",\n render: (rowData) =>
{rowData?.aog_fee}
\n },\n {\n title: \"Total\",\n field: \"total\",\n render: (rowData) =>
{rowData?.total}
\n }, {\n title: \"Currency\",\n field: \"currency\"\n },\n\n\n\n\n ]\n\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n paging: false,\n rowStyle: { height: 42 },\n };\n\n\n\n\n\n\n\n\n return (\n
\n \n\n \n \n \n \n \n \n Create New Approved Position\n \n \n \n\n
\n Job Overview\n
\n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No data found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n\n />\n
\n\n\n\n\n
\n * Current Position TAT is a live value from receipt / start of job to today.\n
\n
\n ** Labour figure shown in the table is calculated from the estimated hours from each action. The ACTUAL bookings currently equate to: {currentPosition?.t_labour} \n
\n New Approval\n
\n Select the type of Approval you want to create\n
\n \n \n \n\n {currentTab == 1 &&\n \n\n }\n\n {currentTab === 0 &&\n \n\n }\n\n \n
\n\n\n\n
\n\n\n\n\n
\n )\n}\n","import React, { useContext, useState } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Dialog, DialogContent, DialogTitle, FormControlLabel } from \"@material-ui/core\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport DateField from 'views/Accounts/Workshop/Maintenance/ManageInvoice/DateField';\nimport { CommercialServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/commercial';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport MROTextField from 'components/form_components/TextField';\n\n\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n },\n title: {\n display: \"flex\",\n justifyContent: \"left\",\n \"& h2\": {\n // color: theme.palette.primary.main,\n fontSize: \"40px\",\n fontWeight: 40,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"0 25px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"end\",\n marginTop: '40px',\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n purchaseGrid: {\n paddingTop: \"0 !important\",\n paddingBottom: \"0 !important\",\n height: \"85px\",\n },\n purchaseStock: {\n marginBottom: \"20px\",\n maxWidth: \"274px\",\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"450px\",\n },\n }\n}));\n\n\nfunction UpdateEstimation(props) {\n const classes = useStyles();\n const { handleClose, currentSelection, date, id } = props\n const [errors, setErrors] = useState({});\n const message = useContext(ToastMessageContext)\n const [loading, setLoading] = useState(false)\n\n\n const handleSubmit = async (e) => {\n\n e.preventDefault();\n\n const formData = new FormData(e.target);\n let valid = true;\n\n let error = {\n etd: false,\n reason: false,\n\n };\n if (formData && formData.get(\"etd\")?.length === 0) {\n error.etd = true;\n valid = false;\n }\n if (formData && formData.get(\" reason\") === \" \") {\n error.reason = true;\n valid = false;\n }\n if (!valid) {\n\n setErrors(error);\n return;\n }\n\n\n formData.append(\"workshop_order_id\", id)\n // formData.append(\"tat\", currentSelection?.tat_days)\n formData.append(\"organisation_id\", getOrganisationId())\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n formData.append(\"user_id\", userDetails?.id);\n setLoading(true)\n await CommercialServices.reviseEstDeparture(formData).then((response) => {\n if (response.success) {\n\n handleClose()\n message.showToastMessage({\n message: \"Revised successfully \",\n variant: \"success\",\n });\n }\n else {\n message.showToastMessage({\n message: response.message ? response.message : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n handleClose()\n }\n }).catch((error) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n }).finally(() => {\n setLoading(false)\n })\n })\n\n\n\n\n\n }\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n\n return (\n
\n \n \n \n Revise ETD\n \n \n \n
\n
\n \n\n \n { setErrors({ ...errors, etd: false }); }}\n defaultValue={date ? date : \"\"}\n\n />\n \n \n { setErrors({ ...errors, reason: false }); }}\n className={classes.inputField}\n\n />\n \n \n
\n \n Cancel\n \n \n Complete\n \n
\n \n
\n
\n \n
\n )\n}\n\nexport default UpdateEstimation","import { makeStyles } from \"@material-ui/core/styles\";\nimport {\n Grid,\n Typography,\n IconButton,\n Box,\n FormControl,\n Select,\n InputBase,\n MenuItem,\n Button,\n Menu,\n useTheme,\n Tooltip,\n Paper,\n} from \"@material-ui/core\";\nimport React, { useContext, useEffect, useReducer, useState, useMemo } from \"react\";\nimport tableReducer from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport clxc from \"clsx\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport MaterialTable from \"material-table\";\nimport { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport {\n Visibility as ViewIcon,\n Create as CreateIcon,\n Edit as EditIcon,\n} from \"@material-ui/icons\";\nimport MROButton from \"components/buttons\";\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport ApprovalManage from \"./ApprovalManage\";\nimport DetailedOverview from \"./DetailedOverview\";\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\nimport greenCheckIcon from \"assets/green check.png\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport BoxpTableAction from \"actions/boxp_table_actions\";\nimport useDebounce from \"lib/utils/debounce\";\nimport { CommercialServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/commercial\";\nimport { formatDateFunction } from \"lib/utils/common_utils\";\nimport CustomerApproval from \"./CustomerApproval\";\nimport AmberGear from \"assets/AmberGear.png\";\nimport GreenHollow from \"assets/Green hollow.png\";\nimport RedRemoveIcon from \"assets/Red remove icon.png\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport { ReactComponent as RightIcon } from 'assets/right.svg'\nimport LabourPopup from \"./LabourPopup\";\nimport LinearProgressBar from 'components/linear_progress_bar';\nimport RedHandIcon from \"assets/red_hand.png\";\nimport ApproveAll from \"./ApproveAll\";\nimport CreateNewApprovedPosition from \"./CreateNewApprovedPosition\"\nimport Chart from 'react-apexcharts'\nimport LoadingIndicator from \"components/universal/loading_indicator\";\nimport _ from \"lodash\";\nimport RescheduleIcon from \"@material-ui/icons/History\";\nimport EstimationHistory from \"./EstimationHistory\";\nimport moment from \"moment\";\nimport UpdateEstimation from \"./UpdateEstimation\";\nimport CustomerApprovalNew from \"./CustomerApprovalNew\";\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n width: \"85%\",\n margin: \"1% 3%\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n container: {},\n secondPaper: {\n height: \"600px\",\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n // padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n input1: {\n height: \"20px\",\n },\n head: {\n marginTop: \"20px\",\n marginBottom: \"10px\",\n },\n flex: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-end\",\n margin: \"5px 38px\",\n },\n bold: {\n fontWeight: \"bold\",\n },\n text: {\n fontWeight: \"bold\",\n fontSize: \"30px\",\n color: \"#4FC605\",\n marginLeft: \"20px\",\n },\n text1: {\n fontSize: \"25px\",\n color: \"#4FC605\",\n marginLeft: \"20px\",\n },\n actionButtons: {\n paddingTop: \"20px\",\n \"& button\": {\n marginRight: \"20px\",\n },\n },\n addBtn: {\n color: \"#fff\",\n backgroundColor: theme.palette.secondary.main,\n borderRadius: \"5px\",\n \"&:hover\": {\n backgroundColor: `${theme.palette.secondary.main} !important`,\n },\n },\n stockBtn2: {\n borderColor: \"#4D4F5C\",\n borderRadius: \"7px\",\n minWidth: \"20px\",\n height: \"30px\",\n color: \"#fff\",\n backgroundColor: \"#4FC605\",\n maxWidth: \"70px\",\n },\n stockBtn: {\n minWidth: \"70px\",\n height: \"30px\",\n borderColor: \"#4D4F5C\",\n borderRadius: \"7px\",\n width: \"85px\",\n },\n\n Tooltip: {\n fontSize: theme.spacing(2)\n }\n}));\n\nfunction Commercial(props) {\n const classes = useStyles();\n const theme = useTheme();\n const { color, currentSelectedOrder, orderState, orderStateNum } = props;\n const message = useContext(ToastMessageContext);\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, data, inProgress } = tableState;\n const [action, setAction] = useState(null);\n const [approvalState, setApprovalState] = useState(null);\n // const [states, setStates] = useState([]);\n const [openMenu, setOpenMenu] = useState(false);\n const [anchorEl, setAnchorEl] = useState(null);\n\n const [searchText, setSearchText] = useState(null);\n const [filters, setFilters] = useState({});\n\n const [actionIndicators, setActionIndicators] = useState({});\n const [submissionData, setSubmissionData] = useState(null);\n const [currentSelection, setCurrentSelection] = useState({});\n const [selectedRowData, setSelectedRowData] = useState({});\n const [selectedActionRowData, setSelectedActionRowData] = useState({});\n const [approvedPosition, setApprovedPosition] = useState({});\n const [currentPosition, setCurrentPosition] = useState({});\n const [approveData, setData] = useState({});\n const [totalRow, setTotalRow] = useState({});\n const [tatDays, setTatDaysCount] = useState(null);\n const { approvalStateCommercial } = useContext(WorkshopContext);\n const [loadingCurrentPosition, setLoadingCurrentPosition] = useState(false);\n const [loadingApprovedPosition, setLoadingApprovedPosition] = useState(false);\n const [loadingEstimatedDeparture, setLoadingEstimatedDeparure] = useState(false);\n const [approveTotal, setApproveTotal] = useState(0)\n const [variance, setVariance] = useState({\n variance_1: \"\",\n variance_2: \"\",\n })\n const [quoteAccepted, setCheckQuoteAccepted] = useState(false)\n const [labourAction, setlabourAction] = useState('')\n const [currentRow, setCurrentRow] = useState({})\n const deboucedText = useDebounce(searchText)\n let varianceTotal = totalRow.total - approveTotal\n const [chartLoading, setChartLoading] = useState(false)\n const [estData, setEstData] = useState([])\n const [formatedDate, setFormatedDate] = useState(null)\n const [approvalData, setApprovalData] = useState({\n name: \"Approved Position\",\n position: null,\n tat: \"\",\n etd: null,\n labour: \"\",\n parts: \"\",\n services: \"\",\n equipment: \"\",\n aog_fee: \"\",\n total: \"\",\n currency: \"\",\n approvalType: \"\",\n release_type_id: null,\n sales_rate: 1,\n standard_id: null,\n inducted_start: null,\n t_labour: \"\"\n })\n const [approvalInitialData, setApprovalInitialData] = useState({\n name: \"Approved Position\",\n position: null,\n tat: \"\",\n etd: null,\n labour: null,\n parts: null,\n services: null,\n equipment: null,\n aog_fee: null,\n total: null,\n currency: \"\",\n approvalType: \"\",\n release_type_id: null,\n sales_rate: 1,\n standard_id: null,\n inducted_start: null,\n t_labour: \"\"\n })\n const [currentData, setCurrentData] = useState({\n name: \"Current Position\",\n position: \"-\",\n tat: \"\",\n etd: \"-\",\n labour: \"\",\n parts: \"\",\n services: \"\",\n equipment: \"\",\n aog_fee: \"\",\n total: \"\",\n currency: \"\",\n approvalType: \"\",\n release_type_id: \"\",\n sales_rate: \"\",\n standard_id: null,\n inducted_start: null,\n t_labour: \"\"\n })\n const [varianceData, setVarianceData] = useState({\n name: \"Variance\",\n position: \"-\",\n tat: \"-\",\n etd: \"-\",\n labour: \"\",\n parts: \"\",\n services: \"\",\n equipment: \"\",\n aog_fee: \"\",\n total: \"\",\n currency: \"\",\n approvalType: \"\",\n release_type_id: \"\",\n sales_rate: \"\",\n standard_id: null,\n inducted_start: null,\n t_labour: \"\"\n })\n\n\n\n\n //Gauage\n const [state, setState] = useState({\n series: [0],\n\n options: {\n chart: {\n type: 'radialBar',\n offsetY: -20,\n sparkline: {\n enabled: false\n }\n },\n plotOptions: {\n radialBar: {\n startAngle: -100,\n endAngle: 100,\n track: {\n background: \"#e7e7e7\",\n strokeWidth: '97%',\n margin: 5, // margin is in pixels\n dropShadow: {\n enabled: false,\n\n }\n },\n\n dataLabels: {\n name: {\n show: false,\n },\n value: {\n show: false,\n\n },\n total: {\n show: false,\n label: 'TOTAL'\n }\n }\n\n }\n },\n grid: {\n padding: {\n top: -10\n }\n },\n fill: {\n type: 'solid',\n gradient: {\n shade: 'light',\n shadeIntensity: 0.4,\n inverseColors: false,\n opacityFrom: 1,\n opacityTo: 1,\n stops: [0, 50, 53, 91]\n },\n },\n labels: [\"Percentage\"],\n }\n })\n\n\n\n\n\n\n useMemo(() => {\n setChartLoading(true)\n setVariance({\n variance_1: varianceTotal,\n variance_2: (totalRow.total) / (approveTotal) * 100\n })\n let value = (totalRow.total) / (approveTotal) * 100\n let finalValue = parseFloat(value).toFixed(2)\n\n if (finalValue !== \"Infinity\") {\n let chartColor = finalValue > 0 && finalValue <= 85 ? \"#4FC605\" : finalValue > 85 && finalValue <= 100 ? \"#FFB300\" : finalValue > 100 ? \"#FF0202\" : \"#e7e7e7\"\n setState((prevState) => {\n const updatedState = _.clone(prevState);\n return {\n ...updatedState,\n series: [finalValue ? finalValue : 0],\n options: {\n ...updatedState.options,\n colors: [chartColor],\n }\n }\n })\n }\n setChartLoading(false)\n }, [approveTotal, totalRow])\n\n const getActionIndicators = async () => {\n try {\n const response = await CommercialServices.getActionIndicators({\n workshop_order_id: currentSelectedOrder.id,\n });\n if (response.success) setActionIndicators(response.data);\n } catch (error) {\n console.log(\"something went wrong from commercial tab action indicators\");\n }\n };\n\n useEffect(() => {\n getActionIndicators();\n getApprovedPosition();\n getCurrentPosition();\n getEstimatedDetails()\n }, []);\n\n const getApprovedPosition = async () => {\n setLoadingApprovedPosition(true);\n const params = {\n workshop_order_id: currentSelectedOrder?.id,\n };\n await CommercialServices.getApprovedPosition(params)\n .then((res) => {\n if (res) {\n setApprovedPosition(res);\n // if (res?.data.length > 0) {\n // setApprovalData()\n // }\n // setCheckQuoteAccepted(res.data[0]?.quote_accepted)\n }\n })\n .catch(() => {\n console.log(\"error\");\n })\n .finally(() => {\n setLoadingApprovedPosition(false);\n });\n };\n const getCurrentPosition = async () => {\n setLoadingCurrentPosition(true);\n const params = {\n workshop_order_id: currentSelectedOrder?.id,\n };\n await CommercialServices.getCurrentPosition(params)\n .then((res) => {\n if (res) {\n setCurrentPosition(res);\n }\n })\n .catch(() => {\n console.log(\"error\");\n })\n .finally(() => {\n setLoadingCurrentPosition(false);\n });\n };\n const getEstimatedDetails = async () => {\n setLoadingEstimatedDeparure(true);\n const params = {\n workshop_order_id: currentSelectedOrder?.id,\n };\n await CommercialServices.getEstimationDeparture(params).then((res) => {\n\n if (res?.success) {\n setEstData(res?.data);\n }\n })\n .catch(() => {\n console.log(\"error\");\n })\n .finally(() => {\n setLoadingEstimatedDeparure(false);\n });\n };\n\n const handleClick = (event) => {\n setOpenMenu(true);\n setAnchorEl(event.currentTarget);\n };\n\n const handleCloseMenu = () => {\n setOpenMenu(false);\n };\n\n\n\n // console.log(\"data====\", approvalData, currentData)\n\n // useEffect(() => {\n // let data = approvedPosition?.data?.filter((item) => {\n // if (selectedRowData?.id === item?.id) {\n // setData(item);\n // return selectedRowData?.id === item?.id;\n // }\n // });\n // setSubmissionData(data);\n // console.log(\"submissionData\", filters)\n // }, [selectedRowData?.id]);\n\n const ITEM_HEIGHT = 48;\n\n const getList = () => {\n const params = {\n // reportable_type: \"WorkshopOrder\",\n ...filters,\n search: deboucedText || \"\",\n filter: filters.filter || \"\",\n page: 1 + page,\n limit: pageSize,\n workshop_order_id: currentSelectedOrder.id,\n\n\n };\n\n BoxpTableAction.getList(dispatch, message, params, \"actionListings\");\n console.log(\"filters\", action)\n };\n\n useEffect(() => {\n getList();\n }, [page, pageSize, deboucedText, filters]);\n\n const updateApprovalStatus = async (id, state) => {\n const formData = new FormData();\n formData.append(\"workshop_action_id\", id);\n formData.append(\"approval_state\", state);\n\n try {\n const response = await CommercialServices.updateApprovalStatus(formData);\n if (response.success) {\n getList();\n getActionIndicators()\n message.showToastMessage({\n message: \"Updated Successfully\",\n variant: \"success\",\n });\n }\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }\n };\n\n const handleApproveBtnClick = (rowData) => {\n setAction(\"customer_Approval\");\n setSelectedRowData(rowData);\n };\n\n const selectedRowTotal = (rowData) => {\n setTotalRow(rowData);\n return <>{rowData?.total};\n };\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n paging: false,\n rowStyle: { height: 42 },\n };\n const tableOptions3 = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n // paging: false,\n rowStyle: { height: 42 },\n };\n const tableOptions4 = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n\n rowStyle: { height: 42 },\n };\n const column1 = [\n {\n title: \"Live values\",\n field: \"live_values\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"20px\",\n },\n cellStyle: {\n width: \"20%\",\n textAlign: \"left\",\n paddingLeft: \"20px\",\n },\n },\n {\n title: \"TAT\",\n field: \"tat_days\" || \"0.00\",\n render: (rowData) => rowData.tat_days != null ? rowData.tat_days : \"\"\n },\n {\n title: \"Actions\",\n field: \"actions\" || \"0.00\",\n },\n {\n title: \"Labour *\",\n field: \"labour\" || \"0.00\",\n render: (rowData) => {\n setlabourAction('labour')\n setCurrentRow(rowData)\n }}>{rowData.labour !== null ? rowData.labour : \"0.00\"}\n },\n {\n title: \"Parts\",\n field: \"parts\" || \"0.00\",\n render: (rowData) => rowData.parts != null ? rowData.parts : \"0.00\"\n },\n {\n title: \"Services\",\n field: \"services\" || \"0.00\",\n render: (rowData) => rowData.services != null ? rowData.services : \"0.00\"\n },\n {\n title: \"Equipment\",\n field: \"equipment\" || \"0.00\",\n render: (rowData) => rowData.equipment != null ? rowData.equipment : \"0.00\"\n },\n {\n title: \"Other\",\n field: \"aog_fee\" || \"0.00\",\n render: (rowData) => rowData.aog_fee != null ? rowData.aog_fee : \"0.00\"\n },\n {\n title: \"Total\",\n field: \"total\" || \"0.00\",\n render: (rowData) => selectedRowTotal(rowData),\n },\n ];\n\n const renderApproveTotal = (total) => {\n setApproveTotal(total)\n return total === null ? \"0.00\" : total\n }\n\n const column2 = [\n {\n title: \"Approval\",\n field: \"approval_number\",\n width: \"5%\",\n headerStyle: {\n textAlign: \"center\",\n paddingLeft: \"22px\",\n },\n cellStyle: {\n textAlign: \"center\",\n paddingLeft: \"22px\",\n },\n render: (rowData) => rowData?.approval_number === 0 ? \"Quote\" : rowData?.approval_number\n },\n {\n title: \"Date\",\n field: \"date\",\n render: (rowData) => formatDateFunction(rowData?.approved_datetime),\n },\n {\n title: \"TAT (Days)\",\n field: \"tat_days_count\",\n render: (rowData) => {\n setTatDaysCount(rowData?.tat_days_count);\n return <>{rowData?.tat_days_count || \"0\"};\n },\n },\n {\n title: \"Actions\",\n field: \"action_count\",\n },\n {\n title: \"Labour\",\n field: \"labour_value\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n render: (rowData) => rowData.labour_value === null ? \"0.00\" : rowData.labour_value\n },\n {\n title: \"Parts\",\n field: \"parts_value\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n render: (rowData) => rowData.parts_value === null ? \"0.00\" : rowData.parts_value\n },\n {\n title: \"Services\",\n field: \"service_value\",\n render: (rowData) => rowData.service_value === null ? \"0.00\" : rowData.service_value\n },\n {\n title: \"Equipment\",\n field: \"equipment_value\",\n render: (rowData) => rowData.equipment_value === null ? \"0.00\" : rowData.equipment_value\n },\n {\n title: \"Other\",\n field: \"aog_fee\",\n render: (rowData) => rowData.aog_fee === null ? \"0.00\" : rowData.aog_fee\n },\n {\n title: \"Total\",\n field: \"total\",\n render: (rowData) => renderApproveTotal(rowData.total)\n },\n {\n title: \"Currency\",\n field: \"currency_name\",\n\n },\n // {\n // title: \"Report\",\n // field: \"report\",\n // render: (rowData) => {\n // if (rowData.approval_number === 0) {\n // return (\n // {\n // if (rowData.quotation_report.length === 0) {\n // message.showToastMessage({\n // message: \"No Report Found.\",\n // variant: \"error\",\n // });\n // } else if (rowData.quotation_report.length != 0) {\n // window.open(rowData?.quotation_report?.map(report => report?.file_path));\n // }\n // }}\n // size=\"small\">\n // \n // \n // )\n\n // }\n // else {\n // return (\n // {\n // if (rowData.commercial_report.length === 0) {\n // message.showToastMessage({\n // message: \"No Report Found.\",\n // variant: \"error\",\n // });\n // } else if (rowData.commercial_report.length != 0) {\n // window.open(rowData?.commercial_report?.map(report => report?.file_path));\n // }\n // }}\n // size=\"small\">\n // \n // \n // )\n // }\n // },\n // },\n {\n title: \"Acceptance\",\n render: (rowData) => {\n if (rowData?.quote_accepted) {\n return (\n
\n \n
\n );\n } else if (rowData?.quote_accepted === null) {\n setCheckQuoteAccepted(true)\n return (\n
\n \n
\n );\n } else if (rowData?.quote_accepted === false) {\n return (\n
\n \n
\n );\n }\n },\n },\n {\n title: \"Action\",\n render: (rowData) => {\n if (rowData?.quote_accepted === null) {\n return (\n handleApproveBtnClick(rowData)}>\n \n )\n }\n else if (rowData?.quote_accepted || !rowData?.quoteAccepted) {\n return (\n\n {\n setAction(\"view_customer_Approval\");\n setSelectedRowData(rowData);\n }}>\n\n \n )\n }\n\n }\n },\n // {\n // title: \"Action\",\n // render: (rowData) => {\n // if (rowData?.quote_accepted) {\n // return (\n // {\n // if (rowData?.proof_of_acceptance !== undefined) {\n // window.open(rowData?.proof_of_acceptance?.map(proof => proof?.file_path));\n // } else {\n // message.showToastMessage({\n // message: \"No Document Found.\",\n // variant: \"error\",\n // });\n // }\n // }}\n // >\n\n // \n // );\n // } else if (rowData?.quote_accepted === null) {\n // return (\n // handleApproveBtnClick(rowData)}\n // disabled={!props.permission.write}\n // variant=\"contained\"\n // // color=\"primary\"\n // >\n // APPROVE\n // \n // );\n // } else if (!rowData?.quote_accepted) {\n // return (\n // {\n // if (rowData?.proof_of_rejection !== []) {\n // window.open(rowData?.proof_of_rejection.map(proof => proof?.file_path));\n // } else {\n // message.showToastMessage({\n // message: \"No Document Found.\",\n // variant: \"error\",\n // });\n // }\n // }}\n // size=\"small\">\n // \n // \n // )\n // }\n // },\n // },\n ];\n const renderZeroState = (value) => {\n return (\n\n
\n \n
\n )\n\n }\n //Gauge \n const column3 = [\n {\n title: \"Action\",\n field: \"action_number\",\n width: \"5%\",\n },\n {\n title: \"Type\",\n field: \"action_category\",\n width: \"20%\",\n headerStyle: {\n width: \"20%\",\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"20%\",\n },\n },\n\n\n\n {\n title: \"Description\",\n field: \"title\",\n width: \"20%\",\n headerStyle: {\n width: \"20%\",\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"20%\",\n },\n },\n {\n title: \"Ready\",\n field: \"approval_readiness\",\n render: (rowData) => renderApvlState(rowData.approval_readiness),\n },\n {\n title: \"State\",\n field: \"approval_state\",\n render: (rowData) => renderButton(rowData),\n },\n {\n title: \"Labour\",\n field: \"labour\",\n render: (rowData) =>\n
\n 0 && rowData.labour < 75) ? '#4FC605' : (rowData.labour >= 75 && rowData.labour < 100) ? '#FFB300' : rowData.labour >= 100 ? '#FF0202' : '#fff'}\n color={rowData.labour >= 100 ? \"#FFFFFF\" : \"#4D4F5C\"}\n />\n
\n\n },\n {\n title: 'Parts',\n field: 'parts',\n render: (rowData) => <>\n {rowData?.parts === \"\" ? renderZeroState(rowData?.parts) : 100 ? '#FF0202' : '#4FC605', fontSize: '14px' }}>{Number(rowData?.parts).toFixed(0)}% }\n \n },\n {\n title: 'Services',\n field: 'service',\n render: (rowData) => <>\n {rowData?.service === \"\" ? renderZeroState(rowData?.service) : 100 ? '#FF0202' : '#4FC605', fontSize: '14px' }}>{Number(rowData?.service).toFixed(0)}% }\n \n },\n\n {\n title: 'Equipment',\n field: 'equipment',\n render: (rowData) => <>\n {rowData?.equipment === \"\" ? renderZeroState(rowData?.equipment) : 100 ? '#FF0202' : '#4FC605', fontSize: '14px' }}>{Number(rowData?.equipment).toFixed(0)}% }\n \n },\n {\n title: 'Overall',\n field: 'overall',\n render: (rowData) => <>\n 100 ? '#FF0202' : '#4FC605', fontSize: '14px' }}>{Number(rowData?.overall).toFixed(0)}% \n \n },\n\n\n // {\n // title: \"QTY Live\",\n // field: \"quantity_live\",\n // },\n // {\n // title: \"QTY Apvl\",\n // field: \"quantity_at_approval\",\n // },\n // {\n // title: \"Value Live\",\n // field: \"charges_live\",\n // },\n // {\n // title: \"Value Apvl\",\n // field: \"charges_at_approval\",\n // },\n // {\n // title: \"Variance\",\n // field: \"variance\",\n // },\n {\n title: \"Detail\",\n render: (rowData) => (\n \n {\n setAction(\"View\")\n setSelectedActionRowData(rowData)\n }}\n />\n \n ),\n },\n ];\n\n //Estimation Departure\n const column4 = [\n {\n title: \"Type\",\n field: \"type\",\n\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"22px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"22px\",\n },\n\n },\n {\n title: \"Position\",\n field: \"position\",\n\n },\n {\n title: \"Date\",\n field: \"date\",\n },\n {\n title: \"History\",\n field: \"\",\n width: \"20%\",\n\n headerStyle: {\n textAlign: \"left\",\n\n },\n cellStyle: {\n width: \"20%\",\n }, render: (rowData) => {\n if (rowData?.type === \"Approved\") {\n return \"\"\n }\n else if (rowData?.type === \"Revised\") {\n return (\n {\n setAction(\"est_history\")\n setCurrentSelection(rowData)\n }}>\n \n \n\n )\n }\n\n }\n },\n {\n title: \"Inducted / Start\",\n field: \"inducted_start\",\n\n\n }, {\n title: \"TAT\",\n field: \"tat_days\",\n\n\n }, {\n title: \"ETD\",\n field: \"etd\",\n\n }, {\n title: \"Progress\",\n field: \"progress\",\n render: (rowData) =>\n
\n 0 && rowData.progress < 75) ? '#4FC605' : (rowData.progress >= 75 && rowData.progress < 100) ? '#FFB300' : rowData.progress >= 100 ? '#FF0202' : '#fff'}\n color={rowData.progress >= 100 ? \"#FFFFFF\" : \"#4D4F5C\"}\n />\n
\n\n },\n {\n title: \"Acceptance\",\n render: (rowData) => {\n if (rowData?.type === \"Approved\") {\n if (rowData?.acceptance === \"green\") {\n return (\n
\n \n
\n );\n } else if (rowData?.acceptance === null) {\n setCheckQuoteAccepted(true)\n return (\n
\n \n
\n );\n } else if (rowData?.acceptance === \"red\") {\n return (\n
\n \n
\n );\n }\n }\n else {\n return (\n
\n\n
\n );\n }\n },\n },\n {\n title: \"Action\",\n field: \"\",\n render: rowData => {\n\n if (rowData?.type === \"Approved\") {\n return \"\"\n }\n else if (rowData?.type === \"Revised\") {\n return (\n\n props?.permission.write ? {\n setAction(\"edit_est\")\n setCurrentSelection(rowData)\n setFormatedDate(moment(rowData?.etd, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\"))\n }}>\n \n : \"\"\n\n\n )\n }\n\n }\n }\n\n\n ]\n\n\n\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target)\n formData.append(\"workshop_order_id\", currentSelectedOrder.id)\n try {\n const response = await CommercialServices.getNextStage(formData);\n if (response.success) {\n getList();\n message.showToastMessage({\n message: \"Updated Successfully\",\n variant: \"success\",\n });\n }\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }\n\n }\n\n const checkUnapprovedPositions = approvedPosition?.data?.length\n ? approvedPosition?.data?.filter((item) => !item.quote_accepted)\n : [];\n\n const renderApvlState = (state) => {\n setApprovalState(\"inProgress\");\n return state === \"amber\" ? (\n
\n \"Icon\"{\" \"}\n
\n ) : (\n
\n \"Icon\"{\" \"}\n
\n );\n };\n\n const renderButton = (rowData) => {\n let ButtonColor, buttonText;\n if (rowData.approval_state === \"approved\") {\n ButtonColor = \"button-positive\";\n buttonText = \"APPROVED\";\n } else if (rowData.approval_state === \"not approved\") {\n ButtonColor = \"button-warning\";\n buttonText = \"PENDING\";\n } else {\n ButtonColor = \"button-negative\";\n buttonText = \"REJECTED\";\n }\n return (\n
\n {\n handleClick(e);\n setCurrentSelection(rowData);\n }}\n >\n {\" \"}\n {buttonText}\n \n \n
\n );\n };\n\n return (\n
\n \n \n Current Position\n \n \n \n
\n \n \n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No data found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n onRowClick={(row) => { }}\n />\n \n\n \n \n \n Variance to Approval\n \n \n {chartLoading && state.series.length === 0 ? : }\n\n\n\n \n\n \n \n 0 ? \"red\" : \"green\"\n }}\n >\n {totalRow.total === approveTotal ? \"0\" : !variance.variance_1 ? \"-\" : parseFloat(variance.variance_1).toFixed(2)}\n \n \n \n 100 ? \"red\" : \"green\"\n }}\n >\n {totalRow.total === approveTotal ? \"0%\" : !variance.variance_1 ? \"-\" : !approveTotal ? \"100%\" : `${parseFloat(variance.variance_2).toFixed(2)}%`}\n \n \n \n\n \n\n \n\n\n\n\n \n
\n \n * Current Labour value is based on completed Job Clockings. To see estimated hours click on the figure shown\n \n
\n\n \n \n Approved Position\n \n \n \n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No History found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n onRowClick={(row) => { }}\n />\n \n All values shown include applicable markup and are shown in the customer’s currency!\n \n \n {openMenu && (\n \n {currentSelection?.approval_state === \"not approved\" && {\n setOpenMenu(false);\n updateApprovalStatus(currentSelection.id, \"approved\");\n }}\n >\n Approve\n }\n {(currentSelection?.approval_state === \"approved\" || currentSelection?.approval_state === \"rejected\") &&\n {\n setOpenMenu(false);\n updateApprovalStatus(currentSelection.id, \"not approved\");\n }}\n >\n Pending\n }\n {currentSelection?.approval_state === \"not approved\" && {\n setOpenMenu(false);\n updateApprovalStatus(currentSelection.id, \"rejected\");\n }}\n >\n Reject\n }\n \n )}\n\n {/* {orderState !== \"Closed\" && ( */}\n {props?.permission.write ? \n \n setAction(\"approval\")}\n >\n + Create New Approvals\n \n \n
\n {orderState === \"Commercial\" && !quoteAccepted && (\n \n \n \n \n \n \n \n )}\n
\n : \"\"}\n {/* )} */}\n {/* Estimated Departure */}\n \n \n Estimated Departure\n \n \n\n\n\n \n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No History found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n />\n\n \n\n {/* Action overview */}\n \n \n Actions Overview\n \n \n \n
\n \n \n \n \n \n Actions\n \n \n \n \n \n \n {actionIndicators.total_actions}\n \n \n \n \n \n {actionIndicators.open_actions}\n \n \n \n \n 0 && 'underline',\n cursor: 'pointer',\n pointerEvents: actionIndicators.pend_approval === 0 && 'none',\n color:\n actionIndicators.pend_approval === 0\n ? \"#50C559\"\n : \"#FFA217\",\n marginRight: \"25px\",\n }}\n onClick={() => {\n setAction(\"approve_all\")\n }}\n >\n {actionIndicators.pend_approval}\n \n \n \n \n \n Total\n \n \n \n Open\n \n \n \n \n Unapproved\n \n \n \n \n\n \n {\n setSearchText(text);\n TableAction.setPage(dispatch, 0);\n }}\n searchText={searchText}\n boxShadow={\"0px 1px 4px #0000001A\"}\n >\n
\n \n }\n onChange={(e) =>\n setFilters((ps) => ({ ...ps, filter: e.target.value }))\n }\n >\n \n Approval Status (All)\n \n Approved\n Pending\n Rejected\n \n \n
\n \n
\n \n
\n\n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No History found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n\n totalCount={totalCount}\n page={page}\n onRowClick={(row) => { }}\n />\n \n Action % values compare current live values to the value captured when the Action State was approved\n \n
\n \n All values shown include applicable markup and are shown in the customer’s currency!\n \n {/* {action === \"approval\" && (\n setAction(null)}\n currentSelectedOrder={currentSelectedOrder}\n approvedPosition={approvedPosition}\n currentPositionData={currentPosition?.data}\n getApprovedPosition={getApprovedPosition}\n totalRow={totalRow}\n tatDays={tatDays}\n />\n )} */}\n\n {action && action === \"approval\" && (\n {\n setAction(null)\n getEstimatedDetails()\n\n }}\n jobData={[currentData, approvalData, varianceData]}\n currentSelectedOrder={currentSelectedOrder}\n approvedPositionnData={approvalData}\n currentPosition={currentData}\n getApprovedPosition={getApprovedPosition}\n appPosition={approvedPosition}\n currPosition={currentPosition}\n setApprovalData={setApprovalData}\n setCurrentData={setCurrentData}\n setVarianceData={setVarianceData}\n totalRow={totalRow}\n tatDays={tatDays}\n estData={estData}\n approvalInitialData={approvalInitialData}\n setApprovalInitialData={setApprovalInitialData}\n />\n )}\n {action === \"View\" && (\n setAction(null)}\n selectedData={selectedActionRowData}\n currentSelectedOrder={currentSelectedOrder} />\n )} {action === \"approve_all\" && (\n setAction(null)}\n currentSelectedOrder={currentSelectedOrder}\n getList={getList}\n getActionIndicators={getActionIndicators}\n />\n )}\n {(action === \"customer_Approval\" || action === \"view_customer_Approval\") && (\n {\n setAction(null)\n getEstimatedDetails()\n\n }}\n approveData={selectedRowData}\n actionMode={action}\n currentSelectedOrder={currentSelectedOrder}\n tab={\"workshop\"}\n />\n )}\n {action === \"est_history\" && (\n setAction(null)}\n\n />\n )}\n {action === \"edit_est\" && (\n {\n setAction(null)\n getEstimatedDetails()\n }}\n id={currentSelectedOrder.id}\n date={formatedDate}\n />\n )}\n {/* {action === \"report\" &&\n setAction(null)}\n quoteReport={currentSelection}\n />} */}\n {labourAction && labourAction === 'labour' && setlabourAction(null)} open={true} currentRow={currentRow} />}\n
\n );\n}\n\nexport default Commercial;\n","import React, { useContext, useState } from \"react\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Box,\n ButtonGroup,\n Button,\n Typography,\n} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport MROButton from \"../../../../components/buttons\";\nimport MROTextField from \"../../../../components/form_components/TextField\";\nimport KitsClientService from \"lib/services/api/procurement/Kits\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\nconst useStyles = makeStyles((theme) => ({\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n maxWidth: \"350px\",\n },\n },\n title: {\n display: \"flex\",\n justifyContent: \"center\",\n fontSize: \"17px\",\n },\n card: {\n padding: \"0 25px\",\n },\n}));\n\nfunction AddTags(props) {\n const classes = useStyles();\n const { handleClose, open } = props\n return (\n
\n \n \n {\" \"}\n \n Add Fixed Tag\n \n \n
\n \n {\n // setError({ ...error, kit_part: false });\n // }}\n />\n \n\n
\n \n Cancel\n \n \n Complete\n \n
\n
\n \n
\n )\n}\n\nexport default AddTags","import React, { useEffect, useState, useRef } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n IconButton,\n Typography,\n} from \"@material-ui/core\";\nimport Grid from \"@material-ui/core/Grid\";\nimport MROTextField from \"../../../../components/form_components/TextField\";\nimport MROButton from \"../../../../components/buttons\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport PositiveSwitch from \"../../../../components/form_components/switch\";\nimport DataService from \"lib/services/api\";\nimport { useMessage } from \"lib/contexts/message_context\";\nimport ListingService from \"../../../../lib/services/api/listing_service\";\nimport ChipInput from \"material-ui-chip-input\";\nimport AddIcon from '@material-ui/icons/AddBox';\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport AddTags from \"./AddTags\";\n\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n \"& input[name='part_number']\": { textTransform: \"uppercase\" },\n \"& input[name='description']\": { textTransform: \"uppercase\" },\n },\n title: {\n fontSize: \"20px\",\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"10px 25px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n },\n partKey: {\n fontSize: \"16px\",\n padding: \"5px\",\n },\n partValue: {\n fontSize: \"16px\",\n color: \"#4D4F5C\",\n padding: \"5px\",\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n maxWidth: \"653px\",\n },\n },\n purchaseGrid: {\n paddingTop: \"0 !important\",\n paddingBottom: \"0 !important\",\n },\n costData: {\n \"& > div\": {\n display: \"flex\",\n \"&:not(:last-child)\": {\n marginBottom: \"10px\",\n },\n \"& span:first-child\": {\n color: \"#4D4F5C\",\n fontSize: \"16px\",\n flex: \"0 0 30%\",\n },\n \"& span:last-child\": {\n color: \"#056191\",\n fontSize: \"16px\",\n },\n },\n },\n cost: {\n \"& div:first-child\": {\n display: \"flex\",\n alignItems: \"baseline\",\n marginBottom: \"10px\",\n \"& > p\": {\n fontSize: \"20px\",\n marginLeft: \"13px\",\n },\n },\n \"& div:last-child\": {\n display: \"flex\",\n alignItems: \"center\",\n \"& > p\": {\n margin: \"0\",\n marginRight: \"40px\",\n },\n },\n },\n error: {\n borderColor: \"red\",\n },\n shelfLifeControlled: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n // margin: \"10px 0 15px\",\n margiRight: \"-11px\",\n \"& span:last-child\": {\n fontSize: \"14px\",\n },\n },\n partText: {\n marginLeft: '14px',\n marginTop: '11px',\n fontWeight: '600'\n }\n}));\n\nfunction ManagePrimaryParts(props) {\n const classes = useStyles();\n const message = useMessage();\n const { action, handleClose, getPartDetails, setSelectedPart, setDescription, projectPartState } = props;\n const [error, setError] = useState({});\n const [loading, setLoading] = useState(false);\n const [files, setFiles] = useState([]);\n const [actions, setActions] = useState()\n const [checked, setChecked] = useState(false);\n const [repairablePart, setRepairablePart] = useState(true);\n const [descriptionField, setDescriptionField] = useState(null)\n const [activeState, setActiveState] = useState(false)\n const [projectState, setProjectState] = useState(false)\n const [partState, setPartState] = useState(false)\n\n const form = useRef(null);\n\n const shelfLifeControlledHandler = (e) => {\n setChecked(e.target.checked);\n };\n const handleRepairablePart = (e) => {\n\n setRepairablePart(e.target.checked)\n }\n const handleActiveState = (e) => {\n setActiveState(e.target.checked)\n\n }\n\n useEffect(() => {\n if (projectPartState === true) {\n setProjectState(true)\n }\n }, [projectPartState])\n\n const handleSubmit = (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const formDataFile = new FormData();\n const optionalFields = [\"maintenance_data_ref\", \"part_supplier_id\", \"purchase_comments\"];\n let valid = true;\n let errors = {\n part_number: false,\n description: false,\n // units_of_measure_id: false,\n // units_issued: false,\n };\n\n formData &&\n Object.keys(errors).forEach((keyName) => {\n if (\n !optionalFields.includes(keyName) &&\n formData &&\n !formData.get(keyName)?.length\n ) {\n errors[keyName] = true;\n valid = false;\n }\n });\n if (!valid) {\n setError(errors);\n return;\n }\n const partNumber = formData.get(\"part_number\");\n formData.delete(\"part_number\")\n formData.append('part_number', partNumber?.toUpperCase())\n formData.delete(\"description\")\n formData.delete(\"shelf_life_control\")\n formData.delete(\"repairable\")\n formData.delete(\"active\")\n formData.append(\"description\", descriptionField?.toUpperCase())\n formData.append(\"shelf_life_control\", false);\n formData.append(\"units_of_measure_id\", 1);\n formData.append(\"units_issued\", 1);\n formData.append(\"repairable\", repairablePart);\n formData.append(\"project_part\", projectState);\n formData.append(\"status\", true);\n if (projectState) {\n formData.append(\"project_serialised\", partState);\n }\n formData.append(\"active\", activeState === true ? false : true);\n formData.append(\"organisation_id\", getOrganisationId());\n\n\n if (action === \"Add\") {\n setLoading(true);\n MaintenanceServices.createPrimeData(formData)\n .then((res) => {\n if (res?.success) {\n getPartDetails();\n setDescription(res?.data.description)\n setSelectedPart({\n id: res?.data.id,\n part_number: res?.data.part_number\n })\n if (files?.length) {\n formDataFile.append(\"id\", res?.data.id);\n formDataFile.append(\"part_type\", \"PrimaryPart\");\n DataService.createData(formDataFile, \"saveCertificates\")\n .then((resData) => { })\n .catch((error) => { });\n }\n setLoading(false);\n message.showToastMessage({\n message: \"Parts Added Successfully\",\n variant: \"success\",\n });\n // getList();\n handleClose();\n }\n\n else {\n\n setLoading(false);\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // getList();\n handleClose();\n }\n\n\n\n })\n .catch((err) => {\n setLoading(false);\n });\n }\n if (action === \"editPart\") {\n setLoading(true);\n DataService.updateData(formData, \"\", \"primaryParts\")\n .then((res) => {\n if (res?.success) {\n if (files?.length) {\n formDataFile.append(\"id\", res?.data?.id);\n DataService.createData(formDataFile, \"saveCertificates\")\n .then((resData) => { })\n .catch((error) => { });\n }\n setLoading(true);\n message.showToastMessage({\n message: \"Parts Updated Successfully\",\n variant: \"success\",\n });\n // getList();\n handleClose();\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n }\n };\n\n // useEffect(() => {\n // if (currentSelection?.id) {\n // fetchCertificates();\n // } else {\n // setDrawerState(true);\n // }\n // }, [currentSelection?.id]);\n\n // const fetchCertificates = () => {\n // const params = {\n // id: currentSelection?.id,\n // };\n // ListingService.getData(params, \"getCertificates\")\n // .then((res) => {\n // if (res?.success) {\n // setCertificatesData(res?.data);\n // setDrawerState(true);\n // }\n // })\n // .catch((error) => {\n // console.log(\"Certificates error =>\", error);\n // });\n // };\n\n const handleDeleteCertificates = (id) => {\n DataService.deleteData(\"\", \"removeCertificates\", { id: id })\n .then((res) => {\n if (res?.success) {\n message.showToastMessage({\n message: \"Removed successfully\",\n variant: \"success\"\n })\n }\n })\n .catch((error) => {\n console.log(\"Delete certificate delete error =>\", error);\n });\n };\n\n return (\n
\n \n \n \n {\" \"}\n {action} Workshop Part\n \n \n \n
\n
\n \n \n {\n setError({ ...error, part_number: false });\n }}\n />\n \n\n \n {\n setError({ ...error, description: false });\n setDescriptionField(e.target.value)\n }}\n // defaultValue={currentSelection.description}\n />\n \n \n \n handleRepairablePart(e)}\n // name=\"Repairable part?\"\n color=\"success\"\n />\n }\n label=\"Repairable part?\"\n labelPlacement=\"start\"\n disabled={true}\n // name={\"repairable_parts\"}\n // defaultChecked={currentSelection.shelf_life_control}\n className={classes.shelfLifeControlled}\n />\n \n\n\n \n \n \n handleActiveState(e)}\n color=\"success\"\n />\n }\n disabled={true}\n label=\"Hide/Disable in Store/Stock listing?\"\n labelPlacement=\"start\"\n name={\"active\"}\n className={classes.shelfLifeControlled}\n />\n \n \n \n setProjectState(e.target.checked)}\n // name=\"Hide/Disable in Store/Stock listing?\"\n color=\"success\"\n />\n }\n\n label=\"Workshop Project Part?\"\n labelPlacement=\"start\"\n name={\"active\"}\n // defaultChecked={currentSelection.shelf_life_control}\n className={classes.shelfLifeControlled}\n />\n \n \n {projectState && \n \n setPartState(e.target.checked)}\n // name=\"Hide/Disable in Store/Stock listing?\"\n color=\"success\"\n />\n }\n // disabled={true}\n label=\"Project Parts Individually Serialised?\"\n labelPlacement=\"start\"\n name={\"active\"}\n // defaultChecked={currentSelection.shelf_life_control}\n className={classes.shelfLifeControlled}\n />\n \n }\n {/* \n {\n setError({ ...error, units_of_measure_id: false });\n }}\n defaultValue={currentSelection.units_of_measure_id}\n >\n \n Select Unit of Measure\n \n {unitOfMeasures.map((uom) => (\n \n {uom.unit_name}\n \n ))}\n \n \n \n {\n setError({ ...error, units_issued: false });\n }}\n defaultValue={currentSelection?.units_issued}\n >\n \n \n \n \n \n \n\n \n \n \n Supplier\n {suppliers.map((supplier) => (\n \n {supplier.name}\n \n ))}\n \n \n \n \n \n\n\n \n\n\n \n \n Part Options\n\n \n \n\n shelfLifeControlledHandler(e)}\n name=\"shelf_life_control\"\n color=\"success\"\n />\n }\n label=\"Shelf-life controlled part?\"\n labelPlacement=\"start\"\n name={\"shelf_life_control\"}\n defaultChecked={currentSelection.shelf_life_control}\n className={classes.shelfLifeControlled}\n />\n handleRepairablePart(e)}\n name=\"Repairable part?\"\n color=\"success\"\n />\n }\n label=\"Repairable part?\"\n labelPlacement=\"start\"\n name={\"repairable_parts\"}\n defaultChecked={currentSelection.shelf_life_control}\n className={classes.shelfLifeControlled}\n />\n handleActiveState(e)}\n name=\"Hide/Disable in Store/Stock listing?\"\n color=\"success\"\n />\n }\n label=\"Hide/Disable in Store/Stock listing?\"\n labelPlacement=\"start\"\n name={\"active\"}\n defaultChecked={currentSelection.shelf_life_control}\n className={classes.shelfLifeControlled}\n />\n \n \n */}\n\n {/* \n Part Tags\n setActions(\"add_tag\")}>\n \n \n */}\n {/* \n {\n setNewPart(chips);\n setPart(chips.join());\n }}\n label=\"Applicable to Part Numbers\"\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n name={\"order_emails\"}\n fullWidth\n type=\"email\"\n select\n classes={{\n input: classes.chipInput,\n }}\n helperText={\"Hit enter after typing the tag title\"}\n />\n */}\n {/* \n \n setError((err) => ({ ...err, material_data: false }))\n }\n />\n */}\n \n
\n \n Cancel\n \n \n {action === \"Add\" ? \"Complete\" : \"Edit\"}\n \n
\n \n
\n
\n \n {actions && actions === \"add_tag\" &&\n setActions(null)}\n open={actions}\n />\n }\n
\n );\n}\n\nexport default ManagePrimaryParts;\n","import React, { useEffect, useReducer } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { Dialog, makeStyles } from \"@material-ui/core\";\nimport { Popover } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\nimport { Box } from \"@material-ui/core\";\nimport MaterialTable from \"material-table\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, {\n options,\n} from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport PopupDialog from \"./PopupDialog\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { useState } from \"react\";\n\nconst StyledMenu = withStyles({\n paper: {\n width: \"523px\",\n height: \"fit-content\",\n top: \"290px !important\",\n padding: \"30px\",\n boxShadow: \"0px 3px 6px #00000029\",\n },\n})((props) => (\n \n));\n\nexport default function UnitPricePopup(props) {\n const { currentSelection, open, handleClose, workshop_order_id } = props;\n\n const classes = useStyles();\n\n\n const [priceDetails, setPriceDetails] = useState([])\n const [total, setTotal] = useState()\n const [busy, setBusy] = useState(null)\n\n const getPriceDetails = async () => {\n setBusy(true)\n const params = {\n workshop_order_id: workshop_order_id\n }\n await MaintenanceServices.getPriceDetails(params)\n .then((res) => {\n setPriceDetails(res.data)\n\n })\n .catch((err) => {\n })\n .finally(() => {\n setBusy(false);\n });\n }\n useEffect(() => {\n getPriceDetails()\n\n }, [])\n\n // tableOptions\n const tableOptions = {\n ...options,\n search: false,\n toolbar: false,\n paging: false,\n headerStyle: {\n textAlign: \"center\",\n paddingTop: \"22px\",\n paddingBottom: \"16px\",\n },\n rowStyle: {\n height: '42px'\n }\n };\n\n const handleTotal = () => {\n setTotal(currentSelection?.total)\n return total ? total : '-'\n\n }\n\n const columns = [\n {\n title: \"Labour\",\n field: \"labour\",\n\n\n },\n {\n title: \"Parts\",\n field: \"parts\",\n\n },\n {\n title: \"Services\",\n field: \"services\",\n\n },\n {\n title: \"Equip\",\n field: \"equipment\",\n\n },\n {\n title: \"Unit Total\",\n field: \"total\",\n render: () => handleTotal()\n },\n ];\n\n return (\n
\n \n \n \n Unit Price\n \n \n\n \n \n \n \n
\n );\n}\n\nconst useStyles = makeStyles((theme) => ({\n bodyText: {\n fontSize: 20,\n lineHeight: \"28px\",\n },\n}));\n","import React, { useEffect, useReducer, useState } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { Dialog, makeStyles } from \"@material-ui/core\";\nimport { Popover } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\nimport { Box } from \"@material-ui/core\";\nimport MaterialTable from \"material-table\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, {\n options,\n} from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport PopupDialog from \"./PopupDialog\";\nimport { CommercialServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/commercial\";\n\n\nconst StyledMenu = withStyles({\n paper: {\n width: \"523px\",\n height: \"fit-content\",\n top: \"290px !important\",\n padding: \"30px\",\n boxShadow: \"0px 3px 6px #00000029\",\n },\n})((props) => (\n \n));\n\nexport default function CommercialOverview(props) {\n const { open, data, handleClose, currentSelection, workshop_order_id } = props;\n\n const classes = useStyles();\n\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n\n const [currentPosition, setCurrentPosition] = useState([]);\n const [approvedPosition, setApprovedPosition] = useState([]);\n const [loadingCurrentPosition, setLoadingCurrentPosition] = useState(false);\n const [loadingApprovedPosition, setLoadingApprovedPosition] = useState(false);\n\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(5)\n const [totalCount, setTotalCount] = useState(5)\n // tableOptions\n const tableOptions = {\n ...options,\n search: false,\n toolbar: false,\n paging: false,\n headerStyle: {\n textAlign: \"center\",\n paddingTop: \"22px\",\n paddingBottom: \"16px\",\n },\n rowStyle: { height: 42 },\n };\n const tableOptions2 = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n headerStyle: {\n textAlign: \"center\",\n paddingTop: \"22px\",\n paddingBottom: \"16px\",\n },\n rowStyle: { height: 42 },\n };\n\n const columns = [\n {\n title: \"Current\",\n field: \"live_values\",\n\n },\n {\n title: \"TAT\",\n field: \"tat_days\" || \"0.00\",\n render: (rowData) => rowData.tat_days != null ? rowData.tat_days : \"-\"\n },\n {\n title: \"Labour\",\n field: \"labour\" || \"0.00\",\n render: (rowData) => rowData.labour != null ? rowData.labour : \"0.00\"\n },\n {\n title: \"Parts\",\n field: \"parts\" || \"0.00\",\n render: (rowData) => rowData.parts != null ? rowData.parts : \"0.00\"\n },\n {\n title: \"Services\",\n field: \"services\" || \"0.00\",\n render: (rowData) => rowData.services != null ? rowData.services : \"0.00\"\n },\n {\n title: \"Equip\",\n field: \"equipment\" || \"0.00\",\n render: (rowData) => rowData.equipment != null ? rowData.equipment : \"0.00\"\n },\n {\n title: \"AOG\",\n field: \"aog_fee\" || \"0.00\",\n render: (rowData) => rowData.aog_fee != null ? rowData.aog_fee : \"0.00\"\n },\n {\n title: \"Total\",\n field: \"total\" || \"0.00\",\n render: (rowData) => rowData.total === null ? '0.00' : rowData.total\n },\n ];\n const columns2 = [\n {\n title: \"Approval\",\n field: \"approval_number\",\n render: (rowData) => rowData?.approval_number === 0 ? \"Quote\" : rowData?.approval_number\n },\n {\n title: \"TAT\",\n field: \"tat_days_count\",\n render: (rowData) => {\n\n return <>{rowData?.tat_days_count || \"0\"};\n },\n },\n {\n title: \"Labour\",\n field: \"labour_value\",\n render: (rowData) => rowData.labour_value === null ? \"0.00\" : rowData.labour_value\n },\n {\n title: \"Parts\",\n field: \"parts_value\",\n render: (rowData) => rowData.parts_value === null ? \"0.00\" : rowData.parts_value\n },\n {\n title: \"Services\",\n field: \"service_value\",\n render: (rowData) => rowData.service_value === null ? \"0.00\" : rowData.service_value\n },\n {\n title: \"Equip\",\n field: \"equipment_value\",\n render: (rowData) => rowData.equipment_value === null ? \"0.00\" : rowData.equipment_value\n },\n {\n title: \"AOG\",\n field: \"aog_fee\",\n render: (rowData) => rowData.aog_fee === null ? \"0.00\" : rowData.aog_fee\n },\n {\n title: \"Total\",\n field: \"total\",\n render: (rowData) => rowData.total === null ? '0.00' : rowData.total\n },\n ];\n\n const getCurrentPosition = async () => {\n setLoadingCurrentPosition(true);\n const params = {\n workshop_order_id: workshop_order_id,\n };\n await CommercialServices.getCurrentPosition(params)\n .then((res) => {\n if (res) {\n setCurrentPosition(res.data);\n }\n })\n .catch(() => {\n console.log(\"error\");\n })\n .finally(() => {\n setLoadingCurrentPosition(false);\n });\n };\n\n\n useEffect(() => {\n getCurrentPosition()\n }, [])\n\n const getApprovedPosition = async () => {\n setLoadingApprovedPosition(true);\n const params = {\n workshop_order_id: workshop_order_id,\n page: page + 1,\n limit: pageSize\n };\n await CommercialServices.getApprovedPosition(params)\n .then((res) => {\n if (res) {\n setApprovedPosition(res.data);\n setTotalCount(res.total_count)\n // setCheckQuoteAccepted(res.data[0]?.quote_accepted)\n }\n })\n .catch(() => {\n console.log(\"error\");\n })\n .finally(() => {\n setLoadingApprovedPosition(false);\n });\n };\n\n\n useEffect(() => {\n getApprovedPosition()\n }, [page, pageSize, totalCount])\n\n\n return (\n
\n \n \n \n Commercial Overview\n \n \n Job Quantity  {currentSelection?.quantity}\n \n \n Current Calculation *\n\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n // onSearchChange={(search) => {\n // TableAction.setSearchText(dispatch, search);\n // }}\n totalCount={totalCount}\n page={page}\n />\n * Current calculation is based on actual job values, however, utilises current labour and parts rates\n \n Approved Positions\n\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n // onSearchChange={(search) => {\n // TableAction.setSearchText(dispatch, search);\n // }}\n totalCount={totalCount}\n page={page}\n />\n \n \n
\n );\n}\n\nconst useStyles = makeStyles((theme) => ({\n bodyText: {\n fontSize: 16,\n lineHeight: \"28px\",\n },\n}));\n","import MROFullScreenRightDrawer from 'components/fullwidth_dialog'\nimport React, { useReducer } from 'react'\nimport Typography from \"@material-ui/core/Typography\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport { Box, makeStyles, MenuItem, Tooltip } from \"@material-ui/core\";\nimport Grid from \"@material-ui/core/Grid\";\nimport MROTextField from 'components/form_components/TextField';\nimport TouchAppIcon from \"@material-ui/icons/TouchApp\";\n\nimport MaterialTable from \"material-table\";\nimport TableAction from 'actions/table_actions';\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from 'reducers/table_reducer';\nimport tableIcons, {\n options,\n} from 'components/universal/table_attributes';\nimport {\n Visibility as ViewIcon,\n} from \"@material-ui/icons\";\nimport { useState } from 'react';\nimport { Autocomplete } from '@material-ui/lab';\nimport BoxpTableAction from 'actions/boxp_table_actions';\nimport { useContext } from 'react';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport { useEffect } from 'react';\nimport { format24HrDateTime } from 'lib/utils/common_utils';\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport { addHyphenToNullFields } from 'lib/utils/helperFunctions';\nimport UnitPricePopup from './UnitPricePopup';\nimport PriceBreaks from './PriceBreaks';\nimport CommercialOverview from './CommercialOverview';\n\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n root: {\n backgroundColor: \"#ffffff\",\n },\n wrapper: {\n padding: \"0 28px\",\n },\n mainTitle: {\n fontSize: \"20px\",\n paddingTop: \"25px\",\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"10px\",\n marginTop: \"20px\",\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n descriptionText: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n borderRadius: \"8px\",\n padding: \"20px\",\n background: \"#F5F5F5\",\n },\n partKey: {\n fontSize: \"14px\",\n // padding: \"5px\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"5px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n alternatesInfo: {\n fontSize: \"16px\",\n color: \"#4D4F5C\",\n marginTop: \"15px\",\n display: \"block\",\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n }\n\n}));\n\nfunction PartHistory(props) {\n const { handleClose, primePart, workshop_order_id } = props;\n const message = useContext(ToastMessageContext)\n const [selectedPart, setSelectedPart] = useState({});\n const [runApiCall, setRunApiCall] = useState(false);\n const [action, setAction] = useState(null)\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, searchText, data, inProgress } = tableState;\n const [selectedId, setSelectedId] = useState({})\n const [currentSelection, setCurrentSelection] = useState({})\n const classes = useStyles()\n\n\n const handleAction = (data) => {\n props.handleData(data)\n handleClose();\n }\n\n useEffect(() => {\n if (runApiCall) {\n getPartHistory();\n }\n }, [page, pageSize, selectedPart, searchText]);\n\n const getPartHistory = () => {\n const params = {\n page: page + 1,\n limit: pageSize,\n order_type: \"Maintenance\",\n primary_part_id: selectedPart?.id,\n search: searchText\n };\n BoxpTableAction.getList(dispatch, message, params, \"partHistory\");\n };\n\n //columns\n const columns = [\n {\n title: \"Order #\",\n field: \"order_no\",\n\n },\n {\n title: \"Date\",\n field: \"date\",\n render: (rowData) => format24HrDateTime(rowData?.created_at)\n },\n {\n title: \"Base\",\n field: \"base_station\",\n\n },\n {\n title: \"Customer\",\n field: \"customer\",\n\n },\n {\n title: \"Description of works\",\n field: \"planning_description\",\n headerStyle: {\n textAlign: \"center\",\n width: \"20%\",\n },\n cellStyle: {\n textAlign: \"center\",\n width: \"20%\",\n },\n\n },\n {\n title: \"WS Report\",\n field: \"wsreport\",\n headerStyle: {\n width: \"5%\",\n },\n render: (rowData) => (\n \n {\n window.open(rowData?.workshop_report?.map(report => report?.file_path));\n }}\n />\n \n ),\n\n }, {\n title: \"TAT\",\n field: \"tat_days\",\n\n },\n {\n title: \"Unit Price\",\n field: \"total\",\n render: (rowData) => {\n return (\n <>\n {\n setAction(\"unit_price\")\n setSelectedId(rowData?.id)\n setCurrentSelection(rowData)\n }}>\n \n {rowData?.total}\n \n \n \n )\n }\n },\n {\n title: \"Price Breaks\",\n field: \"price_breaks\",\n render: (rowData) => {\n return (\n <>\n {\n setAction(\"price_breaks\")\n setSelectedId(rowData?.id)\n }}>\n \n {rowData?.price_breaks}\n \n \n \n )\n }\n },\n {\n title: \"AOG Fee\",\n field: \"aog\",\n\n }, {\n title: \"Cur\",\n field: \"currency_code\",\n\n }, {\n title: \"Actuals\",\n field: \"aprvl\",\n render: (rowData) => {\n return (\n <>\n {\n setAction(\"commercial\")\n setSelectedId(rowData?.id)\n setCurrentSelection(rowData)\n }}>\n \n {rowData?.aprvl}\n \n \n \n )\n }\n\n },\n {\n title: \"Action\",\n field: \"action\",\n render: (rowData) => (\n handleAction(rowData)}>\n \n \n ),\n\n }\n ];\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n searchText: searchText,\n headerStyle: {\n paddingTop: \"2px\",\n paddingBottom: \"13px\",\n textAlign: \"center\",\n },\n };\n\n\n\n return (\n \n \n\n \n {\n handleClose()\n }\n }\n >\n \n \n\n \n Part History\n \n \n \n
\n
\n \n Part Details\n \n {\"\"}\n \n Search and select a part to see historical Orders in the system\n \n \n option.id === value.id}\n value={selectedPart !== null && selectedPart}\n onChange={(event, value) => {\n setSelectedPart(value);\n setRunApiCall(true)\n }}\n id=\"tags-standard\"\n options={primePart || []}\n // loading={loading}\n getOptionLabel={(option) => option?.part_number || ''}\n renderInput={(params) => (\n \n )}\n />\n \n \n \n \n \n \n History\n \n
\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n
\n
\n\n
\n {action === \"unit_price\" &&\n setAction(null)}\n workshop_order_id={selectedId}\n currentSelection={currentSelection}\n />\n }\n {action === \"price_breaks\" &&\n setAction(null)}\n workshop_order_id={selectedId}\n />\n }\n {action === \"commercial\" &&\n setAction(null)}\n workshop_order_id={selectedId}\n currentSelection={currentSelection}\n />\n }\n\n\n
\n )\n}\n\nexport default PartHistory","import { Button, ButtonGroup, Grid } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport RemoveIcon from \"@material-ui/icons/Remove\";\nimport MROTextField from \"../../../../../components/form_components/TextField\";\nimport { fixedInputValueTo2DecimalPlaces } from \"lib/utils/helperFunctions\";\n\nexport default function NumericIncrementDiscount({ setError, state, setState, ...props }) {\n const [val, setVal] = useState(props.value ? parseFloat(props?.value) : \"\");\n const handleChange = (action) => () => {\n typeof setError === \"function\" && setError();\n if (action === \"inc\") {\n if (parseFloat(val || 0) >= 0)\n if (parseFloat(val) % 0.5 === 0) setVal(parseFloat(val + 0.5));\n else setVal(parseFloat(val || 0) + 0.5);\n }\n if (action === \"dec\") {\n if (parseFloat(val) > 0)\n if (parseFloat(val) % 0.5 === 0){\n setVal(parseFloat(val - 0.5))\n } else if (parseFloat(val) <= 0.5 ){\n setVal(0)\n }\n else setVal(Math.round(parseFloat(val || 0) - 0.5))\n }\n };\n\n useEffect(() => {\n setState({\n ...state,\n discount: val,\n });\n }, [val]);\n\n console.log({ val });\n\n useEffect(() => {\n // setVal(parseFloat(props?.value))\n }, [props.value]);\n\n let inputprops = {\n value: props.value,\n };\n\n return (\n <>\n \n {/* */}\n {\n typeof setError === \"function\" && setError();\n typeof setVal === \"function\" && setVal((fixedInputValueTo2DecimalPlaces(e.target.value.replace(/[A-Za-z]/g, \"\"))));\n }}\n />\n {/* */}\n \n \n \n {\" \"}\n \n \n \n {\" \"}\n \n \n \n {/* */}\n \n \n );\n}\n","import React, { useContext, useState } from \"react\";\nimport { Box, Grid, Typography } from \"@material-ui/core\";\nimport MRODialog from \"components/MRODialog\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport MROTextField from \"components/form_components/TextField\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport NumericIncrementMinQty from \"views/Operations/LineMaintenance/WorkOrder/FieldComponents/NumericIncrementMinQty\";\nimport NumericIncrementDiscount from \"views/Operations/LineMaintenance/WorkOrder/FieldComponents/NumericIncrementDiscount\";\nimport { useEffect } from \"react\";\n\nfunction PriceBrand(props) {\n const classes = useStyles();\n const { handleClose, open, getAllPriceBreaks, unit_total, workshop_order_id, action, currentSelectedData } = props;\n const [busy, setBusy] = useState(null);\n const [qty, setQty] = useState()\n const [priceBreak, setPricebreak] = useState(null);\n const [unitTotal, setUnitTotal] = useState(null);//7483329076\n const [errors, setErrors] = useState({});\n const [state, setState] = useState({\n // min_quantity: '',\n discount: ''\n })\n const message = useContext(ToastMessageContext);\n\n // console.log(\"current selected data isd====================\", currentSelectedData, action)\n\n useEffect(() => {\n let unitTotal = unit_total * (1 - (Number(state.discount) / 100))\n setUnitTotal(unitTotal)\n }, [unit_total, state.discount, currentSelectedData])\n\n useEffect(() => {\n const getPriceBreaks = async () => {\n if (action === \"edit_price\") {\n await MaintenanceServices.getPriceBreaks(currentSelectedData?.id)\n .then((res) => {\n if (res.success) {\n setPricebreak(res.data)\n }\n })\n .catch((err) => {\n })\n .finally(() => {\n setBusy(null);\n });\n }\n }\n getPriceBreaks()\n\n }, [currentSelectedData])\n\n useEffect(() => {\n if (action === \"edit_price\") {\n setState({\n // min_quantity: currentSelectedData?.min_quantity,\n discount: currentSelectedData?.discount\n })\n setQty(currentSelectedData?.min_quantity,)\n setUnitTotal(priceBreak?.band_unit_cost)\n }\n }, [currentSelectedData, priceBreak])\n\n const submitHandler = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const { error, valid } = validateFormData(formData, [\"band_unit_price\"]);\n if (!valid) {\n setBusy(null);\n setErrors(error);\n return;\n }\n\n //Create request\n if (action !== \"edit_price\") {\n setBusy(\"create\");\n formData.append(\"workshop_order_id\", workshop_order_id);\n await MaintenanceServices.createPriceBreaks(formData)\n .then((res) => {\n if (res.success) {\n getAllPriceBreaks();\n handleClose();\n message.showToastMessage({\n message: \"Created Successfully!\",\n variant: \"success\",\n });\n }\n\n })\n .catch((res) => {\n message.showToastMessage({\n message: res?.error,\n variant: \"error\",\n })\n handleClose();\n })\n .finally(() => {\n setBusy(null);\n });\n } else {\n setBusy(\"edit\");\n await MaintenanceServices.editPriceBreaks(formData, currentSelectedData?.id)\n .then((res) => {\n if (res.success) {\n getAllPriceBreaks();\n handleClose();\n message.showToastMessage({\n message: \"Updated Successfully!\",\n variant: \"success\",\n });\n }\n })\n .catch((res) => {\n message.showToastMessage({\n message: res?.error,\n variant: \"error\",\n })\n handleClose();\n })\n .finally(() => {\n setBusy(null);\n });\n }\n }\n\n const handleChange = ({ target: { name, value } }) => {\n setState({\n ...state,\n [name]: value\n })\n }\n\n return (\n \n \n Price Band\n \n \n \n {action === \"edit_price\" ? `Band ${currentSelectedData.band}` : \"Band\"}\n \n \n \n {/* \n setErrors((prevState) => ({\n ...prevState,\n min_quantity: false,\n }))\n }\n /> */}\n \n setErrors((prevState) => ({\n ...prevState,\n min_quantity: false,\n }))\n }\n minQty={1}\n />\n \n \n \n setErrors((prevState) => ({\n ...prevState,\n discount: false,\n }))\n }\n />\n \n\n \n Quote single unit price:  \n {unit_total}\n \n \n \n \n \n );\n}\n\nconst useStyles = makeStyles((theme) => ({\n details: {\n \"& .MuiGrid-grid-xs-8 .MuiTypography-root\": {\n textAlign: \"center\",\n },\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n}));\n\nexport default PriceBrand;\n","import React, { useState, useEffect, useReducer } from \"react\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Typography from \"@material-ui/core/Typography\";\nimport MROButton from \"components/buttons\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport MROTextField from \"components/form_components/TextField\";\nimport {\n Box,\n CircularProgress,\n Dialog,\n DialogContent,\n DialogTitle,\n IconButton,\n MenuItem,\n} from \"@material-ui/core\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { useContext } from \"react\";\nimport { useMemo } from \"react\";\nimport UploadButton from \"components/form_components/upload_multiple\";\nimport AwsDateTimeFieldFor from \"components/form_components/AwsDateTimeFieldFor\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport YesNoField from \"components/form_components/YesNoField\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport UnlockIcon from \"assets/Unlock.png\";\nimport lock from \"assets/icons/Lock.svg\";\nimport unlock from \"assets/icons/Unlock.svg\";\nimport { WorkshopContext } from \"./WorkshopContext/WorkshopContext\";\nimport \"index.css\";\nimport { useTheme } from \"@material-ui/core\";\nimport { getOrganisationId, getUserId } from \"lib/utils/common_utils\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport AddIconBox from \"@material-ui/icons/AddBox\";\nimport ManagePrimaryParts from \"./QuotePopUp/ManagePrimaryParts\";\nimport RestoreIcon from '@material-ui/icons/Restore';\nimport PartHistory from \"./QuotePopUp/PartHistory\";\nimport MessagePopup from \"components/universal/messagePopup\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport PriceBrand from \"./QuotePopUp/PriceBrand\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport BoxpDataService from \"lib/services/api/boxp_index\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport FileUpload from \"components/form_components/fileUpload\"\nimport PartPricing from \"./Commercial/LookupPricing/PartPricing\";\nimport CreateProjectParts from \"./QuotePopUp/CreateProjectParts\";\nimport { PanoramaSharp } from \"@material-ui/icons\";\nconst useStyles = makeStyles((theme) => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"25%\",\n },\n },\n currencyName: {\n // color: theme.palette.secondary.main, \n fontWeight: \"bold\"\n },\n wrapper: {\n width: \"85%\",\n margin: \"1% 3%\",\n },\n option: {\n backgroundColor: \"red\",\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n \"& input[name='part_number']\": { textTransform: \"uppercase\" },\n \"& input[name='item_description']\": { textTransform: \"uppercase\" },\n },\n warning: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: \"16px\",\n marginBottom: \"20px\",\n },\n input: {\n \"&::placeholder\": {\n textTransform: \"inherit\",\n },\n },\n \"&::-webkit-input-placeholder\": { color: \"blue\" },\n inputEstimate: {\n \"&::placeholder\": {\n fontSize: \"10px\",\n },\n },\n button: {\n padding: \"5px !important\",\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n disableFieldDesc: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n textTransform: \"uppercase\"\n },\n svg: {\n filter: \"invert(1)\",\n height: 18,\n marginBottom: 2,\n },\n title: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n actionButtons: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n}));\n\nfunction Quote(props) {\n const classes = useStyles();\n const theme = useTheme();\n const {\n workshopOrder,\n quoteId,\n action,\n getMaintenanceOrderList,\n handleClose,\n setAction,\n quoteStatus,\n workshop_id_maint,\n statuFlag,\n readOnly,\n readAndWrite,\n editTab,\n setEditTab,\n tabStatus,\n currentSelection,\n getWorkshopOrderDetails,\n actionStoppedOrder,\n tabId\n } = props;\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n // const [state, rDispatch] = useReducer(dataReducer, INITIAL_DATA_STATE);\n const { page, totalCount, pageSize } = tableState;\n const message = useContext(ToastMessageContext);\n const [selectedPart, setSelectedPart] = useState({});\n const [currentSelectedData, setCurrentSelectedData] = useState({})\n const [primePart, setPrimePart] = useState([])\n const [errors, setErrors] = useState({});\n const [editStatus, setEditStatus] = useState(false);\n const [aogUpdate, setAogUpdate] = useState(null);\n const [updateQuoteLoading, setUpdateQuoteLoading] = useState(null);\n const [disabled, setDisabled] = useState(\n action === \"Send Quote \" || quoteStatus === false ? false : true\n );\n const [customerDetails, setCustomerDetails] = useState([]);\n const [qty, setQty] = useState();\n const [tatQuantity, setTatquantity] = useState();\n const [menu, setMenu] = useState(tabId === 20 ? \"At Base - Goods In\" : \"At Base - NO Goods In\");\n const {\n state,\n setState,\n shouldTabDataUpdate,\n setShouldTabDataUpdate,\n editButton,\n setEditButton,\n setTabStatus,\n setEditTabStatus,\n } = useContext(WorkshopContext);\n const [switchState, setSwitchstate] = useState(false);\n const [projectState, setProjectstate] = useState(false);\n const [release, setRelease] = useState(\"At Base - Goods Out\");\n const [baseStation, setBaseStation] = useState([]);\n const [loading, setLoading] = useState(null);\n const [quotation, setQuotation] = useState([]);\n const [cusExist, setExistCus] = useState('yes');\n const [quantityPrice, setQuantityPrice] = useState('no');\n const [detailedBreakDown, setDetailedBreakDown] = useState('no');\n const [contactEmail, setContactEmail] = useState(null);\n const [partNumber, setPartNumber] = useState(null);\n const [serialNumber, setSerialNumber] = useState(null);\n const [quoteComments, setQuoteComments] = useState(null);\n const [selectedCustomerId, setSelectedCustomerId] = useState({});\n const [customerIdError, setSelectedCustomerIdError] = useState(false);\n const [workshopBase, setWorkshopBase] = useState(null);\n const [notExistsCusName, setCusNotExistsName] = useState(null);\n const [acceptanceAction, setAcceptanceAction] = useState(null);\n const [buttonStatus, setButtonStatus] = useState(false);\n const [button, setButton] = useState(false);\n const [quoteAccept, setQuoteAccept] = useState(null);\n const [commercialAccept, setCommercialAccept] = useState(null);\n const [quoteCrete, setQuoteCreate] = useState(null);\n const [fieldData, setFieldData] = useState(null);\n const [isGettingDetails, setIsGettingDetails] = useState(false);\n const [proofAcceptance, setProofAcceptance] = useState([]);\n const [customerOrderDoc, setCustomerOrderDoc] = useState([]);\n const [currencyName, setCurrencyname] = useState(null);\n const [salesRate, setSalesRate] = useState(null);\n const [busy, setBusy] = useState(null);\n const [messagePopup, setMessagePopup] = useState(false);\n const [description, setDescription] = useState(null)\n const [priceBreakDetails, setPriceBreaksDetails] = useState([])\n const [access, setAccess] = useState({ read: false, write: true });\n const [disabledAccptance, setDisabledAcceptance] = useState(false);\n const [pages, setPages] = useState(0);\n const [totalCounts, setTotalCounts] = useState(5);\n const [pageSizes, setPageSizes] = useState(5);\n const [actions, setActions] = useState(\"\");\n const [unitPriceDetails, setUnitPriceDetails] = useState()\n const [internalNotes, setInternalNotes] = useState('')\n const [internalFiles, setInternalFiles] = useState([])\n const [workStatus, setWorkStatus] = useState(\"\")\n const [input, setInput] = useState({\n labour: \"\",\n parts: \"\",\n services: \"\",\n equipment: \"\",\n aog_fee: \"\",\n });\n const [sum, setSum] = useState(null);\n const [priceAllDetails, setPriceAllDetails] = useState([])\n const [rate, setRate] = useState(1)\n const [standardId, setStandardId] = useState(null)\n const [projectParts, setProjectParts] = useState([])\n const [projectLoading, setProjectLoading] = useState(false)\n const [q_state, setQState] = useState(false)\n\n\n\n\n let permission = !props.permission.write\n let workshop_order_id = action === \"Send Quote\"\n ? quotation?.workshop_order_id\n : (buttonStatus === true && action != \"Send Quote \") ||\n (quoteStatus === false && quoteId === null) || (quotation?.linked_storage_order_id != null)\n ? workshop_id_maint\n : action === \"Send Quote \" ||\n (action === \"Unlock\" && quoteId !== null)\n ? workshopOrder.id\n : \"\"\n\n useEffect(() => {\n if (quotation?.linked_storage_order_id) {\n setExistCus(\"yes\")\n }\n }, [quotation])\n\n useEffect(() => {\n\n getAllPriceBreaks()\n }, [workshopOrder.id, quotation?.workshop_order_id])\n // console.log(quotation?.workshop_order_id, workshopOrder.id, workshop_id_maint)\n useMemo(() => {\n // console.log('quantity=====', quantityPrice, priceBreakDetails.length, totalCounts)\n if (priceBreakDetails.length > 1) {\n setQuantityPrice('yes')\n }\n }, [quantityPrice, priceBreakDetails])\n\n useEffect(() => {\n setDescription(!selectedPart?.description ? \"\" : selectedPart?.description)\n }, [selectedPart?.description])\n\n useEffect(() => {\n if (menu === \"At Base - NO Goods In\" || menu === \"At Base - Goods In\" || menu === \"Away From Base\") {\n setSwitchstate(false)\n }\n }, [menu])\n\n useEffect(() => {\n if (switchState === undefined || switchState === \"\") {\n setSwitchstate(false)\n }\n }, [switchState])\n\n useEffect(() => {\n if (!tabStatus) return;\n else {\n setDisabledAcceptance(true);\n }\n }, [tabStatus]);\n\n useEffect(() => {\n if (readOnly) {\n setAccess({ read: true, write: false });\n return;\n }\n\n if (readAndWrite) {\n setAccess({ read: false, write: true });\n return;\n }\n }, [readAndWrite, readOnly]);\n\n useEffect(() => {\n setState((ps) => ({ ...ps, isEditing: editTab, tab: \"quote\", warningDialogState: false }));\n\n return () => setState((ps) => ({ ...ps, tab: null }));\n }, [editTab]);\n\n useEffect(() => {\n setLoading(action === \"Send Quote \");\n }, []);\n\n const handleWarningDialog = () => {\n setEditTabStatus(false)\n setState((ps) => ({ ...ps, warningState: true }));\n }\n\n const handleQuoteSentButton = () => {\n handleWarningDialog()\n setButton(true);\n setDisabled(false);\n };\n\n const handleTab = () => {\n if (quoteStatus === true) {\n setAction(\"Send Quote\");\n setDisabled(false);\n }\n };\n\n const handleEditAPiCall = async () => {\n if (disabledAccptance === false) {\n setIsGettingDetails(true);\n const param = {\n workshop_order_id: currentSelection?.id,\n tab: \"quotation\",\n };\n await MaintenanceServices.editButton(param)\n .then((res) => {\n setBusy(null);\n if (res.success) {\n getWorkshopOrderDetails();\n setEditStatus(!editStatus);\n setTabStatus(false);\n setEditButton(!editButton);\n setBusy(null);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setBusy(null);\n })\n .finally(() => {\n setIsGettingDetails(false);\n });\n }\n };\n\n useEffect(() => {\n if (editButton) {\n handleEditAPiCall();\n }\n }, [editButton]);\n\n const handleCloseTab = () => {\n getQuotation();\n getWorkshopOrderDetails();\n setEditTab(!editTab);\n setDisabledAcceptance(!disabledAccptance);\n };\n\n const handleEditTab = () => {\n setEditButton(true);\n setDisabledAcceptance(!disabledAccptance);\n setEditTab(!editTab);\n };\n\n useEffect(() => {\n if (action === \"Unlock\" && quoteId != null) {\n getQuotation();\n }\n }, []);\n\n // useEffect(() => {\n // if (shouldTabDataUpdate) {\n // getQuotation();\n // }\n // }, [shouldTabDataUpdate]);\n\n const getQuotation = async () => {\n // setLoading(true);\n setIsGettingDetails(true);\n await MaintenanceServices?.getQuotation(quoteId)\n .then((res) => {\n if (res) {\n setQuotation(res.data);\n setShouldTabDataUpdate(false);\n }\n // setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // setLoading(false);\n })\n .finally(() => {\n setIsGettingDetails(false);\n });\n };\n\n useEffect(() => {\n if (action === \"Unlock\") {\n if (quotation !== null) {\n let obj = {\n id: quotation?.line_customer_id,\n name: quotation?.customer_name,\n };\n setSelectedCustomerId(obj);\n }\n let obj2 = {\n id: quotation?.primary_part_id,\n part_number: quotation?.part_number\n }\n setSelectedPart(obj2)\n setDescription(quotation?.item_description)\n if (quotation?.linked_storage_order_id === null) {\n setExistCus(\n quotation?.customer_existing === true\n ? \"yes\"\n : quotation?.customer_existing === false\n ? \"no\"\n : \"\"\n );\n }\n setWorkshopBase(quotation?.base_station_id);\n setContactEmail(quotation?.contact_email);\n setAogUpdate(\n quotation?.aog_status === true\n ? \"yes\"\n : quotation?.aog_status === false\n ? \"no\"\n : \"\"\n );\n setRate(quotation?.sales_rate)\n setSalesRate(quotation?.sales_rate)\n setStandardId(quotation?.workshop_standard_price_id)\n setSwitchstate(quotation?.capture_later);\n setPartNumber(quotation?.part_number);\n setSerialNumber(quotation?.serial_number);\n setQty(quotation?.quantity);\n setTatquantity(quotation?.tat_days);\n setCusNotExistsName(quotation?.customer_name);\n setQuoteComments(quotation?.quote_comments);\n setInternalNotes(quotation?.internal_notes);\n setWorkStatus(quotation?.work_status)\n setProjectstate(quotation?.project_part)\n setQuantityPrice(quotation?.quantity_based_price_breaks === true ? 'yes' : 'no')\n setDetailedBreakDown(quotation?.detailed_breakdown === true ? 'yes' : 'no')\n if (quotation?.labour != undefined) {\n setInput({\n labour: +quotation?.labour,\n parts: +quotation?.parts,\n services: +quotation?.services,\n equipment: +quotation?.equipment,\n aog_fee: +quotation?.aog_fee,\n });\n }\n setQuoteAccept(\n quotation?.quote_accepted === true\n ? \"yes\"\n : quotation?.quote_accepted === false\n ? \"no\"\n : \"\"\n );\n setQState(quotation?.quote_accepted)\n setCommercialAccept(\n quotation?.automatic_commercial === true\n ? \"yes\"\n : quotation?.automatic_commercial === false\n ? \"no\"\n : \"\"\n );\n setFieldData(quotation?.quote_accepted_at);\n if (quotation?.induction_tab_style) { setMenu(quotation?.induction_tab_style) }\n if (quotation?.release_tab_style) { setRelease(quotation?.release_tab_style) }\n }\n }, [quotation]);\n\n useEffect(() => {\n getCustomerList();\n }, []);\n\n const getCustomerList = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await MaintenanceServices.getCustomerList(params)\n .then((res) => {\n if (res) {\n setCustomerDetails(res.data);\n }\n // setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // setLoading(false);\n });\n };\n\n useEffect(() => {\n getBaseStation();\n }, [page, pageSize]);\n\n const getBaseStation = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n setBaseStation(res.data);\n }\n // setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // setLoading(false);\n });\n };\n\n // Selected project parts\n useEffect(() => {\n if (quoteStatus === false && projectState && selectedPart !== null) {\n const params = {\n organisation_id: getOrganisationId(),\n reportable_id: selectedPart.id,\n // project_primary_part_id: selectedPart.id,\n reportable_type: \"PrimaryPart\"\n\n }\n getProjectParts(params);\n }\n else if (quoteStatus === false && projectState && selectedPart === null) {\n setProjectParts([])\n }\n else if (quoteStatus === true && projectState && selectedPart !== null) {\n const params = {\n organisation_id: getOrganisationId(),\n reportable_id: quotation?.workshop_order_id,\n // project_primary_part_id: selectedPart.id,\n reportable_type: \"WorkshopOrder\"\n\n }\n getProjectParts(params);\n }\n\n }, [selectedPart, quotation?.workshop_order_id]);\n // console.log(\"customer rate===\", selectedCustomerId?.id, salesRate)\n const getProjectParts = async (params) => {\n const params1 = {\n organisation_id: getOrganisationId(),\n reportable_id: quotation?.workshop_order_id,\n // project_primary_part_id: selectedPart.id,\n reportable_type: \"WorkshopOrder\"\n\n }\n setProjectLoading(true)\n await MaintenanceServices.getAllProjectParts(params ? params : params1)\n .then((res) => {\n if (res) {\n if (params?.reportable_type === \"PrimaryPart\" && res?.data.length > 0) {\n let data = res?.data\n let rate = selectedCustomerId?.currency?.sales_rate || salesRate\n\n\n\n let value = data.map((item) => {\n\n let equip = item.workshop_standard_pricing_equipment ? parseFloat(item.workshop_standard_pricing_equipment) / parseFloat(rate).toFixed(2) : 0.00\n\n let labour = item.workshop_standard_pricing_labour ? parseFloat(item.workshop_standard_pricing_labour) / parseFloat(rate).toFixed(2) : 0.00\n\n let parts = item.workshop_standard_pricing_parts ? parseFloat(item.workshop_standard_pricing_parts) / parseFloat(rate).toFixed(2) : 0.00\n let services = item.workshop_standard_pricing_services ? parseFloat(item.workshop_standard_pricing_services) / parseFloat(rate).toFixed(2) : 0.00\n\n let total = item.workshop_standard_pricing_total ? parseFloat(item.workshop_standard_pricing_total) / parseFloat(rate).toFixed(2) : 0.00\n let unit_price = item.workshop_standard_pricing_unit_price ? parseFloat(item.workshop_standard_pricing_unit_price) / parseFloat(rate).toFixed(2) : 0.00\n\n item.project_parts_equipment = parseFloat(equip).toFixed(2)\n item.project_parts_labour = parseFloat(labour).toFixed(2)\n item.project_parts_parts = parseFloat(parts).toFixed(2)\n item.project_parts_services = parseFloat(services).toFixed(2)\n item.project_parts_total = parseFloat(total).toFixed(2)\n item.project_parts_unit_price = parseFloat(unit_price).toFixed(2)\n\n\n\n return item\n }\n\n\n )\n\n setProjectParts(value)\n\n } else {\n setProjectParts(res.data);\n }\n }\n // setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // setLoading(false);\n }).finally(() => {\n setProjectLoading(false)\n })\n };\n useEffect(() => {\n if (projectState === true) {\n setQty(1)\n }\n }, [projectState])\n\n const handleDelete = (rowData) => {\n\n if (quoteStatus === false) {\n const value = projectParts.filter((item) => item.item !== rowData.item)\n setProjectParts(value)\n\n } else {\n const params = {\n organisation_id: getOrganisationId(),\n reportable_id: quotation?.workshop_order_id,\n primary_part_id: rowData?.primary_part_id,\n reportable_type: \"WorkshopOrder\",\n project_primary_part_id: selectedPart.id,\n }\n\n\n setLoading(true)\n MaintenanceServices.deleteWOProjectParts(params).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Deleted Successfully !\",\n variant: \"success\",\n });\n getProjectParts()\n }\n else {\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }\n\n }).catch((res) => {\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n\n\n\n }\n\n\n }\n\n\n\n\n const handleProjectUpdate = (rowData, oldData) => {\n let labour = parseFloat(rowData.project_parts_labour || 0.00).toFixed(2)\n let parts = parseFloat(rowData.project_parts_parts || 0.00).toFixed(2)\n let services = parseFloat(rowData.project_parts_services || 0.00).toFixed(2)\n let equip = parseFloat(rowData.project_parts_equipment || 0.00).toFixed(2)\n\n let unit_price = (+labour) + (+ parts) + (+ services) + (+equip)\n let quantity = rowData.quantity || 0.00\n let total = parseFloat(unit_price) * parseFloat(quantity)\n\n if (quoteStatus === false) {\n let value = projectParts.map((item) => {\n if (item.item === rowData.item) {\n item.project_parts_labour = labour\n item.project_parts_parts = parts\n item.project_parts_services = services\n item.project_parts_equipment = equip\n item.quantity = quantity\n item.project_parts_unit_price = unit_price\n item.project_parts_total = total ? parseFloat(total).toFixed(2) : 0.00\n }\n return item\n })\n setProjectParts(value)\n\n } else {\n const params = {\n organisation_id: getOrganisationId(),\n reportable_id: quotation?.workshop_order_id,\n project_primary_part_id: selectedPart.id,\n reportable_type: \"WorkshopOrder\",\n primary_part_id: rowData?.primary_part_id,\n labour: labour,\n parts: parts,\n services: services,\n equipment: equip,\n quantity: quantity,\n project_parts_total: total,\n\n\n }\n MaintenanceServices.updateWOProjectParts(params).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Updated Successfully !\",\n variant: \"success\",\n });\n getProjectParts()\n }\n else {\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n }\n }).catch((res) => {\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n\n\n\n }\n\n\n\n }\n const createInitialProjectParts = () => {\n let formData = new FormData()\n formData.append(\"organisation_id\", getOrganisationId())\n formData.append(\"project_primary_part_id\", selectedPart.id)\n\n projectParts.forEach((item, index) => {\n\n formData.append(`project_parts_data[${index}][labour]`, item.project_parts_labour || \"0.00\")\n formData.append(`project_parts_data[${index}][parts]`, item.project_parts_parts || \"0.00\")\n formData.append(`project_parts_data[${index}][service]`, item.project_parts_services || \"0.00\")\n formData.append(`project_parts_data[${index}][equip]`, item.project_parts_equipment || \"0.00\")\n formData.append(`project_parts_data[${index}][quantity]`, item.quantity || 0)\n formData.append(`project_parts_data[${index}][primary_part_id]`, item.primary_part_id)\n formData.append(`project_parts_data[${index}][reportable_type]`, \"WorkshopOrder\")\n formData.append(`project_parts_data[${index}][reportable_id]`, quotation?.workshop_order_id ? quotation?.workshop_order_id : workshopOrder.id ? workshopOrder.id : workshop_id_maint)\n\n })\n MaintenanceServices.createInitialProjectParts(formData).then((res) => {\n\n }).catch((res) => {\n message.showToastMessage({\n message: res?.error ? res?.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n\n }\n useEffect(() => {\n if (projectParts.length > 0 && projectState) {\n const totals = projectParts.reduce(\n (acc, item) => {\n const quantity = +item.quantity || 0; // Safely handle quantity being 0 or undefined\n acc.labour += item.project_parts_labour ? (+item.project_parts_labour * quantity) : 0;\n acc.parts += item.project_parts_parts ? (+item.project_parts_parts * quantity) : 0;\n acc.services += item.project_parts_services ? (+item.project_parts_services * quantity) : 0;\n acc.equipment += item.project_parts_equipment ? (+item.project_parts_equipment * quantity) : 0;\n return acc;\n },\n { labour: 0, parts: 0, services: 0, equipment: 0 }\n );\n\n // Set the input state with the computed totals, formatted to 2 decimal places\n setInput({\n labour: parseFloat(totals.labour).toFixed(2),\n parts: parseFloat(totals.parts).toFixed(2),\n services: parseFloat(totals.services).toFixed(2),\n equipment: parseFloat(totals.equipment).toFixed(2),\n });\n\n // Set errors as false for all fields\n setErrors({ labour: false, parts: false, services: false, equipment: false });\n }\n }, [projectParts]);\n\n\n\n const handleAcceptanceOrderSubmit = async (e) => {\n e.preventDefault();\n setBusy(\"loading\");\n updateAllPriceBreaks()\n setLoading(\n acceptanceAction === \"save_for_later\" ? \"save_for_later\" : \"complete\"\n );\n const formData = new FormData(e.target);\n const cus_order_num = formData.get(\"customer_order_number\");\n // const customer_order_doc = formData.get(\"customer_order_doc[]\");\n formData.append(\"automatic_commercial\", commercialAccept === \"yes\" ? true : false)\n if (acceptanceAction === \"save_for_later\") {\n formData.delete(\"capture_later\");\n formData.append(\n \"capture_later\",\n switchState === null ? false : switchState\n );\n formData.append(\"save_later\", 1);\n }\n if (\n (acceptanceAction != \"save_for_later\" && quoteAccept === \"yes\") ||\n editTab\n ) {\n formData.delete(\"capture_later\");\n const { error, valid } = validateFormData(formData, [\n \"capture_later\",\n \"secondary_customer_ref\",\n \"automatic_commercial\"\n ]);\n\n if (\n cus_order_num === \"\" &&\n cus_order_num.length === 0 &&\n !quotation?.customer_order_number?.length\n ) {\n setErrors((er) => ({ ...er, customer_order_number: true }));\n setLoading(null);\n setBusy(null);\n }\n if (\n (quotation?.customer_order_doc?.length === 0) &&\n customerOrderDoc.length === 0 &&\n switchState === false || switchState === undefined || switchState === \"\" &&\n !quotation?.customer_order_doc?.length\n ) {\n setErrors((er) => ({ ...er, \"customer_order_doc[]\": true }));\n setLoading(null);\n setBusy(null);\n }\n if (\n proofAcceptance.length === 0 &&\n !quotation?.proof_acceptance?.length\n ) {\n setLoading(null);\n setErrors((er) => ({ ...er, proof_acceptance: true }));\n setBusy(null);\n }\n\n if (\n (!valid && !disabled) ||\n (quotation?.customer_order_doc?.length === 0) &&\n (customerOrderDoc.length === 0 &&\n switchState === false || switchState === undefined || switchState === \"\" &&\n !quotation?.customer_order_doc?.length) ||\n (proofAcceptance.length === 0 &&\n !quotation?.proof_acceptance?.length) ||\n (cus_order_num === \"\" &&\n cus_order_num.length === 0 &&\n !quotation?.customer_order_number?.length)\n ) {\n // console.log(\"captrue later goods in===\", switchState)\n setErrors((err) => ({ ...err, ...error }));\n setLoading(null);\n setBusy(null);\n return;\n }\n\n if (!valid) {\n setBusy(null);\n setLoading(null);\n setErrors(error);\n return;\n }\n }\n if (quoteAccept === \"yes\" && acceptanceAction !== \"save_for_later\") {\n formData.delete(\"capture_later\");\n formData.append(\n \"capture_later\",\n cus_order_num?.length ? false : switchState\n );\n }\n formData.delete(\"proof_acceptance\");\n // formData.delete(\"automatic_commercial\")\n\n const proof = [];\n proofAcceptance.forEach((_, i) => {\n proof[i] = Array.from(proofAcceptance[i]);\n proof[i].forEach((file) => formData.append(\"proof_acceptance\", file));\n });\n formData.append(\"user_id\", getUserId());\n formData.delete(\"customer_order_doc[]\");\n formData.append(\"quote_comment\", quoteComments);\n const cusOrder = [];\n customerOrderDoc.forEach((_, i) => {\n cusOrder[i] = Array.from(customerOrderDoc[i]);\n cusOrder[i].forEach((file) =>\n formData.append(\"customer_order_doc[]\", file)\n );\n });\n\n if (editTab) {\n formData.append(\"close_tab\", true);\n updateAllPriceBreaks()\n await MaintenanceServices.acceptanceOrder(formData, quotation?.id)\n .then((res) => {\n setBusy(null);\n if (res.success) {\n // console.log(\"called edit tab inside\");\n setEditStatus(!editStatus);\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false }));\n setEditButton(false);\n handleCloseTab();\n message.showToastMessage({\n message: \"Updated Successfully\",\n variant: \"success\",\n });\n setBusy(null);\n }\n })\n .catch((res) => {\n message.showToastMessage({\n message: res?.errors ? res?.errors : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setBusy(null);\n });\n } else {\n\n await MaintenanceServices.acceptanceOrder(formData, quotation?.id)\n .then((res) => {\n setLoading(null);\n setBusy(null);\n if (acceptanceAction === \"save_for_later\") {\n message.showToastMessage({\n message: \"Saved Successfully\",\n variant: \"success\",\n });\n setTimeout(() => {\n handleClose();\n getMaintenanceOrderList();\n }, 1000);\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false }));\n setLoading(null);\n setBusy(null);\n } else {\n message.showToastMessage({\n message: \"Updated Successfully\",\n variant: \"success\",\n });\n if (props?.tabState === 1 && props?.orderStateNum > 0) {\n getQuotation();\n getWorkshopOrderDetails();\n } else {\n setTimeout(() => {\n handleClose();\n getMaintenanceOrderList();\n }, 1000);\n }\n setLoading(null);\n setBusy(null);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setLoading(null);\n setBusy(null);\n });\n }\n //creating planning id on complete\n\n\n };\n\n // console.log(\"default value is==============\", standardId, input, rate, salesRate)\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n const handleSubmit = async (e) => {\n e.preventDefault();\n updateAllPriceBreaks()\n if (\n action === \"Send Quote \" ||\n action === \"Send Quote\" ||\n quoteStatus === false ||\n buttonStatus === true\n ) {\n setLoading(action === \"Send Quote \" ? \"Send Quote\" : \"Unlock\");\n const formData = new FormData(e.target);\n formData.delete(\"internal_notes\")\n\n const { error, valid } = validateFormData(\n formData,\n \"\",\n );\n\n // console.log({ error });\n if (!valid) {\n message.showToastMessage({\n message: \"Complete all mandatory fields!\",\n variant: \"error\",\n });\n setLoading(null);\n setErrors(error);\n return;\n }\n let id = formData.get(\"customer_name\");\n let tat_days = formData.get(\"estimated_TAT_days\");\n let baseId = formData.get(\"workshop_base\");\n formData.append(\n \"workshop_order_id\",\n action === \"Send Quote\"\n ? quotation?.workshop_order_id\n : (buttonStatus === true && action != \"Send Quote \") ||\n (quoteStatus === false && quoteId === null) || (quotation?.linked_storage_order_id != null)\n ? workshop_id_maint\n : action === \"Send Quote \" ||\n (action === \"Unlock\" && quoteId !== null)\n ? workshopOrder.id\n : \"\"\n );\n formData.append(\"base_station_id\", baseId);\n formData.delete(\"quantity_based_price_breaks\");\n formData.delete(\"detailed_breakdown\");\n formData.append(\"quantity_based_price_breaks\", quantityPrice === 'yes' ? true : false);\n formData.append(\"detailed_breakdown\", detailedBreakDown === 'yes' ? true : false);\n formData.append(\"tat_days\", tat_days);\n formData.append(\"quote_by\", userDetails.id);\n formData.append(\"part_number\", selectedPart.part_number);\n formData.append(\"primary_part_id\", selectedPart.id);\n formData.append('internal_notes', internalNotes)\n formData.delete(\"internal_files[]\")\n formData.append('project_part', projectState ? true : false)\n formData.append(\"user_id\", getUserId());\n if (standardId !== null && standardId !== undefined) {\n formData.append(\"workshop_standard_price_id\", standardId)\n }\n\n internalFiles.length > 0 && internalFiles.forEach(item => formData.append(`internal_files[]`, item))\n\n if (selectedCustomerId != undefined && cusExist === \"yes\") {\n formData.append(\"line_customer_id\", selectedCustomerId.id);\n } else if (cusExist === \"no\") {\n formData.append(\"line_customer_id\", \"\");\n } else {\n setSelectedCustomerIdError(true);\n return;\n }\n\n if (\n (!quotation?.linked_storage_order_id) && action === \"Send Quote \" ||\n (quoteStatus === false && quoteId === null)\n ) {\n // formData.append(\"quote_sent\", true);\n setQuoteCreate(\"crete_quote\");\n setMessagePopup(true)\n formData.append(\"organisation_id\", getOrganisationId())\n\n await MaintenanceServices.createQuotation(formData)\n .then((res) => {\n setTabStatus(false);\n if (projectParts.length > 0) {\n createInitialProjectParts()\n }\n message.showToastMessage({\n message: \"Quotation created successfully!\",\n variant: \"success\",\n });\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n })\n }).finally(() => {\n setQuoteCreate(null);\n setMessagePopup(false)\n })\n\n\n updateAllPriceBreaks()\n const params = {\n workshop_order_id:\n quoteStatus === false && quoteId === null\n ? workshop_id_maint\n : workshopOrder?.id,\n quote_sent: true,\n };\n await MaintenanceServices.getSendQuoteStatus(params)\n .then((res) => {\n if (res) {\n }\n getMaintenanceOrderList();\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setLoading(null);\n setTimeout(() => {\n handleClose();\n getMaintenanceOrderList();\n }, 2000);\n }\n\n if (action === \"Send Quote\") {\n if (quoteStatus === true) {\n const params = {\n workshop_order_id: workshop_id_maint,\n quote_sent: false,\n };\n await MaintenanceServices.getSendQuoteStatus(params)\n .then((res) => {\n if (res) {\n }\n getMaintenanceOrderList();\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setLoading(null);\n }\n }\n\n if (buttonStatus === true || quotation?.linked_storage_order_id != null) {\n formData.append(\"organisation_id\", getOrganisationId())\n if (quotation?.linked_storage_order_id != null) {\n setMessagePopup(true)\n }\n setUpdateQuoteLoading(\"loading\");\n await MaintenanceServices.updateQuote(formData, quotation?.id)\n .then((res) => {\n setLoading(null);\n setTabStatus(false);\n setEditTabStatus(true)\n setMessagePopup(false)\n setState((ps) => ({ ...ps, isEditing: true, warningState: false }));\n if (action === \"Send Quote \" || quoteId == null || quoteId === undefined || quotation?.quote_accepted === null) {\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false, warningState: false }));\n }\n message.showToastMessage({\n message: \"Updated Successfully\",\n variant: \"success\",\n });\n setUpdateQuoteLoading(null);\n setAction(actionStoppedOrder ? \"\" : \"Unlock\");\n setDisabled(true);\n })\n .catch((err) => {\n setMessagePopup(false)\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setUpdateQuoteLoading(null);\n setLoading(null);\n });\n const params = {\n workshop_order_id: workshop_id_maint,\n quote_sent: true,\n };\n setUpdateQuoteLoading(\"loading\");\n await MaintenanceServices.getSendQuoteStatus(params)\n .then((res) => {\n if (res) {\n }\n getMaintenanceOrderList();\n setUpdateQuoteLoading(null);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n setUpdateQuoteLoading(null);\n setLoading(null);\n if (props?.tabState === 1 && props?.orderStateNum > 0) {\n setButton(!button);\n setDisabled(!disabled);\n setButtonStatus(!buttonStatus);\n } else {\n setTimeout(() => {\n handleClose();\n getMaintenanceOrderList();\n }, 2000);\n }\n setLoading(null);\n }\n }\n };\n\n useMemo(\n () =>\n setSum(\n +input.labour +\n +input.parts +\n +input.services +\n +input.equipment\n\n ),\n [input]\n );\n\n useEffect(() => {\n if (cusExist === \"no\" && notExistsCusName) {\n if (notExistsCusName === quotation?.customer_name) {\n setExistCus('yes')\n let obj = {\n id: quotation?.line_customer_id,\n name: quotation?.customer_name,\n };\n setSelectedCustomerId(obj);\n console.log(\"notExistsCusName\", quotation?.customer_name)\n }\n else {\n let udx = customerDetails?.customers.findIndex((item) => item.name === notExistsCusName)\n if (udx > -1) {\n setErrors((er) => ({ ...er, customer_name: true }));\n message.showToastMessage({\n message: \"Customer already exists! Selecting from existing!\",\n variant: \"error\",\n });\n }\n }\n }\n }, [cusExist, notExistsCusName])\n //handle input change\n const handleInput = function (e) {\n const { value } = e.target;\n if (value.match(/\\./g)) {\n const [, decimal] = value.split(\".\");\n\n // restrict value to only 2 decimal places\n if (decimal?.length > 2) {\n // do nothing\n return;\n }\n }\n // setState((ps) => ({ ...ps, isEditing: true }));\n setInput({\n ...input,\n [e.target.name]: e.target.value,\n });\n };\n\n useEffect(() => {\n let res = customerDetails?.default_currency?.map((item) => {\n setCurrencyname(item?.currency_name);\n setSalesRate(item?.sales_rate);\n });\n }, [customerDetails]);\n\n const handleInductionChange = (e) => {\n setMenu(e.target.value);\n };\n const handleReleaseChange = (e) => {\n setRelease(e.target.value);\n };\n\n const handleExistCus = (value) => {\n handlePopup();\n if (value) {\n setExistCus(value);\n }\n };\n\n let priceLength = priceBreakDetails.length - 1\n const handleQuantityBasePrice = (value) => {\n if (value) {\n if (value === 'no' && priceBreakDetails.length > 1) {\n message.showToastMessage({\n message: \"“Remove Price Breaks First!\",\n variant: \"error\",\n });\n handlePopup();\n setQuantityPrice('yes');\n }\n\n else {\n handlePopup();\n setQuantityPrice(value);\n }\n }\n };\n const handleAogUpdate = (value) => {\n if (value) {\n setAogUpdate(value);\n }\n handlePopup();\n };\n\n const handleBreakDown = (value) => {\n if (value) {\n setDetailedBreakDown(value)\n }\n handlePopup()\n\n }\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleSaveForLater = () => {\n setAcceptanceAction(\"save_for_later\");\n };\n\n useEffect(() => {\n getPartDetails()\n }, [projectState])\n\n const getPartDetails = () => {\n let params = {}\n if (projectState) {\n params = {\n organisation_id: getOrganisationId(),\n active: true,\n repairable: true,\n project_part: true,\n status: true,\n }\n\n }\n else {\n params = {\n organisation_id: getOrganisationId(),\n active: true,\n repairable: true,\n status: true,\n project_part: false\n }\n }\n\n\n MaintenanceServices.getPartNumber(params)\n .then((res) => {\n setPrimePart(res.data)\n }).catch(() => {\n console.log(\"error\")\n })\n }\n useEffect(() => {\n if (quantityPrice === 'yes') {\n getAllPriceBreaks()\n }\n }, [quantityPrice, quotation, pages, totalCounts, pageSizes])\n\n const getAllPriceBreaks = () => {\n const params = {\n page: pages + 1,\n limit: pageSizes,\n workshop_order_id: action === \"Send Quote\"\n ? quotation?.workshop_order_id || workshopOrder.id\n : (buttonStatus === true && action != \"Send Quote \") ||\n (quoteStatus === false && quoteId === null) || (quotation?.linked_storage_order_id != null)\n ? workshop_id_maint\n : action === \"Send Quote \" ||\n (action === \"Unlock\" && quoteId !== null)\n ? quotation?.workshop_order_id || workshopOrder.id\n : workshopOrder.id\n }\n setLoading(true)\n MaintenanceServices.getAllPriceBreaks(params)\n .then((res) => {\n setLoading(false)\n setTotalCounts(res.total_count)\n setPriceBreaksDetails(res.data)\n }).catch(() => {\n setLoading(false)\n console.log(\"error\")\n })\n }\n if (isGettingDetails) {\n return (\n \n \n \n );\n }\n\n const handlePopup = () => {\n if (action === \"Send Quote \" || quoteId == null || quoteId === undefined || quotation?.quote_accepted === null) {\n setState((ps) => ({ ...ps, warningDialogState: true, isEditing: true }));\n }\n };\n\n\n let helperText = errors[\"accepted_quantity\"] && (errors[\"quantity_is_zero\"]\n ? \"QTY Required Must Be Greater Than 0\"\n : `Please enter Quantity required`)\n\n\n\n const tableOptions = {\n ...options,\n page: pages,\n total: totalCounts,\n pageSize: pageSizes,\n search: false,\n toolbar: true,\n\n };\n const tableOptions1 = {\n ...options,\n paging: false,\n search: false,\n toolbar: true,\n actionsColumnIndex: 10,\n headerStyle: {\n textAlign: \"center\",\n\n },\n cellStyle: {\n textAlign: \"center\",\n\n\n }\n };\n\n const columns1 = [\n {\n title: \"Item\",\n field: \"item\",\n width: \"4%\",\n editable: \"never\"\n // render: (rowData) =>  ,\n },\n {\n title: \"Part #\",\n field: \"part_number\",\n editable: \"never\",\n headerStyle: {\n textAlign: \"left\",\n width: \"12%\"\n },\n cellStyle: {\n textAlign: \"left\",\n\n width: \"12%\"\n }\n },\n {\n title: \"Description\",\n field: \"description\",\n editable: \"never\",\n headerStyle: {\n textAlign: \"left\",\n width: \"40%\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: '15px',\n width: \"40%\"\n }\n },\n {\n title: \"Labour\",\n field: \"project_parts_labour\",\n editable: \"onUpdate\",\n render: (rowData) => rowData.project_parts_labour ? rowData?.project_parts_labour : \"0.00\",\n },\n {\n title: \"Parts\",\n field: \"project_parts_parts\",\n editable: \"onUpdate\",\n render: (rowData) => rowData?.project_parts_parts ? rowData?.project_parts_parts : \"0.00\",\n },\n {\n title: \"Services\",\n field: \"project_parts_services\",\n editable: \"onUpdate\",\n render: (rowData) => rowData?.project_parts_services ? rowData?.project_parts_services : \"0.00\",\n },\n {\n title: \"Equip\",\n field: \"project_parts_equipment\",\n editable: \"onUpdate\",\n render: (rowData) => rowData.project_parts_equipment ? rowData?.project_parts_equipment : \"0.00\",\n },\n {\n title: \"Unit Price\",\n field: \"project_parts_unit_price\",\n editable: \"never\",\n render: (rowData) => rowData.project_parts_unit_price ? rowData?.project_parts_unit_price : \"0.00\",\n }, {\n title: \"Quantity\",\n field: \"quantity\",\n\n editable: \"onUpdate\",\n // render: (rowData) => rowData.discount ? `${rowData.discount}%` : '',\n }, {\n title: \"Total\",\n field: \"project_parts_total\",\n editable: \"never\",\n render: (rowData) => rowData.project_parts_total ? rowData?.project_parts_total : 0.0,\n },\n\n {\n title: \"\",\n field: \"actual_man_hours\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n\n },\n render: (rowData) =>\n \n {!disabled ? <>\n {\n\n if (cusExist === \"yes\") {\n if (selectedCustomerId?.id !== undefined) {\n setCurrentSelectedData(rowData)\n setRate(selectedCustomerId?.currency?.sales_rate)\n setActions(\"project_lookup\")\n }\n else {\n message.showToastMessage({\n message: \"Select Customer First!\",\n variant: \"error\",\n });\n\n }\n\n }\n else if (cusExist === \"no\") {\n\n\n setActions(\"project_lookup\")\n setCurrentSelectedData(rowData)\n\n\n }\n\n\n\n\n\n\n }}\n >\n \n \n\n {\n handleDelete(rowData);\n }}\n >\n \n : \"\"}\n \n }\n\n ];\n const columns = [\n {\n title: \"\",\n field: \"id\",\n width: \"4%\",\n render: (rowData) =>  ,\n },\n {\n title: \"Band\",\n field: \"band\",\n },\n {\n title: \"Min QTY\",\n field: \"min_quantity\",\n },\n {\n title: \"Units\",\n field: \"units\",\n headerStyle: {\n textAlign: \"left\",\n width: \"40%\"\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: '15px',\n width: \"40%\"\n }\n },\n {\n title: \"Discount\",\n field: \"discount\",\n render: (rowData) => rowData.discount ? `${rowData.discount}%` : '',\n },\n {\n title: \"Unit Price\",\n field: \"unit_price\",\n render: (rowData) => handlePriceBreakUnitPrice(rowData)\n\n },\n {\n title: \"Action\",\n field: \"actual_man_hours\",\n render: (rowData) => rowData?.band > 1 ?\n < Box >\n\n {\n setActions(\"edit_price\");\n setCurrentSelectedData(rowData);\n }}\n >\n \n \n {rowData?.highest_value ?\n {\n setActions(\"delete_price\");\n setCurrentSelectedData(rowData);\n }}\n >\n \n : }\n : ''\n }\n\n ];\n\n const handleData = (data) => {\n setInput({\n labour: +data?.labour || 0,\n parts: +data?.part || 0,\n services: +data?.service || 0,\n equipment: +data?.equipment || 0,\n aog_fee: +data?.aog || 0,\n });\n setSelectedPart({\n id: data?.primary_part_id,\n part_number: data?.part_number,\n description: data?.description\n })\n setTatquantity(data?.tat_days)\n setDescription(data?.description)\n setQty(data?.quantity)\n\n }\n\n const handleSubmitPriceBreak = () => {\n setBusy(\"loading\")\n BoxpDataService.boxpDeleteData(currentSelectedData?.id, 'deletePriceBreak', currentSelectedData).then((res) => {\n if (res.success) {\n setBusy(null);\n getAllPriceBreaks();\n setActions(null);\n message.showToastMessage({ message: \"Deleted successfully\", variant: \"success\" });\n } else {\n setBusy(null);\n setActions(null);\n message.showToastMessage({ message: \"Something went wrong!!\", variant: \"error\" });\n }\n })\n }\n\n\n const handlePriceBreakUnitPrice = (data) => {\n\n let unit_price = sum * (1 - (data?.discount / 100))\n setUnitPriceDetails(unit_price)\n return unit_price === 0 ? \"0.00\" : unit_price.toFixed(2)\n }\n\n\n const updateAllPriceBreaks = async () => {\n\n for (let i = 0;i < priceBreakDetails.length;i++) {\n priceAllDetails.push({\n id: priceBreakDetails[i].id,\n min_quantity: priceBreakDetails[i].min_quantity,\n discount: priceBreakDetails[i].discount,\n unit_price: sum * (1 - (priceBreakDetails[i].discount / 100))\n\n })\n }\n const params = {\n \"price_breaks\": priceAllDetails\n }\n await MaintenanceServices.updateAllPriceBreaks(params).then((res) => {\n console.log(\"successs\")\n }).catch((res) => {\n message.showToastMessage({ message: \"Something went wrong!!\", variant: \"error\" });\n })\n\n }\n // console.log(\"actions is=======================\", actions)\n //internal files\n const deleteFileHandler = async (id) => {\n setBusy(\"file-deleting\");\n try {\n const response = await MaintenanceServices.deleteFile(id);\n\n if (response.success) {\n message.showToastMessage({\n message: \"File deleted successfully\",\n variant: \"success\",\n });\n getQuotation();\n // setBusy(null);\n }\n setBusy(null);\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"file-deleting-error\");\n }\n }\n return (\n
\n \n \n Quotation\n \n
\n \n Customer\n\n\n\n \n \n {\n resetErrorsHandler(\"customer_existing\");\n }}\n marginTop={\"-4px\"}\n marginRight={\"11px\"}\n />\n \n {cusExist === \"yes\" ? (\n \n option.id === value.id}\n value={selectedCustomerId !== null && selectedCustomerId}\n onChange={(event, value) => {\n setSelectedCustomerId(value);\n handlePopup();\n }}\n id=\"tags-standard\"\n options={customerDetails?.customers || []}\n loading={loading}\n getOptionLabel={(option) => option.name}\n renderInput={(params) => (\n {\n resetErrorsHandler(\"customer_name\");\n }}\n />\n )}\n />\n \n ) : (\n \n {\n resetErrorsHandler(e.target.name);\n setCusNotExistsName(e.target.value);\n handlePopup();\n }}\n >\n \n )}\n \n {\n setContactEmail(e.target.value);\n resetErrorsHandler(e.target.name);\n handlePopup();\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n\n \n Workscope\n\n \n\n \n \n {\n resetErrorsHandler(e.target.name);\n setWorkshopBase(e.target.value);\n handlePopup();\n }}\n >\n Select\n {baseStation?.map((option) => (\n \n {option.station}\n \n ))}\n \n \n \n {\n resetErrorsHandler(e.target.name);\n setWorkStatus(e.target.value);\n handlePopup();\n }}\n >\n Select\n Inspected / Tested\n Repaired\n Overhauled\n Modified\n New\n Prototype\n Customer Instruction\n \n \n \n \n setErrors((prevState) => ({\n ...prevState,\n estimated_TAT_days: false,\n }))\n }\n qty={tatQuantity}\n setQty={setTatquantity}\n />\n \n \n resetErrorsHandler(\"aog_status\")}\n />\n \n\n \n
\n {\n setProjectstate(e.target.checked);\n if (!quoteStatus || (quoteStatus && !projectParts)) {\n setSelectedPart({})\n }\n setInput({\n labour: \"\",\n parts: \"\",\n services: \"\",\n equipment: \"\",\n });\n\n handlePopup();\n }}\n />\n }\n label={\n \n Project / Multi Part Workshop Order?\n \n }\n labelPlacement=\"start\"\n\n />\n
\n {(!projectState || projectState) &&\n \n \n option.id === value.id}\n value={selectedPart !== null && selectedPart}\n onChange={(event, value) => {\n\n\n if (cusExist === \"yes\" && projectState) {\n if (selectedCustomerId?.id !== undefined) {\n setSelectedPart(value);\n handlePopup();\n }\n else {\n message.showToastMessage({\n message: \"Select Customer First!\",\n variant: \"error\",\n });\n setSelectedPart({});\n }\n\n }\n else if (cusExist === \"no\" && projectState) {\n message.showToastMessage({\n message: \"Select Customer First!\",\n variant: \"error\",\n });\n setSelectedPart({});\n }\n else if (!projectState) {\n setSelectedPart(value);\n handlePopup();\n }\n }}\n id=\"tags-standard\"\n options={primePart || []}\n // loading={loading}\n getOptionLabel={(option) => option?.part_number || \"\"}\n renderInput={(params) => (\n {\n resetErrorsHandler(\"part_number\");\n handlePopup();\n }}\n />\n )}\n />\n \n\n \n {\n handlePopup();\n }}\n value={description}\n InputLabelProps={{ shrink: true }}\n >\n \n\n {!projectState &&\n\n \n {\n setSerialNumber(e.target.value);\n resetErrorsHandler(\"serial_number\");\n handlePopup();\n }}\n />\n\n }\n\n \n setActions(\"Add\")}\n color=\"secondary\"\n startIcon={}\n >\n Add Part\n \n \n }\n {projectState &&\n
\n disabled,\n isEditable: rowData => !disabled,\n onRowUpdate: (newData, oldData) =>\n new Promise((resolve, reject) => {\n handleProjectUpdate(newData, oldData)\n resolve();\n }),\n } : {}\n }\n actions={props?.permission.write && [\n {\n icon: () => (\n
\n \n
\n ),\n tooltip: \"Add\",\n hidden: disabled,\n isFreeAction: true,\n onClick: () =>\n setActions('add_parts'),\n },\n ]}\n />\n
\n }\n \n Job Pricing\n \n \n \n\n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n \n \n \n {\n resetErrorsHandler(e.target.name);\n handleInput(e);\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n {!projectState && \n\n {\n\n\n if (cusExist === \"yes\") {\n if (selectedCustomerId?.id !== undefined) {\n\n setRate(selectedCustomerId?.currency?.sales_rate)\n setActions(\"lookup\")\n }\n else {\n message.showToastMessage({\n message: \"Select Customer First!\",\n variant: \"error\",\n });\n\n }\n\n }\n else if (cusExist === \"no\") {\n\n\n setActions(\"lookup\")\n\n\n }\n\n }}\n color=\"primary\"\n startIcon={}\n >\n Lookup Pricing\n \n }\n\n\n\n\n \n\n \n {\" \"}\n \n \n This customer’s currency is{\" \"}\n \n {action === \"Unlock\" && quoteId != null\n ? quotation?.currency_name\n : (cusExist === \"yes\"\n ? selectedCustomerId?.currency?.currency_name\n : cusExist === \"no\"\n ? currencyName\n : \"\") || \"-\"}\n {\" \"}\n Quote all figures in the customer’s rate using the current\n sales exchange rate of:{\" \"}\n \n {action === \"Unlock\" && quoteId != null\n ? quotation?.sales_rate\n : (cusExist === \"yes\"\n ? selectedCustomerId?.currency?.sales_rate\n : cusExist === \"no\"\n ? salesRate\n : \"\") || \"-\"}\n \n \n \n \n \n {\n resetErrorsHandler(\"detailed_breakdown\");\n }}\n />\n \n {!projectState && \n {\n resetErrorsHandler(\"quantity_based_price_breaks\");\n }}\n />\n }\n\n {quantityPrice === 'yes' &&\n {\n setPages(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSizes(pageSize);\n }}\n totalCount={totalCounts}\n page={pages}\n actions={props?.permission.write && [\n {\n icon: () => (\n
\n \n
\n ),\n tooltip: \"Add\",\n hidden: disabled,\n isFreeAction: true,\n onClick: () =>\n setActions('add_qty_price'),\n },\n ]}\n />\n }\n\n \n Quote Comments\n \n {/* \n {\n resetErrorsHandler(e.target.name);\n }}\n InputLabelProps={{ shrink: true }}\n >\n */}\n\n \n \n {\n resetErrorsHandler(e.target.name);\n setQuoteComments(e.target.value);\n handlePopup();\n }}\n\n // className={classes.inputField}\n />\n \n \n \n Internal Remarks\n \n \n {\n // resetErrorsHandler(e.target.name);\n setInternalNotes(e.target.value);\n handlePopup();\n }}\n\n // className={classes.inputField}\n />\n \n \n Internal Files\n \n \n\n ({\n filename: file?.file_name,\n url: file?.path,\n id: file?.id,\n }))\n }\n uploadButtonView={disabled === true}\n setFiles={(files) => { setInternalFiles(files) }}\n showBorderOnNoFiles={true}\n accept={\"multiple\"}\n name=\"internal_files[]\"\n multiple={true}\n APIUrl={\"\"}\n action={\"Upload Document\"}\n onDelete={disabled ? null : deleteFileHandler}\n isDeleting={busy === \"file-deleting\"}\n viewOnly={disabledAccptance || !props.permission.write}\n />\n \n
\n
\n {statuFlag && quoteStatus && action != \"Send Quote \" ? (\n handleQuoteSentButton()}\n >\n {button ? (\n {\n setButtonStatus(true);\n handleWarningDialog();\n }}\n >\n Send Quote\n \n ) : (\n props.permission.write &&\n \n {\" \"}\n \n   {\"Unlock\"}\n \n )}\n \n ) : (\n handleTab()}\n >\n
\n {quoteStatus === false || action === \"Send Quote \"\n ? \"Send Quote\"\n : action}\n
\n \n )}\n
\n \n \n
\n \n\n
\n \n {quoteStatus && \n Acceptance & Order Setup\n }\n \n {quoteStatus && <> Acceptance\n
\n \n {\n if (value) {\n setQuoteAccept(value);\n setQState(true)\n }\n\n handlePopup();\n }}\n value={quoteAccept}\n error={errors.quote_accepted}\n setError={() => resetErrorsHandler(\"quote_accepted\")}\n />\n
}\n\n {quoteAccept === \"yes\" && (\n \n \n\n \n \n setErrors((prevState) => ({\n ...prevState,\n accepted_quantity: false,\n }))\n }\n setQty={setQty}\n qty={qty}\n />\n \n\n\n \n {\n resetErrorsHandler(e.target.name);\n handlePopup();\n }}\n >\n \n \n {\n resetErrorsHandler(\"quote_accepted_at\");\n handlePopup();\n }}\n defaultValue={quotation?.quote_accepted_at}\n InputLabelProps={{ shrink: true }}\n />\n \n \n\n \n \n ({\n name: file.file_name,\n url: file.path,\n })\n )}\n setFiles={(files) => {\n setProofAcceptance(files);\n resetErrorsHandler(\"proof_acceptance\");\n handlePopup();\n }}\n name={\"proof_acceptance\"}\n label=\"Proof of acceptance *\"\n />\n \n \n\n \n \n Workshop Order Setup\n \n \n \n {\n resetErrorsHandler(e.target.name);\n handleInductionChange(e);\n handlePopup();\n }}\n >\n \n At Base - Goods In\n \n \n At Base - NO Goods In\n \n \n Away From Base\n \n \n \n \n {\n resetErrorsHandler(e.target.name);\n handleReleaseChange(e);\n handlePopup();\n }}\n >\n \n At Base - Goods Out\n \n \n At Base - NO Goods Out\n \n \n Away From Base\n \n {/* \n Scrap\n */}\n \n \n\n\n \n {\n if (value) {\n setCommercialAccept(value);\n }\n handlePopup();\n }}\n value={commercialAccept}\n\n />\n\n\n \n
\n\n \n \n Customer Order\n \n\n
\n {\n setSwitchstate(e.target.checked);\n handlePopup();\n }}\n />\n }\n label={\n \n Capture later at Goods in ?\n \n }\n labelPlacement=\"start\"\n name={\"capture_later\"}\n />\n
\n\n {!switchState ? (\n \n \n \n {\n resetErrorsHandler(e.target.name);\n handlePopup();\n }}\n >\n \n \n {\n handlePopup();\n }}\n InputLabelProps={{ shrink: true }}\n >\n \n \n\n \n ({\n name: file.file_name,\n url: file.path,\n })\n )}\n error={errors[\"customer_order_doc[]\"]}\n setFiles={(files) => {\n setCustomerOrderDoc(files);\n resetErrorsHandler(\"customer_order_doc[]\");\n handlePopup();\n }}\n name={\"customer_order_doc[]\"}\n label=\"Customer Order Doc *\"\n />\n \n
\n ) : (\n \"\"\n )}\n \n \n )}\n {props?.orderStateNum === 0 && props?.tabState === 1 && props?.permission.write && q_state && (\n \n
\n handleSaveForLater()}\n >\n Save for later\n \n setAcceptanceAction(\"complete\")}\n >\n Complete\n \n
\n
\n )}\n \n\n
\n {quoteAccept === \"yes\" &&\n tabStatus &&\n props?.orderStateNum > 0 &&\n props?.orderStateNum <= 8 && props.permission.write && (\n {\n handleEditTab();\n setEditStatus(!editStatus);\n setEditTabStatus(true)\n setState((ps) => ({ ...ps, warningDialogState: false, isEditing: false, shouldShowWarning: false, editTabStatus: true }));\n }}\n startIcon={\n \"lock\"\n }\n >\n Edit Tab\n \n )}\n\n {props?.tabState === 1 && props?.orderStateNum > 0 && props?.permission.write && (\n {\n state.warningState &&\n message.showToastMessage({\n message: \" Quote must be sent first!!\",\n variant: \"error\",\n });\n }}\n startIcon={\n \"unlock\"\n }\n >\n Close Tab\n \n )}\n
\n \n
\n {actions && actions === 'Add' &&\n setActions(null)}\n action={actions}\n primePart={primePart}\n getPartDetails={getPartDetails}\n setSelectedPart={setSelectedPart}\n setDescription={setDescription}\n projectPartState={projectState}\n />}\n\n {actions && actions === 'add_parts' &&\n setActions(null)}\n action={actions}\n primePart={primePart}\n getPartDetails={getProjectParts}\n projectPartState={projectState}\n id={workshop_order_id || quotation?.workshop_order_id}\n primeId={selectedPart}\n tab={\"quote\"}\n quoteStatus={quoteStatus}\n projectParts={projectParts}\n\n setProjectParts={setProjectParts}\n />}\n {actions && actions === 'editPartHistory'\n && setActions(null)}\n action={action}\n primePart={primePart}\n handleData={handleData}\n workshop_order_id={workshop_order_id}\n />\n }\n {actions && actions === 'add_qty_price'\n &&\n setActions(null)}\n open={action}\n action={actions}\n getAllPriceBreaks={getAllPriceBreaks}\n unit_total={parseFloat(sum).toFixed(2)}\n workshop_order_id={workshop_order_id || quotation?.workshop_order_id}\n />\n }\n {actions && actions === 'edit_price'\n &&\n setActions(null)}\n open={action}\n action={actions}\n getAllPriceBreaks={getAllPriceBreaks}\n unit_total={parseFloat(sum).toFixed(2)}\n workshop_order_id={workshop_order_id}\n currentSelectedData={currentSelectedData}\n />\n }\n {messagePopup &&\n setMessagePopup(false)}\n open={messagePopup}\n topTitle={\"The Quote Report for the job are being prepared\"}\n bottomTitle={\"Please be patient, this will take a few moments\"}\n />}\n {actions && actions === \"lookup\" && (\n setActions(null)}\n currentWorkshopDetails={{ quantity: \"1\", part_number: selectedPart?.part_number, description: description, salesRate: cusExist === \"no\" ? \"1\" : rate }}\n setInput={setInput} input={input} name={\"quote\"} setTatquantity={setTatquantity} setStandardId={setStandardId} salesRate={salesRate}\n />\n\n )}\n {actions && actions === \"project_lookup\" && (\n {\n if (quoteStatus === false) {\n setActions(null)\n }\n else {\n setActions(null)\n getProjectParts()\n }\n }}\n currentWorkshopDetails={{ quantity: \"1\", part_number: currentSelectedData?.part_number, description: currentSelectedData?.description, salesRate: cusExist === \"no\" ? \"1\" : rate }}\n setInput={setInput} input={input} name={\"project_lookup\"} salesRate={salesRate} projectParts={projectParts} currentSelectedData={currentSelectedData} setProjectParts={setProjectParts} quoteStatus={quoteStatus}\n workshop_order_id={workshop_order_id || quotation?.workshop_order_id}\n />\n\n )}\n {actions && actions === \"delete_price\" &&\n setActions(null)}\n >\n \n \n Delete Item\n \n \n \n \n This cannot be undone. Are you sure?\n \n \n \n setActions(null)}\n >\n Cancel\n \n \n \n \n Yes\n \n \n \n \n }\n
\n );\n}\n\nexport default React.memo(Quote);\n","import React, { useEffect, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport { makeStyles } from \"lib/utils/common_utils\";\nimport { IconButton, Typography } from \"@material-ui/core\";\n\nimport pdfLogo from \"../../../../assets/pdf.png\";\nimport jpgLogo from \"../../../../assets/jpg.png\";\n\nimport PartsClientServices from \"../../../../lib/services/api/stores/tooling/parts_client\";\nimport { BASE_API_URL_BOXR } from \"lib/constants\";\n\nconst useStyles = makeStyles((theme) => ({\n fileContainer: {\n width: \"640px\",\n border: `1px solid ${theme.palette.primary.main}`,\n borderRadius: \"15px\",\n display: \"flex\",\n alignItems: \"center\",\n padding: \"10px\",\n minHeight: \"132px\",\n overflowX: \"scroll\",\n },\n\n filePreviewContainer: {\n maxWidth: \"130px\",\n marginRight: \"30px\",\n },\n\n logo: {\n height: \"76px\",\n },\n\n certDialog: {\n \"& .MuiDialog-paper\": {\n boxShadow: \"0px 3px 6px #00000029\",\n position: \"absolute\",\n left: \"calc(50% - 250px)\",\n },\n },\n}));\n\nexport default function ReleaseCertPopup(props) {\n const classes = useStyles();\n\n const { open, dialogCloseHandler, selectedSecondaryPartId, title, msds } =\n props;\n\n const [files, setFiles] = useState([]);\n\n const handleClose = () => {\n dialogCloseHandler();\n };\n\n useEffect(() => {\n if (msds) {\n setFiles(msds);\n return;\n }\n if (selectedSecondaryPartId) {\n PartsClientServices.fetchMaterialCertificates(selectedSecondaryPartId)\n .then((res) => setFiles(res.data))\n .catch((err) => console.log(err));\n }\n }, [selectedSecondaryPartId, msds]);\n\n const handleClick = (item) => {\n window.open(item.url)\n }\n\n return (\n
\n \n
\n {title && (\n \n {title}\n \n )}\n
\n {files.length === 0 ? No files found : files.map((item) => {\n const fileType = item.file_name.split(\".\")[1];\n\n let logo = pdfLogo;\n if (fileType === \"jpg\") {\n logo = jpgLogo;\n }\n\n return (\n \n
\n \"file-logo\"\n \n {item.file_name}\n \n
\n \n );\n })}\n
\n
\n \n
\n );\n}\n","import React, { useContext, useState } from 'react'\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from \"components/buttons\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport { Box, CircularProgress, Grid, Typography, useTheme } from '@material-ui/core';\n// import { ViewIcon as Visibility } from '@material-ui/icons';\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport SignatureFile from 'components/form_components/fileUpload/SIgnatureFile';\nimport { useEffect } from 'react';\nimport { validateFormData } from 'lib/utils/helperFunctions';\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { WorkshopContext } from '../WorkshopContext/WorkshopContext';\nimport lock from \"assets/icons/Lock.svg\";\nimport unlock from \"assets/icons/Unlock.svg\";\nimport { _formatDate } from 'lib/utils/common_utils';\nimport { BASE_API_URL_BOXP } from 'lib/constants';\nimport ReleaseCertPopup from './ReleaseCertPopup';\n\nconst Styles = {\n svg: {\n filter: \"invert(1)\",\n height: 18,\n marginBottom: 2,\n },\n};\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n sec: {\n width: \"30%\",\n height: \"90px\",\n borderRadius: \"6px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n fileView: {\n backgroundColor: \"#ffffff\",\n padding: \"45px\",\n border: \"1px solid gray\",\n borderRadius: \" 8px\",\n marginBottom: \"12px\",\n },\n}));\nfunction AwayFromBase(props) {\n const {\n data,\n releaseDetails,\n getReleaseList,\n isGettingDetails,\n editTab,\n setEditTab,\n getHeaderDetails,\n orderStateNum,\n tabStatusAFB,\n closeTabStatusAFB,\n getWorkshopOrderDetails,\n setIsGettingDetails,\n releaseDocuments\n } = props;\n const message = useContext(ToastMessageContext)\n const [disabled, setDisabled] = useState(true);\n const [closeTab, setCloseTab] = useState(true);\n const [busy, setBusy] = useState(null);\n const [errors, setErrors] = useState({});\n const [isRelease, setIsRelease] = useState(false);\n const [msds, setMsds] = useState([])\n const classes = useStyles();\n const { editButton, setEditButton } =\n useContext(WorkshopContext);\n const [releaseComments, setReleaseComments] = useState(null);\n\n // console.log(\"release details is================\", releaseDocuments?.unserviceable_label)\n\n useEffect(() => {\n if (releaseDetails?.comments != null || releaseDetails?.comments != undefined) {\n setReleaseComments(releaseDetails?.comments)\n }\n }, [releaseDetails?.comments])\n\n const handleCloseTab = () => {\n getReleaseList()\n getWorkshopOrderDetails();\n setEditTab(!editTab)\n setDisabled(!disabled);\n }\n\n const handleTab = () => {\n setEditButton(true)\n setEditTab(!editTab);\n setDisabled(!disabled);\n };\n\n const handleEditAPiCall = async () => {\n setIsGettingDetails(true);\n const param = {\n workshop_order_id: releaseDetails?.workshop_order_id,\n tab: \"release\",\n release_tab_style: 3\n };\n await MaintenanceServices.editButton(param)\n .then((res) => {\n if (res.success) {\n getWorkshopOrderDetails();\n setEditButton(!editButton);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setBusy(null);\n })\n .finally(() => {\n setBusy(null);\n setIsGettingDetails(false);\n });\n };\n\n useEffect(() => {\n if (editButton) {\n handleEditAPiCall();\n }\n }, [editButton])\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n const formData = new FormData(e.target);\n\n const { valid, error } = validateFormData(formData);\n\n if (!valid) {\n setErrors(error);\n return;\n }\n formData.append(\"workshop_order_id\", releaseDetails?.workshop_order_id,)\n formData.append(\"release_tab_style\", 3)\n formData.append(\"edit_tab\", true)\n formData.append(\"client_name\", releaseDetails?.client_name)\n formData.append(\"client_position\", releaseDetails?.client_position)\n formData.append(\"accepted_at\", releaseDetails?.accepted_at)\n formData.append(\"free_from_fod\", releaseDetails?.free_from_fod)\n formData.append(\"completed_by\", releaseDetails?.completed_by)\n formData.append(\"tool_equip_removed\", releaseDetails?.tool_equip_removed)\n formData.append(\"security_passes_returned\", releaseDetails?.security_passes_returned)\n\n releaseDetails.client_signature.forEach(clientSign => formData.append(\"client_signature\", clientSign))\n\n // let params = {\n // edit_tab: true\n // }\n setBusy(\"loading\");\n try {\n const response = await MaintenanceServices.updateReleaseAwayFromBase(\n formData,\n data.release_id,\n\n );\n\n if (response.success) {\n message.showToastMessage({\n message: \"Updated Successfully!\",\n variant: \"success\",\n });\n handleCloseTab()\n } else {\n message.showToastMessage({\n message:\n response.error.length > 0\n ? response.error?.join(\", \")\n : \"Something went wrong!\",\n variant: \"error\",\n });\n }\n\n setBusy(null);\n } catch (error) {\n setBusy(\"error\");\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }\n };\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n const theme = useTheme()\n const GetInfoCard = (props) => {\n console.log(props)\n const classes = useStyles();\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n\n )\n }\n\n if (isGettingDetails) {\n return (\n \n \n \n );\n }\n return (\n\n
\n \n \n \n Documentation\n \n \n \n\n \n \n
\n \n {\n if (releaseDocuments?.serviceable_label != undefined && releaseDocuments?.serviceable_label != []) {\n window.open(releaseDocuments?.serviceable_label.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No Label Found.\",\n variant: \"error\",\n });\n }\n }}\n />\n
: \"N/A\"\n } />\n \n {\n if (releaseDocuments?.workshop_report !== undefined && releaseDocuments?.serviceable_label != []) {\n window.open(releaseDocuments?.workshop_report.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No Report Found.\",\n variant: \"error\",\n });\n }\n\n }}\n />\n
: \"N/A\"\n } />\n \n {\n if (releaseDocuments?.c_of_c !== undefined && releaseDocuments?.serviceable_label != []) {\n window.open(releaseDocuments?.c_of_c.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No file Found.\",\n variant: \"error\",\n });\n }\n\n }}\n />\n : \"N/A\"} />\n \n {\n setIsRelease(true);\n setMsds(\n releaseDocuments.release_cert_1?.map((item) => ({\n ...item,\n url: item.file_path,\n }))\n );\n }}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />\n \n } />\n \n {\n setIsRelease(true);\n setMsds(\n releaseDocuments.release_cert_2?.map((item) => ({\n ...item,\n url: item.file_path,\n }))\n );\n }}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />\n \n } />\n \n {\n if (releaseDocuments.data?.scrap_certificate != undefined && releaseDocuments.data?.scrap_certificate != []) {\n window.open(releaseDocuments.data?.scrap_certificate.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No Label Found.\",\n variant: \"error\",\n });\n }\n }}\n\n />\n : \"N/A\"} />\n \n {\n if (releaseDocuments?.unserviceable_label != undefined && releaseDocuments?.unserviceable_label != []) {\n window.open(releaseDocuments?.unserviceable_label.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No label Found.\",\n variant: \"error\",\n });\n }\n\n }}\n />\n : \"N/A\"} />\n \n \n \n \n Client Acceptance\n \n
\n \n \n
\n \n \n \n \n \n ({\n filename: file?.file_name,\n url: file?.file_path,\n id: file?.id,\n })\n )}\n APIUrl={\"\"}\n uploadButtonView={false}\n />\n \n
\n
\n \n\n \n Site Clearance\n \n \n \n
\n \n \n \n \n \n \n { setReleaseComments(e.target.value); resetErrorsHandler(e.target.name) }}\n style={{ backgroundColor: editTab ? '#fff' : \"\" }}\n >\n \n
\n
\n \n {/* \n handleTab()}\n startIcon={editTab ? : }\n >\n {editTab ? \"Close Tab\" : \"Edit Tab\"}\n \n */}\n \n {orderStateNum > 9 && tabStatusAFB && props?.permission.write &&\n handleTab()}\n startIcon={\"lock\"}\n >\n Edit Tab\n }\n\n {orderStateNum > 9 && closeTabStatusAFB === 2 && props?.permission.write && (\n }\n onClick={() => setCloseTab(true)}\n >\n Close Tab\n \n )}\n \n \n {\n isRelease &&\n setIsRelease(false)}\n open={isRelease}\n msds={msds}\n />\n }\n\n )\n}\n\n\nexport default AwayFromBase\n","import React, { useState } from 'react'\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from \"components/buttons\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport { Box, Grid, Typography, useTheme } from '@material-ui/core';\nimport { ViewIcon as Visibility } from '@material-ui/icons';\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { useContext } from 'react';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport { BASE_API_URL_BOXP } from 'lib/constants';\nimport ReleaseCertPopup from './ReleaseCertPopup';\nconst useStyles = makeStyles((theme) => ({\n\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n\n}));\n\nfunction NoGoodsOut(props) {\n const { releaseDetails, releaseDocuments } = props;\n const message = useContext(ToastMessageContext)\n const classes = useStyles();\n const [isRelease, setIsRelease] = useState(false);\n const [msds, setMsds] = useState([])\n\n const theme = useTheme()\n const GetInfoCard = (props) => {\n console.log(props)\n const classes = useStyles();\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n\n )\n\n\n }\n // console.log(\"......releaseDocuments \", typeof releaseDocuments.serviceable_label)\n return (\n
\n \n \n Documentation\n \n \n \n\n \n \n
\n releaseDocuments.serviceable_label !== undefined ? window.open(releaseDocuments.serviceable_label.map(document => document.file_path\n )) : \"N/A\"}\n /> : \"N/A\"\n } />\n \n {\n if (releaseDocuments?.workshop_report !== undefined && releaseDocuments?.serviceable_label != []) {\n window.open(releaseDocuments?.workshop_report.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No Report Found.\",\n variant: \"error\",\n });\n }\n\n }}\n />\n
: \"N/A\"\n } />\n \n {\n if (releaseDocuments?.c_of_c !== undefined && releaseDocuments?.serviceable_label != []) {\n window.open(releaseDocuments?.c_of_c.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No file Found.\",\n variant: \"error\",\n });\n }\n\n }}\n />\n
: \"N/A\"} />\n\n \n {\n setIsRelease(true);\n setMsds(\n releaseDocuments.release_cert_1?.map((item) => ({\n ...item,\n url: item.file_path,\n }))\n );\n }}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />\n \n } />\n \n {\n setIsRelease(true);\n setMsds(\n releaseDocuments.release_cert_2?.map((item) => ({\n ...item,\n url: item.file_path,\n }))\n );\n }}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />\n \n } />\n \n {\n if (releaseDocuments?.scrap_certificate !== undefined) {\n window.open(releaseDocuments?.scrap_certificate.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No Label Found.\",\n variant: \"error\",\n });\n }\n }}\n\n />\n : \"N/A\"} />\n\n \n {\n if (releaseDocuments.unserviceable_label != []) {\n window.open(releaseDocuments.unserviceable_label.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No label Found.\",\n variant: \"error\",\n });\n }\n\n }}\n />\n : \"N/A\"} />\n \n \n \n {\n isRelease &&\n setIsRelease(false)}\n open={isRelease}\n msds={msds}\n />\n }\n \n )\n}\n\nexport default NoGoodsOut","import React, { useState, useContext, useEffect } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { Box, useTheme, CircularProgress, MenuItem, IconButton } from \"@material-ui/core\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from \"components/buttons\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport Unlock from '../../../../assets/Unlock.png'\nimport LockIcon from '../../../../assets/icons/Lock.svg'\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation'\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport {\n fixedInputValueTo2DecimalPlaces,\n removeSecFromDateTime,\n validateFormData,\n} from \"lib/utils/helperFunctions\";\nimport ReleaseCertPopup from \"./ReleaseCertPopup\";\nimport SignatureFile from 'components/form_components/fileUpload/SIgnatureFile';\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport { BASE_API_URL_BOXP } from \"lib/constants\";\nimport Add from \"@material-ui/icons/Add\";\nimport DateTimeField from 'components/form_components/PartsDatefield'\nimport ManageAddress from \"./AddAddress\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n sec: {\n width: \"20%\",\n height: \"70px\",\n borderRadius: \"6px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n fileView: {\n backgroundColor: \"#ffffff\",\n padding: \"45px\",\n border: \"1px solid gray\",\n borderRadius: \" 8px\",\n marginBottom: \"12px\",\n },\n viewOnlyField: {\n pointerEvents: \"none\",\n background: \"#F5F5F5\",\n },\n\n}));\nconst numFields = [\"weight\", \"length\", \"width\", \"height\"];\nfunction ReleaseDetails(props) {\n\n // console.log(props, \"ReleaseDetails\")\n const { releaseDetails, data,\n getReleaseList,\n workshopOrderDetails,\n getWorkshopOrderDetails,\n setIsGettingDetails,\n orderStateNum,\n getHeaderDetails,\n tabStatus,\n closeTabStatus,\n isGettingDetails,\n releaseDocuments,\n editTab,\n setEditTab, fetchDetails\n } = props\n\n const classes = useStyles();\n const theme = useTheme();\n const message = useContext(ToastMessageContext);\n const [customerAddress, setCustomerAddress] = useState([]);\n const [vehicleList, setVehicleList] = useState([])\n const [disabled, setDisabled] = useState(true);\n const [errors, setErrors] = useState({});\n const [isRelease, setIsRelease] = useState(false);\n const [msds, setMsds] = useState([])\n const [busy, setBusy] = useState(null);\n const [prePackingFiles, setPrePackingFiles] = useState([]);\n const [itemPackedFiles, setItemPackedFiles] = useState([]);\n const { editButton, setEditButton } =\n useContext(WorkshopContext);\n const [closeTab, setCloseTab] = useState(false);\n\n const [fieldsData, setFieldsData] = useState({\n\n weight: null,\n length: null,\n width: null,\n height: null,\n dispatch_type: null,\n receipt_cost: null,\n customer_address_id: null,\n vehicles_id: null,\n company: null,\n collected_by: null,\n carrier: null,\n tracking_no: null\n\n });\n //new \n const [addressAction, setAddAction] = useState(null);\n const [selectedAddress, setSelectedAddress] = useState(null)\n const [selectedAddressDetails, setSelectedDetailsAddress] = useState(null)\n const [distance, setDistance] = useState(0)\n\n\n\n const getVehicleList = () => {\n MaintenanceServices.getVehicleList().then((res) => {\n setVehicleList(res.data)\n }).catch(() => {\n\n })\n\n\n }\n\n const getCustomerAddress = () => {\n const param = {\n workshop_order_id: releaseDetails?.workshop_order_id,\n };\n MaintenanceServices.getCustomerAddress(param).then((res) => {\n if (res.success) {\n setCustomerAddress(res.data)\n if (selectedAddress !== null) {\n\n setFieldsData({ ...fieldsData, customer_address_id: selectedAddress })\n }\n\n }\n }).catch(() => {\n\n })\n\n }\n\n useEffect(() => {\n getVehicleList()\n }, [])\n\n useEffect(() => {\n if (releaseDetails?.workshop_order_id) { getCustomerAddress() }\n }, [releaseDetails?.workshop_order_id])\n\n\n\n\n useEffect(() => {\n if (fieldsData.customer_address_id !== null && customerAddress.length > 0) {\n\n let address = customerAddress.filter((item) => item.id === fieldsData.customer_address_id)\n setSelectedDetailsAddress(address[0])\n console.log(\"details is====================\", selectedAddressDetails, address, selectedAddress)\n }\n }, [fieldsData])\n\n\n\n\n\n\n useEffect(() => {\n\n if (selectedAddressDetails !== null && selectedAddressDetails !== undefined && data !== undefined) {\n const service = new window.google.maps.DistanceMatrixService();\n\n // latitude if needed\n const origin1 = { lat: parseFloat(`${data?.base_station_latitude}`), lng: parseFloat(`${data?.base_station_longitude}`) };\n const destinationB = { lat: parseFloat(`${selectedAddressDetails?.latitude}`), lng: parseFloat(`${selectedAddressDetails?.longitude}`) };\n //address\n const origin2 = `${data?.base_station_address}`;\n const destinationA = `${selectedAddressDetails?.address}`;\n\n const request = {\n origins: [origin2],\n destinations: [destinationA],\n travelMode: window.google.maps.TravelMode.DRIVING,\n unitSystem: window.google.maps.UnitSystem.IMPERIAL,\n avoidHighways: false,\n avoidTolls: false,\n };\n // console.log(\"reques==\", request)\n // The total distance of this route, expressed in meters (value) and as text. The textual value is formatted according to the unitSystem specified in the request (or in metric, if no preference was supplied).\n service.getDistanceMatrix(request).then((response) => {\n if (response?.rows[0].elements[0].status === \"OK\") {\n // const string = response.rows[0].elements[0].distance.text\n // let string1 = string.split(\" \")\n // setDistance(string1[0])\n let string2 = response.rows[0].elements[0].distance.value\n setDistance(string2)\n }\n else {\n setDistance(0)\n }\n\n }).catch((err) => {\n console.log(\"could not find placess\")\n })\n }\n\n\n }, [selectedAddressDetails])\n\n const onChangeHandler = (e) => {\n const name = e.target.name;\n const value = numFields.includes(name)\n ? fixedInputValueTo2DecimalPlaces(e.target.value)\n : e.target.value;\n\n\n resetErrorsHandler(name);\n setFieldsData((prevState) => ({ ...prevState, [name]: value }));\n };\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleTab = () => {\n setEditButton(true)\n setEditTab(!editTab);\n setDisabled(!disabled);\n // setCloseTab(true)\n };\n\n const deleteFileHandler = async (id) => {\n setBusy(\"file-deleting\");\n try {\n const response = await MaintenanceServices.deleteFile(id);\n\n if (response.success) {\n message.showToastMessage({\n message: \"File deleted successfully\",\n variant: \"success\",\n });\n getReleaseList();\n // setBusy(null);\n }\n setBusy(null);\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"file-deleting-error\");\n }\n }\n\n const handleEditAPiCall = async () => {\n setIsGettingDetails(true);\n const param = {\n workshop_order_id: releaseDetails?.workshop_order_id,\n tab: \"release\",\n release_tab_style: 1\n };\n await MaintenanceServices.editButton(param)\n .then((res) => {\n if (res.success) {\n getWorkshopOrderDetails();\n setEditButton(!editButton);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setBusy(null);\n })\n .finally(() => {\n setBusy(null);\n setIsGettingDetails(false);\n });\n };\n\n useEffect(() => {\n if (editButton) {\n handleEditAPiCall();\n }\n }, [editButton])\n\n const handleCloseTab = () => {\n getReleaseList()\n getWorkshopOrderDetails();\n setEditTab(!editTab)\n setDisabled(!disabled);\n }\n\n\n const GetInfoCard = (props) => {\n const classes = useStyles();\n const theme = useTheme();\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n };\n\n const submitHandler = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n\n const { valid, error } = validateFormData(formData);\n\n if (!valid) {\n setErrors(error);\n return;\n }\n\n formData.append(\"workshop_order_id\", releaseDetails?.workshop_order_id);\n formData.append(\"release_tab_style\", 1)\n formData.delete(\"date\");\n formData.set(\"courier_date\", releaseDetails?.courier_date)\n\n formData.set(\n \"packed_at\", releaseDetails?.packed_at\n\n );\n formData.append(\"packed_by\", releaseDetails?.packed_by\n\n )\n formData.append(\"item_details_correct\", releaseDetails?.item_details_correct\n )\n\n formData.append(\"release_method\", releaseDetails?.release_method)\n\n formData.append(\"docs_attached\", releaseDetails?.docs_attached)\n // formData.delete('pre_packing_photos[]')\n\n formData.append(\"shipping_fee\", releaseDetails.shipping_fee)\n // releaseDetails.customer_address.forEach(item => formData.append(\"shipping_address\", item.id))\n prePackingFiles.forEach(files => formData.set(\"pre_packing_photos[]\", files))\n formData.delete(\"customer_address_id\");\n formData.append(\"shipping_address\", fieldsData.customer_address_id)\n formData.append(\"delivery_distance\", distance)\n\n itemPackedFiles.forEach(files => formData.set(\"packed_item_photos[]\", files))\n\n releaseDetails.collect_signature.forEach(collectSign => formData.set(\"collect_signature\", collectSign))\n // for (var [key, value] of formData.entries()) {\n // console.log(key, value);\n // }\n if (closeTab) {\n formData.append(\"edit_tab\", true)\n formData.append(\"web_app\", true)\n }\n setBusy(\"loading\");\n const params = {\n edit_tab: true\n }\n try {\n const response = await MaintenanceServices.updateReleaseTabData(\n formData,\n releaseDetails.id,\n );\n if (response.success) {\n console.log(\"response.success\", response)\n // getHeaderDetails();\n getReleaseList();\n handleCloseTab();\n message.showToastMessage({\n message: \"Updated Successfully!\",\n variant: \"success\",\n });\n } else {\n message.showToastMessage({\n message:\n response.error.length > 0\n ? response.error?.join(\", \")\n : \"Something went wrong!\",\n variant: \"error\",\n });\n }\n console.table(\"response\", response);\n setBusy(null);\n } catch (error) {\n setBusy(\"error\");\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }\n };\n\n useEffect(() => {\n let tempData = {};\n Object.keys(releaseDetails).forEach((key) => {\n tempData[key] = releaseDetails[key];\n });\n setFieldsData(tempData);\n\n }, [releaseDetails]);\n\n const handleCustomerAddress = (address) => {\n if (address != null || []) {\n console.log(\"CustomerAdress\", address)\n let objArray2 = [];\n address.map((arr) => {\n objArray2.push(arr.address_line_1)\n objArray2.push(arr.address_line_2)\n objArray2.push(arr.address_line_3)\n objArray2.push(arr.city)\n objArray2.push(arr.country)\n objArray2.push(arr.postcode)\n })\n let customerAddress = objArray2.filter(Boolean).join(\",\")\n return customerAddress\n }\n\n else {\n console.log(\"error\")\n return \"-\"\n }\n\n }\n\n if (isGettingDetails) {\n return (\n \n \n \n );\n }\n\n return (\n
\n
\n \n \n \n \n Documentation\n \n \n \n\n \n \n
\n \n {\n if (releaseDocuments?.serviceable_label != undefined && releaseDocuments?.serviceable_label != []) {\n window.open(releaseDocuments?.serviceable_label.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No Label Found.\",\n variant: \"error\",\n });\n }\n }}\n />\n
: \"N/A\"\n } />\n \n {\n if (releaseDocuments?.workshop_report !== undefined && releaseDocuments?.workshop_report != []) {\n window.open(releaseDocuments?.workshop_report.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No Report Found.\",\n variant: \"error\",\n });\n }\n\n }}\n />\n
: \"N/A\"\n } />\n \n {\n if (releaseDocuments?.c_of_c !== undefined && releaseDocuments?.c_of_c != []) {\n window.open(releaseDocuments.c_of_c.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No file Found.\",\n variant: \"error\",\n });\n }\n\n }}\n />\n : \"N/A\"} />\n \n {\n setIsRelease(true);\n setMsds(\n releaseDocuments.release_cert_1?.map((item) => ({\n ...item,\n url: item.file_path,\n }))\n );\n }}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />\n \n } />\n \n {\n setIsRelease(true);\n setMsds(\n releaseDocuments.release_cert_2?.map((item) => ({\n ...item,\n url: item.file_path,\n }))\n );\n }}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />\n \n } />\n \n {\n if (releaseDocuments?.scrap_certificate != undefined && releaseDocuments?.scrap_certificate != []) {\n window.open(releaseDocuments?.scrap_certificate.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No Label Found.\",\n variant: \"error\",\n });\n }\n }}\n\n />\n : \"N/A\"} />\n \n {\n if (releaseDocuments?.unserviceable_label != undefined && releaseDocuments?.unserviceable_label != []) {\n window.open(releaseDocuments?.unserviceable_label.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No label Found.\",\n variant: \"error\",\n });\n }\n\n }}\n />\n : \"N/A\"} />\n \n \n \n
\n \n \n \n \n \n \n \n
\n
\n \n\n \n Item Condition (pre-packing)\n \n \n Photos of item pre-packing\n \n
\n\n\n ({\n filename: file?.file_name,\n url: file?.file_path,\n id: file?.id,\n }))\n }\n APIUrl={\"\"}\n accept={\"multiple\"}\n setFiles={setPrePackingFiles}\n uploadButtonView={editTab === false}\n multiple={true}\n name={\"pre_packing_photos[]\"}\n id=\"pre_packing_photos[]\"\n action={\"Upload Document\"}\n onDelete={disabled ? null : deleteFileHandler}\n isDeleting={busy === \"file-deleting\"}\n\n />\n
\n\n \n Packing\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n {editTab ? (\n \n Packed Photos\n \n ) : (\n \n Photos of packed item\n \n )}\n\n\n
\n ({\n filename: item?.file_name,\n url: `${item?.file_path}`,\n id: item?.id,\n }))\n }\n APIUrl={\"\"}\n accept={\"multiple\"}\n setFiles={(files) => { setItemPackedFiles(files) }}\n uploadButtonView={editTab === false}\n // onChange={handlePackedChange}\n // onChange={handleChange}\n name={\"packed_item_photos[]\"}\n id=\"packed_item_photos[]\"\n action={\"Upload Document\"}\n onDelete={disabled ? null : deleteFileHandler}\n isDeleting={busy === \"file-deleting\"}\n />\n\n\n
\n\n\n \n Shipping\n \n\n \n\n \n \n \n Select\n \n Customer Collect\n MRO Delivery\n MRO Arranged 3rd Party Agent\n\n \n \n {fieldsData.dispatch_type === \"mro_delivery\" && <>\n \n \n \n Select\n {vehicleList.map((item) =>\n {item.registration}\n\n )}\n \n \n \n
\n\n \n \n\n \n \n\n \n \n Select\n {customerAddress.map((item) =>\n {item.address}\n\n )}\n \n \n\n \n {disabled ? \"\" : {\n setAddAction(\"create\")\n }}>}\n\n \n
\n }\n {fieldsData.dispatch_type === \"customer_collect\" && <>\n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n\n\n\n\n\n\n \n\n\n }\n {fieldsData.dispatch_type === \"mro_arranged_third_party_agent\" && <>\n\n \n \n\n \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n Select\n {customerAddress.map((item) =>\n {item.address}\n\n )}\n \n \n\n \n {disabled ? \"\" : {\n setAddAction(\"create\")\n }}>}\n\n \n \n }\n \n\n\n\n {/* \n \n {releaseDetails.release_method === \"shipped\" &&\n
\n \n\n \n \n \n \n \n
}\n {releaseDetails.release_method === null &&\n
\n \n \n \n \n \n \n
}\n {releaseDetails.release_method === \"collect\" &&\n
\n \n \n \n \n \n \n ({\n filename: file?.file_name,\n url: file?.file_path,\n id: file?.id,\n })\n )}\n APIUrl={\"\"}\n uploadButtonView={false}\n />\n \n\n\n
\n\n }\n
\n */}\n \n \n\n {orderStateNum > 9 && tabStatus && props?.permission.write &&\n < MROButton\n type=\"button\"\n\n variant={\"contained\"}\n style={{\n backgroundColor: \"#FFB000\",\n color: \"white\",\n display: editTab ? \"none\" : undefined,\n }}\n onClick={() => handleTab()}\n startIcon={}\n >\n Edit Tab\n }\n {orderStateNum > 9 && closeTabStatus === 2 && props?.permission.write && \n }\n onClick={() => {\n setCloseTab(true)\n\n\n }\n }\n >\n Close Tab\n }\n\n\n\n \n \n {\n isRelease &&\n setIsRelease(false)}\n open={isRelease}\n msds={msds}\n />\n }\n {addressAction && addressAction === \"create\" && (\n setAddAction(null)}\n workshopDetails={data}\n setSelectedAddress={setSelectedAddress}\n getCustomerAddress={getCustomerAddress}\n\n />\n )}\n \n );\n}\n\nexport default ReleaseDetails;\n","import React, { useState } from 'react'\nimport MROButton from \"components/buttons\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport { Box, CircularProgress, Grid, Typography, useTheme } from '@material-ui/core';\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport FileUpload from \"components/form_components/fileUpload\";\nimport lock from \"assets/icons/Lock.svg\";\nimport unlock from \"assets/icons/Unlock.svg\";\nimport { useContext } from 'react';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { _formatDate } from 'lib/utils/common_utils';\nimport { WorkshopContext } from '../WorkshopContext/WorkshopContext';\nimport { useEffect } from 'react';\nimport { BASE_API_URL_BOXP } from 'lib/constants';\nimport ReleaseCertPopup from './ReleaseCertPopup';\n\nconst Styles = {\n svg: {\n filter: \"invert(1)\",\n height: 18,\n marginBottom: 2,\n },\n};\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n paper: {\n borderRadius: \"5px\",\n backgroundColor: \"#F5F5F5\",\n padding: theme.spacing(2),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n sec1: {\n borderRadius: \"10px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n sec: {\n width: \"30%\",\n height: \"90px\",\n borderRadius: \"6px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(5),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n fileView: {\n backgroundColor: \"#ffffff\",\n padding: \"45px\",\n border: \"1px solid gray\",\n borderRadius: \" 8px\",\n marginBottom: \"12px\",\n },\n}));\n\nfunction Scrap(props) {\n const {\n releaseDetails,\n data,\n getReleaseList,\n isGettingDetails,\n editTab,\n setEditTab,\n getHeaderDetails,\n orderStateNum,\n tabStatusScrap,\n closeTabStatusScrap,\n getWorkshopOrderDetails,\n setIsGettingDetails,\n releaseDocuments\n } = props;\n const message = useContext(ToastMessageContext)\n const classes = useStyles();\n // const [aogUpdate, setAogUpdate] = useState();\n // const [errors, setErrors] = useState({});\n const { editButton, setEditButton } =\n useContext(WorkshopContext);\n const [closeTab, setCloseTab] = useState(false);\n const [disabled, setDisabled] = useState(true);\n const [busy, setBusy] = useState(null)\n const [isRelease, setIsRelease] = useState(false);\n const [msds, setMsds] = useState([])\n const [multilationFiles, setMultilationFiles] = useState([]);\n\n // console.log(\"releaee doc is======================\", releaseDocuments, releaseDocuments.unserviceable_label)\n\n\n const deleteFileHandler = async (id) => {\n setBusy(\"file-deleting\");\n try {\n const response = await MaintenanceServices.deleteFile(id);\n\n if (response.success) {\n message.showToastMessage({\n message: \"File deleted successfully\",\n variant: \"success\",\n });\n // getReleaseList();\n // getWorkshopOrderDetails();\n // setEditTab(!editTab)\n // setDisabled(!disabled);\n }\n setBusy(null);\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n setBusy(\"file-deleting-error\");\n }\n }\n const handleEditAPiCall = async () => {\n setIsGettingDetails(true);\n const param = {\n workshop_order_id: releaseDetails?.workshop_order_id,\n tab: \"release\",\n release_tab_style: 4\n\n };\n await MaintenanceServices.editButton(param)\n .then((res) => {\n if (res.success) {\n getWorkshopOrderDetails();\n setEditButton(!editButton);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n setBusy(null);\n })\n .finally(() => {\n setBusy(null);\n setIsGettingDetails(false);\n });\n };\n\n useEffect(() => {\n if (editButton) {\n handleEditAPiCall();\n }\n }, [editButton])\n\n const handleCloseTab = () => {\n getReleaseList()\n getWorkshopOrderDetails();\n setEditTab(!editTab)\n setDisabled(!disabled);\n }\n\n const handleTab = () => {\n setEditButton(true)\n setEditTab(!editTab);\n setDisabled(!disabled);\n };\n\n const theme = useTheme()\n const GetInfoCard = (props) => {\n const classes = useStyles();\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n\n )\n\n\n }\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n const formData = new FormData(e.target);\n\n formData.append(\"workshop_order_id\", releaseDetails?.workshop_order_id,)\n formData.append(\"release_tab_style\", 4)\n formData.append(\"edit_tab\", true)\n formData.append(\"completed_at\", releaseDetails?.completed_at)\n formData.append(\"completed_by\", releaseDetails?.completed_by)\n\n // console.log(\"file is multilationFiles================\", multilationFiles)\n // if (multilationFiles.length === 0) {\n // releaseDetails.photos_of_multilation.forEach((_, i) => {\n // let file_name = releaseDetails.photos_of_multilation[i].file_name\n // let file = new File([releaseDetails.photos_of_multilation[i]], file_name)\n // console.log(\"file is================\", file)\n // formData.append(\"photos_of_multilation[]\", file)\n // });\n // } else {\n multilationFiles.forEach(files => formData.append(\"photos_of_multilation[]\", files))\n // }\n\n // let params = {\n // edit_tab: true\n // }\n setBusy(\"loading\");\n try {\n const response = await MaintenanceServices.updateScrap(\n formData,\n data.release_id,\n );\n\n if (response.success) {\n message.showToastMessage({\n message: \"Updated Successfully!\",\n variant: \"success\",\n });\n handleCloseTab()\n } else {\n message.showToastMessage({\n message:\n response.error.length > 0\n ? response.error?.join(\", \")\n : \"Something went wrong!\",\n variant: \"error\",\n });\n }\n\n setBusy(null);\n } catch (error) {\n setBusy(\"error\");\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }\n };\n\n if (isGettingDetails) {\n return (\n \n \n \n );\n }\n return (\n
\n \n \n Documentation\n \n \n \n\n \n \n
\n \n {\n if (releaseDocuments?.serviceable_label !== undefined) {\n window.open(releaseDocuments?.serviceable_label.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No Label Found.\",\n variant: \"error\",\n });\n }\n }}\n />\n
: \"N/A\"\n } />\n \n {\n if (releaseDocuments?.workshop_report !== undefined) {\n window.open(releaseDocuments?.workshop_report.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No Report Found.\",\n variant: \"error\",\n });\n }\n\n }}\n />\n
: \"N/A\"\n } />\n \n {\n if (releaseDocuments?.c_of_c !== undefined) {\n window.open(releaseDocuments?.c_of_c.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No file Found.\",\n variant: \"error\",\n });\n }\n\n }}\n />\n : \"N/A\"} />\n \n {\n setIsRelease(true);\n setMsds(\n releaseDocuments.release_cert_1?.map((item) => ({\n ...item,\n url: item.file_path,\n }))\n );\n }}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />\n \n } />\n \n {\n setIsRelease(true);\n setMsds(\n releaseDocuments.release_cert_2?.map((item) => ({\n ...item,\n url: item.file_path,\n }))\n );\n }}\n fontSize=\"small\"\n htmlColor={ICON_COLOUR}\n />\n \n } />\n \n {\n if (releaseDocuments?.scrap_certificate !== undefined) {\n window.open(releaseDocuments?.scrap_certificate.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No Label Found.\",\n variant: \"error\",\n });\n }\n }}\n\n />\n : \"N/A\"} />\n \n {\n if (releaseDocuments?.unserviceable_label != undefined) {\n window.open(releaseDocuments?.unserviceable_label.map(document => document.file_path\n ))\n }\n else {\n message.showToastMessage({\n message: \"No label Found.\",\n variant: \"error\",\n });\n }\n\n }}\n />\n : \"N/A\"} />\n \n \n \n \n Scrapped Item\n \n \n Photos of mutilation\n \n\n
\n ({\n filename: item?.file_name,\n url: `${item?.file_path}`,\n id: item?.id,\n }))\n : \"\"}\n APIUrl={\"\"}\n setFiles={(files) => setMultilationFiles(files)}\n uploadButtonView={editTab === false}\n multiple={true}\n name={\"photos_of_multilation[]\"}\n id=\"photos_of_multilation[]\"\n action={\"Upload Document\"}\n onDelete={disabled ? null : deleteFileHandler}\n isDeleting={busy === \"file-deleting\"}\n // onChange={handleChange}\n />\n \n Disposal\n \n \n \n
\n \n \n
\n
\n \n\n \n {orderStateNum > 9 && tabStatusScrap && props?.permission.write && (\n handleTab()}\n startIcon={\"lock\"}\n >\n Edit Tab\n \n )}\n\n {orderStateNum > 0 && closeTabStatusScrap === 2 && props?.permission.write && (\n }\n onClick={() => setCloseTab(true)}\n >\n Close Tab\n \n )}\n \n \n {\n isRelease &&\n setIsRelease(false)}\n open={isRelease}\n msds={msds}\n />\n }\n \n )\n}\n\nexport default Scrap","import React, { useState, useContext, useEffect } from 'react'\nimport AwayFromBase from './AwayFromBase'\nimport NoGoodsOut from './NoGoodsOut'\nimport ReleaseDetails from './index'\nimport Scrap from './Scrap'\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation'\nimport { WorkshopContext } from '../WorkshopContext/WorkshopContext'\n\n\nfunction RenderReleaseTab(props) {\n const {\n data,\n workshopOrderDetails,\n closeTabStatus,\n tabStatus,\n getWorkshopOrderDetails,\n orderStateNum,\n getHeaderDetails,\n tabStatusAFB,\n closeTabStatusAFB,\n tabStatusScrap,\n closeTabStatusScrap,\n permission\n } = props\n const [fetchDetails, setFetchDetails] = useState(false)\n const [releaseDetails, setReleaseDetails] = useState({})\n const [releaseDocuments, setReleaseDocuments] = useState({})\n const message = useContext(ToastMessageContext);\n\n const { setState } = useContext(WorkshopContext);\n\n const { shouldTabDataUpdate, setShouldTabDataUpdate } =\n useContext(WorkshopContext);\n\n const [editTab, setEditTab] = useState(false);\n\n useEffect(() => {\n setState((ps) => ({ ...ps, isEditing: editTab, tab: \"release\" }));\n\n return () => setState((ps) => ({ ...ps, tab: null }));\n }, [editTab]);\n\n\n const [isGettingDetails, setIsGettingDetails] = useState(false);\n const getReleaseList = async () => {\n if (data.release_id) {\n setIsGettingDetails(true)\n\n const params = data.id\n await MaintenanceServices.getReleaseTabDetails(data.release_id)\n .then((res) => {\n setReleaseDetails(res.data);\n setShouldTabDataUpdate(false);\n console.log(\"releaseaatb\", data)\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n\n setIsGettingDetails(false)\n });\n }\n };\n const getReleaseDocuments = async () => {\n if (data.id) {\n setFetchDetails(true);\n const params = {\n workshop_order_id: data.id,\n };\n await MaintenanceServices.getReleaseDocument(params)\n .then((response) => {\n setReleaseDocuments(response.data)\n // console.log(\"releasedocument\", releaseDocuments)\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setFetchDetails(false);\n });\n }\n };\n useEffect(() => {\n getReleaseDocuments()\n }, [data.id])\n\n useEffect(() => {\n if (shouldTabDataUpdate) {\n getReleaseList();\n }\n }, [shouldTabDataUpdate]);\n\n useEffect(() => {\n getReleaseList()\n }, [data.release_id])\n\n const _props = {\n data,\n releaseDetails,\n getReleaseList,\n isGettingDetails,\n editTab,\n setEditTab,\n getHeaderDetails,\n orderStateNum,\n tabStatus,\n closeTabStatus,\n getWorkshopOrderDetails,\n setIsGettingDetails,\n tabStatusAFB,\n closeTabStatusAFB,\n tabStatusScrap,\n closeTabStatusScrap,\n releaseDocuments,\n fetchDetails,\n permission\n };\n\n\n\n switch (data.release_tab_style) {\n case 1:\n return ;\n\n case 2:\n return ;\n\n case 3:\n return ;\n case 4:\n return \n\n default:\n return null;\n }\n\n\n}\n\nexport default RenderReleaseTab","import React from 'react'\nimport { Box } from \"@material-ui/core\";\nimport RenderReleaseTab from './RenderReleaseTab';\n\nexport default function TabComponent(props) {\n console.log(\"called this component renderRelease\")\n return (\n \n \n \n )\n}\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport ShiftServices from \"lib/services/api/planning/Shifts/shift\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport moment from \"moment\";\nimport GreenTickIcon from 'assets/green_filled_tick.png'\nimport RedCrossIcon from 'assets/Red remove icon.png'\nimport GearAmbear from 'assets/Amber gear@3x.png'\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"750px\",\n // height: \"110vh\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"50px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden !important\"\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n tableCell: {\n height: '32px',\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n\n },\n })\n);\nfunction LeaveRequest(props) {\n\n const { handleClose, leaveDay } = props\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [data, setData] = useState([])\n const [Loading, setLoading] = useState(false)\n\n\n\n\n\n const getListing = () => {\n\n const params = {\n selected_date: leaveDay\n\n }\n\n setLoading(true)\n ShiftServices.getLeaveRequestDetails(params).then((res) => {\n setData(res.data)\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n getListing()\n }, [leaveDay])\n\n\n\n\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n\n\n\n\n\n\n\n\n const column = [\n\n {\n title: \"Requested\",\n field: \"requested\",\n width: '20%',\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n width: '20%',\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n width: '20%',\n },\n },\n {\n title: \"User\",\n field: \"user_name\",\n width: '60%',\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n width: '60%',\n textAlign: \"left\",\n },\n\n },\n\n {\n title: \"Hours\",\n field: \"hours\",\n\n },\n {\n title: \"Status\",\n field: \"status\",\n render: (rowData) =>
\n {rowData?.status === 1 ? : rowData?.status === 2 ? : rowData?.status === 0 || rowData?.status === 3 ? : \" \"}\n\n
\n }\n ];\n\n\n\n\n\n return (\n
\n \n
\n \n Leave Requests\n \n\n \n \n \n
\n \n\n
\n )\n}\n\nexport default LeaveRequest","import { Paper, Grid, Typography, IconButton, Box } from '@material-ui/core'\nimport { Visibility } from '@material-ui/icons'\nimport { ICON_COLOUR } from 'lib/constants/style_constants'\nimport React, { useEffect, useState } from 'react'\nimport GroupGreyIcon from 'assets/Dashboard/audience.svg'\nimport GroupIcon from 'assets/Dashboard/group.svg'\nimport BackArrow from 'assets/LeaveBwd.svg'\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\nimport ForwardArrow from 'assets/LeaveFwd.svg'\nimport moment from 'moment'\nimport _ from 'lodash'\nimport LeaveRequest from './LeaveRequest'\n\n\nfunction CalendarWeekly(props) {\n\n const { data, week, setSelectedWeek, setSelectedDay, approvedData, headerDetails, date } = props\n const handleDate = (value) => {\n let day = moment(value, \"YYYY-MM-DD\").format(\"DD\")\n return day\n }\n\n const [leaveDay, setLeaveDay] = useState(\"\")\n const [action, setAction] = useState(\"\")\n\n\n\n\n\n\n\n\n return (\n\n \n {\n setSelectedWeek(moment(week).subtract('1', 'week'))\n }} height={\"400px\"} style={{ cursor: 'pointer' }} />\n\n\n \n\n\n\n \n \n {data.length > 0 && data.map((value) => (<> \n\n \n\n 0 ? \"#FFF\" : \"#F5F5F5\", pointerEvents: value.leave_details.length > 0 ? \"\" : \"none\" }}>\n\n\n <>\n \n \n {handleDate(value.date)}\n \n {value.leave_details.length > 0 &&\n \n {props?.permission?.write && {\n setLeaveDay(value.date)\n setAction(\"leave_request\")\n }}>\n \n }\n }\n \n\n\n\n {value.leave_details.length > 0 && value.leave_details[0].shifts.map((item) => (\n\n\n \n \n \n {approvedData?.user}\n \n {item?.leave_hours}\n \n \n \n ))}\n\n \n\n\n\n \n\n\n \n\n \n ))}\n \n {data.length > 0 && \n Week {date.week}\n\n \n {headerDetails?.total_users || 0}\n \n {headerDetails?.total_shift_hours || 0}\n }\n \n\n {data.length > 0 && data.map((value) => (\n <> \n\n {\n setSelectedDay({ date: value.date })\n }} >\n\n \n\n\n <>\n \n \n {handleDate(value.date)}\n \n \n {value?.total_users}\n \n \n \n {value?.total_shift_hours}\n \n \n\n\n\n \n {value.shift_details.length > 0 && value.shift_details.map((event) => (\n \n\n \n {event?.shift_type_name === \"Early\" ? \"E\" : event?.shift_type_name === \"Day\" ? \"D\" : event?.shift_type_name === \"Late\" ? \"L\" : event?.shift_type_name === \"Night\" ? \"N\" : \"\"}\n \n \n {event?.users}\n \n \n \n {event?.shift_hours}\n \n\n ))}\n\n \n \n\n\n\n \n\n\n \n\n \n \n\n ))\n }\n\n\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n \n\n\n \n {\n setSelectedWeek(moment(week).add('1', 'week'))\n }} height={\"400px\"} />\n {\n action && action === \"leave_request\" && {\n setAction('')\n }} />\n }\n\n \n )\n}\n\nexport default CalendarWeekly","import React, { useEffect, useContext, useState } from 'react'\nimport { Dialog, DialogContent, DialogTitle, MenuItem, Grid, Typography } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport MROButton from 'components/buttons';\nimport MROTextField from 'components/form_components/TextField';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport QuantityCounter from 'components/quantity_counter';\nimport { Autocomplete } from '@material-ui/lab';\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from 'material-table';\nimport ShiftServices from 'lib/services/api/planning/Shifts/shift';\nimport GreenTickIcon from 'assets/green_filled_tick.png'\n\nimport NumericIncrement from \"views/Operations/LineMaintenance/WorkOrder/FieldComponents/numeric_increment\";\n\n\n\n\nconst useStyles = makeStyles(theme => ({\n actionButtons: {\n paddingTop: '20px',\n paddingBottom: '33px',\n textAlign: 'right',\n '& button:not(:last-child)': {\n marginRight: '20px'\n }\n },\n modal: {\n '& .MuiDialog-paperWidthMd': {\n maxWidth: '650px',\n }\n },\n title: {\n fontSize: '18px',\n '& h2': {\n color: theme.palette.primary.main,\n textAlign: 'center'\n }\n },\n formLabel: {\n\n '& span:last-child': {\n fontSize: '14px',\n }\n }\n\n}));\n\nexport default function ApproveLeave(props) {\n const classes = useStyles()\n const { handleClose, approvedData, id, getListing, onClose } = props\n const [qty, setQty] = useState();\n const [errors, setErrors] = useState({});\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n const [calculatedValue, setCalculatedValue] = useState(0)\n\n const [state, setState] = useState({ man_hours: '' });\n\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n header: false,\n toolbar: false,\n rowStyle: {\n height: '42px'\n }\n };\n\n\n useEffect(() => {\n if (parseFloat(state.man_hours) > 0) {\n let value = parseFloat(approvedData?.days)\n let value1 = parseFloat(state.man_hours)\n let toatl = parseFloat(value * value1).toFixed(2)\n setCalculatedValue(toatl)\n }\n }, [state.man_hours])\n\n const columns = [\n\n\n {\n title: \"Title\",\n field: \"title\",\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '15px'\n },\n headerStyle: {\n textAlign: 'left',\n paddingLeft: '15px'\n }\n\n\n\n },\n\n {\n title: \"va1ue\",\n field: \"value\",\n cellStyle: {\n textAlign: 'right',\n paddingRight: '15px'\n },\n headerStyle: {\n textAlign: 'left',\n paddingRight: '15px'\n },\n render: (rowData) => = approvedData?.shift_hours?.leave_hours_total ? \"#4FC605\" : approvedData?.remaining_leave < approvedData?.shift_hours?.leave_hours_total ? '#FF0202' : '' : '' }} >\n\n {rowData?.value}\n \n },\n\n\n ];\n const tableData = [\n {\n \"title\": \"Leave Start\",\n \"value\": approvedData?.start_datetime\n }, {\n \"title\": \"Leave End\",\n \"value\": approvedData?.end_datetime\n }, {\n \"title\": \"Leave Days\",\n \"value\": approvedData?.days\n }, {\n \"title\": \"Calculated Shift Hours\",\n \"value\": approvedData?.shift_hours?.shift_hours_total > 0 ? approvedData?.shift_hours?.shift_hours_total : calculatedValue\n\n }, {\n \"title\": \"Leave Remaining (before this request)\",\n \"value\": approvedData?.remaining_leave\n }, {\n \"title\": \"Leave Period\",\n \"value\": approvedData?.leave_period\n\n },\n\n\n ]\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formData = new FormData(e.target)\n let valid = true;\n let error = {};\n for (let pair of formData.entries()) {\n const value = pair[1];\n const key = pair[0];\n // console.table(\"formdata=====\", key, value)\n if (!value) {\n error[key] = true;\n valid = false;\n\n }\n }\n if (parseFloat(state.man_hours) <= 0) {\n error[\"shift_hours_per_day\"] = true\n valid = false\n\n }\n\n if (!valid) {\n setErrors(error);\n return;\n }\n\n formData.append(\"leave_request_id\", id)\n formData.append(\"action\", \"approve\")\n\n if (approvedData?.shift_hours?.leave_hours_total === 0) {\n\n approvedData.shift_hours.leave_days.forEach((item, index) => {\n\n formData.append(`leave_day_id[${index}]`, item.id)\n\n })\n\n\n\n }\n else if (approvedData?.shift_hours?.leave_hours_total > 0) {\n\n approvedData.shift_hours.leave_days.forEach((item, index) => {\n formData.append(`leave_day_id[${index}]`, item.id)\n formData.append(`hours[${index}]`, item.hours)\n })\n approvedData.shift_hours.leave_days.forEach((item, key) => {\n\n item.shifts.forEach((shift, index) => {\n if (shift.leave_hours === shift.shift_hours) {\n formData.append(`status[${key}]`, 1)\n formData.append(`shift_id[${key}]`, shift.id)\n formData.append(`leave_hours[${key}]`, shift.leave_hours)\n }\n else if (shift.leave_hours < shift.shift_hours) {\n formData.append(`shift_id[${key}]`, shift.id)\n formData.append(`leave_hours[${key}]`, shift.leave_hours)\n }\n })\n })\n\n\n }\n setLoading(true)\n await ShiftServices.postLeaveActionRequest(formData).then((res) => {\n\n message.showToastMessage({\n message: \"Leave Approved Successfully\",\n variant: \"success\",\n });\n\n onClose()\n getListing()\n\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n handleClose()\n getListing()\n }).finally(() => {\n setLoading(false)\n })\n\n\n\n\n\n\n }\n\n\n return (\n
\n \n Approve Leave\n \n\n Check the requested shift hours verses remaining leave hours for the User.\n
\n\n \n\n\n \n\n\n
\n\n Cautions\n\n \n\n \n {approvedData?.shift_hours?.shift_hours_total === 0 ? \"ZERO shift hours have been found for this request! Enter an amount of leave hours to allocate against each day for this request\" : approvedData?.shift_hours?.shift_hours_total > approvedData?.remaining_leave ? \"Leave requested exceeds remaining leave for the period!\" : approvedData?.shift_hours?.shift_hours_total <= approvedData?.remaining_leave ? \"Nil\" : \"\"} \n \n\n
\n <>\n\n \n {approvedData?.shift_hours?.shift_hours_total === 0 &&\n\n\n\n QTY Required Must Be Greater Than 0 : (errors[\"shift_hours_per_day\"] && state.man_hours === \"\") ? *Please Enter Shift Hrs : ''\n }\n InputLabelProps={{ shrink: true }}\n setError={() =>\n setErrors((prevState) => ({\n ...prevState,\n shift_hours_per_day: false,\n }))\n }\n />\n }\n\n\n \n
\n \n Cancel\n \n \n Complete\n \n\n
\n \n
\n
\n \n\n
\n )\n}\n","import React, { useEffect, useContext, useState } from 'react'\nimport { Dialog, DialogContent, DialogTitle, MenuItem, Grid, Typography } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport MROButton from 'components/buttons';\nimport MROTextField from 'components/form_components/TextField';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport QuantityCounter from 'components/quantity_counter';\nimport { Autocomplete } from '@material-ui/lab';\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from 'material-table';\nimport ShiftServices from 'lib/services/api/planning/Shifts/shift';\nimport RedCrossIcon from 'assets/Red remove icon.png'\n\n\n\n\nconst useStyles = makeStyles(theme => ({\n actionButtons: {\n paddingTop: '20px',\n paddingBottom: '33px',\n textAlign: 'center',\n '& button:not(:last-child)': {\n marginRight: '20px'\n }\n },\n modal: {\n '& .MuiDialog-paperWidthMd': {\n maxWidth: '450px',\n }\n },\n title: {\n fontSize: '18px',\n '& h2': {\n color: theme.palette.primary.main,\n textAlign: 'center'\n }\n },\n formLabel: {\n\n '& span:last-child': {\n fontSize: '14px',\n }\n }\n\n}));\n\nexport default function RejectLeave(props) {\n const classes = useStyles()\n const { handleClose, approvedData, id, getListing } = props\n const [qty, setQty] = useState();\n const [errors, setErrors] = useState({});\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n\n\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n\n const formData = new FormData(e.target)\n let valid = true;\n let error = {};\n for (let pair of formData.entries()) {\n const value = pair[1];\n const key = pair[0];\n // console.table(\"formdata=====\", key, value)\n if (!value) {\n error[key] = true;\n valid = false;\n }\n }\n\n if (!valid) {\n setErrors(error);\n return;\n }\n\n formData.append(\"leave_request_id\", id)\n formData.append(\"action\", \"reject\")\n\n setLoading(true)\n await ShiftServices.postLeaveActionRequest(formData).then((res) => {\n\n message.showToastMessage({\n message: \"Leave Rejected Successfully\",\n variant: \"success\",\n });\n\n handleClose()\n getListing()\n\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n handleClose()\n getListing()\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n\n\n\n\n return (\n
\n \n Reject Leave\n \n\n \n
\n <>\n \n \n \n { setErrors({ ...errors, reject_reason: false }); }}\n className={classes.inputField}\n\n />\n \n \n\n\n
\n \n Cancel\n \n \n Complete\n \n\n
\n \n
\n\n\n
\n\n\n\n\n\n\n\n\n \n\n\n\n\n
\n )\n}\n","\nimport { AppBar, Toolbar, makeStyles, IconButton, Typography, Grid, MenuItem, FormControlLabel, ButtonGroup, InputAdornment, FormControl, Box, Select, InputBase, Menu, Button } from '@material-ui/core'\nimport MROFullScreenRightDrawer from 'components/fullwidth_dialog'\nimport React, { useReducer, useState, useEffect, useContext } from 'react'\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MROButton from 'components/buttons';\nimport CalendarWeekly from './CalendarWeekly';\nimport ShiftServices from 'lib/services/api/planning/Shifts/shift';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { MoreVert } from '@material-ui/icons';\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport ApproveLeave from './ApproveLeave';\nimport moment from 'moment';\nimport PositiveSwitch from 'components/form_components/switch';\nimport MarkAbsent from '../ShiftPlane/MarkAbsent';\nimport EditAreas from 'views/Planning/Resource/User Shifts/EditAreas';\nimport EditZones from 'views/Planning/Resource/User Shifts/EditZones';\nimport GreenTickIcon from 'assets/green_filled_tick.png'\nimport RedCrossIcon from 'assets/Red remove icon.png'\nimport ReplayIcon from '@material-ui/icons/Replay';\nimport RejectLeave from './RejectLeave';\nimport UsedHours from './UsedHours';\n\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrapper: {\n margin: \"3%\",\n // overflowX: \"hidden !important\"\n },\n title: {\n fontSize: '18px'\n },\n toggle: {\n height: '31px',\n '&.MuiToggleButton-sizeSmall': {\n fontSize: \"13px\",\n padding: '11px'\n },\n '&.MuiToggleButtonGroup-root': {\n\n flexWrap: 'wrap',\n\n }\n\n },\n actionButtons: {\n marginTop: '15px',\n display: \"flex\",\n justifyContent: \"end\",\n alignItems: \"center\",\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n paper: {\n height: 'max-content',\n '&.MuiAutocomplete-popper': {\n zIndex: '1000000 !important'\n }\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n\n}));\nconst GetInfoCard = (props) => {\n const classes = useStyles();\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n};\nfunction LeaveReview(props) {\n const classes = useStyles()\n const { handleClose, currentSelections, selectedWeek, setSelectedWeek, bases, shiftType, areaData, zoneData, getShiftLeaveDetails, selectedBase } = props\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(0)\n const [action, setAction] = useState({})\n const [currentSelection, setCurrentSelection] = useState({})\n const [loading, setLoading] = useState(false)\n const [data, setData] = useState([])\n const [filterData, setFilterData] = useState({ base_station_id: selectedBase })\n const message = useContext(ToastMessageContext)\n const ITEM_HEIGHT = 48;\n const [open, setOpen] = useState(false)\n const [anchorEl, setAnchorEl] = useState(null)\n const [date, setDate] = useState({ week: null, year: null })\n const [weekData, setWeekData] = useState([])\n const [selectedDay, setSelectedDay] = useState({ date: \"\" })\n const [checked, setChecked] = useState(false)\n const [tableLoading, setTableLoading] = useState(false)\n const [shiftData, setShiftData] = useState([])\n const [anchorElList, setAnchorElList] = useState(null);\n const [openList, setOpenList] = useState(false);\n const [headerDetails, setHeaderDetails] = useState({})\n useEffect(() => {\n if (selectedWeek !== undefined || null) {\n setDate({\n week: moment(selectedWeek, \"YYYY-MM-DD\").week(),\n year: moment(selectedWeek, \"YYYY-MM-DD\").year()\n })\n }\n }, [selectedWeek])\n\n\n const handleFilterChange = (keyItem, value) => {\n\n setFilterData((prevState) => ({ ...prevState, [keyItem]: value }));\n };\n\n const getWeekViewDetails = async () => {\n\n const params = {\n week: date.week,\n year: date.year,\n id: currentSelections?.id,\n option: \"leave\",\n organisation_id: getOrganisationId(),\n ...filterData\n }\n setLoading(true)\n await ShiftServices.getShiftWeeklyDetails(params).then((res) => {\n setWeekData(res.data.listing)\n setHeaderDetails(res.data.header_details)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n if (date.week !== null) {\n getWeekViewDetails()\n }\n }, [date, filterData, currentSelections])\n\n const getListing = () => {\n\n const params = {\n organisation_id: getOrganisationId(),\n leave_request_id: currentSelections?.id,\n ...filterData\n\n\n }\n\n setLoading(true)\n ShiftServices.getLeaveReviewPage(params).then((res) => {\n setData(res.data.leave_request)\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n\n\n useEffect(() => {\n\n getListing();\n\n }, [filterData]);\n\n\n\n const handleClick = (event) => {\n setOpen(true);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseMenu = () => {\n setOpen(false);\n setAction(null);\n setCurrentSelection({});\n };\n\n const handleClickListingTable = (event) => {\n setOpenList(true);\n setAnchorElList(event.currentTarget);\n };\n const handleCloseMenuList = () => {\n setOpenList(false);\n setAction(null);\n setCurrentSelection({});\n }\n\n\n const getDayListingDetails = async () => {\n\n const params = {\n selected_date: selectedDay.date,\n show_absence_leave_training: checked,\n page: page + 1,\n limit: pageSize,\n organisation_id: getOrganisationId(),\n ...filterData\n }\n setTableLoading(true)\n await ShiftServices.getShiftDayListingDetails(params).then((res) => {\n setShiftData(res.data)\n setTotalCount(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setTableLoading(false)\n })\n\n }\n useEffect(() => {\n if (selectedDay.date !== '') {\n getDayListingDetails()\n }\n }, [selectedDay, filterData, page, pageSize, checked])\n\n\n\n const handleLeaveReOpen = async () => {\n\n const formData = new FormData()\n // const formData = {\n // leave_request_id: currentSelections?.id,\n // action: \"reopen\"\n // }\n formData.append(\"leave_request_id\", currentSelections?.id)\n formData.append(\"action\", \"reopen\")\n data.shift_hours.leave_days.forEach((item, key) => {\n\n item.shifts.length > 0 && item.shifts.forEach((shift, index) => {\n formData.append(`shift_id[${key}]`, shift.id)\n })\n })\n\n await ShiftServices.postLeaveActionRequest(formData).then((res) => {\n\n message.showToastMessage({\n message: \"Reopened Successfully\",\n variant: \"success\",\n });\n\n handleClose()\n getShiftLeaveDetails()\n\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n handleClose()\n getShiftLeaveDetails()\n })\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n };\n const columns = [\n\n\n {\n title: \"Type\",\n field: \"shift_type\",\n render: (rowData) => <>\n \n\n\n \n\n },\n\n {\n title: \"Base\",\n field: \"base_station_id\",\n },\n\n {\n title: \"User\",\n field: \"user\",\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n\n }\n },\n {\n title: \"Area\",\n field: \"area\",\n },\n {\n title: \"Zone\",\n field: \"zone\",\n },\n {\n title: \"Shift Hrs\",\n field: \"shift_hours\",\n }, {\n title: \"Start\",\n field: \"start\",\n },\n {\n title: \"Finish\",\n field: \"end\",\n }, {\n title: \"User Hrs\",\n field: \"user_hours\",\n render: (rowData) => parseFloat(rowData?.user_hours)) ? \"#FFB300\" : rowData?.status === 'Training' || rowData?.status === 'Leave' ? \"#FF0202\" : rowData?.status === \"On Shift\" && (parseFloat(rowData?.shift_hours) === parseFloat(rowData?.user_hours)) ? \"#4FC605\" : rowData?.status === \"Overtime\" ? \"#351BA2\" : '#FF0202', textDecoration: 'underline' }} onClick={() => {\n setCurrentSelection(rowData);\n setAction(\"view_usedhrs\")\n }} > {rowData?.user_hours ?? '-'}\n\n \n },\n {\n title: \"Status\",\n field: \"status\",\n render: (rowData) => parseFloat(rowData?.user_hours)) ? \"#FFB300\" : rowData?.status === 'Training' || rowData?.status === 'Leave' ? \"#FF0202\" : rowData?.status === \"On Shift\" && (parseFloat(rowData?.shift_hours) === parseFloat(rowData?.user_hours)) ? \"#4FC605\" : rowData?.status === \"Overtime\" ? \"#351BA2\" : '#FF0202'\n }} > {rowData?.status ?? '-'}\n\n \n\n },\n {\n title: \"Action\",\n field: \"action\",\n render: (rowData) => (\n
\n {props?.permission?.write && {\n setCurrentSelection(rowData);\n handleClickListingTable(e);\n }}\n >\n \n }\n
\n ),\n\n },\n\n ];\n\n\n return (\n
\n \n\n \n \n {\n handleClose()\n getShiftLeaveDetails()\n }}\n edge=\"start\"\n className={classes.backButton}\n color=\"inherit\"\n aria-label=\"back\"\n >\n \n \n \n Leave Review\n \n \n \n\n\n
\n \n \n Leave Request\n \n \n \n handleFilterChange(\"base_station_id\", e.target.value)}\n id=\"tags-standard\"\n\n name=\"Base Station\"\n defaultValue={selectedBase || \"\"}\n input={}\n >\n Base (All)\n {bases && bases.map((value) => (\n {value.station}\n ))}\n \n \n \n \n handleFilterChange(\"shift_type_id\", e.target.value)}\n id=\"type-standard\"\n name=\"Type\"\n defaultValue={\"\"}\n input={}\n >\n Type (All)\n {shiftType && shiftType.map((value) => (\n {value.name}\n ))}\n \n \n \n \n \n handleFilterChange(\"shift_area_id\", e.target.value)}\n id=\"area-standard\"\n name=\"Area\"\n defaultValue={\"\"}\n input={}\n >\n Area (All)\n {areaData && areaData.map((value) => (\n {value.name}\n ))}\n \n \n\n \n \n\n \n handleFilterChange(\"shift_zone_id\", e.target.value)}\n id=\"tags-standard\"\n\n name=\"zone\"\n defaultValue={\"\"}\n input={}\n >\n Zone (All)\n {zoneData && zoneData.map((value) => (\n {value.name}\n ))}\n\n \n \n\n\n \n\n \n\n
\n
\n \n <>\n \n
\n \n \n \n \n\n
\n
\n \n
\n \n \n \n \n\n
\n
\n \n
\n {data?.status}} />\n \n \n \n\n
\n
\n \n
\n \n \n {props?.permission?.write ? \n {\n setCurrentSelection(data)\n handleClick(e)\n }} />\n : \"\"}\n\n
\n
\n \n \n
\n
\n \n \n \n
\n
\n Select a day to display shift details\n\n
\n \n {selectedDay.date !== '' ? moment(selectedDay.date).format('dddd Do MMMM YYYY') : \" \"}\n \n setChecked(e.target.checked)}\n name=\"\"\n />\n }\n label=\"Show Absence, Leave & Training\"\n labelPlacement=\"start\"\n name=\"\"\n />\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n\n totalCount={totalCount}\n page={page}\n\n />\n\n\n\n\n
\n\n\n\n\n {\n open && (\n \n {(currentSelections.status === 0 || currentSelections.status === 3) &&\n <>\n {\n setAction(\"approve\");\n }}\n >\n {\" \"} Approve\n \n\n\n {\n setAction(\"reject\");\n }}\n >\n {\" \"} Reject\n }\n {(currentSelections.status === 1 || currentSelections.status === 2) && {\n handleLeaveReOpen()\n }}\n >\n Reopen\n }\n\n \n )\n }\n\n {\n openList && (\n \n\n {\n setAction(\"editarea\");\n }}\n >\n Edit Area\n \n\n\n {\n setAction(\"editzones\");\n }}\n >\n Edit Zone\n \n {\n setAction(\"markabsent\");\n }}\n >\n Mark as Absent\n \n\n \n )\n }\n\n\n
\n\n\n {\n action && action === \"approve\" &&\n {\n handleClose()\n getShiftLeaveDetails()\n }}\n handleClose={() => {\n setAction('')\n\n }}\n approvedData={data}\n id={currentSelections?.id}\n getListing={getListing}\n getShiftLeaveDetails={getShiftLeaveDetails}\n />\n }\n {\n action && action === \"reject\" &&\n {\n setAction('')\n handleClose()\n getShiftLeaveDetails()\n }}\n approvedData={data}\n id={currentSelections?.id}\n getListing={getListing}\n getShiftLeaveDetails={getShiftLeaveDetails}\n />\n }\n {\n action && action === \"editarea\" &&\n setAction(\"\")}\n onClose={() => {\n setAction(\"\")\n setOpenList(false)\n }}\n currentSelection={currentSelection}\n areaData={areaData}\n getListing={getDayListingDetails}\n />\n }\n {\n action && action === \"view_usedhrs\" &&\n setAction(\"\")}\n onClose={() => {\n setAction(\"\")\n setOpenList(false)\n }}\n currentSelection={currentSelection}\n\n getListing={getDayListingDetails}\n />\n }\n {\n action && action === \"editzones\" &&\n setAction(\"\")}\n onClose={() => {\n setAction(\"\")\n setOpenList(false)\n }}\n currentSelection={currentSelection}\n zoneData={zoneData}\n getListing={getDayListingDetails}\n />\n }\n\n {\n action && action === \"markabsent\" && setAction(\"\")}\n onClose={() => {\n setAction(\"\")\n setOpenList(false)\n }}\n currentSelection={currentSelection}\n getListing={getDayListingDetails}\n\n />\n }\n\n
\n )\n}\n\nexport default LeaveReview","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport ShiftServices from \"lib/services/api/planning/Shifts/shift\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport GreenTickIcon from 'assets/green_filled_tick.png'\nimport RedCrossIcon from 'assets/Red remove icon.png'\nimport GearAmbear from 'assets/Amber gear@3x.png'\n\n\n\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"850px\",\n // height: \"110vh\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"50px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden !important\"\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n tableCell: {\n height: '32px',\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n\n },\n })\n);\n\n\nexport default function OvertimeRequest(props) {\n const { handleClose, leaveDay } = props\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [data, setData] = useState([])\n const [Loading, setLoading] = useState(false)\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n\n const column = [\n\n {\n title: \"Requested\",\n field: \"requested\",\n width: '20%',\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n width: '20%',\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n width: '20%',\n },\n },\n {\n title: \"User\",\n field: \"user\",\n width: '30%',\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n width: '30%',\n textAlign: \"left\",\n },\n\n },\n\n {\n title: \"Type\",\n field: \"type\",\n\n }, {\n title: \"Start\",\n field: \"start_datetime\",\n width: '30%',\n\n }, {\n title: \"End\",\n field: \"end_datetime\",\n width: '30%',\n\n\n }, {\n title: \"Hours\",\n field: \"hours\",\n\n },\n {\n title: \"Status\",\n field: \"status\",\n render: (rowData) =>
\n {rowData?.status === 1 ? : rowData?.status === 2 ? : rowData?.status === 0 || rowData?.status === 3 ? : \" \"}\n\n
\n }\n ];\n\n const getListing = () => {\n\n const params = {\n selected_date: leaveDay\n\n }\n\n setLoading(true)\n ShiftServices.getOvertimeRequestDetails(params).then((res) => {\n setData(res.data)\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n getListing()\n }, [leaveDay])\n\n\n\n\n\n\n return (\n
\n \n
\n \n Overtime Requests\n \n\n \n \n \n
\n \n\n
\n )\n}\n\n","import { Paper, Grid, Typography, IconButton, Box } from '@material-ui/core'\nimport { Visibility } from '@material-ui/icons'\nimport { ICON_COLOUR } from 'lib/constants/style_constants'\nimport React, { useEffect, useState } from 'react'\nimport GroupGreyIcon from 'assets/Dashboard/audience.svg'\nimport GroupIcon from 'assets/Dashboard/group.svg'\nimport BackArrow from 'assets/LeaveBwd.svg'\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\nimport ForwardArrow from 'assets/LeaveFwd.svg'\nimport moment from 'moment'\nimport _ from 'lodash'\nimport OvertimeRequest from './OvertimeRequest'\n\n\nfunction CalendarWeekly(props) {\n\n const { data, week, setSelectedWeek, setSelectedDay, approvedData, headerDetails, date } = props\n const handleDate = (value) => {\n let day = moment(value, \"YYYY-MM-DD\").format(\"DD\")\n return day\n }\n\n const [leaveDay, setLeaveDay] = useState(\"\")\n const [action, setAction] = useState(\"\")\n\n\n\n\n\n\n\n\n return (\n\n \n {\n setSelectedWeek(moment(week).subtract('1', 'week'))\n }} height={\"400px\"} />\n\n\n \n\n\n\n \n \n {data.length > 0 && data.map((value) => (<> \n\n \n\n 0 ? \"#FFF\" : \"#F5F5F5\", pointerEvents: value.overtime_details.length > 0 ? \"\" : \"none\" }}>\n\n\n <>\n \n \n {handleDate(value.date)}\n \n {value.overtime_details.length > 0 &&\n \n {props?.permission?.write && {\n setLeaveDay(value.date)\n setAction(\"overtime_request\")\n }}>\n \n }\n }\n \n\n\n\n {value.overtime_details.length > 0 && value.overtime_details.map((item) => (\n\n\n \n \n \n {approvedData?.user}\n \n {item?.hours}\n \n \n \n ))}\n\n \n\n\n\n \n\n\n \n\n \n ))}\n \n {data.length > 0 && \n Week {date.week}\n\n \n {headerDetails?.total_users || 0}\n \n {headerDetails?.total_shift_hours || 0}\n }\n \n\n {data.length > 0 && data.map((value) => (\n <> \n\n {\n setSelectedDay({ date: value.date })\n }} >\n\n \n\n\n <>\n \n \n {handleDate(value.date)}\n \n \n {value?.total_users}\n \n \n \n {value?.total_shift_hours}\n \n \n\n\n\n \n {value.shift_details.length > 0 && value.shift_details.map((event) => (\n \n\n \n {event?.shift_type_name === \"Early\" ? \"E\" : event?.shift_type_name === \"Day\" ? \"D\" : event?.shift_type_name === \"Late\" ? \"L\" : event?.shift_type_name === \"Night\" ? \"N\" : \"\"}\n \n \n {event?.users}\n \n \n \n {event?.shift_hours}\n \n\n ))}\n\n \n \n\n\n\n \n\n\n \n\n \n \n\n\n ))\n }\n\n\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n \n\n\n \n {\n setSelectedWeek(moment(week).add('1', 'week'))\n }} height={\"400px\"} />\n {\n action && action === \"overtime_request\" && < OvertimeRequest leaveDay={leaveDay} handleClose={() => {\n setAction('')\n }} />\n }\n\n \n )\n}\n\nexport default CalendarWeekly","import React, { useEffect, useContext, useState } from 'react'\nimport { Dialog, DialogContent, DialogTitle, MenuItem, Grid, Typography } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport MROButton from 'components/buttons';\nimport MROTextField from 'components/form_components/TextField';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport QuantityCounter from 'components/quantity_counter';\nimport { Autocomplete } from '@material-ui/lab';\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from 'material-table';\nimport ShiftServices from 'lib/services/api/planning/Shifts/shift';\nimport GreenTickIcon from 'assets/green_filled_tick.png'\n\n\n\n\n\n\nconst useStyles = makeStyles(theme => ({\n actionButtons: {\n paddingTop: '20px',\n paddingBottom: '33px',\n textAlign: 'right',\n '& button:not(:last-child)': {\n marginRight: '20px'\n }\n },\n modal: {\n '& .MuiDialog-paperWidthMd': {\n maxWidth: '650px',\n }\n },\n title: {\n fontSize: '18px',\n '& h2': {\n color: theme.palette.primary.main,\n textAlign: 'center'\n }\n },\n formLabel: {\n\n '& span:last-child': {\n fontSize: '14px',\n }\n }\n\n}));\n\nexport default function ApproveOverTime(props) {\n const classes = useStyles()\n const { handleClose, approvedData, id, getListing, onClose, overtimeDetails } = props\n const [qty, setQty] = useState();\n const [errors, setErrors] = useState({});\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n\n\n\n\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n header: false,\n toolbar: false,\n rowStyle: {\n height: '42px'\n }\n };\n\n\n const columns = [\n\n\n {\n title: \"Title\",\n field: \"title\",\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '15px'\n },\n headerStyle: {\n textAlign: 'left',\n paddingLeft: '15px'\n }\n\n\n\n },\n\n {\n title: \"va1ue\",\n field: \"value\",\n cellStyle: {\n textAlign: 'right',\n paddingRight: '15px'\n },\n headerStyle: {\n textAlign: 'left',\n paddingRight: '15px'\n }\n },\n\n\n ];\n const tableData = [\n {\n \"title\": \"Overtime Start\",\n \"value\": approvedData?.start_datetime\n }, {\n \"title\": \"Overtime End\",\n \"value\": approvedData?.end_datetime\n }, {\n \"title\": \"Shift Hours\",\n \"value\": approvedData?.hours\n },\n\n\n ]\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formData = new FormData(e.target)\n let valid = true;\n let error = {};\n for (let pair of formData.entries()) {\n const value = pair[1];\n const key = pair[0];\n // console.table(\"formdata=====\", key, value)\n if (!value) {\n error[key] = true;\n valid = false;\n }\n }\n\n if (!valid) {\n setErrors(error);\n return;\n }\n\n formData.append(\"overtime_request_id\", id)\n formData.append(\"action\", \"approve\")\n formData.append(\"timezone_id\", overtimeDetails?.timezone_id ? overtimeDetails?.timezone_id : \"\")\n\n setLoading(true)\n await ShiftServices.postOverTimeActionRequest(formData).then((res) => {\n\n message.showToastMessage({\n message: \"Overtime Approved Successfully\",\n variant: \"success\",\n });\n\n onClose()\n getListing()\n\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n handleClose()\n getListing()\n }).finally(() => {\n setLoading(false)\n })\n\n\n\n\n\n\n }\n\n\n return (\n
\n \n Approve Overtime\n \n\n Check and confirm the overtime dates and hours\n
\n\n \n
\n <>\n\n \n\n\n\n\n\n
\n \n Cancel\n \n \n Complete\n \n\n
\n \n \n
\n \n\n
\n )\n}\n","import React, { useEffect, useContext, useState } from 'react'\nimport { Dialog, DialogContent, DialogTitle, MenuItem, Grid, Typography } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport MROButton from 'components/buttons';\nimport MROTextField from 'components/form_components/TextField';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport QuantityCounter from 'components/quantity_counter';\nimport { Autocomplete } from '@material-ui/lab';\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from 'material-table';\nimport ShiftServices from 'lib/services/api/planning/Shifts/shift';\nimport RedCrossIcon from 'assets/Red remove icon.png'\n\n\n\n\nconst useStyles = makeStyles(theme => ({\n actionButtons: {\n paddingTop: '20px',\n paddingBottom: '33px',\n textAlign: 'center',\n '& button:not(:last-child)': {\n marginRight: '20px'\n }\n },\n modal: {\n '& .MuiDialog-paperWidthMd': {\n maxWidth: '450px',\n }\n },\n title: {\n fontSize: '18px',\n '& h2': {\n color: theme.palette.primary.main,\n textAlign: 'center'\n }\n },\n formLabel: {\n\n '& span:last-child': {\n fontSize: '14px',\n }\n }\n\n}));\n\nexport default function RejectOverTime(props) {\n const classes = useStyles()\n const { handleClose, approvedData, id, getListing } = props\n const [qty, setQty] = useState();\n const [errors, setErrors] = useState({});\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n\n\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formData = new FormData(e.target)\n\n\n let valid = true;\n let error = {};\n for (let pair of formData.entries()) {\n const value = pair[1];\n const key = pair[0];\n // console.table(\"formdata=====\", key, value)\n if (!value) {\n error[key] = true;\n valid = false;\n }\n }\n\n if (!valid) {\n setErrors(error);\n return;\n }\n\n formData.append(\"overtime_request_id\", id)\n formData.append(\"action\", \"reject\")\n\n setLoading(true)\n await ShiftServices.postOverTimeActionRequest(formData).then((res) => {\n\n message.showToastMessage({\n message: \"Overtime Rejected Successfully\",\n variant: \"success\",\n });\n\n handleClose()\n getListing()\n\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n handleClose()\n getListing()\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n\n\n\n\n return (\n
\n \n Reject Overtime\n \n\n \n
\n <>\n \n \n \n { setErrors({ ...errors, reject_reason: false }); }}\n className={classes.inputField}\n\n />\n \n \n\n\n
\n \n Cancel\n \n \n Complete\n \n\n
\n \n
\n\n\n
\n\n\n\n\n\n\n\n\n \n\n\n\n\n
\n )\n}\n","\nimport { AppBar, Toolbar, makeStyles, IconButton, Typography, Grid, MenuItem, FormControlLabel, ButtonGroup, InputAdornment, FormControl, Box, Select, InputBase, Menu, Button, Tooltip } from '@material-ui/core'\nimport MROFullScreenRightDrawer from 'components/fullwidth_dialog'\nimport React, { useReducer, useState, useEffect, useContext } from 'react'\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MROButton from 'components/buttons';\nimport CalendarWeekly from './CalendarWeekly';\nimport ShiftServices from 'lib/services/api/planning/Shifts/shift';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { MoreVert } from '@material-ui/icons';\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport ApproveOverTime from './ApproveOverTime';\nimport moment from 'moment';\nimport PositiveSwitch from 'components/form_components/switch';\nimport MarkAbsent from '../ShiftPlane/MarkAbsent';\nimport EditAreas from 'views/Planning/Resource/User Shifts/EditAreas';\nimport EditZones from 'views/Planning/Resource/User Shifts/EditZones';\nimport GreenTickIcon from 'assets/green_filled_tick.png'\nimport RedCrossIcon from 'assets/Red remove icon.png'\nimport ReplayIcon from '@material-ui/icons/Replay';\nimport RejectOverTime from './RejectOverTime';\nimport UsedHours from '../Leave/UsedHours';\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrapper: {\n margin: \"3%\",\n // overflowX: \"hidden !important\"\n },\n title: {\n fontSize: '18px'\n },\n toggle: {\n height: '31px',\n '&.MuiToggleButton-sizeSmall': {\n fontSize: \"13px\",\n padding: '11px'\n },\n '&.MuiToggleButtonGroup-root': {\n\n flexWrap: 'wrap',\n\n }\n\n },\n actionButtons: {\n marginTop: '15px',\n display: \"flex\",\n justifyContent: \"end\",\n alignItems: \"center\",\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n paper: {\n height: 'max-content',\n '&.MuiAutocomplete-popper': {\n zIndex: '1000000 !important'\n }\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n\n}));\nconst GetInfoCard = (props) => {\n const classes = useStyles();\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n};\nfunction OvertimeReview(props) {\n const classes = useStyles()\n const { handleClose, currentSelections, selectedWeek, setSelectedWeek, bases, shiftType, areaData, zoneData, getShiftOvertimeDetails, selectedBase } = props\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(0)\n const [action, setAction] = useState({})\n const [currentSelection, setCurrentSelection] = useState({})\n const [loading, setLoading] = useState(false)\n const [data, setData] = useState([])\n const [filterData, setFilterData] = useState({ base_station_id: selectedBase })\n const message = useContext(ToastMessageContext)\n const ITEM_HEIGHT = 48;\n const [open, setOpen] = useState(false)\n const [anchorEl, setAnchorEl] = useState(null)\n const [date, setDate] = useState({ week: null, year: null })\n const [weekData, setWeekData] = useState([])\n const [selectedDay, setSelectedDay] = useState({ date: \"\" })\n const [checked, setChecked] = useState(false)\n const [tableLoading, setTableLoading] = useState(false)\n const [shiftData, setShiftData] = useState([])\n const [anchorElList, setAnchorElList] = useState(null);\n const [openList, setOpenList] = useState(false);\n const [headerDetails, setHeaderDetails] = useState({})\n const [hover, setHover] = useState(false)\n useEffect(() => {\n if (selectedWeek !== undefined || null) {\n setDate({\n week: moment(selectedWeek, \"YYYY-MM-DD\").week(),\n year: moment(selectedWeek, \"YYYY-MM-DD\").year()\n })\n }\n }, [selectedWeek])\n\n\n const handleFilterChange = (keyItem, value) => {\n\n setFilterData((prevState) => ({ ...prevState, [keyItem]: value }));\n };\n\n const getWeekViewDetails = async () => {\n\n const params = {\n week: date.week,\n year: date.year,\n id: currentSelections?.id,\n option: \"overtime\",\n organisation_id: getOrganisationId(),\n ...filterData\n }\n setLoading(true)\n await ShiftServices.getShiftWeeklyDetails(params).then((res) => {\n setWeekData(res.data.listing)\n setHeaderDetails(res.data.header_details)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n if (date.week !== null) {\n getWeekViewDetails()\n }\n }, [date, filterData, currentSelections])\n\n const getListing = () => {\n\n const params = {\n organisation_id: getOrganisationId(),\n overtime_request_id: currentSelections?.id,\n ...filterData\n\n\n }\n\n setLoading(true)\n ShiftServices.getOvertimeReviewPage(params).then((res) => {\n setData(res.data.overtime_request)\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n\n\n useEffect(() => {\n\n getListing();\n\n }, [filterData]);\n\n\n\n const handleClick = (event) => {\n setOpen(true);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseMenu = () => {\n setOpen(false);\n setAction(null);\n setCurrentSelection({});\n };\n\n const handleClickListingTable = (event) => {\n setOpenList(true);\n setAnchorElList(event.currentTarget);\n };\n const handleCloseMenuList = () => {\n setOpenList(false);\n setAction(null);\n setCurrentSelection({});\n }\n\n\n const getDayListingDetails = async () => {\n\n const params = {\n selected_date: selectedDay.date,\n show_absence_leave_training: checked,\n page: page + 1,\n limit: pageSize,\n organisation_id: getOrganisationId(),\n ...filterData\n }\n setTableLoading(true)\n await ShiftServices.getShiftDayListingDetails(params).then((res) => {\n setShiftData(res.data)\n setTotalCount(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setTableLoading(false)\n })\n\n }\n useEffect(() => {\n if (selectedDay.date !== '') {\n getDayListingDetails()\n }\n }, [selectedDay, filterData, page, pageSize, checked])\n\n\n\n const handleOvertimeReOpen = async () => {\n\n\n const formData = {\n overtime_request_id: currentSelections?.id,\n action: \"reopen\"\n }\n await ShiftServices.postOverTimeActionRequest(formData).then((res) => {\n\n message.showToastMessage({\n message: \"Reopened Successfully\",\n variant: \"success\",\n });\n\n handleClose()\n getShiftOvertimeDetails()\n\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n handleClose()\n getShiftOvertimeDetails()\n })\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n };\n const columns = [\n\n\n {\n title: \"Type\",\n field: \"shift_type\",\n render: (rowData) => <>\n \n\n\n \n\n },\n\n {\n title: \"Base\",\n field: \"base_station_id\",\n },\n\n {\n title: \"User\",\n field: \"user\",\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n\n }\n },\n {\n title: \"Area\",\n field: \"area\",\n },\n {\n title: \"Zone\",\n field: \"zone\",\n },\n {\n title: \"Shift Hrs\",\n field: \"shift_hours\",\n }, {\n title: \"Start\",\n field: \"start\",\n },\n {\n title: \"Finish\",\n field: \"end\",\n },\n {\n title: \"User Hrs\",\n field: \"user_hours\",\n render: (rowData) => parseFloat(rowData?.user_hours)) ? \"#FFB300\" : rowData?.status === 'Training' || rowData?.status === 'Leave' ? \"#FF0202\" : rowData?.status === \"On Shift\" && (parseFloat(rowData?.shift_hours) === parseFloat(rowData?.user_hours)) ? \"#4FC605\" : rowData?.status === \"Overtime\" ? \"#351BA2\" : '#FF0202', textDecoration: 'underline' }} onClick={() => {\n setCurrentSelection(rowData);\n setAction(\"view_usedhrs\")\n }} > {rowData?.user_hours ?? '-'}\n\n \n },\n {\n title: \"Status\",\n field: \"status\",\n render: (rowData) => parseFloat(rowData?.user_hours)) ? \"#FFB300\" : rowData?.status === 'Training' || rowData?.status === 'Leave' ? \"#FF0202\" : rowData?.status === \"On Shift\" && (parseFloat(rowData?.shift_hours) === parseFloat(rowData?.user_hours)) ? \"#4FC605\" : rowData?.status === \"Overtime\" ? \"#351BA2\" : '#FF0202'\n }} > {rowData?.status ?? '-'}\n\n \n\n },\n {\n title: \"Action\",\n field: \"action\",\n render: (rowData) => (\n
\n {props?.permission?.write && {\n setCurrentSelection(rowData);\n handleClickListingTable(e);\n }}\n >\n \n }\n
\n ),\n\n },\n\n ];\n\n\n return (\n
\n \n\n \n \n {\n handleClose()\n getShiftOvertimeDetails()\n }}\n edge=\"start\"\n className={classes.backButton}\n color=\"inherit\"\n aria-label=\"back\"\n >\n \n \n \n Overtime Review\n \n \n \n\n\n
\n \n \n Overtime Request\n \n \n \n handleFilterChange(\"base_station_id\", e.target.value)}\n id=\"tags-standard\"\n\n name=\"Base Station\"\n defaultValue={selectedBase || \"\"}\n input={}\n >\n Base (All)\n {bases && bases.map((value) => (\n {value.station}\n ))}\n \n \n \n \n handleFilterChange(\"shift_type_id\", e.target.value)}\n id=\"type-standard\"\n name=\"Type\"\n defaultValue={\"\"}\n input={}\n >\n Type (All)\n {shiftType && shiftType.map((value) => (\n {value.name}\n ))}\n \n \n \n \n \n handleFilterChange(\"shift_area_id\", e.target.value)}\n id=\"area-standard\"\n name=\"Area\"\n defaultValue={\"\"}\n input={}\n >\n Area (All)\n {areaData && areaData.map((value) => (\n {value.name}\n ))}\n \n \n\n \n \n\n \n handleFilterChange(\"shift_zone_id\", e.target.value)}\n id=\"tags-standard\"\n\n name=\"zone\"\n defaultValue={\"\"}\n input={}\n >\n Zone (All)\n {zoneData && zoneData.map((value) => (\n {value.name}\n ))}\n\n \n \n\n\n \n\n \n\n
\n
\n \n <>\n \n
\n \n \n \n\n \n\n
\n
\n \n
\n \n \n \n \n\n
\n
\n \n
\n {data?.status}} />\n \n \n \n\n
\n
\n \n
\n \n \n {props?.permission?.write ? \n {\n setCurrentSelection(data)\n handleClick(e)\n }} />\n : \"\"}\n\n
\n
\n \n \n
\n
\n \n \n \n
\n
\n Select a day to display shift details\n\n
\n \n {selectedDay.date !== '' ? moment(selectedDay.date).format('dddd Do MMMM YYYY') : \" \"}\n \n setChecked(e.target.checked)}\n name=\"\"\n />\n }\n label=\"Show Absence, Leave & Training\"\n labelPlacement=\"start\"\n name=\"\"\n />\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n\n totalCount={totalCount}\n page={page}\n\n />\n\n\n\n\n
\n\n\n\n\n {\n open && (\n \n {(currentSelections.status === 0 || currentSelections.status === 3) &&\n <>\n {\n setAction(\"approve\");\n }}\n >\n {\" \"} Approve\n \n\n\n {\n setAction(\"reject\");\n }}\n >\n {\" \"} Reject\n }\n {(currentSelections.status === 1 || currentSelections.status === 2) && {\n handleOvertimeReOpen()\n }}\n >\n Reopen\n }\n\n \n )\n }\n\n {\n openList && (\n \n\n {\n setAction(\"editarea\");\n }}\n >\n Edit Area\n \n\n\n {\n setAction(\"editzones\");\n }}\n >\n Edit Zone\n \n {\n setAction(\"markabsent\");\n }}\n >\n Mark as Absent\n \n\n \n )\n }\n\n\n
\n\n\n {\n action && action === \"approve\" &&\n {\n handleClose()\n getShiftOvertimeDetails()\n }}\n handleClose={() => {\n setAction('')\n\n }}\n approvedData={data}\n id={currentSelections?.id}\n overtimeDetails={currentSelections}\n getListing={getListing}\n getShiftOvertimeDetails={getShiftOvertimeDetails}\n />\n }\n {\n action && action === \"reject\" &&\n {\n setAction('')\n handleClose()\n getShiftOvertimeDetails()\n }}\n approvedData={data}\n id={currentSelections?.id}\n getListing={getListing}\n getShiftOvertimeDetails={getShiftOvertimeDetails}\n />\n }\n {\n action && action === \"editarea\" &&\n setAction(\"\")}\n onClose={() => {\n setAction(\"\")\n setOpenList(false)\n }}\n currentSelection={currentSelection}\n areaData={areaData}\n getListing={getDayListingDetails}\n />\n }\n {\n action && action === \"view_usedhrs\" &&\n setAction(\"\")}\n onClose={() => {\n setAction(\"\")\n setOpenList(false)\n }}\n currentSelection={currentSelection}\n\n getListing={getDayListingDetails}\n />\n }\n {\n action && action === \"editzones\" &&\n setAction(\"\")}\n onClose={() => {\n setAction(\"\")\n setOpenList(false)\n }}\n currentSelection={currentSelection}\n zoneData={zoneData}\n getListing={getDayListingDetails}\n />\n }\n\n {\n action && action === \"markabsent\" && setAction(\"\")}\n onClose={() => {\n setAction(\"\")\n setOpenList(false)\n }}\n currentSelection={currentSelection}\n getListing={getDayListingDetails}\n\n />\n }\n\n
\n )\n}\n\nexport default OvertimeReview","import React, { useEffect, useContext, useState } from 'react'\nimport { Dialog, DialogContent, DialogTitle, Box, ButtonGroup, Button, FormControlLabel, Grid, Typography, FormControl, FormLabel, Divider } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport MROButton from 'components/buttons';\nimport MROTextField from 'components/form_components/TextField';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport PositiveSwitch from 'components/form_components/switch';\nimport DateTimeField from 'components/form_components/LMEventsDateTimeField';\nimport QuantityCounter from 'components/quantity_counter';\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport UploadButton from 'components/form_components/upload_multiple'\nimport CapabilityServices from 'lib/services/api/compliance/capability_client';\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport DateField from 'components/form_components/DateField';\nimport { BASE_API_URL_BOXR } from 'lib/constants';\n\nconst useStyles = makeStyles(theme => ({\n actionButtons: {\n paddingTop: '20px',\n paddingBottom: '33px',\n textAlign: 'right',\n '& button:not(:last-child)': {\n marginRight: '20px'\n }\n },\n modal: {\n '& .MuiDialog-paperWidthMd': {\n maxWidth: '750px',\n }\n },\n title: {\n fontSize: '18px',\n '& h2': {\n color: theme.palette.primary.main,\n\n }\n },\n formLabel: {\n // '&.MuiDivider-vertical': {\n // width: '3px'\n // },\n '&.MuiDivider-root': {\n backgroundColor: '#707070'\n }\n }\n\n}));\nexport default function CreateTechData(props) {\n const classes = useStyles();\n const { action, handleClose, getTechListing, capabiltity, currentSelection } = props;\n const [error, setError] = useState({});\n const [uploadError, setUploadError] = useState('');\n const [value, setValue] = useState('file');\n const [password, setPassword] = useState(\"no\")\n const [checked, setChecked] = useState(false)\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n const [uploadFile, setUploadFiles] = useState()\n const [loading, setLoading] = useState(false)\n const message = useContext\n (ToastMessageContext)\n\n const handleChange = (event) => {\n setValue(event.target.value);\n };\n const handlePasswordChange = (event) => {\n setPassword(event.target.value);\n };\n\n\n useEffect(() => {\n if (currentSelection && currentSelection !== undefined) {\n setValue(currentSelection?.type)\n setChecked(currentSelection?.revision_controlled)\n if (currentSelection?.username && currentSelection?.password) {\n setPassword(\"yes\")\n }\n }\n }, [currentSelection])\n\n\n const handleCreate = async (formData) => {\n setLoading(true)\n\n let uploadfile = formData.get('file');\n if (value === \"file\" && !uploadfile?.name || uploadfile?.size === 0) {\n setLoading(false);\n return setUploadError('Please upload document')\n }\n await CapabilityServices.createTechData(formData).then((res) => {\n if (res.success) {\n handleClose();\n getTechListing()\n message.showToastMessage({ message: \"New Tech Data added successfully\", variant: \"success\" });\n }\n else {\n message.showToastMessage({ message: res.errors ? res.errors.join(',') : \"Something went wrong. Try Again\", variant: \"error\" });\n setLoading(false);\n }\n }).catch(() => {\n message.showToastMessage({ message: \"Something went wrong. Try Again\", variant: \"error\" });\n setLoading(false);\n }).finally(() => {\n setLoading(false)\n })\n }\n\n const handleUpdate = async (formData) => {\n setLoading(true)\n let uploadfile = formData.get('file');\n if (value === \"file\" && !uploadfile?.name || uploadfile?.size === 0) {\n if (currentSelection?.file === null) {\n console.log(\"file===\", currentSelection?.file)\n setLoading(false);\n return setUploadError('Please upload document')\n }\n }\n await CapabilityServices.updateTechData(formData).then((res) => {\n if (res.success) {\n handleClose();\n getTechListing()\n message.showToastMessage({ message: \"Updated successfully\", variant: \"success\" });\n }\n else {\n message.showToastMessage({ message: res.errors ? res.errors.join(',') : \"Something went wrong. Try Again\", variant: \"error\" });\n setLoading(false);\n }\n }).catch(() => {\n message.showToastMessage({ message: \"Something went wrong. Try Again\", variant: \"error\" });\n setLoading(false);\n }).finally(() => {\n setLoading(false)\n })\n }\n\n // console.log(\"fileUpload-----\", uploadFile)\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target)\n\n\n let valid = true\n let errors = {\n name: false,\n url: false,\n username: false,\n password: false,\n revision: false,\n revision_date: false,\n\n }\n\n\n if (formData && !formData.get('name').length) {\n errors.name = true;\n valid = false;\n }\n\n\n\n if (value === \"link\" && formData && (formData.get('url') !== null) && !formData.get('url').length) {\n errors.url = true;\n valid = false;\n }\n\n if (password) {\n if (formData && (formData.get('username') !== null) && !formData.get('username').length) {\n\n errors.username = true;\n valid = false;\n\n }\n if (formData && (formData.get('password') !== null) && !formData.get('password').length) {\n\n errors.password = true;\n valid = false;\n\n }\n }\n\n if (checked) {\n if (formData && (formData.get('revision') !== null) && !formData.get('revision').length) {\n errors.revision = true;\n valid = false;\n }\n if (formData && (formData.get('revision_date') !== null) && !formData.get('revision_date').length) {\n\n errors.revision_date = true;\n valid = false;\n\n }\n }\n if (!valid) {\n setError(errors);\n return;\n }\n\n\n\n formData.delete(\"shared_password\")\n formData.append(\"capability_id\", capabiltity?.id)\n formData.append(\"organisation_id\", getOrganisationId())\n\n formData.append(\"user_id\", user.id);\n formData.append(\"revision_controlled\", checked);\n if (action === \"createtechdata\") {\n handleCreate(formData)\n }\n else if (action === \"update_tech\") {\n formData.append(\"id\", currentSelection?.id)\n handleUpdate(formData)\n }\n\n\n }\n\n\n\n\n\n\n return (\n
\n \n {action === \"createtechdata\" ? \"Add \" : \"Update \"} Technical Data\n \n\n \n
\n \n \n Item Details\n \n { setError({ ...error, name: false }); }}\n className={classes.inputField}\n defaultValue={currentSelection ? currentSelection.name : ''}\n />\n \n \n \n Choose the item type you want to add\n \n } label=\"File\" />\n } label=\"URL Link\" />\n\n \n \n\n \n\n {(value === \"file\") && \n \n }\n\n {(value === \"link\") &&\n \n \n {\n setError({ ...error, url: false });\n }}\n placeholder=\"Enter url link\"\n error={error.url}\n helperText={error.url ? \"*please enter a link\" : null}\n defaultValue={currentSelection ? currentSelection.url : \"\"}\n />\n \n \n \n Do you want to add a shared password / key?\n \n } label=\"No\" />\n } label=\"Yes\" />\n\n \n \n \n {(password === \"yes\") && \n \n { setError({ ...error, username: false }); }}\n defaultValue={currentSelection ? currentSelection.username : \"\"}\n />\n \n \n { setError({ ...error, password: false }); }}\n defaultValue={currentSelection ? currentSelection.password : \"\"}\n\n />\n \n }\n \n\n\n }\n \n \n \n\n \n \n\n Revision Status\n \n \n Revision controlled item?\n setChecked(e.target.checked)}\n name=\"revision_controlled\"\n disabled={currentSelection?.revision_controlled === true || currentSelection?.revision_controlled === false}\n />\n }\n label=\"\"\n labelPlacement=\"\"\n name=\"\"\n />\n \n\n\n\n {checked && \n \n { setError({ ...error, revision: false }); }}\n className={classes.inputField}\n defaultValue={currentSelection ? currentSelection.revision\n : \"\"}\n />\n \n \n { setError({ ...error, revision_date: false }); }}\n defaultValue={currentSelection ? currentSelection.revision_date\n : \"\"}\n\n />\n \n }\n\n\n \n\n\n\n\n\n\n \n\n\n
\n \n Cancel\n \n \n {action === \"createtechdata\" ? \"Complete\" : \"Update\"}\n \n
\n\n
\n
\n\n \n\n\n
\n )\n}\n","import React, { useContext, useEffect, useState } from \"react\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Box,\n Grid,\n Typography\n} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport MROButton from \"components/buttons\";\nimport PlanningLineMaintenance from 'lib/services/api/planning/LineMaintenance/lineEventsandSeries';\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport CapabilityServices from \"lib/services/api/compliance/capability_client\";\n\n\n\nconst useStyles = makeStyles((theme) => ({\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n maxWidth: \"550px\",\n },\n },\n title: {\n fontSize: '22px',\n \"& h2\": {\n color: theme.palette.primary.main,\n\n },\n\n \"& span\": {\n color: theme.palette.primary.main,\n fontSize: 22,\n textAlign: 'center'\n },\n },\n card: {\n padding: \"0 25px\",\n },\n}));\n\n\nexport default function Deleteitem(props) {\n const classes = useStyles();\n const { handleClose, getTechListing, currentSelection } = props\n const message = useContext(ToastMessageContext)\n const [loading, setLoading] = useState(false)\n\n const handleSubmit = async (e) => {\n const formData = {\n id: currentSelection.id\n }\n\n try {\n\n setLoading(true)\n const response = await CapabilityServices.deleteTechData(formData);\n if (response.success) {\n message.showToastMessage({\n message: response?.message ? response?.message : \"Deleted sucessfully\",\n variant: \"success\",\n });\n handleClose()\n getTechListing()\n }\n else {\n message.showToastMessage({\n message: response?.error ? response?.error : \"Something went wrong. Try again\",\n variant: \"error\",\n });\n handleClose()\n getTechListing()\n }\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n });\n setLoading(false)\n }\n setLoading(false)\n }\n\n\n return (\n
\n \n \n Warning\n \n \n This action cannot be undone!\n
\n Are you sure you want to continue?\n
\n \n \n Cancel\n \n \n Yes\n \n \n \n\n
\n )\n}\n","import React, { useContext, useEffect, useState } from \"react\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Box,\n Grid,\n Typography\n} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport MROButton from \"components/buttons\";\nimport PlanningLineMaintenance from 'lib/services/api/planning/LineMaintenance/lineEventsandSeries';\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport CapabilityServices from \"lib/services/api/compliance/capability_client\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport moment from \"moment\";\n\n\n\nconst useStyles = makeStyles((theme) => ({\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n maxWidth: \"750px\",\n },\n },\n title: {\n fontSize: '22px',\n \"& h2\": {\n color: theme.palette.primary.main,\n\n },\n\n \"& span\": {\n color: theme.palette.primary.main,\n fontSize: 22,\n textAlign: 'center'\n },\n },\n card: {\n padding: \"0 25px\",\n },\n}));\n\n\nexport default function VerifyRevision(props) {\n const classes = useStyles();\n const { handleClose, getTechListing, currentSelection } = props\n const message = useContext(ToastMessageContext)\n const [loading, setLoading] = useState(false)\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n\n const handleSubmit = async (e) => {\n const formData = {\n id: currentSelection.id,\n organisation_id: getOrganisationId(),\n user_id: user?.id,\n revision: currentSelection?.revision,\n revision_date: currentSelection?.revision_date\n\n }\n\n try {\n\n setLoading(true)\n const response = await CapabilityServices.verifyRevisionState(formData);\n if (response.success) {\n message.showToastMessage({\n message: response?.message ? response?.message : \"Deleted sucessfully\",\n variant: \"success\",\n });\n handleClose()\n getTechListing()\n }\n else {\n message.showToastMessage({\n message: response?.error ? response?.error : \"Something went wrong. Try again\",\n variant: \"error\",\n });\n handleClose()\n getTechListing()\n }\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n });\n setLoading(false)\n }\n setLoading(false)\n }\n\n\n\n\n\n\n\n return (\n
\n \n \n Verify Revision Status\n \n \n Confirm - The revision # and revision date below remain the current version on the present date?\n Revision #: {currentSelection?.revision ? currentSelection?.revision : '-'}\n Revision Date: {currentSelection?.revision_date ? moment(currentSelection?.revision_date, \"YYYY-MM-DD\").format(\"DD/MM/YYYY\") : \"-\"} \n Confirming will update the “Verified” date to today’s date and the “Age” to zero\n \n \n \n Cancel\n \n \n Confirm\n \n \n \n\n
\n )\n}\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport CapabilityServices from \"lib/services/api/compliance/capability_client\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport moment from \"moment\";\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"750px\",\n // height: \"110vh\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"50px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden !important\"\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n tableCell: {\n height: '32px',\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n\n },\n })\n);\n\nexport default function RevisionHistory(props) {\n const { handleClose, getTechListing, currentSelection } = props;\n const classes = useStyles();\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const message = useContext(ToastMessageContext);\n const [actionStages, setActionStages] = useState([]);\n const [pageSize, setPageSize] = useState(5);\n const [page, setPage] = useState(0);\n const [totalCount, setTotalCount] = useState(5);\n const [data, setData] = useState([])\n const [Loading, setLoading] = useState(false)\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n\n const getAllDetails = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n id: currentSelection?.id,\n page: page + 1,\n count_per_page: pageSize,\n\n\n }\n await CapabilityServices.getAllRevisionDetails(params).then((res) => {\n setData(res.data)\n setTotalCount(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n getAllDetails()\n }, [page, pageSize, totalCount])\n const column = [\n {\n title: \"Verified\",\n field: \"verified\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n },\n render: (rowData) => rowData?.verified ? moment(rowData?.verified, \"YYYY-MM-DD\").format(\"DD/MM/YYYY\") : \"-\"\n },\n {\n title: \"User\",\n field: \"user\",\n\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n\n textAlign: \"left\",\n },\n },\n {\n title: \"Revision #\",\n field: \"revision\",\n width: '50%',\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n width: '50%',\n textAlign: \"left\",\n },\n\n },\n {\n title: \"Revision Date\",\n field: \"revision_date\",\n\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n\n textAlign: \"left\",\n },\n render: (rowData) => rowData?.revision_date ? moment(rowData?.revision_date, \"YYYY-MM-DD\").format(\"DD/MM/YYYY\") : \"-\"\n },\n\n\n\n\n ];\n\n\n return (\n
\n \n
\n \n Revision & Verification History\n \n\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n\n />\n \n
\n \n\n
\n );\n}\n","import React, { useState, useReducer, useEffect, useContext } from 'react'\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport {\n AppBar,\n IconButton,\n Toolbar,\n makeStyles,\n Typography,\n Box,\n Button,\n Grid,\n Menu,\n MenuItem,\n Paper,\n Tooltip\n} from \"@material-ui/core\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport MROButton from \"components/buttons\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport TableAction from 'actions/table_actions';\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport { Add, AddBox } from \"@material-ui/icons\";\nimport CreateTechData from './CreateTechData';\nimport MoreVertIcon from \"@material-ui/icons/MoreVert\";\nimport Deleteitem from './TechDataPopup/DeleteItem';\nimport VerifyRevision from './TechDataPopup/VerifyRevision';\nimport RevisionHistory from './TechDataPopup/RevisionHistory';\nimport Popover from '@material-ui/core/Popover';\nimport KeyIcon from 'assets/key.png'\nimport LinkIcon from 'assets/LinkIcon.png'\nimport copy from 'copy-to-clipboard';\nimport CapabilityServices from 'lib/services/api/compliance/capability_client';\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { BASE_API_URL_BOXR } from 'lib/constants';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport clxc from \"clsx\";\nimport moment from 'moment';\nimport useDebounce from 'lib/utils/debounce';\n\n\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n root: { \"& > :first-child\": { position: \"unset\" } },\n wrapper: {\n padding: \"3%\",\n background: \"white\",\n },\n paper: {\n border: '1px solid',\n padding: theme.spacing(1),\n backgroundColor: theme.palette.background.paper,\n },\n stockBtn: {\n borderColor: '#4D4F5C',\n borderRadius: '6px',\n minWidth: '70px',\n '& span': {\n // display: 'flex',\n // justifyContent: 'space-between',\n '& svg': {\n marginLeft: '10px'\n }\n }\n }\n}));\nfunction TechData(props) {\n\n const { handleClose, currentSelection } = props\n\n const classes = useStyles();\n const [action, setAction] = useState('')\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const [loading, setLoading] = useState(false)\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(0)\n const [anchorEl, setAnchorEl] = useState(null);\n const [open, setOpen] = useState(false);\n const ITEM_HEIGHT = 48;\n const [currentTechSelections, setCurrentTechSelections] = useState({});\n const [poperState, setPoperState] = useState(false)\n const [techData, setTechData] = useState([])\n const [userNameCopy, setUserNameCopy] = useState(false)\n const [passwordCopy, setPasswordCopy] = useState(false)\n const message = useContext(ToastMessageContext)\n const [searchText, setSearchText] = useState(\"\");\n const debouncedVal = useDebounce(searchText);\n\n const handleClick = (event) => {\n setOpen(true);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseMenu = () => {\n setOpen(false);\n setAction(null);\n setCurrentTechSelections({});\n };\n\n\n\n const getAllTechDataDetails = async () => {\n setLoading(true)\n const params = {\n id: currentSelection?.id,\n page: page + 1,\n count_per_page: pageSize,\n search_keyword: debouncedVal\n\n }\n await CapabilityServices.getAllTechData(params).then((res) => {\n setTechData(res.data)\n setTotalCount(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n\n }\n\n useEffect(() => {\n getAllTechDataDetails()\n }, [debouncedVal, page, pageSize, totalCount])\n\n const handlepopupclose = () => {\n setAction(\"\")\n setPoperState(false)\n }\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: true,\n toolbar: true,\n // rowStyle: { height: 42 },\n };\n\n const renderStatusButton = (rowData) => {\n let ButtonColor, buttonText;\n\n if (rowData?.age <= 30 && rowData?.age !== null) {\n\n ButtonColor = \"button-positive\";\n buttonText = `${rowData?.age} days`;\n }\n else if (rowData?.age > 90) {\n ButtonColor = \"button-negative\";\n buttonText = `${rowData?.age} days`;\n } else if (rowData?.age > 30 && rowData?.age <= 90) {\n ButtonColor = \"button-warning\";\n buttonText = `${rowData?.age} days`;\n }\n else if (rowData?.age === null) {\n return \"-\"\n }\n\n return (\n
\n \n {buttonText}\n \n
\n )\n }\n\n\n const column = [\n\n {\n title: \"Title\",\n field: \"name\",\n width: '30%',\n headerStyle: {\n width: '30%',\n textAlign: 'left', paddingLeft: '15px'\n },\n cellStyle: {\n width: '30%',\n textAlign: 'left', paddingLeft: '15px'\n }\n },\n\n {\n title: \"View\",\n field: \"file\",\n headerStyle: {\n\n textAlign: 'left'\n },\n cellStyle: {\n\n textAlign: 'left'\n },\n render: (rowData) => (\n {\n if (rowData?.type === \"file\") {\n if (rowData.file !== null) {\n window.open(BASE_API_URL_BOXR + rowData.file.url);\n } else {\n message.showToastMessage({\n message: \"No Document Found.\",\n variant: \"error\",\n });\n }\n }\n\n else if (rowData?.type === \"link\") {\n window.open(Boolean(rowData.url.search(\"https\")) ? \"https://\" + rowData.url : rowData.url);\n }\n }\n }\n size=\"small\"\n >\n \n \n ),\n },\n\n {\n title: 'Type',\n field: 'type',\n\n headerStyle: {\n\n textAlign: 'left'\n },\n cellStyle: {\n\n textAlign: 'left'\n },\n render: (rowData) => rowData?.type === \"file\" ? \"File\" : \"Link\"\n },\n {\n title: 'Key',\n field: 'key',\n\n headerStyle: {\n\n textAlign: 'left'\n },\n cellStyle: {\n\n textAlign: 'left'\n },\n render: (rowData) => <>\n\n {rowData?.username && rowData?.password && {\n setAction(\"view_key\");\n setCurrentTechSelections(rowData);\n setPoperState(!poperState)\n\n }}>\n \n }\n\n {action === \"view_key\" && \n\n \n Shared Login Details\n \n \n User / Account:\n {currentTechSelections.username}\n {\n copy(currentTechSelections?.username);\n setUserNameCopy(true)\n }} style={{ cursor: 'pointer' }}>\n \"\" \n \n \n Password:\n {currentTechSelections?.password}\n {\n copy(currentTechSelections?.password);\n setPasswordCopy(true)\n\n }} style={{ cursor: 'pointer' }}>\n \"\" \n \n\n\n \n\n \n }\n\n\n \n },\n\n {\n title: 'Revision',\n field: 'revision'\n },\n {\n title: 'Revision Date',\n field: 'revision_date',\n render: (rowData) => rowData?.revision_date ? moment(rowData?.revision_date, \"YYYY-MM-DD\").format(\"DD/MM/YYYY\") : \"-\"\n },\n {\n title: 'Verified',\n field: 'verified',\n render: (rowData) => rowData?.verified ? moment(rowData?.verified, \"YYYY-MM-DD\").format(\"DD/MM/YYYY\") : \"-\"\n },\n {\n title: 'Age',\n field: 'age',\n render: (rowData) => renderStatusButton(rowData)\n },\n {\n title: 'Action',\n field: 'view',\n render: (rowData) => <>\n {\n setCurrentTechSelections(rowData);\n handleClick(e);\n }}>\n \n \n\n \n }\n\n ]\n\n\n\n\n return (\n \n \n \n {\n handleClose()\n // getAllActions()\n }}\n edge=\"start\"\n className={classes.backButton}\n color=\"inherit\"\n aria-label=\"back\"\n >\n \n \n Capability Tech Data\n \n \n
\n \n Technical Data Referenced\n \n
\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n onSearchChange={(search) => {\n setPage(0)\n setSearchText(search)\n\n }}\n totalCount={totalCount}\n page={page}\n actions={[\n {\n icon: () => ,\n tooltip: \"Add data\",\n isFreeAction: true,\n onClick: (event, data) => {\n setAction(\"createtechdata\");\n\n },\n },\n\n\n\n\n ]}\n />\n\n \n
\n The revision status of technical data must be checked prior to use! \n\n\n
\n {\n open && (\n \n\n {\n setAction(\"update_tech\");\n }}\n >\n Update Item & Revision\n \n\n\n {\n setAction(\"verify\");\n }}\n >\n Verify Revision Status\n \n {\n setAction(\"revision\");\n }}\n >\n Revision History\n \n {\n setAction(\"delete\");\n }}\n >\n Delete item\n \n \n )\n }\n {action && action === \"createtechdata\" &&\n {\n setAction('')\n }} capabiltity={currentSelection}\n getTechListing={getAllTechDataDetails}\n action={action} />}\n\n {action && action === \"update_tech\" && {\n setAction('')\n setOpen(false)\n }} capabiltity={currentSelection}\n getTechListing={getAllTechDataDetails}\n action={action}\n currentSelection={currentTechSelections} />}\n {action && action === \"delete\" && {\n setAction('')\n setOpen(false)\n }} getTechListing={getAllTechDataDetails}\n action={action}\n currentSelection={currentTechSelections} />}\n {action && action === \"verify\" && {\n setAction('')\n setOpen(false)\n }}\n\n getTechListing={getAllTechDataDetails}\n action={action}\n currentSelection={currentTechSelections}\n\n />}\n {action && action === \"revision\" && {\n setAction('')\n setOpen(false)\n }}\n\n\n getTechListing={getAllTechDataDetails}\n action={action}\n currentSelection={currentTechSelections}\n />}\n
\n )\n}\n\nexport default TechData","import React, { useEffect, useContext, useState } from 'react'\nimport { Dialog, DialogContent, DialogTitle, Box, ButtonGroup, Button, FormControlLabel, Grid, Typography, FormControl, FormLabel, Divider } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport MROButton from 'components/buttons';\nimport MROTextField from 'components/form_components/TextField';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport PositiveSwitch from 'components/form_components/switch';\nimport DateTimeField from 'components/form_components/LMEventsDateTimeField';\nimport QuantityCounter from 'components/quantity_counter';\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport UploadButton from 'components/form_components/upload_multiple'\nimport CapabilityServices from 'lib/services/api/compliance/capability_client';\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport DateField from 'components/form_components/DateField';\nimport { BASE_API_URL_BOXR } from 'lib/constants';\n\nconst useStyles = makeStyles(theme => ({\n actionButtons: {\n paddingTop: '20px',\n paddingBottom: '33px',\n textAlign: 'right',\n '& button:not(:last-child)': {\n marginRight: '20px'\n }\n },\n modal: {\n '& .MuiDialog-paperWidthMd': {\n maxWidth: '750px',\n }\n },\n title: {\n fontSize: '18px',\n '& h2': {\n color: theme.palette.primary.main,\n\n }\n },\n formLabel: {\n // '&.MuiDivider-vertical': {\n // width: '3px'\n // },\n '&.MuiDivider-root': {\n backgroundColor: '#707070'\n }\n }\n\n}));\nexport default function CreateTechData(props) {\n const classes = useStyles();\n const { techaction, handleClose, getTechListing, capabiltity, currentSelection, refData, setAcceptAll } = props;\n const [error, setError] = useState({});\n const [uploadError, setUploadError] = useState('');\n const [value, setValue] = useState('file');\n const [password, setPassword] = useState(\"no\")\n const [checked, setChecked] = useState(false)\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n const [uploadFile, setUploadFiles] = useState()\n const [loading, setLoading] = useState(false)\n const message = useContext\n (ToastMessageContext)\n\n const handleChange = (event) => {\n setValue(event.target.value);\n };\n const handlePasswordChange = (event) => {\n setPassword(event.target.value);\n };\n\n\n useEffect(() => {\n if (currentSelection && currentSelection !== undefined) {\n setValue(currentSelection?.type)\n setChecked(currentSelection?.revision_controlled)\n if (currentSelection?.username && currentSelection?.password) {\n setPassword(\"yes\")\n }\n }\n }, [currentSelection])\n\n\n const handleCreate = async (formData) => {\n setLoading(true)\n\n let uploadfile = formData.get('file');\n if (value === \"file\" && !uploadfile?.name || uploadfile?.size === 0) {\n setLoading(false);\n return setUploadError('Please upload document')\n }\n await CapabilityServices.createTechData(formData).then((res) => {\n if (res.success) {\n handleClose();\n getTechListing()\n message.showToastMessage({ message: \"New Tech Data added successfully\", variant: \"success\" });\n }\n else {\n message.showToastMessage({ message: res.errors ? res.errors.join(',') : \"Something went wrong. Try Again\", variant: \"error\" });\n setLoading(false);\n }\n }).catch(() => {\n message.showToastMessage({ message: \"Something went wrong. Try Again\", variant: \"error\" });\n setLoading(false);\n }).finally(() => {\n setLoading(false)\n })\n }\n\n const handleUpdate = async (formData) => {\n setLoading(true)\n let uploadfile = formData.get('file');\n if (value === \"file\" && !uploadfile?.name || uploadfile?.size === 0) {\n if (currentSelection?.file === null) {\n console.log(\"file===\", currentSelection?.file)\n setLoading(false);\n return setUploadError('Please upload document')\n }\n }\n await CapabilityServices.updateTechData(formData).then((res) => {\n if (res.success) {\n handleClose();\n getTechListing()\n message.showToastMessage({ message: \"Updated successfully\", variant: \"success\" });\n }\n else {\n message.showToastMessage({ message: res.errors ? res.errors.join(',') : \"Something went wrong. Try Again\", variant: \"error\" });\n setLoading(false);\n }\n }).catch(() => {\n message.showToastMessage({ message: \"Something went wrong. Try Again\", variant: \"error\" });\n setLoading(false);\n }).finally(() => {\n setLoading(false)\n })\n }\n\n // console.log(\"fileUpload-----\", uploadFile)\n\n const handleTechSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target)\n\n\n let valid = true\n let errors = {\n name: false,\n url: false,\n username: false,\n password: false,\n revision: false,\n revision_date: false,\n\n }\n\n\n if (formData && !formData.get('name').length) {\n errors.name = true;\n valid = false;\n }\n\n\n\n if (value === \"link\" && formData && (formData.get('url') !== null) && !formData.get('url').length) {\n errors.url = true;\n valid = false;\n }\n\n if (password) {\n if (formData && (formData.get('username') !== null) && !formData.get('username').length) {\n\n errors.username = true;\n valid = false;\n\n }\n if (formData && (formData.get('password') !== null) && !formData.get('password').length) {\n\n errors.password = true;\n valid = false;\n\n }\n }\n\n if (checked) {\n if (formData && (formData.get('revision') !== null) && !formData.get('revision').length) {\n errors.revision = true;\n valid = false;\n }\n if (formData && (formData.get('revision_date') !== null) && !formData.get('revision_date').length) {\n\n errors.revision_date = true;\n valid = false;\n\n }\n }\n if (!valid) {\n setError(errors);\n return;\n }\n\n\n\n formData.delete(\"shared_password\")\n formData.append(\"capability_id\", capabiltity?.id ? capabiltity?.id : refData)\n formData.append(\"organisation_id\", getOrganisationId())\n\n formData.append(\"user_id\", user.id);\n formData.append(\"revision_controlled\", checked);\n if (techaction === \"createtechdata\") {\n handleCreate(formData)\n }\n else if (techaction === \"update_tech\") {\n formData.append(\"id\", currentSelection?.id)\n handleUpdate(formData)\n }\n\n\n }\n\n\n\n\n\n\n return (\n
\n \n {techaction === \"createtechdata\" ? \"Add \" : \"Update \"} Technical Data\n \n\n \n
\n \n \n Item Details\n \n { setError({ ...error, name: false }); }}\n className={classes.inputField}\n defaultValue={currentSelection ? currentSelection.name : ''}\n />\n \n \n \n Choose the item type you want to add\n \n } label=\"File\" />\n } label=\"URL Link\" />\n\n \n \n\n \n\n {(value === \"file\") && \n \n }\n\n {(value === \"link\") &&\n \n \n {\n setError({ ...error, url: false });\n }}\n placeholder=\"Enter url link\"\n error={error.url}\n helperText={error.url ? \"*please enter a link\" : null}\n defaultValue={currentSelection ? currentSelection.url : \"\"}\n />\n \n \n \n Do you want to add a shared password / key?\n \n } label=\"No\" />\n } label=\"Yes\" />\n\n \n \n \n {(password === \"yes\") && \n \n { setError({ ...error, username: false }); }}\n defaultValue={currentSelection ? currentSelection.username : \"\"}\n />\n \n \n { setError({ ...error, password: false }); }}\n defaultValue={currentSelection ? currentSelection.password : \"\"}\n\n />\n \n }\n \n\n\n }\n \n \n \n\n \n \n\n Revision Status\n \n \n Revision controlled item?\n setChecked(e.target.checked)}\n name=\"revision_controlled\"\n disabled={currentSelection?.revision_controlled === true || currentSelection?.revision_controlled === false}\n />\n }\n label=\"\"\n labelPlacement=\"\"\n name=\"\"\n />\n \n\n\n\n {checked && \n \n { setError({ ...error, revision: false }); }}\n className={classes.inputField}\n defaultValue={currentSelection ? currentSelection.revision\n : \"\"}\n />\n \n \n { setError({ ...error, revision_date: false }); }}\n defaultValue={currentSelection ? currentSelection.revision_date\n : \"\"}\n\n />\n \n }\n\n\n \n\n\n\n\n\n\n \n\n\n
\n \n Cancel\n \n {\n // setAcceptAll(true)\n }}\n >\n {techaction === \"createtechdata\" ? \"Complete\" : \"Update\"}\n \n
\n\n
\n
\n\n \n\n\n
\n )\n}\n","import React, { useContext, useEffect, useState } from \"react\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Box,\n Grid,\n Typography\n} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport MROButton from \"components/buttons\";\nimport PlanningLineMaintenance from 'lib/services/api/planning/LineMaintenance/lineEventsandSeries';\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport CapabilityServices from \"lib/services/api/compliance/capability_client\";\n\n\n\nconst useStyles = makeStyles((theme) => ({\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n maxWidth: \"550px\",\n },\n },\n title: {\n fontSize: '22px',\n \"& h2\": {\n color: theme.palette.primary.main,\n\n },\n\n \"& span\": {\n color: theme.palette.primary.main,\n fontSize: 22,\n textAlign: 'center'\n },\n },\n card: {\n padding: \"0 25px\",\n },\n}));\n\n\nexport default function Deleteitem(props) {\n const classes = useStyles();\n const { handleClose, getTechListing, currentSelection } = props\n const message = useContext(ToastMessageContext)\n const [loading, setLoading] = useState(false)\n\n const handleSubmit = async (e) => {\n const formData = {\n id: currentSelection.id\n }\n\n try {\n\n setLoading(true)\n const response = await CapabilityServices.deleteTechData(formData);\n if (response.success) {\n message.showToastMessage({\n message: response?.message ? response?.message : \"Deleted sucessfully\",\n variant: \"success\",\n });\n handleClose()\n getTechListing()\n }\n else {\n message.showToastMessage({\n message: response?.error ? response?.error : \"Something went wrong. Try again\",\n variant: \"error\",\n });\n handleClose()\n getTechListing()\n }\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n });\n setLoading(false)\n }\n setLoading(false)\n }\n\n\n return (\n
\n \n \n Warning\n \n \n This action cannot be undone!\n
\n Are you sure you want to continue?\n
\n \n \n Cancel\n \n \n Yes\n \n \n \n\n
\n )\n}\n","import React, { useContext, useEffect, useState } from \"react\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Box,\n Grid,\n Typography\n} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport MROButton from \"components/buttons\";\nimport PlanningLineMaintenance from 'lib/services/api/planning/LineMaintenance/lineEventsandSeries';\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport CapabilityServices from \"lib/services/api/compliance/capability_client\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport moment from \"moment\";\n\n\n\nconst useStyles = makeStyles((theme) => ({\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n maxWidth: \"750px\",\n },\n },\n title: {\n fontSize: '22px',\n \"& h2\": {\n color: theme.palette.primary.main,\n\n },\n\n \"& span\": {\n color: theme.palette.primary.main,\n fontSize: 22,\n textAlign: 'center'\n },\n },\n card: {\n padding: \"0 25px\",\n },\n}));\n\n\nexport default function VerifyRevision(props) {\n const classes = useStyles();\n const { handleClose, getTechListing, currentSelection } = props\n const message = useContext(ToastMessageContext)\n const [loading, setLoading] = useState(false)\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n\n const handleSubmit = async (e) => {\n const formData = {\n id: currentSelection.id,\n organisation_id: getOrganisationId(),\n user_id: user?.id,\n revision: currentSelection?.revision,\n revision_date: currentSelection?.revision_date\n\n }\n\n try {\n\n setLoading(true)\n const response = await CapabilityServices.verifyRevisionState(formData);\n if (response.success) {\n message.showToastMessage({\n message: response?.message ? response?.message : \"Deleted sucessfully\",\n variant: \"success\",\n });\n handleClose()\n getTechListing()\n }\n else {\n message.showToastMessage({\n message: response?.error ? response?.error : \"Something went wrong. Try again\",\n variant: \"error\",\n });\n handleClose()\n getTechListing()\n }\n } catch (error) {\n message.showToastMessage({\n message: \"Something went wrong. Try again\",\n variant: \"error\",\n });\n setLoading(false)\n }\n setLoading(false)\n }\n\n\n\n\n\n\n\n return (\n
\n \n \n Verify Revision Status\n \n \n Confirm - The revision # and revision date below remain the current version on the present date?\n Revision #: {currentSelection?.revision ? currentSelection?.revision : '-'}\n Revision Date: {currentSelection?.revision_date ? moment(currentSelection?.revision_date, \"YYYY-MM-DD\").format(\"DD/MM/YYYY\") : \"-\"} \n Confirming will update the “Verified” date to today’s date and the “Age” to zero\n \n \n \n Cancel\n \n \n Confirm\n \n \n \n\n
\n )\n}\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport CapabilityServices from \"lib/services/api/compliance/capability_client\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport moment from \"moment\";\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"750px\",\n // height: \"110vh\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"50px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden !important\"\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n tableCell: {\n height: '32px',\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n\n },\n })\n);\n\nexport default function RevisionHistory(props) {\n const { handleClose, getTechListing, currentSelection } = props;\n const classes = useStyles();\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const message = useContext(ToastMessageContext);\n const [actionStages, setActionStages] = useState([]);\n const [pageSize, setPageSize] = useState(5);\n const [page, setPage] = useState(0);\n const [totalCount, setTotalCount] = useState(5);\n const [data, setData] = useState([])\n const [Loading, setLoading] = useState(false)\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n\n const getAllDetails = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n id: currentSelection?.id,\n page: page + 1,\n count_per_page: pageSize,\n\n\n }\n await CapabilityServices.getAllRevisionDetails(params).then((res) => {\n setData(res.data)\n setTotalCount(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n getAllDetails()\n }, [page, pageSize, totalCount])\n const column = [\n {\n title: \"Verified\",\n field: \"verified\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n },\n render: (rowData) => rowData?.verified ? moment(rowData?.verified, \"YYYY-MM-DD\").format(\"DD/MM/YYYY\") : \"-\"\n },\n {\n title: \"User\",\n field: \"user\",\n\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n\n textAlign: \"left\",\n },\n },\n {\n title: \"Revision #\",\n field: \"revision\",\n width: '50%',\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n width: '50%',\n textAlign: \"left\",\n },\n\n },\n {\n title: \"Revision Date\",\n field: \"revision_date\",\n\n headerStyle: {\n\n textAlign: \"left\",\n },\n cellStyle: {\n\n textAlign: \"left\",\n },\n render: (rowData) => rowData?.revision_date ? moment(rowData?.revision_date, \"YYYY-MM-DD\").format(\"DD/MM/YYYY\") : \"-\"\n },\n\n\n\n\n ];\n\n\n return (\n
\n \n
\n \n Revision & Verification History\n \n\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n\n />\n \n
\n \n\n
\n );\n}\n","import React, { useState, useReducer, useEffect, useContext } from 'react'\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport {\n AppBar,\n IconButton,\n Toolbar,\n makeStyles,\n Typography,\n Box,\n Button,\n Grid,\n Menu,\n MenuItem,\n Paper,\n Tooltip\n} from \"@material-ui/core\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport MROButton from \"components/buttons\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\n\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport { Add, AddBox } from \"@material-ui/icons\";\nimport CreateTechData from './CreateTechData';\nimport MoreVertIcon from \"@material-ui/icons/MoreVert\";\nimport Deleteitem from './TechDataPopup/DeleteItem';\nimport VerifyRevision from './TechDataPopup/VerifyRevision';\nimport RevisionHistory from './TechDataPopup/RevisionHistory';\nimport Popover from '@material-ui/core/Popover';\nimport KeyIcon from 'assets/key.png'\nimport LinkIcon from 'assets/LinkIcon.png'\nimport copy from 'copy-to-clipboard';\nimport CapabilityServices from 'lib/services/api/compliance/capability_client';\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { BASE_API_URL_BOXR } from 'lib/constants';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport clxc from \"clsx\";\nimport moment from 'moment';\nimport useDebounce from 'lib/utils/debounce';\n\n\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n root: { \"& > :first-child\": { position: \"unset\" } },\n wrapper: {\n // padding: \"3%\",\n background: \"white\",\n },\n paper: {\n border: '1px solid',\n padding: theme.spacing(1),\n backgroundColor: theme.palette.background.paper,\n },\n stockBtn: {\n borderColor: '#4D4F5C',\n borderRadius: '6px',\n minWidth: '70px',\n '& span': {\n // display: 'flex',\n // justifyContent: 'space-between',\n '& svg': {\n marginLeft: '10px'\n }\n }\n }\n}));\nfunction PlanningTechData(props) {\n\n const { refData, currentSelection, techLoading, setTechLoading, techAction, setTechAction, setAcceptAll, rprops, planningDetails } = props\n\n const classes = useStyles();\n // console.log(\"======\", rprops)\n\n const [loading, setLoading] = useState(false)\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(0)\n const [anchorEl, setAnchorEl] = useState(null);\n const [open, setOpen] = useState(false);\n const ITEM_HEIGHT = 48;\n const [currentTechSelections, setCurrentTechSelections] = useState({});\n const [poperState, setPoperState] = useState(false)\n const [techData, setTechData] = useState([])\n const [userNameCopy, setUserNameCopy] = useState(false)\n const [passwordCopy, setPasswordCopy] = useState(false)\n const message = useContext(ToastMessageContext)\n const [searchText, setSearchText] = useState(\"\");\n const debouncedVal = useDebounce(searchText);\n\n const handleClick = (event) => {\n setOpen(true);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseMenu = () => {\n setOpen(false);\n setTechAction(null);\n setCurrentTechSelections({});\n };\n\n const getAllTechDataDetails = async () => {\n setLoading(true)\n const params = {\n id: refData || planningDetails?.capabilty_id,\n page: page + 1,\n count_per_page: pageSize,\n search_keyword: debouncedVal\n\n }\n\n\n await CapabilityServices.getAllTechData(params).then((res) => {\n setTechData(res.data)\n setTotalCount(res.total_count)\n setTechLoading(false)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n\n }\n // console.log(\"techdata===\", techLoading, refData)\n useEffect(() => {\n if (techLoading === true && refData !== undefined && refData !== null || planningDetails?.capabilty_id) {\n\n getAllTechDataDetails()\n }\n }, [refData, debouncedVal, page, pageSize, totalCount, techLoading, planningDetails])\n\n const handlepopupclose = () => {\n setTechAction(\"\")\n setPoperState(false)\n }\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: true,\n toolbar: true,\n // rowStyle: { height: 42 },\n };\n\n const renderStatusButton = (rowData) => {\n let ButtonColor, buttonText;\n\n if (rowData?.age <= 30 && rowData?.age !== null) {\n\n ButtonColor = \"button-positive\";\n buttonText = `${rowData?.age} days`;\n }\n else if (rowData?.age > 90) {\n ButtonColor = \"button-negative\";\n buttonText = `${rowData?.age} days`;\n } else if (rowData?.age > 30 && rowData?.age <= 90) {\n ButtonColor = \"button-warning\";\n buttonText = `${rowData?.age} days`;\n }\n else if (rowData?.age === null) {\n return \"-\"\n }\n\n return (\n
\n \n {buttonText}\n \n
\n )\n }\n\n\n const column = [\n\n {\n title: \"Title\",\n field: \"name\",\n width: '30%',\n headerStyle: {\n width: '30%',\n textAlign: 'left', paddingLeft: '15px'\n },\n cellStyle: {\n width: '30%',\n textAlign: 'left', paddingLeft: '15px'\n }\n },\n\n {\n title: \"View\",\n field: \"file\",\n headerStyle: {\n\n textAlign: 'left'\n },\n cellStyle: {\n\n textAlign: 'left'\n },\n render: (rowData) => (\n {\n if (rowData?.type === \"file\") {\n if (rowData.file !== null) {\n window.open(BASE_API_URL_BOXR + rowData.file.url);\n } else {\n message.showToastMessage({\n message: \"No Document Found.\",\n variant: \"error\",\n });\n }\n }\n\n else if (rowData?.type === \"link\") {\n // console.log(\"link====\", Boolean(rowData.url.search(\"https\")))\n window.open(Boolean(rowData.url.search(\"https\")) ? \"https://\" + rowData.url : rowData.url);\n }\n }\n }\n size=\"small\"\n >\n \n \n ),\n },\n\n {\n title: 'Type',\n field: 'type',\n\n headerStyle: {\n\n textAlign: 'left'\n },\n cellStyle: {\n\n textAlign: 'left'\n },\n render: (rowData) => rowData?.type === \"file\" ? \"File\" : \"Link\"\n },\n {\n title: 'Key',\n field: 'key',\n\n headerStyle: {\n\n textAlign: 'left'\n },\n cellStyle: {\n\n textAlign: 'left'\n },\n render: (rowData) => <>\n\n {rowData?.username && rowData?.password && {\n setTechAction(\"view_key\");\n setCurrentTechSelections(rowData);\n setPoperState(!poperState)\n\n }}>\n \n }\n\n {techAction === \"view_key\" && \n\n \n Shared Login Details\n \n \n User / Account:\n {currentTechSelections.username}\n {\n copy(currentTechSelections?.username);\n setUserNameCopy(true)\n }} style={{ cursor: 'pointer' }}>\n \"\" \n \n \n Password:\n {currentTechSelections?.password}\n {\n copy(currentTechSelections?.password);\n setPasswordCopy(true)\n\n }} style={{ cursor: 'pointer' }}>\n \"\" \n \n\n\n \n\n \n }\n\n\n \n },\n\n {\n title: 'Revision',\n field: 'revision'\n },\n {\n title: 'Revision Date',\n field: 'revision_date',\n render: (rowData) => rowData?.revision_date ? moment(rowData?.revision_date, \"YYYY-MM-DD\").format(\"DD/MM/YYYY\") : \"-\"\n },\n {\n title: 'Verified',\n field: 'verified',\n render: (rowData) => rowData?.verified ? moment(rowData?.verified, \"YYYY-MM-DD\").format(\"DD/MM/YYYY\") : \"-\"\n },\n {\n title: 'Age',\n field: 'age',\n render: (rowData) => renderStatusButton(rowData)\n },\n {\n title: 'Action',\n field: 'view',\n render: (rowData) => <>\n {(rprops?.permission.write && rprops?.orderStateNum <= 8) && {\n setCurrentTechSelections(rowData);\n handleClick(e);\n }}>\n \n }\n\n \n }\n\n ]\n\n\n\n\n return (\n <>\n\n
\n\n
\n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n onSearchChange={(search) => {\n setPage(0)\n setSearchText(search)\n\n }}\n totalCount={totalCount}\n page={page}\n actions={(rprops?.permission.write && rprops?.orderStateNum <= 8) && [\n {\n icon: () => ,\n tooltip: \"Add data\",\n isFreeAction: true,\n hidden: refData === [] || refData === undefined || refData === null,\n onClick: (event, data) => {\n setTechAction(\"createtechdata\");\n\n\n },\n },\n\n\n\n\n ]}\n />\n\n \n
\n The revision status of technical data must be checked prior to use! \n\n\n
\n {\n open && (\n \n\n {\n setTechAction(\"update_tech\");\n\n }}\n >\n Update Item & Revision\n \n\n\n {\n setTechAction(\"verify\");\n }}\n >\n Verify Revision Status\n \n {\n setTechAction(\"revision\");\n }}\n >\n Revision History\n \n {\n setTechAction(\"delete\");\n }}\n >\n Delete item\n \n \n )\n }\n {techAction && techAction === \"createtechdata\" &&\n {\n setTechAction('')\n\n }}\n capabiltity={currentSelection}\n refData={refData}\n getTechListing={getAllTechDataDetails}\n techaction={techAction}\n setAcceptAll={setAcceptAll}\n />}\n\n {techAction && techAction === \"update_tech\" && {\n setTechAction('')\n setOpen(false)\n }} capabiltity={currentSelection}\n getTechListing={getAllTechDataDetails}\n techaction={techAction}\n refData={refData}\n currentSelection={currentTechSelections}\n setAcceptAll={setAcceptAll}\n />}\n {techAction && techAction === \"delete\" && {\n setTechAction('')\n setOpen(false)\n }} getTechListing={getAllTechDataDetails}\n techAction={techAction}\n currentSelection={currentTechSelections} />}\n {techAction && techAction === \"verify\" && {\n setTechAction('')\n setOpen(false)\n }}\n\n getTechListing={getAllTechDataDetails}\n action={techAction}\n currentSelection={currentTechSelections}\n\n />}\n {techAction && techAction === \"revision\" && {\n setTechAction('')\n setOpen(false)\n }}\n getTechListing={getAllTechDataDetails}\n action={techAction}\n currentSelection={currentTechSelections}\n />}\n \n )\n}\n\nexport default PlanningTechData","import { makeStyles } from \"@material-ui/core\";\n\nexport const useReturnIssuedPartStyles = makeStyles((theme) => ({\n dialog: {\n \"& .MuiDialogContent-root\": {\n padding: \"26px 85px\",\n },\n },\n\n bodyText: {\n marginBottom: \"24px\",\n fontSize: \"16px\",\n color: \"#4D4F5C\",\n textAlign: \"center\",\n },\n\n qrContainer: {\n position: \"fixed\",\n width: \"100vw\",\n height: \"100vh\",\n top: 0,\n left: 0,\n background: \"rgba(0,0,0,.5)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n transition: \"all .5s\",\n zIndex: 9,\n },\n\n heading: {\n fontSize: \"18px\",\n fontWeight: \"bold\",\n marginBottom: \"25px\"\n },\n\n firstStepRoot: {\n \"& .MuiButtonGroup-root\": {\n marginBottom: \"15px\"\n }\n }\n}));\n","import React, { useContext, useEffect } from \"react\";\n\nimport { Box, Typography } from \"@material-ui/core\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport MROButton from \"components/buttons\";\nimport { useReturnIssuedPartStyles } from \"./styles\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\nfunction StepOne(props) {\n const {\n submitHandler,\n setQty,\n qty,\n onClose,\n busy,\n currentSelection,\n errors,\n setErrors,\n qtyFieldTitle,\n } = props;\n\n const classes = useReturnIssuedPartStyles();\n\n const message = useContext(ToastMessageContext);\n\n useEffect(() => {\n console.log(\"renders.....\");\n if (currentSelection?.quantity && currentSelection?.quantity < qty) {\n // message.showToastMessage({\n // message: \"QTY must not be greater than allocation!\",\n // variant: \"error\",\n // });\n setErrors((prevState) => ({\n ...prevState,\n quantity: `QTY must not be greater than allocation!`,\n }));\n } else {\n setErrors((prevState) => ({ ...prevState, quantity: null }));\n }\n }, [qty]);\n\n return (\n
\n \n Quantity\n \n \n QTY of part being returned back to stock\n \n\n \n QTY must not be greater than allocation!\n )\n }\n setError={() => setErrors({ quantity: null })}\n error={errors.quantity}\n />\n\n \n \n Cancel\n \n \n Next\n \n \n \n
\n );\n}\n\nexport default StepOne;\n","import React from \"react\";\n\nimport { Box, Typography } from \"@material-ui/core\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\n\nimport { useReturnIssuedPartStyles } from \"./styles\";\nimport MROButton from \"components/buttons\";\nimport QrCodeIcon from \"assets/icons/qr-code.png\";\nimport { ToggleButton, ToggleButtonGroup } from \"@material-ui/lab\";\n\nfunction StepTwo(props) {\n const { setStep, handleToggle, value, errors, continueHandler } = props;\n\n const classes = useReturnIssuedPartStyles();\n\n return (\n \n \n \n Print Label & Place in RTS location\n \n \n\n \n \n Lost QR code?\n \n setStep(3)}\n >\n \n Print Label\n \n \n\n \n {\" \"}\n \n Place parts (with QR code) in RTS location pending return! Final\n return from RTS allocation state to Stock must be completed via the\n “Return Parts” process found in Pick Parts in the MRO-PRO\n APP.\n \n \n\n \n \n \n \n Confirm - Item/s in RTS location with label attached? *\n \n \n \n handleToggle(val)}\n aria-label=\"yes-or-no\"\n >\n \n No\n \n \n Yes\n \n {\" \"}\n \n {errors?.rts_label && (\n \n {errors.rts_label}\n \n )}\n \n\n \n \n Complete\n \n \n \n );\n}\n\nexport default StepTwo;\n","import React, { useState, useEffect, useRef } from \"react\";\n\nimport QRCode from \"qrcode.react\";\n\nimport { useReturnIssuedPartStyles } from \"./styles\";\nimport { Typography, Box, Grid } from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport { ReturnIssuedPartServices } from \"lib/services/api/operaitons/lineMaintenance/workOrder/ReturnIssuedPart\";\nimport { useReactToPrint } from \"react-to-print\";\n\nfunction QRCodeStep(props) {\n const { setStep, onClose, busy, allocId } = props;\n\n const classes = useReturnIssuedPartStyles();\n\n const organisation = JSON.parse(sessionStorage.getItem(\"organisation\"));\n\n const printContainerRef = useRef();\n const printHandler = useReactToPrint({\n content: () => printContainerRef.current,\n onAfterPrint: () => setIsPrintWindowOpen(false),\n });\n\n const [conditionsPartDetails, setConditionsPartDetails] = useState({});\n const [isPrintWindowOpen, setIsPrintWindowOpen] = useState(false);\n\n const getDetails = async () => {\n try {\n const params = {\n alloc_id: allocId,\n };\n const response = await ReturnIssuedPartServices.getConditionPartDetails(\n params\n );\n\n setConditionsPartDetails(response);\n } catch (error) {\n console.log(error);\n }\n };\n\n const dummyData = [\n {\n label: \"Part #\",\n value: conditionsPartDetails?.primary_part?.part_number,\n },\n {\n label: \"Batch #\",\n value: conditionsPartDetails?.secondary_part?.batch_number,\n },\n {\n label: \"Serial #\",\n value: conditionsPartDetails?.secondary_part?.serial_number,\n },\n { label: \"Receipt Date\", value: conditionsPartDetails?.receipt_date },\n {\n label: \"Description\",\n value: conditionsPartDetails?.primary_part?.description,\n },\n {\n label: \"Owner\",\n value: conditionsPartDetails?.secondary_part?.mro_owned\n ? organisation.company_name\n : conditionsPartDetails?.line_customer,\n },\n { label: \"Location\", value: conditionsPartDetails?.store_location },\n {\n label: \"ALOC ID\",\n value: conditionsPartDetails?.part_condition?.alloc_id,\n },\n {\n label: \"Shelf-life Exp\",\n value: conditionsPartDetails?.secondary_part?.shelf_life_expiry,\n },\n { label: \"QTY\", value: conditionsPartDetails?.part_condition?.quantity },\n ];\n\n useEffect(() => {\n getDetails();\n }, []);\n\n const data = {\n primaryPartId: conditionsPartDetails?.primary_part?.id,\n secondaryPartId: conditionsPartDetails?.secondary_part?.id,\n part: conditionsPartDetails?.primary_part?.part_number,\n batch: conditionsPartDetails?.secondary_part?.batch_number,\n serial: conditionsPartDetails?.secondary_part?.serial_number,\n description: conditionsPartDetails?.primary_part?.description,\n receiptDate: conditionsPartDetails?.receipt_date,\n owner: conditionsPartDetails?.secondary_part?.mro_owned\n ? organisation.company_name\n : conditionsPartDetails?.line_customer,\n allocId: conditionsPartDetails?.part_condition?.alloc_id,\n shelfLifeExp: conditionsPartDetails?.secondary_part?.shelf_life_expiry,\n qty: conditionsPartDetails?.part_condition?.quantity,\n location: conditionsPartDetails?.store_location,\n baseStationId: conditionsPartDetails?.part_request?.to_base_station_id,\n status: conditionsPartDetails?.condition,\n return_location_enabled: false,\n };\n\n return (\n
\n {/* printContainer */}\n \n Print Part QR Label\n \n \n \n \n {dummyData.map((item, idx) => (\n \n \n \n {item.label}\n \n \n \n \n {item.value ?? \"-\"}\n \n \n \n ))}\n \n\n \n \n \n \n \n\n \n setStep(2)}\n >\n Cancel\n \n window.print()}\n onClick={() => {\n printHandler();\n setIsPrintWindowOpen(true);\n }}\n >\n Print\n \n \n
\n );\n}\n\nexport default QRCodeStep;\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport { Box, Dialog, DialogContent, Typography } from \"@material-ui/core\";\n\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport dataReducer, { INITIAL_DATA_STATE } from \"reducers/data_reducer\";\nimport DataServiceAction from \"actions/data_actions\";\n\nimport { useReturnIssuedPartStyles } from \"./styles\";\nimport StepOne from \"./StepOne\";\nimport StepTwo from \"./StepTwo\";\nimport QRCodeStep from \"./QRCodeStep\";\n\nfunction ReturnIssuedPart(props) {\n const {\n open,\n onClose,\n allocId,\n currentSelection,\n qtyFieldTitle,\n updateTable,\n partConditionId\n } = props;\n\n const classes = useReturnIssuedPartStyles();\n const [busy, setBusy] = useState();\n const [qty, setQty] = useState();\n const message = useContext(ToastMessageContext);\n const [state, rDispatch] = useReducer(dataReducer, INITIAL_DATA_STATE);\n\n const [step, setStep] = useState(1);\n const [value, setValue] = useState(null);\n const [errors, setErrors] = useState({});\n const [newAllocId, setNewAllocId] = useState(null);\n\n const submitHandler = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n\n const qty = formData.get(\"quantity\");\n\n if (!qty) {\n setErrors({ quantity: `Please enter quantity` });\n return;\n }\n\n if (qty > currentSelection?.quantity) {\n setErrors({ quantity: `QTY must not be greater than allocation!` });\n return;\n }\n\n setBusy(\"loading\");\n formData.append(\"part_condition_id\" , partConditionId)\n // formData.append(\"alloc_id\", allocId);\n // formData.append(\"quantity\", qty);\n const cb = () => {\n typeof updateTable === \"function\" && updateTable();\n setStep(2);\n setBusy(null);\n };\n\n const errCb = () => setBusy(\"error\");\n const res = await DataServiceAction.updateData(\n rDispatch,\n message,\n formData,\n null,\n \"editPartRequest\",\n null,\n cb,\n errCb\n );\n\n if (res) {\n setNewAllocId(Number(res.alloc_id));\n }\n };\n\n const continueHandler = () => {\n if (value !== \"yes\") {\n setErrors((prevState) => ({\n ...prevState,\n rts_label: \"Item/s must be in RTS location with label attached!\",\n }));\n return;\n }\n\n onClose();\n\n // typeof updateTable === \"function\" && updateTable();\n };\n\n const handleToggle = (value) => {\n if (value) {\n setValue(value);\n setErrors((prevState) => ({ ...prevState, rts_label: null }));\n }\n };\n\n const { quantity } = currentSelection;\n useEffect(() => {\n setQty(quantity);\n }, [quantity]);\n\n const returnContent = () => {\n switch (step) {\n case 1:\n return (\n \n );\n\n case 2:\n return (\n \n );\n\n case 3:\n return (\n \n );\n default:\n return null;\n }\n };\n\n return (\n \n \n {step !== 3 && (\n \n \n Return to Stock - Step {step}\n \n \n ALOC ID: {allocId}\n \n \n )}\n {returnContent()}\n \n \n );\n}\n\nexport default ReturnIssuedPart;\n","import React, { useContext, useEffect } from \"react\";\n\nimport { Box, Typography } from \"@material-ui/core\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport MROButton from \"components/buttons\";\nimport { useReturnIssuedPartStyles } from \"./styles\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\nfunction StepOne(props) {\n const {\n submitHandler,\n setQty,\n qty,\n onClose,\n busy,\n currentSelection,\n errors,\n setErrors,\n qtyFieldTitle,\n jobType\n } = props;\n\n const classes = useReturnIssuedPartStyles();\n\n // console.log(\"popupData?.request_type is=====================\", jobType)\n\n const message = useContext(ToastMessageContext);\n\n useEffect(() => {\n if (currentSelection?.quantity && currentSelection?.quantity < qty) {\n setErrors((prevState) => ({\n ...prevState,\n quantity: `QTY must not be greater than allocation!`,\n }));\n } else if (qty === 0) {\n setErrors((prevState) => ({\n ...prevState,\n quantity: \"QTY must not be less than zero\",\n }));\n } else {\n setErrors((prevState) => ({ ...prevState, quantity: null }));\n }\n }, [qty]);\n\n return (\n
\n \n Quantity\n \n \n QTY of part being returned back to stock\n \n\n \n \n \n QTY must not be greater than allocation!\n \n )\n }\n setError={() => setErrors({ quantity: null })}\n error={errors.quantity}\n />\n \n\n \n \n Cancel\n \n \n Next\n \n \n \n
\n );\n}\n\nexport default StepOne;\n","import React from \"react\";\n\nimport { Box, Typography } from \"@material-ui/core\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\n\nimport { useReturnIssuedPartStyles } from \"./styles\";\nimport MROButton from \"components/buttons\";\nimport QrCodeIcon from \"../../../../../../assets/icons/qr-code.png\";\nimport { ToggleButton, ToggleButtonGroup } from \"@material-ui/lab\";\n\nfunction StepTwo(props) {\n const { setStep, handleToggle, value, errors, continueHandler, mroOwned, step, currentSelection } = props;\n\n const classes = useReturnIssuedPartStyles();\n\n return (\n \n \n \n {(mroOwned === 'managed_part' || currentSelection.condition === \"Reserved\") ? `Step ${step} - Print Label & Return to Store Location` : \"Print Label & Place in RTS location\"}\n \n \n\n \n \n Print QR label\n \n setStep(3)}\n >\n \n Print Label\n \n \n\n \n {\" \"}\n {(mroOwned === 'managed_part' || currentSelection.condition === \"Reserved\") ?\n \n Returned Parts go directly back into Stock. Print a new label as required and place the parts back into there original stock location (shown on the label).\n :\n \n Place parts (with QR code) in RTS location pending return! Final\n return from RTS allocation state to Stock must be completed via the\n “Return Parts” process found in Pick Parts in the MRO-PRO\n APP.\n }\n \n\n \n \n \n \n Confirm - Item/s in RTS location with label attached? *\n \n \n \n handleToggle(val)}\n aria-label=\"yes-or-no\"\n >\n \n No\n \n \n Yes\n \n {\" \"}\n \n {errors?.rts_label && (\n \n {errors.rts_label}\n \n )}\n \n\n \n \n Complete\n \n \n \n );\n}\n\nexport default StepTwo;\n","import React, { useState, useEffect, useRef, useMemo } from \"react\";\n\nimport QRCode from \"qrcode.react\";\n\nimport { useReturnIssuedPartStyles } from \"./styles\";\nimport { Typography, Box, Grid } from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport { ReturnIssuedPartServices } from \"lib/services/api/operaitons/lineMaintenance/workOrder/ReturnIssuedPart\";\nimport { useReactToPrint } from \"react-to-print\";\n\nfunction QRCodeStep(props) {\n const { setStep, onClose, busy, allocId } = props;\n const [qrSize, setQRSize] = useState(200)\n const classes = useReturnIssuedPartStyles();\n const [conditionsPartDetails, setConditionsPartDetails] = useState({});\n const [isPrintWindowOpen, setIsPrintWindowOpen] = useState(false);\n const organisation = JSON.parse(sessionStorage.getItem(\"organisation\"));\n\n const printContainerRef = useRef(null);\n\n const promiseResolveRef = useRef(null);\n const printHandler = useReactToPrint({\n pageStyle: `@media all {\n .page-break {\n display: none;\n margin: none !important;\n padding:none !important;\n background-color: white !important;\n border-style : hidden!important;\n }\n}\n\n@media print {\n html, body {\n \n height: 50% !important;\n overflow: initial !important;\n -webkit-print-color-adjust: exact !important;\n font-size:8px !important;\n margin: none !important;\n padding:none !important;\n box-shadow:none !important;\n background-color: white !important;\n line-height: 0px !important;\n outline:none; !important',\n border-style : hidden!important;\n}\n\n@media print {\n .page-break {\n margin: none !important;\n padding:none !important;\n display: block;\n break-before: avoid !important;\n break-inside: avoid !important;\n box-shadow:none !important;\n background-color: white !important;\n border-style : hidden!important;\n }\n}\n@media print {\n div {\n break-inside: avoid !important; \n }\n}\n@page {\n size: auto;\n margin: none !important;\n padding:none !important;\n background-color: white !important;\n break-inside: avoid !important;\n}`,\n content: () => printContainerRef.current,\n onBeforeGetContent: () => {\n return new Promise((resolve) => {\n promiseResolveRef.current = resolve;\n setIsPrintWindowOpen(true);\n })\n },\n onAfterPrint: () => {\n promiseResolveRef.current = null;\n setIsPrintWindowOpen(false)\n },\n });\n useEffect(() => {\n if (isPrintWindowOpen && promiseResolveRef.current) {\n // Resolves the Promise, letting `react-to-print` know that the DOM updates are completed\n promiseResolveRef.current();\n }\n }, [isPrintWindowOpen]);\n\n\n\n\n const getDetails = async () => {\n try {\n const params = {\n alloc_id: allocId,\n };\n const response = await ReturnIssuedPartServices.getConditionPartDetails(\n params\n );\n\n setConditionsPartDetails(response);\n } catch (error) {\n console.log(error);\n }\n };\n let descCharacter = 0\n const maxCharacterLength = 20;\n let MRO = ''\n let description = ''\n\n const owners = organisation?.company_name\n MRO = owners.substring(0, maxCharacterLength)\n description = conditionsPartDetails?.primary_part?.description.substr(0, maxCharacterLength)\n\n // useMemo(() => {\n // if (conditionsPartDetails?.primary_part?.description !== undefined)\n // descCharacter = conditionsPartDetails?.primary_part?.description.length\n // }, [conditionsPartDetails])\n\n\n\n\n const dummyData = [\n {\n label: \"MRO \",\n value: owners.length > maxCharacterLength ? `${MRO}...` : MRO,\n },\n {\n label: \"Part #\",\n value: conditionsPartDetails?.primary_part?.part_number,\n },\n {\n label: \"Batch #\",\n value: conditionsPartDetails?.secondary_part?.batch_number,\n },\n {\n label: \"Serial #\",\n value: conditionsPartDetails?.secondary_part?.serial_number,\n },\n { label: \"Receipt Date\", value: conditionsPartDetails?.receipt_date },\n {\n label: \"Description\",\n value: description ? description + \"...\" : ''\n },\n {\n label: \"Owner\",\n value: conditionsPartDetails?.secondary_part?.mro_owned\n ? organisation.company_name\n : conditionsPartDetails?.line_customer,\n },\n { label: \"Location\", value: conditionsPartDetails?.store_location },\n {\n label: \"ALOC ID\",\n value: conditionsPartDetails?.part_condition?.alloc_id,\n },\n {\n label: \"Job #\",\n value: conditionsPartDetails?.part_condition?.reportable_type === \"WorkshopOrder\" ? `${conditionsPartDetails?.order_number}-${conditionsPartDetails?.action}` : conditionsPartDetails?.order_number,\n },\n {\n label: \"Shelf-life Exp\",\n value: conditionsPartDetails?.secondary_part?.shelf_life_expiry,\n },\n { label: \"QTY\", value: conditionsPartDetails?.part_condition?.quantity },\n ];\n\n useEffect(() => {\n getDetails();\n }, []);\n\n const data = {\n primaryPartId: `${conditionsPartDetails?.primary_part?.id}`,\n secondaryPartId: `${conditionsPartDetails?.secondary_part?.id}`,\n part: conditionsPartDetails?.primary_part?.part_number,\n batch: conditionsPartDetails?.secondary_part?.batch_number,\n serial: conditionsPartDetails?.secondary_part?.serial_number,\n description: conditionsPartDetails?.primary_part?.description,\n receiptDate: conditionsPartDetails?.receipt_date,\n owner: conditionsPartDetails?.secondary_part?.mro_owned\n ? organisation.company_name\n : conditionsPartDetails?.line_customer,\n allocId: conditionsPartDetails?.part_condition?.alloc_id,\n shelfLifeExp: conditionsPartDetails?.secondary_part?.shelf_life_expiry,\n qty: conditionsPartDetails?.part_condition?.quantity,\n location: conditionsPartDetails?.store_location,\n baseStationId: conditionsPartDetails?.part_request?.to_base_station_id,\n status: conditionsPartDetails?.condition,\n return_location_enabled: false,\n Job: conditionsPartDetails?.part_condition?.reportable_type === \"WorkshopOrder\" ? `${conditionsPartDetails?.order_number}-${conditionsPartDetails?.action}` : conditionsPartDetails?.order_number,\n MRO: organisation?.company_name\n\n };\n // MRO: conditionsPartDetails?.part_condition?.aircraft_registration,\n return (\n
\n {/* printContainer */}\n \n Print Part QR Label\n \n \n
\n SERVICEABLE \n \n {dummyData.map((item, idx) => (\n \n \n \n {item.label}\n \n \n \n \n {item.value ?? \"-\"}\n \n \n \n ))}\n \n \n \n\n \n
\n
\n {/* */}\n < Box margin=\"0 auto\" mt=\"46px\" display=\"flex\" justifyContent=\"center\" >\n setStep(2)}\n >\n Cancel\n \n window.print()}\n onClick={() => {\n printHandler();\n setIsPrintWindowOpen(true);\n }}\n >\n Print\n \n \n
\n );\n}\n\nexport default QRCodeStep;\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport { Box, Dialog, DialogContent, Typography } from \"@material-ui/core\";\n\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport dataReducer, { INITIAL_DATA_STATE } from \"reducers/data_reducer\";\nimport DataServiceAction from \"actions/data_actions\";\n\nimport { useReturnIssuedPartStyles } from \"./styles\";\nimport StepOne from \"./StepOne\";\nimport StepTwo from \"./StepTwo\";\nimport QRCodeStep from \"./QRCodeStep\";\n\nfunction ReturnIssuedPart(props) {\n const {\n open,\n onClose,\n allocId,\n currentSelection,\n qtyFieldTitle,\n updateTable,\n getList,\n getPopupData,\n jobType,\n name,\n mroOwned , partConditionId\n // \n } = props;\n // console.log(\"condition=====\", currentSelection, jobType)\n const classes = useReturnIssuedPartStyles();\n const [busy, setBusy] = useState();\n const [qty, setQty] = useState();\n const message = useContext(ToastMessageContext);\n const [state, rDispatch] = useReducer(dataReducer, INITIAL_DATA_STATE);\n\n const [step, setStep] = useState(1);\n const [value, setValue] = useState(null);\n const [errors, setErrors] = useState({});\n const [newAllocId, setNewAllocId] = useState(null);\n\n const submitHandler = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n\n const qty = +formData.get(\"quantity\");\n\n if (!qty && qty !== 0) {\n setErrors({ quantity: `Please enter quantity` });\n return;\n }\n\n if (qty > currentSelection?.quantity) {\n setErrors({ quantity: `QTY must not be greater than allocation!` });\n return;\n }\n\n if (qty === 0) {\n setErrors({\n quantity: \"QTY must not be less than zero\",\n });\n return;\n }\n\n setBusy(\"loading\");\n // formData.append(\"alloc_id\", allocId);\n formData.append(\"part_condition_id\" , partConditionId)\n // formData.append(\"quantity\", qty);\n const cb = () => {\n typeof updateTable === \"function\" && updateTable();\n typeof getList === \"function\" && getList();\n typeof getPopupData === \"function\" && getPopupData();\n setStep(2);\n setBusy(null);\n };\n\n const errCb = () => setBusy(\"error\");\n const res = await DataServiceAction.updateData(\n rDispatch,\n message,\n formData,\n null,\n mroOwned === 'managed_part' ? \"directReturnPartrequest\" : \"editPartRequest\",\n null,\n cb,\n errCb\n );\n\n if (res) {\n setNewAllocId(Number(res.alloc_id));\n }\n };\n\n const continueHandler = () => {\n if (value !== \"yes\") {\n setErrors((prevState) => ({\n ...prevState,\n rts_label: \"Item/s must be in RTS location with label attached!\",\n }));\n return;\n }\n\n onClose();\n\n\n setTimeout(() => {\n setValue(null)\n setStep(1)\n }, 3000)\n // setStep(1)\n\n\n\n };\n\n const handleToggle = (value) => {\n if (value) {\n setValue(value);\n setErrors((prevState) => ({ ...prevState, rts_label: null }));\n }\n };\n\n const { quantity } = currentSelection;\n useEffect(() => {\n setQty(quantity);\n }, [quantity]);\n\n const returnContent = () => {\n switch (step) {\n case 1:\n return (\n \n );\n\n case 2:\n return (\n \n );\n\n case 3:\n return (\n \n );\n default:\n return null;\n }\n };\n\n return (\n \n {(mroOwned === 'managed_part' || currentSelection.condition === \"Reserved\") ?\n {step !== 3 &&\n (\n \n \n {step === 1 ? `Return to Stock - Step ${step}` : \"RTS - Return to Stock\"}\n {/* Return to Stock - Step {step} */}\n \n \n ALOC ID: {allocId}\n \n \n )}\n {returnContent()}\n :\n \n\n {step !== 3 && (\n \n \n Return to Stock - Step {step}\n \n \n ALOC ID: {allocId}\n \n \n )}\n {returnContent()}\n }\n\n\n \n );\n}\n\nexport default ReturnIssuedPart;\n","import React, { useContext, useState } from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Grid,\n Typography,\n Box\n} from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport exclamationIcon from \"assets/exclamation.png\"\n\n\n\nconst useStyles = makeStyles(() => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"55%\",\n padding: '14px'\n },\n },\n title: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n warning1: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: \"13px\",\n marginBottom: \"20px\",\n },\n warning: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: \"16px\",\n marginBottom: \"20px\",\n },\n actionButtons: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n}));\n\nexport default function ApprovalCaution(props) {\n const classes = useStyles();\n const { open, handleClose, popupValues, setAcceptAll, acceptAll, handleSubmit, onClose, toggleValue, busy } = props\n\n\n const handlePopUp = (e) => {\n handleClose()\n handleSubmit(e)\n }\n return (\n
\n \n\n \n \n \n \n Approval Cautions\n \n \n \n {\" \"}\n {\" \"}\n \n \n \n\n \n \n \n \n \n {toggleValue === \"yes\" && \"Approve ALL Maintenance Action covered by this approval!\"}\n {toggleValue === \"no\" && \"Reject ALL Maintenance Action that have been rejected by this approval!\"}\n \n \n \n \n \n \n \n {toggleValue === \"yes\" && \"Un-Approve & Reapprove previously Approved Actions if you want to reset Action Overview variances\"}\n {toggleValue === \"no\" && \"If the item is being scrapped, then raise applicable maintenance actions to scrap the item!\"}\n \n \n \n\n \n Accept all\n    \n {\n setAcceptAll(!acceptAll);\n }}\n />\n \n\n\n \n \n \n Cancel\n \n \n \n\n {\n acceptAll && handlePopUp(e);\n }}\n name=\"complete1\"\n >\n Complete\n \n \n \n \n \n
\n )\n}\n","import React, { useContext, useEffect, useMemo, useState } from \"react\";\nimport MROFullScreenRightDrawer from \"components/fullwidth_dialog\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport { Box, MenuItem } from \"@material-ui/core\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport DeleteCusApproval from \"./DeleteCusApproval\";\nimport MROButton from \"components/buttons\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport { Visibility as ViewIcon } from \"@material-ui/icons\";\nimport YesNoField from \"components/form_components/YesNoField\";\nimport MROTextField from \"components/form_components/TextField\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport UploadButton from \"components/form_components/upload_multiple\";\nimport { validateFormData } from \"lib/utils/helperFunctions\";\nimport { CommercialServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/commercial\";\nimport { WorkshopContext } from \"../WorkshopContext/WorkshopContext\";\nimport { _formatDate, formatToDateOnly, getOrganisationId, formatDateFunction } from \"lib/utils/common_utils\";\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\nimport { downloadPdfFileFromUrl } from \"lib/utils/helperFunctions\";\nimport DownloadIcon from 'assets/DownloadIcon.svg'\nimport ApprovalCaution from \"./ApprovalCaution\";\nimport { GetInfoCard } from \"views/Procurement/Parts/requestList/stockInfo\";\nimport AwsDateTimeFieldFor from \"components/form_components/AwsDateTimeFieldFor\";\nimport moment from \"moment\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n margin: \"3%\",\n },\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrap: {\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(3),\n boxShadow: \"0px 1px 4px #0000001A\",\n },\n itemContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n width: \"100%\",\n },\n actionButtons: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n textAlign: \"right\",\n marginRight: \"33px\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"7px 24px\",\n },\n}));\n\n\nexport default function CustomerApprovalNew(props) {\n const classes = useStyles();\n const {\n handleClose,\n approvedPositionData,\n getApprovedPosition,\n currentSelectedId,\n approveData,\n actionMode,\n currentSelectedOrder, tab\n } = props;\n const message = useContext(ToastMessageContext);\n const { setApprovalStateCommercial } = useContext(WorkshopContext);\n const [busy, setBusy] = useState(null);\n const [action, setAction] = useState(null);\n const [releaseType, setReleaseType] = useState(null);\n const [approvedToggle, setApprovedToggle] = useState(\"yes\");\n const [errors, setErrors] = useState({});\n const [sum, setSum] = useState(null);\n const [proofAcceptnace, setProofAcceptance] = useState([]);\n const [proofRejection, setProofRejection] = useState([]);\n const [togglevalue, setToggleValue] = useState(\"yes\")\n const [documents, setDocuments] = useState([])\n const [submissionData, setSubmissionData] = useState([])\n const [subLoading, setSubLoading] = useState(false)\n const [docLoading, setDocLoading] = useState(false)\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n\n //Submission Table\n\n const [confirmationPopup, setConfirmationPopup] = useState(false)\n const [acceptAll, setAcceptAll] = useState(false)\n const [popupValues, setPopUpValues] = useState({})\n const [formvalues, setFormvalues] = useState({})\n const [tatRemaining, setTatRemaining] = useState()\n const [tatDays, setTatDays] = useState()\n const [date, setDate] = useState(null)\n const [etd, setETD] = useState(null)\n useEffect(() => {\n if (approveData?.quote_accepted === null) {\n setApprovedToggle(null)\n }\n else if (approveData?.quote_accepted) {\n setApprovedToggle(\"yes\")\n }\n else if (!approveData?.quote_accepted) {\n setApprovedToggle(\"no\")\n }\n if (approveData !== undefined) {\n setTatRemaining(approveData?.tat_remaining)\n setTatDays(approveData?.tat_days_count)\n setDate(moment(approveData?.approved_datetime, \"DD/MM/YYYY HH:mm\").format(\"YYYY-MM-DD HH:mm:ss a\"))\n }\n\n }, [approveData])\n\n\n\n\n const getSubmissionDetails = async () => {\n setSubLoading(true)\n const param = {\n id: currentSelectedId\n }\n await CommercialServices.getApprovalSubmissionTable(param).then((res) => {\n\n setSubmissionData(res.data)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setSubLoading(false)\n })\n\n\n\n }\n const getSubmissionDocumentDetails = async () => {\n setDocLoading(true)\n const param = {\n id: currentSelectedId\n }\n await CommercialServices.getApprovalSubmissionDocument(param).then((res) => {\n setDocuments(res.data)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setDocLoading(false)\n })\n\n\n\n }\n\n\n useEffect(() => {\n getSubmissionDetails()\n getSubmissionDocumentDetails()\n }, [])\n\n\n\n //calculate etd and tat \n useEffect(() => {\n if (date !== null && date !== undefined) {\n\n let tat = tatRemaining ? tatRemaining : 0\n let f_date = date ? moment(date, \"YYYY-MM-DD HH:mm:ss\").add(tat, \"days\").format(\"DD/MM/YYYY\") : null\n setETD(f_date)\n if (f_date) {\n let date_format = \"DD/MM/YYYY\"\n let c_etd = moment(f_date, date_format)\n let inducted = currentSelectedOrder?.inducted_start ? moment(currentSelectedOrder?.inducted_start, \"DD/MM/YYYY HH:mm:ss\").format(date_format) : null\n\n if (inducted !== null) {\n let i_date = moment(inducted, date_format)\n let final_date = c_etd.diff(i_date, \"days\")\n\n setTatDays(final_date)\n }\n }\n }\n\n }, [date, tatRemaining])\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleDownload = async (reportName) => {\n\n const params = {\n id: currentSelectedId,\n report: reportName\n\n }\n setDocLoading(true)\n await CommercialServices.downloadSubmissionDocument(params).then((res) => {\n if (res?.file) {\n downloadPdfFileFromUrl(res.file)\n message.showToastMessage({\n message: \"Report Downloaded Succesfully\",\n variant: \"success\",\n });\n }\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setDocLoading(false)\n })\n\n }\n\n\n\n const column = [\n {\n title: \"\",\n field: \"title\",\n width: \"20%\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n width: \"20%\",\n textAlign: \"left\",\n paddingLeft: '12px'\n },\n },\n {\n title: \"Position\",\n field: \"position\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n\n textAlign: \"center\",\n },\n },\n {\n title: \"TAT \",\n field: \"tat\",\n render: (rowData) => !rowData.tat ? \"\" : rowData.tat\n },\n {\n title: \"ETD\",\n field: \"etd\",\n render: (rowData) => rowData?.etd ? formatToDateOnly(rowData?.etd) : \"\"\n },\n {\n title: \"Labour\",\n field: \"labour\",\n // render: (rowData) => !rowData.labour ? \"0.00\" : rowData.labour\n },\n {\n title: \"Parts\",\n field: \"parts\",\n // render: (rowData) => !rowData.parts ? \"0.00\" : rowData.parts\n },\n {\n title: \"Services\",\n field: \"service\",\n // render: (rowData) => !rowData.service ? \"0.00\" : rowData.service\n },\n {\n title: \"Equipment\",\n field: \"equipment\",\n // render: (rowData) => !rowData.equipment ? \"0.00\" : rowData.equipment\n },\n {\n title: \"Other\",\n field: \"aog_fee\",\n // render: (rowData) => !rowData.aog_fee ? \"0.00\" : rowData.aog_fee\n },\n {\n title: \"Total\",\n field: \"total\",\n },\n {\n title: \"Currency\",\n field: \"currency\",\n },\n ];\n\n const tableOptions = {\n ...options,\n search: false,\n paging: false,\n rowStyle: { height: 42 },\n };\n\n\n const tableOptions2 = {\n ...options,\n search: false,\n paging: false,\n rowStyle: { height: 42 },\n };\n\n\n\n const column2 = [\n {\n title: \"Item\",\n field: \"\",\n width: '80%',\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: '12px'\n }, cellStyle: {\n width: '80%',\n textAlign: \"left\",\n paddingLeft: '12px'\n },\n render: (rowData) => {\n if (rowData?.collection_name === \"commercial_report\") {\n return \"Commercial Report\"\n\n } if (rowData?.collection_name === \"workshop_report\") {\n return \"Workshop Report \"\n\n } if (rowData?.collection_name === \"cost_breakdown_report\") {\n return \"Detailed Breakdown CSV\"\n }\n\n }\n\n },\n\n {\n title: \"View\",\n field: \"view\",\n render: (rowData) => {\n if (rowData?.collection_name === \"commercial_report\") {\n return (\n {\n if (rowData?.file_path !== undefined) {\n window.open(rowData?.file_path)\n } else {\n message.showToastMessage({\n message: \"No Document Found.\",\n variant: \"error\",\n });\n }\n }}\n size=\"small\">\n \n \n\n )\n\n } if (rowData?.collection_name === \"workshop_report\") {\n return (\n {\n if (rowData?.file_path !== undefined) {\n window.open(rowData?.file_path)\n } else {\n message.showToastMessage({\n message: \"No Document Found.\",\n variant: \"error\",\n });\n }\n }}\n size=\"small\">\n \n \n\n )\n\n } if (rowData?.collection_name === \"cost_breakdown_report\") {\n return ''\n }\n\n }\n },\n {\n title: \"Download\",\n field: \"\",\n render: (rowData) =>\n\n {\n handleDownload(rowData?.collection_name === \"commercial_report\" ? \"commercial_report\" : rowData?.collection_name === \"workshop_report\" ? \"workshop_report\" : rowData?.collection_name === \"cost_breakdown_report\" ? \"cost_breakdown_report\" : \"\")\n }}\n size=\"small\">\n \n\n \n\n\n\n },\n ];\n\n\n\n\n\n const handleApprovedToggle = (value) => {\n if (value !== null) {\n setToggleValue(value)\n setApprovedToggle(value)\n }\n else {\n setApprovedToggle(togglevalue)\n }\n };\n\n useEffect(() => {\n getReleaseType();\n }, []);\n\n const getReleaseType = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await MaintenanceServices.getReleaseType(params)\n .then((res) => {\n if (res) {\n setReleaseType(res.data);\n }\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n });\n };\n const handleSubmit = async (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const { error, valid } = validateFormData(formData, [\n approvedToggle === \"no\"\n ? (\"proof_of_acceptance\", \"approved_datetime\")\n : \"\",\n approvedToggle === \"yes\"\n ? (\"release_type\", \"reject_comments\", \"proof_of_rejection\", \"tat_remaining\", \"approved_datetime\")\n : \"\",\n ]);\n\n if (approvedToggle === null) {\n setBusy(null);\n setErrors((er) => ({ ...er, quote_accepted: true }));\n }\n\n if (proofAcceptnace?.length === 0 && approvedToggle === \"yes\") {\n setBusy(null);\n setErrors((er) => ({ ...er, proof_of_acceptance: true }));\n }\n if (proofRejection?.length === 0 && approvedToggle === \"no\") {\n setBusy(null);\n setErrors((er) => ({ ...er, proof_of_rejection: true }));\n }\n\n if (\n (proofAcceptnace?.length === 0 && approvedToggle === \"yes\") ||\n (proofRejection?.length === 0 && approvedToggle === \"no\") || approvedToggle === null\n ) {\n setErrors((err) => ({ ...err, ...error }));\n setBusy(null);\n return;\n }\n\n if (!valid) {\n setBusy(null);\n setErrors(error);\n return;\n }\n const data = formData.get(\"approved_datetime\")\n\n if (approvedToggle === \"yes\") {\n const etd = formData.get(\"etd\")\n const f_etd = moment(etd, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\")\n formData.delete(\"etd\")\n formData.append(\"etd\", f_etd)\n }\n formData.delete(\"approved_datetime\")\n formData.append(\"user_id\", user?.id);\n formData.append(\"approved_datetime\", moment(date, \"YYYY-MM-DD HH:mm:ss\").format(\"YYYY-MM-DD HH:mm\"));\n formData.append(\"id\", currentSelectedId);\n if (valid) {\n\n setConfirmationPopup(true)\n setFormvalues(formData)\n\n }\n };\n\n const handlePopUp = async (e) => {\n setBusy(\"loading\");\n await CommercialServices.customerApproval(formvalues)\n .then((res) => {\n if (res) {\n handleClose(res.success);\n setApprovalStateCommercial(false);\n getApprovedPosition();\n message.showToastMessage({\n message: \"Approved successfully!!\",\n variant: \"success\",\n });\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something wnt wrong. Try again!!\",\n variant: \"error\",\n });\n })\n .finally(() => {\n setBusy(null);\n });\n\n\n\n }\n\n\n return (\n
\n \n \n \n \n \n \n \n \n Approved Position\n \n \n {approveData?.highest_position && tab === \"workshop\" ? setAction(\"delete\")}>\n \n : \"\"}\n \n \n\n
\n\n
\n \n \n Submission\n \n \n\n
\n \n \n
\n \n \n \n
\n
\n \n
\n \n \n \n
\n
\n \n
\n \n \n \n
\n
\n \n
\n \n \n \n\n\n null,\n }}\n localization={{\n toolbar: {},\n\n }}\n />\n\n \n \n Approval Documents\n \n \n\n null,\n }}\n localization={{\n toolbar: {},\n body: {\n emptyDataSourceMessage: \"No data found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n />\n \n \n Approval\n \n \n {\n resetErrorsHandler(\"quote_accepted\");\n }}\n disabled={actionMode === \"view_customer_Approval\"}\n />\n {approvedToggle === \"no\" && (\n \n \n \n Is the item being Scrapped, or returned U/S? Update the\n order’s Release Type below to match the return state\n \n \n \n \n {\n resetErrorsHandler(\"approved_datetime\");\n\n }}\n // defaultValue={approveData?.rejected_datetime}\n InputLabelProps={{ shrink: true }}\n />\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n >\n \n Select\n \n {releaseType?.map((option) => (\n \n {option.type_name}\n \n ))}\n \n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n placeholder={\n \"Applicable comments or notes - Max 250 characters\"\n }\n InputLabelProps={{ shrink: true }}\n >\n \n\n \n {actionMode === \"customer_Approval\" && <>\n \n \n Upload proof of rejection (customer approval email etc) *\n \n \n \n {\n setProofRejection(files);\n resetErrorsHandler(\"proof_of_rejection\");\n }}\n name={\"proof_of_rejection\"}\n label=\"\"\n labelName=\"Proof of rejection (customer approval email etc) *\"\n />\n \n }\n \n )}\n\n {approvedToggle === \"yes\" && (<>\n\n \n \n \n {\n resetErrorsHandler(\"approved_datetime\");\n setDate(e)\n }}\n defaultValue={approveData?.approved_datetime}\n InputLabelProps={{ shrink: true }}\n />\n \n \n {\n resetErrorsHandler(\"tat_remaining\");\n setTatRemaining(e.target.value)\n }}\n >\n \n \n\n {\n resetErrorsHandler(e.target.name);\n setTatDays(e.target.value)\n }}\n InputProps={{\n className: classes.disableField,\n }}\n InputLabelProps={{ shrink: true }}\n >\n\n\n \n\n \n \n\n \n\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n placeholder={\n \"Applicable comments or notes - Max 250 characters\"\n }\n InputLabelProps={{ shrink: true }}\n >\n \n {actionMode === \"customer_Approval\" && <>\n \n \n Proof of acceptance (customer approval email etc) *\n \n \n \n {\n setProofAcceptance(files);\n resetErrorsHandler(\"proof_of_acceptance\");\n }}\n name={\"proof_of_acceptance\"}\n label=\"\"\n labelName=\"Proof of acceptance (customer approval email etc) *\"\n />\n }\n\n\n\n\n\n\n\n\n \n\n\n\n )}\n\n
\n {actionMode === \"customer_Approval\" &&\n
\n \n Cancel\n \n \n Complete\n \n
}\n\n\n\n
\n {action === \"delete\" && (\n setAction(null)}\n open={true}\n selectedId={currentSelectedId}\n closeHandler={handleClose}\n getApprovedPosition={getApprovedPosition}\n currentSelectedOrder={currentSelectedOrder}\n />\n )}\n\n {confirmationPopup && {\n setConfirmationPopup(false)\n\n }}\n\n onClose={() => {\n setConfirmationPopup(false)\n setAcceptAll(false)\n }}\n open={confirmationPopup}\n popupValues={popupValues}\n setAcceptAll={setAcceptAll}\n acceptAll={acceptAll}\n busy={busy}\n toggleValue={approvedToggle}\n handleSubmit={handlePopUp}\n />}\n
\n
\n )\n}\n","import React, { useContext, useEffect, useState } from \"react\";\n\nimport MRODialog from \"components/MRODialog\";\nimport {\n Typography,\n Grid,\n makeStyles,\n MenuItem,\n FormControlLabel,\n ButtonGroup,\n Dialog,\n DialogTitle,\n DialogContent,\n} from \"@material-ui/core\";\nimport MROTextField from \"components/form_components/TextField\";\n\nimport { userDetails, validateFormData } from \"lib/utils/helperFunctions\";\nimport MROOnSiteOffSite from \"components/form_components/MRoOnSite_OffSite_Field\";\n// import ServiceRequestListClientServices from \"lib/services/api/procurement/Services\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport YesNoField from \"components/form_components/YesNoField\";\nimport UploadButton from \"components/form_components/upload_multiple\";\nimport MROButton from \"components/buttons\";\nimport { StorageServices } from \"lib/services/api/operaitons/WorkShop/Storage/StorageService\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\n\nconst useStyles = makeStyles((theme) => ({\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n \"& input[name='part_number']\": { textTransform: \"uppercase\" },\n },\n title: {\n \"& h2\": {\n color: theme.palette.primary.main,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"10px 25px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"8px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n },\n partKey: {\n fontSize: \"16px\",\n padding: \"5px\",\n },\n partValue: {\n fontSize: \"16px\",\n color: \"#4D4F5C\",\n padding: \"5px\",\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n maxWidth: \"763px\",\n },\n },\n purchaseGrid: {\n paddingTop: \"0 !important\",\n paddingBottom: \"0 !important\",\n },\n costData: {\n \"& > div\": {\n display: \"flex\",\n \"&:not(:last-child)\": {\n marginBottom: \"10px\",\n },\n \"& span:first-child\": {\n color: \"#4D4F5C\",\n fontSize: \"16px\",\n flex: \"0 0 30%\",\n },\n \"& span:last-child\": {\n color: \"#056191\",\n fontSize: \"16px\",\n },\n },\n },\n cost: {\n \"& div:first-child\": {\n display: \"flex\",\n alignItems: \"baseline\",\n marginBottom: \"10px\",\n \"& > p\": {\n fontSize: \"20px\",\n marginLeft: \"13px\",\n },\n },\n \"& div:last-child\": {\n display: \"flex\",\n alignItems: \"center\",\n \"& > p\": {\n margin: \"0\",\n marginRight: \"40px\",\n },\n },\n },\n error: {\n borderColor: \"red\",\n },\n shelfLifeControlled: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n margin: \"20px 0 25px\",\n margiRight: \"-11px\",\n \"& span:last-child\": {\n fontSize: \"14px\",\n },\n },\n}));\n\nfunction NewLinkedMaintOrder(props) {\n console.log(\"LinkedMaintOrder\", props)\n const { action, handleClose, workshopId, getMaintenanceOrderList } =\n props;\n const message = useContext(ToastMessageContext);\n const classes = useStyles();\n const [busy, setBusy] = useState(null);\n const [selectedPart, setSelectedPart] = useState({});\n const [errors, setErrors] = useState({});\n const [qty, setQty] = useState(null);\n const [inspection, setInspection] = useState(false);\n const [state, setState] = useState(\"quote\");\n const [customerOrderDoc, setCustomerOrderDoc] = useState([]);\n const [description, setDescription] = useState(null);\n const [serialNumber, setSerialNumber] = useState(null);\n const [inductionMenu, setInductionMenu] = useState(null);\n const [release, setRelease] = useState(null);\n const [customerOrderNumber, setCustomerOrderNumber] = useState(null);\n const [secondaryRefNumber, setSecondaryRefNumber] = useState(null);\n const [aogSwitchState, setAogSwitchstate] = useState(null);\n const [primePart, setPrimePart] = useState([])\n\n useEffect(() => {\n setDescription(!selectedPart?.description ? \"\" : selectedPart?.description)\n }, [selectedPart?.description])\n\n useEffect(() => {\n getPartDetails()\n }, [])\n\n const getPartDetails = () => {\n const params = {\n organisation_id: getOrganisationId(),\n active: true,\n repairable: true,\n status: true,\n project_part: false\n }\n MaintenanceServices.getPartNumber(params)\n .then((res) => {\n setPrimePart(res.data)\n }).catch(() => {\n console.log(\"error\")\n })\n }\n\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n const handleAog = (value) => {\n setAogSwitchstate(value);\n };\n\n\n const handleSubmit = (e) => {\n e.preventDefault()\n const formData = new FormData(e.target);\n formData.append(\"type\", state);\n formData.append(\"storage_order_id\", workshopId)\n formData.append(\"primary_part_id\", selectedPart.id);\n formData.append(\"organisation_id\", getOrganisationId())\n formData.delete(\"inspection_action\")\n formData.append(\"inspection_action\", inspection);\n if (state === \"without_quote\") {\n let valid = true;\n\n let errorFields = {\n part_number: false,\n serial_number: false,\n item_description: false,\n quantity: false,\n induction_tab_style: false,\n release_tab_style: false,\n secondary_customer_ref: false,\n customer_order_number: false\n };\n if (customerOrderDoc.length === 0) {\n errorFields[\"customer_order_doc[]\"] = true\n setErrors((er) => ({ ...er, \"customer_order_doc[]\": true }));\n valid = false;\n }\n if (formData && formData.get(\"part_number\")?.length === 0) {\n errorFields.part_number = true\n valid = false;\n }\n if (formData && formData.get(\"item_description\")?.length === 0) {\n errorFields.item_description = true;\n valid = false;\n }\n if (formData && formData.get(\"serial_number\")?.length === 0) {\n errorFields.serial_number = true;\n valid = false;\n }\n if (formData && formData.get(\"quantity\")?.length === 0) {\n errorFields.quantity = true;\n valid = false;\n }\n if (formData && formData.get(\"customer_order_number\")?.length === 0) {\n errorFields.customer_order_number = true;\n valid = false;\n }\n if (formData && formData.get(\"secondary_customer_ref\")?.length === 0) {\n errorFields.secondary_customer_ref = true;\n valid = false;\n }\n if (formData && formData.get(\"induction_tab_style\")?.length === 0) {\n errorFields.induction_tab_style = true;\n valid = false;\n }\n if (formData && formData.get(\"release_tab_style\")?.length === 0) {\n errorFields.release_tab_style = true;\n valid = false;\n }\n if (!valid) {\n // setBusy(null)\n setErrors(errorFields);\n return;\n }\n\n formData.delete(\"customer_order_doc[]\")\n const cusOrder = [];\n customerOrderDoc.forEach((_, i) => {\n cusOrder[i] = Array.from(customerOrderDoc[i]);\n cusOrder[i].forEach((file) =>\n formData.append(\"customer_order_doc[]\", file)\n );\n });\n\n\n }\n setBusy(\"loading\")\n StorageServices.createLinkedMaintenanceOrder(formData)\n .then((res) => {\n if (res) {\n handleClose(res.success)\n getMaintenanceOrderList();\n message.showToastMessage({\n message: \"Created successfully!!\",\n variant: \"success\"\n })\n }\n }).catch((res) => {\n handleClose(res.error)\n message.showToastMessage({\n message: \"Something went wrong. Try again!!\",\n variant: \"error\"\n })\n }).finally(() => {\n setBusy(null)\n })\n }\n return (\n
\n \n \n New Linked Maintenance Order\n \n \n
\n
\n \n \n setState(\"quote\")}\n variant={state === \"quote\" ? \"contained\" : \"outlined\"}\n\n >\n Quote\n \n setState(\"without_quote\")}\n variant={state === \"without_quote\" ? \"contained\" : \"outlined\"}\n\n >\n Without Quote\n \n \n \n
\n {state === \"quote\" ? (\n \n Select “Complete” to raise a new Maintenance Order via the Quote\n process\n \n ) : \n Complete the following details to setup a linked Maintenance Order\n }\n\n {state === \"without_quote\" &&\n (\n
\n \n Part Details\n \n \n \n option.id === value.id}\n value={selectedPart !== null && selectedPart}\n onChange={(event, value) => {\n setSelectedPart(value);\n }}\n id=\"tags-standard\"\n options={primePart || []}\n getOptionLabel={(option) => option.part_number}\n renderInput={(params) => (\n {\n resetErrorsHandler(\"part_number\");\n }}\n />\n )}\n />\n \n \n {\n resetErrorsHandler(e.target.name);\n setSerialNumber(e.target.value);\n }}\n error={errors.serial_number}\n >\n \n \n {\n resetErrorsHandler(e.target.name);\n }}\n error={errors.item_description}\n >\n \n \n \n setErrors((prevState) => ({\n ...prevState,\n quantity: false,\n }))\n }\n />\n \n \n\n \n Order Setup\n \n \n \n \n \n \n {\n setInspection(e.target.checked);\n }}\n />\n }\n label={\n \n Inspection Actions required?\n \n }\n labelPlacement=\"start\"\n name={\"inspection_action\"}\n />\n \n \n\n \n \n {\n resetErrorsHandler(e.target.name);\n setInductionMenu(e.target.value);\n }}\n error={errors.induction_tab_style}\n InputLabelProps={{ shrink: true }}\n className={classes.input}\n >\n \n At Base - Goods In\n \n \n At Base - NO Goods In\n \n \n Away From Base\n \n \n \n \n {\n resetErrorsHandler(e.target.name);\n setRelease(e.target.value);\n }}\n error={errors.release_tab_style}\n InputLabelProps={{ shrink: true }}\n className={classes.input}\n >\n \n At Base - Goods Out\n \n \n At Base - NO Goods Out\n \n \n Away From Base\n \n \n \n \n\n \n Customer Order\n \n\n \n \n {\n resetErrorsHandler(e.target.name);\n setCustomerOrderNumber(e.target.value)\n }}\n error={errors.customer_order_number}\n placeholder=\"Purchase Order, or Service Order ref\"\n InputLabelProps={{ shrink: true }}\n className={classes.input}\n />\n \n\n \n {\n resetErrorsHandler(e.target.name);\n setSecondaryRefNumber(e.target.value);\n }}\n error={errors.secondary_customer_ref}\n InputLabelProps={{ shrink: true }}\n inputProps={{ maxLength: 30 }}\n className={classes.input}\n >\n\n \n \n \n\n \n {\n setCustomerOrderDoc(files);\n resetErrorsHandler(\"customer_order_doc[]\");\n }}\n name={\"customer_order_doc[]\"}\n label=\"Customer Order Doc *\"\n />\n \n
\n )}\n
\n \n Cancel\n \n \n Complete\n \n
\n
\n
\n\n
\n \n
\n );\n}\n\nexport default NewLinkedMaintOrder;\n","import React, { useEffect, useContext, useReducer, useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport moment from \"moment\";\nimport {\n Typography,\n FormControl,\n InputBase,\n MenuItem,\n Select,\n IconButton,\n Box,\n Grid,\n Button,\n} from \"@material-ui/core\";\nimport { Visibility as ViewIcon } from \"@material-ui/icons\";\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from \"../../../../reducers/table_reducer\";\nimport SearchBarWithFilters from \"../../../../components/search_with_filters\";\nimport tableIcons, {\n options,\n} from \"../../../../components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport TableAction from \"../../../../actions/table_actions\";\nimport { ICON_COLOUR } from \"../../../../lib/constants/style_constants\";\nimport { Chip } from \"@material-ui/core\";\nimport MROButton from \"../../../../components/buttons\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport NewLinkedMaintOrder from \"./NewLinkedMaintOrder\";\nimport { StorageServices } from \"lib/services/api/operaitons/WorkShop/Storage/StorageService\";\nimport greenCheckIcon from \"assets/green check.png\";\nimport AmberIcon from \"assets/Amber gear@3x.png\";\nimport RedCheckIcon from \"assets/Red filled tick.png\";\nimport useDebounce from \"lib/utils/debounce\";\nimport { formatToDateOnly, getOrganisationId } from \"lib/utils/common_utils\";\nimport TabDetails from \"views/Operations/Workshop/TabDetails\";\nimport StatusPopup from \"views/Operations/Workshop/Maintenance/StatusPopup\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n backgroundColor: \"#fff\",\n // padding: theme.spacing(4, 3),\n border: \"1px solid #d5d5d5\",\n margin: \"1% 0\",\n },\n tableWrapper: {\n width: \"96%\",\n padding: \"3%\",\n },\n bold: {\n fontWeight: 600,\n },\n}));\n\nexport default function AddMaint(props) {\n // console.log(\"Storage000\", props)\n const { workshop_id, orderState } = props\n const classes = useStyles();\n const [searchText, setSearchText] = useState(\"\");\n const [action, setAction] = useState(\"\");\n const message = useContext(ToastMessageContext);\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, inProgress } = tableState;\n const [currentSelection, setCurrentSelection] = useState({});\n const [addMaintdata, setAddMaintdata] = useState(false);\n const debouncedVal = useDebounce(searchText);\n const [loading, setLoading] = useState(false);\n const [filterData, setFilterData] = useState({});\n const [customerDetails, setCustomerDetails] = useState([]);\n const [bases, setBases] = useState([]);\n\n\n //Api Main Listing\n const getLinkedMaintenanceList = () => {\n setLoading(true)\n const params = {\n page: page + 1,\n type: \"get_order_listing\",\n storage_order_id: workshop_id,\n search: debouncedVal,\n ...filterData,\n }\n StorageServices.getLinkedMaintOrderListing(params).then((response) => {\n setAddMaintdata(response.data)\n // console.log(\"StorageServices===\", response)\n TableAction.setTotalCount(dispatch, response.total_count);\n }).catch((e) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n })\n }).finally(() => {\n setLoading(false)\n })\n }\n useEffect(() => {\n getLinkedMaintenanceList()\n }, [page, pageSize, totalCount, debouncedVal, filterData])\n\n\n const handleFilterChange = (keyItem, value) => {\n TableAction.setPage(dispatch, 0);\n setFilterData((prevState) => ({ ...prevState, [keyItem]: value }));\n };\n\n const columnCalAction = [\n {\n title: \"MO#\",\n field: \"order_no\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"22px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"22px\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"50%\"\n },\n },\n {\n title: \"Raised\",\n field: \"created_at\",\n render: rowData => { return rowData.created_at != null ? formatToDateOnly(rowData.created_at) : \"-\" },\n },\n {\n title: \"Status\",\n field: \"created_at\",\n render: (rowData) => {\n if (rowData.order_state_id === 10) {\n return (\n {\" \"}\n \"Icon\"{\" \"}\n )\n }\n else if (rowData.order_state_id === 11 || rowData.order_state_id === 12) {\n return (\n {\" \"}\n \"Icon\"{\" \"}\n )\n }\n else {\n return (\n {\" \"}\n \"Icon\"{\" \"}\n )\n }\n }\n },\n {\n title: \"State\",\n field: \"order_state\",\n\n },\n {\n title: \"W/S Report\",\n render: (rowData) => {\n if (rowData.workshop_report !== undefined && rowData.workshop_report !== [] && rowData.workshop_report.length != 0) {\n return (\n \n \n window.open(rowData.workshop_report.map(document => document.file_path))\n } />\n \n \n );\n }\n else {\n return \"-\"\n }\n },\n },\n {\n title: \"Action\",\n render: (rowData) => {\n return (\n \n {\n setCurrentSelection(rowData);\n setAction(\"Unlock\");\n }}\n size=\"small\"\n >\n \n \n \n );\n },\n },\n ];\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n headerStyle: {\n paddingTop: \"19px\",\n paddingBottom: \"19px\",\n textAlign: \"center\",\n },\n };\n\n //Tabdetails Api\n\n const paginationReset = () => {\n TableAction.setPage(dispatch, 0)\n }\n const getCustomerList = async () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n await MaintenanceServices.getCustomerList(params)\n .then((res) => {\n if (res) {\n setCustomerDetails(res.data);\n }\n // setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // setLoading(false);\n });\n };\n const getBaseStation = () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n setBases(res.data);\n }\n // setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // setLoading(false);\n });\n };\n\n\n return (\n
\n \n Linked Maintenance Orders\n \n
\n \n \n setAction(\"newOrder\")}\n color={\"secondary\"}\n >\n + Add Maint Order\n \n \n \n
\n {\n setSearchText(value);\n TableAction.setPage(dispatch, 0);\n }}\n >\n
\n \n \n \n
\n \n\n \n Requests}\n columns={columnCalAction}\n isLoading={loading}\n data={addMaintdata || []}\n options={tableOptions}\n localization={{\n toolbar: {\n searchPlaceholder: \"Search anything\",\n },\n body: {\n emptyDataSourceMessage: \"No Requests Found\",\n filterRow: {\n filterTooltip: \"Filter\",\n },\n },\n }}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n {\n action && action !== \"statusPopup\" && action !== \"newOrder\" && (\n setAction(null)}\n action={action}\n currentSelection={currentSelection}\n bases={bases}\n lineCustomers={customerDetails?.customers}\n tabId={20}\n order_type={1}\n setAction={setAction}\n data={addMaintdata}\n getMaintenanceOrderList={getLinkedMaintenanceList}\n paginationReset={paginationReset}\n />\n )\n }\n {/* {\n action !== \"Send Quote \" && action !== \"Unlock\" && action === \"statusPopup\" &&\n setAction(null)} workshop_order_id={workshop_id} />\n } */}\n {action === \"newOrder\" && setAction(null)} data={addMaintdata} workshopId={workshop_id} getMaintenanceOrderList={getLinkedMaintenanceList} />}\n
\n );\n}\n","module.exports = __webpack_public_path__ + \"static/media/wrench.a402d9f9.svg\";","module.exports = __webpack_public_path__ + \"static/media/tire-pressure.7ba44485.svg\";","module.exports = __webpack_public_path__ + \"static/media/boom-lift.9ad3ade4.svg\";","module.exports = __webpack_public_path__ + \"static/media/ladder-truck.46fb512d.svg\";","module.exports = __webpack_public_path__ + \"static/media/airplane.3415faba.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrowdownward.ecd50f0a.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrowdownwardgreen.ef527d93.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrowdownwardamber.f295699f.svg\";","module.exports = __webpack_public_path__ + \"static/media/location.8cbfeba1.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrowupward.0eb99b8a.svg\";","module.exports = __webpack_public_path__ + \"static/media/end-call.6cf20143.svg\";","module.exports = __webpack_public_path__ + \"static/media/end-call -grey.e1c31454.svg\";","module.exports = __webpack_public_path__ + \"static/media/remove.f15dc19f.svg\";","module.exports = __webpack_public_path__ + \"static/media/CalendarIcon.c9950962.svg\";","module.exports = __webpack_public_path__ + \"static/media/CopyIcon.be6315ac.svg\";","import requestApi from \"../common/boxp_api_client\";\nimport requestrApi from \"../common/boxr_api_client\";\n\nfunction getActivityService(params) {\n return requestrApi({\n url: `/accounts/activity_report`,\n method: 'GET',\n params: params\n });\n}\nfunction fetchDependencies() {\n return requestrApi({\n url: '/accounts/fetch_filter_dependencies',\n method: 'GET',\n });\n}\n\nfunction fetchAircraftRegistrations(lineCustomerId, baseStationId, startDate, endDate) {\n return requestrApi({\n url: 'consolidate_reports/fetch_aircraft_registrations?line_customer_id=' + lineCustomerId + '&base_station_id=' + baseStationId + '&start_date=' + startDate + '&end_date=' + endDate,\n method: 'GET',\n });\n}\n\nfunction getDelayInbounds(params) {\n return requestrApi({\n url: '/work_orders/inbound_work_orders',\n method: 'GET',\n params\n });\n}\nfunction getDelayExceedsGnd(params) {\n return requestrApi({\n url: '/work_orders/exceeds_gnd_time',\n method: 'GET',\n params\n });\n}\n\nfunction getAccountsActivityData(params) {\n\n return requestApi({\n url: '/accounts_line_activity',\n method: 'GET',\n params\n\n })\n}\n\nfunction updateAccountInvoices(params) {\n\n return requestApi({\n url: 'edit_remove_invoice_number?_method=PUT',\n method: 'POST',\n params\n\n })\n}\nfunction activityDownloadCSV(params) {\n return requestApi({\n url: '/accounts_line_activity_csv',\n method: 'GET',\n params\n\n })\n\n}\n\nfunction accountCancellation(params) {\n return requestrApi({\n url: '/line_customers/canclations',\n method: 'GET',\n params\n\n })\n\n}\nfunction getInvoiceReportDetails(params) {\n return requestrApi({\n url: '/accounts/listing_invoice_report',\n method: 'GET',\n params\n\n })\n\n}\nfunction getReportDetails(params) {\n return requestrApi({\n url: '/accounts/reports_details',\n method: 'GET',\n params\n\n })\n\n}\n\nfunction getReportWoDetails(params) {\n return requestrApi({\n url: '/accounts/reports_work_orders',\n method: 'GET',\n params\n\n })\n\n}\nfunction updateLineInvoiceNumber(params) {\n return requestrApi({\n url: '/accounts/edit_invoice_report',\n method: 'PUT',\n params\n\n })\n\n}\nconst deleteLineInvoice = (params) => {\n return requestrApi({\n url: `/accounts/destroy_invoice_report`,\n method: \"DELETE\",\n params\n });\n};\n\nconst getForecastingReport = (params) =>{\n return requestApi({\n url: `/forecasting_report`,\n method: \"GET\",\n params\n });\n}\nconst ActivityService = {\n getActivityService, fetchDependencies, fetchAircraftRegistrations,\n getDelayInbounds,\n getDelayExceedsGnd,\n getAccountsActivityData,\n updateAccountInvoices,\n activityDownloadCSV,\n accountCancellation,\n getInvoiceReportDetails,\n getReportDetails,\n getReportWoDetails,\n updateLineInvoiceNumber,\n deleteLineInvoice,\n getForecastingReport\n};\n\nexport default ActivityService;","import React from \"react\";\n\nexport default function StatusDot(props) {\n const {variant,size} = props;\n let newStyle ={};\n if(size){\n newStyle = {\n width:size,\n height:size\n }\n }\n return (\n \n )\n\n}","import requestrApi from \"../../common/boxr_api_client\";\n\nfunction getServiceRates(params) {\n return requestrApi({\n url: '/adhoc_rates/service_rates',\n method: 'GET',\n params:params\n });\n}\n\nfunction createServiceRates(formData) {\n return requestrApi({\n url: '/adhoc_rates/create_service_rate',\n method: 'POST',\n data:formData\n })\n}\n\nfunction updateServiceRate(formData) {\n return requestrApi({\n url:'/adhoc_rates/update_service_rate',\n method: 'PUT',\n data: formData\n })\n}\n\nfunction removeServiceRate(id) {\n return requestrApi({\n url: '/adhoc_rates/destroy_service_rate',\n method: 'DELETE',\n data: {id:id}\n })\n}\n\nfunction getCalloutRates(params) {\n return requestrApi({\n url: '/adhoc_rates/call_out_rates',\n method: 'GET',\n params:params\n });\n}\n\nfunction createCalloutRates(formData) {\n return requestrApi({\n url: '/adhoc_rates/create_call_out_rate',\n method: 'POST',\n data:formData\n })\n}\n\nfunction updateCalloutRate(formData) {\n return requestrApi({\n url:'/adhoc_rates/update_call_out_rate',\n method: 'PUT',\n data: formData\n })\n}\n\nfunction removeCalloutRate(id) {\n return requestrApi({\n url: '/adhoc_rates/destroy_call_out_rate',\n method: 'DELETE',\n data: {id:id}\n })\n}\n\nfunction getTermsAndConditions () {\n return requestrApi({\n url: '/adhoc_rates/listing_tc',\n method: 'GET',\n })\n}\n\nfunction addTermsAndConditions (formData) {\n return requestrApi( {\n url: '/adhoc_rates/upload_tc',\n method: 'POST',\n data: formData\n })\n}\n\nfunction removeTermsAndConditions(id) {\n return requestrApi( {\n url: '/adhoc_rates/destroy_tc',\n method: 'DELETE',\n data:{id:id}\n })\n}\n\nexport const ServiceRatesOptions = {\n getServiceRates,\n createServiceRates,\n updateServiceRate,\n removeServiceRate\n}\n\nexport const CallOutRatesService = {\n getCalloutRates,\n createCalloutRates,\n updateCalloutRate,\n removeCalloutRate\n}\n\nexport const TermsAndConditionsService = {\n addTermsAndConditions,\n removeTermsAndConditions,\n getTermsAndConditions\n}","import { ServiceRatesOptions, CallOutRatesService } from \"../../../lib/services/api/admin/line/adhoc_rates_client\";\n\nexport const ADHOC_RATES_ACTIONS = {\n TOGGLE_LOADING: 'toggle_loading',\n SET_ERROR: 'set_error',\n SET_RATES: 'set_rates_data',\n ADD_RATE: 'add_rate_data',\n UPDATE_RATE: 'update_rate_data',\n REMOVE_RATE: 'remove_rate_data',\n SET_CURRENT_SELECTION: 'set_current_selection',\n SET_ACTION: 'set_action_type',\n RESET_ACTION: 'reset_action'\n}\n\nconst getData = {\n service_rates: (params) => ServiceRatesOptions.getServiceRates(params),\n call_out_rates: (params) => CallOutRatesService.getCalloutRates(params)\n}\n\nconst createData = {\n service_rates: (formData) => ServiceRatesOptions.createServiceRates(formData),\n call_out_rates: (formData) => CallOutRatesService.createCalloutRates(formData),\n}\n\nconst updateData = {\n service_rates: (formData) => ServiceRatesOptions.updateServiceRate(formData),\n call_out_rates: (formData) => CallOutRatesService.updateCalloutRate(formData),\n}\n\nconst deleteData = {\n service_rates: (formData) => ServiceRatesOptions.removeServiceRate(formData),\n call_out_rates: (formData) => CallOutRatesService.removeCalloutRate(formData),\n}\n\nexport function getRates(dispatch, message, type = \"service_rates\", params) {\n dispatch({ type: ADHOC_RATES_ACTIONS.TOGGLE_LOADING });\n getData[type](params).then((res) => {\n if (res[type]) {\n dispatch({ type: ADHOC_RATES_ACTIONS.SET_RATES, response: { data: res[type], total: res['total_count'] } });\n }\n else {\n dispatch({ type: ADHOC_RATES_ACTIONS.TOGGLE_LOADING });\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again!\", variant: \"error\" })\n }\n }).catch((e) => {\n dispatch({ type: ADHOC_RATES_ACTIONS.TOGGLE_LOADING });\n message.showToastMessage({ message: e.message || \"Something went wrong. Try again!\", variant: \"error\" })\n })\n}\n\nexport function setCurrentSelection(dispatch, data) {\n dispatch({ type: ADHOC_RATES_ACTIONS.SET_CURRENT_SELECTION, response: data });\n}\n\nexport function setActionType(dispatch, type) {\n dispatch({ type: ADHOC_RATES_ACTIONS.SET_ACTION, response: type });\n}\n\nexport function resetActions(dispatch) {\n dispatch({ type: ADHOC_RATES_ACTIONS.RESET_ACTION });\n}\n\nexport function createRate(dispatch, message, type, formData) {\n dispatch({ type: ADHOC_RATES_ACTIONS.TOGGLE_LOADING });\n createData[type](formData).then((res) => {\n if (res.success) {\n dispatch({ type: ADHOC_RATES_ACTIONS.ADD_RATE, response: res.data });\n message.showToastMessage({ message: \"Successfully added New Rate\", variant: \"success\" });\n }\n else {\n dispatch({ type: ADHOC_RATES_ACTIONS.TOGGLE_LOADING });\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again!\", variant: \"error\" })\n }\n }).catch((e) => {\n dispatch({ type: ADHOC_RATES_ACTIONS.TOGGLE_LOADING });\n message.showToastMessage({ message: e.message || \"Something went wrong. Try again!\", variant: \"error\" })\n })\n}\n\nexport function updateRate(dispatch, message, type, formData) {\n dispatch({ type: ADHOC_RATES_ACTIONS.TOGGLE_LOADING });\n updateData[type](formData).then((res) => {\n if (res.success) {\n dispatch({ type: ADHOC_RATES_ACTIONS.UPDATE_RATE, response: { ...res.data, base: formData.get('base') } });\n message.showToastMessage({ message: \"Rate updated successfully\", variant: \"success\" });\n }\n else {\n dispatch({ type: ADHOC_RATES_ACTIONS.TOGGLE_LOADING });\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again!\", variant: \"error\" })\n }\n }).catch((e) => {\n dispatch({ type: ADHOC_RATES_ACTIONS.TOGGLE_LOADING });\n message.showToastMessage({ message: e.message || \"Something went wrong. Try again!\", variant: \"error\" })\n })\n}\n\nexport function deleteRate(dispatch, message, type, id) {\n dispatch({ type: ADHOC_RATES_ACTIONS.TOGGLE_LOADING });\n deleteData[type](id).then((res) => {\n if (res.success) {\n dispatch({ type: ADHOC_RATES_ACTIONS.REMOVE_RATE, response: id });\n message.showToastMessage({ message: \"Rate removed successfully\", variant: \"success\" });\n }\n else {\n dispatch({ type: ADHOC_RATES_ACTIONS.TOGGLE_LOADING });\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again!\", variant: \"error\" })\n }\n }).catch((e) => {\n dispatch({ type: ADHOC_RATES_ACTIONS.TOGGLE_LOADING });\n message.showToastMessage({ message: e.message || \"Something went wrong. Try again!\", variant: \"error\" })\n })\n}\n\n\nconst AdhocRatesAction = {\n getRates,\n setCurrentSelection,\n createRate,\n updateRate,\n setActionType,\n resetActions,\n deleteRate\n}\n\nexport default AdhocRatesAction;","import requestrApi from \"../common/api_client\";\n\n\nfunction createKits(formData) {\n return requestrApi({\n url: `/primary_parts`,\n method: 'POST',\n data: formData\n });\n}\n\nfunction getKItsPrimaryParts(params) {\n return requestrApi({\n url: `/kits/kit_primary_parts`,\n method: 'GET',\n params: params\n });\n}\n\nfunction mapKitPrimaryParts(params) {\n return requestrApi({\n url: `/kits/map_kit_primary_parts`,\n method: 'PUT',\n params: params\n });\n}\n\n\n//\nfunction NewKitsListing(params) {\n return requestrApi({\n url: `/kits`,\n method: 'GET',\n params\n });\n}\n//stock listing\n\nfunction NewStockListing(params) {\n return requestrApi({\n url: `/primary_parts/listing_non_kits`,\n method: 'GET',\n params\n });\n}\n// add quantity\n\nfunction AddNewparts(formData) {\n\n return requestrApi({\n url: `/kits/create_kit_order`,\n method: 'POST',\n data: formData\n });\n\n}\n//kitscontent listing\nconst KitsContentListing = (params) => {\n\n return requestrApi({\n url: `/kits/listing_kit_items`,\n method: 'GET',\n params\n });\n\n}\n\n\nconst updateKitsQuantity = (params) => {\n return requestrApi({\n url: `/kits/update_kit_item`,\n method: 'PUT',\n data: params\n });\n}\n\n\nconst deleteKitsItem = (params) => {\n return requestrApi({\n url: `kits/destroy_kit_item`,\n method: 'DELETE',\n data: params\n });\n\n}\n//Kits Order \n\nconst getKitsOrder = (params) => {\n return requestrApi({\n url: `/kit_orders/listing_orders`,\n method: 'GET',\n params\n });\n}\n\nfunction fetchDependencies() {\n return requestrApi({\n // url: '/parts/fetch_filter_dependencies',\n url: \"/primary_parts/fetch_dependencies\",\n method: \"GET\",\n });\n}\n\nfunction getKitsPrimeParts(params) {\n return requestrApi({\n url: \"/primary_parts/listing_kits\",\n method: \"GET\",\n params\n });\n}\n\nfunction createKitOrder(formData) {\n\n return requestrApi({\n url: `/kit_orders/create_order`,\n method: 'POST',\n data: formData\n });\n\n}\n\nfunction getKitsOrderLineItems(params) {\n return requestrApi({\n url: \"/kit_orders/listing_parts\",\n method: \"GET\",\n params\n });\n}\nfunction updateKitOrder(params) {\n\n return requestrApi({\n url: `/kit_orders/update_order`,\n method: 'PUT',\n params\n });\n\n}\n\nfunction deleteKitOrder(data) {\n return requestrApi({\n url:\"/kit_orders/delete_kit_order\",\n method:\"DELETE\",\n data\n })\n}\n\nconst KitsClientService = {\n createKits,\n getKItsPrimaryParts,\n mapKitPrimaryParts,\n NewKitsListing,\n NewStockListing,\n AddNewparts,\n KitsContentListing,\n updateKitsQuantity,\n deleteKitsItem,\n getKitsOrder,\n fetchDependencies,\n getKitsPrimeParts,\n createKitOrder,\n getKitsOrderLineItems,\n updateKitOrder,\n deleteKitOrder\n}\nexport default KitsClientService;\n","import BoxpDataService from \"lib/services/api/boxp_index\";\n\nexport const DATA_SERVICE_ACTIONS = {\n SET_DATA: 'set_current_data',\n TOGGLE_IN_PROGRESS: 'data_add_update_in_progress',\n CLEAR_DATA: 'clear_data'\n}\n\nfunction createData(dispatch, message, formData, section, key, cb, getList, handleClose, setNewData) {\n //debugger;\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n return BoxpDataService.BoxpCreateData(formData, section).then((res) => {\n if (res.success) {\n // dispatch({ type: DATA_SERVICE_ACTIONS.SET_DATA, payload: res, key: key });\n typeof cb === 'function' && cb(Date.now());\n typeof getList === 'function' && getList();\n typeof handleClose === 'function' && handleClose(res.company_approval);\n typeof setNewData === 'function' && setNewData(res.company_approval);\n return message.showToastMessage({ message: \"Added Successfully\", variant: \"success\" });\n }\n if (res.data) {\n typeof cb === 'function' && cb(res.data.id)\n }\n else if (res.errors) {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS, payload: false });\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: 'error' });\n }\n }).catch((e) => {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n message.showToastMessage({ message: e.message || \"Something went wrong\", variant: \"error\" });\n })\n}\n\nfunction updateData(dispatch, message, formData, id, section, key = 'data', cb = () => { }, errCb = () => {}) {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n return BoxpDataService.boxpUpdateData(formData, id, section).then((res) => {\n if (res.success) {\n dispatch({ type: DATA_SERVICE_ACTIONS.SET_DATA, payload: res, key: key });\n message.showToastMessage({ message: \"Updated successfully\", variant: \"success\" });\n typeof cb === 'function' && cb();\n return res\n }\n else {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n }\n }).catch((e) => {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n message.showToastMessage({ message: e.message || \"Something went wrong. Try again\", variant: 'error' });\n typeof errCb === 'function' && errCb();\n })\n}\n\nfunction deleteData(dispatch, message, id, data, section, cb = () => { }, params, getList) {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n console.log({ id, section, data })\n return BoxpDataService.deleteData(id, section, data, params).then((res) => {\n if (res.success) {\n dispatch({ type: DATA_SERVICE_ACTIONS.SET_DATA, payload: { data: { id: data.id || id } } });\n message.showToastMessage({ message: \"Removed successfully\", variant: \"success\" });\n typeof cb === 'function' && cb();\n typeof getList === 'function' && getList();\n // handleClose();\n }\n else {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n message.showToastMessage({ message: res.errors ? res.errors.join(', ') : \"Something went wrong. Try again\", variant: \"error\" });\n }\n }).catch((e) => {\n dispatch({ type: DATA_SERVICE_ACTIONS.TOGGLE_IN_PROGRESS });\n message.showToastMessage({ message: e.message || \"Something went wrong. Try again\", variant: 'error' });\n })\n}\n\nfunction clearData(dispatch) {\n dispatch({ type: DATA_SERVICE_ACTIONS.CLEAR_DATA });\n}\n\nconst BoxpDataServiceAction = {\n createData,\n updateData,\n clearData,\n deleteData\n}\nexport default BoxpDataServiceAction;","import React from \"react\"\n\n\n\nconst Invoicing = ({ fill }) =>\n(\n \n \n \n \n \n \n \n $$$\n \n)\n\nexport default Invoicing","import React,{useState,useEffect} from \"react\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport InputBase from \"@material-ui/core/InputBase\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport {ICON_COLOUR} from \"../lib/constants/style_constants\";\nimport Divider from \"@material-ui/core/Divider\";\nimport Button from \"@material-ui/core/Button\";\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\nimport Grow from '@material-ui/core/Grow';\nimport Paper from '@material-ui/core/Paper';\nimport Popper from '@material-ui/core/Popper';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport MenuList from '@material-ui/core/MenuList';\n\n\nconst useStyles = makeStyles(theme => ({\n wrapper:{\n backgroundColor: \"#fff\",\n border: \"1px solid #d5d5d5\",\n margin: \"1% 0\",\n display: 'flex',\n '& button':{\n marginRight:theme.spacing(2),\n width:'200px',\n '& .MuiButton-label':{\n justifyContent:'space-between',\n width:'150px',\n whiteSpace:'nowrap',\n textOverflow:'ellipsis',\n overflow:'hidden'\n }\n }\n },\n}));\n\nfunction SearchByCategory(props){\n const classes = useStyles();\n const anchorRef = React.useRef(null);\n const [open,setOpen] = useState(false);\n const {options,setSelectedOption,selectedOption,searchText,handleSearchText,placeholder} = props;\n\n function handleListKeyDown(event) {\n if (event.key === 'Tab') {\n event.preventDefault();\n setOpen(false);\n }\n }\n\n const handleSelect = (option) => {\n setSelectedOption(option);\n setOpen(false);\n }\n\n return (\n
\n {options && options.length > 0 && <> \n \n {({ TransitionProps, placement }) => (\n \n \n setOpen(false)}>\n \n {options.map(option => handleSelect(option)}>{option.label})}\n \n \n \n \n )}\n \n }\n handleSearchText(e.target.value)}\n startAdornment={}\n />\n
\n )\n}\n\nexport default SearchByCategory;","import React from \"react\";\n\nimport pdfLogo from \"../../assets/pdf.png\";\nimport jpgLogo from \"../../assets/jpg.png\";\n\nimport { BASE_API_URL_BOXR } from \"lib/constants\";\nimport { Typography, makeStyles } from \"@material-ui/core\";\nimport CancelIcon from \"@material-ui/icons/Cancel\";\nimport { CircularProgress } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n fileContainer: {\n // width: \"fit-content\",\n width: \"100%\",\n minHeight: \"159px\",\n border: `1px solid ${theme.palette.primary.main}`,\n borderRadius: \"15px\",\n display: \"flex\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n padding: \"10px\",\n },\n\n filePreviewContainer: {\n width: \"100px\",\n marginRight: \"30px\",\n position: \"relative\",\n },\n\n cancelIcon: {\n color: \"red\",\n position: \"absolute\",\n top: 0,\n right: 0,\n cursor: \"pointer\",\n },\n\n logo: {\n height: \"100%\",\n width: \"100%\",\n objectFit: \"cover\",\n },\n\n certDialog: {\n \"& .MuiDialog-paper\": {\n boxShadow: \"0px 3px 6px #00000029\",\n },\n },\n}));\n\nfunction FetchedFilePreview(props) {\n const { files, fileDeleteHandler, isLoading, selectedFileId } = props;\n\n const classes = useStyles();\n\n const renderItem = (fileId) => {\n if (fileDeleteHandler) {\n return isLoading && fileId === selectedFileId ? (\n \n ) : (\n {\n // e.stoppropagation();\n fileDeleteHandler(fileId);\n }}\n className={classes.cancelIcon}\n fontSize=\"medium\"\n />\n );\n }\n };\n\n return (\n
\n {files.length !== 0 ? (\n files.map((item) => {\n const fileType = item.filename.split(\".\")[1];\n\n let logo = pdfLogo;\n if (\n fileType === \"jpg\" ||\n fileType === \"jpeg\" ||\n fileType === \"png\" ||\n fileType === \"svg\"\n ) {\n logo = `${BASE_API_URL_BOXR}${item.url}`;\n }\n\n return (\n
\n
\n {renderItem(item.id)}\n window.open(`${BASE_API_URL_BOXR}${item.url}`)}\n >\n \"file-logo\"\n
\n \n {item.filename}\n \n
\n
\n );\n })\n ) : (\n

No files found

\n )}\n \n );\n}\n\nexport default FetchedFilePreview;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Box,\n ButtonGroup,\n Button,\n Typography\n} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport MROButton from \"components/buttons\";\nimport PlanningLineMaintenance from 'lib/services/api/planning/LineMaintenance/lineEventsandSeries';\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\n\nconst useStyles = makeStyles((theme) => ({\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"right\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n maxWidth: \"550px\",\n },\n },\n title: {\n \"& h2\": {\n color: theme.palette.primary.main,\n },\n\n \"& span\": {\n color: theme.palette.primary.main,\n fontSize: 22,\n textAlign: 'center'\n },\n },\n card: {\n padding: \"0 25px\",\n },\n}));\n\n\nfunction DeleteEvent(props) {\n const classes = useStyles();\n const { handleClose, eventId, onClose } = props\n const message = useContext(ToastMessageContext)\n const [loading, setLoading] = useState(false)\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const params = {\n event_id: eventId\n }\n setLoading(true)\n await PlanningLineMaintenance.deleteLineEvents(params).then((res) => {\n message.showToastMessage({\n message: \"Deleted successfully !\",\n variant: \"success\",\n });\n handleClose()\n }).catch((res) => {\n handleClose()\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n\n return (\n\n
\n \n \n Confirm - Delete Individual LM Event?\n \n \n\n This action cannot be undone\n \n \n \n Cancel\n \n \n Continue\n \n \n \n\n
\n )\n}\n\nexport default DeleteEvent","import React, { useEffect, useState } from \"react\";\nimport {\n KeyboardDatePicker,\n MuiPickersUtilsProvider,\n} from \"@material-ui/pickers\";\nimport MomentUtils from \"@date-io/moment\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport moment from \"moment\";\nimport MROTextField from \"./TextField\";\nimport EventIcon from \"@material-ui/icons/Event\";\nimport { InputAdornment } from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& input::placeholder\": {\n textTransform: 'unset'\n },\n margin: theme.spacing(1, 0),\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderColor: theme.palette.primary.main,\n borderWidth: \"1px !important\",\n },\n \"&:hover fieldset\": {\n borderColor: theme.palette.primary.light,\n // borderWidth: '1px !important'\n },\n \"&.Mui-error:hover fieldset\": {\n borderColor: \"#f44336 !important\",\n },\n \"& .MuiOutlinedInput-input\": {\n padding: \"15px\",\n },\n },\n \"& label\": {\n color: theme.palette.primary.main,\n },\n },\n}));\n\nexport const checkFromat = (date) =>\n /^\\d{4}\\-(0?[1-9]|1[012])\\-(0?[1-9]|[12][0-9]|3[01])$/.test(date);\n\nfunction DateField(props) {\n const classes = useStyles();\n const [selectedDate, setSelectedDate] = useState(null);\n const {\n label,\n name,\n defaultValue,\n variant,\n onChange,\n error,\n helperText,\n disabled,\n formatProps,\n required\n } = props;\n const outputFormat = \"DD/MM/YYYY\";\n useEffect(() => {\n setSelectedDate(\n defaultValue\n ? moment(\n defaultValue,\n checkFromat(defaultValue) ? \"YYYY-MM-DD\" : \"DD/MM/YYYY\"\n ).format(\"lll\")\n : \"\"\n );\n }, [defaultValue]);\n\n if (disabled) {\n return (\n \n \n \n ),\n }}\n />\n );\n }\n\n return (\n \n {\n setSelectedDate(date);\n onChange && onChange(moment(date).format(formatProps ?? \"DD/MM/YYYY\"));\n }}\n />\n \n \n );\n}\n\nexport default DateField;\n","module.exports = __webpack_public_path__ + \"static/media/verified.0cf61a0c.svg\";","module.exports = __webpack_public_path__ + \"static/media/verifiedAmber.0d6e8fd8.svg\";","module.exports = __webpack_public_path__ + \"static/media/verifiedGray.bd2394ba.svg\";","module.exports = __webpack_public_path__ + \"static/media/mov (1).512f47eb.svg\";","module.exports = __webpack_public_path__ + \"static/media/doc (1).bc5f9db1.svg\";","module.exports = __webpack_public_path__ + \"static/media/line.a531e603.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAABHNCSVQICAgIfAhkiAAAAqhJREFUSEvFVkty2kAQ7R7J2UacIOQG3CB4l0pZMN6lDAv5BMEnCDcIOUG0wK7sLBCVyi7kBOEGIScw3rkAqdMtPGQ0fKtSTtggmJ73ul//hHDk56zZmiHgc8t8lg76lWOu4zFGYhM228Sga3v39z6cDZI3+qLmEd5mSOdfkptJGLY1KGoSwPlocB0YsFVkcAs5JWl6M3Dv2aQlEjFUhAkQxoDU4cM7fv4FlMee9yxJknhmLmsdBVk214AqYtsXABgQwUd+jnIkLQ4a2zWJITAGEgF5MBsl/fEhSc90u44ZBGnaT1wcubsmOWu0hTkZDfvdQ6CHzhlLMDRj1Uokjx6MMcdIPDoEtOu8UEBRzIrUjWSlnHAyp4AYuRKtHFDv2VgbcNGfPe24ZCIdEMVcJNWNnBRVhNBJh/26fTEMLyJS2MOcOib5kvQ5zAsQBSpwnQob7TEQ9Iwif+q+0YrZgzGXY2xIjIR26LYDQvYAD8HX5PPUdYwVqafD66jIielkArr38aRql2nYaHE5F32wJt4mj0TJgGspX+u3VZ+8yeOEmOG+zpUzD/2KTeySFP1Cyzt7GpSiYoyDJLsuu0B/RXJMJEtaTO2RsxGJNV1nDPjSlkaaaqmWsZvYLUnWbk5OyP/BdoHkem91CZiUtuf54215WQ1F9S3D/NSeVVL2peoyXq06Fd6NBv3TsqcrkiUsaz74EyGTZC/yRVMh9iDPr9zq29knAryr44uIpJwRm/JcSEAwzhR17QhM5ITQNXOr6BO78SR0yOHyyWZXEQXvkX8xhZMn3Scim7UZP/GGu+K/eBPiT+Kpmqnsu13KMjq83HuFPLU5SRW2r7ISH/j7cudmdIZiKSK+qDmZemPHE8iq5tm2fSMazP/ztuIOQPPbfe+SMt41SlyM3wr47tuyJZSgAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAZCAYAAADAHFVeAAAABHNCSVQICAgIfAhkiAAAAq5JREFUSEutlo1x2kAQhe/UQOgAXEFIBSEVhFRg0QHuAFdgOrBSgUkFkSswHUA6oIJT3rd3EkIgD4zQzI04/ezbt/v2Ie8uHFWWFbr8eOneVddCePLOrbvP6tr5UXlfuqpa6WZ58b5zU93b9iS64roPwc7t42qwyrmJ8/5VLz9o7bXYv7kQnhXkUAdVVYaBJSDYLhV40wR2binA3FfV9H5g3m8EVLSBCG5JZNlS7PZ1j4Yz8/6g7Eft+icRHQRUiN1a92eWwOAyer9XsImEs0U4YjNPIsjFbiSwzT3BACFzC6y1ldryVMo54M1+MDPncgHMlb0xagkE8A8l8qsehcFlTL1YG7uqeknSnwpoof1aQMXd1NhiMlPJAARoizgExMwd2X5WRjU4V4Bx83QIvxWo+MxBOuDfbR8CjvJuo6DjooOoxsJzz/ZCFAF73KHU+aBr9GukMy7BYPMsvXrVek8l5W2eoac7ux7Z/zxSrv54wJSF2ZY1F8AIVGdb1nakLLiHg+xJouuPaQwKA5Z/Al77K357DtZTgpQMTj5SySjVpM+M7dmOmd8OFmdsZyWKhozsF20jrss2HCx6YS5mlLY0y6qqr1o/uoA3g2G0XWlbiaJAcBUEQR9zen3yV3NlGcfJXFe0L1mTybkpEYyiAcMMQJSHuGqH+YI5a88/tomt6ZlenFkgSqSSmAiQPKrLsg+d11LskzGKCzZLM+UISDJ7+x3vM3MX1QiD4xECImC94XmWbdyP9ZssH1JwSgkb5hAWayU2IRADLSa8czpnJ0Bp0/pnflEAMgSAoLAsdZ6rGgtjEGfyr9Y3LTOBvpGwYe4BpA/MFWCPxoIewoASxnLt0rXej6N27F6w+qHkGgDRR3rFR89M6x/lrAXQl/RNYA0oUmfO4ife2TfhNWD/AVh75tLrtey4AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAZCAYAAAAv3j5gAAAABHNCSVQICAgIfAhkiAAABBRJREFUSEuNVlFy2lYUvfdJ9Dd4B2QFISsw+eu0xlH/OjFTawdRVmDSFeAVmExxpn+RLbfTv+AVlKygZAUh30jv9pyHxBCCwZphsPTkd+4995zzUNm6fkpedZ25CzF5KmodEf0oKpd3+WS6/e6u+5PTwTB28SjPx4vNdW1ukiRtl758jQcvlq5M/8n/nHPtx+TXTsvHY4D+Z6bh2b5L1VK891VNhkUxyZt310D907Pcm0z/Kq5Huzbqnw5CRyZysDN2VPklipMvkbbesLsARLoir1lxe50+VG3TWXE76R3qqln/uX+WOSevAfY8APX7r1JT17m7nQzJMR4l+EzR/rSK/Nx5l2ItO3l5Nlfvzg8BFcUf9wFENamcz/7O389qoEFiKl01PxfVHjsD4KyU6reWuN9NdE5QUJEdAjG1bhCQyWdQOGxEEYBOkkEPCxcq1mGbXOSzUsp5q3Kgyi0MFHC9uLl+ug+Mszano22VrjrioE1G6IrS7C2rZdqIghRopDP1lkIsM1UlxQc72y5GV0JwIw6ZgJGLk6qqnjUvVlH11Ylri5ceZ8h39gmChbWi1vg7H5Ei8P/Bm2WKGZRa/RJbNFPTGaTcRsukbahm5+h6Yapd9UrB7LzMedrjCLNON+nTMB8viZnNQUtaujJp+WiIwRtE0FHv33nRtlPp4X52SAxcX/mohFnt38i13gYf1UArWvqDBAmQYDGDELpe/IKf2Mc5C2jS4jFgQWS0itrLWFsv6hlpVjkbRaYfIM3O5kYm9tkDnF54LEAQGIqmuMRJRgpX8oZnGBeYwZT3zDsOnPlXWcnn948FaXyEmSqYSb/xUR2oFMNF2BAboxo0I0f4oomPMbAh6L08BEgfiel4M1Dr4pE3rJzDM48g1B6U9YQVUQzg2OChS0RUF6DtfXnIDbnXtrTXQPQGJUwuG1DAPFEAoZNLCqWmmNJdNPe7umNuRtEP+Xc+qgO1u+l2qgXtYG44W+o4WZ9XGDDAPwGE8/wCv4W5NlfwESjxzqebAlJyunRVtindIEuHjZAG/I4lntW+mDNgIfVxOAzFFvX8vpldsw7Df0QDbwN1jP67m+sOO6simbEKUslTFv7BaWmLkHVIj+JmclR77Rh2eKeV9nDePGsOt20qUfAIrBwHHzXZ1XTBOa2frVKjB7n3EFG5RTZlLjYBTHp438x3E2h1ItgYcZVRgTuBmi5DDiK1aWLSgI1vcAiOcW5diLo3PNSc6RVnwkwMzsB5hO6v8D/PGdBrH+3raK1AKJLVrSheHZKcQ1RFiTo5JzXNhg/99ggzQhlXiANQZHP+0ql/yWDYqAvKA1U5/sjQFbwmnwgSW4yqsY7QLYr34V1eD/oocPnISyvfEeeuEBkzFHfP4307AR7a6n9hIaNoZ3JdKAAAAABJRU5ErkJggg==\"","var _path, _path2, _path3;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgAccounts = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"noun_accounting_2664946\",\n width: 26.414,\n height: 33.176,\n viewBox: \"0 0 26.414 33.176\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19191\",\n \"data-name\": \"Path 19191\",\n d: \"M40.362,17.633V13.024A1.024,1.024,0,0,0,39.338,12H26.024A1.024,1.024,0,0,0,25,13.024v4.609a1.024,1.024,0,0,0,1.024,1.024H39.338A1.024,1.024,0,0,0,40.362,17.633ZM26.024,13.024H39.338v4.609H26.024Z\",\n transform: \"translate(-21.928 -8.928)\",\n fill: \"#fff\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19194\",\n \"data-name\": \"Path 19194\",\n d: \"M33.768,31.768a.375.375,0,0,1-.378.371H24.422V24.882h1.042a2.59,2.59,0,0,1,.236-1.034v0h-1.28V16.578h4.66l.482-1.037H14.038V1.408a.375.375,0,0,1,.378-.371H33.39a.375.375,0,0,1,.378.371V7.218a2.469,2.469,0,0,1,1.038-.44V1.408A1.413,1.413,0,0,0,33.39,0H14.416A1.413,1.413,0,0,0,13,1.408V31.768a1.413,1.413,0,0,0,1.416,1.408H33.39a1.413,1.413,0,0,0,1.416-1.408V24.657l-1.038,2.232ZM23.384,16.578v7.267H14.038V16.578Zm-9.345,15.19V24.882h9.345v7.257H14.416A.375.375,0,0,1,14.038,31.768Z\",\n transform: \"translate(-13 0)\",\n fill: \"#fff\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19195\",\n \"data-name\": \"Path 19195\",\n d: \"M78.791,33.636l-3.336-1.548A.879.879,0,0,0,74.3,32.5L67.094,48.017a1.009,1.009,0,0,0-.094.434l.048,5.1a.5.5,0,0,0,.177.434c.166.1.371-.011.5-.118l3.99-3.217A1.019,1.019,0,0,0,72,50.287l7.2-15.51a.853.853,0,0,0-.417-1.141ZM68.029,49.1l2.461,1.231-2.43,1.959Zm3.19.45-3.008-1.5,5.426-11.683L76.7,37.75Zm5.909-12.724L74.069,35.43l1.091-2.35,3.048,1.415Z\",\n transform: \"translate(-52.875 -23.409)\",\n fill: \"#fff\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgAccounts, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Accounts.2cabba6c.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgAdmin = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21.106,\n height: 21.234,\n viewBox: \"0 0 21.106 21.234\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"noun_person_3083850_1_\",\n \"data-name\": \"noun_person_3083850 (1)\",\n transform: \"translate(-21 -17.987)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19196\",\n \"data-name\": \"Path 19196\",\n d: \"M34.772,29.177a6.063,6.063,0,1,0-6.473,0A10.571,10.571,0,0,0,21,39.221h1.453a9.1,9.1,0,0,1,18.2,0h1.453a10.571,10.571,0,0,0-7.334-10.044Zm-3.237-9.732a4.614,4.614,0,1,1-4.61,4.61,4.614,4.614,0,0,1,4.61-4.61Z\",\n fill: \"#fff\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgAdmin, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Admin.fdbfe99c.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgCompliance = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Group_5102\",\n \"data-name\": \"Group 5102\",\n width: 25.561,\n height: 34.324,\n viewBox: \"0 0 25.561 34.324\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"noun_Check_1141128\",\n transform: \"translate(0 0)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5064\",\n \"data-name\": \"Group 5064\",\n transform: \"translate(0)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5053\",\n \"data-name\": \"Group 5053\",\n transform: \"translate(0 4.829)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19178\",\n \"data-name\": \"Path 19178\",\n d: \"M32.235,36.995H10.326A1.794,1.794,0,0,1,8.5,35.239V9.256A1.794,1.794,0,0,1,10.326,7.5h5.112v.7H10.326a1.076,1.076,0,0,0-1.1,1.053V35.239a1.076,1.076,0,0,0,1.1,1.053H32.235a1.076,1.076,0,0,0,1.1-1.053V9.256a1.076,1.076,0,0,0-1.1-1.053H27.108V7.5h5.127a1.794,1.794,0,0,1,1.826,1.756V35.239A1.794,1.794,0,0,1,32.235,36.995Z\",\n transform: \"translate(-8.5 -7.5)\",\n fill: \"#fff\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5054\",\n \"data-name\": \"Group 5054\",\n transform: \"translate(4.005 11.749)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19179\",\n \"data-name\": \"Path 19179\",\n d: \"M13.882,19.841,12.646,18.6l.376-.376.892.892,3.006-2.5.341.408Z\",\n transform: \"translate(-12.646 -16.616)\",\n fill: \"#fff\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5066\",\n \"data-name\": \"Group 5066\",\n transform: \"translate(4.005 17.544)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19179-2\",\n \"data-name\": \"Path 19179\",\n d: \"M13.882,19.841,12.646,18.6l.376-.376.892.892,3.006-2.5.341.408Z\",\n transform: \"translate(-12.646 -16.616)\",\n fill: \"#fff\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5067\",\n \"data-name\": \"Group 5067\",\n transform: \"translate(4.005 24.305)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19179-3\",\n \"data-name\": \"Path 19179\",\n d: \"M13.882,19.841,12.646,18.6l.376-.376.892.892,3.006-2.5.341.408Z\",\n transform: \"translate(-12.646 -16.616)\",\n fill: \"#fff\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5060\",\n \"data-name\": \"Group 5060\",\n transform: \"translate(10.141 13.522)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle_2143\",\n \"data-name\": \"Rectangle 2143\",\n width: 12.556,\n height: 0.483,\n rx: 0.241,\n transform: \"translate(0 0)\",\n fill: \"#fff\",\n stroke: \"#fff\",\n strokeWidth: 0.1\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5061\",\n \"data-name\": \"Group 5061\",\n transform: \"translate(10.141 19.317)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle_2144\",\n \"data-name\": \"Rectangle 2144\",\n width: 12.556,\n height: 0.483,\n rx: 0.241,\n transform: \"translate(0 0)\",\n fill: \"#fff\",\n stroke: \"#fff\",\n strokeWidth: 0.1\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5068\",\n \"data-name\": \"Group 5068\",\n transform: \"translate(10.141 26.078)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle_2144-2\",\n \"data-name\": \"Rectangle 2144\",\n width: 12.556,\n height: 0.483,\n rx: 0.241,\n transform: \"translate(0 0)\",\n fill: \"#fff\",\n stroke: \"#fff\",\n strokeWidth: 0.1\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5063\",\n \"data-name\": \"Group 5063\",\n transform: \"translate(6.383)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19182\",\n \"data-name\": \"Path 19182\",\n d: \"M30.364,9.059H17.5V5.779a1.86,1.86,0,0,1,1.892-1.822h2.147a.826.826,0,0,0,.713-.473,1.927,1.927,0,0,1,3.361,0,.826.826,0,0,0,.713.473h2.147a1.86,1.86,0,0,1,1.892,1.822ZM18.257,8.33H29.608V5.779a1.116,1.116,0,0,0-1.135-1.093H26.326a1.572,1.572,0,0,1-1.385-.866,1.156,1.156,0,0,0-2.017,0,1.572,1.572,0,0,1-1.385.866H19.392a1.116,1.116,0,0,0-1.135,1.093Z\",\n transform: \"translate(-17.5 -2.5)\",\n fill: \"#fff\"\n }))))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgCompliance, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Compliance.bb0ce5a0.svg\";\nexport { ForwardRef as ReactComponent };","var _image;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgCalendar = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 27,\n height: 27,\n viewBox: \"0 0 27 27\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _image || (_image = /*#__PURE__*/React.createElement(\"image\", {\n id: \"calendar\",\n width: 27,\n height: 27,\n xlinkHref: \"data:image/png;base64,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\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgCalendar, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Calendar.c8dd5537.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgProcurement = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 30.561,\n height: 40.324,\n viewBox: \"0 0 512.000000 512.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,512.000000) scale(0.100000,-0.100000)\",\n fill: \"#ffffff\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3775 5105 c-211 -33 -361 -97 -532 -223 -261 -195 -431 -501 -462 -829 -67 -727 545 -1339 1272 -1272 814 76 1303 941 947 1675 -223 460 -729 728 -1225 649z m350 -217 c77 -13 162 -42 250 -86 98 -48 149 -85 234 -166 216 -209 320 -487 290 -783 -41 -408 -326 -737 -729 -839 -59 -15 -108 -19 -235 -18 -144 1 -169 4 -250 28 -322 98 -563 339 -661 662 -24 80 -27 105 -28 249 -1 127 3 176 18 235 70 276 241 494 489 625 188 99 398 131 622 93z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4535 4461 c-16 -10 -203 -193 -415 -405 l-384 -386 -192 190 c-185 184 -192 190 -232 190 -79 0 -133 -80 -99 -146 9 -16 116 -129 239 -252 225 -224 250 -243 308 -234 17 2 166 144 478 455 l452 452 0 43 c0 83 -88 137 -155 93z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41 4664 c-38 -32 -49 -80 -27 -123 31 -59 45 -61 361 -61 157 0 285 -1 285 -3 0 -37 536 -2662 553 -2709 38 -105 84 -175 177 -268 70 -71 102 -94 180 -133 179 -89 48 -81 1518 -85 1437 -3 1344 -7 1378 59 20 40 12 88 -22 120 l-26 24 -1296 5 c-1148 5 -1303 8 -1348 22 -177 55 -322 194 -369 355 -15 50 -55 236 -55 254 0 5 660 10 1478 12 1332 2 1482 4 1523 19 198 70 328 205 374 390 10 37 15 79 11 92 -11 44 -48 77 -93 83 -39 5 -46 2 -77 -29 -22 -22 -37 -48 -41 -74 -20 -110 -99 -205 -201 -244 -54 -20 -71 -20 -1538 -20 l-1483 0 -147 733 c-80 402 -146 738 -146 745 0 9 153 12 730 12 805 0 773 -2 806 61 22 43 11 91 -27 123 l-31 26 -762 0 -763 0 -52 263 c-28 144 -59 281 -67 304 -27 74 -19 73 -418 73 l-354 0 -31 -26z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1725 1059 c-90 -13 -212 -77 -283 -149 -101 -100 -149 -205 -159 -345 -10 -154 43 -291 157 -405 114 -114 251 -167 405 -157 141 10 245 58 347 161 174 173 202 455 67 659 -40 61 -139 152 -198 181 -100 51 -227 72 -336 55z m230 -241 c60 -31 114 -86 146 -148 34 -65 34 -204 1 -272 -27 -55 -91 -122 -142 -148 -84 -43 -205 -43 -289 -1 -181 93 -232 332 -103 486 33 40 92 82 139 100 61 23 186 15 248 -17z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3885 1063 c-52 -7 -137 -34 -186 -59 -59 -29 -158 -120 -198 -181 -135 -204 -107 -486 67 -659 102 -103 206 -151 347 -161 154 -10 291 43 405 157 114 114 167 251 157 405 -14 197 -123 358 -300 445 -100 49 -195 66 -292 53z m197 -241 c55 -27 122 -91 148 -142 43 -84 43 -205 1 -289 -80 -156 -276 -220 -431 -141 -51 26 -115 93 -142 148 -33 68 -33 207 1 272 42 81 115 143 201 171 49 16 172 5 222 -19z\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgProcurement, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Procurement.aca44197.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgDashboard = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"noun_dashboard_3052999\",\n width: 23.177,\n height: 23.177,\n viewBox: \"0 0 23.177 23.177\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5514\",\n \"data-name\": \"Group 5514\",\n transform: \"translate(0 0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19631\",\n \"data-name\": \"Path 19631\",\n d: \"M2.894,2.117A2.906,2.906,0,0,0,0,5.01V9.837a2.914,2.914,0,0,0,2.894,2.9H7.728a2.914,2.914,0,0,0,2.894-2.9V5.01A2.906,2.906,0,0,0,7.728,2.117Zm12.555,0A2.906,2.906,0,0,0,12.555,5.01V9.837a2.914,2.914,0,0,0,2.894,2.9h4.835a2.914,2.914,0,0,0,2.894-2.9V5.01a2.906,2.906,0,0,0-2.894-2.894ZM2.894,4.048H7.728a.937.937,0,0,1,.962.962V9.837a.943.943,0,0,1-.962.97H2.894a.943.943,0,0,1-.962-.97V5.01A.937.937,0,0,1,2.894,4.048Zm12.555,0h4.835a.937.937,0,0,1,.962.962V9.837a.943.943,0,0,1-.962.97H15.449a.943.943,0,0,1-.962-.97V5.01A.937.937,0,0,1,15.449,4.048ZM2.894,14.672A2.906,2.906,0,0,0,0,17.566V22.4a2.906,2.906,0,0,0,2.894,2.894H7.728A2.906,2.906,0,0,0,10.622,22.4V17.566a2.906,2.906,0,0,0-2.894-2.894Zm12.555,0a2.906,2.906,0,0,0-2.894,2.894V22.4a2.906,2.906,0,0,0,2.894,2.894h4.835A2.906,2.906,0,0,0,23.177,22.4V17.566a2.906,2.906,0,0,0-2.894-2.894ZM2.894,16.6H7.728a.937.937,0,0,1,.962.962V22.4a.937.937,0,0,1-.962.962H2.894a.937.937,0,0,1-.962-.962V17.566A.937.937,0,0,1,2.894,16.6Zm12.555,0h4.835a.937.937,0,0,1,.962.962V22.4a.937.937,0,0,1-.962.962H15.449a.937.937,0,0,1-.962-.962V17.566A.937.937,0,0,1,15.449,16.6Z\",\n transform: \"translate(0 -2.117)\",\n fill: \"#fff\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgDashboard, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Dashboard.0d8c80ac.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgCommercial = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 31.345,\n height: 29.255,\n viewBox: \"0 0 31.345 29.255\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Outline\",\n opacity: 0.873\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19679\",\n \"data-name\": \"Path 19679\",\n d: \"M32.822,16.105H28.643a.522.522,0,0,0-.522.522v.522H27.076V2.522A.522.522,0,0,0,26.553,2H8.791a.522.522,0,0,0-.522.522V16.628H7.224v-.522a.522.522,0,0,0-.522-.522H2.522A.522.522,0,0,0,2,16.105v9.4a.522.522,0,0,0,.522.522H6.7a.522.522,0,0,0,.522-.522v-.522h.627a1.548,1.548,0,0,0-.1.522,1.567,1.567,0,0,0,1.567,1.567,1.567,1.567,0,0,0,1.567,1.567h.172a1.588,1.588,0,0,0,.427-.062,1.564,1.564,0,0,0,1.49,1.107h.172a1.6,1.6,0,0,0,.355-.044c0,.015-.005.029-.005.044a1.567,1.567,0,0,0,1.567,1.567h.172a1.536,1.536,0,0,0,.94-.313l1.2-.9a1.574,1.574,0,0,0,.69.168h.131a1.567,1.567,0,0,0,1.5-1.113,1.573,1.573,0,0,0,.459.068h.136a1.563,1.563,0,0,0,1.494-1.116,1.559,1.559,0,0,0,.465.072h.131a1.526,1.526,0,0,0,1.1-.456,1.506,1.506,0,0,0,.188-.221,1.579,1.579,0,0,0,.679.157h.122a1.567,1.567,0,0,0,1.567-1.567V25.96a1.515,1.515,0,0,0-.025-.275l.348-.7h1.767v1.045a.522.522,0,0,0,.522.522h4.179a.522.522,0,0,0,.522-.522v-9.4A.522.522,0,0,0,32.822,16.105ZM9.314,3.045H26.031v13.8A4.035,4.035,0,0,0,23.1,15.583H20.937a4.01,4.01,0,0,0-2.429.81l-1.306.981L17.12,17.3a4.675,4.675,0,0,0-3.13-1.194H12.511a2.978,2.978,0,0,0-1.341.316,1.938,1.938,0,0,1-.874.206H9.314ZM6.179,24.986H3.045V16.628H6.179Zm2.612.522A.532.532,0,0,1,9,25.091l1.4-1.045a.5.5,0,0,1,.31-.1h.172a.522.522,0,0,1,.522.522.541.541,0,0,1-.209.418L9.8,25.93a.5.5,0,0,1-.309.1H9.314A.522.522,0,0,1,8.791,25.509Zm2.262,2.09h-.172a.522.522,0,0,1-.522-.522.53.53,0,0,1,.209-.418l1.4-1.048a.5.5,0,0,1,.309-.1h.172a.516.516,0,0,1,.5.673l-.916.685a1.547,1.547,0,0,0-.366.4l-.3.228a.5.5,0,0,1-.307.1Zm2.09,1.045h-.172a.522.522,0,0,1-.522-.522.512.512,0,0,1,.025-.15l.916-.686a1.541,1.541,0,0,0,.362-.4l.3-.222.021-.017a.507.507,0,0,1,.3-.092h.172a.522.522,0,0,1,.522.522.516.516,0,0,1-.094.3.6.6,0,0,1-.114.12l-1.4,1.048A.5.5,0,0,1,13.143,28.643Zm3.8.418-1.4,1.048a.5.5,0,0,1-.309.1H15.06a.522.522,0,0,1-.522-.522.53.53,0,0,1,.209-.418l1.4-1.048a.5.5,0,0,1,.309-.1h.172a.522.522,0,0,1,.356.906s-.04.031-.042.034Zm1.253.1h-.1a1.519,1.519,0,0,0-.194-1.425l.768.659a.575.575,0,0,1,.044.243A.522.522,0,0,1,18.195,29.165Zm6.791-3.134a.522.522,0,0,1-.522.522h-.12A.519.519,0,0,1,24,26.423l-.1-.1a.525.525,0,0,0-.124-.164l-4.7-4.179a.522.522,0,1,0-.7.778l4.472,4.023a.547.547,0,0,1-.1.138.5.5,0,0,1-.362.153h-.131a.558.558,0,0,1-.347-.129l-.33-.285a1.452,1.452,0,0,0-.261-.3l-3.291-2.821a.522.522,0,1,0-.684.79l3.424,3.005a.549.549,0,0,1,.052.258.522.522,0,0,1-.522.522h-.136a.518.518,0,0,1-.341-.127l-.324-.275a1.491,1.491,0,0,0-.286-.313l-2.758-2.3a.523.523,0,1,0-.674.8l1.571,1.348a1.552,1.552,0,0,0-.709-.177h-.172a1.588,1.588,0,0,0-.354.044c0-.015,0-.03,0-.044a1.567,1.567,0,0,0-1.567-1.567h-.172a1.59,1.59,0,0,0-.427.062,1.567,1.567,0,0,0-1.49-1.107A1.567,1.567,0,0,0,10.881,22.9h-.172a1.533,1.533,0,0,0-.94.313l-.977.731H7.224V17.672H10.3a2.978,2.978,0,0,0,1.341-.316,1.938,1.938,0,0,1,.874-.206h1.478a3.63,3.63,0,0,1,2.355.866l-.657.493a1.567,1.567,0,0,0,.94,2.821H16.9a1.553,1.553,0,0,0,.7-.165l1.459-.731,4.945,4.419.525.47.31.285.01.009.014.013a.522.522,0,0,1,.121.329Zm1.045-2.09a.522.522,0,0,0-.47.289l-.209.424-.039-.035-5.72-5.242a.522.522,0,0,0-.586-.083l-1.871.938a.516.516,0,0,1-.231.052h-.277a.522.522,0,0,1-.522-.522.53.53,0,0,1,.209-.418l2.821-2.117a2.978,2.978,0,0,1,1.8-.6H23.1a3,3,0,0,1,2.5,1.335.522.522,0,0,0,.435.232h2.09v5.747ZM32.3,25.509H29.165V17.15H32.3Z\",\n transform: \"translate(-2 -2)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19680\",\n \"data-name\": \"Path 19680\",\n d: \"M27.224,16.448A5.224,5.224,0,1,0,22,11.224a5.224,5.224,0,0,0,5.224,5.224Zm0-9.4a4.179,4.179,0,1,1-4.179,4.179A4.179,4.179,0,0,1,27.224,7.045Z\",\n transform: \"translate(-11.552 -3.91)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19681\",\n \"data-name\": \"Path 19681\",\n d: \"M28.8,16.319a.522.522,0,0,0,.369-.153l3.135-3.135-.739-.739-2.814,2.814-1.727-1.3-.627.836,2.09,1.567a.519.519,0,0,0,.313.1Z\",\n transform: \"translate(-13.653 -6.916)\",\n fill: \"#fff\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgCommercial, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Commercial.c933edcc.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgInfo = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 27.543,\n height: 27.543,\n viewBox: \"0 0 27.543 27.543\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5646\",\n \"data-name\": \"Group 5646\",\n transform: \"translate(-46 -600.457)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19188\",\n \"data-name\": \"Path 19188\",\n d: \"M48.623,40.1a.523.523,0,0,0-.523.523V49.3a.523.523,0,0,0,.523.523.506.506,0,0,0,.523-.523V40.623A.542.542,0,0,0,48.623,40.1Z\",\n transform: \"translate(10.765 571.402)\",\n fill: \"#fff\",\n opacity: 0.75\n }), /*#__PURE__*/React.createElement(\"ellipse\", {\n id: \"Ellipse_1\",\n \"data-name\": \"Ellipse 1\",\n cx: 0.881,\n cy: 0.881,\n rx: 0.881,\n ry: 0.881,\n transform: \"translate(58.6 607.948)\",\n fill: \"#fff\",\n opacity: 0.75\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19187\",\n \"data-name\": \"Path 19187\",\n d: \"M13.772,0A13.772,13.772,0,1,0,27.543,13.772,13.777,13.777,0,0,0,13.772,0Zm0,26.524A12.753,12.753,0,1,1,26.524,13.772,12.778,12.778,0,0,1,13.772,26.524Z\",\n transform: \"translate(46 600.457)\",\n fill: \"#fff\",\n opacity: 0.75\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgInfo, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Info.5d85ab51.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgShield = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 29.229,\n height: 34.324,\n viewBox: \"0 0 29.229 34.324\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"shield\",\n opacity: 0.75\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_20431\",\n \"data-name\": \"Path 20431\",\n d: \"M14.615,34.324a.666.666,0,0,1-.127-.012A17.86,17.86,0,0,1,0,16.773V5.039A.67.67,0,0,1,.47,4.4L14.393.038A.727.727,0,0,1,14.615,0h0a.67.67,0,0,1,.221.038L28.759,4.4a.671.671,0,0,1,.47.64V16.773A17.861,17.861,0,0,1,14.741,34.312.666.666,0,0,1,14.615,34.324ZM1.341,5.532V16.773a16.542,16.542,0,0,0,13.274,16.2,16.542,16.542,0,0,0,13.274-16.2V5.532L14.615,1.373Zm0,0\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_20432\",\n \"data-name\": \"Path 20432\",\n d: \"M65.7,82.844a.593.593,0,0,1-.145-.018,12.647,12.647,0,0,1-6.872-4.54A13.036,13.036,0,0,1,56,70.372V62.206a.609.609,0,0,1,.42-.582l9.106-2.9a.59.59,0,0,1,.358,0l9.106,2.9a.609.609,0,0,1,.42.582v8.166a13.039,13.039,0,0,1-1.467,6,.594.594,0,0,1-.81.253.616.616,0,0,1-.249-.825,11.793,11.793,0,0,0,1.327-5.43V62.654L65.7,59.94,57.2,62.654v7.718A11.56,11.56,0,0,0,65.7,81.6a11.217,11.217,0,0,0,3.851-1.874.592.592,0,0,1,.838.129.617.617,0,0,1-.127.853,12.4,12.4,0,0,1-4.417,2.114A.592.592,0,0,1,65.7,82.844Zm0,0\",\n transform: \"translate(-51.09 -53.546)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_20433\",\n \"data-name\": \"Path 20433\",\n d: \"M128.088,184.683a.675.675,0,0,1-.479-.2l-4.539-4.539a.678.678,0,0,1,0-.959l2.3-2.3a.678.678,0,0,1,.959,0l1.759,1.759,4.221-4.222a.678.678,0,0,1,.959,0l2.3,2.3a.678.678,0,0,1,0,.959l-7,7A.676.676,0,0,1,128.088,184.683Zm-3.581-5.217,3.581,3.58L134.131,177l-1.342-1.342-4.221,4.222a.678.678,0,0,1-.959,0l-1.759-1.759Zm0,0\",\n transform: \"translate(-114.705 -162.192)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_20434\",\n \"data-name\": \"Path 20434\",\n d: \"M312.1,372.855a.877.877,0,1,1,.62-.257A.881.881,0,0,1,312.1,372.855Zm0,0\",\n transform: \"translate(-290.664 -346.534)\",\n fill: \"#fff\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgShield, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/shield.ff21a908.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgMessaging = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Group_5103\",\n \"data-name\": \"Group 5103\",\n width: 34.687,\n height: 28.563,\n viewBox: \"0 0 34.687 28.563\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19183\",\n \"data-name\": \"Path 19183\",\n d: \"M21.118,48.038a1.628,1.628,0,1,0,1.628,1.628A1.63,1.63,0,0,0,21.118,48.038Zm0,2.719a1.091,1.091,0,1,1,1.091-1.091A1.092,1.092,0,0,1,21.118,50.757Z\",\n transform: \"translate(-13.908 -34.512)\",\n fill: \"#fff\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19184\",\n \"data-name\": \"Path 19184\",\n d: \"M56.182,48.038a1.628,1.628,0,1,0,1.628,1.628A1.63,1.63,0,0,0,56.182,48.038Zm0,2.719a1.091,1.091,0,1,1,1.091-1.091A1.092,1.092,0,0,1,56.182,50.757Z\",\n transform: \"translate(-35.466 -34.512)\",\n fill: \"#fff\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19185\",\n \"data-name\": \"Path 19185\",\n d: \"M38.672,48.038A1.628,1.628,0,1,0,40.3,49.666,1.63,1.63,0,0,0,38.672,48.038Zm0,2.719a1.091,1.091,0,1,1,1.092-1.091A1.092,1.092,0,0,1,38.672,50.757Z\",\n transform: \"translate(-24.701 -34.512)\",\n fill: \"#fff\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19186\",\n \"data-name\": \"Path 19186\",\n d: \"M37.093,12.923H14.339a2.6,2.6,0,0,0-2.594,2.595v4.121H7.594A2.6,2.6,0,0,0,5,22.233V34A2.6,2.6,0,0,0,7.594,36.6H9.143v4.439a.447.447,0,0,0,.752.327L15,36.6H30.349A2.6,2.6,0,0,0,32.943,34V29.883h4.15a2.6,2.6,0,0,0,2.594-2.594V15.518A2.6,2.6,0,0,0,37.093,12.923ZM30.349,35.7H14.824a.447.447,0,0,0-.305.121l-4.481,4.184V36.152A.448.448,0,0,0,9.59,35.7h-2a1.7,1.7,0,0,1-1.7-1.7V22.233a1.7,1.7,0,0,1,1.7-1.7H30.349a1.7,1.7,0,0,1,1.7,1.7V34A1.7,1.7,0,0,1,30.349,35.7Zm8.444-8.415a1.7,1.7,0,0,1-1.7,1.7h-4.15V22.233a2.6,2.6,0,0,0-2.594-2.594H12.639V15.518a1.7,1.7,0,0,1,1.7-1.7H37.094a1.7,1.7,0,0,1,1.7,1.7V27.289Z\",\n transform: \"translate(-5 -12.923)\",\n fill: \"#fff\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgMessaging, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Messaging.984b2907.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2, _g3, _g4;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgOperations = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Group_5101\",\n \"data-name\": \"Group 5101\",\n width: 35.252,\n height: 39.898,\n viewBox: \"0 0 35.252 39.898\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5097\",\n \"data-name\": \"Group 5097\",\n transform: \"translate(5.247 7.568)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_3\",\n \"data-name\": \"Path 3\",\n d: \"M33,17.113l-.571,2.581a9.329,9.329,0,0,0-1.358.56l-2.231-1.42a.571.571,0,0,0-.708.078l-2.758,2.763a.569.569,0,0,0-.077.708l1.419,2.226a9.325,9.325,0,0,0-.56,1.358l-2.581.571a.57.57,0,0,0-.446.556V31a.57.57,0,0,0,.446.556l2.581.571a9.325,9.325,0,0,0,.56,1.357L25.3,35.711a.57.57,0,0,0,.077.708l2.758,2.762a.569.569,0,0,0,.708.078l2.231-1.42a9.316,9.316,0,0,0,1.358.56L33,40.982a.57.57,0,0,0,.556.447h3.9a.57.57,0,0,0,.556-.445l.576-2.583a9.315,9.315,0,0,0,1.353-.559l2.231,1.42a.568.568,0,0,0,.708-.078l2.758-2.762a.57.57,0,0,0,.078-.708L44.3,33.48a9.359,9.359,0,0,0,.559-1.353l2.582-.571A.57.57,0,0,0,47.888,31V27.094a.57.57,0,0,0-.446-.556l-2.582-.571a9.363,9.363,0,0,0-.559-1.353l1.419-2.231a.569.569,0,0,0-.078-.708l-2.758-2.763a.57.57,0,0,0-.708-.078l-2.231,1.42a9.315,9.315,0,0,0-1.353-.559l-.576-2.582a.57.57,0,0,0-.556-.445h-3.9A.57.57,0,0,0,33,17.113Zm4,.692.549,2.461a.569.569,0,0,0,.4.424,8.2,8.2,0,0,1,1.742.72.574.574,0,0,0,.582-.018L42.4,20.04l2.113,2.117-1.352,2.125a.57.57,0,0,0-.018.582,8.218,8.218,0,0,1,.72,1.742.57.57,0,0,0,.425.4l2.461.544v2.992l-2.461.544a.57.57,0,0,0-.425.4,8.2,8.2,0,0,1-.72,1.742.57.57,0,0,0,.018.582l1.352,2.126L42.4,38.054,40.276,36.7a.573.573,0,0,0-.582-.018,8.207,8.207,0,0,1-1.742.72.569.569,0,0,0-.4.424L37,40.289H34.015l-.544-2.461a.57.57,0,0,0-.4-.425,8.162,8.162,0,0,1-1.746-.72.572.572,0,0,0-.581.018l-2.125,1.352L26.5,35.938l1.352-2.122a.569.569,0,0,0,.018-.582,8.163,8.163,0,0,1-.72-1.745.57.57,0,0,0-.425-.4l-2.461-.544V27.551l2.461-.544a.571.571,0,0,0,.425-.4,8.167,8.167,0,0,1,.72-1.746.57.57,0,0,0-.018-.582L26.5,22.156l2.112-2.116,2.125,1.352a.572.572,0,0,0,.581.018,8.161,8.161,0,0,1,1.746-.72.57.57,0,0,0,.4-.425l.544-2.46H37Z\",\n transform: \"translate(-23.13 -16.666)\",\n fill: \"#fff\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5098\",\n \"data-name\": \"Group 5098\",\n transform: \"translate(11.262 13.585)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_4\",\n \"data-name\": \"Path 4\",\n d: \"M28.412,28.314a6.364,6.364,0,1,0,6.364-6.364A6.371,6.371,0,0,0,28.412,28.314Zm6.364-5.225a5.225,5.225,0,1,1-5.225,5.225A5.231,5.231,0,0,1,34.776,23.089Z\",\n transform: \"translate(-28.412 -21.95)\",\n fill: \"#fff\"\n }))), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5099\",\n \"data-name\": \"Group 5099\",\n transform: \"translate(17.056 5.687)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_5\",\n \"data-name\": \"Path 5\",\n d: \"M50.557,29.276a16.507,16.507,0,0,1-14.9,16.407l1.395-1.249a.57.57,0,0,0-.76-.849L33.7,45.909l0,0a.554.554,0,0,0,0,.842l0,0,2.593,2.323a.57.57,0,0,0,.76-.849l-1.564-1.4a17.617,17.617,0,0,0,9.1-31.7.57.57,0,0,0-.68.914A16.353,16.353,0,0,1,50.557,29.276Z\",\n transform: \"translate(-33.5 -15.015)\",\n fill: \"#fff\"\n }))), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5100\",\n \"data-name\": \"Group 5100\",\n transform: \"translate(0 0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_6\",\n \"data-name\": \"Path 6\",\n d: \"M23.91,42.419a.569.569,0,0,0,.408-.966A16.484,16.484,0,0,1,34.577,13.562l-1.4,1.25a.57.57,0,0,0,.76.849l2.593-2.323a.57.57,0,0,0,0-.849l-2.593-2.323a.57.57,0,0,0-.76.849l1.564,1.4A17.614,17.614,0,0,0,23.5,42.246.567.567,0,0,0,23.91,42.419Z\",\n transform: \"translate(-18.522 -10.02)\",\n fill: \"#fff\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgOperations, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Operations.f3163d2e.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgStores = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"noun_storage_2128117\",\n width: 28.536,\n height: 28.538,\n viewBox: \"0 0 28.536 28.538\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_5052\",\n \"data-name\": \"Group 5052\",\n transform: \"translate(0 0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19175\",\n \"data-name\": \"Path 19175\",\n d: \"M31.044,30.55H29.568V11.982l1.21.777a.491.491,0,1,0,.531-.827L17.534,3.077a.462.462,0,0,0-.074-.03L17.362,3a.659.659,0,0,0-.093,0,.531.531,0,0,0-.089,0,.418.418,0,0,0-.108.044.339.339,0,0,0-.064.025L3.231,11.923a.494.494,0,1,0,.526.836l1.21-.777V30.55H3.492a.492.492,0,1,0,0,.984H31.044a.492.492,0,0,0,0-.984ZM5.952,11.362,17.268,4.076l11.316,7.287V30.55h-5.9V19.234a.492.492,0,0,0-.492-.492h-9.84a.492.492,0,0,0-.492.492V30.55h-5.9ZM12.84,30.55V19.726H21.7V30.55Z\",\n transform: \"translate(-3 -2.996)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_19177\",\n \"data-name\": \"Path 19177\",\n d: \"M30.552,47H25.427a.416.416,0,1,0,0,.832h5.125a.416.416,0,1,0,0-.832Z\",\n transform: \"translate(-13.501 -26.024)\",\n fill: \"#fff\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgStores, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/Stores.243bfa64.svg\";\nexport { ForwardRef as ReactComponent };","var _image;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport React from \"react\";\nconst SvgPowerButton = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 30,\n height: 30,\n viewBox: \"0 0 30 30\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _image || (_image = /*#__PURE__*/React.createElement(\"image\", {\n id: \"power-button\",\n width: 30,\n height: 30,\n opacity: 0.75,\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAQAAABecRxxAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQfkCxQJNgfxAz20AAAvcUlEQVR42u3dZ5hV1dUH8P9mht6bIgoMAoKAgiKIgB1bECvGChYs0RiJxvfVqFGMMa/YQY0JlijYsQaIiAUL2CgCKgoojBTpTTrMzP/9QBGYGZh77tlrnbJ+X3weee5Za+979pp9zj1nbweTMmyMY9ERByAP9VAVwFosRT6mYzzGuLna2RljPGEj3srvuDvf8s9spJ2nMSZkbMsh3MyyKOQrbK2drzEmJKzNgSwo0+D/tQgMYT3tvI0xWeOpXJzR4N9mEU/Rzt0YkwXm8D4WBRr+JFnE/2M57TYYYwJhBb4cePBv8zorabfDGJMxVuCorIc/Sf6X5bXbYozJCB2fDWX4k+QLdiFgTKzw9tCGP0neot0eY0yZ8ZgMf/bbk808UrtNxpgyYWX+GOrwJ8kf7GZgEtm1XRLdgv1DP2Yz3KTdLBM+p52ACRv3Qj4qezjwOuS5JdqtM+GyGUDy3OBl+ANV0E+7aSZsNgNIGFbCAtTydPDlaOg2arfQhMlmAElzurfhD9RBD+3mmXBZAUia87we/Xzt5plw2SVAojAHSz3OAIDlqO+KtFtpwmMzgGRp73X4A3XQTruJJkxWAJLF//A8WLuJJkxWAJKlZQIiGEFWAJKlifcIedpNNGGyApAsNRIQwQiyApAs1bxHqK7dRBMmKwDJkuM9Qq52E02YrAAYk2JWAIxJMSsAxqSYFQBjUswKgDEpZgXAmBSzAmBMilkBMCbFrAAYk2JWAIxJMSsAxqSYFQBjUswKgDEpZgXAmBSzAmBMilkBMCbFrAAYk2JWAIxJMSsAxqSYFQBjUswKgDEpZgXAmBSzAmBMilkBMCbFrAAYk2JWAIxJMSsAxqSYFQBjUswKgDEpZgXAmBSzAmBMilkBMCbFrAAYk2JWAIxJMSsAxqSYFQBjUswKgDEpZgXAmBSzAmBMilkBMCbFrAAYk2JWAIxJMSsAxqSYFQBjUswKgDEpZgXAmBSzAmBMilkBMCbFcrUTiCNWRQ1UAbEGK90m7WzSitXREi2wH6qiEtZiDeZgJqa7jdp5xYsVgDJjDRyF43AoWmHv7f+zkHMxHZ/iI4xzBdoZpgMdDsfZOAaHIKfYP27k53gfr7jp2lmaBGE5nsphXM/dWcJ/8jD1TMfRt3Gq7avBG/ljGbL8ghfR/riZ7DGHF/LbMg+PMTxeNdsEFwBW4i1cmUGmP/IS2j0ukw0ex8kZD5E3ub9avoktAOxepr/8u5rIY7S+CxNzbME3Aw6SX3ixUs6JLAAszwEsDJzx62yu822Y2GIt3s+NWQ2Up1heIe8EFgBW56gsc97IB1hb/tswscQcXs3FIQyV0awunnviCgDrclIoeS/l7+yOgNkjHsIvQhssH7CScPYJKwCswrEh5j6RnWS/j+izmrgD1uSjmIDwTpJj8ZL91QmO5fAKuoZ4wEPxKQexpna7TCSxJ+d6+It5u2gbEjUD4K1eWrCAfegkvxUTeWzB0Z4GTIHkD1FJKgDsxAJvrXiPzeS+lSizCSpYjlfiK5zg6fA5GCx9JyAJWA6PlPCob1iOx9e8if6OHxupLwA8EOPwL1T1GKIF/ke7lTHUN8R7MSWpjHvwMVtpN1NbqgsAc9gPE9DZe6Ab7VfozLA8/iwQpgu+Yn+N5zWiI8UFgK3xKR5GFYFQNXCtdmtj5jw0FYlTCXdgHNtqN1dPSgsAHW/EJM+TzB1dbdebGekrGKsjxrNfWn8XSGUB4N4YiftQUTDkPlB9SzBe2BhHigashIcxmvtqt1tDCgsAT8c3OEU87Lna7Y6R0xTOy+6YzNO1Gy4vZQWAlTkQb6CeQuju2m2PkWNVotbDmxzCatqNl5WqAsD2mIjroHO115h52u2PjTAf/81Mb0xgO+3mS0pRAWAfjMOBigkcpN0D8cDaO6y5KK8lPmc/7T6Qk5ICwCocgmdFfvIrXUvtXoiJFsrxK+FhPkPdc0VMKgoAW+IL9NbOAo20E4iJ+toJALgYX6TjKcEUFACegS8QhUc9xJcHialo9FNbjOf52kn4l/ACwFwOxBuIxhvgKZlUZi0qj+ZWwwt8OOmLiye6ALAORuE67Sy2W6+dQEys0U5gB/3wPqNwSeJNggsA22B8pJ6/W6edQEys0k5gJ0fhM7bRTsKfxBYAnoJxUFufv0TztROIiXztBHbRDJ/zTO0kfElkAaDjnzEiIlf+v/pBO4GY+AlR2+CzGl7lbcl8XSiBBYAV8Rz+HsGWfaOdQDy4QkzWzqGYcrgLQyn5+phYwxKGtfEOLtDOogTL8b12CrHxsXYCJboQH1DjLRKvElYAmIdxOFo7ixJ95Iq0U4iN0doJlKILPkraGx2JKgA8GJ+oPu2/O8O0E4iRMViknUIpWuMz/U3gw5SgAsBTMA77aWdRirUYrp1CfLhCvKSdQ6ka4EOeqp1EeBJTAHgZ/oPovsv9rIvS4y3RNwiF2imUqire5KXaSYQlIQWAN+BJRPehzUI8pJ1CvLhZeEU7h93IwVO8XjuJcCSiAPAmPKC0zEfZ/NvZMwCZuhUbtFPYDYcHeY92EmGIfQGg48OI9lfxC27TTiF+3Gzcr53DHtzER+K/9WvMG8AcPIWor99yo4vqPe1ouwuTtFPYg2vxbNzfFox1AWAFvISo3455wz2hnUI8uU24AKu1s9iDi/AqK2gnkY0YFwBWwCvopZ3FHnyLy7RTiC83Hadjk3YWe3A63ozzI8KxLQCsgGGI+jru83CyW6mdRJy5Megb4R8EtzgFw+I7C4hpAWB5vIzTtLPYg3wc6+ZpJxF37jmcFenfAwCgJ96M6xbwsSwArIBhOEM7iz2YhK72418Y3H9wEhZoZ7EHp+CVeM4CYlgAWAEvR37yPxhd3c/aSSSF+xiHRPYFoW16xvN2YOwKAHPwYsT/+ufjVHeVi/q0NVbcIncSLsRC7Tx2qyeej98e0DErAHR4EmdpZ7Eb63E32riR2mkkkXsBLTEg0vcDemFw3NYNilkBwH24RDuF3RiBNu42Z4t/euJ+cTfjAAwFtTMp1WUYpJ1CZmJVAHg7/qSdQ6km4ijX083WTiPp3FzXB50xTjuPUl3LO7RTyESMCgCvxZ3aOZRiEfqgo/tEO420cF/iSFyGJdp5lKJ/nDYXjU0B4EUYqJ1DiYrwOFq5oS6609IEcnT/Ris8gWgus/YQ+2inUFYxKQA8Bk9FMtcp6Oausaf9NLjl7kp0wnjtPEpKDU/yRO0kyiaKg6oYHoy3EL3fWNfiehzmPtNOI83cRHTBnyK451J5DOPB2kmURQwKABtiOGpoZ1HMWBziHnYF2mmknStwD6ItPtDOo5gaeJuNtZPYs8gXAFbHSEStI9fhZhztZmqnYbZws9EdV0Xu1eGG+C9raSexJxEvAMzFMLTXzmIX76GNG2Cr/EeJoxuMg/G+dh67aINhjMpm56WIeAHA4zhJO4WdbMB1ONHla6dhinP5OAE3RGxfwe54XDuF3Yt0AeD1uFw7h51MQ2f3iP3gF1WO7iF0wBTtPHbSN9pPBUS4APB43Kudw47pYDA6umidXKYY9y06Y0Ckng94gKdop1C6yBYANsMrEVrpfwlOdVfZU/5x4Da4m3EalmnnsV0OnmNz7SRKE9ECwGp4A3W0s9huPDq5/2onYcrOjUR7fKqdxXZ1MJw1tZMoWSQLAB2exkHaWWw3GN3stl/cuHk4GgMi895gK7wUzbUCIlkAcAfO0U5hq1/Qy13lor4yrSmBK3A34xys0s5jq5MRybcEI1gAeDL+op3DVtNwmHtNOwkTnHsNnfC9dhZb3cqTtVMoLnIFgI0wNCJZjUJXe9ov7twMdMJb2lkAAMrheeZpJ1E8qUhhebyIetpZAAAG4VR7yy8J3GqciTsjcTegDl6O2sKhESsAGICu2ikA2ICLXD8X9Q0pTBk5uv64EOu18wDQCfdpp7CzSBUAnoU/aucAYDGOds9rJ2HC5V7EcZFYQ+g6RuUGN4BIFQA2x9PQX1N1Bo5wX2onYcLnPscRiMI9nSfZTDuFX0WmADAXQ6H/sMTn6OZmaSdh/HA/ojM+1s4CNfBSdN4RjEwBwB3orJ0CXsWxLgrTROOJW46T8Kp2FjgMt2unsE1ECgC74c/aOeAxnGv7+SSd24Bz8S/tLPBnHqmdwhaRKACsiaHQflBygLvWFvlIA1fkfoeblZPIwQuMxLsukSgAeAx5yhn0d9qnhBHkBuCPyk8G7BeBeQgiUQB4AS5UTaAIV7uobjliPHEDcbXyqgG92Fu7FyJQANgQj6omUIhL3D+1e8HIc//CJdB92GsgG2r3gnoBwGOorRi9EJe6odpdYHS4obgQmgu718Zg7T5QLgDsjTMUw9vwTzn3Mi5SLQE9tDcRUy0AbICHFcMX4jIb/mmnXgIGcT/N9uvOAP6huOxXES51Q1RbbyLBvYy+ircDa+IxzdYrFgCejzMVW36D/fU3W7gh+INi+NN4kV5wtQLAehik12zc6qK52bhR4f6hugrVQ1RbA0NvBjBAceGPQe7varFNJLm/Ke5CUQ8DtEIrFQB2w6VaTcZTkVh1wETNzXhSLfalPEonsEoBYHn8Q+3N/+G4yjb3MsU54mqM1AqOx3UWC9OZAfxRbdX/iTjflvoyJXMF+C0+VwreGn/SCKtQANhI7W3ofJzq1irFNjHg1uE0/KAU/C/cXz6oxgxgEKopRAVW4DduoUpkExtuCU7DCpXQlTV+FxMvADxR6eHfTTjTfacS2cSK+w5nYbNK6B7yW4cIFwDm4H7pJm71B/eRUmQTM+5DXKUU+iHp1QKlZwBXK93+e8ypv3dl4sP9G4+rBG6Fq2UDihYA1lbaIHEsblCJa+KrH8aoxO0v+1Sg7AzgDpWn/37CWba/r8mM24xe+FEhsPAfScECwJa4RrJpW63HGbbUt8mcW45zoLFK9O/YWi6Y5AzgPmhsh3Cdm6wQ1SSA+0rlLcFcybcSxAoAu6GnXLO2e8HpPd9tYs89iWcUwvbgMVKh5GYAd4lF+tW3uEIhqkmSq/GVQtS/SQUSKgA8BcdINWm7Nejl1olHNYniNuA8rBYP25U9ZAKJFAA63C3TnJ383n2vENUkjJuhcifgboqMTZkZwLk4RCTOjl6zFf9MONyzeFE8aDucJxFGoAAwF/L77szB5eIxTXJdgzniMf8q8ViwxAygDw4QiLKjIvRxK4VjmgRzK9FbfBehZhDYM8B7AWCuwsbf99qLPyZc7mOFdftuZq7vEP5nAOejufcYO5uq9MaBSbb+mCQcsbn/+wCeCwDL4X99N2EXBehrT/6b8LnN6Cu+TsCtvn8L8D0D6IW2niPs6h43QTiiSQk3WfwyoBV6+Q3gtQDQ4Sa/6RfzncoTByYt7sLXwhFv9zsH8DsD6IlDvR5/V4W4xGm8v2VSwm3CZcJbibbBaT4P77cASN//H+S+FI5oUsZNwKPCIb3eRfNYANgVnX2mXswChQeOTPrcjnmi8Y7gEf4O7nMGcL3HY5fkOrdKOKJJIbdafGs5jwvaeSsAzBNe/nu0e1U0nkkt9xqGiwY8k818HdrfDKAfcrwdu7j1KsuNmbS6DpIvmuf4ex/RUwFgTfT1lXKJ7nMaCzialHL5wpuJX8Zafg7sawZwOar76osSzFPc292k032YKxituq+1rbwUAJbDtT57o5hbbMvPrfw/BG3PWQAA3DrcLBrwGj8PBPmZAZyCPJ99sYsv8JxgtGjzv3iV/PJYUfUixgpGy4OXfQP9FADJndWIGx0F40Wb/31tdXbOjSBH9EORYEAvo8pDAWBj/MZ3X+zgZSdZh6PO/972M7WbGB1uEl4WDNeDjcM/qI8ZwBWCPwAWoL9YrDiY7j3CDO0mRsqtAnddtsnxscxd6AWAubhMoje2esr5P+Xj5HPvEcZrNzFK3Gw8LRjuivBXCQx/BnAGGop0BgCsV9luJMLcHOR7DTDT/aTdxoi5S/CRoAY4PexDhl8AJPfiedTNF4wWD297Pfoo7eZFjfsZjwiGC/3xOhfu4bgvfhK7A/AL9nfLhGLFBrtgnMfDH24vXO+KdTAbNYSCFaKRWxDmAcOeAVwoeAPwURv+JfjM443A72z4F+eW4zGxYDm4ULu9u8WplLKG9bVbG03s663PL9FuWzSxLleLnfffhJt7qDMAdsBBYr3+uFsiFitehsLPjbpZeF67adHkluFfYsHaMNRl9sK9BOgt1g0b8JBYrJhxm3CjlwPf4KQXxY6P+7BeLJbAfkGBsDwXiU2EBmm3Ntr4dug9PkK7TdHGgWLn/mKJPQODdEEPsS7Y7OOhyCTh3lwQao8votzTHbHEPG4WO/97hJd3mJcAvxXr7Ved/F6tseIWoU+Im1kW4Hz3s3abos3l43WxYOdot7YELM/lYhXwcO3WxgF7syiU3i6i5MPdscXDxM7/Fayg3drizZe7APhEu61xwRtDKAFF9LgmbbLwE7ExENr7tuFdAshNS+z+fxm5+3FJlvvYFOJK96B2O2JDrqeidhEgeAEwi5KrDccej8viduB8Hq2df5wwh7OERsHysC4CwpoBnIDaQr082IV3cysF3Adoj/8E+ugbOMR9pJ1/nLhCPCEUqjaO127tTviUUOXbyL202xpH7MkZGfXz9+FdZaYJ9+JGoZHwlHZbd2x2OS4UavYL2m2NK+bwAk4qUx9P5Hl+t6ROMr4oNBIWReg74uFCjSaP0m5rvPFgDuDkUn4bKORXvIdttXOMNx4tNhY6hZFvbiitlpoufuc+FoqUUG4qpuIm1kMHtERz1ER1AKuxCjMxHZPcUu384s99xGloLRKqB6LycjYnCNU8+0XaRB7/JDQaJoaRbQgrAnEfzA97ZaESFaCRWygQx5gscG/MC2lmvYdAaOzmZXuQMG4k9BAZ/sA7NvxN9LlFeFcmEE7J/iBhFACpOwBDheIYk50hQnFCeCsw67/dzMVykZ2AV2EfJ7fogjGBsTIWoKZAoNWom+0iLdnPADoKbQQ+zIa/iQe3HsNEAlVHx2wPkX0BkHok8UWhOMZkT2rPwGOzPUD2BeA4kYYuhT0BYOJjDBaLxMl69GVZAFgJR4g09DWX3WutxghyhXhLJFAXVs7uANnOALqikkhDXxWJYkxYZO4CVEKX7A6QbQGQugD4UCSOMWEZA5l9K7K8C5BtAcj6JkSZvGUXACZeXAGGiwTK8k9wVgWAldFBpJHBFrQwRpPMTgqHMquL8OxmAB0gsTrpRnwgEMWYcI3GRoEoFZHVVmHZFQCZXwA+dGtE4hgTIrcWMguqZTUK41AARopEMSZsMmduVqMwq3cBOB8SG0a1cD8IRDEmZGyKWQJhfnb7Bv9wFjMANhEZ/jNs+Jt4crMxXSBMQ+YF/3A2lwBZPoJQRu+LRDHGhzEiUbK4CMimAGT9JlKZ2C8AJr5k/nwdFvyj2RSAQwSaVmTPAJoYG4MigSjtg380cAGgQzuBpk2xlWpNfLll+FogzCEMfDM/+AwgT2QzMLsAMPEmcRFQG42CfjR4AZD4+w+hRymM8UVmHYv2QT8YvABI3AEgPheIYow/n4lECTwagxeA9gLNmulkXqk0xhO3GD8KhAk8H4/2JYD9/Tfx96lAjPZBPxiwALAqGgs0S6LrjPFL4iKgCasE+2DQGUBLkd2AZK6fjPFJ4iwuhxZBPxhMS4FGrcO3AlGM8esbbBCI0irYx6JcAKa6QoEoxnjlCkQeBgo4IqNcACYLxDDGv8kCMRJYAKYIxDDGP4kzWbIA0AW95ZCRrwRiGOOfxJncKtj7AMFmAA1RzXuDCvGN9xjGSJgq8E5gVewT5GPBCkCe9+YAs9xagSjGeOfWIF8gTF6QDwUrAE0EmiOxmJIxMiTO5kBvBAYrABJPAVoBMMkhcTYH+rNsBcAY/yTO5kCj0i4BjPHve4EYCSsAEl1mjIzIXgIE+u2Qq1DDc2NWO98RjBHENajqOcQqVyvzDwWYAbCG9+EP/OQ9gjGS/J/RNRng6ZwglwB7e2+KFQCTNHMEYuyV+UeCFIAAYTJmBcAkixWAjEh0lzFyJP6k1c/8I0EKQIAwGbMZgEmWBM0AJArAfIEYxsiZJxAjQZcAiwRiGCNnsUCMBF0C2I6AJlkkCkCA3+eCFIA63huyGSu8xzBG0jIUeI9RK/OPBCkA1b03ZImj9xjGCHIUmNUGGJnRLAAS0yVjZPk/q4UKgP/lwJZ5j2CMNP9ndYBH9IMUAP9vAvziPYIx0lZ7jyD0LoD/SwD/XWWMNP9ntcQMgBVQwXtDrACY5PF/Vldi+Uw/kvkMwP/ff2CNQAxjZElc2GZ8EZB5Aagk0Ay7B2CSR+LPWsVMP5B5AcgVaIbNAEzySFzYClwCZBwigE0CMYyRtVkgRsZ/nqM5A/D/0KQx0iQKgMAMwAqAMUFInNUCMwCJSwArACZ5bAZQZlYATPIkZAaQI9AMKwAmeRIyA5AgUWSMkSUxd874NfrMC0ChQDP8P2xsjLSMH9IJIOO5czQLgERXGSNL4s9axqMzmgXAZgAmeST+rCWkANgMwCRPQi4BJO7Q2wzAJE9CLgE2CjTDZgAmeSTO6g2ZfiDzArBOoBkSTxsaI0tiBpDx6IxmAbAZgEkeibM6IQXA/7rDxkir6j0CBS4BXKHA2/r1vEcwRpr/s3qDK8r0I0EeBV7rvSF1vUcwRpr/szrA7DxIAVjlvSE2AzDJ4/+sXpn5R4IUgABhMmQzAJM8VgDKzGYAJnn876odYE/taBaAirTfAUyisIbAcwArM/9INAuAXQSYpJE4o4VmAAHCZMwuAkyySBSAlZl/JEgB8L/PObCXQAxj5Eic0Usy/0iQArBIoCl5AjGMkdNUIMbCzD8S1RlAnkAMY+TkCcQIMDKjOgOQqJfGyJE4owOMzKgWgDyBGMbIkSgAYjOAjF85yJjNAEyy5HmPUCh0E9BtwgLvjanH6t5jGCOENQSeA5zvAmw9EmxjkHzvjQGaCMQwRobEjDY/yIeCFYDZAs2xiwCTHBJnc6BRGd0C0EwghjEy9heIkR/kQ8EKwE8CzTlIIIYxMg4WiJGwGYAVAJMcEmdzwgpAW9oewSYRmIvWAmHyg3woWAGYK7A/UGU09x7DGAkHoJL3GJsxP8jHAhUAVxAsWIYkrpuM8U/iAmCOC7RrZ7AZgN0FMKbsInsHINoFwGYAJhkkCkB+sI8FLQDTBZpkBcAkQzuBGN8H+1jQAjBVoEl5rC0QxRivWAeNBcJ8HexjUS4ADp0FohjjVxc4gShTgn0sYAFw87FUoFFdBWIY45fEWbzEBVylI+gMIPCUIyPdBGIY45dEAQj49z/qBaAT/W+mYIxHrIiOAmECX5JHuwBURnuBKMb400HgKcAsRmPwAiBxG9DuApi4kzmDVWYAgR49zJAVABNvEmdwIb4L+tHABcCtx48CTbPbgCbG6NBFIMwMtz7oR4PPAGQuAvZmK4EoxvjRBvUFomRxPy6bAjBZoGnAKSJRjPHhZJEok4N/NJsCME6kcTJdaIwPvxGJMjb4R7N4SJGVsRL+f6ffiHpujfcoxoSOVbEMFb2H2YTabl3QD2cxA3Drgz9/lIGKOFogijHh6y4w/IGJwYd/dpcAUhcBdhfAxJPMmZvVKIxDAZC5jjImbDL3r7IahVm9qMi9sVCkiQe4mSJxjAkNW+NbiTBo4ALsCrxNVjMAtwizBJpocwATRzJ//2dmM/yzvQSQugg4WySKMWHqJRIli58AgbgUgK7cVySOMSFhI6H1rLIcgfEoAOVwjkgcY8JyrshCYOoFYBqWizTztyJRjAmLzJ+sxZiR3QGyLACuCO+KNLQz80TiGBMCNhVZBwgY7ZjdAbKdAQBvizTUCd1SMSYMUhcAWY++rNNkA/ws0tgJTqamGpM1fiWymF0R9snuR8AQZgBuIb4SaCpwGG23YBMLbCa0luX4bId/GJcAUhcBwPlCcYzJTm+hOKOyP0QYBSCENMrkCuYIRTImMJbDpUKhQvjTG0YB+Ezop8BG6C4Sx5hsnCyyFyCwFBOyP0gIBcAV4n2RBgNXCMUxJjips3S0C2Fd7jBmAHJ3AU7nPkKRjAmEDdBDKFQooy6sApDl4whllIs+InGMCepSlBeJU4TRYRwmlALgFmKSSKOByynzgIUxAdChr1CoEH4CBMKaAQDDhJrdHMcIRTImc8ehmVCkV8I5THgFQOYiAPidUBxjMneVUBzi1XAOFNqEml8Kvf5QiAOczDpExmSETTEDuSKhPnUh7TkY1gwAeFmk4UAO/iAUyZjMXC80/EMcbeHNABrhJ6E3oNaiiVsmEsmYMmNtzEE1kVBFaOzmh3Oo0GYAbi4+E2k8UNUeCDIRdI3Q8Ac+CWv4h3kJENp9yTL4A/1vSWZMBlgRvxcLFuJIC7cAhPBoYpk0tDcDTcT0htRTqoV4LbyDhVgA3AKhJUIB4EZ7IMhEBx2uFwv2oVsU3sHCnAHI/RIAtLVtw02EnIrWYrFCvdQO9e8o62OewIbhW4zH4dkuiGhMGOgwAYcKBduA/cL8DSzUGYBbgreEugHoiFPFYhmzO2eKDX/g9Uj/BM4TKGcqw72AMSYAluNkwbP+mHCzD3sIvYcfpToeB+EssVjGlOZctBOL9SM+CveAIRcAR/xbrDOAO20OYHQxB7cLhhsc+ftebMBNghOiC7Tba9KNFwue7ZtjsSIW3xTskhmUev3CmGJYnj8Inu0hvQK8Ix9T6MHe+/1XLcSWYDamuMvFFgABgCfDP6SH5+lYDrPQxH9vbLUYB7hVYtGM2Y61MQP1xMLNRdMw1gHemYcZgCvCMwLdsc1euE0wmjG/ukNw+ANPhD/8vcwAADbCbMjt4rMJbd1MsWjGAAB4IKYIrQAMAAVo6uaFf1gvP6O5uWG+r7RHFfCAYDRjtnhAcPgDw3wMf294mOC9UZK0V4OMKJ4qfIZ38tMOby/V8iMc5evYJfgO7dxmwXgm1VgeX6OlYMAx7jg/B/b3JJ3stPxAWy7cCLpWdPh7HE3+ZgAO3+JAX0cvwS9oHd5KacaUjg0xDTUFA05Ha1fk59DeZgCOGOjr2CWqgX+KxjPp9Q/R4Q/c52v4e8WKXCB8o8TeDjTe8Tzhs3ohK/lrjce36dxG8b/Jj7G2cESTMqyDh4VDDnIbtFsdEOtwjXC1lHwPwaQQ/y18Rq9lXZ/t8fo+vVuOoT6PX4LLeaxwRJMi7I6LhUM+7XcJMM+La7MJZogtE7rFTLRz60UjmpRgFUwVffsP2ISWLt9nAM8r6rif8LTfCMW0wF3CEU1a3C08/IHBfoe/9xkAwIb4AZV9R9lJEU5y74lGNCnAE/CO0Pa322xAc9/PtnhfU8/9jCd8xyjWpmf93jgx6cN6eFZ4+AOP+X+0TaBJbIAfUcV/nJ286c4UjmgSjW/hNOGQa7G/W+w7iMCqum4hHvMfZRdn8HLxmCaxeLX48AcG+h/+IjMAgHUxG9UlIu1gLTq46cIxTSLxQEwQn8Ouwv5uuf8wIuvqu2XC7wUAQFW8QNkfIE0isSKeFx/+wEMSw18Ma3GF8BNUJHmvdrtN/PEhhTN3GWtotzvsbrxNoRuLeLZ2u028ib/6s8XNUu0T+2GDlfE9GktF224NOrtvxaOahGArfCl+9wqYh5ZunUwosb313HrcKhVrB9XwOmXf3TaJwep4XWH4AzdKDX9RdPxEZTr1JqUf4DAJQMfXVM7XcYk9X9mBhSpdKnZFZZKDf1E5VwvZUbvlPjt1iFKn2rLhJiPszgKVc9XD/n+7IzzZ4L74HtVkYwIAluII94NCXBNLPACfoY5C4F/Q0i2UDCh2E3ALNx/3yEbcqh5Gsb5KZBM7rIsRKsMfuFt2+IvPAABWwjQ0lY4KABiLE2K7upoRw0p4H11UQs9Ca7dRNqTwDABwG/C/0jG36oYhFG+viRc6PKU0/IEbpIe/Eo5Rub1Ckn/XbruJNt6rdm6O1m67XCcfwPVq3Xy1dutNdPFytfNyHZtrt16yo29R6+jNPEm79Saa+BtuVjsv/0e79bJdnctJal29lkdqt99ED4/garVzcjLL67Ra7aFDdsRnyFEKvgrd3QStlpsoYnt8AK19pQpwuJukE1rtrrgbr7BIyDY18TbbqEU3kcO2eE9t+AP3aw1/xRmAyjYLO1qMo2zJMAMAbI6PsY9aeNWtbBR/F3frcAWoFn4vvMs8vdabqGAjvKs4/IlrUryTFZ9Ru+1CkjOp98WbSOBe/E71HJTeNWMXym8esy6+xd6KCUzDCe5n3T4wetgQ7+FAxQQWoI1bodkDyo/GumW4VPEyAGiNcdS7D2FUsQk+Uh3+xFW6wz8S+E/VKRg5hwdo94GRx5aco3zmDdLuA/VLAABgFUxEK9UUFuFEN1W7H4wktsa7aKiawjQcpn/7LwJvx7l1uACbVFPYGx+ys3Y/GDnsgI+Vh/9GXKA//CNRAAD3Ff6inEJtvMvjtPvByOCR+ADa+0ff7KZo90OEsBzfV74eI9dSfgNII45ncK32qcZRiV35Nyjuy6Xa3woLeJ12Pxi/2E9pZeodLbHnT0rAM7W/F5LkQGq9omQ8Yw4HaZ9eJGkzzVLwKe1vhiT5BuX3gjXesSrf0j61SJL/0O6JHUXqSoSVMQ6HaGcBYDx6ukXaSZgwsQGG4zDtLABMQZcobfwVqQIAsDnGo5Z2FgDy0cNN007ChIVtMBJNtLMAsByHudnaSewoEj8D/sr9gN4o0s4CQB4+Zy/tJEw42BPjIjH8i3BRtIZ/JPGv2hdpWxXxHrshGHfMYf8I3PffQmN/7PhhOY7U/qa2G8O9tPvDBMe6HK19Cm33nyjuShGxewBbsDbGK64VtLO56OW+1E7CBMFD8DrytLPYaiY6uZXaSRQXwZoEuBU4C1G5U9oIH/Ny7SRM5tgH4yIz/NfirCgO/whjb+0Z206eYFXtHjFlx2p8WvuU2cl52j0SQ3xE+1vbyffsoN0jpmzYkTO0T5edPKjdI7HEHP5H+5vbyWb2t18Foo6O/bhR+1TZyUjmavdKTLE6v9L+9nbxAffT7hVTOjbih9qnyC4mspp2r8QYG6ov27SrlbxAu1dMyXg2l2mfHruYZ38wssR2/EX7WyzmGertImNKxDocon1aFLOSbbX7JQF4kuKeraVZyD7a/WJ+xZ6cp31KFLOJJ2j3S0Kwr/Z3WaIRbKTdMwZgQ76mfSqU6HfaPZMgvEf72yzRKvaL4uOd6UHHK7lK+zQo0V+1+yZR6Pic9jdairHU3Foi1diCY7S//lK8ZGv+hYyV+J72t1qKDfw/Vtfun7RhDd4bsd/7f/UOK2j3TwKxCj/S/mZL9TOvtIeEpNCxDxdof+WlGme//HvCGhyv/e3uxkQeqd1DacBO/Ez7q96Nr1hLu4cSjPX4jfY3vFvDmafdR0nG/TiERdpf8m5MpfaGI0nHfSL2oseu1vJO1tTupSRiLd7Fddpf725Np+ZW92nBRpyt/U3vwTL2Zw3tfkoSVuVNXK79te7BHJv9CWFzztf+tvdoCW9iZe2eSgJWYb8I3/LbZiFbavdUirAlF2p/42WwmDexknZfxRkr8MoYFHtyCdto91XKsD0Xa3/rZfITr7aZQBCswt9zrvbXVyaL2E67t4KK8fNKbIX3sK92FmWyFE9hkPtZO434YH38Hr9HPe08ymQhTnDfaCeRSszjD9rFv8w2cIg9NFwWbMaBEdjAu6zy2Vy7x1KM+0T8uYCdFXI4u2v3WZSxG19hgfbXlIHv477gR4wvAbZgA4zGQdpZZGQCBuMlt1o7jWhhdZyPKxGvhVen4ES3WDuJ7MS+AACsjf+is3YWGdqA4Rjs3tNOIxrYAVfiAsTtCfoJONkt004iWwkoAACr4S0cp51FAN/hWTwZ/5MoONbEubga7bXzCOBj9HS/aCeRvUQUAIBV8QbiuQDTeryKl/Cu26ydiCxWwAk4H2cjns9JvI2z3XrtJMKQkAIAMBeP4UrtLAJbgREYhlFpKAPMwRE4B+ejvnYmgT2DK5PyTSWmAAAA++GhWLdoOUZiGN52BdqJ+MFy6IJzcC7i/MoM8VfXXzuJ8MR5uJSAffAE4r4ay0IMxyi8l4QrzG1YE91xMnrGeugDwEZc5l7QTiJMCSsAALvizZg8QbZ7hZiMERiOSY7aqWSD+6MnTsVRsS/LALACZ7qPtJMIV+IKAMDWGBmZbaGzNx+jMAqfuEXaiWSGDXAUTsbJ2Ec7k9D8iB5uunYSYUtgAQBYD2+iq3YWIVuAsRiHsfjKFWmnsjvcH93QFd1wYMLOrS9wWtwf+ilJsr6k7VgFL+B07Sy8WIZPMRafY4pbpZ3Kr1gLB+MIdEMX1NHOxYvX0DsZP/vtKqEFAGAO7sLNyW0fgJ/wNb7GFHyNGRq/GzAXB+AgtMNBOAhNtDvDZ0PxN/SP9rwruCQPEPAMPIs0LM21Ed9iGmZhNvIxG/N9lQPmYj/koSny0Ayt0RoVtRsuYCX6uOHaSfiT6AIAsCVeR2vtLIRtxlzkYzbmYCmWYgmWYRmWuQ2ZHYSVUBd1URf1UQ/10AR5aIpGyNVunLCvcZb7QTsJnxJeAABWw9M4RzuLCFiLZViK9VgPYBWKsAlrAawGUB1AVVRAOdQEUBlVUBd1UVU74Qh4EVe4tdpJ+JX4AgAAvBKPorx2FiZWCnCbG6CdhH+pKAAAj8LLaKCdhYmNJTjPfaCdhISUFACA+2IYjtDOwsTCBJzt5mgnISM1u9u7+TgKdyKhP+aY0BCD0DUtwz9FM4AteCyGIOaruBmP5qKP+1A7CUmpmQFs4cagLV7UzsJE1Gton67hn7oCALhV7gJcjDXaeZiIWY2rXC+3XDsNaSm7BNiGTTE0ca8LmeDG40I3UzsJDambAWzhZuMY3IlC7TxMBBRiALqmc/indgawBY/C02imnYVRNROXubHaSehJ6QxgC/cxDsKdSMjyjiZjBRiEQ9I8/FM+A9iC7fAEOmpnYcRNweVugnYS2lI9A9jCTUEX/BEJf+nD7GQ9bkYHG/42A9iO++NfsI070+FjXOFmaCcRDTYD2MrNwom4GCnepislVuIqHGPDfxubAeyE++ABnGe9klDE87gxbusr+2WnejHsiIH23mACTcAf3TjtJKLGLgGKcePRFRdjgXYeJkQ/4yocbsO/OJsBlIJV8T+4KaZ715odbcI/8ZckbbQWJisAu8FGuBu9tbMwWRmBfm6WdhLRZQVgD3gsHkI77SxMIN/heveOdhLRZvcA9sCNQQdcjB+18zAZmoneaGvDf09sBlAmLI/zcbu9OBQTc3A3ntbYLSl+rACUGcvjUtyOfbXzMLu1GA9iYKbboKSXFYCMsAIuQf8EbXmdLEtxPwYlcxNPX6wAZIxVcTluwV7aeZidLMOjeNB+7MuUFYBAWANX4TpbXzgi5mIgBrvV2mnEkRWAwFgeZ+BGdNLOI+Wm4EG86GxRl4CsAGSJ3XATelg/qhiHARjhqJ1GnNmJGwIehGvRxx4bFrQJL+Ne9412GvFnBSAk3Bd/wBWoo51HCizHYDziftZOIxmsAISIFXEarsTx1qveTMRgPOfWaaeRHHaqho4t0BeX2s+EIVuBYXjEJv1hswLgBSvgJPTGWcjRziQBivABBuMtt0k7kSSyAuARm6IvLkVD7TxibD6extMuXzuN5LIC4BnLoQvOwW/RQDuTmFmOkRiGt+2VHr+sAIhgDo7AOTjP7gyUwQqMwDCMsod7JFgBELS1DFyAetqZRNRKDMcwvGNX+3KsAIhjRZyEXjjJZgM7WIRReA2j3UbtRNLGCoAatsGp6I6jUV47E0WFmIz3MAKfuiLtVNLJCoAy1sHx6I4eqVtoZAk+xAiMcMu1E0k3KwCRQIdDcTJOREdU1s7Fs3X4Eu/ibUy2l3iiwApApDAX7dANHXA0GmvnErJFGI+xGIfxdp0fJVYAIooN0RXd0BWHxHzl5lkYh7EYh2n2Fz+KrABEHOuiM9rhYByMFsjVzqaMCjADX2MKpuJzZ/stR5oVgNhgeRyA1miDDugQyWVJV2AaJuJbTMMke18vLqwAxBL3xsFogTw0RR7y1B4sWorZyMds5GMmprrF2r1iMmcFIAFYfWspaIqmaIy9Ud/LswWbsQSL8BPyMXvLwHdrtFtusmUFIJFYD3uhPuqjDmqhNmqhFmohF7VRHtVQeeviZZW3L2K2Aeu3/3cNNmMFCrASK7ECK7ESy7EES7DYLdVulQnf/wPBSvRRDFzlRgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMC0xMS0yMFQwOTo1NDowNyswMDowMFCrdXUAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjAtMTEtMjBUMDk6NTQ6MDcrMDA6MDAh9s3JAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg==\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgPowerButton, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/power-button.4f1c0e21.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { MessageServices } from 'lib/services/api/messaging/message_services';\nimport { useContext, useEffect, useState } from 'react';\nimport { WorkshopContext } from 'views/Operations/Workshop/WorkshopContext/WorkshopContext';\nimport { IconButton } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n badge: {\n width: '24px',\n height: '24px',\n borderRadius: '14px',\n // backgroundColor: 'red',\n fontSize: '16px',\n marginTop: '-1px',\n marginLeft: '-15px',\n color: '#fff'\n },\n}));\n\nfunction MessageCount() {\n const classes = useStyles()\n const { messageTotalCount, setMessagetotalCount } = useContext(WorkshopContext)\n const [messageDetails, setMessageDetails] = useState({})\n //message bagde\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n\n const getTotalUnReadCount = async () => {\n if (!userDetails?.id) return;\n const params = {\n user_id: userDetails?.id\n }\n MessageServices.getTotalUnReadCount(params).then((res) => {\n setMessageDetails(res.data)\n let total = parseInt(res.data.message_count) + parseInt(res.data.read_sign_count)\n setMessagetotalCount(total)\n }).catch(() => {\n\n })\n }\n // console.log(\"messagecount======\", messageTotalCount)\n useEffect(() => {\n const timeout = setTimeout(() => {\n getTotalUnReadCount()\n }, 0)\n return () => {\n clearTimeout(timeout)\n }\n }, [userDetails?.id])\n return (\n <>\n {messageTotalCount > 0 ? \n {messageTotalCount} : ''}\n\n \n )\n}\n\nexport default MessageCount","import React, { useState, useReducer, useEffect, useContext } from 'react';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport Divider from '@material-ui/core/Divider';\nimport Drawer from '@material-ui/core/Drawer';\nimport Hidden from '@material-ui/core/Hidden';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport useTheme from '@material-ui/core/styles/useTheme';\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { IconButton, SvgIcon } from '@material-ui/core'\nimport { ReactComponent as AccountsIcon } from \"../../assets/icons/Accounts.svg\";\nimport { ReactComponent as AdminIcon } from \"../../assets/icons/Admin.svg\";\nimport { ReactComponent as ComplianceIcon } from \"../../assets/icons/Compliance.svg\";\nimport { ReactComponent as PlanningIcon } from \"../../assets/icons/Calendar.svg\";\nimport { ReactComponent as Procurement } from \"../../assets/icons/Procurement.svg\";\nimport { ReactComponent as DashboardIcon } from \"../../assets/icons/Dashboard.svg\";\nimport { ReactComponent as CommercialIcon } from \"../../assets/icons/Commercial.svg\";\n// import { ReactComponent as ReportsIcon } from \"../../assets/icons/Rreporticon.svg\";\n\nimport { ReactComponent as InfoIcon } from \"../../assets/icons/Info.svg\";\nimport { ReactComponent as SMSIcon } from \"../../assets/icons/shield.svg\";\nimport { ReactComponent as MessagingIcon } from \"../../assets/icons/Messaging.svg\";\nimport { ReactComponent as OperationsIcon } from \"../../assets/icons/Operations.svg\";\nimport { ReactComponent as StoresIcon } from \"../../assets/icons/Stores.svg\";\nimport { ReactComponent as LogoutIcon } from \"../../assets/icons/power-button.svg\";\n// import LogoutIcon from '@material-ui/icons/PowerSettingsNew';\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport MROButton from \"../../components/buttons\";\nimport Typography from \"@material-ui/core/Typography\";\nimport authReducer, { INITIAL_STATE } from '../../reducers/auth_reducer';\nimport AuthActions from '../../actions/auth_actions';\nimport MessageCount from 'views/Messaging/MessageCount';\n\n\n//If changed Change in /components/fullwidth_dialog styles\nconst drawerWidth = 250;\nconst orgLogo = sessionStorage.getItem('logo') || \"/mro-pro-logo.png\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n },\n drawer: {\n [theme.breakpoints.up('sm')]: {\n width: drawerWidth,\n flexShrink: 0,\n },\n },\n menuButton: {\n marginRight: theme.spacing(2),\n [theme.breakpoints.up('sm')]: {\n display: 'none',\n },\n },\n toolbar: theme.mixins.toolbar,\n drawerPaper: {\n width: drawerWidth,\n background: `transparent linear-gradient(204deg, ${theme.palette.primary.main} 0%, ${theme.palette.secondary.main} 100%) 0% 0% no-repeat padding-box`,\n },\n content: {\n flexGrow: 1,\n },\n orgLogo: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'absolute',\n left: '40px',\n top: '25px',\n right: '40px',\n '& img': {\n maxWidth: '200px',\n maxHeight: '75px'\n }\n },\n navList: {\n opacity: '0.70',\n color: '#fff',\n '&:hover': {\n color: '#fff',\n borderLeft: `3px solid ${theme.palette.secondary.main}`,\n opacity: '0.80'\n },\n '&.Mui-selected': {\n color: '#fff',\n borderLeft: `3px solid ${theme.palette.secondary.main}`,\n opacity: '0.95'\n }\n },\n logout: {\n color: '#fff',\n position: 'absolute',\n bottom: 15,\n left: 15,\n display: 'flex',\n alignItems: 'center',\n fontSize: 16,\n cursor: 'pointer'\n },\n footerLogout: {\n color: '#fff',\n // position: 'relative',\n paddingBottom: 15,\n paddingLeft: 10,\n display: 'flex',\n alignItems: 'center',\n fontSize: 16,\n cursor: 'pointer'\n },\n badge: {\n width: '24px',\n height: '24px',\n borderRadius: '14px',\n // backgroundColor: 'red',\n fontSize: '16px',\n marginTop: '-1px',\n marginLeft: '-15px',\n color: '#fff'\n },\n}));\n\nconst ReportsIcon = (props) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nconst withDefaultLayout = (Component) => {\n function ComponentWithLayout(props) {\n const { container } = props;\n // const { messageTotalCount, setMessagetotalCount } = useContext(WorkshopContext)\n const classes = useStyles();\n const theme = useTheme();\n const [authState, dispatch] = useReducer(authReducer, INITIAL_STATE);\n const [mobileOpen, setMobileOpen] = useState(false);\n const [logoutConfirm, setLogoutConfirm] = useState(false);\n const [categories, setCategories] = useState([]);\n const [messageDetails, setMessageDetails] = useState({})\n const [messageTotalCount, setMessagetotalCount] = useState(0)\n const routes = JSON.parse(sessionStorage.getItem(\"RouterSetup\"))\n const currentPath = props.location.pathname;\n const isCurrentSection = (listValue) => {\n return (currentPath.indexOf(listValue) !== -1);\n }\n\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const handleLogout = () => {\n AuthActions.userSignOut();\n }\n\n const sections = [\n { name: \"Operations\", url: \"/org/operations\", redirect: `${routes?.Operations && routes?.Operations?.length > 0 ? routes?.Operations[0]?.redirect : `/org/operations/line_maintenance/work_order`}`, icon: , badge: false },\n\n { name: \"Planning\", url: \"/org/planning\", redirect: `${routes?.Planning && routes?.Planning?.length > 0 ? routes?.Planning[0]?.redirect : \"/org/planning/workshop/maintenance\"}`, icon: , badge: false },\n\n { name: \"Dashboard\", label: \"Dashboards\", url: \"/org/dashboard\", redirect: `${routes?.Dashboard && routes?.Dashboard?.length > 0 ? routes?.Dashboard[0]?.redirect : \"/org/dashboard/line_maintenance/performance\"}`, icon: , badge: false },\n //change thislater\n { name: \"Reports\", label: \"Reports\", url: \"/org/reports\", redirect: `${routes?.Reports && routes?.Reports?.length > 0 ? routes?.Reports[0]?.redirect : \"/org/reports/sub_reports/favourites\"}`, icon: , badge: false },\n\n { name: \"Stores\", url: \"/org/stores\", redirect: `${routes?.Stores && routes?.Stores?.length > 0 ? routes?.Stores[0]?.redirect : \"/org/stores/parts/stock\"}`, icon: , badge: false },\n { name: \"Procurement\", url: \"/org/procurement\", redirect: `${routes?.Procurement && routes?.Procurement?.length > 0 ? routes?.Procurement[0]?.redirect : \"/org/procurement/parts/request\"}`, icon: , badge: false },\n { name: \"Commercial\", url: \"/org/commercial\", redirect: `${routes?.Commercial && routes?.Commercial?.length > 0 ? routes?.Commercial[0]?.redirect : \"/org/commercial/line/customer\"}`, icon: , badge: false },\n { name: \"Compliance\", url: \"/org/compliance\", redirect: `${routes?.Compliance && routes?.Compliance?.length > 0 ? routes?.Compliance[0]?.redirect : '/org/compliance/user_compliance'}`, icon: , badge: false },\n\n { name: \"SMS\", label: \"SMS\", url: \"/org/sms\", redirect: `${routes?.SMS && routes?.SMS?.length > 0 ? routes?.SMS[0]?.redirect : '/org/sms/mysms/my_report'}`, icon: , badge: false },\n { name: \"Messaging\", url: \"/org/messaging\", redirect: \"/org/messaging\", icon: , badge: true },\n\n { name: \"Accounts\", url: \"/org/accounts\", redirect: `${authState?.authState?.user_role === \"reading_group\" ? \"/org/accounts/workshop/maintenance\" : routes?.Accounts && routes?.Accounts?.length > 0 ? routes?.Accounts[0]?.redirect : \"/org/accounts/line_maintenance/activity_report\"}`, icon: , badge: false },\n\n { name: \"Admin\", url: \"/org/admin\", redirect: `${routes?.Admin && routes?.Admin?.length > 0 ? routes?.Admin[0]?.redirect : \"/org/admin/bases\"}`, icon: },\n { name: \"Info\", url: \"/org/info\", redirect: \"/org/info\", icon: , badge: false },\n ]\n\n const [section, setSection] = useState(sections);\n\n useEffect(() => {\n AuthActions.setUserData(dispatch, sessionStorage.getItem('authState'))\n }, [])\n\n useEffect(() => {\n setCategories(authState?.authState?.categories)\n }, [authState?.authState?.categories])\n\n useEffect(() => {\n if (authState?.authState?.categories) {\n setSection(section.filter(section => {\n return authState.authState.categories?.some(category => {\n // console.log(section.name)\n return section.name.includes(category.name)\n })\n }))\n }\n }, [categories?.length])\n\n const [permission, setPermission] = useState([]);\n useEffect(() => {\n // console.log(\"auth =========\", authState.authState.permissions, categories)\n if (authState?.authState?.permission) {\n setPermission(categories?.map(category => {\n return authState.authState.permissions.find(permission => permission.source_id === category.id)\n }).filter(per => (per.read || per.write)))\n }\n }, [categories?.length])\n\n useEffect(() => {\n if (!!permission?.length) {\n setSection(section.filter(section => {\n return permission?.some(per => {\n return per?.source_type === section.name\n })\n }))\n }\n }, [permission])\n\n const drawer = (\n
\n
\n
\n
\n \n \n \n
\n \n \n {\n !!section.length &&\n <>\n {section?.map((sec, i) =>\n props.history.push(sec.redirect)}>\n {sec.icon}\n {sec?.label || sec.name}\n {sec?.badge ? : ''}\n \n )}\n setLogoutConfirm(true)}>\n \n Logout\n \n \n }\n \n
\n );\n\n return (\n <>\n
\n \n \n
\n \n
\n
\n setLogoutConfirm(false)}\n >\n \n Confirm Logout?\n \n You are about to logout.\n Any unsaved data will be cleared.\n You'll have to login again to use the application.\n \n \n \n setLogoutConfirm(false)} variant={\"contained\"}>\n Cancel\n \n \n Logout\n \n \n \n \n );\n }\n return (ComponentWithLayout)\n}\n\n\nexport default withDefaultLayout;\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nconst useAuthStyles = makeStyles(theme => ({\n wrapper: {\n height: '100vh',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundImage: \"url('/login_bg.png')\",\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n color: 'white',\n },\n orgLogo: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n '& img': {\n maxWidth: '200px',\n maxHeight: '80px'\n }\n },\n form: {\n color: '#fff',\n '& h6': {\n marginBottom: '20px',\n color: \"white\"\n },\n [theme.breakpoints.down(\"sm\")]: {\n width: '75%',\n margin: 'auto'\n }\n },\n formField: {\n margin: '20px 0',\n '& input': {\n color: '#fff'\n },\n '& .MuiInputBase-root': {\n backgroundColor: \"#ffffff1c\"\n },\n '& .MuiFormHelperText-root': {\n color: '#f96161'\n }\n },\n overlay: {\n background: \"transparent linear-gradient(180deg, #163E6E 0%, #0B1F37 100%) 0% 0% no-repeat padding-box\",\n position: \"absolute\",\n top: 0,\n bottom: 0,\n width: \"100vw\",\n opacity: \"0.95\"\n },\n submit: {\n backgroundColor: \"#fff\",\n color: theme.palette.primary.main,\n fontWeight: '400',\n '&:hover': {\n backgroundColor: \"#fff\",\n color: theme.palette.primary.main,\n fontWeight: '500',\n }\n },\n eye: {\n cursor: \"pointer\"\n },\n brandLogo: {\n position: \"absolute\",\n bottom: '25px',\n '& img': {\n width: '200px',\n }\n },\n password: {\n '-webkit-text-security': 'disc',\n '-moz-webkit-text-security': 'disc',\n '-moz-text-security': 'disc',\n '& legend': {\n display: 'none'\n }\n }\n\n}));\n\nexport default useAuthStyles;","import AuthClient from '../lib/services/api/auth_services';\n\nexport const AUTH_ACTIONS = {\n AUTHENTICATED: 'authenticated_user',\n SET_AUTH_STATE: 'save_user',\n AUTHENTICATION_ERROR: 'authentication_error',\n PASSWORD_CHANGE_SUCCESS: 'password_change_success',\n PASSWORD_CHANGE_ERROR: 'password_change_error',\n TOGGLE_LOADING_STATE: 'toggle_loading_state',\n TOGGLE_MASK: 'toggle_mask_state',\n CLEAR: 'clear',\n SET_ERRORS: 'set_error'\n}\n\nexport function userSignIn(dispatch, formData, params) {\n const { email, password, browser, history} = params\n // dispatch({ type: AUTH_ACTIONS.TOGGLE_LOADING_STATE });\n AuthClient.login(formData).then((response) => {\n debugger;\n if (response.user) {\n history.push({\n pathname: '/auth/two-factor-auth',\n email: email,\n password: password,\n application: 'web',\n browser: browser,\n entitySid: response.user.totp_entity_sid\n });\n // debugger;\n // dispatch({ type: AUTH_ACTIONS.AUTHENTICATED, response: response })\n // sessionStorage.setItem(\"authState\", JSON.stringify(response));\n\n // debugger;\n // window.location.href = '/home';\n // window.location.href = '/auth/two-factor-auth';\n }\n else if (response.errors) {\n dispatch({ type: AUTH_ACTIONS.AUTHENTICATION_ERROR, response: response.errors ? response.errors.join(\" ,\") : \"Something went wrong\" })\n }\n }).catch((e) => {\n dispatch({ type: AUTH_ACTIONS.AUTHENTICATION_ERROR, response: e.errors ? e.errors.join(\" ,\") : \"Something went wrong\" })\n });\n}\n\nexport function setUserData(dispatch) {\n const data = JSON.parse(sessionStorage.getItem(\"authState\"));\n const user = JSON.parse(sessionStorage.getItem('user'));\n dispatch({ type: AUTH_ACTIONS.SET_AUTH_STATE, authState: data, user })\n}\n\nexport function userSignOut(dispatch) {\n async function logout() {\n const orgLogo = sessionStorage.getItem('logo') || \"\";\n const user = JSON.parse(sessionStorage.getItem('user'));\n if (user && user.email) {\n AuthClient.logout().then(() => {\n sessionStorage.clear();\n orgLogo && sessionStorage.setItem('logo', orgLogo);\n }).catch(() => {\n sessionStorage.clear();\n orgLogo && sessionStorage.setItem('logo', orgLogo);\n });\n }\n else {\n sessionStorage.clear();\n orgLogo && sessionStorage.setItem('logo', orgLogo);\n }\n }\n logout().then(() => {/*Nothing to Do*/ });\n}\n\nexport function changePassword(dispatch, formData, headers, handleSuccess) {\n dispatch({ type: AUTH_ACTIONS.TOGGLE_LOADING_STATE });\n AuthClient.changePassword(formData, headers).then((res) => {\n if (res.success) {\n dispatch({ type: AUTH_ACTIONS.PASSWORD_CHANGE_SUCCESS, response: res });\n handleSuccess();\n }\n else {\n dispatch({ type: AUTH_ACTIONS.PASSWORD_CHANGE_ERROR, response: res.errors ? res.errors.join(', ') : res.message ? res.message : \"Something Went wrong!. Try again.\" });\n }\n }).catch(() => {\n dispatch({ type: AUTH_ACTIONS.PASSWORD_CHANGE_ERROR });\n })\n}\n\nexport function setError(dispatch, error) {\n dispatch({ type: AUTH_ACTIONS.SET_ERRORS, error: error });\n}\n\nexport function changeFieldMask(dispatch) {\n dispatch({ type: AUTH_ACTIONS.TOGGLE_MASK });\n}\n\nconst TwoFactorAuthActions = {\n userSignIn,\n userSignOut,\n changePassword,\n changeFieldMask,\n setError,\n setUserData\n}\n\nexport default TwoFactorAuthActions;\n","import React, { useEffect, useReducer, useState } from 'react';\nimport Button from '@material-ui/core/Button';\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport FormHelperText from \"@material-ui/core/FormHelperText\";\nimport InputAdornment from \"@material-ui/core/InputAdornment/InputAdornment\";\nimport PasswordVisible from \"@material-ui/icons/Visibility\";\nimport PasswordHide from \"@material-ui/icons/VisibilityOff\";\nimport { validateEmail } from \"../../lib/utils/common_utils\";\nimport UserIcon from \"@material-ui/icons/PersonOutlined\";\nimport LockIcon from \"@material-ui/icons/LockOutlined\";\nimport useAuthStyles from \"./auth_styles\";\nimport authReducer, { INITIAL_STATE } from \"../../reducers/auth_reducer\";\nimport AuthActions from \"../../actions/auth_actions\";\nimport AuthClient from '../../lib/services/api/auth_services';\nimport TwoFactorAuthActions from 'actions/Two_factor_auth';\nconst { detect } = require('detect-browser');\n\n\nconst orgLogo = sessionStorage.getItem('logo') || \"\";\n\nexport default function SignIn(props) {\n const classes = useAuthStyles();\n const [authState, dispatch] = useReducer(authReducer, INITIAL_STATE);\n const { loading, error, mask } = authState;\n\n const [userBrowser, setUserBrowser] = useState('')\n\n useEffect(() => {\n const browser = detect();\n setUserBrowser(browser.name)\n }, [])\n\n const handleSubmit = (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const email = formData.get('eid');\n const password = formData.get('secret_phrase');\n formData.append('browser', userBrowser)\n\n if (!validateEmail(email.trim())) {\n AuthActions.setError(dispatch, { email: \"invalid format, provide valid email\" });\n return;\n }\n const params = {\n email: email,\n password: password,\n application: 'web',\n browser: userBrowser,\n history: props.history,\n }\n TwoFactorAuthActions.userSignIn(dispatch, { email: email, success: false, password: password, application: 'web', browser: userBrowser }, params);\n\n // if (process.env.REACT_APP_ENV === \"development\") {\n // AuthActions.userSignIn(dispatch, { email: email, password: password, verified_otp: true, success: true, application: 'web', browser: userBrowser })\n // } else {\n // TwoFactorAuthActions.userSignIn(dispatch, { email: email, success: false, password: password, application: 'web', browser: userBrowser }, params);\n // }\n };\n\n useEffect(() => {\n //AuthActions.userSignOut(dispatch)\n const queryString = window.location.search;\n queryString != '' && loginViaSuperAdmin();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const loginViaSuperAdmin = (queryString) => {\n const urlParams = new URLSearchParams(window.location.search);\n const accessToken = urlParams.get('access-token')\n const client = urlParams.get('client')\n const uId = urlParams.get('uid')\n let formData = new FormData();\n formData.append(\"organisation_id\", urlParams.get('orgId'));\n const headers = {\n \"access-token\": accessToken,\n \"client\": client,\n \"uid\": uId,\n \"cache-control\": \"max-age=0, private, must-revalidate\",\n \"content-type\": \"application/json; charset=utf-8\",\n \"expiry\": \"1606917294\",\n \"token-type\": \"Bearer\"\n }\n sessionStorage.setItem('authorization_headers', JSON.stringify(headers));\n setTimeout(() => {\n AuthClient.postOrgData(formData).then((res) => {\n sessionStorage.setItem(\"authState\", JSON.stringify(res));\n window.location.href = '/home';\n })\n }, 1000)\n }\n const clearError = () => {\n AuthActions.setError(dispatch, { email: false });\n }\n const handleMasked = () => {\n AuthActions.changeFieldMask(dispatch);\n }\n\n return (\n
\n
\n
\n
\n \n
\n
\n {/* Login */}\n \n \n \n \n }\n />\n {!!error.email && {error.email ? error.email : null}}\n \n \n \n \n \n }\n endAdornment={\n \n {!mask ? :\n }\n \n }\n name=\"secret_phrase\"\n type={mask ? \"password\" : \"text\"}\n placeholder={\"Password\"}\n autoComplete=\"new-password\"\n onFocus={clearError}\n />\n \n
\n props.history.push('/auth/forgot-password')}>\n Forgot password?\n \n
\n \n Sign In\n \n
\n {error.message || null}\n
\n \n
\n
\n {\"mro\n
\n
\n );\n}","import React, { useState } from 'react';\nimport Button from '@material-ui/core/Button';\nimport Typography from \"@material-ui/core/Typography/Typography\";\nimport AuthClient from \"../../lib/services/api/auth_services\";\nimport { validateEmail } from \"../../lib/utils/common_utils\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport MailIcon from \"@material-ui/icons/EmailOutlined\";\nimport useAuthStyles from \"./auth_styles\";\n\n\nexport default function ForgotPassword(props) {\n const classes = useAuthStyles();\n const [loading, setLoading] = useState(false);\n const [message, setMessage] = useState(null);\n const [error, setError] = useState({});\n\n const handleSubmit = (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const email = formData.get('username').trim();\n if (!validateEmail(email)) {\n setError({ email: \"invalid format, provide valid email\" });\n return;\n }\n formData.delete(\"username\")\n setLoading(true);\n formData.append(\"email\", email)\n // formData.append(\"redirect_url\", `${process.env.REACT_APP_BASE_URL}/auth/reset-password`);\n formData.append(\"redirect_url\", \"https://app.mro-pro.com/auth/reset-password\");\n AuthClient.requestReset(formData).then((res) => {\n setMessage(res);\n setLoading(false);\n }).catch((e) => {\n setLoading(false);\n setMessage({ message: Entered username not found in the system
Kindly retry with your registered email address!
, success: false });\n });\n };\n\n return (\n
\n
\n
\n {!!!message ?
\n Reset Password\n
Enter your registered email id to get password reset link
\n \n { setError(false) }}\n startAdornment={\n \n \n }\n />\n \n
\n \n Submit\n \n
\n props.history.push('/auth/signin')}>\n Sign in instead?\n \n
\n
\n
:
\n \n {message.message}\n \n {!message.success && setMessage(null)}\n >\n Retry\n }\n {message.message &&\n props.history.push('/auth/signin')}>\n Sign in\n \n }\n }\n
\n
\n {\"mro\n
\n
\n );\n}","import React from \"react\";\nimport SnackbarContent from \"@material-ui/core/SnackbarContent/SnackbarContent\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Offline } from \"react-detect-offline\";\n\nconst useStyles = makeStyles(theme => ({\n root: {\n maxWidth: 600,\n },\n snackbar: {\n margin: theme.spacing(1),\n },\n}));\n\n\nexport default function Footer() {\n const classes = useStyles();\n return (\n
\n valpha0.5.115\n \n
\n \n
\n
\n {/*Development*/}\n
\n )\n}","import React, { useEffect, useState } from \"react\";\nimport Button from \"@material-ui/core/Button\";\nimport Typography from \"@material-ui/core/Typography/Typography\";\nimport AuthClient from \"../../lib/services/api/auth_services\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport LockIcon from \"@material-ui/icons/LockOutlined\";\nimport useAuthStyles from \"./auth_styles\";\nimport { getParams } from \"../../lib/utils/common_utils\";\nimport { FormHelperText, Box, ListItem } from \"@material-ui/core\";\n\nexport default function ResetPassword(props) {\n const classes = useAuthStyles();\n const [password, handlePasswordChange] = useState();\n const [passwordConfirmation, handleConfirmPassword] = useState();\n const [message, setMessage] = useState(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState();\n const [errorMessage, setErrorMessage] = useState(\"\");\n let headers = getParams(props.location.search);\n\n const query = new URLSearchParams(props.location.search);\n\n const accessToken = query.get(\"access_token\");\n\n useEffect(() => {\n // if (!headers || !headers['access-token']) {\n // props.history.push('/auth/forgot-password');\n // }\n // if (!accessToken) {\n // props.history.push(\"/auth/forgot-password\");\n // }\n }, []);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n if (passError) {\n return true;\n }\n\n if (password !== passwordConfirmation) {\n setError(true);\n } else {\n setLoading(true);\n const formData = {\n password: password,\n password_confirmation: passwordConfirmation,\n };\n AuthClient.changePassword(formData, headers)\n .then((res) => {\n setMessage(res);\n handleSuccess();\n })\n .catch(() => {\n setLoading(false);\n setMessage({\n message: \"Something went wrong. Please try again!\",\n success: false,\n });\n });\n }\n };\n const handleSuccess = () => {\n setTimeout(() => {\n props.history.replace(\"/auth/signin\");\n }, 2000);\n };\n\n const passwordRegex = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[a-zA-Z]).{8,}$/;\n const [passError, setPassError] = useState(false);\n const handleKeyUp = (e) => {\n setPassError(!passwordRegex.test(e.target.value));\n };\n\n return (\n
\n
\n \n
\n {!!!message ? (\n \n \n Change Password\n \n
\n Choose new strong password{\" \"}\n
\n \n {\n handlePasswordChange(e.target.value);\n }}\n onKeyUp={handleKeyUp}\n onFocus={() => setError(false)}\n startAdornment={\n \n \n \n }\n />\n {passError && (\n \n
    \n
  • Password must be 8 or more characters in length
  • \n
  • Password must contain 1 or more UPPERCASE letters
  • \n
  • \n Password must contain 1 or more numerical characters\n
  • \n
  • \n Password must contain 1 or more special characters\n
  • \n
\n
\n )}\n
\n \n {\n handleConfirmPassword(e.target.value);\n }}\n onFocus={() => setError(false)}\n startAdornment={\n \n \n \n }\n />\n {error && (\n Password do not match\n )}\n \n
\n \n Submit\n \n
\n \n ) : (\n \n \n {message.message}\n \n {!message.success && (\n setMessage(null)}\n >\n Retry\n \n )}\n
\n )}\n
\n \n
\n {\"mro\n
\n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport Button from \"@material-ui/core/Button\";\nimport Typography from \"@material-ui/core/Typography/Typography\";\nimport AuthClient from \"../../lib/services/api/auth_services\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport LockIcon from \"@material-ui/icons/LockOutlined\";\nimport useAuthStyles from \"./auth_styles\";\nimport { getParams } from \"../../lib/utils/common_utils\";\nimport { FormHelperText } from \"@material-ui/core\";\n\nexport default function SetPassword(props) {\n const classes = useAuthStyles();\n const [password, handlePasswordChange] = useState();\n const [passwordConfirmation, handleConfirmPassword] = useState();\n const [message, setMessage] = useState(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState();\n let headers = getParams(props.location.search);\n\n const query = new URLSearchParams(props.location.search);\n\n const accessToken = query.get(\"access_token\");\n\n useEffect(() => {\n // if (!headers || !headers['access-token']) {\n // props.history.push('/auth/forgot-password');\n // }\n\n // if (!accessToken) {\n // props.history.push(\"/auth/forgot-password\");\n // }\n }, []);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n if (passError) {\n return true;\n }\n if (password !== passwordConfirmation) {\n setError(true);\n } else {\n setLoading(true);\n const formData = {\n password: password,\n password_confirmation: passwordConfirmation,\n };\n AuthClient.changePassword(formData, headers)\n .then((res) => {\n setMessage(res);\n handleSuccess();\n })\n .catch(() => {\n setLoading(false);\n setMessage({\n message: \"Something went wrong. Please try again!\",\n success: false,\n });\n });\n }\n };\n const handleSuccess = () => {\n setTimeout(() => {\n props.history.replace(\"/auth/signin\");\n }, 2000);\n };\n\n const passwordRegex = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[a-zA-Z]).{8,}$/;\n const [passError, setPassError] = useState(false);\n const handleKeyUp = (e) => {\n setPassError(!passwordRegex.test(e.target.value));\n };\n\n return (\n
\n
\n
\n {!!!message ? (\n \n \n Setup Password\n \n
Choose new strong password
\n \n {\n handlePasswordChange(e.target.value);\n }}\n onFocus={() => setError(false)}\n onKeyUp={handleKeyUp}\n startAdornment={\n \n \n \n }\n />\n {passError && (\n \n
    \n
  • Password must be 8 or more characters in length
  • \n
  • Password must contain 1 or more UPPERCASE letters
  • \n
  • \n Password must contain 1 or more numerical characters\n
  • \n
  • Password must contain 1 or more special characters
  • \n
\n
\n )}\n
\n \n {\n handleConfirmPassword(e.target.value);\n }}\n onFocus={() => setError(false)}\n startAdornment={\n \n \n \n }\n />\n {error && Password do not match}\n \n
\n \n Submit\n \n
\n \n ) : (\n \n \n {message.message}\n \n {!message.success && (\n setMessage(null)}\n >\n Retry\n \n )}\n
\n )}\n
\n
\n {\"mro\n
\n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport Button from \"@material-ui/core/Button\";\nimport Typography from \"@material-ui/core/Typography/Typography\";\nimport AuthClient from \"../../lib/services/api/auth_services\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport LockIcon from \"@material-ui/icons/LockOutlined\";\nimport useAuthStyles from \"./auth_styles\";\nimport { getParams } from \"../../lib/utils/common_utils\";\nimport MROTextField from \"../../components/form_components/TextField\";\n\nexport default function SetPin(props) {\n const classes = useAuthStyles();\n const [state, setState] = useState({\n pin: \"\",\n pin_confirmation: \"\",\n });\n const [password, handlePasswordChange] = useState();\n const [passwordConfirmation, handleConfirmPassword] = useState();\n const [message, setMessage] = useState(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState({ message: \"\", error: false });\n let headers = getParams(props.location.search);\n\n const query = new URLSearchParams(props.location.search);\n\n const accessToken = query.get(\"access_token\");\n\n useEffect(() => {\n // if (!headers || !headers['access-token']) {\n // props.history.push('/auth/forgot-password');\n // }\n\n // if (!accessToken) {\n // props.history.push(\"/auth/forgot-password\");\n // }\n }, []);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n console.log(state.pin, state.pin_confirmation);\n if (state.pin.length < 6) {\n setError({ message: \"Minimum 6 digit required\", error: true });\n }\n if (state.pin !== state.pin_confirmation) {\n setError({ message: \"Pin do not match\", error: true });\n } else {\n setLoading(true);\n setError({ message: \"\", error: false });\n const formData = state;\n console.log(formData, headers);\n AuthClient.changePin(formData, headers)\n .then((res) => {\n setMessage({\n message:\n \"Your pin has been set successfully. Kindly use this pin to login into the MRO-PRO iOS or Android application.\",\n success: true,\n });\n })\n .catch((error) => {\n console.log({ error });\n setLoading(false);\n setMessage({\n message: \"Something went wrong. Please try again!\",\n success: false,\n });\n });\n }\n };\n\n const handleChangeInput = (e) => {\n const re = /^[0-9]/; //rules\n console.log(\"passes\", re.test(e.target.value), e.target.value);\n\n if (re.test(e.target.value)) {\n console.log(\"passes\", re.test(e.target.value));\n return setState({\n ...state,\n [e.target.name]: e.target.value,\n });\n } else {\n setState({\n ...state,\n [e.target.name]: \"\",\n });\n }\n };\n\n return (\n
\n
\n
\n {!!!message ? (\n \n \n Setup Pin\n \n
Choose new pin
\n {/* */}\n setError(false)}\n startAdornment={\n \n \n \n }\n />\n {/* */}\n \n setError(false)}\n startAdornment={\n \n \n \n }\n />\n {error.error && (\n {error.message}\n )}\n \n
\n \n Submit\n \n
\n \n ) : (\n \n \n {message.message}\n \n {!message.success && (\n setMessage(null)}\n >\n Retry\n \n )}\n
\n )}\n
\n
\n {\"mro\n
\n \n );\n}\n\n\n\n","import { Avatar, Box, Grid, Typography } from \"@material-ui/core\";\nimport MaterialTable from \"material-table\";\nimport React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport { Alert } from \"@material-ui/lab\";\nimport clsx from \"clsx\";\nimport TableAction from \"../../actions/table_actions\";\nimport tableIcons, {\n options,\n} from \"../../components/universal/table_attributes\";\nimport UserService from \"../../lib/services/api/admin/users/user_client\";\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from \"../../reducers/table_reducer\";\nimport { ToastMessageContext } from \"../../lib/contexts/message_context\";\nimport { useStyles } from \"./\";\n\nfunction LineManagerUsers({ messageState, setMessageState, user }) {\n const classes = useStyles();\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, searchText, inProgress, data } =\n tableState;\n const [lmUsers, setLmUsers] = useState([]);\n // const [loading, setLoading] = useState(false);\n // const message = useContext(ToastMessageContext);\n const [users, setUsers] = useState([]);\n\n // console.log(\"arary is==================\", lmUsers?.length)\n\n\n const messages = (status) => ({\n Good: `All is good, next action in ${status?.days || \"-\"} days`,\n Low: `Requires Attention, user will be locked out in ${status?.days || \"-\"\n } days`,\n Expired: \"Expired or Incomplete\",\n });\n\n const getMessageState = (data) => {\n switch (data?.status) {\n case \"Expired\":\n return \"error\";\n case \"Good\":\n return \"success\";\n case \"Low\":\n return \"amber\";\n default:\n break;\n }\n };\n\n const tableOptions = {\n ...options,\n page: page,\n search: false,\n total: totalCount,\n paging: false,\n pageSize: pageSize,\n searchText: searchText,\n };\n\n useEffect(() => {\n const params = {\n user_id: user.id\n }\n UserService.getLineManagerUsers(params).then(res => {\n setLmUsers(res.data)\n })\n\n }, []);\n\n // const getLimeManagerUsers = () => {\n // setLoading(false);\n // const params = {\n // id: user.id,\n // page: page + 1,\n // count_per_page: pageSize,\n // };\n // TableAction.getList(dispatch, message, params, \"users\");\n // };\n\n // useEffect(() => {\n // getLimeManagerUsers();\n // }, [pageSize, page, searchText, totalCount]);\n\n console.log(data);\n const columns = [\n {\n width: 100,\n title: \"Name\",\n field: \"user_name\",\n render: (rowData) => (\n \n \n    \n {rowData.user_name}\n \n ),\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: 70,\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: 25,\n },\n },\n {\n title: \"Compliance Status\",\n field: \"status\",\n render: (rowData) => (\n \n \n {rowData?.message}\n \n \n ),\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: -100,\n paddingRight: 20,\n width: \"70%\",\n },\n },\n ];\n\n // sorting user according to the status and days\n // expired => low => good\n // expired => ascending order in days\n // low => ascending order in days\n // good => ascending order in days\n const sortUsers = (users) => {\n const expiredUsers = [];\n const lowUsers = [];\n const goodUsers = [];\n\n users &&\n users.forEach((item, i) => {\n if (item.status.status.toLowerCase() === \"expired\") {\n expiredUsers.push(item);\n } else if (item.status.status.toLowerCase() === \"good\") {\n goodUsers.push(item);\n } else if (item.status.status.toLowerCase() === \"low\") {\n lowUsers.push(item);\n }\n });\n\n return [\n ...expiredUsers.sort((a, b) => a.status.days - b.status.days),\n ...lowUsers.sort((a, b) => a.status.days - b.status.days),\n ...goodUsers.sort((a, b) => a.status.days - b.status.days),\n ];\n };\n\n useEffect(() => {\n const { users } = data;\n\n if (users) {\n const sortedUsers = sortUsers(users);\n setUsers(sortedUsers);\n }\n }, [data]);\n\n return (\n \n \n \n You have {lmUsers?.length || 0} reports and their status is\n \n \n \n }\n options={{\n ...tableOptions,\n toolbar: false,\n headerStyle: { height: 50 },\n maxBodyHeight: \"350px\"\n }}\n data={lmUsers || []}\n isLoading={inProgress}\n columns={columns}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n );\n}\n\nexport default React.memo(LineManagerUsers);\n","export const topNavMenuOperations = [\n { name: 'Line Maintenance', redirect: '/org/operations/line_maintenance/work_order', section: '/line_maintenance/work_order' },\n { name: 'Workshop', redirect: '/org/operations/workshop/maintenance', section: '/operations/workshop' },\n { name: 'Flying Spanner', redirect: 'org/operations/flying_spanner/journey', section: '/operations/flying_spanner' },\n { name: 'Vehicles', redirect: '/org/operations/vehicles/vehicle_list', section: '/operations/vehicles' },\n { name: 'Station Checks', redirect: '/org/operations/station_checks', section: '/operations/station_checks' },\n { name: 'Handover', redirect: '/org/operations/handover/history', section: '/operations/handover' },\n];\n\nexport const topNavMenuPlanning = [\n { name: 'Line', redirect: '/org/planning/line/planned_work_order', section: '/planning/line' },\n { name: 'Workshop', redirect: '/org/planning/workshop/maintenance', section: '/planning/workshop' },\n { name: 'Shifts', redirect: '/org/planning/shifts/shift_plane', section: '/planning/shifts' },\n { name: 'Resource', redirect: '/org/planning/resource/shift_patterns', section: '/planning/resource' },\n];\n\nexport const topNavMenuDashboards = [\n { name: \"Line Maintenance\", redirect: \"/org/dashboard/line_maintenance/performance\", section: \"/dashboard/line_maintenance\" },\n { name: \"Workshop\", redirect: \"/org/dashboard/workshop/maintenance\", section: \"/dashboard/workshop\" },\n { name: \"User Compliance\", redirect: \"/org/dashboard/user_compliance\", section: \"/dashboard/user_compliance\", },\n { name: \"Station Compliance\", redirect: \"/org/dashboard/station/compliance\", section: \"/dashboard/station\" },\n { name: \"Stores\", redirect: \"/org/dashboard/stores/oil_accuracy\", section: \"/dashboard/stores\" },\n];\n\nexport const topNavMenuStores = [\n { name: 'Parts', redirect: '/org/stores/parts', section: '/stores/parts' },\n { name: 'Tooling', redirect: '/org/stores/tooling/in_stock', section: '/stores/tooling' },\n { name: 'Form 1 / 8130', redirect: '/org/stores/form1', section: '/stores/form1' },\n { name: 'Expendables', redirect: '/org/stores/expandables/items', section: '/stores/expandables' },\n];\n\nexport const topNavMenuProcurement = [\n { name: 'Parts', redirect: '/org/procurement/parts/request', section: '/procurement/parts' },\n { name: 'Services', redirect: '/org/procurement/services', section: '/procurement/services' },\n { name: 'Equipment', redirect: '/org/procurement/equipment/requests', section: '/procurement/equipment' },\n { name: 'Kits', redirect: '/org/procurement/kits/kit', section: '/procurement/kits' },\n];\n\nexport const topNavMenuCompliance = [\n { name: 'User compliance', redirect: '/org/compliance/user_compliance', section: '/compliance/user_compliance' },\n { name: 'Procedures', redirect: '/org/compliance/procedures', section: '/compliance/procedures' },\n { name: 'Read & Signs', redirect: '/org/compliance/read_and_signs', section: '/compliance/read_and_signs' },\n { name: 'Approvals', redirect: '/org/compliance/approvals/approval_types', section: '/compliance/approvals' },\n { name: 'Supplier', redirect: '/org/compliance/suppliers', section: '/compliance/suppliers' },\n { name: 'Admin', redirect: '/org/compliance/admin/training', section: '/compliance/admin' },\n];\n\nexport const topNavMenuAccounts = [\n { name: 'Line Maintenance', redirect: '/org/accounts/line_maintenance/lineworkorder', section: '/accounts/line_maintenance' },\n { name: \"Workshop\", redirect: '/org/accounts/workshop/maintenance', section: '/accounts/workshop' },\n { name: \"Flying Spanner\", redirect: '/org/accounts/flying_spanner/journey', section: '/accounts/flying_spanner' },\n { name: 'ADHOC Invoicing', redirect: '/org/accounts/adhoc_invoicing', section: '/accounts/adhoc_invoicing' },\n { name: \"Part Sales\", redirect: '/org/accounts/part_sales/sales', section: '/accounts/part_sales' },\n { name: 'Admin', redirect: '/org/accounts/admin/currencies', section: '/accounts/admin' },\n // { name: 'Kits', redirect: '/org/accounts/kits', section: '/accounts/kits' },\n]\n\nexport const topNavMenuAdmin = [\n { name: 'Bases', redirect: '/org/admin/bases', section: '/admin/bases' },\n { name: 'Users', redirect: '/org/admin/users/user_lists', section: '/admin/users' },\n { name: 'Stores', redirect: '/org/admin/stores/suppliers', section: '/admin/stores' },\n { name: 'Usage Report', redirect: '/org/admin/usage_report', section: '/admin/usage_report' },\n];\n\nexport const topNavMenuReports = [\n { name: 'Reports', redirect: '/org/reports/sub_reports/favourites', section: '/reports/sub_reports' },\n { name: 'Admin', redirect: '/org/reports/admin/setup', section: '/reports/admin' },\n\n];\nexport const topNavMenuSMS = [\n { name: 'My SMS', redirect: '/org/sms/mysms/my_report', section: '/sms/mysms' },\n { name: 'Audits', redirect: '/org/sms/audits/schedule', section: '/sms/audits' },\n { name: 'Inputs', redirect: '/org/sms/inputs/overview', section: '/sms/inputs' },\n { name: 'Tasks', redirect: '/org/sms/tasks/overview', section: '/sms/tasks' },\n { name: 'Meetings', redirect: '/org/sms/meetings/', section: '/sms/meetings' },\n { name: 'Risk', redirect: '/org/sms/risks/', section: '/sms/risks' },\n { name: 'Admin', redirect: '/org/sms/admin/bowtie_item', section: '/sms/admin' },\n];\nexport const topNavMenuCommercial = [\n\n {\n\n name: 'Line',\n redirect: '/org/commercial/line/customer',\n section: '/commercial/line'\n },\n\n {\n\n name: 'Workshop',\n redirect: '/org/commercial/workshop/customer',\n section: '/commercial/workshop'\n },\n {\n\n name: 'Parts',\n redirect: '/org/commercial/parts/sales',\n section: '/commercial/parts'\n },\n {\n\n name: 'Admin',\n redirect: '/org/commercial/admin/terms&condition',\n section: 'commercial/admin'\n },\n\n]","import React, { useContext, useState, useEffect } from 'react'\nimport MaterialTable from 'material-table'\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Box, IconButton, Typography } from \"@material-ui/core\";\nimport MROButton from 'components/buttons';\nimport moment from 'moment';\nimport ShiftServices from 'lib/services/api/planning/Shifts/shift';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport { getOrganisationId } from 'lib/utils/common_utils';\n\nimport LeaveReview from 'views/Planning/Shifts/Leave/LeaveReview';\n\n\nexport default function StaffLeave(props) {\n const { setTabLeaveValue, bases, shiftType, areaData, zoneData } = props\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(10)\n const [action, setAction] = useState('')\n const [selectedWeek, setSelectedWeek] = useState('')\n const [currentSelection, setCurrentSelection] = useState({})\n const [loading, setLoading] = useState(false)\n const [data, setData] = useState([])\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false\n };\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n const message = useContext(ToastMessageContext)\n\n const getListing = () => {\n\n const params = {\n organisation_id: getOrganisationId(),\n user_id: userDetails?.id,\n page: page + 1,\n limit: pageSize,\n\n\n }\n\n setLoading(true)\n ShiftServices.getStaffLeaveDetails(params).then((res) => {\n setData(res.data.listing)\n setTabLeaveValue(res.data.badge_number)\n setTotalCount(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n\n\n useEffect(() => {\n\n getListing();\n\n }, [page, pageSize, totalCount]);\n\n\n\n\n\n\n\n\n const renderViewInfoIcon = (rowData) => {\n\n return (\n {\n setAction('view')\n setCurrentSelection(rowData)\n setSelectedWeek(moment(rowData?.leave_start, \"DD/MM/YYYY HH:mm\").format(\"YYYY-MM-DD\"))\n }} style={{ backgroundColor: rowData?.status === 0 ? \"#FFB300\" : rowData?.status === 1 ? \"#4FC605\" : rowData?.status === 2 ? \"#FF0202\" : rowData?.status === 3 ? \"#FFB300\" : \"\", cursor: 'pointer', borderRadius: '5px' }}>\n {rowData?.status === 0 ? \"Unapproved\" : rowData?.status === 1 ? \"Approved\" : rowData?.status === 2 ? \"Rejected\" : rowData?.status === 3 ? \"Reapproval\" : \"\"}\n \n )\n }\n\n\n const columns = [\n\n\n {\n title: \"Requested\",\n field: \"requested\",\n headerStyle: {\n textAlign: 'left',\n paddingLeft: '20px'\n\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '20px'\n }\n },\n\n {\n title: \"Base\",\n field: \"base\",\n headerStyle: {\n textAlign: 'left',\n\n\n },\n cellStyle: {\n textAlign: 'left',\n\n }\n },\n\n {\n title: \"Name\",\n field: \"name\",\n headerStyle: {\n textAlign: 'left',\n width: '30%'\n },\n cellStyle: {\n width: '30%'\n }\n },\n {\n title: \"Leave Start\",\n field: \"leave_start\",\n width: '10%'\n },\n {\n title: \"Leave End\",\n field: \"leave_end\",\n width: '10%'\n },\n {\n title: \"Days\",\n field: \"days\",\n }, {\n title: \"Shifts\",\n field: \"shifts\",\n }, {\n title: \"Hours\",\n field: \"hours\",\n },\n {\n title: \"Status\",\n field: \"status\",\n render: rowData => renderViewInfoIcon(rowData)\n\n },\n\n ];\n return (\n
\n\n\n\n\n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n {action && action === \"view\" && {\n setAction('')\n }}\n bases={bases}\n shiftType={shiftType}\n areaData={areaData}\n zoneData={zoneData}\n currentSelections={currentSelection}\n selectedWeek={selectedWeek}\n setSelectedWeek={setSelectedWeek}\n getShiftLeaveDetails={getListing}\n\n />}\n
\n )\n}\n\n","import React, { useState, useEffect, useContext } from 'react'\nimport MaterialTable from 'material-table'\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Box, IconButton, Typography } from \"@material-ui/core\";\nimport MROButton from 'components/buttons';\nimport moment from 'moment';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport ShiftServices from 'lib/services/api/planning/Shifts/shift';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport OvertimeReview from 'views/Planning/Shifts/Overtime/OvertimeReview';\n\n\n\n\nexport default function StaffOvertime(props) {\n const { setTabOvertimeValue, pageLoading, setPageLoading, bases, shiftType, areaData, zoneData } = props\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(10)\n const [action, setAction] = useState('')\n const [selectedWeek, setSelectedWeek] = useState('')\n const [currentSelection, setCurrentSelection] = useState({})\n const [loading, setLoading] = useState(false)\n const [data, setData] = useState([])\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false\n };\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n const message = useContext(ToastMessageContext)\n\n\n\n\n const renderViewInfoIcon = (rowData) => {\n\n return (\n {\n setAction('view')\n setCurrentSelection(rowData)\n setSelectedWeek(moment(rowData?.overtime_start, \"DD/MM/YYYY HH:mm\").format(\"YYYY-MM-DD\"))\n }} style={{ backgroundColor: rowData?.status === 0 ? \"#FFB300\" : rowData?.status === 1 ? \"#4FC605\" : rowData?.status === 2 ? \"#FF0202\" : rowData?.status === 3 ? \"#FFB300\" : \"\", cursor: 'pointer', borderRadius: '5px' }}>\n {rowData?.status === 0 ? \"Unapproved\" : rowData?.status === 1 ? \"Approved\" : rowData?.status === 2 ? \"Rejected\" : rowData?.status === 3 ? \"Reapproval\" : \"\"}\n \n )\n }\n const getListing = () => {\n\n const params = {\n organisation_id: getOrganisationId(),\n user_id: userDetails?.id,\n page: page + 1,\n limit: pageSize,\n\n }\n\n setLoading(true)\n ShiftServices.getStaffOverTimeDetails(params).then((res) => {\n setData(res.data.listing)\n setTabOvertimeValue(res.data.badge_number)\n setTotalCount(res.total_count)\n setPageLoading(false)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n\n\n useEffect(() => {\n\n getListing();\n\n }, [page, pageSize, totalCount, pageLoading]);\n\n\n const columns = [\n\n\n {\n title: \"Requested\",\n field: \"requested\",\n headerStyle: {\n textAlign: 'left',\n paddingLeft: '20px'\n\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '20px'\n }\n },\n\n {\n title: \"Base\",\n field: \"base\",\n headerStyle: {\n textAlign: 'left',\n\n\n },\n cellStyle: {\n textAlign: 'left',\n\n }\n },\n\n {\n title: \"Name\",\n field: \"name\",\n headerStyle: {\n textAlign: 'left',\n width: '30%'\n },\n cellStyle: {\n textAlign: 'left',\n width: '30%'\n }\n },\n {\n title: \"Type\",\n field: \"type\",\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n\n }\n },\n {\n title: \"Overtime Start\",\n field: \"overtime_start\",\n width: '10%'\n },\n {\n title: \"Overtime End\",\n field: \"overtime_end\",\n width: '10%'\n }, {\n title: \"Hours\",\n field: \"hours\",\n },\n {\n title: \"Status\",\n field: \"action\",\n render: rowData => renderViewInfoIcon(rowData)\n\n },\n\n ];\n return (\n
\n\n\n\n\n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n {action && action === \"view\" && {\n setAction('')\n }}\n bases={bases}\n shiftType={shiftType}\n areaData={areaData}\n zoneData={zoneData}\n currentSelections={currentSelection}\n selectedWeek={selectedWeek}\n setSelectedWeek={setSelectedWeek}\n getShiftOvertimeDetails={getListing}\n\n />}\n
\n )\n}\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport ShiftServices from \"lib/services/api/planning/Shifts/shift\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"750px\",\n // height: \"110vh\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"50px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden !important\"\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n tableCell: {\n height: '32px',\n justifyContent: \"space-between\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n\n },\n })\n);\n\nfunction LeavePopUp(props) {\n const { handleClose, currentSelection } = props\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [data, setData] = useState([])\n const [Loading, setLoading] = useState(false)\n\n\n useEffect(() => {\n setLoading(true)\n let currentData = currentSelection?.this_period.split(\"-\")\n let nextData = currentSelection?.next_period.split(\"-\")\n setData([\n { title: \"\", value1: {currentData[0]}, value2: {nextData[0]} },\n { title: \"Entitlement\", value1: currentSelection?.entitlement, value2: currentSelection?.entitlement },\n { title: \"Carried Forward\", value1: currentSelection?.carry_forward, value2: currentSelection?.next_carry_forward },\n {\n title: \"Total\", value1: parseInt(currentSelection?.entitlement) + parseInt(currentSelection?.carry_forward), value2: parseInt(currentSelection?.entitlement) + parseInt(currentSelection?.next_carry_forward)\n },\n {\n title: \"Leave Accepted\", value1: currentSelection?.request_accepted || '-', value2: currentSelection?.next_period_accepted || \"-\"\n\n },\n { title: \"Leave Pending Approval\", value1: currentSelection?.request_pending || \"-\", value2: currentSelection?.next_period_pending || \"-\" },\n {\n title: \"Remaining\", value1: {currentSelection?.this_period_remaining}, value2: {currentSelection?.next_period_remaining}\n },\n\n\n ])\n setLoading(false)\n\n }, [currentSelection])\n\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n header: false,\n toolbar: false,\n rowStyle: {\n height: '42px'\n }\n };\n\n const column = [\n\n {\n title: \"title\",\n field: \"title\",\n width: '60%',\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n width: '60%',\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n width: '60%',\n },\n },\n {\n title: \"Current Period\",\n field: \"value1\",\n\n\n },\n\n {\n title: \"Next Period\",\n field: \"value2\",\n\n },\n ];\n\n\n\n\n\n return (\n
\n \n
\n \n User Leave Details\n \n\n \n \n \n
\n \n\n
\n )\n}\n\n\nexport default LeavePopUp","import React, { useContext, useState, useEffect } from 'react'\nimport MaterialTable from 'material-table'\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Box, IconButton, Paper, Popover, Typography, Grid, withStyles } from \"@material-ui/core\";\nimport MROButton from 'components/buttons';\nimport moment from 'moment';\nimport ShiftServices from 'lib/services/api/planning/Shifts/shift';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport GreenTickIcon from 'assets/green_filled_tick.png'\nimport RedCrossIcon from 'assets/Red remove icon.png'\nimport GearAmbear from 'assets/Amber gear@3x.png'\nimport { Delete } from '@material-ui/icons';\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport CreateLeaveRequest from 'views/Planning/Shifts/Leave/NewLeaveRequest';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport LeavePopUp from './LeavePopUp';\n\n\nconst BorderLinearProgress = withStyles((theme) => ({\n root: {\n height: 23,\n borderRadius: 10,\n },\n colorPrimary: {\n backgroundColor: '#4FC605',\n },\n bar: {\n borderRadius: 5,\n backgroundColor: theme.palette.secondary.main,\n },\n}))(LinearProgress);\n\nexport default function MyLeave() {\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(10)\n const [action, setAction] = useState('')\n const [loading, setLoading] = useState(false)\n const [data, setData] = useState([])\n const message = useContext(ToastMessageContext)\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n const [sectionDetails, setSectionDetails] = useState({})\n const [mouseX, setMouseX] = useState();\n const [mouseY, setMouseY] = useState();\n const [poperState, setPoperState] = useState(false)\n const [currentCommentsSelections, setCurrentCommentSelections] = useState({});\n const [gaugeValue, setGaugeValue] = useState(0)\n\n const getListing = () => {\n\n const params = {\n organisation_id: getOrganisationId(),\n page: page + 1,\n limit: pageSize,\n user_id: userDetails?.id,\n app: true\n\n }\n\n setLoading(true)\n ShiftServices.getShiftLeaveDetails(params).then((res) => {\n setData(res.data)\n setTotalCount(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n const handlepopupclose = () => {\n setAction(\"\")\n setPoperState(false)\n }\n\n useEffect(() => {\n\n getListing();\n\n }, [page, pageSize, totalCount]);\n\n\n\n const getSectionDetails = () => {\n\n const params = {\n organisation_id: getOrganisationId(),\n user_id: userDetails?.id,\n }\n\n\n ShiftServices.getHomePageMyLeaveSectionDetails(params).then((res) => {\n setSectionDetails(res.data)\n let value = parseFloat(res?.data?.request_total)\n let remaining = parseFloat(res?.data?.this_period_remaining).toFixed(2)\n\n if (value > remaining && remaining !== 0) {\n let tot = value - remaining\n let percentage = parseFloat(50 + tot).toFixed(2)\n // console.log(tot)\n setGaugeValue(isNaN(value) ? 0 : percentage > 100 && remaining !== 0 ? 80 : percentage)\n }\n else if (remaining > value) {\n let tot = remaining - value\n let total = tot > 100 ? remaining - tot : remaining - value\n\n let percentage = parseFloat(total <= 10 ? 5 : total <= 20 ? 10 : total <= 30 ? 15 : total <= 40 ? 20 : total <= 50 ? 25 : total <= 60 ? 30 : total <= 70 ? 35 : total <= 80 ? 40 : total <= 90 ? 45 : total <= 100 ? 50 : 50 - tot).toFixed(2)\n // console.log(tot)\n setGaugeValue(isNaN(value) ? 0 : percentage)\n }\n else if (remaining === 0 && value === 0) {\n setGaugeValue(0)\n }\n else if (remaining === value && remaining !== 0 && value !== 0) {\n setGaugeValue(50)\n }\n else if (remaining === 0 && value > 0) {\n\n setGaugeValue(100)\n }\n else {\n\n setGaugeValue(isNaN(value) ? 0 : value)\n }\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n\n })\n\n\n\n\n }\n console.log(\"Value=====\", gaugeValue)\n useEffect(() => {\n getSectionDetails()\n }, [])\n\n\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false\n };\n const handleDelete = async (rowData) => {\n\n setLoading(true)\n await ShiftServices.deleteLeaveRequest(rowData.id).then((res) => {\n\n message.showToastMessage({\n message: \"Leave request deleted successfully !\",\n variant: \"success\",\n });\n\n getListing()\n }).catch((res) => {\n\n message.showToastMessage({\n message: res.message ? res.message : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n const columns = [\n\n\n {\n title: \"Requested\",\n field: \"requested\",\n width: '30%',\n headerStyle: {\n textAlign: 'left',\n paddingLeft: '20px',\n\n width: '30%',\n\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '20px',\n width: '30%',\n }\n },\n {\n title: \"Leave Start\",\n field: \"leave_start\",\n width: '10%'\n },\n {\n title: \"Leave End\",\n field: \"leave_end\",\n width: '10%'\n },\n {\n title: \"Days\",\n field: \"days\",\n }, {\n title: \"Shifts\",\n field: \"shifts\",\n }, {\n title: \"Hours\",\n field: \"hours\",\n },\n {\n title: \"Status\",\n field: \"status\",\n render: (rowData) =>
\n {rowData?.status === 1 ? : rowData?.status === 2 ? {\n setAction(\"view_key\");\n setCurrentCommentSelections(rowData);\n setPoperState(!poperState)\n setMouseX(e.clientX);\n setMouseY(e.clientY);\n }} /> : rowData?.status === 0 || rowData?.status === 3 ? : \" \"}\n\n {action === \"view_key\" && \n\n \n {currentCommentsSelections?.reject_reason\n }\n\n\n \n }\n
\n }, {\n title: \"Action\",\n field: \"\",\n render: (rowData) => (\n rowData?.status === 0 || rowData?.status === 3 ? {\n handleDelete(rowData)\n }}>\n\n \n : ''\n )\n\n },\n\n ];\n // console.log(\"gaugevalue=\", isNaN(gaugeValue))\n\n\n return (\n
\n\n \n {\n // setGauge(true)\n setAction(\"popup\")\n }}\n\n\n // onMouseOut={() => {\n // setGauge(false)\n // setAction('')\n // }}\n />\n \n {\n // setGauge(true)\n setAction(\"popup\")\n }}>{sectionDetails?.request_total ? sectionDetails?.request_total : 0}/ {\n // setGauge(true)\n setAction(\"popup\")\n }}>{sectionDetails?.this_period_remaining} \n \n { setAction('create') }}>+ Add Request\n\n\n\n \n\n\n\n\n\n\n\n
\n\n\n\n\n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n\n
\n {action && action === \"create\" && {\n setAction('')\n }} getListing={getListing} type={\"home\"} />}\n\n {action && action === \"popup\" && {\n setAction('')\n }} getListing={getListing} currentSelection={sectionDetails} />}\n
\n )\n}\n","import React, { useState, useContext, useEffect } from 'react'\nimport MaterialTable from 'material-table'\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport TableAction from \"actions/table_actions\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Box, IconButton, Paper, Popover, Typography } from \"@material-ui/core\";\nimport MROButton from 'components/buttons';\nimport moment from 'moment';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport GreenTickIcon from 'assets/green_filled_tick.png'\nimport RedCrossIcon from 'assets/Red remove icon.png'\nimport GearAmbear from 'assets/Amber gear@3x.png'\nimport { Delete } from '@material-ui/icons';\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport ShiftServices from 'lib/services/api/planning/Shifts/shift';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport CreateLeaveRequest from 'views/Planning/Shifts/Overtime/NewLeaveRequest';\nimport momentTimeZone from 'moment-timezone';\n\nexport default function MyOvertime() {\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(10)\n const [action, setAction] = useState('')\n const [selectedWeek, setSelectedWeek] = useState('')\n const [currentSelection, setCurrentSelection] = useState({})\n const [loading, setLoading] = useState(false)\n const [data, setData] = useState([])\n const message = useContext(ToastMessageContext)\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n const [mouseX, setMouseX] = useState();\n const [mouseY, setMouseY] = useState();\n const [poperState, setPoperState] = useState(false)\n const [currentCommentsSelections, setCurrentCommentSelections] = useState({});\n\n const [userTimeZone, setUserTimeZone] = useState()\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false\n };\n\n\n const getListing = () => {\n\n const params = {\n organisation_id: getOrganisationId(),\n page: page + 1,\n limit: pageSize,\n user_id: userDetails?.id,\n app: true\n\n\n }\n\n setLoading(true)\n ShiftServices.getShiftOvertimeDetails(params).then((res) => {\n setData(res.data)\n setTotalCount(res.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n const handlepopupclose = () => {\n setAction(\"\")\n setPoperState(false)\n }\n\n useEffect(() => {\n\n getListing();\n\n }, [page, pageSize, totalCount]);\n\n useEffect(() => {\n const time = momentTimeZone.tz.guess();\n let time_zone = momentTimeZone().tz(`${time}`).utcOffset()\n let final = time_zone / 60\n setUserTimeZone(`${final}`)\n\n }, [])\n\n const handleDelete = async (rowData) => {\n\n setLoading(true)\n await ShiftServices.deleteOverTimeRequest(rowData.id).then((res) => {\n\n message.showToastMessage({\n message: \"Overtime request deleted successfully !\",\n variant: \"success\",\n });\n\n getListing()\n }).catch((res) => {\n\n message.showToastMessage({\n message: res.message ? res.message : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n const columns = [\n\n\n {\n title: \"Requested\",\n field: \"requested\",\n width: '30%',\n headerStyle: {\n textAlign: 'left',\n paddingLeft: '20px',\n\n width: '30%',\n\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '20px',\n width: '30%',\n }\n },\n\n\n {\n title: \"Type\",\n field: \"shift_type\",\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n\n }\n },\n {\n title: \"Overtime Start\",\n field: \"ovetime_start\",\n width: '10%'\n },\n {\n title: \"Overtime End\",\n field: \"overtime_end\",\n width: '10%'\n }, {\n title: \"Hours\",\n field: \"hours\",\n },\n {\n title: \"Status\",\n field: \"status\",\n render: (rowData) =>
\n {rowData?.status === 1 ? : rowData?.status === 2 ? {\n setAction(\"view_key\");\n setCurrentCommentSelections(rowData);\n setPoperState(!poperState)\n setMouseX(e.clientX);\n setMouseY(e.clientY);\n }} /> : rowData?.status === 0 || rowData?.status === 3 ? : \" \"}\n\n {action === \"view_key\" && \n\n \n {currentCommentsSelections?.reject_reason\n }\n\n\n \n }\n
\n }, {\n title: \"Action\",\n field: \"\",\n render: (rowData) => (\n rowData?.status === 0 || rowData?.status === 3 ? {\n handleDelete(rowData)\n }}>\n\n \n : ''\n )\n },\n\n ];\n return (\n
\n\n
\n { setAction('create') }}>+ Add Request\n
\n
\n
\n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n page={page}\n />\n
\n {action && action === \"create\" && {\n setAction('')\n }} getListing={getListing} type={\"home\"} userTimeZone={userTimeZone} />}\n
\n )\n}\n","import React, { useContext, useEffect, useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { TabSectionBar } from \"components/tab_component\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { Check, Warning, CheckBox } from \"@material-ui/icons\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport StaffLeave from \"./StaffLeave\";\nimport StaffOvertime from \"./StaffOvertime\";\nimport MyLeave from \"./MyLeave\";\nimport MyOvertime from \"./MyOvertime\";\nimport { IconButton, Paper } from \"@material-ui/core\";\nimport ResourcesServices from 'lib/services/api/planning/Resource/resources';\nimport { getOrganisationId } from \"lib/utils/common_utils\";\n\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n // margin: \"1% 3%\",\n },\n content: {\n boxShadow: \"0px 1px 3px #00000033\",\n margin: \"2% 0\",\n },\n detail: {\n backgroundColor: \"#fff\",\n padding: \"1%\",\n },\n success: {\n color: \"green\",\n marginLeft: 8,\n },\n warning: {\n color: \"orange\",\n marginLeft: 8,\n },\n indicator: {\n display: \"flex\",\n alignItems: \"center\",\n },\n}));\n\nfunction TabIndex(props) {\n const classes = useStyles();\n const [currentTab, setCurrentTab] = useState(0);\n const [tabLeaveValue, setTabLeaveValue] = useState(0);\n const [tabOvertimeValue, setTabOvertimeValue] = useState(0);\n const [pageLoading, setPageLoading] = useState(true);\n const [zoneData, setZoneData] = useState([])\n const [areaData, setAreaData] = useState([])\n const [shiftType, setShiftType] = useState([])\n const [bases, setBases] = useState([]);\n\n const navMenu = [\n { label:
Staff Leave  {tabLeaveValue > 0 ? {tabLeaveValue} : ''}
},\n {\n label: (\n
Staff Overtime  {tabOvertimeValue > 0 ? {tabOvertimeValue} : \"\"}
\n ),\n },\n // { label:
Maint Actions
},\n { label:
My Leave
},\n { label:
My Overtime
},\n\n ];\n\n\n\n\n\n const getBaseStation = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'station'\n }\n ResourcesServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n setBases(res.data);\n }\n\n })\n .catch((err) => {\n\n\n });\n };\n\n\n const getShiftTypeDetails = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n }\n ResourcesServices.fetchShiftTypes(params)\n .then((res) => {\n if (res) {\n setShiftType(res.data.filter((item) => item.id !== 1));\n\n }\n\n })\n .catch((err) => {\n\n });\n };\n\n const getAreaListing = () => {\n\n const params = {\n organisation_id: getOrganisationId(),\n\n }\n ResourcesServices.getShiftAreaListing(params).then((res) => {\n setAreaData(res.data)\n }).catch(() => {\n\n }).finally(() => {\n\n })\n\n }\n\n const getZoneListing = () => {\n\n const params = {\n organisation_id: getOrganisationId(),\n\n\n }\n ResourcesServices.getZoneListing(params).then((res) => {\n setZoneData(res.data)\n\n }).catch(() => {\n\n }).finally(() => {\n\n })\n\n }\n\n\n\n\n useEffect(() => {\n getBaseStation()\n getShiftTypeDetails()\n getAreaListing()\n getZoneListing()\n\n }, [])\n\n return (\n \n \n \n
\n {currentTab === 0 && }\n {currentTab === 1 &&\n }\n {/* {currentTab === 2 && } */}\n {currentTab === 2 && }\n {currentTab === 3 && }\n\n
\n
\n );\n}\n\nexport default TabIndex;\n","import React from 'react'\nimport TabIndex from './TabIndex'\nimport { Typography, Paper } from '@material-ui/core'\n\nexport default function LeaveRequest() {\n return (\n
\n\n Leave & Overtime Requests\n\n \n\n
\n )\n}\n\n","import React, { useEffect, useReducer, useState } from 'react'\nimport { Paper, Box, Typography } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Alert } from '@material-ui/lab';\nimport clsx from 'clsx';\nimport UserService from '../../lib/services/api/admin/users/user_client';\nimport authReducer from '../../reducers/auth_reducer';\nimport { INITIAL_STATE } from '../../reducers/admin/line/work_order_builder_reducer';\nimport AuthActions from '../../actions/auth_actions';\nimport LineManagerUsers from './LineManagerUsers';\nimport moment from 'moment';\n//import all tab menu\nimport { topNavMenuStores, topNavMenuPlanning, topNavMenuProcurement, topNavMenuCompliance, topNavMenuAccounts, topNavMenuAdmin, topNavMenuDashboards, topNavMenuOperations, topNavMenuSMS, topNavMenuCommercial, topNavMenuReports } from './allTabMenu';\nimport LeaveRequest from './LeaveRequest';\n\nexport const useStyles = makeStyles(theme => ({\n alertWrapper: {\n width: '100%',\n justifyContent: 'center',\n fontWeight: theme.typography.fontWeightRegular\n },\n amberAlert: {\n color: '#FFB300',\n backgroundColor: `rgba(255, 179, 0, 0.15)`\n },\n errorAlert: {\n color: '#DF0011',\n backgroundColor: `rgba(223, 0, 17,0.15)`\n },\n successAlert: {\n color: '#4FC605',\n backgroundColor: `rgba(79,198,5, 0.15)`\n }\n}))\n\nexport default function Home(props) {\n\n const classes = useStyles();\n const [authState, dispatch] = useReducer(authReducer, INITIAL_STATE);\n const [user, setUser] = useState([]);\n const [messageState, setMessageState] = useState(\"\");\n const [lmUser, setLmUser] = useState(false);\n const [lastLogin, setLastlogin] = useState('')\n useEffect(() => {\n AuthActions.setUserData(dispatch, sessionStorage.getItem('authState'))\n }, [])\n\n useEffect(() => {\n if (authState?.authState?.user?.id) {\n // console.log(authState.authState?.user)\n const user = authState.authState.user;\n UserService.getUserMe(authState?.authState?.user?.id).then(res => {\n setUser(res.data)\n })\n setLmUser(user)\n\n }\n }, [authState && authState?.authState?.user]);\n\n\n useEffect(() => {\n if (user.length > 0) {\n let testDateUtc = moment.utc(user[0]?.last_sign_in_at, 'YYYY-MM-DD, HH:mm:ss');\n let localDate = moment(testDateUtc).local().format('DD/MM/YYYY, HH:mm')\n let finalDate = localDate === \"Invalid date\" ? '' : localDate\n setLastlogin(finalDate)\n // console.log(\"entert=============\")\n }\n }, [user?.length])\n\n useEffect(() => {\n switch (user[0]?.status) {\n case 'Expired':\n return setMessageState('error')\n case 'Good':\n return setMessageState('success')\n case 'Low':\n return setMessageState('amber')\n default:\n break;\n }\n }, [user])\n\n const messageAlert = `${messageState}Alert`\n\n const Section = ['Operations', 'Planning', 'Dashboard', 'Stores', 'Procurement', 'Compliance', 'Accounts', 'Admin'];\n\n const [topMenus, setTopMenus] = useState({\n Operations: [],\n Planning: [],\n Dashboard: [],\n Reports: [],\n Stores: [],\n Procurement: [],\n Commercial: [],\n Compliance: [],\n Accounts: [],\n Admin: []\n });\n\n const [permissions, setPermissions] = useState({\n Operations: [],\n Planning: [],\n Dashboard: [],\n Reports: [],\n Stores: [],\n Procurement: [],\n Commercial: [],\n Compliance: [],\n Accounts: [],\n Admin: [],\n SMS: []\n });\n const [combinedState, setCombinedState] = useState({});\n\n useEffect(() => {\n setCombinedState({\n operationsCat: authState?.authState?.categories?.find(category => category.name === 'Operations')?.sub_categories,\n planningCat: authState?.authState?.categories?.find(category => category.name === 'Planning')?.sub_categories,\n dashboardCat: authState?.authState?.categories?.find(category => category.name === 'Dashboard')?.sub_categories,\n reportsCat: authState?.authState?.categories?.find(category => category.name === 'Reports')?.sub_categories,\n storesCat: authState?.authState?.categories?.find(category => category.name === 'Stores')?.sub_categories,\n procurementCat: authState?.authState?.categories?.find(category => category.name === 'Procurement')?.sub_categories,\n commercialCat: authState?.authState?.categories?.find(category => category.name === 'Commercial')?.sub_categories,\n complianceCat: authState?.authState?.categories?.find(category => category.name === 'Compliance')?.sub_categories,\n accountsCat: authState?.authState?.categories?.find(category => category.name === 'Accounts')?.sub_categories,\n adminCat: authState?.authState?.categories?.find(category => category.name === 'Admin')?.sub_categories,\n smsCat: authState?.authState?.categories?.find(category => category.name === 'SMS')?.sub_categories,\n });\n }, [authState?.authState?.categories])\n\n useEffect(() => {\n if (combinedState) {\n const sections = {\n Operations: topNavMenuOperations,\n Planning: topNavMenuPlanning,\n Dashboard: topNavMenuDashboards,\n Reports: topNavMenuReports,\n Stores: topNavMenuStores,\n Procurement: topNavMenuProcurement,\n Commercial: topNavMenuCommercial,\n Compliance: topNavMenuCompliance,\n Accounts: topNavMenuAccounts,\n Admin: topNavMenuAdmin,\n SMS: topNavMenuSMS\n };\n\n const newTopMenus = {};\n const newPermissions = {};\n\n Object.keys(sections).forEach(section => {\n const cat = combinedState[section.toLowerCase() + 'Cat'];\n\n if (cat) {\n newTopMenus[section] = sections[section].filter(s => cat.some(c => c.name === s.name));\n newPermissions[section] = cat.map(c => authState.authState.permissions.find(p => p.source_id === c.id));\n }\n });\n\n setTopMenus({ ...topMenus, ...newTopMenus });\n setPermissions({ ...permissions, ...newPermissions });\n }\n }, [combinedState]);\n\n const filterTopMenus = (categories, topMenus, permissionData) => {\n return topMenus.filter(section => {\n return categories?.some(category => {\n const permission = permissionData.find(p => p.source_id === category.id);\n return permission && (permission.read || permission.write) ? category.name === section.name : false;\n })\n });\n }\n\n useEffect(() => {\n if (combinedState) {\n setTopMenus((prevState) => ({\n ...prevState,\n Operations: filterTopMenus(combinedState.operationsCat, topNavMenuOperations, permissions.Operations),\n Planning: filterTopMenus(combinedState.planningCat, topNavMenuPlanning, permissions.Planning),\n Dashboard: filterTopMenus(combinedState.dashboardCat, topNavMenuDashboards, permissions.Dashboard), Reports: filterTopMenus(combinedState.reportsCat, topNavMenuReports, permissions.Reports),\n Stores: filterTopMenus(combinedState.storesCat, topNavMenuStores, permissions.Stores),\n Procurement: filterTopMenus(combinedState.procurementCat, topNavMenuProcurement, permissions.Procurement),\n Commercial: filterTopMenus(combinedState.commercialCat, topNavMenuCommercial, permissions.Commercial),\n Compliance: filterTopMenus(combinedState.complianceCat, topNavMenuCompliance, permissions.Compliance),\n SMS: filterTopMenus(combinedState.smsCat, topNavMenuSMS, permissions.SMS),\n Accounts: filterTopMenus(combinedState.accountsCat, topNavMenuAccounts, permissions.Accounts),\n Admin: filterTopMenus(combinedState.adminCat, topNavMenuAdmin, permissions.Admin)\n }));\n }\n }, [combinedState, permissions])\n\n\n const { Accounts, Admin, Compliance, Dashboard, Operations, Planning, Procurement, Stores, SMS, Commercial, Reports } = topMenus;\n\n // console.log(\"topmenues are===============================\", Accounts, Admin)\n const combinedArr = { Accounts, Admin, Compliance, Dashboard, Operations, Planning, Procurement, Stores, SMS, Commercial, Reports }\n useEffect(() => {\n sessionStorage.setItem(\n \"RouterSetup\",\n JSON.stringify(combinedArr)\n );\n }, [topMenus]);\n\n console.log(\"Categoriess is=======================\", permissions, topNavMenuReports)\n return (\n <>\n \n \n \n Hello {user[0]?.user_name}\n \n \"profile-image\"\n \n \n Last Login: {lastLogin} \n \n \n Your compliance status is\n \n \n \n {user[0]?.message}\n \n \n {lmUser.is_line_manager && }\n \n \n \n\n \n \n \n \n )\n}\n","\nimport requestApi from \"../common/boxp_api_client\";\n\nconst getUserCompliance = (params) => {\n return requestApi({\n url: \"/user_compliance\",\n method: \"GET\",\n params,\n })\n}\n\n\n\n\nconst getUserComplianceListing = (params) => {\n return requestApi({\n url: \"/user_compliance_listing\",\n method: \"GET\",\n params,\n })\n}\n\nconst getRecencyChartApi = (params) => {\n return requestApi({\n\n url: 'recency_dashboard_graph',\n method: \"GET\",\n params\n })\n\n}\n\nconst getRecencyListingApi = (params) => {\n return requestApi({\n\n url: 'recency_dashboard_list',\n method: \"GET\",\n params\n })\n\n}\n\nexport const UserDashboardServices = {\n getUserCompliance,\n getUserComplianceListing,\n getRecencyChartApi,\n getRecencyListingApi\n}","import React, { useReducer, useEffect, useState, useContext } from 'react'\nimport { Grid, Paper, Typography, Box, Button } from '@material-ui/core'\nimport MaterialTable from 'material-table'\nimport tableIcons, {\n options,\n} from '../../../components/universal/table_attributes'\n\nimport { format24HrDateOnly, getOrganisationId } from 'lib/utils/common_utils';\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from 'reducers/table_reducer';\nimport { UserDashboardServices } from 'lib/services/api/dashboard/user_compiance';\nimport TableAction from 'actions/table_actions'\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport useDebounce from 'lib/utils/debounce';\n\n\nexport const statusMapButtons = {\n \"Good\": \"button-positive\",\n \"On track\": \"button-positive\",\n \"Near Due\": \"button-warning\", \"Overdue\": \"button-negative\",\n \"Expired\": \"button-negative\",\n \"Low\": \"button-warning\",\n \"Not Complete\": \"button-negative\",\n \"Not Acknowledge\": \"button-negative\",\n \"Pass\": \"button-success\",\n \"Fail\": \"button-negative\",\n \"Failed\": \"button-neagtive\"\n}\nexport const statusMapText = { 'Good': 'success', 'Near Due': 'warning', 'Overdue': 'error' };\n\nexport default function Training(props) {\n const { selectedBase } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, pageSize, inProgress } = tableState;\n const [totalCount, setTotalCount] = useState(10);\n const [data, setData] = useState([])\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext);\n const [searchText, setSearchText] = useState('')\n const debounceVal = useDebounce(searchText)\n\n\n const trainingListing = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n dial_name: 'training',\n page: page + 1,\n limit: pageSize,\n search: debounceVal\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await UserDashboardServices.getUserComplianceListing(params).then((response) => {\n setData(response.data)\n setTotalCount(response.total_count);\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n trainingListing()\n }, [page, pageSize, selectedBase, totalCount, debounceVal])\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: true,\n toolbar: true,\n headerStyle: {\n paddingTop: \"19px\",\n paddingBottom: \"19px\",\n textAlign: \"center\",\n },\n };\n\n\n\n\n\n const columns = [\n {\n title: 'Status',\n field: 'status',\n width: '10%',\n headerStyle: {\n paddingLeft: '45px',\n textAlign: 'left'\n\n },\n cellStyle: {\n paddingLeft: '20px'\n },\n render: rowData => \n },\n {\n title: 'Stamp #',\n field: 'stamp_number',\n\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n\n },\n {\n title: 'User',\n field: 'user',\n\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n },\n {\n title: 'Base',\n field: 'base',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n\n },\n {\n title: 'Item',\n field: 'item',\n headerStyle: {\n textAlign: 'left',\n width: '30%'\n\n },\n cellStyle: {\n textAlign: 'left',\n width: '30%'\n },\n },\n\n {\n title: 'Expiry',\n field: 'expiry',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n render: rowData => rowData.expiry ? \n \n {\n format24HrDateOnly(rowData.expiry)\n }\n \n : '-'\n },\n {\n title: 'Days',\n field: 'days',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n render: rowData => rowData.days ? \n \n {\n rowData.days\n }\n \n : '-'\n },\n\n ]\n return (\n <>\n \n \n \n Training\n }\n data={data || []}\n columns={columns}\n options={tableOptions}\n isLoading={loading}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n setSearchText(search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n \n )\n}\n","import React, { useReducer, useEffect, useState, useContext } from 'react'\nimport { Grid, Paper, Typography, Box, Button } from '@material-ui/core'\nimport { statusMapText, statusMapButtons } from './Training'\nimport tableIcons, {\n options,\n} from '../../../components/universal/table_attributes'\nimport MaterialTable from 'material-table'\nimport { format24HrDateOnly, getOrganisationId } from 'lib/utils/common_utils';\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from 'reducers/table_reducer';\nimport { UserDashboardServices } from 'lib/services/api/dashboard/user_compiance';\nimport TableAction from 'actions/table_actions'\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport useDebounce from 'lib/utils/debounce';\nexport default function Competency(props) {\n\n\n const { selectedBase } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, pageSize, inProgress } = tableState;\n const [totalCount, setTotalCount] = useState(10);\n const [data, setData] = useState([])\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext);\n const [searchText, setSearchText] = useState('')\n const debounceVal = useDebounce(searchText)\n\n const trainingListing = async () => {\n\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n dial_name: 'competency',\n page: page + 1,\n limit: pageSize,\n search: debounceVal\n\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await UserDashboardServices.getUserComplianceListing(params).then((response) => {\n setData(response.data)\n setTotalCount(response.total_count);\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n trainingListing()\n }, [page, pageSize, selectedBase, totalCount, debounceVal])\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: true,\n toolbar: true,\n headerStyle: {\n paddingTop: \"19px\",\n paddingBottom: \"19px\",\n textAlign: \"center\",\n },\n };\n\n\n\n\n\n\n const columns = [\n {\n title: 'Status',\n field: 'status',\n // width: '10%',\n headerStyle: {\n paddingLeft: '45px',\n textAlign: 'left'\n\n },\n cellStyle: {\n paddingLeft: '20px'\n },\n render: rowData => \n },\n {\n title: 'Stamp #',\n field: 'stamp_number',\n\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n\n },\n {\n title: 'User',\n field: 'user',\n\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n },\n {\n title: 'Base',\n field: 'base',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n\n },\n {\n title: 'Item',\n field: 'item',\n headerStyle: {\n textAlign: 'left',\n width: '50%'\n\n },\n cellStyle: {\n textAlign: 'left',\n width: '50%'\n },\n },\n\n {\n title: 'Expiry',\n field: 'expiry',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n render: rowData => rowData.expiry ? \n \n {\n format24HrDateOnly(rowData.expiry)\n }\n \n : '-'\n },\n {\n title: 'Days',\n field: 'days',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n render: rowData => rowData.days ? \n \n {\n rowData.days\n }\n \n : '-'\n },\n\n ]\n return (\n <>\n \n \n \n Competency\n }\n data={data || []}\n columns={columns}\n options={tableOptions}\n isLoading={loading}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n setSearchText(search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n \n )\n}\n\n","import React, { useReducer, useEffect, useState, useContext } from 'react'\nimport { Grid, Paper, Typography, Box, Button } from '@material-ui/core'\nimport MaterialTable from 'material-table'\nimport tableIcons, {\n options,\n} from '../../../components/universal/table_attributes'\n\nimport { formatDate, getOrganisationId } from 'lib/utils/common_utils';\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from 'reducers/table_reducer';\nimport { UserDashboardServices } from 'lib/services/api/dashboard/user_compiance';\nimport TableAction from 'actions/table_actions'\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\n\n\n\n\n\n\nexport const statusMapButtons = {\n \"Green\": \"button-positive\",\n \"Amber\": \"button-warning\",\n \"Red\": \"button-negative\",\n \"Expired\": \"button-negative\",\n\n}\nexport const statusMapText = { 'Green': 'success', 'Amber': 'warning', 'Red': 'error' };\n\nexport default function Regency(props) {\n\n const { selectedBase } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, pageSize, inProgress } = tableState;\n const [totalCount, setTotalCount] = useState(10);\n const [data, setData] = useState([])\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext);\n\n\n // recency listing\n const getRecencyListingData = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n page: page + 1,\n limit: pageSize,\n base_station_id: selectedBase.join(',')\n }\n await UserDashboardServices.getRecencyListingApi(params).then((response) => {\n setData(response.data)\n setTotalCount(response.total_count)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n getRecencyListingData()\n }, [page, pageSize, totalCount, selectedBase])\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: true,\n toolbar: true,\n headerStyle: {\n paddingTop: \"19px\",\n paddingBottom: \"19px\",\n textAlign: \"center\",\n },\n };\n const columns = [\n {\n title: 'Status',\n field: 'overall_status',\n width: '10%',\n headerStyle: {\n paddingLeft: '45px',\n textAlign: 'left'\n\n },\n cellStyle: {\n paddingLeft: '20px'\n },\n render: rowData => \n },\n {\n title: 'Stamp #',\n field: 'stamp_number',\n\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n\n },\n {\n title: 'User',\n field: 'user_name',\n\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n },\n {\n title: 'Base',\n field: 'station',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n\n },\n {\n title: 'Item',\n field: 'group_name',\n headerStyle: {\n textAlign: 'left',\n width: '30%'\n\n },\n cellStyle: {\n textAlign: 'left',\n width: '30%'\n },\n },\n\n {\n title: 'Tasks',\n field: 'task_count',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n render: rowData => rowData.task_count ? \n \n {\n rowData.task_count\n }\n \n : '-'\n },\n {\n title: 'ATAs',\n field: 'ata_count',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n render: rowData => rowData.ata_count ? \n \n {\n rowData.ata_count\n }\n \n : '-'\n },\n {\n title: 'Override',\n field: 'recency_expiry',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n render: rowData => rowData.recency_expiry ? 30 ? \"#4FC605\" : \"#FFB300\" }}>\n {formatDate(rowData.recency_expiry)}\n : '-'\n },\n {\n title: 'Days',\n field: 'days',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n render: rowData => rowData.days ?\n 30 ? \"#4FC605\" : \"#FFB300\" }}>\n {rowData.days}\n : \"-\"\n }\n\n ]\n return (\n <>\n \n \n \n Recency\n }\n data={data || []}\n columns={columns}\n options={tableOptions}\n isLoading={loading}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n \n )\n}\n\n","import React, { useReducer, useEffect, useState, useContext } from 'react'\nimport { Grid, Paper, Typography, Box, Button } from '@material-ui/core'\nimport tableIcons, { options } from '../../../components/universal/table_attributes'\nimport MaterialTable from 'material-table'\nimport moment from 'moment'\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from 'reducers/table_reducer';\nimport { UserDashboardServices } from 'lib/services/api/dashboard/user_compiance';\nimport TableAction from 'actions/table_actions'\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { format24HrDateOnly, getOrganisationId } from 'lib/utils/common_utils'\nimport useDebounce from 'lib/utils/debounce'\n\n\n\nexport const statusMapButtons = {\n \"Good\": \"button-positive\",\n \"On track\": \"button-positive\",\n \"Pending\": \"button-warning\",\n \"Expired\": \"button-negative\",\n \"Low\": \"button-warning\",\n \"Not Complete\": \"button-negative\",\n \"Not Acknowledge\": \"button-negative\",\n \"Pass\": \"button-success\",\n \"Fail\": \"button-negative\",\n \"Failed\": \"button-neagtive\"\n}\nexport const statusMapText = { 'Good': 'success', 'Pending': 'warning', 'Overdue': 'error' };\nexport default function ReadAndSigns(props) {\n const { selectedBase } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, pageSize, inProgress } = tableState;\n const [totalCount, setTotalCount] = useState(10);\n const [data, setData] = useState([])\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext);\n const [searchText, setSearchText] = useState('')\n const debounceVal = useDebounce(searchText)\n\n\n const readSignListing = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n dial_name: 'read_sign',\n page: page + 1,\n limit: pageSize,\n search: debounceVal\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await UserDashboardServices.getUserComplianceListing(params).then((response) => {\n setData(response.data)\n setTotalCount(response.total_count);\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n readSignListing()\n }, [page, pageSize, selectedBase, totalCount, debounceVal])\n\n\n\n\n const columns = [\n {\n title: 'Status',\n field: 'status',\n render: rowData => \n },\n {\n title: 'Stamp',\n field: 'stamp',\n\n },\n {\n title: 'User',\n field: 'user',\n\n },\n {\n title: 'Base',\n field: 'base',\n\n },\n {\n title: 'Item',\n field: 'item',\n width: '50%',\n headerStyle: {\n textAlign: 'left',\n width: '50%',\n },\n cellStyle: {\n textAlign: 'left',\n width: '50%',\n }\n\n },\n {\n title: 'Issued',\n field: 'issued',\n align: 'center',\n render: rowData => rowData?.issued ? 7 ? '#FF0202' : (rowData.age >= 0 && rowData.age <= 7) ? '#FFB300' : '' }} >{moment(rowData.issued, 'DD/MM/YYYY HH:mm').format('DD/MM/YYYY')} : '-'\n },\n\n {\n title: 'Age',\n field: 'age',\n render: rowData => rowData.age ? \n 7 ? '#FF0202' : (rowData.age >= 0 && rowData.age <= 7) ? '#FFB300' : '' }} >\n {\n rowData.age\n }\n \n : '-'\n\n },\n\n ]\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: true,\n toolbar: true,\n headerStyle: {\n paddingTop: \"19px\",\n paddingBottom: \"19px\",\n textAlign: \"center\",\n },\n };\n\n return (\n <>\n \n \n \n Read & Signs\n }\n data={data || []}\n columns={columns}\n options={tableOptions}\n isLoading={loading}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n setSearchText(search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n \n )\n}\n\n","import React, { useReducer, useEffect, useState, useContext } from 'react'\nimport { Grid, Paper, Typography, Box, Button } from '@material-ui/core'\nimport { statusMapText, statusMapButtons } from './Training'\nimport tableIcons, {\n options,\n} from '../../../components/universal/table_attributes'\nimport MaterialTable from 'material-table'\nimport { format24HrDateOnly, getOrganisationId } from 'lib/utils/common_utils';\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from 'reducers/table_reducer';\nimport { UserDashboardServices } from 'lib/services/api/dashboard/user_compiance';\nimport TableAction from 'actions/table_actions'\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport useDebounce from 'lib/utils/debounce'\n\nexport default function Approvals(props) {\n\n const { selectedBase } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, pageSize, inProgress } = tableState;\n const [totalCount, setTotalCount] = useState(10);\n const [data, setData] = useState([])\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext);\n const [searchText, setSearchText] = useState('')\n const debounceVal = useDebounce(searchText)\n\n const trainingListing = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n dial_name: 'approvals',\n page: page + 1,\n limit: pageSize,\n search: debounceVal\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await UserDashboardServices.getUserComplianceListing(params).then((response) => {\n setData(response.data)\n setTotalCount(response.total_count);\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n trainingListing()\n }, [page, pageSize, selectedBase, debounceVal])\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: true,\n toolbar: true,\n headerStyle: {\n paddingTop: \"19px\",\n paddingBottom: \"19px\",\n textAlign: \"center\",\n },\n };\n\n\n\n\n\n\n const columns = [\n {\n title: 'Status',\n field: 'status',\n // width: '10%',\n headerStyle: {\n paddingLeft: '45px',\n textAlign: 'left'\n\n },\n cellStyle: {\n paddingLeft: '20px'\n },\n render: rowData => \n },\n {\n title: 'Stamp #',\n field: 'stamp_number',\n\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n\n },\n {\n title: 'User',\n field: 'user',\n\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n },\n {\n title: 'Base',\n field: 'base',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n\n },\n {\n title: 'Item',\n field: 'item',\n headerStyle: {\n textAlign: 'left',\n width: '50%'\n\n },\n cellStyle: {\n textAlign: 'left',\n width: '50%'\n },\n },\n\n {\n title: 'Expiry',\n field: 'expiry',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n render: rowData => rowData.expiry ? \n \n {\n format24HrDateOnly(rowData.expiry)\n }\n \n : '-'\n },\n {\n title: 'Days',\n field: 'days',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n textAlign: 'left',\n },\n render: rowData => rowData.days ? \n \n {\n rowData.days\n }\n \n : '-'\n },\n\n ]\n return (\n <>\n \n \n \n Approvals\n }\n data={data || []}\n columns={columns}\n options={tableOptions}\n isLoading={loading}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n setSearchText(search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n \n \n )\n}\n\n","import { Typography } from '@material-ui/core'\nimport React, { useState, useEffect } from 'react'\nimport { useMemo } from 'react'\nimport ReactApexChart from 'react-apexcharts'\n\n\nfunction Chart(props) {\n const { value1, value2, value3, labels, total, totalPercentage } = props\n const [values, setValues] = useState([])\n const [label, setlabel] = useState([])\n const [orgColor, setOrgColor] = useState([])\n\n useMemo(() => {\n if (value1 !== undefined) {\n values.push(value1)\n }\n if (value2 !== undefined) {\n values.push(value2)\n }\n if (value3 !== undefined) {\n values.push(value3)\n }\n setValues(values)\n\n }, [value1, value2, value3])\n\n // console.log(\"props=========\", values)\n useMemo(() => {\n if (labels !== undefined || labels !== []) {\n // console.log(\"label=======\", labels)\n for (let i = 0;i < labels.length;i++) {\n label.push(labels[i])\n }\n }\n setlabel(label)\n }, [labels])\n const [state, setState] = useState({\n series: values,\n options: {\n chart: {\n // size: '100px',\n type: 'donut',\n },\n plotOptions: {\n pie: {\n donut: {\n size: '75%'\n }\n\n // customScale: 0.8\n }\n },\n labels: label,\n\n dataLabels: {\n\n formatter(val, opts) {\n const name = opts.w.globals.labels[opts.seriesIndex]\n return [name, opts.w.config.series[opts.seriesIndex]]\n },\n },\n\n colors: ['#4FC605', '#FFB300', '#FF0202'],\n dataLabels: {\n enabled: false\n },\n legend: {\n show: false,\n position: 'bottom'\n },\n\n responsive: [{\n breakpoint: 480,\n options: {\n chart: {\n width: 200\n },\n legend: {\n show: false,\n position: 'bottom'\n }\n }\n }]\n }\n })\n\n const [totalState, setTotalState] = useState({\n series: [1, 0, 0],\n options: {\n chart: {\n size: '100px',\n type: 'donut',\n },\n labels: ['0', '0', '0'],\n\n colors: ['#dddddd', '#dddddd', '#dddddd'],\n dataLabels: {\n enabled: false\n },\n legend: {\n show: false,\n position: 'bottom'\n },\n plotOptions: {\n pie: {\n donut: {\n size: '75%'\n }\n\n // customScale: 0.8\n }\n },\n responsive: [{\n breakpoint: 480,\n options: {\n chart: {\n width: 200\n },\n legend: {\n show: false,\n position: 'bottom'\n }\n }\n }]\n }\n })\n\n\n\n return (\n <>\n \n \n )\n}\nexport default React.memo(Chart)","import React, { useState, useContext, useMemo } from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Typography, Box, Grid, Divider, FormControl, Menu, Button, FormControlLabel, Paper } from '@material-ui/core'\nimport { Alert } from '@material-ui/lab'\nimport Training from './Training';\nimport Competency from './Competency';\nimport Regency from './Regency';\nimport ReadAndSigns from './Read&Signs';\nimport Approvals from './Approvals';\nimport Chart from './Chart';\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport ArrowDown from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUp from '@material-ui/icons/ArrowDropUp';\nimport _without from \"lodash/without\";\nimport { UserDashboardServices } from 'lib/services/api/dashboard/user_compiance';\nimport ReactApexChart from 'react-apexcharts'\nimport ChartLoader from '../Workshops/Storage/ChartLoader';\nimport { useEffect } from 'react';\n\n\n\n\n\n\n\n\nexport default function UserCompliance(props) {\n\n const classes = useStyles()\n const [bases, setBases] = useState([]);\n\n const message = useContext(ToastMessageContext);\n const [anchorBase, setAnchorBase] = useState(null);\n const [baseButton, setBaseButton] = useState(false)\n const [selectedBase, setSelectedBase] = useState([]);\n const [checkedState, setCheckedState] = useState(new Array(bases.length).fill(false));\n const [loading, setLoading] = useState(false)\n const [approvalData, setApprovalData] = useState({})\n const [trainingData, setTrainingData] = useState({})\n const [competencyData, setCompetencyData] = useState({})\n const [trainingPercentage, setTrainingPercentage] = useState(0);\n const [competencyPercentage, setCompetencyPercentage] = useState(0);\n const [approvalPercentage, setApprovalPercentage] = useState(0);\n const [action, setAction] = useState('')\n const [readSignData, setReadSignData] = useState({})\n const [readSignPercentage, setReadSignPercentage] = useState(0);\n //Recency Data\n\n const [recencyExpiredData, setRecencyExpiredData] = useState({})\n const [recencyLowData, setRecencyLowData] = useState({})\n const [recencyGoodData, setRecencyGoodData] = useState({})\n const [recencyLoading, setRecencyLoading] = useState(false)\n const [recencyPercentage, setRecencyPercentage] = useState(0)\n\n const ITEM_HEIGHT = 78;\n const getBaseStation = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'station'\n }\n MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n setBases(res.data);\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n\n\n\n useEffect(() => {\n getBaseStation()\n }, [])\n\n\n //get user compliance\n\n\n\n const getUserComplianceData = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await UserDashboardServices.getUserCompliance(params).then((response) => {\n setApprovalData(response.data.approvals[0])\n setTrainingData(response.data.training[0])\n setCompetencyData(response.data.competency[0])\n setReadSignData(response.data.read_sign[0])\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n useEffect(() => {\n getUserComplianceData()\n }, [selectedBase])\n\n\n\n //Recency donut chart api calling\n\n const getRecencyData = async () => {\n setRecencyLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n base_station_id: selectedBase.join(',')\n }\n await UserDashboardServices.getRecencyChartApi(params).then((response) => {\n\n if (response.success) {\n response.data.filter((item) => {\n if (item.overall_status_name === \"Amber\") {\n setRecencyLowData(item)\n }\n if (item.overall_status_name === \"Green\") {\n setRecencyGoodData(item)\n }\n if (item.overall_status_name === \"Red\") {\n setRecencyExpiredData(item)\n }\n })\n\n }\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setRecencyLoading(false)\n })\n\n }\n\n useEffect(() => {\n getRecencyData()\n }, [selectedBase])\n\n\n\n\n\n const handleBaseClick = (event) => {\n setAnchorBase(event.currentTarget);\n setBaseButton(!baseButton)\n };\n const filterChangeHandler = (e) => {\n const { name, value, checked } = e.target\n console.log(\"filter====\", name, value, checked)\n setSelectedBase((prevState) => [...prevState, value])\n if (!checked) {\n setSelectedBase((current) => _without(current, value));\n }\n\n }\n\n\n\n // donut percentage calculation\n useMemo(() => {\n let totalValue = trainingData.on_track + trainingData.near_due + trainingData.overdue\n let percentage = (trainingData.on_track / totalValue) * 100\n\n if (totalValue === 0) {\n setTrainingPercentage(totalValue)\n }\n else {\n setTrainingPercentage(Math.floor(percentage))\n }\n }, [trainingData])\n\n useMemo(() => {\n let totalValue = competencyData.on_track + competencyData.near_due + competencyData.overdue\n let percentage = (competencyData.on_track / totalValue) * 100\n\n if (totalValue === 0) {\n setCompetencyPercentage(totalValue)\n }\n else {\n setCompetencyPercentage(Math.floor(percentage))\n }\n }, [competencyData])\n\n\n\n useMemo(() => {\n let totalValue = approvalData.on_track + approvalData.near_due + approvalData.overdue\n let percentage = (approvalData.on_track / totalValue) * 100\n\n if (totalValue === 0) {\n setApprovalPercentage(totalValue)\n\n }\n else {\n setApprovalPercentage(Math.floor(percentage))\n }\n }, [approvalData])\n\n\n useMemo(() => {\n let totalValue = readSignData.on_track + readSignData.near_due + readSignData.overdue\n let percentage = (readSignData.on_track / totalValue) * 100\n\n if (totalValue === 0) {\n setReadSignPercentage(totalValue)\n\n }\n else {\n setReadSignPercentage(Math.floor(percentage))\n }\n }, [readSignData])\n\n useMemo(() => {\n\n\n let totalValue = recencyGoodData.overall_status + recencyLowData.overall_status + recencyExpiredData.overall_status\n let percentage = (recencyGoodData.overall_status / totalValue) * 100\n\n if (totalValue === 0) {\n setRecencyPercentage(totalValue)\n\n }\n else {\n setRecencyPercentage(Math.floor(percentage))\n }\n\n }, [recencyExpiredData, recencyGoodData, recencyLowData])\n\n\n\n\n\n return (\n
\n
\n \n\n\n\n\n \n \n {\n setAnchorBase(null)\n setBaseButton(!baseButton)\n }}\n // anchorOrigin={{\n // vertical: 'bottom',\n // horizontal: 'left',\n // }}\n style={{ marginTop: '0px' }}\n PaperProps={{\n style: {\n maxHeight: ITEM_HEIGHT * 4.5,\n width: '39ch',\n position: 'absolute',\n top: '260px',\n },\n }}\n >\n {\n bases?.map((base, index) => {\n return \n \n \n \n \n \n \n handleChange(e, option.id)}\n onChange={(e) => { filterChangeHandler(e, index) }}\n name={base.station} />}\n // name=\"base\"\n />\n \n \n \n \n }\n\n )}\n \n \n\n \n
\n \n \n Users\n \n \n \n\n \n \n setAction('training')}>\n {loading ? : <> \n\n\n\n \n
\n {trainingPercentage}{\"%\"}\n Training\n
\n
\n \n \n {trainingData.on_track}\n On Track\n \n \n {trainingData.near_due}\n Near Due\n \n \n {trainingData.overdue}\n Overdue\n \n \n \n }\n
\n
\n \n setAction('competency')}>\n {loading ? : <> \n\n\n \n
\n {competencyPercentage}{\"%\"}\n Competency\n
\n
\n \n \n {competencyData.on_track}\n On Track\n \n \n {competencyData.near_due}\n Near Due\n \n \n {competencyData.overdue}\n Overdue\n \n \n \n }\n
\n\n
\n \n\n setAction('approvals')}>\n {loading ? : <> \n\n \n
\n {approvalPercentage}{\"%\"}\n Approvals\n
\n
\n \n \n {approvalData.on_track}\n On Track\n \n \n {approvalData.near_due}\n Near Due\n \n \n {approvalData.overdue}\n Overdue\n \n \n \n }\n
\n\n
\n \n\n setAction('recency')}>\n {recencyLoading ? : <> \n\n \n
\n {recencyPercentage}{\"%\"}\n Recency\n
\n\n\n
\n \n \n {recencyGoodData.overall_status}\n Good\n \n {/* \n 0\n Overriden\n */}\n \n {recencyLowData.overall_status}\n Low\n \n \n {recencyExpiredData.overall_status}\n Expired\n \n \n \n }
\n\n
\n \n\n setAction('read&sign')}>\n {loading ? : <>\n \n\n \n
\n {readSignPercentage}{\"%\"}\n Read & Signs\n (1-yr)\n
\n
\n \n \n {readSignData.on_track}\n Read\n \n \n {readSignData.near_due}\n Pending\n \n \n {readSignData.overdue}\n Overdue\n \n \n \n }\n
\n\n\n
\n
\n\n
\n\n \n \n Compliance Issues\n \n
\n Select an indicator above to display the caution conditions\n
\n
\n \n\n\n {action === 'training' && }\n {action === 'competency' && }\n {action === 'approvals' && }\n {action === 'read&sign' && }\n {action === 'recency' && }\n\n \n
\n\n
\n
\n )\n}\n\n\nconst useStyles = makeStyles(theme => ({\n alert: {\n display: 'flex',\n justifyContent: 'center',\n color: theme.palette.warning.main\n }, root: {\n width: \"96%\",\n margin: \"4% 2%\",\n paddingLeft: '4px',\n '&.MuiStepConnector-root': {\n borderTopWidth: '10px'\n }\n },\n centerLabel: {\n textAlign: ' center',\n marginTop: ' -50px',\n marginBottom: '66px',\n fontSize: '12px',\n\n },\n readCenterLabel: {\n textAlign: ' center',\n marginTop: ' -50px',\n fontSize: '12px',\n\n },\n oneyear: {\n fontSize: '11px',\n textAlign: 'center',\n /* margin-top: inherit; */\n marginBottom: '48px'\n },\n textSecondary: {\n color: theme.palette.secondary.main\n },\n quotePercentageText: {\n marginTop: ' -112px',\n marginBottom: ' 53px',\n textAlign: ' center',\n fontSize: '22px',\n color: \" #4FC605\"\n },\n}))","import React, { useMemo, useState } from \"react\";\nimport ReactApexChart from 'react-apexcharts'\n\n\nfunction Handover(props) {\n\n const { barData, loading, lineData, xAxisValue } = props\n\n\n const complete = []\n const raised = []\n const not_ackn = []\n\n\n useMemo(() => {\n\n if (barData != []) {\n for (let i = 0;i < barData.length;i++) {\n complete.push(barData[i].complete)\n raised.push(barData[i].raised)\n not_ackn.push(barData[i].not_ackn)\n\n\n }\n\n\n }\n\n }, [barData, lineData, loading])\n\n\n\n\n // console.log('stationcheck======', barData)\n const [state, setState] = useState({\n series: [\n {\n name: 'Due',\n data: lineData,\n type: 'line',\n order: 1\n },\n {\n name: 'Complete',\n type: 'column',\n data: complete,\n order: 2\n },\n {\n name: 'Raised',\n type: 'column',\n data: raised,\n order: 2\n },\n {\n name: 'Not Ackn',\n type: 'column',\n data: not_ackn,\n order: 2\n },\n\n ],\n\n options: {\n chart: {\n type: 'line',\n stacked: true,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n },\n\n },\n stroke: {\n width: [2, 0, 0, 0],\n curve: \"straight\",\n },\n colors: ['#8CDA5C', '#8CDA5C', '#FFCD59', '#FF5A5A'],\n\n dataLabels: {\n enabled: false\n },\n\n xaxis: {\n\n categories: xAxisValue,\n\n labels: {\n show: true,\n }\n\n },\n yaxis: {\n tickAmount: 4,\n labels: {\n rotate: 0,\n },\n }, grid: {\n show: true,\n strokeDashArray: 0,\n position: 'back',\n xaxis: {\n lines: {\n show: false\n }\n },\n yaxis: {\n lines: {\n show: true\n }\n },\n },\n responsive: [{\n breakpoint: 480,\n options: {\n legend: {\n position: 'top',\n offsetX: 0,\n offsetY: 0\n }\n }\n }],\n plotOptions: {\n bar: {\n columnWidth: '30%',\n barHeight: '80%',\n dataLabels: {\n enabled: false\n },\n },\n\n\n },\n\n legend: {\n position: 'top',\n horizontalAlign: \"center\",\n // floating: true,\n // offsetY: -5,\n offsetX: 100,\n markers: {\n width: [20, 15, 15, 15],\n height: [8, 15, 15, 15],\n strokeWidth: 1,\n strokeColor: '#fff',\n borderRadius: '5px',\n radius: [2, 2, 2, 0],\n\n\n },\n\n },\n fill: {\n opacity: 1\n }\n },\n\n\n })\n return (\n\n\n <>\n\n \n\n\n \n\n );\n}\nexport default React.memo(Handover)","import React, { useMemo, useState } from \"react\";\nimport ReactApexChart from 'react-apexcharts'\n\n\nfunction Vehicles(props) {\n\n const { barData, loading, lineData, xAxisValue } = props\n\n\n const onTime = []\n const late = []\n const failed = []\n\n\n useMemo(() => {\n\n if (barData != []) {\n for (let i = 0;i < barData.length;i++) {\n onTime.push(barData[i].on_time)\n late.push(barData[i].late)\n failed.push(barData[i].failed)\n\n\n }\n\n\n }\n\n }, [barData, lineData, loading])\n\n\n\n\n const [state, setState] = useState({\n series: [\n {\n name: 'Due',\n data: lineData,\n type: 'line',\n order: 1\n },\n {\n name: 'On time',\n type: 'column',\n data: onTime,\n order: 2\n },\n {\n name: 'Late',\n type: 'column',\n data: late,\n order: 2\n },\n {\n name: 'Failed',\n type: 'column',\n data: failed,\n order: 2\n },\n\n ],\n\n options: {\n chart: {\n type: 'line',\n stacked: true,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n },\n\n },\n stroke: {\n width: [2, 0, 0, 0],\n curve: \"straight\",\n },\n colors: ['#8CDA5C', '#8CDA5C', '#FFCD59', '#FF5A5A'],\n\n dataLabels: {\n enabled: false\n },\n // labels: xAxisValue,\n xaxis: {\n // type: 'category',\n categories: xAxisValue,\n\n labels: {\n show: true,\n }\n },\n yaxis: {\n tickAmount: 4,\n labels: {\n rotate: 0,\n },\n\n },\n grid: {\n show: true,\n strokeDashArray: 0,\n position: 'back',\n xaxis: {\n lines: {\n show: false\n }\n },\n yaxis: {\n lines: {\n show: true\n }\n },\n },\n responsive: [{\n breakpoint: 480,\n options: {\n legend: {\n position: 'top',\n offsetX: 0,\n offsetY: 0\n }\n }\n }],\n plotOptions: {\n bar: {\n columnWidth: '30%',\n barHeight: '80%',\n dataLabels: {\n enabled: false\n },\n },\n\n\n },\n\n legend: {\n position: 'top',\n horizontalAlign: \"center\",\n // floating: true,\n // offsetY: -5,\n offsetX: 100,\n markers: {\n width: [20, 15, 15, 15],\n height: [8, 15, 15, 15],\n strokeWidth: 1,\n strokeColor: '#fff',\n borderRadius: '5px',\n radius: [2, 2, 2, 0],\n\n\n },\n },\n fill: {\n opacity: 1\n }\n },\n\n\n })\n\n return (\n\n\n <>\n \n \n\n\n );\n}\nexport default React.memo(Vehicles)","import { Typography } from '@material-ui/core'\nimport React, { useState, useEffect } from 'react'\nimport { useMemo } from 'react'\nimport ReactApexChart from 'react-apexcharts'\n\n\nconst Chart = (props) => {\n const { value1, value2, value3, labels, totalPercentage } = props\n const [values, setValues] = useState([])\n const [label, setlabel] = useState([])\n const [orgColor, setOrgColor] = useState([])\n\n useMemo(() => {\n if (value1 !== undefined) {\n values.push(value1)\n }\n if (value2 !== undefined) {\n values.push(value2)\n }\n if (value3 !== undefined) {\n values.push(value3)\n }\n\n setValues(values)\n\n }, [value1, value2, value3])\n // console.log(\"vehicle_inspections========\", props)\n\n useMemo(() => {\n if (labels !== undefined || labels !== []) {\n // console.log(\"label=======\", labels)\n for (let i = 0;i < labels.length;i++) {\n label.push(labels[i])\n }\n }\n setlabel(label)\n }, [labels])\n const [state, setState] = useState({\n series: values,\n options: {\n chart: {\n size: '100px',\n type: 'donut',\n },\n labels: label,\n dataLabels: {\n\n formatter(val, opts) {\n const name = opts.w.globals.labels[opts.seriesIndex]\n return [name, opts.w.config.series[opts.seriesIndex]]\n },\n },\n\n colors: ['#4FC605', '#FFB300', '#FF0202'],\n dataLabels: {\n enabled: false\n },\n legend: {\n show: false,\n position: 'bottom'\n },\n plotOptions: {\n pie: {\n donut: {\n // size: '100px',\n labels: {\n show: false,\n\n name: {\n offsetY: 5\n },\n total: {\n show: false,\n showAlways: true,\n label: props.labelName,\n fontSize: '12px',\n formatter: function (val) {\n return ''\n }\n\n }\n }\n }\n }\n },\n\n responsive: [{\n breakpoint: 480,\n options: {\n chart: {\n width: 200\n },\n legend: {\n show: false,\n position: 'bottom'\n }\n }\n }]\n }\n })\n\n const [totalState, setTotalState] = useState({\n series: [1, 0, 0],\n options: {\n chart: {\n size: '100px',\n type: 'donut',\n },\n labels: ['0', '0', '0'],\n colors: ['#dddddd', '#dddddd', '#dddddd'],\n dataLabels: {\n enabled: false\n },\n legend: {\n show: false,\n position: 'bottom'\n },\n\n responsive: [{\n breakpoint: 480,\n options: {\n chart: {\n width: 200\n },\n legend: {\n show: false,\n position: 'bottom'\n }\n }\n }]\n }\n })\n\n return (\n <>\n \n \n )\n}\nexport default React.memo(Chart)","import React, { useState, useMemo } from \"react\";\n\nimport { Grid, Paper, Typography, Box, Button, Divider, makeStyles } from \"@material-ui/core\";\nimport Chart from \"./Chart\";\nimport ChartLoader from \"../../Workshops/Storage/ChartLoader\";\n\n\n\nexport default function VehiclePass(props) {\n const { inspectionData, airSidePass, loading } = props\n const classes = useStyles()\n const [inspection, setInspection] = useState(0)\n const [airSideValue, setAirSideValue] = useState(0)\n\n\n\n useMemo(() => {\n let totalValue = inspectionData.green + inspectionData.amber + inspectionData.red\n let percentage = (inspectionData.green / totalValue) * 100\n\n if (totalValue === 0) {\n setInspection(totalValue)\n }\n else {\n setInspection(Math.floor(percentage))\n }\n }, [inspectionData])\n\n useMemo(() => {\n let totalValue = airSidePass.green + airSidePass.amber + airSidePass.red\n let percentage = (airSidePass.green / totalValue) * 100\n\n if (totalValue === 0) {\n setAirSideValue(totalValue)\n }\n else {\n setAirSideValue(Math.floor(percentage))\n }\n }, [airSidePass])\n\n\n return (\n\n \n\n \n\n \n\n \n \n Vehicles\n \n \n\n \n\n {loading ? : <>\n 30 Days\", \"< 30 Days\", \"< 0 Days\"]}\n labelName={\"Inspection\"}\n // totalPercentage={quotesPercentage}\n />\n
\n {inspection}{\"%\"}\n Inspection\n
\n \n }\n
\n \n \n {inspectionData.green}\n > 30 Days\n \n \n {inspectionData.amber}\n < 30 Days\n \n \n {inspectionData.red}\n < 0 Days\n \n \n\n
\n
\n\n
\n \n \n\n \n \n {loading ? : <>\n 30 Days\", \"< 30 Days\", \"< 0 Days\"]}\n // labelName={\"Airside Pass\"}\n // totalPercentage={quotesPercentage}\n />\n
\n {airSideValue}{\"%\"}\n Airside Pass\n
\n \n\n }\n
\n \n \n {airSidePass.green}\n > 30 Days\n \n \n {airSidePass.amber}\n < 30 Days\n \n \n {airSidePass.red}\n < 0 Days\n \n \n\n
\n
\n
\n
\n\n\n\n\n\n );\n}\n\n\nconst useStyles = makeStyles({\n textLabels: {\n\n marginTop: '7px',\n marginLeft: '10px'\n\n },\n quotePercentageText: {\n marginTop: ' -86px',\n marginBottom: '46px',\n textAlign: ' center',\n fontSize: '18px',\n\n },\n centerLabel: {\n textAlign: ' center',\n marginTop: ' -50px',\n color: '#4D4F5C',\n fontSize: '12px'\n },\n\n})","import React, { useMemo, useState } from \"react\";\nimport ReactApexChart from 'react-apexcharts'\n\n\nfunction StationChecks(props) {\n\n const { barData, loading, lineData, xAxisValue } = props\n\n\n const onTime = []\n const late = []\n const failed = []\n\n\n useMemo(() => {\n\n if (barData != []) {\n for (let i = 0;i < barData.length;i++) {\n onTime.push(barData[i].one_time)\n late.push(barData[i].late)\n failed.push(barData[i].failed)\n\n\n }\n\n\n }\n\n }, [barData, lineData, loading])\n\n\n\n\n // console.log('stationcheck======', xAxisValue)\n const [state, setState] = useState({\n series: [\n\n {\n name: 'Due',\n data: lineData,\n type: 'line',\n order: 1\n },\n {\n name: 'On time',\n type: 'column',\n data: onTime,\n order: 2\n },\n {\n name: 'Late',\n type: 'column',\n data: late,\n order: 2\n },\n {\n name: 'Failed',\n type: 'column',\n data: failed,\n order: 2\n },\n\n ],\n\n options: {\n chart: {\n type: 'line',\n stacked: true,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n },\n\n },\n stroke: {\n width: [2, 0, 0, 0],\n curve: \"straight\",\n },\n colors: ['#8CDA5C', '#8CDA5C', '#FFCD59', '#FF5A5A'],\n\n dataLabels: {\n enabled: false\n },\n // labels: xAxisValue,\n xaxis: {\n // type: 'category',\n categories: xAxisValue,\n\n labels: {\n show: true,\n }\n\n },\n yaxis: {\n\n // min: 0,\n // max: 7,\n tickAmount: 4,\n\n labels: {\n rotate: 0,\n\n },\n\n },\n grid: {\n show: true,\n strokeDashArray: 0,\n position: 'back',\n xaxis: {\n lines: {\n show: false\n }\n },\n yaxis: {\n lines: {\n show: true\n }\n },\n },\n\n responsive: [{\n breakpoint: 480,\n options: {\n legend: {\n position: 'top',\n offsetX: 0,\n offsetY: 0\n }\n }\n }],\n plotOptions: {\n bar: {\n columnWidth: '30%',\n barHeight: '80%',\n dataLabels: {\n enabled: false\n },\n },\n\n\n },\n\n legend: {\n position: 'top',\n horizontalAlign: \"center\",\n offsetX: 100,\n markers: {\n width: [20, 15, 15, 15],\n height: [8, 15, 15, 15],\n strokeWidth: 1,\n strokeColor: '#fff',\n borderRadius: '5px',\n radius: [2, 2, 2, 0],\n\n\n },\n\n\n },\n fill: {\n opacity: 1\n }\n },\n\n\n })\n\n\n return (\n\n <>\n\n \n\n \n );\n}\n\nexport default React.memo(StationChecks)","import React from 'react'\nimport { Grid, Paper, Typography, Box, Button, Divider, makeStyles } from \"@material-ui/core\";\nimport { getRates } from 'actions/admin/line/adhoc_rates_actions';\nimport Gear from 'assets/gear.svg'\nimport Wrench from 'assets/wrench.svg'\n\nfunction Stores(props) {\n\n const { shellLife, tooling } = props\n return (\n \n\n \n\n \n\n \n \n Stores\n \n \n \n Shelf life Parts\n \n \n \n {shellLife.amber}\n < 30 Days\n \n \n \n \n {shellLife.red}\n < 0 Days\n \n \n \n\n \n\n \n \n \n\n \n \n Tools Due Cal / Insp\n \n \n \n {tooling.amber}\n < 30 Days\n \n \n \n \n {tooling.red}\n < 0 Days\n \n \n \n \n\n \n \n\n )\n}\n\nexport default Stores","\nimport requestApi from \"../common/boxp_api_client\";\nimport requestrApi from \"../common/boxr_api_client\";\nconst getStationCompliance = (params) => {\n return requestApi({\n url: \"/station_compliance\",\n method: \"GET\",\n params,\n })\n}\n\nconst getStationChecks = (params) => {\n return requestApi({\n url: \"/station_checks\",\n method: \"GET\",\n params,\n })\n}\n\nconst getHandOverDetails = (params) => {\n return requestApi({\n url: \"/handovers\",\n method: \"GET\",\n params,\n })\n}\n\nconst getVehicleChecksDetails = (params) => {\n return requestApi({\n url: \"/vehicle_checks\",\n method: \"GET\",\n params,\n })\n}\n\nconst getTemperatureAndHumidityDetails = (params) => {\n return requestApi({\n url: \"/storage_temperature_humidity\",\n method: \"GET\",\n params,\n })\n}\n\nconst getTemperatureAndHumidityCsv = (params) => {\n return requestApi({\n url: \"/storage_temperature_humidity_csv\",\n method: \"GET\",\n params,\n })\n}\n\nconst getTemperatureAndHumidityRecentData = (params) => {\n return requestApi({\n url: \"/storage_temperature_humidity_recent_data\",\n method: \"GET\",\n params,\n })\n}\n\nconst getStorageConditionListing = (params) => {\n return requestrApi({\n url: \"/storage_conditions/listing_storage_condition_events\",\n method: \"GET\",\n params,\n })\n\n}\nconst getStorageEventConditionListing = (params) => {\n return requestrApi({\n url: \"/storage_conditions/details_storage_event\",\n method: \"GET\",\n params,\n })\n}\nexport const StationDashboardServices = {\n getStationCompliance,\n getStationChecks,\n getHandOverDetails,\n getVehicleChecksDetails,\n getTemperatureAndHumidityDetails,\n getTemperatureAndHumidityCsv,\n getTemperatureAndHumidityRecentData,\n getStorageConditionListing,\n getStorageEventConditionListing\n}","import React, { useState, useEffect, useContext, useMemo } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { Typography, Box, Grid, Divider, FormControl, Select, InputBase, MenuItem, Paper, Button, FormControlLabel, Menu } from \"@material-ui/core\";\n\nimport HandOver from \"./Handover\";\nimport Vehicles from \"./Vehicles\";\nimport VehiclePass from \"./VehiclePass\";\nimport StationChecks from \"./StationChecks\";\nimport Stores from \"./Stores\";\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport { StationDashboardServices } from \"lib/services/api/dashboard/station_compliance\";\nimport { getBaseStationID, getOrganisationId } from \"lib/utils/common_utils\";\nimport ChartLoader from \"../../Workshops/Storage/ChartLoader\";\nimport moment from \"moment\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport ArrowDown from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUp from '@material-ui/icons/ArrowDropUp';\nimport PositiveSwitch from \"components/form_components/switch\";\nimport _without from \"lodash/without\";\n\nfunction StationCompliance(props) {\n const classes = useStyles();\n const [complianceData, setComplianceData] = useState([])\n const [vehicleInspectionData, setVehicleInspectionData] = useState({})\n const [airSidePassData, setAirSidePassData] = useState({})\n const [toolingData, setToolingData] = useState({})\n const [shellLifeData, setShellLifeData] = useState({})\n const [filterData, setFilterData] = useState({ days: 'seven' });\n const [bases, setBases] = useState([]);\n const [loading, setloading] = useState(false)\n const [anchorBase, setAnchorBase] = useState(null);\n const [baseButton, setBaseButton] = useState(false)\n const [selectedBase, setSelectedBase] = useState([getBaseStationID()]);\n\n\n\n const message = useContext(ToastMessageContext);\n //Station Check\n const [stationCheckData, setStationCheckData] = useState([])\n const [stationCheckDetails, setStationCheckDetails] = useState(false)\n const [stationCheckLineData, setStationCheckLineData] = useState([])\n const [lineValues, setLineValues] = useState([])\n const [xAxisValue, setXAxisValue] = useState([])\n\n //Handover Check\n\n\n const [handOverBarData, setHandOverBarData] = useState([])\n const [handOverLineData, setHandOverLineData] = useState([])\n const [handOverLineValue, setHandOverLineValue] = useState([])\n const [handOverXAxisValue, setHandOverXAxis] = useState([])\n const [filterHandOverData, setFilterHandOverData] = useState({ days: 'seven' });\n const [handOverDetails, setHandOverDetails] = useState(false)\n // Vehicle checks\n const [vehicleBarData, setVehicleBarData] = useState([])\n const [vehicleLineData, setVehicleLineData] = useState([])\n const [vehicleLineValue, setVehicleLineValue] = useState([])\n const [vehicleXAxisValue, setVehicleXAxis] = useState([])\n const [filterVehicleData, setFilterVehicleData] = useState({ days: 'seven' });\n const [vehicleDetails, setVehicleDetails] = useState(false)\n\n\n\n //statin check api\n const getStationChecksData = async () => {\n const params = {\n\n organisation_id: getOrganisationId(),\n ...filterData\n }\n setStationCheckDetails(true)\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await StationDashboardServices.getStationChecks(params).then((response) => {\n setStationCheckData(response.data.bar)\n setStationCheckLineData(response.data.line)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setStationCheckDetails(false)\n })\n }\n useEffect(() => {\n getStationChecksData()\n\n }, [filterData, selectedBase])\n\n const getStations = async () => {\n const params = {\n\n organisation_id: getOrganisationId(),\n // ...filterData\n }\n setloading(true)\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await StationDashboardServices.getStationCompliance(params).then((response) => {\n\n setVehicleInspectionData(response.data.vehicle_inspections[0])\n setAirSidePassData(response.data.airside_pass[0])\n setToolingData(response.data.tooling[0])\n setShellLifeData(response.data.shelf_life_parts[0])\n }).catch(() => {\n\n }).finally(() => {\n setloading(false)\n })\n }\n\n useEffect(() => {\n getStations()\n\n }, [selectedBase])\n\n //handover api\n const getHandOverData = async () => {\n const params = {\n\n organisation_id: getOrganisationId(),\n ...filterHandOverData\n }\n setHandOverDetails(true)\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await StationDashboardServices.getHandOverDetails(params).then((response) => {\n setHandOverBarData(response.data.bar)\n setHandOverLineData(response.data.line)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setHandOverDetails(false)\n })\n }\n useEffect(() => {\n getHandOverData()\n\n }, [filterHandOverData, selectedBase])\n\n //VehicleChecks\n\n const getVehicleCheckData = async () => {\n const params = {\n\n organisation_id: getOrganisationId(),\n ...filterVehicleData\n }\n setVehicleDetails(true)\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await StationDashboardServices.getVehicleChecksDetails(params).then((response) => {\n setVehicleBarData(response.data.bar)\n setVehicleLineData(response.data.line)\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setVehicleDetails(false)\n })\n }\n useEffect(() => {\n getVehicleCheckData()\n\n }, [filterVehicleData, selectedBase])\n\n\n\n const ITEM_HEIGHT = 78;\n const getBaseStation = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'station'\n }\n MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n let data = res.data\n if (data.length > 0) {\n let value = data.map((item) => ({\n ...item,\n status: getBaseStationID() === item.id ? true : false\n }))\n setBases(value);\n }\n else {\n\n setBases(res.data);\n\n }\n\n\n\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n\n\n\n useEffect(() => {\n getBaseStation()\n }, [])\n\n\n\n\n\n const handleBaseClick = (event) => {\n setAnchorBase(event.currentTarget);\n setBaseButton(!baseButton)\n };\n const filterChangeHandler = (e) => {\n const { name, value, checked } = e.target\n let value1 = bases.map((item) => {\n\n if (item.id === parseInt(value)) {\n item.status = !item.status\n }\n return item\n })\n\n // setRunTable(false)\n setSelectedBase((prevState) => [...prevState, value])\n if (!checked) {\n if (selectedBase.length > 1) {\n let item = selectedBase.filter((item) => item !== value)\n\n setSelectedBase(item);\n\n }\n else {\n setSelectedBase([])\n }\n\n }\n\n }\n\n useMemo(() => {\n const line = []\n const date = []\n if (stationCheckLineData != []) {\n for (let l = 0;l < stationCheckLineData.length;l++) {\n line.push(parseInt(stationCheckLineData[l].count))\n date.push(moment(stationCheckLineData[l].date).format(\"MMM D\"))\n setLineValues(line)\n setXAxisValue(date)\n }\n\n }\n\n }, [stationCheckLineData])\n\n useMemo(() => {\n const lineHandOver = []\n const dateHandOver = []\n if (handOverLineData != []) {\n for (let l = 0;l < handOverLineData.length;l++) {\n lineHandOver.push(parseInt(handOverLineData[l].count))\n dateHandOver.push(moment(handOverLineData[l].date).format(\"MMM D\"))\n setHandOverLineValue(lineHandOver)\n setHandOverXAxis(dateHandOver)\n }\n\n }\n\n }, [handOverLineData])\n\n\n useMemo(() => {\n const lineVehicle = []\n const dateVehicle = []\n if (vehicleLineData != []) {\n for (let l = 0;l < vehicleLineData.length;l++) {\n lineVehicle.push(vehicleLineData[l].count === null ? 0 : vehicleLineData[l].count)\n dateVehicle.push(moment(vehicleLineData[l].date).format(\"MMM D\"))\n setVehicleLineValue(lineVehicle)\n setVehicleXAxis(dateVehicle)\n }\n\n }\n\n }, [vehicleLineData])\n\n\n const handleFilterStationChange = (keyItem, value) => {\n setFilterData((prevState) => ({ ...prevState, [keyItem]: value }));\n };\n\n return (\n
\n
\n \n\n \n \n {\n setAnchorBase(null)\n setBaseButton(!baseButton)\n }}\n // anchorOrigin={{\n // vertical: 'bottom',\n // horizontal: 'left',\n // }}\n style={{ marginTop: '40px' }}\n PaperProps={{\n style: {\n maxHeight: ITEM_HEIGHT * 4.5,\n width: '39ch',\n position: 'absolute',\n top: '260px',\n },\n }}\n >\n {\n bases?.map((base, index) => {\n return \n \n \n \n \n \n \n handleChange(e, option.id)}\n onChange={(e) => { filterChangeHandler(e, index) }}\n name={base.station} />}\n // name=\"base\"\n />\n \n \n \n \n }\n\n )}\n \n \n\n \n
\n \n Overview\n \n \n \n \n\n \n\n\n \n \n \n\n Station Checks\n \n \n handleFilterStationChange(\"days\", e.target.value)\n }\n defaultValue={\"seven\"}\n // value={\"Days\"}\n // displayEmpty\n input={} >\n 7 Days\n 14 Days\n 30 Days\n \n \n \n {stationCheckDetails ? : }\n\n \n \n \n \n\n\n \n\n\n\n \n\n \n \n\n\n \n \n \n\n Handovers\n \n \n setFilterHandOverData((prevState) => ({ ...prevState, days: e.target.value }))\n\n }\n defaultValue={\"seven\"}\n // value={\"Days\"}\n // displayEmpty\n input={} >\n 7 Days\n 14 Days\n 30 Days\n \n \n \n {handOverDetails ? : }\n\n \n \n \n \n\n\n \n \n\n \n \n \n \n \n \n\n\n \n \n \n\n Vehicle Checks\n \n \n setFilterVehicleData((prevState) => ({ ...prevState, days: e.target.value }))\n\n }\n defaultValue={\"seven\"}\n // value={\"Days\"}\n // displayEmpty\n input={} >\n 7 Days\n 14 Days\n 30 Days\n \n \n \n {vehicleDetails ? : }\n\n \n \n \n \n\n\n \n\n\n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n {/* \n \n \n \n */}\n \n
\n );\n}\n\nconst useStyles = makeStyles((theme) => ({\n alert: {\n display: \"flex\",\n justifyContent: \"center\",\n color: theme.palette.warning.main,\n },\n root: {\n width: \"94%\",\n margin: \"2% 3%\",\n '&.MuiStepConnector-root': {\n borderTopWidth: '10px'\n }\n },\n}));\n\nexport default React.memo(StationCompliance)","import React from \"react\";\n\nimport { Box, makeStyles } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\n\nimport Circle from \"./Circle\";\n\nfunction IndicatorLabel(props) {\n const classes = useStyles();\n\n const { color, title, style } = props;\n\n return (\n \n \n \n {title}\n \n \n );\n}\n\nexport default IndicatorLabel;\n\nconst useStyles = makeStyles((theme) => ({\n title: {\n fontSize: \"18px\",\n lineHeight: \"23px\",\n color: \"#2D2D2D\",\n marginLeft: 8,\n textTransform: \"uppercase\",\n },\n}));\n","import React, { useContext, useState, useReducer } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Dialog, DialogContent, DialogTitle, Box, CircularProgress } from \"@material-ui/core\";\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { FormControl } from '@material-ui/core';\nimport { DatePicker } from \"antd\";\nimport moment from 'moment';\nimport { StationDashboardServices } from 'lib/services/api/dashboard/station_compliance';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { downloadCsvFileFromUrlWithBase } from 'lib/utils/helperFunctions';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\n\n\nconst { RangePicker } = DatePicker;\n\n\n\nconst useStyles = makeStyles((theme) => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"38%\",\n zIndex: 2\n }\n },\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n },\n title: {\n display: \"flex\",\n justifyContent: \"center\",\n textAlign: 'center',\n \"& h2\": {\n // color: theme.palette.primary.main,\n fontSize: \"20px\",\n fontWeight: 40,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"9px 154px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"center\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n purchaseGrid: {\n paddingTop: \"0 !important\",\n paddingBottom: \"0 !important\",\n height: \"85px\",\n },\n purchaseStock: {\n marginBottom: \"20px\",\n maxWidth: \"274px\",\n },\n}));\n\nfunction DownloadFile(props) {\n const classes = useStyles()\n const { handleClose, selectedBase } = props\n const [value, setValue] = useState([null, null]);\n const [filterData, setFilterData] = useState({});\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n\n const handleDateChange = (value) => {\n setValue(value)\n if (value) {\n const start_date = moment(value[0]).format(\"YYYY-MM-DD\");\n const end_date = moment(value[1]).format(\"YYYY-MM-DD\");\n\n setFilterData((prevState) => ({ ...prevState, start_date, end_date }));\n } else {\n const fData = { ...filterData };\n filterData?.start_date && delete fData.start_date;\n filterData?.end_date && delete fData.end_date;\n setFilterData({ ...fData });\n }\n };\n\n // download csv \n\n const handleDownloadCSV = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n ...filterData,\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await StationDashboardServices.getTemperatureAndHumidityCsv(params).then((response) => {\n downloadCsvFileFromUrlWithBase(response.file)\n handleClose()\n }).catch((error) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n const onLoad = () => {\n return (\n \n \n \n );\n\n }\n return (\n\n
\n \n\n\n\n \n \n Download\n \n
\n\n Select a date range to download historical temperature & humidity data from the filtered / selected Bases\n
\n \n
\n \n\n\n \n\n \n \n \n \n
\n \n Cancel\n \n \n Download\n \n
\n
\n\n
\n \n\n
\n )\n}\n\nexport default DownloadFile","import React, { useState, useContext, useEffect, useReducer } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { Dialog, makeStyles } from \"@material-ui/core\";\nimport { createStyles, } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\nimport { Box } from \"@material-ui/core\";\nimport MaterialTable from \"material-table\";\n\nimport tableIcons, {\n options,\n} from \"components/universal/table_attributes\";\n\nimport { formatDateWithHrMin, getOrganisationId } from \"lib/utils/common_utils\";\n\nimport TableAction from \"actions/table_actions\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport { StationDashboardServices } from \"lib/services/api/dashboard/station_compliance\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\n\n\nexport default function LiveRecords(props) {\n const { handleClose, selectedBase } = props;\n const classes = useStyles();\n const message = useContext(ToastMessageContext)\n const [loading, setLoading] = useState(false)\n const [totalCount, setTotalCount] = useState(5);\n const [pageSize, setPageSize] = useState(5);\n const [ataData, setAtaData] = useState([]);\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page } = tableState;\n\n\n\n\n // tableOptions\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n toolbar: false,\n headerStyle: {\n textAlign: \"center\",\n paddingTop: \"22px\",\n paddingBottom: \"16px\",\n },\n };\n\n\n const getRecentData = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n page: page + 1,\n limit: pageSize\n\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await StationDashboardServices.getTemperatureAndHumidityRecentData(params).then((response) => {\n setAtaData(response.data)\n setTotalCount(response.total_count)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n useEffect(() => {\n getRecentData()\n }, [page, pageSize])\n\n\n\n\n const columns = [\n {\n title: \"Base\",\n field: \"base_station\",\n headerStyle: {\n textAlign: 'left', paddingLeft: '15px'\n },\n cellStyle: {\n textAlign: 'left', paddingLeft: '15px'\n }\n },\n {\n title: \"Sensor ID\",\n field: \"serial\",\n width: '20%',\n headerStyle: {\n textAlign: 'left',\n width: '20%',\n },\n cellStyle: {\n textAlign: 'left',\n width: '20%',\n }\n },\n {\n title: \"Date / Time\",\n field: \"date_time\",\n render: (rowData) => rowData.date_time ? formatDateWithHrMin(rowData.date_time) : '-',\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left'\n }\n },\n {\n title: \"Temperature\",\n field: \"temperature\",\n },\n {\n title: \"Humidity\",\n field: \"humidity\",\n },\n {\n title: \"Battery Level\",\n field: \"battery_level\",\n },\n ];\n\n return (\n
\n \n \n \n Most Recent Data\n \n
\n \n The table below shows the most recent transmission from each sensor\n \n \n\n \n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n totalCount={totalCount}\n />\n \n \n
\n );\n}\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"750px\",\n // height: \"110vh\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"23px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden !important\"\n },\n bodyText: {\n fontSize: 20,\n lineHeight: \"28px\",\n textAlign: 'center',\n marginTop: '25px'\n },\n\n })\n);\n","import { makeStyles, Paper } from \"@material-ui/core\";\nimport { Typography, FormControl, Select, InputBase, MenuItem, IconButton, Grid, Divider, Button, FormControlLabel, Menu } from \"@material-ui/core\";\nimport { Box } from \"@material-ui/core\";\nimport React, { useState, useContext } from \"react\";\n\nimport ReactApexChart from \"react-apexcharts\";\nimport ApexCharts from 'apexcharts'\nimport IndicatorLabel from \"../../LineMaintenance/IndicatorLabel\";\nimport CloudDownloadIcon from '@material-ui/icons/CloudDownloadOutlined';\nimport DownloadFile from \"./DownloadFile\";\nimport { formatToDateOnly, getOrganisationId } from \"lib/utils/common_utils\";\nimport { StationDashboardServices } from \"lib/services/api/dashboard/station_compliance\";\nimport GraphicEqIcon from '@material-ui/icons/GraphicEq';\nimport LiveRecords from \"./LiveRecords\";\nimport ChartLoader from \"../../Workshops/Storage/ChartLoader\";\nimport { useMemo } from \"react\";\nimport _ from \"lodash\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport moment from \"moment\";\nimport { useEffect } from \"react\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport ArrowDown from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUp from '@material-ui/icons/ArrowDropUp';\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport _without from \"lodash/without\";\nimport { DatePicker } from \"antd\";\n\nconst { RangePicker } = DatePicker;\nconst HUMIDITY_COLOR = \"#56D9FE\";\nconst TEMPERATURE_COLOR = \"#5FE3A1\";\n\nconst useStyles = makeStyles((theme) => ({\n alert: {\n display: \"flex\",\n justifyContent: \"center\",\n color: theme.palette.warning.main,\n },\n root: {\n width: \"94%\",\n margin: \"2% 3%\",\n '&.MuiStepConnector-root': {\n borderTopWidth: '10px'\n }\n },\n}));\n\nfunction TemperatureHumidity(props) {\n const classes = useStyles();\n const [tempLoading, setTemploading] = useState(false)\n const [bases, setBases] = useState([]);\n const [action, setAction] = useState(null)\n const [filterData, setFilterData] = useState({ days: 'thirty' });\n const message = useContext(ToastMessageContext);\n const [anchorBase, setAnchorBase] = useState(null);\n const [baseButton, setBaseButton] = useState(false)\n const [selectedBase, setSelectedBase] = useState([]);\n const [checkedState, setCheckedState] = useState(new Array(bases.length).fill(false));\n const [startDate, setStartDate] = useState(null)\n const [endDate, setEndDate] = useState(null)\n const [value, setValue] = useState([moment().subtract(7, 'days'), moment()])\n const [humdLoading, setHumdloading] = useState(false)\n\n const [dataSeries, setDataSeries] = useState({\n series: [],\n\n options: {\n chart: {\n height: 350,\n width: \"100%\",\n type: \"line\",\n // stacked: true,\n\n dropShadow: {\n enabled: true,\n color: \"#000\",\n top: 18,\n left: 7,\n blur: 10,\n opacity: 0.2,\n },\n toolbar: {\n show: false,\n },\n },\n\n colors: [\"#FFB300\", \"#145999\", \"#26B4E8\", \"#4FC605\", \"#FF0202\", \"#000000\", \"#A4BFD8\", \"#707070\"],\n dataLabels: {\n enabled: false,\n },\n stroke: {\n curve: \"straight\",\n width: 2,\n },\n\n grid: {\n borderColor: \"#e7e7e7\",\n row: {\n colors: [\"transparent\", \"transparent\"], // takes an array which will be repeated on columns\n opacity: 0.5,\n },\n column: {\n colors: [\"transparent\", \"transparent\"],\n opacity: 0.5\n },\n },\n markers: {\n size: 0,\n },\n animations: {\n enabled: false\n },\n xaxis: {\n categories: [],\n // tickAmount: 10,\n labels: {\n rotate: 0,\n show: true\n },\n\n\n },\n yaxis: {\n min: 0,\n max: 100,\n // tickAmount: 4,\n },\n annotations: {\n yaxis: []\n },\n\n legend: {\n position: \"top\",\n horizontalAlign: \"right\",\n // floating: true,\n offsetY: 5,\n offsetX: 5,\n },\n },\n })\n\n\n const [humdSeries, setHumdSeries] = useState({\n series: [],\n\n options: {\n chart: {\n height: 350,\n width: \"100%\",\n type: \"line\",\n // stacked: true,\n\n dropShadow: {\n enabled: true,\n color: \"#000\",\n top: 18,\n left: 7,\n blur: 10,\n opacity: 0.2,\n },\n toolbar: {\n show: false,\n },\n },\n\n colors: [\"#FFB300\", \"#145999\", \"#26B4E8\", \"#4FC605\", \"#FF0202\", \"#000000\", \"#A4BFD8\", \"#707070\"],\n dataLabels: {\n enabled: false,\n },\n stroke: {\n curve: \"straight\",\n width: 2,\n },\n\n grid: {\n borderColor: \"#e7e7e7\",\n row: {\n colors: [\"transparent\", \"transparent\"], // takes an array which will be repeated on columns\n opacity: 0.5,\n },\n column: {\n colors: [\"transparent\", \"transparent\"],\n opacity: 0.5\n },\n },\n markers: {\n size: 0,\n },\n animations: {\n enabled: false\n },\n xaxis: {\n categories: [],\n // tickAmount: 10,\n labels: {\n rotate: 0,\n show: true\n },\n\n\n },\n yaxis: {\n min: 0,\n max: 100,\n // tickAmount: 4,\n },\n annotations: {\n yaxis: []\n },\n\n legend: {\n position: \"top\",\n horizontalAlign: \"right\",\n // floating: true,\n offsetY: 5,\n offsetX: 5,\n },\n },\n })\n const handleDateChange = (value) => {\n setStartDate(true)\n setEndDate(true)\n setValue(value)\n if (value) {\n const startdate = moment(value[0]).format(\"YYYY-MM-DD\");\n const enddate = moment(value[1]).format(\"YYYY-MM-DD\");\n let dayDiff = moment(value[0]).diff(value[1], 'days')\n\n if (Math.abs(dayDiff) > 365) {\n setValue(null)\n setFilterData({})\n message.showToastMessage({\n message: \"Date range exceeds 1-year maximum!\",\n variant: \"error\",\n });\n\n }\n else {\n setFilterData((prevState) => ({ ...prevState, startdate, enddate }));\n }\n\n } else {\n const fData = { ...filterData };\n filterData?.startdate && delete fData.startdate;\n filterData?.enddate && delete fData.enddate;\n setFilterData({ ...fData });\n }\n };\n\n\n\n\n\n const getTemperatureData = async () => {\n\n setTemploading(true)\n const params = {\n organisation_id: getOrganisationId(),\n type: 'Temperature',\n start_date: startDate ? filterData.startdate : moment().subtract(7, 'days').format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.enddate : moment().format(\"YYYY-MM-DD\"),\n // ...filterData\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await StationDashboardServices.getTemperatureAndHumidityDetails(params).then((response) => {\n const annotations = response.data.storage_condition_range\n\n setDataSeries((prevState) => {\n\n const updatedState = _.clone(prevState);\n // console.log(\"item===\",)\n return {\n ...updatedState,\n series: response.data.dataset,\n options: {\n ...updatedState.options,\n\n xaxis: {\n type: 'category',\n categories: response.data.labels,\n tickAmount: 5,\n labels: {\n formatter: (value) => {\n return moment(value).format('DD/MMM')\n },\n rotateAlways: false,\n show: true,\n\n }\n\n },\n dataLabels: {\n show: false\n },\n tooltip: {\n\n shared: true,\n\n y: {\n formatter: function (value) {\n return value === undefined ? \"0.00\" : value\n }\n }\n },\n annotations: {\n\n yaxis: [\n {\n y: annotations[0].min_value,\n y2: annotations[0].max_value,\n\n fillColor: \"#5FE3A1\"\n },\n // {\n // y: annotations[1].min_value,\n // y2: annotations[1].max_value,\n // fillColor: \"#56D9FE\"\n // },\n\n ]\n\n }\n }\n }\n })\n\n\n }).catch((e) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n // setTemploading(false)\n setTimeout(() => {\n setTemploading(false)\n\n }, 2000)\n\n })\n }\n useMemo(() => {\n getTemperatureData()\n\n }, [selectedBase, filterData])\n\n\n //Humdity data\n\n const getHumidityData = async () => {\n\n setHumdloading(true)\n const params = {\n organisation_id: getOrganisationId(),\n type: 'Humidity',\n start_date: startDate ? filterData.startdate : moment().subtract(7, 'days').format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.enddate : moment().format(\"YYYY-MM-DD\"),\n // ...filterData\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await StationDashboardServices.getTemperatureAndHumidityDetails(params).then((response) => {\n const annotations = response.data.storage_condition_range\n\n setHumdSeries((prevState) => {\n\n const updatedState = _.clone(prevState);\n // console.log(\"item===\",)\n return {\n ...updatedState,\n series: response.data.dataset,\n options: {\n ...updatedState.options,\n\n xaxis: {\n type: 'category',\n categories: response.data.labels,\n tickAmount: 5,\n labels: {\n formatter: (value) => {\n return moment(value).format('DD/MMM')\n },\n rotateAlways: false,\n show: true,\n\n }\n\n },\n tooltip: {\n\n shared: true,\n\n y: {\n formatter: function (value) {\n return value === undefined ? \"0.00\" : value\n }\n }\n },\n dataLabels: {\n show: false\n },\n\n annotations: {\n\n yaxis: [\n {\n y: annotations[0].min_value,\n y2: annotations[0].max_value,\n\n fillColor: \"#56D9FE\"\n },\n\n\n ]\n\n }\n }\n }\n })\n\n\n }).catch((e) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n // setTemploading(false)\n setTimeout(() => {\n setHumdloading(false)\n\n }, 2000)\n\n })\n }\n\n useMemo(() => {\n getHumidityData()\n }, [selectedBase, filterData])\n\n const handleFilterChange = (keyItem, value) => {\n setFilterData((prevState) => ({ ...prevState, [keyItem]: value }));\n };\n //filters\n const handleBaseClick = (event) => {\n setAnchorBase(event.currentTarget);\n setBaseButton(!baseButton)\n };\n const filterChangeHandler = (e) => {\n const { name, value, checked } = e.target\n setSelectedBase((prevState) => [...prevState, value])\n if (!checked) {\n setSelectedBase((current) => _without(current, value));\n }\n\n }\n\n\n const ITEM_HEIGHT = 78;\n const getBaseStation = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'station'\n }\n MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n setBases(res.data);\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n\n\n\n useEffect(() => {\n getBaseStation()\n }, [])\n\n\n return (<>\n\n
\n
\n \n\n \n \n {\n setAnchorBase(null)\n setBaseButton(!baseButton)\n }}\n // anchorOrigin={{\n // vertical: 'bottom',\n // horizontal: 'left',\n // }}\n style={{ marginTop: '0px' }}\n PaperProps={{\n style: {\n maxHeight: ITEM_HEIGHT * 4.5,\n width: '39ch',\n position: 'absolute',\n top: '260px',\n },\n }}\n >\n {\n bases?.map((base, index) => {\n return \n \n \n \n \n \n \n handleChange(e, option.id)}\n onChange={(e) => { filterChangeHandler(e, index) }}\n name={base.station} />}\n // name=\"base\"\n />\n \n \n \n \n }\n\n )}\n \n \n \n\n handleDisabledRange(current)}\n />\n \n \n setAction(\"download\")} >\n \n \n \n \n setAction(\"history\")} >\n \n \n\n \n \n
\n \n \n \n \n Temperature\n \n\n \n {tempLoading ? :\n \n \n\n \n \n }\n\n\n \n \n
\n \n \n \n \n Humidity\n \n\n \n {humdLoading ? :\n \n \n\n \n \n }\n\n\n \n \n {action && action === 'download' && setAction(null)} selectedBase={selectedBase} />}\n {action && action === 'history' && setAction(null)} selectedBase={selectedBase} />}\n
\n \n );\n}\n\nexport default React.memo(TemperatureHumidity)\n\n\n\n","import { AppBar, Toolbar, makeStyles, IconButton, Typography, Grid, MenuItem, FormControlLabel, ButtonGroup, Box, CircularProgress, Divider, Button } from '@material-ui/core'\nimport MROFullScreenRightDrawer from 'components/fullwidth_dialog'\nimport React, { useReducer, useState, useEffect, useContext } from 'react'\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport MROButton from 'components/buttons';\nimport { Delete, Edit as EditIcon } from \"@material-ui/icons\";\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport { StationDashboardServices } from 'lib/services/api/dashboard/station_compliance';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport { downloadFileFromUrl } from \"lib/utils/helperFunctions\";\nimport GetAppIcon from \"@material-ui/icons/GetApp\";\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrapper: {\n margin: \"3%\",\n // overflowX: \"hidden !important\"\n },\n title: {\n fontSize: '15px',\n paddingBottom: '17px',\n paddingLeft: '6px'\n },\n\n toggle: {\n width: '78px',\n height: '31px'\n\n\n },\n\n actionButtons: {\n marginTop: '15px',\n display: \"flex\",\n justifyContent: \"end\",\n alignItems: \"center\",\n },\n partKey: {\n fontSize: \"14px\",\n // padding: \"5px\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"5px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n\n}));\n\nconst GetInfoCard = (props) => {\n const classes = useStyles();\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n};\n\nexport default function StorageInfo(props) {\n\n const classes = useStyles()\n const { handleClose, currentSelection } = props\n const message = useContext(ToastMessageContext)\n const [busy, setBusy] = useState(null)\n const [loading, setLoading] = useState(false)\n const [data, setData] = useState([])\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(0)\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n sort: false,\n toolbar: false,\n rowStyle: {\n height: '42px'\n }\n };\n\n const downloadCsvHandler = async () => {\n setBusy(\"downloading\");\n try {\n const params = {\n csv: true,\n organisation_id: getOrganisationId(),\n id: currentSelection?.id\n };\n const { file: fileUrl } = await StationDashboardServices.getStorageEventConditionListing(\n params\n );\n\n // for downloading file automatically\n downloadFileFromUrl(fileUrl);\n message.showToastMessage({\n message: \"File downloaded successfully\",\n variant: \"success\",\n });\n } catch (error) {\n message.showToastMessage({\n message: \"something went wrong!\",\n variant: \"error\",\n });\n } finally {\n setBusy(null);\n }\n };\n const getStoragetData = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n page: page + 1,\n count_per_page: pageSize,\n id: currentSelection?.id\n\n }\n\n await StationDashboardServices.getStorageEventConditionListing(params).then((response) => {\n setData(response.data)\n setTotalCount(response.total_count)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n useEffect(() => {\n getStoragetData()\n }, [page, pageSize])\n\n\n\n\n\n const columns = [\n {\n title: \"Part #\",\n field: \"part\",\n headerStyle: {\n textAlign: 'left',\n paddingLeft: '15px'\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '15px'\n }\n\n\n }, {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left'\n }\n\n\n }, {\n title: \"Batch #\",\n field: \"batch_number\",\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left'\n }\n\n\n }, {\n title: \"Owner\",\n field: \"owner\",\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left'\n }\n\n\n }, {\n title: \"Location\",\n field: \"location\",\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left'\n }\n\n\n }, {\n title: \"QTY\",\n field: \"quantity\"\n\n },\n\n\n ]\n\n\n\n\n return (\n
\n \n\n \n \n\n \n \n {\n handleClose()\n // getListing()\n }}\n edge=\"start\"\n className={classes.backButton}\n color=\"inherit\"\n aria-label=\"back\"\n >\n \n \n \n \n \n Storage Condition Event\n \n \n\n \n \n \n
\n\n Event Details\n\n {/* Details info */}\n
\n \n <>\n \n
\n \n \n\n
\n
\n \n
\n \n \n\n
\n
\n\n \n
\n \n \n\n\n
\n
\n\n\n \n \n\n
\n Affected Parts\n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n\n totalCount={totalCount}\n page={page}\n />\n\n\n
\n \n Affected parts shown are parts received before the condition event that remain in stock currently\n
\n \n }\n variant=\"outlined\"\n color=\"secondary\"\n onClick={downloadCsvHandler}\n disabled={busy === \"downloading\"}\n >\n Download CSV\n \n \n\n
\n\n \n\n\n\n\n\n\n\n \n )\n}\n","import SearchBarWithFilters from \"components/search_with_filters\";\nimport React, { useState, useEffect, useContext, useMemo } from \"react\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { newformatMMDate, getOrganisationId } from \"lib/utils/common_utils\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { Divider, FormControlLabel, Grid, Menu, FormControl, Button, Box, makeStyles, } from \"@material-ui/core\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport _without from \"lodash/without\";\nimport ArrowDown from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUp from '@material-ui/icons/ArrowDropUp';\nimport MaterialTable from 'material-table'\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport { StationDashboardServices } from \"lib/services/api/dashboard/station_compliance\";\nimport { Visibility as View } from \"@material-ui/icons\";\nimport { IconButton } from \"@material-ui/core\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport StorageInfo from \"./InfoPage\";\nimport moment from \"moment\";\nimport { DatePicker } from \"antd\";\nconst { RangePicker } = DatePicker;\n\nexport default function ConditionEvents(props) {\n const classes = useStyles()\n const [bases, setBases] = useState([]);\n const [anchorBase, setAnchorBase] = useState(null);\n const [baseButton, setBaseButton] = useState(false)\n const [selectedBase, setSelectedBase] = useState([]);\n const message = useContext(ToastMessageContext);\n const [checkedState, setCheckedState] = useState(new Array(bases.length).fill(false));\n const [loading, setLoading] = useState(false)\n const [data, setData] = useState([])\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(0)\n const [action, setAction] = useState(null)\n const [currentSelection, setCurrentSelection] = useState(null)\n const [filterState, setFilterState] = useState({})\n\n\n\n\n const getBaseStation = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'station'\n }\n MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n setBases(res.data);\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n\n\n\n useEffect(() => {\n getBaseStation()\n }, [])\n\n\n const getStoragetData = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n page: page + 1,\n count_per_page: pageSize,\n ...filterState\n\n }\n selectedBase.forEach((item, index) => params[`base_station_ids[${[index]}]`] = item)\n await StationDashboardServices.getStorageConditionListing(params).then((response) => {\n setData(response.data)\n setTotalCount(response.total_count)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n useEffect(() => {\n getStoragetData()\n }, [page, pageSize, selectedBase, filterState])\n\n\n const handleBaseClick = (event) => {\n setAnchorBase(event.currentTarget);\n setBaseButton(!baseButton)\n };\n const filterChangeHandler = (e) => {\n const { name, value, checked } = e.target\n setSelectedBase((prevState) => [...prevState, value])\n if (!checked) {\n setSelectedBase((current) => _without(current, value));\n }\n\n }\n const ITEM_HEIGHT = 78;\n\n\n const handleDateChange = (value) => {\n setPage(0);\n if (value) {\n const start_date = moment(value[0]).format(\"DD/MM/YYYY\");\n const end_date = moment(value[1]).format(\"DD/MM/YYYY\");\n\n setFilterState((prevState) => ({ ...prevState, start_date, end_date }));\n } else {\n const fData = { ...filterState };\n filterState?.start_date && delete fData.start_date;\n filterState?.end_date && delete fData.end_date;\n setFilterState({ ...fData });\n }\n };\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n sort: false,\n toolbar: false,\n\n\n };\n\n const columns = [\n {\n title: \"Event Date\",\n field: \"event_date\",\n headerStyle: {\n\n textAlign: 'left',\n paddingLeft: '15px'\n },\n cellStyle: {\n\n textAlign: 'left',\n paddingLeft: '15px'\n }\n\n\n }, {\n title: \"Base\",\n field: \"base_station\"\n\n }, {\n title: \"Type\",\n field: \"type\",\n width: '30%',\n headerStyle: {\n width: '30%',\n textAlign: 'left'\n },\n cellStyle: {\n\n width: '30%',\n textAlign: 'left'\n }\n\n\n }, {\n title: \"Recorded Value\",\n field: \"value\"\n\n }, {\n title: \"Min Limit\",\n field: \"min_limit\"\n\n }, {\n title: \"Max Limit\",\n field: \"max_limit\"\n\n }, {\n title: \"Affected Parts\",\n field: \"affected_part\"\n\n }, {\n title: \"Action\",\n field: \"\",\n render: (rowData) => {\n setAction(\"View\")\n setCurrentSelection(rowData)\n }}>\n \n \n\n },\n\n\n\n ]\n\n\n\n\n return (\n
\n \n\n \n \n {\n setAnchorBase(null)\n setBaseButton(!baseButton)\n }}\n // anchorOrigin={{\n // vertical: 'bottom',\n // horizontal: 'left',\n // }}\n style={{ marginTop: '0px' }}\n PaperProps={{\n style: {\n maxHeight: ITEM_HEIGHT * 4.5,\n width: '39ch',\n position: 'absolute',\n top: '260px',\n },\n }}\n >\n {\n bases?.map((base, index) => {\n return \n \n \n \n \n \n \n handleChange(e, option.id)}\n onChange={(e) => { filterChangeHandler(e, index) }}\n name={base.station} />}\n // name=\"base\"\n />\n \n \n \n \n }\n\n )}\n \n \n \n \n \n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n\n totalCount={totalCount}\n page={page}\n />\n {action && action === \"View\" && {\n setAction(null)\n }} />}\n\n\n
\n )\n}\nconst useStyles = makeStyles((theme) => ({\n alert: {\n display: \"flex\",\n justifyContent: \"center\",\n color: theme.palette.warning.main,\n },\n root: {\n width: \"94%\",\n margin: \"2% 3%\",\n '&.MuiStepConnector-root': {\n borderTopWidth: '10px'\n }\n },\n}));\n","import React from 'react'\nimport { Typography, Box, makeStyles, IconButton } from \"@material-ui/core\";\nimport MROButton from \"../../../components/buttons\";\nimport ButtonGroupNavigation from \"components/button_group_navigation\";\nimport { Route, Switch } from \"react-router-dom\";\n\n\nimport Compliance from './Compliance/index'\nimport StoreCondition from './StoreCondition/TemperatureHumidity'\nimport ConditionEvents from './Condition Events';\n\nconst useStyles = makeStyles(theme => ({\n subNavigation: {\n margin: '2% 3%',\n width: '94%',\n }\n}));\nconst buttons = [\n { name: \"Compliance\", redirect: \"/org/dashboard/station/compliance\" },\n { name: \"Store Conditions\", redirect: \"/org/dashboard/station/storeconditions\" },\n { name: \"Condition Events\", redirect: \"/org/dashboard/station/conditionevents\" },\n\n];\n\n\nfunction Stations(props) {\n const classes = useStyles();\n return (\n
\n
\n \n
\n \n } />\n } />\n } />\n\n \n \n\n
\n )\n}\n\nexport default Stations","import React, { useContext, useState } from 'react'\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Dialog, DialogContent, DialogTitle } from \"@material-ui/core\";\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from 'components/buttons';\nimport { Typography } from \"@material-ui/core\";\nimport { FormControl } from '@material-ui/core';\nimport { DatePicker } from \"antd\";\nimport moment from 'moment';\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport { downloadCsvFileFromUrlWithBase } from \"lib/utils/helperFunctions\";\n\nconst { RangePicker } = DatePicker;\n\nconst useStyles = makeStyles((theme) => ({\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"38%\",\n }\n },\n formWrapper: {\n background: \"#fff\",\n width: \"100%\",\n },\n title: {\n display: \"flex\",\n justifyContent: \"center\",\n textAlign: 'center',\n \"& h2\": {\n // color: theme.palette.primary.main,\n fontSize: \"40px\",\n fontWeight: 40,\n },\n },\n subTitle: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"20px\",\n color: \"#4D4F5C\",\n },\n card: {\n padding: \"9px 154px\",\n },\n actionButtons: {\n paddingBottom: \"33px\",\n textAlign: \"center\",\n \"& button:not(:last-child)\": {\n marginRight: \"20px\",\n },\n },\n purchaseGrid: {\n paddingTop: \"0 !important\",\n paddingBottom: \"0 !important\",\n height: \"85px\",\n },\n purchaseStock: {\n display: 'flex',\n marginBottom: \"20px\",\n textAlign: 'center'\n // maxWidth: \"274px\",\n },\n}));\n\nfunction DownloadFile(props) {\n const classes = useStyles()\n const { handleClose, selectedFilters, selectedBase, labels } = props\n\n const [value, setValue] = useState([moment(labels[0]), moment(labels[labels.length - 1])]);\n const [filterData, setFilterData] = useState({});\n const message = useContext(ToastMessageContext);\n const [loading, setLoading] = useState(false)\n const [startDate, setStartDate] = useState(null)\n const [endDate, setEndDate] = useState(null)\n const [flag, setFlag] = useState(false)\n\n\n\n const handleDownloadCsvFile = async (e) => {\n e.preventDefault()\n if (value === null) {\n setFlag(true)\n }\n else {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n start_date: startDate ? filterData.start_date : moment(labels[0]).format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.end_date : moment(labels[labels.length - 1]).format(\"YYYY-MM-DD\"),\n\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`line_customer_id[${[index]}]`] = item)\n await LineMaintainenceServices.getDownloadCSVMaintHrs(params).then((response) => {\n downloadCsvFileFromUrlWithBase(response.file);\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n handleClose()\n })\n }\n }\n\n const handleDateChange = (value) => {\n setValue(value)\n setStartDate(true)\n setEndDate(true)\n setFlag(false)\n if (value) {\n const start_date = moment(value[0]).format(\"YYYY-MM-DD\");\n const end_date = moment(value[1]).format(\"YYYY-MM-DD\");\n\n setFilterData((prevState) => ({ ...prevState, start_date, end_date }));\n } else {\n const fData = { ...filterData };\n filterData?.start_date && delete fData.start_date;\n filterData?.end_date && delete fData.end_date;\n setFilterData({ ...fData });\n }\n\n\n };\n\n return (\n
\n \n\n \n \n Download\n \n
\n\n Select and date range to download historical man-hours from the filtered / selected Bases\n
\n \n
\n \n\n\n \n\n \n\n \n\n\n \n\n\n\n\n \n {flag && *please enter a date}\n \n
\n \n Cancel\n \n \n Download\n \n
\n
\n\n
\n \n\n
\n )\n}\n\nexport default DownloadFile","import { IconButton } from \"@material-ui/core\";\nimport { Box, Typography, Divider, Grid, Paper, useTheme, makeStyles, FormControl, alpha, Button, Menu, FormControlLabel } from '@material-ui/core'\n\n\nimport React, { useState, useEffect, useContext, useMemo } from 'react'\nimport ReactApexChart from \"react-apexcharts\";\nimport CloudDownloadIcon from '@material-ui/icons/CloudDownloadOutlined';\nimport DownloadFile from \"./DownloadFile\";\nimport { DatePicker } from 'antd';\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport { LineMaintainenceServices } from \"lib/services/api/dashboard/line_maintenance\";\nimport { getBaseStationID, getOrganisationId } from \"lib/utils/common_utils\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport ChartLoader from \"views/Dashboard/Workshops/Storage/ChartLoader\";\nimport { ToastMessageContext } from 'lib/contexts/message_context'\nimport ArrowDown from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUp from '@material-ui/icons/ArrowDropUp';\nimport _without from \"lodash/without\";\nimport PositiveSwitch from 'components/form_components/switch'\nimport LineCustomerService from 'lib/services/api/admin/line/line_customer_client_new'\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation'\nconst { RangePicker } = DatePicker\n\n\nfunction ManHours() {\n const [action, setAction] = useState(null)\n const [loading, setLoading] = useState(false)\n const [customerDetails, setCustomerDetails] = useState([]);\n const message = useContext(ToastMessageContext)\n const [selectedFilters, setSelectedFilters] = useState([]);\n\n const [anchorEl, setAnchorEl] = useState(null);\n const [anchorBase, setAnchorBase] = useState(null);\n\n const [custButton, setCustButton] = useState(false)\n const [bases, setBases] = useState([]);\n\n const [selectedBase, setSelectedBase] = useState([getBaseStationID()]);\n const [baseButton, setBaseButton] = useState(false)\n\n const [value, setValue] = useState([moment().subtract(1, 'month'), moment()])\n const [startDate, setStartDate] = useState(null)\n const [endDate, setEndDate] = useState(null)\n const [filterData, setFilterData] = useState({});\n\n const [labels, setLabels] = useState([])\n //customer filters\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n setCustButton(!custButton)\n };\n const handleClose = () => {\n setAnchorEl(null);\n setCustButton(!custButton)\n };\n\n const filterCustomerChangeHandler = (e) => {\n const { name, value, checked } = e.target\n // console.log(\"customer======\", value, checked)\n let value1 = customerDetails.map((item) => {\n\n if (item.id === parseInt(value)) {\n item.status = !item.status\n }\n return item\n })\n\n setSelectedFilters((prevState) => [...prevState, value])\n if (!checked) {\n setSelectedFilters((current) => _without(current, value));\n }\n\n }\n //basefilters\n const filterChangeHandler = (e) => {\n const { name, value, checked } = e.target\n let value1 = bases.map((item) => {\n\n if (item.id === parseInt(value)) {\n item.status = !item.status\n }\n return item\n })\n setSelectedBase((prevState) => [...prevState, value])\n if (!checked) {\n if (selectedBase.length > 1) {\n let item = selectedBase.filter((item) => item !== value)\n\n setSelectedBase(item);\n\n }\n else {\n setSelectedBase([])\n }\n }\n\n }\n const handleBaseClick = (event) => {\n setAnchorBase(event.currentTarget);\n setBaseButton(!baseButton)\n };\n\n //date filters\n\n const handleDateChange = (value) => {\n setStartDate(true)\n setEndDate(true)\n setValue(value)\n if (value) {\n const startdate = moment(value[0]).format(\"YYYY-MM-DD\");\n const enddate = moment(value[1]).format(\"YYYY-MM-DD\");\n let dayDiff = moment(value[0]).diff(value[1], 'days')\n\n if (Math.abs(dayDiff) > 365) {\n setValue(null)\n setFilterData({})\n message.showToastMessage({\n message: \"Date range exceeds 1-year maximum!\",\n variant: \"error\",\n });\n\n }\n else {\n setFilterData((prevState) => ({ ...prevState, startdate, enddate }));\n }\n\n } else {\n const fData = { ...filterData };\n filterData?.startdate && delete fData.startdate;\n filterData?.enddate && delete fData.enddate;\n setFilterData({ ...fData });\n }\n };\n\n //Api calls\n const getMainHoursData = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n start_date: startDate ? filterData.startdate : moment().subtract(1, 'month').format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.enddate : moment().format(\"YYYY-MM-DD\"),\n\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`line_customer_id[${[index]}]`] = item)\n await LineMaintainenceServices.getMaintHoursDetails(params).then((response) => {\n\n if (response.success) {\n setLabels(response.data.labels)\n setState((prevState) => {\n\n const updatedState = _.clone(prevState);\n return {\n ...updatedState,\n\n series: response.data.dataset,\n options: {\n ...updatedState.options,\n xaxis: {\n categories: response.data.labels,\n labels: {\n formatter: (value) => {\n return moment(value).format('DD/MMM')\n },\n rotateAlways: true,\n }\n },\n\n legend: {\n show: true,\n position: \"bottom\",\n horizontalAlign: \"center\",\n // floating: true,\n // offsetx: -5,\n offsetY: 8,\n markers: {\n width: [15, 15, 15, 15, 15, 15, 15, 15],\n height: [15, 15, 15, 15, 15, 15, 15, 15],\n strokeWidth: 1,\n strokeColor: '#fff',\n borderRadius: '5px',\n radius: [2, 2, 2, 2, 2, 2, 2, 2],\n\n\n },\n\n },\n\n }\n }\n })\n }\n }).catch((e) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n\n getMainHoursData()\n }, [selectedBase, selectedFilters, filterData])\n\n //Line customer api\n const getCustomerList = async () => {\n await LineCustomerService.getLineCustomers()\n .then((res) => {\n\n\n let data = res.line_customers\n if (data.length > 0) {\n let value = data.map((item) => ({\n ...item,\n status: false\n }))\n setCustomerDetails(value);\n }\n else {\n\n setCustomerDetails(res.line_customers);\n\n }\n\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n const getBaseStation = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'station'\n }\n MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n if (res) {\n\n let data = res.data\n if (data.length > 0) {\n let value = data.map((item) => ({\n ...item,\n status: getBaseStationID() === item.id ? true : false\n }))\n setBases(value);\n }\n else {\n\n setBases(res.line_customers);\n\n }\n }\n\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n useEffect(() => {\n getCustomerList()\n getBaseStation()\n }, [])\n\n const ITEM_HEIGHT = 78;\n\n\n const [state, setState] = useState({\n series: [],\n options: {\n chart: {\n height: 550,\n width: \"100%\",\n type: \"line\",\n stacked: false,\n\n dropShadow: {\n enabled: false,\n color: \"#000\",\n top: 18,\n left: 7,\n blur: 10,\n opacity: 0.2,\n },\n toolbar: {\n show: false,\n },\n },\n\n colors: [\"#FFB300\", \"#145999\", \"#26B4E8\", \"#4FC605\", \"#FF0202\", \"#000000\", \"#A4BFD8\", \"#707070\"],\n dataLabels: {\n enabled: false,\n },\n stroke: {\n curve: 'smooth',\n width: [2, 2, 2, 2, 2],\n },\n\n grid: {\n row: {\n colors: ['transparent', 'transparent'],\n opacity: 0.5\n },\n column: {\n colors: ['transparent', 'transparent'],\n },\n xaxis: {\n lines: {\n show: true\n }\n }\n },\n markers: {\n size: 0,\n },\n xaxis: {\n categories: [],\n\n },\n\n\n\n }\n })\n return (\n
\n \n \n \n \n\n {customerDetails?.map((option, index) => {\n return \n \n \n \n \n \n \n { filterCustomerChangeHandler(e) }}\n name={option.name} />}\n />\n \n\n \n \n \n })}\n \n \n \n \n {\n setAnchorBase(null)\n setBaseButton(!baseButton)\n }}\n // anchorOrigin={{\n // vertical: 'bottom',\n // horizontal: 'left',\n // }}\n style={{ marginTop: '40px' }}\n PaperProps={{\n style: {\n maxHeight: ITEM_HEIGHT * 4.5,\n width: '39ch',\n position: 'absolute',\n top: '260px',\n },\n }}\n >\n {\n bases?.map((base, index) => {\n return \n \n \n \n \n \n \n handleChange(e, option.id)}\n onChange={(e) => { filterChangeHandler(e, index) }}\n name={base.station} />}\n // name=\"base\"\n />\n \n \n \n \n }\n\n )}\n \n \n \n handleDisabledRange(current)}\n />\n \n \n\n \n \n \n Total Man-Hours\n \n\n setAction(\"download\")} >\n \n \n\n \n {loading ? :\n \n \n \n \n }\n {action && action === 'download' && setAction(null)} selectedBase={selectedBase} selectedFilters={selectedFilters} labels={labels} />}\n \n
\n )\n}\n\nexport default ManHours","import { Typography } from '@material-ui/core'\nimport React, { useState, useEffect } from 'react'\nimport { useMemo } from 'react'\nimport ReactApexChart from 'react-apexcharts'\n\n\nconst Chart = (props) => {\n const { value1, value2, value3, name, color1, color2, color3, labels, totalPercentage } = props\n const [values, setValues] = useState([])\n const [label, setlabel] = useState([])\n const [orgColor, setOrgColor] = useState([])\n\n useMemo(() => {\n if (value1 !== undefined) {\n values.push(value1)\n }\n if (value2 !== undefined) {\n values.push(value2)\n }\n if (value3 !== undefined) {\n values.push(value3)\n }\n if (color1 !== undefined) {\n orgColor.push(color1)\n }\n if (color2 !== undefined) {\n orgColor.push(color2)\n }\n if (color3 !== undefined) {\n orgColor.push(color3)\n }\n setValues(values)\n setOrgColor(orgColor)\n }, [value1, value2, value3, color1, color2, color3])\n\n // console.log(\"Dasboardprops=========\", props)\n useMemo(() => {\n if (labels !== undefined) {\n // console.log(\"label=======\", labels)\n for (let i = 0;i < labels.length;i++) {\n label.push(labels[i])\n }\n }\n setlabel(label)\n }, [labels])\n const [state, setState] = useState({\n series: values,\n options: {\n chart: {\n // size: '100px',\n type: 'donut',\n },\n plotOptions: {\n pie: {\n donut: {\n size: '75%'\n }\n\n // customScale: 0.8\n }\n },\n\n labels: label,\n dataLabels: {\n\n formatter(val, opts) {\n const name = opts.w.globals.labels[opts.seriesIndex]\n return [name, opts.w.config.series[opts.seriesIndex]]\n },\n },\n\n colors: orgColor,\n dataLabels: {\n enabled: false\n },\n legend: {\n show: false,\n position: 'bottom'\n },\n\n responsive: [{\n breakpoint: 480,\n options: {\n chart: {\n width: 200\n },\n legend: {\n show: false,\n position: 'bottom'\n }\n }\n }]\n }\n })\n\n const [totalState, setTotalState] = useState({\n series: [1, 0, 0],\n options: {\n chart: {\n size: '100px',\n type: 'donut',\n },\n plotOptions: {\n pie: {\n donut: {\n size: '75%'\n }\n\n // customScale: 0.8\n }\n },\n labels: ['0', '0', '0'],\n colors: ['#dddddd', '#dddddd', '#dddddd'],\n dataLabels: {\n enabled: false\n },\n legend: {\n show: false,\n position: 'bottom'\n },\n tooltip: {\n\n enabled: false\n },\n\n responsive: [{\n breakpoint: 480,\n options: {\n chart: {\n width: 200\n },\n legend: {\n show: false,\n position: 'bottom'\n }\n }\n }]\n }\n })\n\n return (\n <>\n \n \n )\n}\nexport default React.memo(Chart)","import React, { useReducer, useEffect, useContext, useState } from 'react'\nimport { Grid, Paper, Typography, IconButton } from '@material-ui/core'\nimport MaterialTable from 'material-table'\nimport moment from 'moment';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport DownloadIcon from '@material-ui/icons/CloudDownloadOutlined';\nimport Visibility from '@material-ui/icons/Visibility';\n\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from 'reducers/table_reducer';\nimport TableAction from 'actions/table_actions'\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport { format24HrDateTime, getOrganisationId } from 'lib/utils/common_utils';\nimport { getTimeDiffFormatted } from 'views/Operations/LineMaintenance/WorkOrder/section_detail';\nimport { downloadCsvFileFromUrlWithBase } from 'lib/utils/helperFunctions';\nimport DetailsPopUp from 'views/Planning/Line maintenance/LMEvents/DetailsPopUp';\n\n\n\n\nexport default function OTP({ selectedFilters, selectedBase, filterData, startDate, endDate }) {\n const [action, setAction] = useState('')\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, pageSize, inProgress } = tableState;\n const [otpData, setOtpData] = useState([])\n const [totalCount, setTotalCount] = useState(10);\n const message = useContext(ToastMessageContext)\n const [loading, setLoading] = useState(false)\n\n const [selectedRowDetails, setSelectedRowDetails] = useState({})\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n sort: false\n\n };\n\n\n const getOTPListing = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n dial_name: \"otp\",\n page: page + 1,\n limit: pageSize,\n start_date: startDate ? filterData.startdate : moment().subtract(7, 'days').format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.enddate : moment().format(\"YYYY-MM-DD\")\n\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`line_customer_id[${[index]}]`] = item)\n await LineMaintainenceServices.getPerformanceListing(params).then((response) => {\n setOtpData(response.data)\n setTotalCount(response.total_count);\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n })\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n getOTPListing()\n }, [page, pageSize, totalCount, selectedFilters, selectedBase, filterData])\n\n\n const columns = [\n {\n title: 'W/O #',\n field: 'work_order_number',\n width: '10%',\n },\n {\n title: 'Aircraft',\n field: 'aircraft_registration',\n\n\n },\n {\n title: 'Airline',\n field: 'customer_name',\n\n\n },\n {\n title: 'Base',\n field: 'base_station',\n\n\n },\n {\n title: 'Est Arrival',\n field: 'est_arr_date',\n render: rowData => rowData.est_arr_date ? format24HrDateTime(rowData.est_arr_date) : '-'\n\n\n },\n {\n title: 'Act Arrival',\n field: 'aircraft_arrival_date',\n render: rowData => rowData.aircraft_arrival_date ? format24HrDateTime(rowData.aircraft_arrival_date) : '-'\n\n },\n {\n title: 'Delay In',\n field: 'delayin',\n render: rowData => handleDelay(rowData.aircraft_arrival_date, rowData.est_arr_date)\n\n },\n {\n title: 'Est Departure',\n field: 'est_dep_date',\n render: rowData => rowData.est_dep_date ? format24HrDateTime(rowData.est_dep_date) : '-'\n },\n\n {\n title: 'Act Departure',\n field: 'act_dep_date',\n render: rowData => rowData.act_dep_date ? format24HrDateTime(rowData.act_dep_date) : '-'\n },\n {\n title: 'Delay',\n field: 'delay',\n render: rowData => handleDelay(rowData.act_dep_date, rowData.est_dep_date)\n\n },\n {\n title: 'Delay Code',\n field: 'delay_code',\n render: rowData => rowData.delay_code || '-'\n\n }, {\n title: 'Action',\n field: 'action',\n render: (rowData) => (\n {\n setAction('View')\n setSelectedRowDetails(rowData)\n }\n }>\n\n \n \n\n )\n },\n\n ]\n\n //Handle date calculation delay_in => aircraft_arrival_date- est_arr_date\n\n const handleDelay = (value1, value2) => {\n\n const format = \"YYYY-MM-DD - HH:mm:ss\";\n const estArrivalDateTime = moment(value2, format);\n const actArrivalDateTime = moment(value1, format);\n const duration = moment.duration(actArrivalDateTime.diff(estArrivalDateTime))\n if (duration.isValid()) {\n const inbdDelayTime = getTimeDiffFormatted(duration)\n return inbdDelayTime\n } else {\n return \"-\"\n }\n\n }\n\n //const download Csv\n const handleDownloadCsv = async () => {\n // console.log('clicked======')\n setLoading(true)\n\n const params = {\n organisation_id: getOrganisationId(),\n dial_name: \"otp\",\n start_date: startDate ? filterData.startdate : moment().subtract(7, 'days').format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.enddate : moment().format(\"YYYY-MM-DD\"),\n download_csv: true\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`line_customer_id[${[index]}]`] = item)\n await LineMaintainenceServices.getPerformanceListing(params).then((response) => {\n downloadCsvFileFromUrlWithBase(response.file)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n })\n }).finally(() => {\n setLoading(false)\n })\n }\n\n\n\n\n\n\n return (\n <>\n \n\n \n Delayed\n }\n options={tableOptions}\n data={otpData}\n columns={columns}\n isLoading={loading}\n actions={[\n {\n icon: () => ,\n tooltip: 'Download',\n isFreeAction: true,\n onClick: () => {\n handleDownloadCsv()\n }\n\n }\n ]}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n\n \n {action && action === 'View' && setAction(null)} selectedRowDetails={selectedRowDetails.id} />}\n \n )\n}\n","import React, { useReducer, useEffect, useContext, useState } from 'react'\nimport { Grid, Paper, Typography, Box, IconButton } from '@material-ui/core'\nimport MaterialTable from 'material-table'\nimport moment from 'moment';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from 'reducers/table_reducer';\nimport TableAction from 'actions/table_actions'\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport { format24HrDateTime, getOrganisationId } from 'lib/utils/common_utils';\nimport { getTimeDiffFormatted } from 'views/Operations/LineMaintenance/WorkOrder/section_detail';\nimport DetailsPopUp from 'views/Planning/Line maintenance/LMEvents/DetailsPopUp';\nimport Visibility from '@material-ui/icons/Visibility';\n\nimport DownloadIcon from '@material-ui/icons/CloudDownloadOutlined';\nimport { downloadCsvFileFromUrlWithBase } from 'lib/utils/helperFunctions';\n\nfunction Recovered({ selectedFilters, selectedBase, filterData, startDate, endDate }) {\n const [action, setAction] = useState('')\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, pageSize, inProgress } = tableState;\n const [recoveredData, setRecoveredData] = useState([])\n const message = useContext(ToastMessageContext)\n const [loading, setLoading] = useState(false)\n const [totalCount, setTotalCount] = useState(10);\n const [selectedRowDetails, setSelectedRowDetails] = useState({})\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n sort: false\n\n };\n const getRecoveredListing = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n dial_name: \"recovered\",\n page: page + 1,\n limit: pageSize,\n start_date: startDate ? filterData.startdate : moment().subtract(7, 'days').format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.enddate : moment().format(\"YYYY-MM-DD\")\n\n\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`line_customer_id[${[index]}]`] = item)\n await LineMaintainenceServices.getPerformanceListing(params).then((response) => {\n setRecoveredData(response.data)\n setTotalCount(response.total_count);\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n })\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n getRecoveredListing()\n }, [page, pageSize, selectedFilters, selectedBase, totalCount, filterData])\n\n\n const columns = [\n {\n title: 'W/O #',\n field: 'work_order_number',\n width: '10%',\n },\n {\n title: 'Aircraft',\n field: 'aircraft_registration',\n\n\n },\n {\n title: 'Airline',\n field: 'customer_name',\n\n\n },\n {\n title: 'Base',\n field: 'base_station',\n\n\n },\n {\n title: 'Est Arrival',\n field: 'est_arr_date',\n render: rowData => rowData.est_arr_date ? format24HrDateTime(rowData.est_arr_date) : '-'\n\n\n },\n {\n title: 'Act Arrival',\n field: 'aircraft_arrival_date',\n render: rowData => rowData.aircraft_arrival_date ? format24HrDateTime(rowData.aircraft_arrival_date) : '-'\n\n },\n {\n title: 'Delay In',\n field: 'delayin',\n render: rowData => handleDelay(rowData.aircraft_arrival_date, rowData.est_arr_date)\n\n },\n {\n title: 'Est Departure',\n field: 'est_dep_date',\n render: rowData => rowData.est_dep_date ? format24HrDateTime(rowData.est_dep_date) : '-'\n },\n\n {\n title: 'Act Departure',\n field: 'act_dep_date',\n render: rowData => rowData.act_dep_date ? format24HrDateTime(rowData.act_dep_date) : '-'\n },\n {\n title: 'Delay',\n field: 'delay',\n render: rowData => handleDelay(rowData.act_dep_date, rowData.est_dep_date)\n\n },\n {\n title: 'Delay Code',\n field: 'delay_code',\n render: rowData => rowData.delay_code || '-'\n\n }, {\n title: 'Action',\n field: 'action',\n render: (rowData) => (\n {\n setAction('View')\n setSelectedRowDetails(rowData)\n }\n }>\n\n \n \n\n )\n },\n\n ]\n const handleDelay = (value1, value2) => {\n\n const format = \"YYYY-MM-DD - HH:mm:ss\";\n const estArrivalDateTime = moment(value2, format);\n const actArrivalDateTime = moment(value1, format);\n const duration = moment.duration(actArrivalDateTime.diff(estArrivalDateTime))\n if (duration.isValid()) {\n const inbdDelayTime = getTimeDiffFormatted(duration)\n return inbdDelayTime\n } else {\n return \"-\"\n }\n\n }\n\n\n //const download Csv\n const handleDownloadCsv = async () => {\n // console.log('clicked======')\n setLoading(true)\n\n const params = {\n organisation_id: getOrganisationId(),\n dial_name: \"recovered\",\n start_date: startDate ? filterData.startdate : moment().subtract(7, 'days').format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.enddate : moment().format(\"YYYY-MM-DD\"),\n download_csv: true\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`line_customer_id[${[index]}]`] = item)\n await LineMaintainenceServices.getPerformanceListing(params).then((response) => {\n downloadCsvFileFromUrlWithBase(response.file)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n })\n }).finally(() => {\n setLoading(false)\n })\n }\n return (\n <>\n \n\n \n Late in recoveries\n }\n options={tableOptions}\n data={recoveredData}\n columns={columns}\n isLoading={loading}\n actions={[\n {\n icon: () => ,\n tooltip: 'Download',\n isFreeAction: true,\n onClick: () => {\n handleDownloadCsv()\n }\n }\n ]}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n {action && action === 'View' && setAction(null)} selectedRowDetails={selectedRowDetails.id} />}\n \n \n )\n}\n\nexport default Recovered","import React, { useReducer, useEffect, useContext, useState } from 'react'\nimport { Grid, Paper, Typography, Box, Button } from '@material-ui/core'\nimport MaterialTable from 'material-table'\nimport moment from 'moment';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport TableAction from 'actions/table_actions'\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from 'reducers/table_reducer';\nimport DownloadIcon from '@material-ui/icons/CloudDownloadOutlined';\nimport { downloadCsvFileFromUrlWithBase } from 'lib/utils/helperFunctions';\n\n\nfunction Chargeable({ selectedFilters, selectedBase, filterData, startDate, endDate }) {\n const [action, setAction] = useState('')\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, pageSize } = tableState;\n const [chargeableData, setChargeableData] = useState([])\n const message = useContext(ToastMessageContext)\n const [loading, setLoading] = useState(false)\n const [totalCount, setTotalCount] = useState(10);\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n sort: false\n\n };\n const getChargeableListing = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n dial_name: \"charges\",\n page: page + 1,\n limit: pageSize,\n start_date: startDate ? filterData.startdate : moment().subtract(7, 'days').format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.enddate : moment().format(\"YYYY-MM-DD\")\n\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`line_customer_id[${[index]}]`] = item)\n await LineMaintainenceServices.getPerformanceListing(params).then((response) => {\n setChargeableData(response.data)\n setTotalCount(response.total_count);\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n })\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n getChargeableListing()\n }, [page, pageSize, selectedFilters, selectedBase, filterData])\n\n const columns = [\n {\n title: 'Base',\n field: 'base_station',\n width: '30%',\n headerStyle: {\n width: '10%',\n textAlign: 'left',\n\n paddingLeft: '20px'\n },\n cellStyle: {\n width: '10%',\n textAlign: 'left',\n paddingLeft: '20px'\n\n },\n },\n {\n title: 'Head Count',\n field: 'head_count',\n\n\n },\n {\n title: 'Top Ups',\n field: 'top_ups',\n\n\n },\n {\n title: 'Whl Changes',\n field: 'tx_inflations',\n\n\n },\n {\n title: 'Medium Steps',\n field: 'medium_steps',\n\n\n },\n {\n title: 'Large Steps',\n field: 'large_steps',\n\n\n },\n {\n title: 'High Lift (Hrs)',\n field: 'high_lifts',\n\n\n },\n {\n title: 'APU Access Stand',\n field: 'gnd_equip',\n\n },\n\n {\n title: 'Tows',\n field: 'tows',\n },\n {\n title: 'ADHOC Events',\n field: 'adhoc_events',\n\n },\n\n\n ]\n\n //const download Csv\n const handleDownloadCsv = async () => {\n // console.log('clicked======')\n setLoading(true)\n\n const params = {\n organisation_id: getOrganisationId(),\n dial_name: \"charges\",\n start_date: startDate ? filterData.startdate : moment().subtract(7, 'days').format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.enddate : moment().format(\"YYYY-MM-DD\"),\n download_csv: true\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`line_customer_id[${[index]}]`] = item)\n await LineMaintainenceServices.getPerformanceListing(params).then((response) => {\n downloadCsvFileFromUrlWithBase(response.file)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n })\n }).finally(() => {\n setLoading(false)\n })\n }\n return (\n <>\n \n\n \n Chargeable\n }\n options={tableOptions}\n data={chargeableData}\n columns={columns}\n isLoading={loading}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n actions={[\n {\n icon: () => ,\n tooltip: 'Download',\n isFreeAction: true,\n onClick: () => {\n handleDownloadCsv()\n }\n }\n ]}\n />\n\n \n \n )\n}\n\nexport default Chargeable","import React, { useReducer, useEffect, useContext, useState } from 'react'\nimport { Grid, Paper, Typography, Box, Button } from '@material-ui/core'\nimport MaterialTable from 'material-table'\nimport moment from 'moment';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from 'reducers/table_reducer';\nimport TableAction from 'actions/table_actions'\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport DownloadIcon from '@material-ui/icons/CloudDownloadOutlined';\nimport { downloadCsvFileFromUrlWithBase } from 'lib/utils/helperFunctions';\n\n\n\nfunction ManHours({ selectedFilters, selectedBase, filterData, startDate, endDate }) {\n const [action, setAction] = useState('')\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, pageSize, inProgress } = tableState;\n const [manHoursData, setManHoursData] = useState([])\n const message = useContext(ToastMessageContext)\n const [loading, setLoading] = useState(false)\n const [totalCount, setTotalCount] = useState(10);\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n sort: false\n\n };\n const getManHoursListing = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n dial_name: \"man_hours\",\n page: page + 1,\n limit: pageSize,\n start_date: startDate ? filterData.startdate : moment().subtract(7, 'days').format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.enddate : moment().format(\"YYYY-MM-DD\")\n\n\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`line_customer_id[${[index]}]`] = item)\n await LineMaintainenceServices.getPerformanceListing(params).then((response) => {\n setManHoursData(response.data)\n setTotalCount(response.total_count);\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n })\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n getManHoursListing()\n }, [page, pageSize, selectedFilters, selectedBase, filterData])\n\n\n const columns = [\n {\n title: 'Base',\n field: 'base_station',\n\n },\n {\n title: 'Airline',\n field: 'customer',\n width: '30%',\n headerStyle: {\n width: '30%',\n textAlign: 'left',\n\n\n },\n cellStyle: {\n width: '30%',\n textAlign: 'left',\n\n\n },\n\n\n\n },\n {\n title: 'Schd Checks',\n field: 'schd_checks',\n\n\n },\n {\n title: 'TL Tasks',\n field: 'tl_tasks',\n\n\n },\n {\n title: 'Cabin',\n field: 'cabin',\n\n\n },\n {\n title: 'N-Fixed Price',\n field: 'n_fixed_price',\n\n\n },\n {\n title: 'Defects',\n field: 'defects',\n\n\n }, {\n title: 'Planned',\n field: 'planned',\n\n\n },\n {\n title: 'Total',\n field: 'total_man_hours',\n\n }\n\n\n ]\n\n //const download Csv\n const handleDownloadCsv = async () => {\n // console.log('clicked======')\n setLoading(true)\n\n const params = {\n organisation_id: getOrganisationId(),\n dial_name: \"man_hours\",\n start_date: startDate ? filterData.startdate : moment().subtract(7, 'days').format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.enddate : moment().format(\"YYYY-MM-DD\"),\n download_csv: true\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`line_customer_id[${[index]}]`] = item)\n await LineMaintainenceServices.getPerformanceListing(params).then((response) => {\n downloadCsvFileFromUrlWithBase(response.file)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n })\n }).finally(() => {\n setLoading(false)\n })\n }\n\n return (\n <>\n \n\n \n Man Hours\n }\n options={tableOptions}\n data={manHoursData}\n columns={columns}\n isLoading={loading}\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n actions={[\n {\n icon: () => ,\n tooltip: 'Download',\n isFreeAction: true,\n onClick: () => {\n handleDownloadCsv()\n }\n\n }\n ]}\n />\n\n \n \n )\n}\n\nexport default ManHours","import { Box, Typography, Divider, Grid, Paper, useTheme, makeStyles, FormControl, InputBase, MenuItem, Select, alpha, Button, Menu, FormControlLabel } from '@material-ui/core'\nimport React, { useState, useEffect, useContext, useMemo } from 'react'\nimport Chart from './Chart'\nimport OTP from './OTP'\nimport Recovered from './Recovered'\nimport Chargeable from './Chargeable'\nimport ManHours from './ManHours'\nimport TirePressure from 'assets/Dashboard/tire-pressure.svg'\nimport BoomLift from 'assets/Dashboard/boom-lift.svg'\nimport LadderTruck from 'assets/Dashboard/ladder-truck.svg'\nimport Airplane from 'assets/Dashboard/airplane.svg'\nimport SearchBarWithFilters from 'components/search_with_filters';\nimport { DatePicker } from 'antd';\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance'\n\nimport { getBaseStationID, getOrganisationId } from 'lib/utils/common_utils'\nimport ChartLoader from 'views/Dashboard/Workshops/Storage/ChartLoader'\nimport LineCustomerService from 'lib/services/api/admin/line/line_customer_client_new'\nimport { ToastMessageContext } from 'lib/contexts/message_context'\nimport ArrowDown from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUp from '@material-ui/icons/ArrowDropUp';\nimport _without from \"lodash/without\";\nimport PositiveSwitch from 'components/form_components/switch'\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation'\nimport moment from 'moment'\n\n\nconst { RangePicker } = DatePicker\n\nconst useStyles = makeStyles((theme) => ({\n image: {\n marginTop: '30px',\n marginLeft: '5px',\n\n },\n topUpGrid: {\n marginTop: '35px',\n },\n taxInflation: {\n marginTop: '24px',\n marginBottom: '10px'\n\n },\n divider: {\n textAlign: 'center',\n borderRight: '3px solid #70707099'\n },\n quotePercentageText: {\n marginTop: ' -112px',\n marginBottom: ' 53px',\n textAlign: ' center',\n fontSize: '22px',\n color: '#8CDA5C'\n },\n centerLabel: {\n textAlign: ' center',\n marginTop: ' -50px',\n marginBottom: '66px',\n\n fontSize: '12px',\n color: theme.palette.primary.main\n },\n\n}))\n\nexport default function LinePerformance() {\n const [action, setAction] = useState(null)\n const classes = useStyles()\n const theme = useTheme();\n const [otpData, setOtpData] = useState({})\n const [recoveredData, setRecoveredData] = useState({})\n const [loading, setLoading] = useState(false)\n const [manHoursData, setManHoursData] = useState({})\n const [chargesData, setChargesData] = useState({})\n const [customerDetails, setCustomerDetails] = useState([]);\n const message = useContext(ToastMessageContext)\n\n const [selectedFilters, setSelectedFilters] = useState([]);\n\n const [anchorEl, setAnchorEl] = useState(null);\n const [anchorBase, setAnchorBase] = useState(null);\n\n const [custButton, setCustButton] = useState(false)\n const [bases, setBases] = useState([]);\n\n const [selectedBase, setSelectedBase] = useState([getBaseStationID()]);\n const [baseButton, setBaseButton] = useState(false)\n\n const [value, setValue] = useState([moment().subtract(7, 'days'), moment()])\n const [startDate, setStartDate] = useState(null)\n const [endDate, setEndDate] = useState(null)\n const [filterData, setFilterData] = useState({});\n\n\n //Percentage \n\n const [otpPercentage, setOTPPercentage] = useState(0)\n const [recoveredPercentage, setRecoveredpercentage] = useState(0)\n\n\n\n\n\n //customer filters\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n setCustButton(!custButton)\n };\n const handleClose = () => {\n setAnchorEl(null);\n setCustButton(!custButton)\n };\n\n const filterCustomerChangeHandler = (e) => {\n const { name, value, checked } = e.target\n // console.log(\"customer======\", value, checked)\n let value1 = customerDetails.map((item) => {\n\n if (item.id === parseInt(value)) {\n item.status = !item.status\n }\n return item\n })\n\n setSelectedFilters((prevState) => [...prevState, value])\n if (!checked) {\n setSelectedFilters((current) => _without(current, value));\n }\n\n }\n //basefilters\n const filterChangeHandler = (e) => {\n const { name, value, checked } = e.target\n let value1 = bases.map((item) => {\n\n if (item.id === parseInt(value)) {\n item.status = !item.status\n }\n return item\n })\n setSelectedBase((prevState) => [...prevState, value])\n if (!checked) {\n if (selectedBase.length > 1) {\n let item = selectedBase.filter((item) => item !== value)\n\n setSelectedBase(item);\n\n }\n else {\n setSelectedBase([])\n }\n }\n\n }\n const handleBaseClick = (event) => {\n setAnchorBase(event.currentTarget);\n setBaseButton(!baseButton)\n };\n\n //date filters\n\n const handleDateChange = (value) => {\n setStartDate(true)\n setEndDate(true)\n setValue(value)\n if (value) {\n const startdate = moment(value[0]).format(\"YYYY-MM-DD\");\n const enddate = moment(value[1]).format(\"YYYY-MM-DD\");\n let dayDiff = moment(value[0]).diff(value[1], 'days')\n\n if (Math.abs(dayDiff) > 365) {\n setValue(null)\n setFilterData({})\n message.showToastMessage({\n message: \"Date range exceeds 1-year maximum!\",\n variant: \"error\",\n });\n\n }\n else {\n setFilterData((prevState) => ({ ...prevState, startdate, enddate }));\n }\n\n } else {\n const fData = { ...filterData };\n filterData?.startdate && delete fData.startdate;\n filterData?.enddate && delete fData.enddate;\n setFilterData({ ...fData });\n }\n };\n\n //Api calls\n const getPerformanceDetails = async () => {\n setLoading(true)\n const params = {\n\n organisation_id: getOrganisationId(),\n start_date: startDate ? filterData.startdate : moment().subtract(7, 'days').format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.enddate : moment().format(\"YYYY-MM-DD\"),\n\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`line_customer_id[${[index]}]`] = item)\n await LineMaintainenceServices.getPerformance(params).then((response) => {\n setOtpData(response.data.otp)\n setRecoveredData(response.data.recovered)\n setManHoursData(response.data.man_hours)\n setChargesData(response.data.charges)\n }).catch((e) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n\n getPerformanceDetails()\n }, [selectedFilters, selectedBase, filterData])\n // console.log(\"Dasboardprops=========\", manHoursData)\n\n\n //percentage calculation \n\n useMemo(() => {\n let total = otpData.on_time + otpData.non_tech + otpData.tech\n let value1 = otpData.on_time + otpData.non_tech\n let percentage = (value1 / total) * 100\n if (total === 0) {\n setOTPPercentage(total)\n\n }\n else {\n setOTPPercentage(parseFloat(percentage).toFixed(2))\n }\n }, [otpData])\n\n useMemo(() => {\n let total = recoveredData.late_in_on_time + recoveredData.late_in_late_out\n let percentage = (recoveredData.late_in_on_time / total) * 100\n\n if (total === 0) {\n setRecoveredpercentage(total)\n }\n else {\n setRecoveredpercentage(parseFloat(percentage).toFixed(2))\n }\n }, [recoveredData])\n\n //Line customer api\n const getCustomerList = async () => {\n await LineCustomerService.getLineCustomers()\n .then((res) => {\n\n let data = res.line_customers\n if (data.length > 0) {\n let value = data.map((item) => ({\n ...item,\n status: false\n }))\n setCustomerDetails(value);\n }\n else {\n\n setCustomerDetails(res.line_customers);\n\n }\n\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n const getBaseStation = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'station'\n }\n MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n let data = res.data\n if (data.length > 0) {\n let value = data.map((item) => ({\n ...item,\n status: getBaseStationID() === item.id ? true : false\n }))\n setBases(value);\n }\n else {\n\n setBases(res.line_customers);\n\n }\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n useEffect(() => {\n getCustomerList()\n getBaseStation()\n }, [])\n\n const ITEM_HEIGHT = 78;\n\n return (\n
\n\n\n\n \n \n \n \n {/* Customer(All) */}\n {customerDetails?.map((option, index) => {\n return \n \n \n \n \n \n \n { filterCustomerChangeHandler(e) }}\n name={option.name} />}\n />\n \n\n \n \n \n })}\n \n \n \n \n {\n setAnchorBase(null)\n setBaseButton(!baseButton)\n }}\n // anchorOrigin={{\n // vertical: 'bottom',\n // horizontal: 'left',\n // }}\n style={{ marginTop: '40px' }}\n PaperProps={{\n style: {\n maxHeight: ITEM_HEIGHT * 4.5,\n width: '39ch',\n position: 'absolute',\n top: '260px',\n },\n }}\n >\n {\n bases?.map((base, index) => {\n return \n \n \n \n \n \n \n handleChange(e, option.id)}\n onChange={(e) => { filterChangeHandler(e, index) }}\n name={base.station} />}\n // name=\"base\"\n />\n \n \n \n \n }\n\n )}\n \n \n \n \n \n \n \n Performance\n \n\n \n setAction(\"otp\")}>\n \n \n \n {loading ? : <>\n \n\n\n \n
\n {otpPercentage ? otpPercentage : 0}{\"%\"}\n TDR\n
\n\n
\n \n \n {otpData.on_time ? otpData.on_time : 0}\n On Time\n \n \n {otpData.non_tech ? otpData.non_tech : 0}\n Non Tech\n \n \n {otpData.tech ? otpData.tech : 0}\n Tech Delay\n \n \n \n }\n
\n\n
\n
\n
\n setAction(\"recovered\")}>\n\n \n \n \n {loading ? : <>\n \n\n\n \n\n
\n {recoveredPercentage ? recoveredPercentage : 0}{\"%\"}\n Recovered\n
\n\n
\n \n \n {recoveredData.late_in_on_time ? recoveredData.late_in_on_time : 0}\n Late In/On time\n \n \n {recoveredData.late_in_late_out ? recoveredData.late_in_late_out : 0}\n Late In/Late Out\n \n \n \n }\n
\n\n
\n
\n\n
\n setAction(\"manhrs\")}>\n\n \n \n \n {loading ? :\n <>\n \n\n \n
\n {manHoursData.main_figure ? manHoursData.main_figure : 0}\n Man Hrs\n
\n
\n \n \n {manHoursData.schd_checks ? manHoursData.schd_checks : 0}\n Schd Checks\n \n \n {manHoursData.maint_tasks ? manHoursData.maint_tasks : 0}\n Maint Tasks\n \n \n }\n
\n\n
\n
\n\n
\n setAction(\"chargeable\")} >\n\n \n\n \n Chargeable\n {loading ? : <>\n \n\n \n \n \n \n \n {chargesData.nitrogen_value ? chargesData.nitrogen_value : \"-\"}\n Top Ups\n \n \n {chargesData.changed_wheels ? chargesData.changed_wheels : \"-\"}\n Whl Changes\n \n \n \n \n \n \n \n {chargesData.medium_steps ? chargesData.medium_steps : \"-\"}\n Medium\n \n \n {chargesData.large_steps ? chargesData.large_steps : \"-\"}\n Large\n \n \n \n \n \n \n \n {chargesData.high_lift_equip_value ? chargesData.high_lift_equip_value : \"-\"}\n High Lift\n \n \n {chargesData.gnd_equip_value ? chargesData.gnd_equip_value : \"-\"}\n APU Access Stand\n \n \n \n \n \n \n \n {chargesData.towing_man_hours ? chargesData.towing_man_hours : \"-\"}\n Tows\n \n \n {chargesData.adhoc_events ? chargesData.adhoc_events : \"-\"}\n ADHOC Events\n \n \n \n \n }\n \n\n \n\n\n\n \n
\n \n \n Detail\n \n
\n Select an indicator above to display the caution conditions\n
\n
\n \n {action && action === 'otp' && }\n {action && action === 'recovered' && }\n {action && action === 'manhrs' && }\n {action && action === 'chargeable' && }\n \n
\n\n
\n
\n )\n}\n","import React from \"react\"\n\nconst Defects = ({ fill }) => (\n \n \n \n \n \n \n \n \n \n)\nexport default Defects\n","\nimport { Dialog, DialogContent, makeStyles, createStyles, Typography, Grid, Paper, Box, CircularProgress, IconButton, Menu, MenuItem, Tooltip } from '@material-ui/core'\nimport React, { useReducer, useState, useContext, useEffect } from 'react'\nimport { alpha, useTheme } from \"@material-ui/core\";\nimport Maintenance from '../Performance/icons/settings'\nimport Defects from '../Performance/icons/defects'\nimport Handling from '../Performance/icons/airplane'\nimport Departure from '../Performance/icons/depature'\nimport Records from '../Performance/icons/records'\nimport Parts from '../Performance/icons/parts'\nimport Tools from '../Performance/icons/tools'\nimport MaterialTable from 'material-table';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport TableAction from 'actions/table_actions'\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from 'reducers/table_reducer';\nimport LandingIcon from '../Performance/icons/plane-landing';\nimport Servicing from '../Performance/icons/oil';\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport _ from 'lodash';\nimport { formatToMins, formatDateWithHrMin, formatHoursToMins, handleDuration, format24HrDateOnly } from 'lib/utils/common_utils';\nimport DataService from 'lib/services/api';\nimport pdfLogo from \"../../../../assets/pdf.png\";\nimport jpgLogo from \"../../../../assets/jpg.png\";\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport Verified from 'assets/Dashboard/verifiedcopy';\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport ResendEmail from 'assets/Dashboard/ResendEmail'\nimport moment from 'moment';\nimport MROButton from 'components/buttons';\nimport { AddBox } from '@material-ui/icons';\nimport AddMaintTasks from 'views/Operations/LineMaintenance/WorkOrder/AddMaintTasks';\nimport AddNewPartsAndTools from 'views/Operations/LineMaintenance/WorkOrder/add_parts_tools';\nimport AddPart from './AddPart';\nimport ScheduledChecks from './ScheduledChecks';\nimport HandlingAndEquip from './Handling&Equipments';\n\n\nfunction DetailsPopUp(props) {\n const { handleClose, selectedRowDetails, data } = props;\n const classes = useStyles();\n const theme = useTheme()\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page } = tableState;\n const message = useContext(ToastMessageContext)\n const [totalCount, setTotalCount] = useState(0)\n const [loading, setLoading] = useState(false)\n const [popUpData, setPopUpData] = useState({})\n const [records, setRecords] = useState([])\n const [maintTask, setMaintTask] = useState([])\n const [pageSize, setPageSize] = useState(5)\n const [totalManHours, setTotalManHours] = useState(0)\n const [scheduleChecks, setScheduleChecks] = useState([])\n const [anchorEl, setAnchorEl] = useState(null);\n const [open, setOpen] = useState(false);\n const [anchorEl1, setAnchorEl1] = useState(null);\n const [open1, setOpen1] = useState(false);\n const options1 = [\"NO Maint Tasks\", \"With Maint Tasks\", \"With Maint Tasks & Man-Hrs\"];\n const options2 = [\"Scheduled Checks\", \"Tech Log Tasks\", \"Cabin Tasks\", \"Parts\", \"Tools\", \"Handling & Equipment\"];\n const options3 = [\"Scheduled Checks\", \"Tech Log Tasks\", \"Cabin Tasks\", \"Tools\", \"Handling & Equipment\"];\n const ITEM_HEIGHT = 48;\n\n\n //parts page \n const [parts, setParts] = useState([])\n const [totalCount1, setTotalCount1] = useState(0)\n const [pageSize1, setPageSize1] = useState(5)\n const [page1, setPage1] = useState(0)\n\n\n\n //tools\n\n const [tools, setTools] = useState([])\n const [totalCount2, setTotalCount2] = useState(0)\n const [pageSize2, setPageSize2] = useState(5)\n const [page2, setPage2] = useState(0)\n\n const [action, setAction] = useState(null)\n const [currentSelection, setCurrentSelection] = useState({ child_section_name: \"\" })\n\n const [createdId, setCreatedId] = useState(\"\");\n\n // console.log(\"Popuppp\", props)\n\n //api call for popup details\n\n const getDetails = async () => {\n setLoading(true)\n const params = {\n work_order_id: data[selectedRowDetails][1],\n page: page + 1,\n limit: pageSize\n }\n await LineMaintainenceServices.getPopUpDetails(params).then((response) => {\n setPopUpData(response.data.work_order_details)\n setRecords(response.data.records)\n setMaintTask(response.data.maint_tasks.data)\n setTotalManHours(response.data.total_hours)\n setScheduleChecks(response.data.schedule_checks)\n setTotalCount(response.data.maint_tasks.total_count)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n useEffect(() => {\n getDetails()\n }, [page, pageSize, totalCount])\n\n\n\n const handleUpdate = (newData) => {\n let lae = newData.lae_hrs ? +newData.lae_hrs : 0\n let non_lae = newData.non_lae_hrs ? +newData.non_lae_hrs : 0\n let manHours = parseFloat(lae) + parseFloat(non_lae)\n let params = {\n id: newData.id,\n description: newData.description,\n lae_hrs: lae,\n non_lae_hrs: non_lae,\n man_hours: manHours\n }\n DataService.updateDataWithParams(params, 'tasks').then(res => {\n console.log(res)\n getDetails()\n }).catch(err => {\n message.showToastMessage({ message: 'Something went wrong', variant: 'error' })\n })\n }\n //send mail\n const sendMail = (nomain, withmain, manhrs) => {\n let params = {\n id: data[selectedRowDetails][1],\n no_maint_tasks: nomain,\n with_maint_tasks: withmain,\n man_hrs: manhrs,\n };\n DataService.getData(params, \"workOrderSendEmail\")\n .then((res) => {\n message.showToastMessage({\n message: \"Email Sent Successfully!\",\n variant: \"success\",\n });\n setOpen(false)\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Unable to send email\",\n variant: \"error\",\n });\n });\n };\n\n const handleClick = (event) => {\n setOpen(true);\n setAnchorEl(event.currentTarget);\n };\n const handleAdd = (event) => {\n setOpen1(true);\n setAnchorEl1(event.currentTarget);\n };\n const handleCloseMenu = () => {\n setOpen(false);\n // setAction(null);\n // setCurrentSelection({});\n }; const handleCloseMenu1 = () => {\n setOpen1(false);\n // setAction(null);\n // setCurrentSelection({});\n };\n const handlePartsOptions = (option) => {\n setOpen1(false)\n if (option === \"Scheduled Checks\") {\n setAction(\"checks\")\n setCurrentSelection({ lineCustomerId: popUpData?.line_customer_id, id: data[selectedRowDetails][1] })\n }\n if (option === \"Tech Log Tasks\") {\n setAction(\"techlog\")\n setCurrentSelection({ child_section_name: \"Tech Log Maint Tasks\" })\n }\n if (option === \"Cabin Tasks\") {\n setAction(\"cabintask\")\n setCurrentSelection({ child_section_name: \"Cabin Maint Tasks\" })\n }\n if (option === \"Parts\") {\n setAction(\"parts\")\n }\n if (option === \"Tools\") {\n setAction(\"tools\")\n } if (option === \"Handling & Equipment\") {\n setAction(\"handle\")\n setCurrentSelection({ lineCustomerId: popUpData?.line_customer_id, id: data[selectedRowDetails][1] })\n }\n }\n\n const handleOption = (option) => {\n\n if (option === \"NO Maint Tasks\") {\n sendMail(true, false, false)\n }\n if (option === \"With Maint Tasks\") {\n sendMail(false, true, false)\n }\n if (option === \"With Maint Tasks & Man-Hrs\") {\n sendMail(false, false, true)\n }\n }\n\n // VerifyState\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n const VerifyState = (id) => {\n let params = {\n work_order_id: data[selectedRowDetails][1],\n verified: popUpData.verified === true ? 'false' : 'true',\n verify_user_id: popUpData.verified === false ? user?.id : popUpData.verified === null ? user?.id : null,\n verify_datetime: popUpData.verified === false ? moment().format(\"YYYY-MM-DD hh:mm:ss\") : popUpData.verified === null ? moment().format(\"YYYY-MM-DD hh:mm:ss\") : null,\n }\n LineMaintainenceServices.updateVerifyState(params).then((res) => {\n getDetails()\n message.showToastMessage({\n message: \"Verified Successfully!\",\n variant: \"success\",\n });\n }).catch(() => {\n message.showToastMessage({\n message: \"Something Went Wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n\n })\n }\n\n const columns = [\n {\n title: 'Task / TLP',\n field: 'task_tlp',\n editable: 'never',\n headerStyle: {\n textAlign: 'center',\n // paddingLeft: '5px'\n },\n cellStyle: {\n textAlign: 'center',\n // paddingLeft: '5px'\n },\n render: rowData => (\n {rowData?.task_tlp}\n )\n },\n {\n title: 'Type',\n field: \"task_type\",\n editable: 'never',\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left',\n },\n\n },\n {\n title: 'Maintenance Task',\n field: 'description',\n headerStyle: {\n textAlign: 'left',\n width: '40%'\n },\n cellStyle: {\n textAlign: 'left',\n width: '40%',\n paddingLeft: '7px'\n },\n width: '40%'\n },\n {\n title: 'LAE Hrs',\n field: 'lae_hrs',\n\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '20px'\n },\n },\n {\n title: 'Non LAE Hrs',\n field: 'non_lae_hrs',\n\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '26px'\n },\n },\n\n ]\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n pageSizeOptions: [5, 10, 20],\n search: false,\n sort: false,\n headerStyle: {\n\n color: theme.palette.primary.main\n }\n\n };\n // new code parts\n const tableOptions1 = {\n ...options,\n page: page1,\n search: false,\n total: totalCount1,\n pageSize: pageSize1,\n search: false,\n toolbar: false,\n };\n const tableOptions2 = {\n ...options,\n page: page2,\n search: false,\n total: totalCount2,\n pageSize: pageSize2,\n search: false,\n toolbar: false,\n };\n\n\n const getList = async () => {\n const params = {\n reportable_type: \"WorkOrder\",\n reportable_id: data[selectedRowDetails][1],\n page: 1 + page1,\n count_per_page: pageSize1,\n to_issued: true,\n };\n\n await LineMaintainenceServices.getPartsDetails(params).then((res) => {\n setParts(res.data)\n setTotalCount1(res.total_count)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n };\n\n useEffect(() => {\n getList();\n }, [page1, pageSize1]);\n\n\n\n const column1 = [\n {\n title: \"\",\n field: \"id\",\n width: \"4%\",\n render: (rowData) =>  ,\n },\n\n {\n title: \"Part Number\",\n field: \"part_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"20%\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"46%\",\n },\n },\n {\n title: \"Ordered\",\n field: \"required_quantity\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"Allocated\",\n field: \"allocated_quantity\",\n\n headerStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"Issued\",\n field: \"issued_quantity\",\n headerStyle: {\n textAlign: \"center\",\n },\n },\n\n ];\n\n\n //tools\n\n const getToolingDetails = async () => {\n const params = {\n reportable_type: \"WorkOrder\",\n reportable_id: data[selectedRowDetails][1],\n page: 1 + page2,\n count_per_page: pageSize2,\n\n };\n\n await LineMaintainenceServices.getPartsTools(params).then((res) => {\n setTools(res.data)\n setTotalCount2(res.total_count)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n };\n\n useEffect(() => {\n getToolingDetails();\n }, [page2, pageSize2]);\n\n\n const column2 = [\n\n {\n title: 'Tool Number',\n field: 'tool_number',\n headerStyle: {\n textAlign: 'left',\n paddingLeft: \"10px\"\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: \"10px\"\n // width: '0.8%'\n }\n },\n {\n title: 'Description',\n field: 'description',\n headerStyle: {\n textAlign: 'left',\n width: \"40%\"\n },\n cellStyle: {\n textAlign: 'left',\n width: \"40%\"\n // width: '0.8%'\n }\n },\n {\n title: 'Calibration Date',\n field: 'calibration_due',\n render: rowData => format24HrDateOnly(rowData?.calibration_due),\n headerStyle: {\n textAlign: 'center',\n },\n cellStyle: {\n textAlign: 'center',\n // width: '0.8%'\n }\n },\n\n ]\n\n\n\n return (\n
\n \n \n\n {loading && _.isEmpty(popUpData) ? (\n \n \n \n ) :\n < Grid >\n \n \n \n \n {popUpData.work_order_number}\n {popUpData.iata_code}\n \n \n {popUpData.stamp_number ? popUpData.stamp_number : '-'}\n User\n \n\n \n {popUpData.line_customer\n ? popUpData.line_customer : '-'}\n Airline\n \n \n {popUpData.aircraft_registration ? popUpData?.aircraft_registration\n : '-'}\n Aircraft Reg\n \n \n {\n popUpData.type_name ? popUpData?.type_name\n : '-'}\n Aircraft Type\n \n \n \n \n
\n {/*Arrival Grid */}\n \n \n \n \n {/* */}\n\n \n Arrival\n \n\n \n {popUpData.station ? popUpData.station : '-'}\n Base\n \n \n {popUpData.tlp ? popUpData.tlp : '-'}\n TLP\n \n \n {popUpData.arr_flight ? popUpData.arr_flight : '-'}\n Flight\n \n \n {popUpData.est_arr_date ? formatDateWithHrMin(popUpData.est_arr_date) : '-'}\n Estimated\n \n \n {popUpData.aircraft_arrival_date ? formatDateWithHrMin(popUpData.aircraft_arrival_date) : '-'}\n Actual\n \n \n {popUpData.delay_in ? popUpData.delay_in.replace(\"-\", \"\") : \"-\"}\n Delay\n \n \n\n\n \n \n\n
\n {/**Servicing */}\n\n\n \n \n \n \n \n Servicing\n\n \n\n \n {popUpData.oil_quarts ? popUpData.oil_quarts : '-'}\n Oil\n \n \n {popUpData.hyd_quarts ? popUpData.hyd_quarts : '-'}\n Hyds\n \n \n {popUpData.nitrogen_value ? popUpData.nitrogen_value : '-'}\n N/O2 Top Ups\n \n\n \n {popUpData.changed_wheels ? popUpData.changed_wheels : '-'}\n N/Whl Change\n \n {/* \n 0\n Fuel\n */}\n \n\n\n \n \n
\n {/**Maintenance */}\n\n \n \n \n \n \n Maintenance\n \n \n \n {scheduleChecks.length !== 0 && scheduleChecks !== null || undefined ? scheduleChecks.map((item, index) => ({item}{index < scheduleChecks.length - 1 ? \", \" : \"\"})) :\n -}\n Scheduled Checks\n\n\n \n\n \n Maintenance Tasks\n Total Hours: \n {totalManHours ? totalManHours : 0}\n \n\n\n }\n options={tableOptions}\n data={maintTask || []}\n columns={columns}\n isLoading={loading}\n editable={(props?.permission?.read || !props?.permission?.read) && !props?.permission?.write ? \"\" : props?.permission?.write &&\n {\n onRowUpdate: (newData, oldData) =>\n new Promise((resolve, reject) => {\n handleUpdate(newData, oldData)\n resolve();\n }),\n }\n }\n\n\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n page={page}\n totalCount={totalCount}\n />\n\n \n \n\n \n \n \n\n\n \n \n\n
\n\n\n {/* Partsss */}\n\n \n \n \n \n \n Parts\n \n \n\n \n\n {\n setPage1(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize1(pageSize);\n }}\n page={page1}\n totalCount={totalCount1}\n />\n\n \n \n\n \n \n \n\n\n \n \n\n
\n\n\n {/* Tools*/}\n\n \n \n \n \n \n Tools\n \n \n\n \n\n {\n setPage2(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize2(pageSize);\n }}\n page={page2}\n totalCount={totalCount2}\n />\n\n \n \n\n \n \n \n\n\n \n \n\n
\n {/**D/Defects */}\n\n\n {/* \n \n \n \n \n D/Defects\n \n \n 6\n In\n \n \n 1\n Raised\n \n \n 3\n Cleared\n \n \n 4\n Out\n \n\n \n\n\n \n \n
*/}\n {/**Handling */}\n\n\n \n \n \n \n \n Handling\n \n \n {popUpData.towing_man_hours ? popUpData.towing_man_hours : '-'}\n Tows\n \n \n {popUpData.large_steps === \"1\" ? \"Yes\" : \"No\"}\n Large Steps\n \n \n {popUpData.medium_steps === \"1\" ? \"Yes\" : \"No\"}\n Medium Steps\n \n\n \n {popUpData.gnd_equip_value === \"1\" ? \"Yes\" : \"No\"}\n APU Access Stand\n \n \n {popUpData.high_lift_equip_value ? popUpData.high_lift_equip_value : '-'}\n High Lift (Hrs)\n \n \n {popUpData.wheel_change_kit ? popUpData.wheel_change_kit : '-'}\n Wheel Change Kit\n \n \n {popUpData.brake_fan ? popUpData.brake_fan : '-'}\n Brake Fan\n \n \n\n\n\n \n \n
\n {/**Departure */}\n \n \n \n \n \n Departure\n \n \n {popUpData.dep_flight ? popUpData.dep_flight : '-'}\n Flight\n \n \n {popUpData.est_dep_date ? formatDateWithHrMin(popUpData.est_dep_date) : '-'}\n Estimated\n \n \n {popUpData.act_dep_date ? formatDateWithHrMin(popUpData.act_dep_date) : '-'}\n Actual\n \n \n {popUpData.gnd_time ? formatToMins(popUpData.gnd_time) : \"-\"}\n Gnd Time\n \n \n {popUpData.delay_time ? popUpData.delay_time.replace(\"-\", \"\") : \"-\"}\n Delay\n \n \n {popUpData.delay_code ? popUpData.delay_code : \"-\"}\n Code\n \n \n\n\n \n \n
\n {/**Records */}\n\n \n \n \n \n \n Records\n \n \n {records.length === 0 ? No files found : records.map((items, index) => {\n\n const fileType = items.file_name.split(\".\")[1];\n\n let logo = pdfLogo;\n if (fileType === \"jpg\") {\n logo = jpgLogo;\n }\n return (\n \n
\n \"file-logo\"\n \n {items.file_name}\n \n
\n \n );\n })}\n
\n
\n\n\n
\n
\n
\n\n\n \n \n \n \n \n Verification\n \n \n {popUpData.verified === false ? \"NOT verified\" : popUpData.verified === true ? \"Verified\" : \"-\"}\n State\n \n \n {popUpData.verify_user_stamp ? popUpData.verify_user_stamp : '-'}\n User\n \n \n {popUpData.verify_datetime ? formatDateWithHrMin(popUpData.verify_datetime) : \"-\"}\n Verified\n \n {(props?.permission?.read || !props?.permission?.read) && !props?.permission?.write ? \"\" : props?.permission?.write && <> \n \n {\n handleAdd(e);\n\n }}> \n \n \n \n \n {\n event.stopPropagation();\n VerifyState(selectedRowDetails);\n }} > \n \n \n \n \n {\n handleClick(e);\n\n }}> \n \n }\n \n\n \n\n \n
\n
\n {open && \n Send Options\n {options1.map((option) => {\n\n return (\n {\n handleOption(option);\n }}\n >\n {option}\n \n );\n })}\n\n\n\n }\n }\n {open1 && props?.permission?.write && \n Add Options\n {(popUpData?.part_type_name !== \"non_managed_part\" ? options2 : options3).map((option) => {\n\n return (\n {\n handlePartsOptions(option);\n }}\n >\n {option === \"Parts\" ? \"Parts & Consumables\" : option}\n \n );\n })}\n\n\n\n }\n
\n\n \n\n\n {action && (action === \"techlog\" || action === \"cabintask\") && {\n setAction(null)\n getDetails()\n }}\n lineCustomerId={popUpData?.line_customer_id}\n />}\n {action && action === \"tools\" &&\n\n {\n setAction(null)\n getToolingDetails()\n }}\n workOrderId={data[selectedRowDetails][1]}\n lineCustomerId={popUpData?.line_customer_id}\n />}\n {action && action === \"parts\" &&\n\n {\n setAction(null)\n getList()\n }}\n workOrderId={data[selectedRowDetails][1]}\n lineCustomerId={popUpData?.line_customer_id}\n popUpData={popUpData}\n action={action}\n />}\n {action && action === \"checks\" &&\n\n {\n setAction(null)\n getDetails()\n }}\n currentSelection={currentSelection}\n />} {action && action === \"handle\" &&\n\n {\n setAction(null)\n getDetails()\n }}\n currentSelection={currentSelection}\n />}\n\n\n\n
\n )\n}\n\nexport default DetailsPopUp\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"900px\",\n // height: \"110vh\"\n },\n },\n\n bodyText: {\n fontSize: 20,\n lineHeight: \"28px\",\n textAlign: 'center',\n marginTop: '25px'\n },\n\n org1: {\n background: alpha(theme.palette.primary.main, 0.20),\n\n },\n gtcdc: {\n borderRight: '1px solid transparent',\n textAlign: 'center',\n fontWeight: 600,\n color: theme.palette.primary.main\n },\n leftContent: {\n textAlign: 'center', paddingTop: '7px'\n },\n firstColumn: {\n\n paddingLeft: '17px',\n\n },\n\n headingText: {\n fontSize: '12px',\n paddingTop: '10px'\n },\n\n orderText: {\n fontSize: '10px',\n color: theme.palette.primary.main\n\n },\n orderText1: {\n fontSize: '14px',\n fontWeight: 600\n\n },\n maintenanceSettings: {\n display: ' flex',\n justifyContent: 'center',\n flexDirection: \"column\",\n\n alignItems: 'center'\n },\n textPrimary: {\n color: theme.palette.primary.main,\n fontSize: '15px'\n },\n textPrimary1: {\n color: theme.palette.primary.main,\n fontSize: '14px'\n },\n filePreviewContainer: {\n display: 'inline-block',\n maxWidth: \"100px\",\n marginRight: \"30px\",\n paddingTop: '10px',\n paddingLeft: '10px'\n },\n\n logo: {\n height: \"50px\",\n },\n\n })\n);\n","import React from 'react'\nimport { useState, useContext, useEffect } from 'react';\nimport { IconButton, InputBase, makeStyles, Button, Paper, Menu, Grid, Divider, CircularProgress, useTheme } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\nimport { Box } from \"@material-ui/core\";\nimport SearchBarWithFilters from 'components/search_with_filters';\nimport { FormControl, FormControlLabel, Select, MenuItem } from '@material-ui/core';\nimport { DatePicker, theme } from 'antd';\nimport LineCustomerService from 'lib/services/api/admin/line/line_customer_client_new'\nimport { LineMaintainenceServices } from \"lib/services/api/dashboard/line_maintenance\";\nimport Pagination from '@material-ui/lab/Pagination';\nimport { getBaseStationID, getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport Chart from \"react-google-charts\";\nimport ChartLoader from 'views/Dashboard/Workshops/Storage/ChartLoader';\nimport CustomPaginationActionsTable from './TablePaginationActions';\nimport moment from 'moment';\nimport ArrowDown from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUp from '@material-ui/icons/ArrowDropUp';\nimport _without from \"lodash/without\";\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation'\nimport PositiveSwitch from 'components/form_components/switch';\nimport DetailsPopUp from './DetailsPopUp';\nimport CustomDaysPaginationActionsTable from './DaysPaginationActions';\nimport Verified from 'assets/Dashboard/verified.svg'\nimport VerifiedAmber from 'assets/Dashboard/verifiedAmber.svg'\nimport VerifiedGray from 'assets/Dashboard/verifiedGray.svg'\nimport \"./tootltip.css\";\nimport LensIcon from '@material-ui/icons/Lens';\n\n\nconst { RangePicker } = DatePicker\n\nexport default function Activity(props) {\n const classes = useStyles()\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n const [values, setValues] = useState([])\n const [action, setAction] = useState('')\n const theme = useTheme()\n //filters\n const [customerDetails, setCustomerDetails] = useState([]);\n const [selectedFilters, setSelectedFilters] = useState([]);\n\n const [anchorEl, setAnchorEl] = useState(null);\n const [anchorBase, setAnchorBase] = useState(null);\n\n const [custButton, setCustButton] = useState(false)\n const [bases, setBases] = useState([]);\n\n const [selectedBase, setSelectedBase] = useState([getBaseStationID()]);\n const [baseButton, setBaseButton] = useState(false)\n\n\n const [date, setDate] = useState(null)\n\n const [filterData, setFilterData] = useState({});\n\n const [selectedRowDetails, setSelectedRowDetails] = useState({})\n //pagination\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(50);\n\n const [xAxisPage, setXAxisPage] = useState(0);\n const [xAxisRowsPerPage, setxAxisRowsPerPage] = useState(7);\n\n const [totalCount, setTotalCount] = useState(10)\n const [totalDaysCount, setTotalDaysCount] = useState(10)\n\n //min & max value\n\n const [minimumValue, setMinimumValue] = useState('')\n const [maximumValue, setMaximumValue] = useState('')\n\n //date filter\n\n const [value, setValue] = useState([moment().subtract(28, 'days'), moment().add(28, 'days')])\n const [startDate, setStartDate] = useState(null)\n const [endDate, setEndDate] = useState(null)\n\n const [defaultDate, setDefaultDate] = useState(true)\n\n\n useState(() => {\n if (defaultDate === true) {\n if (xAxisRowsPerPage === 7) {\n setXAxisPage(4)\n }\n\n }\n\n\n }, [defaultDate])\n\n\n //customer filters\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n setCustButton(!custButton)\n };\n const handleClose = () => {\n setAnchorEl(null);\n setCustButton(!custButton)\n };\n\n const filterCustomerChangeHandler = (e) => {\n const { name, value, checked } = e.target\n // console.log(\"customer======\", value, checked)\n let value1 = customerDetails.map((item) => {\n\n if (item.id === parseInt(value)) {\n item.status = !item.status\n }\n return item\n })\n setSelectedFilters((prevState) => [...prevState, value])\n if (!checked) {\n setSelectedFilters((current) => _without(current, value));\n }\n\n if (defaultDate === true) {\n if (xAxisRowsPerPage === 7) {\n setXAxisPage(4)\n }\n else if (xAxisRowsPerPage === 14) {\n setXAxisPage(2)\n }\n else if (xAxisRowsPerPage === 31) {\n setXAxisPage(1)\n }\n }\n else {\n setXAxisPage(0)\n setxAxisRowsPerPage(7)\n setPage(0)\n setRowsPerPage(50)\n }\n }\n //basefilters\n const filterChangeHandler = (e) => {\n const { name, value, checked } = e.target\n let value1 = bases.map((item) => {\n\n if (item.id === parseInt(value)) {\n item.status = !item.status\n }\n return item\n })\n setSelectedBase((prevState) => [...prevState, value])\n if (!checked) {\n if (selectedBase.length > 1) {\n let item = selectedBase.filter((item) => item !== value)\n\n setSelectedBase(item);\n\n }\n else {\n setSelectedBase([])\n }\n }\n if (defaultDate === true) {\n if (xAxisRowsPerPage === 7) {\n setXAxisPage(4)\n }\n else if (xAxisRowsPerPage === 14) {\n setXAxisPage(2)\n }\n else if (xAxisRowsPerPage === 31) {\n setXAxisPage(1)\n }\n }\n else {\n setXAxisPage(0)\n setxAxisRowsPerPage(7)\n setPage(0)\n setRowsPerPage(50)\n }\n }\n const handleBaseClick = (event) => {\n setAnchorBase(event.currentTarget);\n setBaseButton(!baseButton)\n };\n\n //date filters\n\n const handleDateChange = (value) => {\n setStartDate(true)\n setEndDate(true)\n setValue(value)\n\n if (value) {\n const start_date = moment(value[0]).format(\"YYYY-MM-DD\");\n const end_date = moment(value[1]).format(\"YYYY-MM-DD\");\n let dayDiff = moment(value[0]).diff(value[1], 'days')\n setDate(true)\n\n\n if (Math.abs(dayDiff) > 365) {\n\n setFilterData({})\n message.showToastMessage({\n message: \"Date range exceeds 1-year maximum!\",\n variant: \"error\",\n });\n\n }\n else {\n setFilterData((prevState) => ({ ...prevState, start_date, end_date }));\n setDefaultDate(false)\n setXAxisPage(0)\n }\n\n } else {\n const fData = { ...filterData };\n filterData?.start_date && delete fData.start_date;\n filterData?.end_date && delete fData.end_date;\n setFilterData({ ...fData });\n setDefaultDate(false)\n setDate(false)\n setXAxisPage(0)\n setPage(0)\n setRowsPerPage(50)\n // setxAxisRowsPerPage(7)\n }\n };\n\n // verified\n const handleFilterChange = (keyItem, value) => {\n\n setFilterData((prevState) => ({ ...prevState, [keyItem]: value }));\n };\n const green = '#8CDA5C'\n const red = '#FF0202'\n const grey = '#A9A9A9'\n const amber = \"#FFB300\"\n\n //chart columns\n const columns = [\n { type: \"string\", id: \"Aircrafts\" },\n { type: \"string\", id: \"Name\" },\n { type: \"string\", role: \"style\" },\n { type: 'string', role: 'tooltip', 'p': { 'html': true } },\n { type: \"date\", id: \"Start\" },\n { type: \"date\", id: \"End\" },\n\n ];\n\n\n // showing chart loader\n const rows = [[\"Loading....... \", \" \", 'fff', '', new Date(moment().day()), new Date(moment().day())],\n ]\n\n const loadingData = [columns, ...rows];\n\n function generateTooltipContent(item) {\n\n\n\n return ''\n }\n //Api calls\n const getActivityData = async () => {\n setLoading(true)\n const params = {\n organisation_id: getOrganisationId(),\n scale: xAxisRowsPerPage,\n scale_page: xAxisPage + 1,\n page: page + 1,\n limit: rowsPerPage,\n start_date: startDate ? filterData.start_date : moment().subtract(28, 'days').format(\"YYYY-MM-DD\"),\n end_date: endDate ? filterData.end_date : moment().add(28, 'days').format(\"YYYY-MM-DD\"),\n ...filterData,\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`line_customer_id[${[index]}]`] = item)\n await LineMaintainenceServices.getActivityDetails(params).then((response) => {\n setTotalCount(response.total_count)\n setTotalDaysCount(response.data.total_scale_days)\n if (response.success) {\n\n const timeline = response.data.dataset\n const labels = response.data.labels\n let days = moment(labels[0])\n let min = new Date(days)\n let max = new Date(labels[labels.length - 1])\n // rows with values\n const rows = timeline.map((item) => ([\n item[0],\n item[1],\n item[4] === \"green\" ? green : item[4] === \"grey\" ? grey : item[4] === \"amber\" ? amber : red,\n generateTooltipContent(item[5]),\n new Date(item[2]),\n item[3] === null || new Date(item[2]).getTime() > new Date(item[3]).getTime() ? new Date(item[2]) : new Date(item[3]),\n ]))\n const data = [columns, ...rows];\n setMaximumValue(max)\n setMinimumValue(min)\n // when empty data using this default rows\n const rows1 = [[\"No Data Available \", \" \", 'fff', '', new Date(moment().day()), new Date(moment().day())],\n [\".\", \" \", 'fff', '', new Date(moment().day()), new Date(moment().day())]]\n\n const data1 = [columns, ...rows1];\n\n if (timeline.length === 0) {\n setValues(data1)\n setMinimumValue(new Date(moment().day()))\n setMaximumValue(new Date(moment().day()))\n }\n else { setValues(data) }\n }\n\n }).catch((e) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n\n getActivityData()\n }, [page, xAxisPage, xAxisRowsPerPage, rowsPerPage, selectedBase, selectedFilters, filterData])\n\n\n // tooltip\n\n\n\n\n const options = {\n timeline: {\n // width: 400,\n groupByRowLabel: true,\n showRowNumber: true,\n allowHtml: true,\n // groupWidth: 20,\n showBarLabels: false\n\n },\n tooltip: { isHtml: true },\n // nableInteractivity: false,\n backgroundColor: '#fff',\n hAxis: {\n format: 'd/M/yy',\n minValue: loading ? new Date(moment().day()) : minimumValue,\n maxValue: loading ? new Date(moment().day()) : maximumValue\n\n },\n avoidOverlappingGridLines: false,\n legend: {\n position: 'right',\n alignment: 'end',\n textStyle: {\n color: '#666',\n fontSize: 12,\n },\n },\n\n };\n\n //Line customer api\n const getCustomerList = async () => {\n await LineCustomerService.getLineCustomers()\n .then((res) => {\n\n\n\n let data = res.line_customers\n if (data.length > 0) {\n let value = data.map((item) => ({\n ...item,\n status: false\n }))\n setCustomerDetails(value);\n }\n else {\n\n setCustomerDetails(res.line_customers);\n\n }\n\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n const getBaseStation = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'station'\n }\n MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n if (res) {\n\n let data = res.data\n if (data.length > 0) {\n let value = data.map((item) => ({\n ...item,\n status: getBaseStationID() === item.id ? true : false\n }))\n setBases(value);\n }\n else {\n\n setBases(res.line_customers);\n\n }\n }\n\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n useEffect(() => {\n getCustomerList()\n getBaseStation()\n }, [])\n\n const ITEM_HEIGHT = 78;\n // console.log(\"data=====\", values)\n const handleDatePagination = () => {\n setPage(0)\n }\n return (\n
\n\n \n \n \n \n {/* Customer(All) */}\n {customerDetails?.map((option, index) => {\n return \n \n \n \n \n \n \n { filterCustomerChangeHandler(e) }}\n name={option.name} />}\n />\n \n\n \n \n \n })}\n \n \n \n \n {\n setAnchorBase(null)\n setBaseButton(!baseButton)\n }}\n\n style={{ marginTop: '40px' }}\n PaperProps={{\n style: {\n maxHeight: ITEM_HEIGHT * 4.5,\n width: '39ch',\n position: 'absolute',\n top: '260px',\n },\n }}\n >\n {\n bases?.map((base, index) => {\n return \n \n \n \n \n \n \n handleChange(e, option.id)}\n onChange={(e) => { filterChangeHandler(e, index) }}\n name={base.station} />}\n // name=\"base\"\n />\n \n \n \n \n }\n\n )}\n \n \n \n }\n onChange={(e) =>\n handleFilterChange(\"verified\", e.target.value)\n }\n >\n Verified (All)\n Verified\n NOT Verified\n \n \n \n handleDisabledRange(current)}\n />\n \n \n\n \n \n \n Aircraft\n \n\n \n {/* */}\n \n\n \n
\n \n\n
\n \n \n\n }\n data={loading ? loadingData : values}\n chartEvents={[\n {\n eventName: \"select\",\n callback: (params) => {\n const { chartWrapper, google } = params\n const chart = chartWrapper.getChart()\n const data = chart.getSelection()[0].row + 1\n\n if (data) {\n\n setSelectedRowDetails(data)\n setAction('View')\n console.log(\"Charttttt=======\", data)\n }\n },\n },\n {\n eventName: \"ready\",\n callback: (params) => {\n let container = document.getElementById(\"timeline\");\n let texts = container.getElementsByTagName('text');\n Array.prototype.forEach.call(texts, function (text) {\n if ((parseFloat(text.getAttribute('y')) > 0) || (parseFloat(text.getAttribute('x')) > 0)) {\n text.setAttribute('font-weight', 500);\n\n }\n else {\n text.setAttribute('font-weight', 500);\n }\n });\n\n\n }\n }\n\n\n\n ]}\n\n />\n \n \n \n Technical Delay (TDR)\n Non Tech Delay (ODR)\n On Time\n In Work / Planned \n \n\n \n \n
\n {action && action === 'View' && {\n setAction(null)\n getActivityData()\n }} selectedRowDetails={selectedRowDetails} data={values}\n permission={props?.permission}\n\n\n />}\n
\n )\n}\n\nconst useStyles = makeStyles((theme) => ({\n // root: {\n // flexShrink: 0,\n // marginLeft: theme.spacing(2.5),\n // },\n legends: {\n paddingRight: \"31px\"\n },\n icons: {\n fontSize: \"15px\",\n position: \"absolute\",\n marginTop: \"3px\",\n marginLeft: '-20px'\n }\n}));\n\n","import React from 'react'\nimport { Dialog, DialogContent, makeStyles, createStyles, Typography, Grid, Paper, Box, CircularProgress, DialogTitle } from '@material-ui/core'\nimport { useState, useContext, useEffect } from 'react';\nimport { Autocomplete } from '@material-ui/lab';\nimport MROTextField from 'components/form_components/TextField';\nimport MROButton from 'components/buttons';\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport PlanningLineMaintenance from 'lib/services/api/planning/LineMaintenance/lineEventsandSeries';\nimport { getOrganisationId } from 'lib/utils/common_utils';\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"700px\",\n // height: \"350px\"\n },\n },\n\n })\n);\n\nfunction AllocateEngineers(props) {\n const classes = useStyles()\n const { handleClose, currentSelection, ref } = props\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n const [plannedEngineers, setPlannedEngineers] = useState([])\n const [selectedEngineers, setSelectedEngineers] = useState([])\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n\n const PopperMy = (props) => {\n return ;\n };\n\n\n\n const getPlannedEngineers = async () => {\n\n const params = {\n organisation_id: getOrganisationId()\n }\n await PlanningLineMaintenance.fetchPlannedEngineers(params).then((res) => {\n setPlannedEngineers(res.data)\n if (currentSelection.allocated_engineers.length > 0) {\n\n\n let value = res.data.filter((item) => currentSelection.allocated_engineers.find((obj) => obj.id === item.id))\n setSelectedEngineers(value)\n }\n }).catch((response) => {\n\n })\n }\n\n useEffect(() => {\n getPlannedEngineers()\n }, [])\n\n const handleSubmit = () => {\n\n const formData = new FormData()\n formData.append(\"event_id\", currentSelection.id)\n formData.append(\"organisation_id\", getOrganisationId())\n selectedEngineers.forEach((item, index) => {\n formData.append(`planned_engineers[${[index]}]`, item.id)\n })\n formData.append(\"user_id\", userDetails?.id)\n setLoading(true)\n LineMaintainenceServices.updateAllocatedEngineers(formData).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Engineers updated successfully !\",\n variant: \"success\",\n });\n handleClose()\n }\n }).catch((res) => {\n handleClose()\n message.showToastMessage({\n message: res.errors ? res.errors : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n function container() {\n // Use the fullscreen element if in fullscreen mode, otherwise just the document's body\n return document.fullscreenElement ?? document.body;\n }\n\n\n return (\n
\n \n Allocate Engineers\n \n \n option.id === value.id}\n value={selectedEngineers && selectedEngineers}\n // defaultValue={eventDetails?.planned_engineers}\n id=\"tags-standard\"\n multiple\n PopperComponent={PopperMy}\n getOptionLabel={(option) => option?.name || \"\"}\n options={plannedEngineers && plannedEngineers}\n fullWidth\n onChange={(event, value) => {\n setSelectedEngineers(value);\n // setError({ ...error, part_number: null });\n }}\n renderInput={(params) => (\n \n )}\n />\n \n\n {\n handleClose()\n }}>\n\n Cancel\n \n \n\n Update\n \n\n\n \n\n\n \n \n
\n )\n}\n\nexport default AllocateEngineers","import React, { useContext } from 'react'\nimport { Dialog, DialogContent, makeStyles, createStyles, Typography, Grid, Paper, Box, CircularProgress, DialogTitle } from '@material-ui/core'\nimport { useState } from 'react';\nimport MROButton from 'components/buttons';\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\n\n\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"700px\",\n // height: \"350px\"\n },\n },\n\n })\n);\n\nfunction CalledOut(props) {\n const classes = useStyles()\n const { handleClose, currentSelection } = props\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n function container() {\n // Use the fullscreen element if in fullscreen mode, otherwise just the document's body\n return document.fullscreenElement ?? document.body;\n }\n\n\n const handleSubmit = () => {\n\n const formData = new FormData()\n formData.append(\"event_id\", currentSelection.id)\n formData.append(\"not_called_out\", true)\n setLoading(true)\n LineMaintainenceServices.updateNotCallOutStatus(formData).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Call Out updated successfully !\",\n variant: \"success\",\n });\n handleClose()\n }\n }).catch((res) => {\n handleClose()\n message.showToastMessage({\n message: res.errors ? res.errors : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n\n\n return (\n
\n \n \n Mark LM Event as “NOT Called Out”\n \n \n\n This action cannot be undone. Are you sure you want to continue?\n\n\n \n\n {\n handleClose()\n }}>\n\n Cancel\n \n \n\n Yes\n \n\n\n \n\n \n \n
\n )\n}\n\nexport default CalledOut","import React, { useEffect } from 'react'\nimport { Dialog, DialogContent, makeStyles, createStyles, Typography, Grid, Paper, Box, CircularProgress, DialogTitle, ButtonGroup } from '@material-ui/core'\nimport { useState, useContext } from 'react';\nimport MROButton from 'components/buttons';\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport WarningIcon from '@material-ui/icons/Warning';\nimport MaterialTable from 'material-table';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport DateTimeField from 'components/form_components/LMEventsDateTimeField';\nimport { formatDateWithHrMin } from 'lib/utils/common_utils';\nimport moment from 'moment';\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"700px\",\n // height: \"350px\"\n },\n },\n\n })\n);\n\nfunction CancelEvent(props) {\n\n\n const classes = useStyles()\n const { handleClose, currentSelection } = props\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n const [state, setState] = useState('')\n const [data, setData] = useState([])\n const [errors, setErrors] = useState({});\n const [time, setTime] = useState(null)\n const [hours, setHours] = useState(null)\n const [chargeable, setChargeable] = useState(false)\n function container() {\n // Use the fullscreen element if in fullscreen mode, otherwise just the document's body\n return document.fullscreenElement ?? document.body;\n }\n\n const handleSubmit = (e) => {\n e.preventDefault()\n const formData = new FormData(e.target)\n\n let valid = true;\n let error = {};\n\n\n if (state === \"yes\") {\n const date = formData.get(\"notice_datetime\")\n\n if (!date || date === \"\") {\n\n valid = false;\n error = {\n ...error,\n notice_datetime: \"*Please select Notice date\"\n }\n }\n if (hours < 0) {\n error = {\n ...error,\n notice_datetime: \"*Cancellation notice cannot be after planned arrival\"\n }\n\n }\n\n }\n\n\n\n if (!valid) {\n setErrors(error);\n return;\n }\n setLoading(true)\n\n formData.append(\"event_id\", currentSelection.id)\n\n formData.append(\"cancellation_notice\", hours ? hours : 0)\n formData.append(\"cancellation_chargeable\", chargeable)\n\n LineMaintainenceServices.updateCancelEvent(formData).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Event cancelled successfully !\",\n variant: \"success\",\n });\n handleClose()\n }\n }).catch((res) => {\n handleClose()\n message.showToastMessage({\n message: res.errors ? res.errors : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n const tableOptions = {\n ...options,\n paging: false,\n search: false,\n header: false,\n toolbar: false,\n rowStyle: {\n height: '42px'\n }\n };\n const column = [\n\n {\n title: \"title\",\n field: \"title\",\n width: '60%',\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n width: '60%',\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"15px\",\n width: '60%',\n },\n },\n {\n title: \"Hours\",\n field: \"value1\",\n render: (rowData) => rowData?.title === \"Chargeable?\" ? {rowData?.value1} : rowData?.value1\n\n },\n\n\n ];\n useEffect(() => {\n setData(\n [{\n title: \"Calculated Notice Period (Hours):\",\n value1: hours\n },\n {\n title: \"Customer Contracted Notice Period (Hours):\",\n value1: currentSelection?.cancellation_notice || 0\n\n },\n {\n title: \"Chargeable?\",\n value1: chargeable ? \"Yes\" : \"No\"\n },\n ]\n )\n }, [currentSelection, hours, chargeable])\n\n useEffect(() => {\n if (time !== undefined && time !== null) {\n let error = {};\n const format = \"DD/MM/YYYY HH:mm:ss\";\n const actArrivalDateTime = moment(currentSelection?.arr_datetime, \"YYYY-MM-DD HH:mm:ss\").format(format)\n const notice_time = moment(time, format)\n\n\n const arrival = moment(actArrivalDateTime, format)\n\n\n\n const duration = moment.duration(arrival.diff(notice_time))\n if (duration >= 0) {\n let final = parseFloat(duration.asHours()).toFixed(2)\n let value = final >= (currentSelection?.cancellation_notice ? currentSelection?.cancellation_notice : 0) ? false : true\n setChargeable(value)\n setHours(final)\n\n }\n else {\n let final = parseFloat(duration.asHours()).toFixed(2)\n let value = final >= (currentSelection?.cancellation_notice ? currentSelection?.cancellation_notice : 0) ? false : true\n setChargeable(value)\n setHours(final)\n error = {\n ...error,\n notice_datetime: \"*Cancellation notice cannot be after planned arrival\"\n }\n\n setErrors(error)\n }\n\n\n\n\n }\n }, [time])\n\n return (\n
\n \n Cancel Event\n \n\n \n \n \n Cancellation Notice is important and drives cancellation fees!\n \n \n\n\n\n \n
\n\n \n \n Notice Provided? *\n\n \n \n \n {\n setState(\"no\")\n setHours(0)\n setChargeable(true)\n }}\n style={{\n width: \"125px\",\n color: state === \"no\" ? \"white\" : undefined,\n }}\n\n >\n NO\n \n setState(\"yes\")}\n style={{\n width: \"125px\",\n color: state === \"yes\" ? \"white\" : undefined,\n }}\n >\n Yes\n \n \n \n\n \n {state === \"yes\" && <>\n \n {\n setErrors((e) => ({ ...e, notice_datetime: false }));\n setTime(e)\n }}\n maxDate={moment(currentSelection?.arr_datetime, \"YYYY-MM-DD HH:mm:ss\")}\n />\n \n \n\n\n \n Planned arrival date / time: \n {formatDateWithHrMin(currentSelection?.arr_datetime)} \n\n \n \n }\n \n \n \n\n\n\n \n\n {\n handleClose()\n }}>\n\n Cancel\n \n \n\n Yes\n \n\n\n \n\n
\n
\n \n
\n )\n}\n\nexport default CancelEvent","\nimport { AppBar, Toolbar, makeStyles, IconButton, Typography, Grid, MenuItem, FormControlLabel, ButtonGroup, InputAdornment, Paper } from '@material-ui/core'\nimport MROFullScreenRightDrawer from 'components/fullwidth_dialog'\nimport React, { useReducer, useState, useEffect, useContext } from 'react'\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport MROTextField from 'components/form_components/TextField';\n// import DateTimeField from 'components/form_components/DateTimeField';\nimport PositiveSwitch from 'components/form_components/switch';\nimport ToggleButton from \"@material-ui/lab/ToggleButton\";\nimport ToggleButtonGroup from \"@material-ui/lab/ToggleButtonGroup\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport MROButton from 'components/buttons';\nimport { Autocomplete } from '@material-ui/lab';\nimport PlanningTimeField from 'components/form_components/PlanningTimeField';\nimport PlanningLineMaintenance from 'lib/services/api/planning/LineMaintenance/lineEventsandSeries';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport DateTimeField from 'components/form_components/LMEventsDateTimeField';\nimport _ from \"lodash\";\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport moment from 'moment';\nimport { useMemo } from 'react';\nimport { getTimeDiffFormatted } from 'views/Operations/LineMaintenance/WorkOrder/section_detail';\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\nimport NumericIncrement from \"components/numeric_increment_job_clockings\";\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrapper: {\n margin: \"3%\",\n // overflowX: \"hidden !important\"\n },\n title: {\n fontSize: '18px'\n },\n toggle: {\n // width: '70px',\n height: '31px',\n '&.MuiToggleButton-sizeSmall': {\n fontSize: \"13px\",\n padding: '11px'\n },\n '&.MuiToggleButtonGroup-root': {\n\n flexWrap: 'wrap',\n // width: '96%'\n }\n\n },\n actionButtons: {\n marginTop: '15px',\n display: \"flex\",\n justifyContent: \"end\",\n alignItems: \"center\",\n },\n disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n paper: {\n // position: 'absolute',\n // marginTop: '500px',\n\n height: 'max-content',\n // width: 'fit-content',\n '&.MuiAutocomplete-popper': {\n zIndex: '1000000 !important'\n }\n }\n\n}));\nfunction CreateLMEvents(props) {\n const classes = useStyles()\n const { handleClose, customerDetails, baseDetails, eventDetails, approvalTypes } = props\n const [qty, setQty] = useState({ man_hours: '' });\n const [plusDays, setPlusDays] = useState(0);\n const [mechQty, setMechQty] = useState();\n const [laeQty, setLaeQty] = useState();\n const [state, setState] = useState(\"single\")\n const [depatureChecked, setDepatureChecked] = useState(true)\n const [filterData, setFilterData] = useState({});\n const [scopeTypes, setScopeTypes] = useState([])\n const [selectedScope, setSelectedScope] = useState([])\n const [selectedApprovals, setSelectedApprovalsType] = useState([])\n const [customer, setCustomer] = useState('')\n const [event, setEvent] = useState('')\n const [base, setBase] = useState('')\n const [plannedAircraft, setPlannedAircraft] = useState('')\n const [falseDays, setFalseDays] = useState([])\n const message = useContext(ToastMessageContext)\n const [selectedDays, setSelectedDays] = useState([]);\n const [errors, setErrors] = useState({});\n const [arrivalTime, setArrivalTime] = useState(null)\n const [departureTime, setDepartureTime] = useState(null)\n const [groundTime, setgroundTime] = useState(\"\")\n const [groundTimeWholeValue, setgroundTimeWholeValue] = useState(\"\")\n const [notes, setNotes] = useState('')\n const [arrFlight, setArrFlight] = useState(\"\")\n const [depFlight, setDepFlight] = useState(\"\")\n\n\n\n const PopperMy = (props) => {\n return ;\n };\n\n\n function container() {\n // Use the fullscreen element if in fullscreen mode, otherwise just the document's body\n return document.fullscreenElement ?? document.body;\n }\n\n const getScopeOfArrrival = async () => {\n\n const params = {\n organisation_id: getOrganisationId()\n }\n await PlanningLineMaintenance.fetchScopeOfApproval(params).then((res) => {\n setScopeTypes(res.data)\n }).catch((response) => {\n\n })\n }\n\n useEffect(() => {\n getScopeOfArrrival()\n }, [])\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n const getDecimalConversion = (date) => {\n let arr1 = getTimeDiffFormatted(date)\n var arr = arr1.split(':');\n var dec = parseInt((arr[1] / 6) * 10, 10);\n var final = arr[0] + \".\" + dec\n setgroundTime(final)\n\n }\n\n useMemo(() => {\n if (arrivalTime !== null && departureTime !== null) {\n\n const format = \"DD/MM/YYYY HH:mm\";\n const depatureDateTime = moment(departureTime, format);\n const actArrivalDateTime = moment(arrivalTime, format);\n if (depatureDateTime.isValid() && actArrivalDateTime.isValid()) {\n const durationInHours = moment.duration(depatureDateTime.diff(actArrivalDateTime)).asHours();\n const groundTime = durationInHours.toFixed(2); // Formatted as 2 decimals\n const groundTimeWholeValue = parseFloat(durationInHours); // Whole value without formatting\n\n setgroundTimeWholeValue(groundTimeWholeValue);\n setgroundTime(groundTime);\n\n\n }\n\n if (plusDays) {\n const departure = moment(depatureDateTime).add(plusDays, 'days'); // Add the days directly to the moment object\n const duration = moment.duration(departure.diff(actArrivalDateTime));\n\n const groundTime = duration.asHours().toFixed(2); // Formatted to 2 decimal places\n const groundTimeWholeValue = parseFloat(duration.asHours()); // Whole value without formatting\n\n setgroundTimeWholeValue(groundTimeWholeValue);\n setgroundTime(groundTime);\n\n }\n }\n\n\n }, [arrivalTime, departureTime, plusDays])\n\n const validateFlightNumber = (flight, flightType) => {\n const regex = /^(?=.*[a-zA-Z])(?=.*\\d)[a-zA-Z\\d]+$/;\n if (!flight) {\n return `Please enter ${flightType} Flight# `;\n }\n if (!regex.test(flight)) {\n return `${flightType} Flight# must contain letters and numbers`;\n }\n return null; // Valid case\n };\n\n\n\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formdata = new FormData(e.target)\n formdata.delete(\"dep_details_known\")\n formdata.delete(\"notes\")\n let valid = true;\n let error = {};\n let gnd_time = parseInt(formdata.get(\"gnd_time\"))\n\n for (let pair of formdata.entries()) {\n const value = pair[1];\n const key = pair[0];\n // console.table(\"formdata=====\", key, value)\n if (!value) {\n error[key] = true;\n valid = false;\n }\n }\n\n const arrFlightError = validateFlightNumber(arrFlight, 'Arrival');\n if (arrFlightError) {\n valid = false;\n error.arr_flight_number = arrFlightError;\n }\n if (depatureChecked) {\n const depFlightError = validateFlightNumber(depFlight, 'Departure');\n if (depFlightError) {\n valid = false;\n error.dep_flight_number = depFlightError;\n }\n }\n\n if (!valid) {\n setErrors(error);\n return;\n }\n\n\n\n\n // console.log(\"formData====\", formdata)\n\n formdata.delete(\"additional_aircraft\")\n formdata.delete(\"gnd_time\")\n formdata.append(\"gnd_time\", groundTimeWholeValue)\n formdata.append(\"organisation_id\", getOrganisationId())\n formdata.append(\"notes\", notes ? notes : '')\n formdata.append(\"dep_details_known\", depatureChecked)\n formdata.append(\"series\", state === \"single\" ? false : true)\n if (state === \"series\") {\n selectedDays.forEach((item, index) => {\n formdata.append(`${item}`, true)\n })\n falseDays.forEach((item, index) => {\n formdata.append(`${item}`, false)\n })\n }\n\n selectedApprovals.forEach((item, index) => {\n formdata.append(`additional_aircraft[${[index]}]`, item.id)\n })\n selectedScope.forEach((item, index) => {\n formdata.append(`scope_of_approval[${[index]}]`, item.id)\n })\n if (selectedScope.length === 0) {\n\n formdata.append(`scope_of_approval`, '')\n }\n\n await LineMaintainenceServices.CreateLineEvents(formdata).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Events created successfully !\",\n variant: \"success\",\n });\n handleClose()\n }\n }).catch((res) => {\n handleClose()\n message.showToastMessage({\n message: res.error ? res.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n }\n\n // console.log(\"date======\", selectedDays, falseDays)\n\n\n return (\n
\n \n\n \n \n \n \n \n \n Add Line Maintenance Events\n \n \n \n
\n
\n Detail\n\n \n \n {\n setCustomer(e.target.value)\n resetErrorsHandler(\"line_customer_id\")\n }\n\n }>\n Select\n {customerDetails && customerDetails.map((value) => (\n {value.name}\n ))}\n \n \n \n {\n setBase(e.target.value)\n resetErrorsHandler(\"base_station_id\")\n }\n }>\n Select\n {baseDetails && baseDetails.map((value) => (\n {value.station}\n ))}\n \n \n \n {\n setEvent(e.target.value)\n resetErrorsHandler(\"event_type_id\")\n }\n }>\n Select\n {eventDetails && eventDetails.map((value) => (\n {value.name}\n ))}\n \n \n \n \n {\n resetErrorsHandler(\"arr_flight_number\")\n let val = e.target.value;\n if (val) {\n val = val.replace(/[^\\w\\s]/g, \"\");\n setArrFlight(val);\n\n }\n else {\n setArrFlight(e.target.value)\n }\n }}\n InputLabelProps={{ shrink: true }}>\n \n \n \n {\n resetErrorsHandler(\"arr_datetime\");\n setArrivalTime(e)\n }}\n type={\"events\"}\n\n />\n \n\n \n \n { setDepatureChecked(e.target.checked) }}\n name={'dep_details_known'} />}\n label=\"Departure details known?\"\n labelPlacement=\"start\"\n />\n \n \n {depatureChecked ? <> \n {\n resetErrorsHandler(\"dep_flight_number\")\n let val = e.target.value;\n if (val) {\n val = val.replace(/[^\\w\\s]/g, \"\");\n setDepFlight(val);\n\n }\n else {\n setDepFlight(e.target.value)\n }\n }\n }\n inputProps={{ maxLength: 20 }}\n InputLabelProps={{ shrink: true }}>\n\n \n \n \n {\n resetErrorsHandler(\"dep_datetime\");\n setDepartureTime(e)\n }}\n type={\"events\"}\n />\n \n : \n {\n resetErrorsHandler(\"dep_datetime\");\n setDepartureTime(e)\n }}\n />\n }\n\n \n {\n resetErrorsHandler(\"gnd_time\");\n\n }}\n InputProps={{\n\n endAdornment: \n \n\n ,\n\n }}\n\n />\n {/* {\n resetErrorsHandler(\"gnd_time\");\n }}\n InputLabelProps={{ shrink: true }}\n /> */}\n \n \n\n {/*Planning Info */}\n Planning Info\n\n \n \n {\n resetErrorsHandler(e.target.name)\n setPlannedAircraft(e.target.value)\n }\n }>\n Select\n {approvalTypes && approvalTypes.map((value) => (\n {value.type_name}\n ))}\n \n \n \n \n setErrors((prevState) => ({\n ...prevState,\n mech_quantity: false,\n }))\n }\n setQty={setMechQty}\n qty={mechQty}\n />\n\n \n \n \n setErrors((prevState) => ({\n ...prevState,\n lae_quantity: false,\n }))\n }\n setQty={setLaeQty}\n qty={laeQty}\n />\n\n \n \n \n setErrors((prevState) => ({\n ...prevState,\n total_man_hours: false,\n }))\n }\n inputProps={{ min: 0, step: 0.25 }}\n InputLabelProps={{ shrink: true }}\n setState={setQty}\n state={qty}\n value={qty.man_hours}\n />\n\n \n \n \n option.id === value.id}\n // value={selectedPart !== null && selectedPart}\n PopperComponent={PopperMy}\n id=\"tags-standard\"\n // loading={loading}\n getOptionLabel={(option) => option?.type_name || \"\"}\n options={approvalTypes || []}\n fullWidth\n multiple\n onChange={(event, value) => {\n setSelectedApprovalsType(value);\n // setError({ ...error, part_number: null });\n }}\n renderInput={(params) => (\n \n )}\n />\n\n \n \n option.id === value.id}\n id=\"tags-standard\"\n // loading={loading}\n getOptionLabel={(option) => option?.type_name || \"\"}\n options={scopeTypes && scopeTypes || []}\n fullWidth\n multiple\n onChange={(event, value) => {\n setSelectedScope(value);\n // setErrors({ ...errors, scope_of_approval: null });\n }}\n renderInput={(params) => (\n \n )}\n />\n\n \n \n {\n setNotes(e.target.value);\n\n }}\n\n\n\n />\n \n \n \n \n Cancel\n \n \n \n \n Complete\n \n \n \n
\n
\n\n
\n\n\n
\n )\n}\n\nexport default CreateLMEvents","import { AppBar, Toolbar, makeStyles, IconButton, Typography, Grid, MenuItem, FormControlLabel, ButtonGroup, Box, InputAdornment, CircularProgress, Paper } from '@material-ui/core'\nimport MROFullScreenRightDrawer from 'components/fullwidth_dialog'\nimport React, { useReducer, useState, useEffect, useContext, useMemo } from 'react'\nimport BackIcon from \"@material-ui/icons/KeyboardBackspace\";\nimport MROTextField from 'components/form_components/TextField';\n// import DateTimeField from 'views/Accounts/Workshop/Maintenance/ManageInvoice/DateField';\nimport PositiveSwitch from 'components/form_components/switch';\nimport ToggleButton from \"@material-ui/lab/ToggleButton\";\nimport ToggleButtonGroup from \"@material-ui/lab/ToggleButtonGroup\";\nimport QuantityCounter from \"components/quantity_counter\";\nimport MROButton from 'components/buttons';\nimport { Autocomplete } from '@material-ui/lab';\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport PlanningLineMaintenance from 'lib/services/api/planning/LineMaintenance/lineEventsandSeries';\nimport DateTimeField from 'components/form_components/LMEventsDateTimeField';\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\nimport { getOrganisationId } from 'lib/utils/common_utils';\nimport _ from \"lodash\";\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport moment from 'moment';\nimport { getTimeDiffFormatted } from 'views/Operations/LineMaintenance/WorkOrder/section_detail';\nimport DetailsPopUp from 'views/Planning/Line maintenance/LMEvents/DetailsPopUp';\nimport DeleteEvent from 'views/Planning/Line maintenance/LMEvents/DeleteEvent';\nimport NumericIncrement from \"components/numeric_increment_job_clockings\";\n\n\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n backgroundColor: \"#fff\",\n color: \"#000000CC\",\n boxShadow: \"0px 3px 6px #0000001A\",\n },\n backButton: {\n marginRight: theme.spacing(2),\n },\n wrapper: {\n margin: \"2% 3%\",\n // overflowX: \"hidden !important\"\n },\n title: {\n fontSize: '18px'\n },\n toggle: {\n '&.MuiToggleButton-root': {\n minWidth: '80px'\n }\n },\n actionButtons: {\n marginTop: '15px',\n display: \"flex\",\n justifyContent: \"end\",\n alignItems: \"center\",\n },\n partKey: {\n fontSize: \"14px\",\n // padding: \"5px\",\n },\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"5px\",\n display: \"flex\",\n alignItems: \"center\",\n }, disableField: {\n pointerEvents: \"none\",\n backgroundColor: \"#F5F5F5\",\n },\n paper: {\n // position: 'absolute',\n // marginTop: '500px',\n\n height: 'max-content',\n // width: 'fit-content',\n '&.MuiAutocomplete-popper': {\n zIndex: '1000000 !important'\n }\n }\n\n}));\nconst GetInfoCard = (props) => {\n const classes = useStyles();\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n};\nexport default function EditLmEvents(props) {\n const classes = useStyles()\n const { handleClose, selectedRowDetails, data, approvalTypes, permission, currentSelection } = props\n const [qty, setQty] = useState({ man_hours: '' });\n const [state, setState] = useState(\"single\")\n const [action, setAction] = useState('')\n const [eventDetails, setEventDetails] = useState({})\n const [errors, setErrors] = useState({});\n const [groundTime, setgroundTime] = useState(\"\")\n const [plannedAircraft, setPlannedAircraft] = useState('')\n const [mechQty, setMechQty] = useState();\n const [laeQty, setLaeQty] = useState();\n const [scopeTypes, setScopeTypes] = useState([])\n const [selectedScope, setSelectedScope] = useState([])\n const [plannedEngineers, setPlannedEngineers] = useState([])\n const [selectedEngineers, setSelectedEngineers] = useState([])\n const [loading, setLoading] = useState(false);\n const message = useContext(ToastMessageContext)\n const [arrivalTime, setArrivalTime] = useState(null)\n const [departureTime, setDepartureTime] = useState(null)\n let eventid = currentSelection.id\n let userDetails = JSON.parse(sessionStorage.getItem(\"user\"));\n const [busy, setbusy] = useState(false)\n const [notes, setNotes] = useState('')\n const [departureFlightName, setDepartureFlightName] = useState('')\n const [groundTimeWholeValue, setgroundTimeWholeValue] = useState(\"\")\n const [scopeChanged, setScopeChanged] = useState(false)\n\n const PopperMy = (props) => {\n return ;\n };\n\n\n const getScopeOfArrrival = async () => {\n\n const params = {\n organisation_id: getOrganisationId()\n }\n await PlanningLineMaintenance.fetchScopeOfApproval(params).then((res) => {\n setScopeTypes(res.data)\n }).catch((response) => {\n\n })\n }\n\n useEffect(() => {\n getScopeOfArrrival()\n }, [])\n\n const getPlannedEngineers = async () => {\n\n const params = {\n organisation_id: getOrganisationId()\n }\n await PlanningLineMaintenance.fetchPlannedEngineers(params).then((res) => {\n setPlannedEngineers(res.data)\n }).catch((response) => {\n\n })\n }\n\n useEffect(() => {\n getPlannedEngineers()\n }, [])\n const getEventDetails = async () => {\n setLoading(true)\n const params = {\n event_id: currentSelection?.id\n\n }\n await PlanningLineMaintenance.getLMEventDetails(params).then((res) => {\n setEventDetails(res.data)\n }).catch((err) => {\n\n\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n useEffect(() => {\n getEventDetails()\n }, [currentSelection])\n\n useEffect(() => {\n if (eventDetails !== undefined) {\n setgroundTime(eventDetails.gnd_time)\n setPlannedAircraft(parseInt(eventDetails.planned_aircraft))\n setMechQty(eventDetails?.mech_quantity)\n setLaeQty(eventDetails?.lae_quantity)\n setQty({ man_hours: parseFloat(eventDetails?.total_man_hours).toFixed(2) })\n setSelectedEngineers(eventDetails?.planned_engineers)\n setSelectedScope(eventDetails.scope_of_approval)\n setArrivalTime(eventDetails?.arr_datetime)\n setDepartureTime(eventDetails?.dep_datetime)\n setNotes(eventDetails.notes ? eventDetails.notes?.note : '')\n setDepartureFlightName(eventDetails.dep_flight_number ? eventDetails.dep_flight_number : '')\n\n }\n }, [eventDetails])\n\n const getDecimalConversion = (date) => {\n let arr1 = getTimeDiffFormatted(date)\n var arr = arr1.split(':');\n var dec = parseInt((arr[1] / 6) * 10, 10);\n var final = arr[0] + \".\" + dec\n // console.log(\"arrivalTime=====\", final)\n setgroundTime(final)\n\n }\n\n useMemo(() => {\n if (arrivalTime !== undefined && departureTime !== undefined) {\n\n const format = \"DD/MM/YYYY HH:mm\";\n const depatureDateTime = moment(departureTime, format);\n const actArrivalDateTime = moment(arrivalTime, format);\n if (depatureDateTime && actArrivalDateTime) {\n const duration = moment.duration(depatureDateTime.diff(actArrivalDateTime))\n let final = parseFloat(duration.asHours()).toFixed(2)\n let gndWholeValue = parseFloat(duration.asHours())\n\n setgroundTimeWholeValue(gndWholeValue)\n setgroundTime(final)\n }\n\n\n }\n\n }, [arrivalTime, departureTime])\n console.log(\"acope======\", selectedScope)\n const handleSubmit = async (e) => {\n e.preventDefault()\n const formdata = new FormData(e.target)\n formdata.delete(\"dep_details_known\")\n formdata.delete(\"notes\")\n formdata.delete(\"dep_flight_number\")\n let valid = true;\n let error = {};\n\n\n for (let pair of formdata.entries()) {\n const value = pair[1];\n const key = pair[0];\n // console.table(\"formdata=====\", key, value)\n if (!value) {\n error[key] = true;\n valid = false;\n }\n }\n let gnd_time = parseInt(formdata.get(\"gnd_time\"))\n // if (gnd_time === 0 || groundTime === '') {\n // valid = false;\n // error = {\n // ...error,\n // gnd_time: `Gnd Time must be greater than 0!`,\n // };\n // }\n if (!valid) {\n setErrors(error);\n return;\n }\n setbusy(true)\n formdata.append(\"organisation_id\", getOrganisationId())\n formdata.append(\"event_id\", eventid)\n formdata.append(\"logged_user_id\", userDetails?.id)\n formdata.delete(\"gnd_time\")\n formdata.append(\"gnd_time\", groundTimeWholeValue)\n formdata.append(\"notes\", notes ? notes : '')\n formdata.append(\"dep_flight_number\", departureFlightName)\n selectedEngineers.forEach((item, index) => {\n formdata.append(`planned_engineers[${[index]}]`, item.id)\n })\n\n selectedScope.forEach((item, index) => {\n formdata.append(`scope_of_approval[${[index]}]`, item.id)\n })\n if (selectedScope.length === 0) {\n\n formdata.append(`scope_of_approval`, '')\n }\n await PlanningLineMaintenance.updateLineEvents(formdata).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Events updated successfully !\",\n variant: \"success\",\n });\n handleClose()\n setbusy(false)\n }\n }).catch((res) => {\n handleClose()\n message.showToastMessage({\n message: res.error ? res.error : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n })\n\n }\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n\n function container() {\n // Use the fullscreen element if in fullscreen mode, otherwise just the document's body\n return document.fullscreenElement ?? document.body;\n }\n return (\n
\n \n\n \n \n \n \n \n \n \n \n \n \n Individual LM Event Info\n \n \n\n \n \n \n {loading && _.isEmpty(eventDetails) ? (\n \n \n \n ) : (\n
\n
\n Detail\n\n {/* Details info */}\n
\n \n <>\n \n
\n \n \n\n
\n
\n \n
\n \n \n\n
\n
\n \n
\n \n {\n setAction('view_detail_popup')\n }} style={{ textDecoration: 'underline' }}>{eventDetails?.work_order_number}}\n />\n\n
\n
\n \n \n
\n {/* Event Scheduler */}\n Event Scheduler\n \n \n {\n resetErrorsHandler(\"arr_datetime\");\n setArrivalTime(e)\n }}\n type={\"events\"}\n // InputProps={{\n // className: !props?.permission?.write && classes.disableField,\n // }}\n />\n \n \n {\n resetErrorsHandler(\"dep_date_time\");\n setDepartureTime(e)\n }}\n />\n \n \n {\n setDepartureFlightName(e.target.value)\n }\n }\n\n InputLabelProps={{ shrink: true }}>\n\n \n \n \n \n \n\n ,\n\n }}\n\n />\n \n \n\n\n {/*Planning Info */}\n Planning Info\n\n \n \n\n {\n resetErrorsHandler(e.target.name)\n setPlannedAircraft(e.target.value)\n }\n }>\n Select\n {approvalTypes && approvalTypes.map((value) => (\n {value.type_name}\n ))}\n \n \n \n \n setErrors((prevState) => ({\n ...prevState,\n mech_quantity: false,\n }))\n }\n setQty={setMechQty}\n qty={mechQty}\n />\n \n \n \n setErrors((prevState) => ({\n ...prevState,\n lae_quantity: false,\n }))\n }\n setQty={setLaeQty}\n qty={laeQty}\n />\n\n \n \n \n setErrors((prevState) => ({\n ...prevState,\n total_man_hours: false,\n }))\n }\n inputProps={{ min: 0, step: 0.25 }}\n InputLabelProps={{ shrink: true }}\n setState={setQty}\n state={qty}\n value={qty.man_hours}\n disabled={!props?.permission?.write}\n />\n\n \n \n \n option.id === value.id}\n value={selectedEngineers && selectedEngineers}\n defaultValue={eventDetails?.planned_engineers}\n id=\"tags-standard\"\n multiple\n PopperComponent={PopperMy}\n getOptionLabel={(option) => option?.name || \"\"}\n options={plannedEngineers && plannedEngineers}\n fullWidth\n disabled={!props.permission.write}\n onChange={(event, value) => {\n setSelectedEngineers(value);\n // setError({ ...error, part_number: null });\n }}\n renderInput={(params) => (\n \n )}\n />\n\n \n \n option.id === value.id}\n id=\"tags-standard\"\n disabled={!props.permission.write}\n // loading={loading}\n PopperComponent={PopperMy}\n defaultValue={eventDetails?.scope_of_approval}\n value={selectedScope && selectedScope}\n getOptionLabel={(option) => option?.type_name || \"\"}\n options={scopeTypes && scopeTypes || []}\n fullWidth\n multiple\n onChange={(event, value) => {\n setSelectedScope(value);\n setScopeChanged(true)\n // setErrors({ ...errors, scope_of_approval: null });\n }}\n renderInput={(params) => (\n \n )}\n />\n \n \n {\n setNotes(e.target.value);\n\n }}\n\n\n />\n \n {props?.permission?.write && \n \n \n Cancel\n \n \n \n \n Complete\n \n \n }\n
\n
\n )\n }\n
\n {action && action === 'view_detail_popup' && {\n setAction(null)\n }} selectedRowDetails={currentSelection.work_order_id} />}\n\n
\n )\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport IconButton from '@material-ui/core/IconButton';\nimport FirstPageIcon from '@material-ui/icons/FirstPage';\nimport KeyboardArrowLeft from '@material-ui/icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@material-ui/icons/KeyboardArrowRight';\nimport LastPageIcon from '@material-ui/icons/LastPage';\nimport { Grid, Typography } from '@material-ui/core';\n\nconst useStyles1 = makeStyles((theme) => ({\n root: {\n flexShrink: 0,\n // marginLeft: theme.spacing(2.5),\n },\n}));\n\nfunction TablePaginationActions(props) {\n const classes = useStyles1();\n const theme = useTheme();\n const { count, page, rowsPerPage, onPageChange } = props;\n\n\n const handleFirstPageButtonClick = (event) => {\n onPageChange(event, 0);\n };\n\n const handleBackButtonClick = (event) => {\n onPageChange(event, page - 1);\n };\n\n const handleNextButtonClick = (event) => {\n onPageChange(event, page + 1);\n };\n\n const handleLastPageButtonClick = (event) => {\n onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\n };\n\n return (\n
\n\n \n\n \n {theme.direction === 'rtl' ? : }\n \n \n {theme.direction === 'rtl' ? : }\n \n {\" \"}\n \n = Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"next page\"\n >\n {theme.direction === 'rtl' ? : }\n \n \n = Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"last page\"\n size=\"large\"\n >\n {theme.direction === 'rtl' ? : }\n \n \n\n\n\n\n
\n );\n}\n\n\n\n\n\n\nconst useStyles2 = makeStyles({\n table: {\n minWidth: 500,\n },\n});\n\nexport default function CustomPaginationActionsTable({ rowPerPageOptions, count, label, page, setPage, rowsPerPage, setRowsPerPage, fullScreenState }) {\n const classes = useStyles2();\n\n\n\n\n const handleChangePage = (event, newPage) => {\n if (fullScreenState) {\n console.log(\"fullscreen\")\n }\n else {\n setPage(newPage);\n }\n\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n return (\n\n\n \n {from}- {to} of {count} \n\n\n }\n />\n\n\n\n );\n}\n","\nimport { Dialog, DialogContent, makeStyles, createStyles, Typography, Grid, Paper, Box, CircularProgress, IconButton, Menu, MenuItem, Tooltip } from '@material-ui/core'\nimport React, { useReducer, useState, useContext, useEffect } from 'react'\nimport { alpha, useTheme } from \"@material-ui/core\";\nimport Maintenance from '../Performance/icons/settings'\nimport Defects from '../Performance/icons/defects'\nimport Handling from '../Performance/icons/airplane'\nimport Departure from '../Performance/icons/depature'\nimport Records from '../Performance/icons/records'\nimport Parts from '../Performance/icons/parts'\nimport Tools from '../Performance/icons/tools'\nimport MaterialTable from 'material-table';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport TableAction from 'actions/table_actions'\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from 'reducers/table_reducer';\nimport LandingIcon from '../Performance/icons/plane-landing';\nimport Servicing from '../Performance/icons/oil';\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport _ from 'lodash';\nimport { formatToMins, formatDateWithHrMin, formatHoursToMins, handleDuration, format24HrDateOnly } from 'lib/utils/common_utils';\nimport DataService from 'lib/services/api';\nimport pdfLogo from \"../../../../assets/pdf.png\";\nimport jpgLogo from \"../../../../assets/jpg.png\";\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport Verified from 'assets/Dashboard/verifiedcopy';\nimport { ICON_COLOUR } from 'lib/constants/style_constants';\nimport ResendEmail from 'assets/Dashboard/ResendEmail'\nimport moment from 'moment';\n\nimport { AddBox } from '@material-ui/icons';\nimport AddMaintTasks from 'views/Operations/LineMaintenance/WorkOrder/AddMaintTasks';\nimport AddNewPartsAndTools from 'views/Operations/LineMaintenance/WorkOrder/add_parts_tools';\nimport AddPart from 'views/Dashboard/LineMaintenance/Activity/AddPart';\nimport MROButton from 'components/buttons';\nimport ScheduledChecks from '../Activity/ScheduledChecks';\nimport HandlingAndEquip from '../Activity/Handling&Equipments';\nfunction DetailsPopUp(props) {\n const { handleClose, selectedRowDetails, data,\n currentSelection\n } = props;\n const classes = useStyles();\n const theme = useTheme()\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page } = tableState;\n const message = useContext(ToastMessageContext)\n const [totalCount, setTotalCount] = useState(10)\n const [loading, setLoading] = useState(false)\n const [popUpData, setPopUpData] = useState({})\n const [records, setRecords] = useState([])\n const [maintTask, setMaintTask] = useState([])\n const [pageSize, setPageSize] = useState(5)\n const [scheduleChecks, setScheduleChecks] = useState([])\n const [anchorEl, setAnchorEl] = useState(null);\n const [open, setOpen] = useState(false);\n const [anchorEl1, setAnchorEl1] = useState(null);\n const [open1, setOpen1] = useState(false);\n const options1 = [\"NO Maint Tasks\", \"With Maint Tasks\", \"With Maint Tasks & Man-Hrs\"];\n const options2 = [\"Scheduled Checks\", \"Tech Log Tasks\", \"Cabin Tasks\", \"Parts\", \"Tools\", \"Handling & Equipment\"];\n const options3 = [\"Scheduled Checks\", \"Tech Log Tasks\", \"Cabin Tasks\", \"Tools\", \"Handling & Equipment\"];\n const [totalManHours, setTotalManHours] = useState(0)\n const ITEM_HEIGHT = 48;\n // console.log(\"Popuppp\", selectedRowDetails)\n\n\n\n\n //parts page \n const [parts, setParts] = useState([])\n const [totalCount1, setTotalCount1] = useState(0)\n const [pageSize1, setPageSize1] = useState(5)\n const [page1, setPage1] = useState(0)\n\n\n\n //tools\n\n const [tools, setTools] = useState([])\n const [totalCount2, setTotalCount2] = useState(0)\n const [pageSize2, setPageSize2] = useState(5)\n const [page2, setPage2] = useState(0)\n\n const [action, setAction] = useState(null)\n const [currentSelections, setCurrentSelections] = useState({ child_section_name: \"\" })\n\n const [createdId, setCreatedId] = useState(\"\");\n\n\n\n function container() {\n // Use the fullscreen element if in fullscreen mode, otherwise just the document's body\n return document.fullscreenElement ?? document.body;\n }\n //api call for popup details\n\n const getDetails = async () => {\n setLoading(true)\n const params = {\n work_order_id: currentSelection?.work_order_id,\n page: page + 1,\n limit: pageSize\n }\n await LineMaintainenceServices.getPopUpDetails(params).then((response) => {\n setPopUpData(response.data.work_order_details)\n setRecords(response.data.records)\n setMaintTask(response.data.maint_tasks.data)\n setTotalManHours(response.data.total_hours)\n setScheduleChecks(response.data.schedule_checks)\n setTotalCount(response.data.maint_tasks.total_count)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n useEffect(() => {\n getDetails()\n }, [page, pageSize, totalCount])\n\n const handleUpdate = (newData) => {\n let lae = newData.lae_hrs ? +newData.lae_hrs : 0\n let non_lae = newData.non_lae_hrs ? +newData.non_lae_hrs : 0\n let manHours = parseFloat(lae) + parseFloat(non_lae)\n let params = {\n id: newData.id,\n description: newData.description,\n lae_hrs: lae,\n non_lae_hrs: non_lae,\n man_hours: manHours\n }\n DataService.updateDataWithParams(params, 'tasks').then(res => {\n console.log(res)\n getDetails()\n }).catch(err => {\n message.showToastMessage({ message: 'Something went wrong', variant: 'error' })\n })\n }\n //send mail\n const sendMail = (nomain, withmain, manhrs) => {\n let params = {\n id: currentSelection?.work_order_id,\n no_maint_tasks: nomain,\n with_maint_tasks: withmain,\n man_hrs: manhrs,\n };\n DataService.getData(params, \"workOrderSendEmail\")\n .then((res) => {\n message.showToastMessage({\n message: \"Email Sent Successfully!\",\n variant: \"success\",\n });\n setOpen(false)\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Unable to send email\",\n variant: \"error\",\n });\n });\n };\n\n const handleClick = (event) => {\n setOpen(true);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseMenu = () => {\n setOpen(false);\n // setAction(null);\n // setCurrentSelection({});\n };\n const handleOption = (option) => {\n console.log(\"options======\", option)\n if (option === \"NO Maint Tasks\") {\n sendMail(true, false, false)\n }\n if (option === \"With Maint Tasks\") {\n sendMail(false, true, false)\n }\n if (option === \"With Maint Tasks & Man-Hrs\") {\n sendMail(false, false, true)\n }\n }\n\n // VerifyState\n const user = JSON.parse(sessionStorage.getItem(\"user\"));\n const VerifyState = () => {\n let params = {\n work_order_id: currentSelection?.work_order_id,\n verified: popUpData.verified === true ? 'false' : 'true',\n verify_user_id: popUpData.verified === false ? user?.id : popUpData.verified === null ? user?.id : null,\n verify_datetime: popUpData.verified === false ? moment().format(\"YYYY-MM-DD hh:mm:ss\") : popUpData.verified === null ? moment().format(\"YYYY-MM-DD hh:mm:ss\") : null,\n }\n LineMaintainenceServices.updateVerifyState(params).then((res) => {\n getDetails()\n message.showToastMessage({\n message: \"Verified Successfully!\",\n variant: \"success\",\n });\n }).catch(() => {\n message.showToastMessage({\n message: \"Something Went Wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n\n })\n }\n\n const columns = [\n {\n title: 'Task / TLP',\n field: 'task_tlp',\n editable: 'never',\n headerStyle: {\n textAlign: 'center',\n // paddingLeft: '5px'\n },\n cellStyle: {\n textAlign: 'center',\n // paddingLeft: '5px'\n },\n render: rowData => (\n {rowData?.task_tlp}\n )\n },\n {\n title: 'Type',\n field: \"task_type\",\n editable: 'never',\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left',\n },\n\n },\n {\n title: 'Maintenance Task',\n field: 'description',\n headerStyle: {\n textAlign: 'left',\n width: '40%'\n },\n cellStyle: {\n textAlign: 'left',\n width: '40%',\n paddingLeft: '7px'\n },\n width: '40%'\n },\n {\n title: 'LAE Hrs',\n field: 'lae_hrs',\n\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '20px'\n },\n },\n {\n title: 'Non LAE Hrs',\n field: 'non_lae_hrs',\n\n headerStyle: {\n textAlign: 'left'\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: '26px'\n },\n },\n\n ]\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n pageSizeOptions: [5, 10, 20],\n search: false,\n sort: false,\n headerStyle: {\n\n color: theme.palette.primary.main\n }\n\n };\n\n\n //New items parts and tools\n\n const handleAdd = (event) => {\n setOpen1(true);\n setAnchorEl1(event.currentTarget);\n };\n\n const handleCloseMenu1 = () => {\n setOpen1(false);\n // setAction(null);\n // setCurrentSelection({});\n };\n const handlePartsOptions = (option) => {\n setOpen1(false)\n if (option === \"Scheduled Checks\") {\n setAction(\"checks\")\n setCurrentSelections({ lineCustomerId: popUpData?.line_customer_id, id: currentSelection?.work_order_id })\n }\n if (option === \"Tech Log Tasks\") {\n setAction(\"techlog\")\n setCurrentSelections({ child_section_name: \"Tech Log Maint Tasks\" })\n }\n if (option === \"Cabin Tasks\") {\n setAction(\"cabintask\")\n setCurrentSelections({ child_section_name: \"Cabin Maint Tasks\" })\n }\n if (option === \"Parts\") {\n setAction(\"parts\")\n }\n if (option === \"Tools\") {\n setAction(\"tools\")\n }\n if (option === \"Handling & Equipment\") {\n setAction(\"handle\")\n setCurrentSelections({ lineCustomerId: popUpData?.line_customer_id, id: currentSelection?.work_order_id })\n }\n }\n const tableOptions1 = {\n ...options,\n page: page1,\n search: false,\n total: totalCount1,\n pageSize: pageSize1,\n search: false,\n toolbar: false,\n };\n const tableOptions2 = {\n ...options,\n page: page2,\n search: false,\n total: totalCount2,\n pageSize: pageSize2,\n search: false,\n toolbar: false,\n };\n\n const getList = async () => {\n const params = {\n reportable_type: \"WorkOrder\",\n reportable_id: currentSelection?.work_order_id,\n page: 1 + page1,\n count_per_page: pageSize1,\n to_issued: true,\n };\n\n await LineMaintainenceServices.getPartsDetails(params).then((res) => {\n setParts(res.data)\n setTotalCount1(res.total_count)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n };\n\n useEffect(() => {\n getList();\n }, [page1, pageSize1]);\n\n\n\n const column1 = [\n {\n title: \"\",\n field: \"id\",\n width: \"4%\",\n render: (rowData) =>  ,\n },\n\n {\n title: \"Part Number\",\n field: \"part_number\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"20%\",\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"46%\",\n },\n },\n {\n title: \"Ordered\",\n field: \"required_quantity\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"Allocated\",\n field: \"allocated_quantity\",\n\n headerStyle: {\n textAlign: \"center\",\n },\n },\n {\n title: \"Issued\",\n field: \"issued_quantity\",\n headerStyle: {\n textAlign: \"center\",\n },\n },\n\n ];\n\n\n //tools\n\n const getToolingDetails = async () => {\n const params = {\n reportable_type: \"WorkOrder\",\n reportable_id: currentSelection?.work_order_id,\n page: 1 + page2,\n count_per_page: pageSize2,\n\n };\n\n await LineMaintainenceServices.getPartsTools(params).then((res) => {\n setTools(res.data)\n setTotalCount2(res.total_count)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n };\n\n useEffect(() => {\n getToolingDetails();\n }, [page2, pageSize2]);\n\n\n const column2 = [\n\n {\n title: 'Tool Number',\n field: 'tool_number',\n headerStyle: {\n textAlign: 'left',\n paddingLeft: \"10px\"\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: \"10px\"\n // width: '0.8%'\n }\n },\n {\n title: 'Description',\n field: 'description',\n headerStyle: {\n textAlign: 'left',\n width: \"40%\"\n },\n cellStyle: {\n textAlign: 'left',\n width: \"40%\"\n // width: '0.8%'\n }\n },\n {\n title: 'Calibration Date',\n field: 'calibration_due',\n render: rowData => format24HrDateOnly(rowData?.calibration_due),\n headerStyle: {\n textAlign: 'center',\n },\n cellStyle: {\n textAlign: 'center',\n // width: '0.8%'\n }\n },\n\n ]\n\n\n\n\n return (\n
\n \n \n\n {loading && _.isEmpty(popUpData) ? (\n \n \n \n ) :\n < Grid >\n \n \n \n \n {popUpData.work_order_number}\n {popUpData.iata_code}\n \n \n {popUpData.stamp_number ? popUpData.stamp_number : '-'}\n User\n \n\n \n {popUpData.line_customer\n ? popUpData.line_customer : '-'}\n Airline\n \n \n {popUpData.aircraft_registration ? popUpData?.aircraft_registration\n : '-'}\n Aircraft Reg\n \n \n {\n popUpData.type_name ? popUpData?.type_name\n : '-'}\n Aircraft Type\n \n \n \n \n
\n {/*Arrival Grid */}\n \n \n \n \n {/* */}\n\n \n Arrival\n \n\n \n {popUpData.station ? popUpData.station : '-'}\n Base\n \n \n {popUpData.tlp ? popUpData.tlp : '-'}\n TLP\n \n \n {popUpData.arr_flight ? popUpData.arr_flight : '-'}\n Flight\n \n \n {popUpData.est_arr_date ? formatDateWithHrMin(popUpData.est_arr_date) : '-'}\n Estimated\n \n \n {popUpData.aircraft_arrival_date ? formatDateWithHrMin(popUpData.aircraft_arrival_date) : '-'}\n Actual\n \n \n {popUpData.delay_in ? popUpData.delay_in.replace(\"-\", \"\") : \"-\"}\n Delay\n \n \n\n\n \n \n\n
\n {/**Servicing */}\n\n\n \n \n \n \n \n Servicing\n\n \n\n \n {popUpData.oil_quarts ? popUpData.oil_quarts : '-'}\n Oil\n \n \n {popUpData.hyd_quarts ? popUpData.hyd_quarts : '-'}\n Hyds\n \n \n {popUpData.nitrogen_value ? popUpData.nitrogen_value : '-'}\n N/O2 Top Ups\n \n\n \n {popUpData.changed_wheels ? popUpData.changed_wheels : '-'}\n N/Whl Change\n \n {/* \n 0\n Fuel\n */}\n \n\n\n \n \n
\n {/**Maintenance */}\n\n \n \n \n \n \n Maintenance\n \n \n \n {scheduleChecks.length !== 0 && scheduleChecks !== null || undefined ? scheduleChecks.map((item, index) => ({item}{index < scheduleChecks.length - 1 ? \", \" : \"\"})) :\n -}\n Scheduled Checks\n\n\n \n\n \n Maintenance Tasks\n Total Hours: \n {totalManHours ? totalManHours : 0}\n \n\n\n }\n options={tableOptions}\n data={maintTask || []}\n columns={columns}\n isLoading={loading}\n editable={(props?.permission?.read || !props?.permission?.read) && !props?.permission?.write ? \"\" : props?.permission?.write &&\n {\n onRowUpdate: (newData, oldData) =>\n new Promise((resolve, reject) => {\n handleUpdate(newData, oldData)\n resolve();\n }),\n }\n }\n\n\n onChangePage={(page) => {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n page={page}\n totalCount={totalCount}\n />\n\n \n \n\n \n \n \n\n\n \n \n
\n \n \n \n \n \n Parts\n \n \n\n \n\n {\n setPage1(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize1(pageSize);\n }}\n page={page1}\n totalCount={totalCount1}\n />\n\n \n \n\n \n \n \n\n\n \n \n\n
\n\n\n {/* Tools*/}\n\n \n \n \n \n \n Tools\n \n \n\n \n\n {\n setPage2(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize2(pageSize);\n }}\n page={page2}\n totalCount={totalCount2}\n />\n\n \n \n\n \n \n \n\n\n \n \n\n
\n
\n {/**D/Defects */}\n\n\n {/* \n \n \n \n \n D/Defects\n \n \n 6\n In\n \n \n 1\n Raised\n \n \n 3\n Cleared\n \n \n 4\n Out\n \n\n \n\n\n \n \n
*/}\n {/**Handling */}\n\n\n \n \n \n \n \n Handling\n \n \n {popUpData.towing_man_hours ? popUpData.towing_man_hours : '-'}\n Tows\n \n \n {popUpData.large_steps === \"1\" ? \"Yes\" : \"No\"}\n Large Steps\n \n \n {popUpData.medium_steps === \"1\" ? \"Yes\" : \"No\"}\n Medium Steps\n \n\n \n {popUpData.gnd_equip_value === \"1\" ? \"Yes\" : \"No\"}\n APU Access Stand\n \n \n {popUpData.high_lift_equip_value ? popUpData.high_lift_equip_value : '-'}\n High Lift (Hrs)\n \n \n {popUpData.wheel_change_kit ? popUpData.wheel_change_kit : '-'}\n Wheel Change Kit\n \n \n {popUpData.brake_fan ? popUpData.brake_fan : '-'}\n Brake Fan\n \n \n\n\n\n \n \n
\n {/**Departure */}\n \n \n \n \n \n Departure\n \n \n {popUpData.dep_flight ? popUpData.dep_flight : '-'}\n Flight\n \n \n {popUpData.est_dep_date ? formatDateWithHrMin(popUpData.est_dep_date) : '-'}\n Estimated\n \n \n {popUpData.act_dep_date ? formatDateWithHrMin(popUpData.act_dep_date) : '-'}\n Actual\n \n \n {popUpData.gnd_time ? formatToMins(popUpData.gnd_time) : \"-\"}\n Gnd Time\n \n \n {popUpData.delay_time ? popUpData.delay_time.replace(\"-\", \"\") : \"-\"}\n Delay\n \n \n {popUpData.delay_code ? popUpData.delay_code : \"-\"}\n Code\n \n \n\n\n \n \n
\n {/**Records */}\n\n \n \n \n \n \n Records\n \n \n {records.length === 0 ? No files found : records.map((items, index) => {\n\n const fileType = items.file_name.split(\".\")[1];\n\n let logo = pdfLogo;\n if (fileType === \"jpg\") {\n logo = jpgLogo;\n }\n return (\n \n
\n \"file-logo\"\n \n {items.file_name}\n \n
\n \n );\n })}\n
\n
\n\n\n
\n
\n
\n\n\n \n \n \n \n \n Verification\n \n \n {popUpData.verified === false ? \"NOT verified\" : popUpData.verified === true ? \"Verified\" : \"-\"}\n State\n \n \n {popUpData.verify_user_stamp ? popUpData.verify_user_stamp : '-'}\n User\n \n \n {popUpData.verify_datetime ? formatDateWithHrMin(popUpData.verify_datetime) : \"-\"}\n Verified\n \n {(props?.permission?.read || !props?.permission?.read) && !props?.permission?.write ? \"\" : props?.permission?.write && <> \n \n {\n handleAdd(e);\n\n }}> \n \n\n \n \n \n {\n event.stopPropagation();\n VerifyState();\n }}> \n \n \n \n \n {\n handleClick(e);\n\n }}> \n \n Resend Email\n \n }\n \n\n \n\n \n
\n
\n {open && \n Send Options\n {options1.map((option) => {\n\n return (\n {\n handleOption(option);\n }}\n >\n {option === \"Parts\" ? \"Parts & Consumables\" : option}\n \n );\n })}\n\n\n\n }\n {open1 && \n Add Options\n {(popUpData?.part_type_name !== \"non_managed_part\" ? options2 : options3).map((option) => {\n\n return (\n {\n handlePartsOptions(option);\n }}\n >\n {option}\n \n );\n })}\n\n\n\n }\n }\n\n
\n {action && (action === \"techlog\" || action === \"cabintask\") && {\n setAction(null)\n getDetails()\n }}\n lineCustomerId={popUpData?.line_customer_id}\n />}\n {action && action === \"tools\" &&\n\n {\n setAction(null)\n getToolingDetails()\n }}\n workOrderId={currentSelection?.work_order_id}\n lineCustomerId={popUpData?.line_customer_id}\n />}\n {action && action === \"parts\" &&\n\n {\n setAction(null)\n getList()\n }}\n workOrderId={currentSelection?.work_order_id}\n lineCustomerId={popUpData?.line_customer_id}\n popUpData={popUpData}\n action={action}\n />}\n {action && action === \"checks\" &&\n\n {\n setAction(null)\n getDetails()\n }}\n currentSelection={currentSelections}\n />}\n {action && action === \"handle\" &&\n\n {\n setAction(null)\n getDetails()\n }}\n currentSelection={currentSelections}\n />}\n\n\n \n
\n )\n}\n\nexport default DetailsPopUp\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"900px\",\n // height: \"110vh\"\n },\n },\n\n bodyText: {\n fontSize: 20,\n lineHeight: \"28px\",\n textAlign: 'center',\n marginTop: '25px'\n },\n\n org1: {\n background: alpha(theme.palette.primary.main, 0.20),\n\n },\n gtcdc: {\n borderRight: '1px solid transparent',\n textAlign: 'center',\n fontWeight: 600,\n color: theme.palette.primary.main\n },\n leftContent: {\n textAlign: 'center', paddingTop: '7px'\n },\n firstColumn: {\n\n paddingLeft: '17px',\n\n },\n\n headingText: {\n fontSize: '12px',\n paddingTop: '10px'\n },\n\n orderText: {\n fontSize: '10px',\n color: theme.palette.primary.main\n\n },\n maintenanceSettings: {\n display: ' flex',\n justifyContent: 'center',\n flexDirection: \"column\",\n\n alignItems: 'center'\n },\n textPrimary: {\n color: theme.palette.primary.main,\n fontSize: '15px'\n },\n textPrimary1: {\n color: theme.palette.primary.main,\n fontSize: '14px'\n },\n filePreviewContainer: {\n display: 'inline-block',\n maxWidth: \"100px\",\n marginRight: \"30px\",\n paddingTop: '10px',\n paddingLeft: '10px'\n },\n\n logo: {\n height: \"50px\",\n },\n orderText1: {\n fontSize: '14px',\n fontWeight: 600\n\n },\n })\n);\n","import React, { useContext } from 'react'\nimport { Dialog, DialogContent, makeStyles, createStyles, Typography, Grid, Paper, Box, CircularProgress, DialogTitle } from '@material-ui/core'\nimport { useState } from 'react';\nimport MROButton from 'components/buttons';\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport MROTextField from 'components/form_components/TextField';\n\n\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"450px\",\n // height: \"350px\"\n },\n },\n\n })\n);\n\n\nfunction Stand(props) {\n\n const classes = useStyles()\n const { handleClose, eventId, currentSelection } = props\n const [loading, setLoading] = useState(false)\n const message = useContext(ToastMessageContext)\n const [errors, setErrors] = useState({});\n\n function container() {\n // Use the fullscreen element if in fullscreen mode, otherwise just the document's body\n return document.fullscreenElement ?? document.body;\n }\n\n const handleSubmit = (e) => {\n e.preventDefault()\n let valid = true;\n let error = {};\n const formData = new FormData(e.target)\n formData.append(\"event_id\", eventId)\n\n\n\n\n for (let pair of formData.entries()) {\n const value = pair[1];\n const key = pair[0];\n // console.table(\"formdata=====\", key, value)\n if (!value) {\n error[key] = true;\n valid = false;\n }\n }\n if (!valid) {\n setErrors(error);\n return;\n }\n\n\n\n setLoading(true)\n LineMaintainenceServices.updateStandNumber(formData).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \"Stand Number Updated Successfully !\",\n variant: \"success\",\n });\n handleClose()\n }\n }).catch((res) => {\n handleClose()\n message.showToastMessage({\n message: res.errors ? res.errors : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n\n }\n const resetErrorsHandler = (name) => {\n setErrors((e) => ({ ...e, [name]: false }));\n };\n\n return (\n
\n\n\n\n \n \n Stand Number\n \n \n
\n \n {\n resetErrorsHandler(\"stand_number\")\n }\n }\n defaultValue={currentSelection?.stand || \"\"}\n InputLabelProps={{ shrink: true }}>\n \n \n\n \n\n {\n handleClose()\n }}>\n\n Cancel\n \n \n Complete\n \n\n\n \n\n\n
\n\n\n
\n\n \n\n\n\n
\n )\n}\n\nexport default Stand","import { FormControl, FormControlLabel, Grid, MenuItem, Select, InputBase, Slider, Typography, IconButton, makeStyles, Accordion, AccordionDetails, AccordionActions, AccordionSummary, Tooltip, Box, Menu, Button, Divider, CircularProgress, useTheme, Popover, Paper, ButtonGroup, alpha, createTheme, ThemeProvider } from '@material-ui/core'\nimport { Add } from '@material-ui/icons';\nimport MROButton from 'components/buttons';\nimport SearchBarWithFilters from 'components/search_with_filters'\nimport React, { useContext, useState, useRef } from 'react'\nimport FullScreenIcon from 'assets/display-size.svg'\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport ArrowDownwardIcon from 'assets/Dashboard/arrowdownward.svg'\nimport ArrowDownwardGreenIcon from 'assets/Dashboard/arrowdownwardgreen.svg'\nimport ArrowDownwardAmberIcon from 'assets/Dashboard/arrowdownwardamber.svg'\n\nimport Line from 'assets/Dashboard/line.svg'\nimport Location from 'assets/Dashboard/location.svg'\nimport ArrowUpwardIcon from 'assets/Dashboard/arrowupward.svg'\nimport EndCall from 'assets/Dashboard/end-call.svg'\nimport EndCallGrey from 'assets/Dashboard/end-call -grey.svg'\nimport CheckedIcon from '@material-ui/icons/CheckOutlined';\nimport ClearIcon from '@material-ui/icons/ClearOutlined';\nimport RedCrossIcon from 'assets/Dashboard/remove.svg'\nimport PlanningIconGrey from \"assets/maint/Planning/planningIconGrey.png\";\nimport AddIcon from 'assets/Dashboard/audience.svg'\nimport AllocateEngineers from './AllocateEngineers';\nimport CalledOut from './CalledOut';\nimport CancelEvent from './CancelEvent';\nimport CreateLMEvents from './CreateLMEvents';\nimport EditLmEvents from './EditLmEvents';\nimport CustomPaginationActionsTable from './TablePaginationActions';\nimport { LineMaintainenceServices } from 'lib/services/api/dashboard/line_maintenance';\nimport { useEffect } from 'react';\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation'\nimport ArrowDown from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUp from '@material-ui/icons/ArrowDropUp';\nimport _without from \"lodash/without\";\nimport PositiveSwitch from 'components/form_components/switch'\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport LineCustomerService from 'lib/services/api/admin/line/line_customer_client_new'\nimport { formatToMins, getOrganisationId, format24HrDateOnly } from 'lib/utils/common_utils';\nimport { FullScreen, useFullScreenHandle } from \"react-full-screen\";\nimport _ from 'lodash';\nimport PlanningLineMaintenance from 'lib/services/api/planning/LineMaintenance/lineEventsandSeries';\nimport Pagination from '@material-ui/lab/Pagination';\nimport DetailsPopUp from './DetailsPopUp';\nimport ActionInformation from 'views/Operations/Workshop/Inspection/ActionInformation/ActionInformation';\nimport moment from 'moment';\nimport AmberIcon from 'assets/alert_orange.png'\nimport LinkIcon from 'assets/FormLinkIcon.svg'\nimport LinkWorkOrder from 'views/Planning/Line maintenance/LMEvents/LinkWorkOrder';\nimport Stand from './Stand';\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n '&.MuiAccordionSummary-root': {\n paddingLeft: '6px !important',\n paddingRight: '18px !important'\n }\n },\n firstRow: {\n fontSize: '17px',\n textAlign: 'left'\n },\n secondRowText: {\n\n fontSize: '11px',\n textAlign: 'left'\n },\n detailtext: {\n paddingTop: '1px',\n fontSize: '13px'\n\n },\n plannedText: {\n fontSize: '15px',\n textAlign: 'left',\n\n },\n accordianDetails: {\n paddingBottom: '10px'\n },\n eventText: {\n fontSize: '12px',\n marginTop: '-11px',\n width: '94px',\n textAlign: 'center'\n\n },\n tooltipText: {\n color: '#000000', fontSize: '8px', wordWrap: \"normal\"\n },\n iconLayout: {\n\n zIndex: -1,\n borderTop: '1px solid #707070',\n borderLeft: '1px solid #707070',\n borderRight: '1px solid #707070',\n\n minWidth: '108px', marginLeft: '-13px'\n\n },\n wrapper: {\n // backgroundColor: \"#F5F5F5\",\n width: 'auto',\n height: '100vh',\n backgroundSize: 'cover',\n padding: theme.spacing(2, 3),\n border: \"1px solid transparent\",\n margin: \"1% 0\",\n },\n pictureBox: {\n paddingTop: \"60px\",\n },\n orgLogo: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'absolute',\n left: '40px',\n // top: '40px',\n marginBottom: '40px',\n right: '40px',\n '& img': {\n maxWidth: '300px',\n maxHeight: '175px'\n }\n },\n pageButton: {\n\n width: '51px',\n height: '51px',\n fontSize: '27px'\n\n },\n select: {\n '&.MuiSelect-root':\n {\n fontSize: '25px',\n paddingTop: \"15px\"\n },\n // '&.MuiSelect-icon': {\n // color: \" rgba(0, 0, 0, 0.54)\",\n // right: 0,\n // position: \"absolute\",\n // pointerEvents: \" none\",\n // top: \"1px\",\n // fontSize: \" 32px\",\n // left: \" 46px\",\n\n // }\n\n }\n\n\n}));\n\n\n\n\nfunction StationBoard(props) {\n const classes = useStyles();\n const theme = useTheme()\n const [expanded, setExpanded] = useState(false);\n let userDetails = JSON.parse(sessionStorage.getItem(\"authState\"));\n\n const [showText, setShowText] = useState('')\n const [action, setAction] = useState('')\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n const [totalCount, setTotalCount] = useState(10);\n const [eventDetails, setEventDetails] = useState([])\n const [anchorEl, setAnchorEl] = useState(null);\n const [anchorEl1, setAnchorEl1] = useState(null);\n const [customerDetails, setCustomerDetails] = useState([]);\n const [selectedFilters, setSelectedFilters] = useState([]);\n const [custButton, setCustButton] = useState(false)\n const [typeButton, setTypeButton] = useState(false)\n\n const message = useContext(ToastMessageContext)\n const [selectedBase, setSelectedBase] = useState({})\n const [filterData, setFilterData] = useState({ base_station_id: userDetails?.base_station?.id });\n const [liveDate, setLiveDate] = useState('')\n const [loading, setLoading] = useState(false)\n //slider value\n const [bases, setBases] = useState([]);\n const [currentSelection, setCurrentSelection] = useState({})\n //fullscreen\n const [approvalTypes, setApprovalTypes] = useState([])\n const [eventTypes, setEventTypes] = useState([])\n const [slideSelectedValue, setValueSlide] = useState(0)\n const handle = useFullScreenHandle();\n const [fullScreenState, setFullScreenState] = useState(false)\n const containerRef = useRef(null);\n const [mouseX, setMouseX] = useState();\n const [mouseY, setMouseY] = useState();\n const [poperState, setPoperState] = useState(false)\n const [currentCommentsSelections, setCurrentCommentSelections] = useState([]);\n const [expandedAccordions, setExpandedAccordions] = useState([]);\n const [type, setType] = useState([\n {\n name: \"Call Out\",\n value: 1,\n id: 1,\n status: false\n\n },\n {\n name: \"Nightstop\",\n value: 2,\n id: 2,\n status: false\n },\n {\n name: \"Transit\",\n value: 3,\n id: 3,\n status: false\n },\n ])\n\n const [selectedType, setSelectedType] = useState([]);\n\n let flightLink = \"https://www.flightradar24.com/\"\n\n\n const ITEM_HEIGHT = 78;\n\n // get current logged in userbase\n\n\n const handlepopupclose = () => {\n setAction(\"\")\n setPoperState(false)\n }\n\n useEffect(() => {\n if (userDetails?.base_station !== undefined) {\n setSelectedBase(userDetails?.base_station?.id)\n }\n }, [])\n\n const slideValue = [\n {\n value: 0,\n label: '24hrs',\n },\n {\n value: 50,\n label: '48hrs',\n },\n\n {\n value: 100,\n label: '1-Week',\n },\n ];\n\n\n\n\n function valuetext(value) {\n if (value === 0) {\n setValueSlide(24)\n }\n if (value === 50) {\n setValueSlide(48)\n }\n if (value === 100) {\n setValueSlide(168)\n }\n return `${value}`;\n }\n\n function container() {\n // Use the fullscreen element if in fullscreen mode, otherwise just the document's body\n return document.fullscreenElement ?? document.body;\n }\n\n // expand all acordians\n const handleChange = (panel) => (event, isExpanded) => {\n console.log(\"clg====\", panel)\n\n setExpanded(isExpanded ? panel : false);\n };\n const accordionClicked = (index) => {\n if (expandedAccordions.includes(index))\n setExpandedAccordions(\n expandedAccordions.filter((number) => number !== index)\n );\n else setExpandedAccordions([...expandedAccordions, index]);\n };\n // useEffect(() => {\n // if (eventDetails.length > 0) {\n // const newArray = [];\n // eventDetails.forEach((log, index) => newArray.push(index));\n // setExpandedAccordions(newArray);\n // }\n // }, [eventDetails])\n\n\n //Line customer api\n const getCustomerList = async () => {\n await LineCustomerService.getLineCustomers()\n .then((res) => {\n\n let data = res.line_customers\n if (data.length > 0) {\n let value = data.map((item) => ({\n ...item,\n status: false\n }))\n setCustomerDetails(value);\n }\n else {\n\n setCustomerDetails(res.line_customers);\n\n }\n\n\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n const getBaseStation = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'station'\n }\n MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n setBases(res.data);\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n useEffect(() => {\n getCustomerList()\n getBaseStation()\n getApprovalTypes()\n getEventLists()\n }, [])\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n setCustButton(!custButton)\n };\n const handleClose = () => {\n setAnchorEl(null);\n setCustButton(!custButton)\n };\n const handleClick1 = (event) => {\n setAnchorEl1(event.currentTarget);\n setTypeButton(!typeButton)\n };\n const handleClose1 = () => {\n setAnchorEl1(null);\n setTypeButton(!typeButton)\n };\n\n\n\n\n const filterCustomerChangeHandler = (e) => {\n const { name, value, checked } = e.target\n // console.log(\"customer======\", value, checked)\n\n let value1 = customerDetails.map((item) => {\n\n if (item.id === parseInt(value)) {\n item.status = !item.status\n }\n return item\n })\n\n setSelectedFilters((prevState) => [...prevState, value])\n if (!checked) {\n setSelectedFilters((current) => _without(current, value));\n }\n\n }\n const filterTypeChangeHandler = (e) => {\n const { name, value, checked } = e.target\n\n let value1 = type.map((item) => {\n\n if (item.id === parseInt(value)) {\n\n item.status = !item.status\n }\n return item\n })\n\n // setType(type)\n setSelectedType((prevState) => [...prevState, value])\n if (!checked) {\n setSelectedType((current) => _without(current, value));\n }\n\n }\n // console.log(\"zoom=====\", window.innerHeight)\n\n // Api Integration\n\n const getStationBoardDetails = async () => {\n // setLoading(true)\n const param = {\n page: page + 1,\n limit: rowsPerPage,\n date_range: slideSelectedValue > 0 ? slideSelectedValue : 24,\n organisation_id: getOrganisationId(),\n ...filterData\n\n }\n selectedFilters.forEach((item, index) => param[`customer[${[index]}]`] = item)\n selectedType.forEach((item, index) => param[`lm_event_type_id[${[index]}]`] = item)\n await LineMaintainenceServices.getStationBoardEventList(param).then((res) => {\n if (res.success) {\n setEventDetails(res.data)\n setTotalCount(res.total_count)\n let data = res.data\n // if (data.length > 0) {\n // const newArray = [];\n // data.forEach((log, index) => newArray.push(index));\n // setExpandedAccordions(newArray);\n // }\n\n }\n\n\n }).catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n useEffect(() => {\n getStationBoardDetails()\n }, [page, rowsPerPage, slideSelectedValue, filterData, selectedFilters, selectedType])\n\n\n const handleFilterChange = (keyItem, value) => {\n\n setFilterData((prevState) => ({ ...prevState, [keyItem]: value }));\n if (keyItem === \"base_station_id\") {\n setSelectedBase(value)\n }\n };\n\n const handlePageChange = (event, value) => {\n console.log(\"value=====\", value)\n setPage(value);\n };\n const getApprovalTypes = () => {\n\n const params = {\n organisation_id: getOrganisationId(),\n\n }\n PlanningLineMaintenance.fetchPlannedAircraft(params).then((res) => {\n setApprovalTypes(res.data)\n }).catch((err) => {\n\n })\n\n }\n const getEventLists = () => {\n const params = {\n organisation_id: getOrganisationId(),\n\n }\n PlanningLineMaintenance.fetchEventTypes(params).then((res) => {\n setEventTypes(res.data)\n }).catch((err) => {\n\n })\n }\n const id = useRef(null);\n\n const orgLogo = sessionStorage.getItem('logo') || \"/mro-pro-logo.png\";\n\n useEffect(() => {\n document.addEventListener('fullscreenchange', exitHandler);\n document.addEventListener('webkitfullscreenchange', exitHandler);\n document.addEventListener('mozfullscreenchange', exitHandler);\n document.addEventListener('MSFullscreenChange', exitHandler);\n\n function exitHandler() {\n if (!document.fullscreenElement && !document.webkitIsFullScreen && !document.mozFullScreen && !document.msFullscreenElement) {\n clearInterval(id.current)\n setPage(0)\n // getStationBoardDetails()\n setFullScreenState(false)\n setAnchorEl(null)\n setAnchorEl1(null)\n setCustButton(!custButton)\n setTypeButton(!typeButton)\n setLiveDate('')\n }\n }\n }, [fullScreenState])\n\n const editFullScreen = () => {\n // document.addEventListener('fullscreenchange', exitHandler);\n // document.addEventListener('webkitfullscreenchange', exitHandler);\n // document.addEventListener('mozfullscreenchange', exitHandler);\n // document.addEventListener('MSFullscreenChange', exitHandler);\n\n // function exitHandler() {\n // if (!document.fullscreenElement && !document.webkitIsFullScreen && !document.mozFullScreen && !document.msFullscreenElement) {\n // clearInterval(id.current)\n // setPage(0)\n // getStationBoardDetails()\n // setFullScreenState(false)\n // }\n // }\n\n }\n\n const handleInterval = (i) => {\n let inv = 10000;\n if (action === \"\" || null) {\n inv = 10000\n }\n else {\n inv = 30000\n }\n return new Promise((resolve, reject) => {\n id.current = setInterval(() => resolve(i), inv)\n })\n }\n\n const handleFunc = async () => {\n // const root = document.getElementById('grid1')\n // root.onclick = () => document.body.webkitRequestFullscreen()\n setFullScreenState(true)\n let i = 1\n while (i != Math.ceil(totalCount / 10)) {\n let result = await handleInterval(i)\n i++\n setPage(result)\n if (\n (result === 1 && totalCount <= 20) ||\n (result === 2 && totalCount <= 30) ||\n (result === 3 && totalCount <= 40) ||\n (result === 4 && totalCount <= 50) ||\n (result === 5 && totalCount <= 60)\n ) {\n i = 0; continue;\n }\n }\n }\n\n\n\n const handleChangePage = (page) => {\n if (fullScreenState) {\n console.log(\"do nothing\")\n } else {\n setPage(page)\n }\n }\n\n useEffect(() => {\n if (fullScreenState && totalCount <= 10) {\n const intervalCall = setInterval(() => {\n getStationBoardDetails();\n }, 10000);\n return () => {\n // clean up\n clearInterval(intervalCall);\n };\n }\n }, [fullScreenState]);\n useEffect(() => {\n if (fullScreenState) {\n\n\n const intervalCall1 = setInterval(() => {\n let today = new Date()\n let format = \"HH:mm\"\n let today1 = moment.utc(today).format(format)\n setLiveDate(today1);\n }, 10000);\n\n return () => {\n // clean up\n clearInterval(intervalCall1);\n };\n }\n\n }, [fullScreenState]);\n\n\n\n const handleLiveTime = () => {\n\n let today = new Date()\n let format = \"HH:mm\"\n let today1 = moment.utc(today).format(format)\n setLiveDate(today1)\n return today1 ? today1 : \"\"\n\n }\n\n\n\n\n\n const handleColor = (event) => {\n let today = new Date()\n let format = \"YYYY-MM-DD HH:mm:ss\"\n let today1 = moment.utc(today).format(format)\n\n if (event.est_dep_datetime !== null) {\n\n let date = moment(event.est_dep_datetime, format).isBefore(today1)\n return date\n }\n else if (event.est_dep_datetime === null) {\n return false\n }\n\n else {\n return false\n }\n\n\n\n\n\n\n\n }\n\n\n const handleNotCalledout = (id) => {\n\n const formData = new FormData()\n formData.append(\"event_id\", id)\n formData.append(\"not_called_out\", false)\n setLoading(true)\n LineMaintainenceServices.updateNotCallOutStatus(formData).then((res) => {\n if (res.success) {\n message.showToastMessage({\n message: \" Call Out updated successfully !\",\n variant: \"success\",\n });\n getStationBoardDetails()\n }\n }).catch((res) => {\n\n message.showToastMessage({\n message: res.errors ? res.errors : \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n getStationBoardDetails()\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n\n\n\n\n\n\n\n return (\n\n\n
\n {loading && _.isEmpty(eventDetails) ? (\n \n \n \n ) : (\n <>\n \n \n handleFilterChange(\"base_station_id\", e.target.value)}\n id=\"tags-standard\"\n value={selectedBase ? selectedBase : ''}\n name=\"Base Station\"\n defaultValue={selectedBase}\n input={}\n >\n Base (All)\n {bases && bases.map((value) => (\n {value.station} \n ))}\n\n \n \n\n \n \n \n {/* Customer(All) */}\n {customerDetails?.map((option, index) => {\n return \n \n \n \n \n \n \n { filterCustomerChangeHandler(e) }}\n name={option.name} />}\n />\n \n\n \n \n \n })}\n \n \n\n \n \n \n {/* Customer(All) */}\n {type?.map((option, index) => {\n return \n \n \n \n \n \n \n { filterTypeChangeHandler(e) }}\n name={option.name} />}\n />\n \n\n \n \n \n })}\n \n \n\n \n \n Future display range\n \n {\n console.log(\"eeee\", e.target.value)\n }}\n />\n \n \n \n {!fullScreenState && \n {\" \"}\n {\" \"}\n }\n \n \n \n setAction('addEvents')}>\n \n \n\n \n\n \n {/* Main content */}\n \n\n \n \n\n\n {fullScreenState && \n\n \n\n \n\n \n\n handleFilterChange(\"base_station_id\", e.target.value)}\n id=\"tags-standard\"\n value={selectedBase ? selectedBase : ''}\n name=\"Base Station\"\n defaultValue={selectedBase}\n input={}\n MenuProps={{\n container: container\n }}\n\n >\n Base (All)\n {bases && bases.map((value) => (\n {value.station} \n ))}\n\n \n\n \n \n\n \n \n \n {/* Customer(All) */}\n {customerDetails?.map((option, index) => {\n return \n \n \n \n \n \n \n { filterCustomerChangeHandler(e) }}\n name={option.name} />}\n />\n \n\n \n \n \n })}\n \n \n\n \n \n\n \n \n \n {/* Customer(All) */}\n {type?.map((option, index) => {\n return \n \n \n \n \n \n \n { filterTypeChangeHandler(e) }}\n name={option.name} />}\n />\n \n\n \n \n \n })}\n \n \n\n\n \n \n\n \n setAction('addEvents')}>\n \n \n\n \n \n\n\n \n \n \n \n \n\n \n {liveDate ? liveDate : handleLiveTime()}{\" \"} UTC\n \n\n \n\n }\n\n {/* Window height {window.innerHeight} {window.innerWidth} */}\n\n \n {eventDetails.map((event, index) => (\n <>\n\n accordionClicked(index)} style={{ background: handleColor(event) ? fullScreenState ? \"#FCC6C9\" : alpha(\"#FF0202\", 0.20) : \"\" }}\n expanded={expandedAccordions.includes(index)}\n\n\n >\n\n\n }\n aria-controls=\"aircraft-content\"\n id=\"aircraft-header\"\n classes={{ root: classes.root }}\n >\n \n \n \n {formatToMins(event.arr_datetime)}\n {format24HrDateOnly(event.arr_datetime)}\n \n \n {event.base}\n Airport\n \n \n {event?.flight_status !== \"est\" ? event.arr_flight_number : {event.arr_flight_number}}\n {event.airline}\n \n \n {event.aircraft || \"-\"}\n Aircraft\n \n \n {event?.ac_reg || \"-\"}\n A/C Reg\n \n {event.flight_status_color ?\n \n\n \n : ''}\n\n \n {event.flight_status === \"est\" ? \"Est\" : event.flight_status === \"arr\" ? \"Arr\" : \"No Data\"}{\" \"}{event.flight_status_eta}\n Status {\n event.fr_updated_at ? `@ ` + moment(event.fr_updated_at, \"DD/MM/YYYY HH:mm\").format(\"HH:mm\") : ''}\n \n {/* \n {event.gate\n || \"-\"}\n Gate\n */}\n \n {event.type || \"-\"}\n Type\n \n \n {event.planned_gnd_time === \"Nightstop\" ? event.planned_gnd_time : parseFloat(event.planned_gnd_time).toFixed(2)}\n \n Planned Gnd Time\n \n \n {event?.scope === false ? : event.scope === true ? : event.scope === \"amber\" ? : -}\n Scope\n \n \n {event?.notes === false ? : event.notes === true ? : event.notes === \"amber\" ? : -}\n Notes\n \n\n \n {event.stand || \"-\"}\n Stand\n \n \n {event.work_order_number ? {\n setCurrentSelection(event)\n setAction('view')\n }}>{event.work_order_number} : \"-\"}\n \n Work Order #\n \n \n {event?.allocated_engineers.length > 2 ? event?.allocated_engineers.slice(0, 2).map((item, index) => {\n return (\n {\n setAction(\"view_key\");\n setCurrentCommentSelections(event?.allocated_engineers);\n setPoperState(!poperState)\n setMouseX(e.clientX);\n setMouseY(e.clientY);\n }}\n >{item.stamp_number}{index === 0 ? \", \" : \"\"} \n\n )\n }\n\n\n ) : event?.allocated_engineers.length > 0 && event?.allocated_engineers.length <= 2 ? event?.allocated_engineers.map((item, index) => {\n return (\n {item.stamp_number}{index < event?.allocated_engineers.length - 1 ? \", \" : \"\"}\n\n )\n }) : \"-\"}{event?.allocated_engineers.length > 2 ? \"...\" : ''}\n\n {action === \"view_key\" && \n\n \n {currentCommentsSelections.map((item, index) => {\n return (\n {item.stamp_number}{index < currentCommentsSelections.length - 1 ? \", \" : \"\"}\n\n )\n }\n\n\n )}\n \n\n\n \n }\n\n\n \n Allocated Engineers\n \n \n \n {event.lm_event_type_id === 2 && event.act_dep_datetime !== null ? formatToMins(event.act_dep_datetime) : event.lm_event_type_id === 2 && event.act_dep_datetime === null ? '-' : event.act_dep_datetime !== null ? formatToMins(event.act_dep_datetime) : event.est_dep_datetime ? formatToMins(event.est_dep_datetime) : '-'}\n {event.lm_event_type_id === 2 && event.act_dep_datetime !== null ? format24HrDateOnly(event.act_dep_datetime) : event.lm_event_type_id === 2 && event.act_dep_datetime === null ? '-' : event.act_dep_datetime !== null ? format24HrDateOnly(event.act_dep_datetime) : event.est_dep_datetime ? format24HrDateOnly(event.est_dep_datetime) : '-'}\n \n \n \n \n \n \n \n \n Planned Type\n \n \n {event?.approval_type_name || \"-\"}\n \n \n \n \n Departure Flight #\n \n \n {event?.dep_flight_number || \"-\"}\n \n \n \n \n Alternate Types\n \n \n {event?.planned_aircraft.toString() || \"-\"}\n \n \n \n \n Scope\n \n \n {event?.scopes.toString() || \"-\"}\n \n \n \n \n Resource\n \n \n {event.lae_quantity || 0}\n LAEs, {event.mech_quantity || 0} Mechs, {event.total_man_hours || 0} Planned man-hours\n \n \n \n \n Engineers\n \n \n {event?.allocated_engineers.length > 0 ? event?.allocated_engineers.map((item, index) => {\n return (\n {item.name}{index < event?.allocated_engineers.length - 1 ? \", \" : \"\"}\n\n )\n }\n\n\n ) : '-'}\n \n \n \n \n Notes\n \n \n {event?.notes_list\n .toString() || \"-\"}\n \n \n\n {/* Events Actionssssss */}\n\n \n \n \n \n {/* Add Engineers */}\n \n \n setShowText('add')} placement=\"bottom\" onClose={() => { setShowText(null) }} open={false}>\n {\n setCurrentSelection(event)\n setAction('allocate')\n }}>\n \n \n \n \n \n {showText === 'add' ? Add Engineers : ' '}\n \n {/* No call out events */}\n {event.lm_event_type_id === 1 && event.work_order_id === null && !event.not_called_out &&\n\n \n \n setShowText('nocall')} placement=\"bottom\" onClose={() => { setShowText(null) }} open={false}>\n {\n setCurrentSelection(event)\n setAction('nocallout')\n }}>\n \n \n \n \n \n {showText === 'nocall' ? No Call Out : ' '}\n }\n {event.lm_event_type_id === 1 && event.not_called_out &&\n\n \n \n setShowText('nocall')} placement=\"bottom\" onClose={() => { setShowText(null) }} open={false}>\n {\n handleNotCalledout(event.id)\n }}>\n \n \n \n \n \n {showText === 'nocall' ? No Call Out : ' '}\n }\n \n \n\n {/* Edt planning */}\n \n \n setShowText('editplanning')} placement=\"bottom\" onClose={() => { setShowText(null) }} open={false}>\n {\n if (fullScreenState) {\n editFullScreen()\n }\n setCurrentSelection(event)\n setAction('editlmevents')\n }}>\n \n \n \n \n \n {showText === 'editplanning' ? Edit Planning : ' '}\n \n {/* Cancel eventssss */}\n {event.work_order_id === null && \n \n setShowText('cancel')} placement=\"bottom\" onClose={() => { setShowText(null) }} open={false}>\n {\n setCurrentSelection(event)\n setAction('cancelevent')\n }}>\n \n \n \n \n \n {showText === 'cancel' ? Cancel Event : ''}\n }\n\n \n \n\n {event.work_order_id === null && \n setShowText('link')} placement=\"bottom\" onClose={() => { setShowText(null) }} open={false}>\n {\n setCurrentSelection(event)\n setAction('link')\n }}>\n \n \n \n \n \n {showText === 'link' ? Link WO# : ''}\n }\n \n \n setShowText('editstand')} placement=\"bottom\" onClose={() => { setShowText(null) }} open={false}>\n {\n if (fullScreenState) {\n editFullScreen()\n }\n setCurrentSelection(event)\n setAction('editstand')\n }}>\n \n \n \n \n \n {showText === 'editstand' ? A/C Stand : ' '}\n\n \n\n\n \n \n Event Actions\n \n\n \n \n\n \n {/* {(index === 1 && page === 0) && } */}\n < br />\n \n ))}\n \n \n {fullScreenState && \n Page#\n \n\n \n {totalCount > 10 && }\n {totalCount > 20 && }\n {totalCount > 30 && }\n {totalCount > 40 && }\n\n \n }\n\n \n\n\n\n {/*
*/}\n\n {!fullScreenState && \n \n }\n\n\n\n {action && action === 'view' && {\n setAction(null)\n getStationBoardDetails()\n }} currentSelection={currentSelection} />}\n\n {action && action === 'allocate' && {\n setAction(null)\n getStationBoardDetails()\n\n }}\n\n currentSelection={currentSelection} />}\n {action && action === 'nocallout' && {\n setAction(null)\n getStationBoardDetails()\n\n }}\n\n currentSelection={currentSelection} />}\n {action && action === 'cancelevent' && {\n setAction(null)\n getStationBoardDetails()\n }}\n\n currentSelection={currentSelection}\n />}\n {action && action === 'addEvents' && {\n setAction(null)\n getStationBoardDetails()\n }} customerDetails={customerDetails} baseDetails={bases} eventDetails={eventTypes} approvalTypes={approvalTypes} />}\n {action && action === 'editlmevents' && {\n setAction(null)\n getStationBoardDetails()\n\n }} approvalTypes={approvalTypes} currentSelection={currentSelection} permission={props?.permission} />}\n {\n action && action === 'link' && {\n setAction(null)\n getStationBoardDetails()\n }} />\n }\n {\n action && action === 'editstand' && {\n setAction(null)\n getStationBoardDetails()\n\n }} eventId={currentSelection.id} currentSelection={currentSelection} onClose={() => {\n setAction(null)\n getStationBoardDetails()\n }} />\n }\n
\n )\n\n }\n
\n\n )\n}\n\nexport default StationBoard","import React from \"react\";\nimport { Typography, Box, makeStyles } from \"@material-ui/core\";\nimport Report from \"./Reports/Report\";\nimport MROButton from \"../../../components/buttons\";\nimport ButtonGroupNavigation from \"components/button_group_navigation\";\nimport { Route, Switch } from \"react-router-dom\";\nimport MaintHour from \"./Maint-Hours/index\";\nimport Performance from \"./Performance/LinePerformance\";\nimport Activity from \"./Activity/index\";\nimport StationBoard from \"./StationBoard\";\n\nconst buttons = [\n { name: \"Performance\", redirect: \"/org/dashboard/line_maintenance/performance\" },\n { name: \"Activity\", redirect: \"/org/dashboard/line_maintenance/activity\" },\n { name: \"Maint Hours\", redirect: \"/org/dashboard/line_maintenance/maint-hours\" },\n { name: \"Station Board\", redirect: \"/org/dashboard/line_maintenance/board\" },\n\n];\n\nexport default function LineMaintainence(props) {\n const classes = useStyles();\n return (\n <>\n \n \n
\n \n
\n \n (\n \n )}\n />\n (\n \n )}\n />\n (\n \n )}\n />\n (\n \n )}\n />\n\n \n
\n \n );\n}\nconst useStyles = makeStyles(theme => ({\n subNavigation: {\n margin: '2% 3%',\n width: '94%',\n }\n}));","import requestApi from \"../common/boxp_api_client\";\n\n\nconst getOrderOverView = (params) => {\n return requestApi({\n url: \"/orders_overview\",\n method: \"GET\",\n params,\n })\n}\nconst getCommercialOverView = (params) => {\n return requestApi({\n url: \"/commercial_overview\",\n method: \"GET\",\n params,\n })\n}\nconst getUpdateCommercialOverView = (params) => {\n return requestApi({\n url: \"/update_commercial_overview\",\n method: \"GET\",\n params,\n })\n}\n\n//storagedashboard Api\nconst getStorageDetails = (params) => {\n return requestApi({\n url: \"/storage_details\",\n method: \"GET\",\n params,\n })\n}\nconst getStorageActionDueListing = (params) => {\n return requestApi({\n url: \"/action_due_listing\",\n method: \"GET\",\n params,\n })\n}\n\n//New Dashboard End point\n\n\nconst getCompletedOrders = (params) => {\n return requestApi({\n url: \"/completed_orders_value\",\n method: \"GET\",\n params,\n })\n}\nconst getTweleveMonthsOrder = (params) => {\n return requestApi({\n url: \"/last_twelve_months_graph\",\n method: \"GET\",\n params,\n })\n}\n\nconst getInprogressWorkOrder = (params) => {\n return requestApi({\n url: \"/inprogress_orders\",\n method: \"GET\",\n params,\n })\n}\n\nconst getSelectedOrders = (params) => {\n return requestApi({\n url: \"/workshop_order_listing\",\n method: \"GET\",\n params,\n })\n}\n\n\n\n\n\n\nexport const WorkshopDashboardServices = {\n getOrderOverView,\n getCommercialOverView,\n getStorageDetails,\n getStorageActionDueListing,\n getUpdateCommercialOverView,\n getCompletedOrders,\n getTweleveMonthsOrder,\n getInprogressWorkOrder,\n getSelectedOrders\n\n}","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n useTheme,\n Box\n\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport CommercialIconRed from \"assets/maint/Commercial/CommercialIconRed.png\";\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"800px\",\n height: \"max-content\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"25px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n // overflow: \"hidden !important\"\n },\n\n\n actionButtons: {\n marginTop: '25px',\n display: \"flex\",\n justifyContent: \"end\",\n alignItems: \"center\",\n },\n\n partValue: {\n fontSize: \"14px\",\n color: \"#4D4F5C\",\n padding: \"2px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n partKey: {\n \"& p\": {\n fontSize: \"14px\",\n padding: \"1px\",\n },\n },\n partCard: {\n borderRadius: \"8px\",\n padding: \"17px 24px\",\n \"& p\": {\n fontSize: \"14px\",\n padding: \"5px\",\n },\n },\n })\n);\nexport default function ApprovalVar(props) {\n\n const { handleClose, currentSelection, orderType } = props\n const classes = useStyles();\n\n const message = useContext(ToastMessageContext);\n\n const [loading, setLoading] = useState(false)\n\n const [data, setData] = useState([])\n const [wipData, setWipData] = useState([])\n\n\n const GetInfoCard = (props) => {\n const classes = useStyles();\n const theme = useTheme();\n\n return (\n \n \n \n {props?.keyName}\n \n \n \n {props?.value ?? \"-\"}\n \n \n );\n };\n\n useEffect(() => {\n\n setLoading(true)\n if (currentSelection !== undefined) {\n\n let wip_labour_r = currentSelection?.wip_labour ? parseFloat(currentSelection?.wip_labour) / currentSelection?.sales_rate : \"\"\n let wip_parts_r = currentSelection?.wip_parts ? parseFloat(currentSelection?.wip_parts) / currentSelection?.sales_rate : \"\"\n let wip_services_r = currentSelection?.wip_services ? parseFloat(currentSelection?.wip_services) / currentSelection?.sales_rate : \"\"\n let wip_equipment_r = currentSelection?.wip_equipment ? parseFloat(currentSelection?.wip_equipment) / currentSelection?.sales_rate : \"\"\n\n let total = (wip_labour_r ? +wip_labour_r : 0) + (wip_parts_r ? +wip_parts_r : 0) + (wip_services_r ? +wip_services_r : 0) + (wip_equipment_r ? wip_equipment_r : 0)\n\n let data = [\n\n {\n wip_labour: parseFloat(currentSelection?.wip_labour).toFixed(2),\n wip_parts: wip_parts_r !== \"\" || null ? parseFloat(currentSelection?.wip_parts).toFixed(2) : \"0.00\",\n wip_services: parseFloat(currentSelection?.wip_services).toFixed(2),\n wip_equipment: parseFloat(currentSelection?.wip_equipment).toFixed(2),\n total: parseFloat(currentSelection?.wip_overall).toFixed(2),\n currency: currentSelection?.default_currency\n\n\n },\n {\n wip_labour: parseFloat(wip_labour_r).toFixed(2),\n wip_parts: wip_parts_r !== \"\" || null ? parseFloat(wip_parts_r).toFixed(2) : \"0.00\",\n wip_services: parseFloat(wip_services_r).toFixed(2),\n wip_equipment: parseFloat(wip_equipment_r).toFixed(2),\n total: parseFloat(total).toFixed(2),\n currency: currentSelection?.currency\n }\n\n ]\n\n if (currentSelection?.wip_labour === null && currentSelection?.wip_parts === null && currentSelection?.wip_services === null && currentSelection?.wip_equipment === null) {\n setWipData([])\n } else { setWipData(data) }\n\n setData([currentSelection])\n setLoading(false)\n }\n }, [currentSelection])\n\n\n\n\n\n\n const tableOptions = {\n ...options,\n paging: false,\n toolbar: false,\n search: false,\n header: true\n\n };\n\n\n const column = [\n\n {\n title: \"Labour\",\n field: \"labour\",\n\n\n render: (rowData) =>
\n {rowData?.labour === null ? :
100 ? \"#FF0202\" : \"#4FC605\" }}>{rowData?.labour} %
}\n\n
\n },\n {\n title: \"Parts\",\n field: \"parts\",\n\n render: (rowData) =>
\n {rowData?.parts === null ? :
100 ? \"#FF0202\" : \"#4FC605\" }}>{rowData?.parts} %
}\n\n
\n },\n\n {\n title: \"Services\",\n field: \"service\",\n\n render: (rowData) =>
\n {rowData?.service === null ? :
100 ? \"#FF0202\" : \"#4FC605\" }}>{rowData?.service} %
}\n\n
\n }, {\n title: \"Equipment\",\n field: \"equipment\",\n\n render: (rowData) =>
\n {rowData?.equipment === null ? :
100 ? \"#FF0202\" : \"#4FC605\" }}>{rowData?.equipment} %
}\n\n
\n }, {\n title: \"Overall\",\n field: \"overall\",\n\n render: (rowData) =>
\n {rowData?.overall === null ? :
100 ? \"#FF0202\" : \"#4FC605\" }}>{rowData?.overall} %
}\n\n
\n },\n ];\n const column1 = [\n\n {\n title: \"Labour\",\n field: \"wip_labour\",\n\n\n },\n {\n title: \"Parts\",\n field: \"wip_parts\",\n\n\n\n },\n\n {\n title: \"Services\",\n field: \"wip_services\",\n\n\n }, {\n title: \"Equipment\",\n field: \"wip_equipment\",\n\n\n }, {\n title: \"Total\",\n field: \"total\",\n\n\n },\n {\n title: \"Currency\",\n field: \"currency\",\n\n\n },\n ];\n\n return (\n
\n \n
\n \n Order \n\n\n \n \n
\n \n \n \n\n\n
\n
\n \n\n Approval Variance \n\n \n \n
\n \n \n \n\n\n
\n
\n \n\n
\n\n\n \n
\n\n WIP\n
\n \n
\n
\n
\n \n
\n )\n}\n","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\n\nimport {\n createStyles,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport AmberGear from \"assets/AmberGear.png\";\nimport { CommercialServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/commercial\";\nimport greenCheckIcon from \"assets/green check.png\";\nimport RescheduleIcon from \"@material-ui/icons/History\";\nimport LinearProgressBar from 'components/linear_progress_bar';\nimport RedRemoveIcon from \"assets/Red remove icon.png\";\nimport EstimationHistory from \"views/Operations/Workshop/Commercial/EstimationHistory\";\n\n\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"800px\",\n height: \"max-content\"\n },\n },\n container: {\n // minWidth: \"1200px\",\n // minHeight: \"400px\",\n padding: \"25px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n // overflow: \"hidden !important\"\n },\n\n\n\n\n })\n);\n\nexport default function EstimationDeparture(props) {\n\n const { handleClose, currentSelection, onClose } = props\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [loading, setLoading] = useState(false)\n\n const [action, setAction] = useState(false)\n const [currentSelections, setCurrentSelections] = useState({})\n const [estData, setEstData] = useState([])\n\n\n const getListing = async () => {\n setLoading(true);\n const params = {\n workshop_order_id: currentSelection?.id,\n };\n await CommercialServices.getEstimationDeparture(params).then((res) => {\n\n if (res?.success) {\n setEstData(res?.data);\n }\n })\n .catch(() => {\n console.log(\"error\");\n })\n .finally(() => {\n setLoading(false);\n });\n };\n\n\n\n useEffect(() => {\n\n getListing();\n\n }, [currentSelection]);\n\n\n\n\n\n\n\n const tableOptions = {\n ...options,\n paging: false,\n toolbar: false,\n search: false,\n\n };\n\n //Estimation Departure\n const column = [\n {\n title: \"Type\",\n field: \"type\",\n\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"22px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"22px\",\n },\n\n },\n {\n title: \"Position\",\n field: \"position\",\n\n },\n {\n title: \"Date\",\n field: \"date\",\n },\n {\n title: \"History\",\n field: \"\",\n // width: \"20%\",\n\n headerStyle: {\n textAlign: \"left\",\n\n },\n cellStyle: {\n // width: \"20%\",\n }, render: (rowData) => {\n if (rowData?.type === \"Approved\") {\n return \"\"\n }\n else if (rowData?.type === \"Revised\") {\n return (\n {\n setAction(\"est_history\")\n setCurrentSelections(rowData)\n }}>\n \n \n\n )\n }\n\n }\n },\n {\n title: \"Inducted / Start\",\n field: \"inducted_start\",\n\n width: \"10%\"\n }, {\n title: \"TAT\",\n field: \"tat_days\",\n\n\n }, {\n title: \"ETD\",\n field: \"etd\",\n\n }, {\n title: \"Progress\",\n field: \"progress\",\n render: (rowData) =>\n
\n 0 && rowData.progress < 75) ? '#4FC605' : (rowData.progress >= 75 && rowData.progress < 100) ? '#FFB300' : rowData.progress >= 100 ? '#FF0202' : '#fff'}\n color={rowData.progress >= 100 ? \"#FFFFFF\" : \"#4D4F5C\"}\n />\n
\n\n },\n {\n title: \"Acceptance\",\n render: (rowData) => {\n if (rowData?.type === \"Approved\") {\n if (rowData?.acceptance === \"green\") {\n return (\n
\n \n
\n );\n } else if (rowData?.acceptance === null) {\n\n return (\n
\n \n
\n );\n } else if (rowData?.acceptance === \"red\") {\n return (\n
\n \n
\n );\n }\n }\n else {\n return (\n
\n\n
\n );\n }\n },\n },\n\n\n\n ]\n return (\n
\n \n
\n\n Estimated Departure : { {currentSelection?.etd_type === 0 ? \"Approved\" : currentSelection?.etd_type === 1 ? \"Revised\" : \"\"}}\n
\n \n
\n
\n \n {action === \"est_history\" && (\n setAction(null)}\n\n />\n )}\n
\n )\n}\n","import React, { useReducer, useState, useEffect, useContext } from 'react'\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport MaterialTable from \"material-table\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport {\n Box,\n IconButton,\n Typography,\n Button,\n Grid,\n makeStyles\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport { format24HrDateOnly, getOrganisationId } from \"lib/utils/common_utils\";\nimport { WorkshopDashboardServices } from 'lib/services/api/dashboard/workshop';\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport BoxpTableAction from \"actions/boxp_table_actions\";\nimport TabDetails from 'views/Operations/Workshop/TabDetails';\nimport moment from \"moment\";\nimport LinearProgressBar from 'components/linear_progress_bar';\nimport whiteSettingIcon from \"../../../../assets/icons/white-settings.png\";\nimport MROButton from 'components/buttons';\nimport MessagePopup from \"components/universal/messagePopup\";\nimport RedHandIcon from \"assets/red_hand.png\";\nimport useDebounce from 'lib/utils/debounce';\nimport InfoIcon from '@material-ui/icons/Info'\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport greenCheckIcon from \"assets/green check.png\";\nimport StatusPopup from 'views/Operations/Workshop/Maintenance/StatusPopup';\nimport PriorityHighIcon from '@material-ui/icons/PriorityHigh';\nimport ApprovalVar from '../Maintenance/ApprovalVar';\nimport EstimationDeparture from '../Maintenance/EstimationDeparture';\n\nconst useStyles = makeStyles((theme) => ({\n\n runButton: {\n backgroundColor: \"#4FC605\", color: \"white\",\n '&:hover': {\n backgroundColor: \"#4FC605\",\n opacity: 0.75,\n color: \"white\"\n }\n }\n\n}));\n\nfunction CommericalTop(props) {\n const classes = useStyles()\n const { filterData, startDate, endDate, selectedBase, selectedFilters, setRefresh } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const [loading, setLoading] = useState(false);\n const message = useContext(ToastMessageContext);\n const [totalCount, setTotalCount] = useState(5);\n const [pageSize, setPageSize] = useState(5);\n const [page, setPage] = useState(0);\n const [commercialOverviewData, setCommercialOverviewData] = useState([])\n const [action, setAction] = useState(false);\n const [currentSelection, setCurrentSelection] = useState({})\n const { data, inProgress } = tableState;\n const [runTable, setRunTable] = useState(false)\n const [searchText, setSearchText] = useState(\"\")\n const debounceVal = useDebounce(searchText)\n\n const getCommercialOverview = () => {\n const params = {\n order_type: \"Production\",\n page: page + 1,\n organisation_id: getOrganisationId(),\n\n limit: pageSize,\n search: debounceVal\n }\n selectedBase.forEach((item, index) => params[`base_filter[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`customer[${[index]}]`] = item)\n setLoading(true)\n WorkshopDashboardServices.getCommercialOverView(params).then((response) => {\n if (response.success) {\n setCommercialOverviewData(response.data)\n\n }\n setTotalCount(response.total_count);\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n\n\n\n useEffect(() => {\n\n getCommercialOverview()\n\n }, [page, pageSize, selectedBase, totalCount, debounceVal, selectedFilters])\n const renderIcons = (order_state, rowData) => {\n if (order_state >= 0 && order_state <= 9) {\n return (\n \n {\n setAction(\"statusPopup\");\n setCurrentSelection(rowData)\n }}>\n \n \n )\n } else if (order_state === 10) {\n return (\n \n \n \n \n )\n } else if (order_state === 11 || order_state === 12) {\n return (\n \n \n \n \n )\n }\n }\n\n const handleCommercialtableUpdate = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_type: \"Production\",\n\n }\n await WorkshopDashboardServices.getUpdateCommercialOverView(params).then((res) => {\n setRunTable(true)\n getCommercialOverview()\n setRefresh(true)\n }).catch(() => {\n\n }).finally(() => {\n if (!loading) {\n setTimeout(() => {\n setRunTable(false)\n }, 2000)\n\n }\n })\n\n }\n\n\n\n\n const handleActions = (rowData) => {\n setAction(\"viewCommerial\");\n setCurrentSelection(rowData);\n getMaintenanceOrderList()\n }\n\n const getMaintenanceOrderList = () => {\n const params = {\n page: page + 1,\n limit: pageSize,\n order_type: \"Maintenance\",\n organisation_id: getOrganisationId(),\n\n };\n // selectedBase.forEach((item, index) => params[`base_filter[${[index]}]`] = item)\n BoxpTableAction.getList(dispatch, message, params, \"OrderList\");\n };\n\n\n const renderZeroState = (value) => {\n return (\n\n
\n \n
\n )\n\n\n }\n\n\n\n\n\n\n const columns = [\n {\n title: \"Order #\",\n field: \"order_number\",\n width: '8%',\n headerStyle: {\n textAlign: 'left',\n paddingLeft: 24\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: 24,\n width: '8%',\n },\n render: (rowData) => {\n handleActions(rowData)\n\n }}>\n {rowData?.order_number}\n \n\n },\n {\n title: \"Customer\",\n field: \"customer\",\n width: '12%',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n width: '12%',\n textAlign: 'left'\n },\n },\n {\n title: \"PO#\",\n field: \"cus-ref\",\n headerStyle: {\n textAlign: 'left',\n },\n cellStyle: {\n textAlign: 'left',\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n width: '15%',\n headerStyle: {\n width: '15%',\n textAlign: 'left',\n },\n cellStyle: {\n width: '15%',\n textAlign: 'left',\n },\n\n },\n {\n title: \"Work/Status\",\n field: \"work_status\",\n headerStyle: {\n textAlign: 'left',\n }, cellStyle: {\n\n textAlign: 'left',\n },\n }, {\n title: \"Status\",\n field: \"\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => renderIcons(rowData?.order_state_id, rowData),\n },\n {\n title: \"ETD\",\n field: \"etd\",\n render: (rowData) => rowData?.etd ? {\n setAction(\"etd\")\n setCurrentSelection(rowData)\n }}>\n {format24HrDateOnly(rowData?.etd)}\n\n : \"\",\n },\n {\n title: \"TAT\",\n field: \"tat\",\n headerStyle: {\n textAlign: 'left',\n },\n render: (rowData) =>\n
\n \n
\n },\n {\n title: \"Action Progress\",\n field: \"stages\",\n headerStyle: {\n textAlign: 'left',\n },\n render: (rowData) =>\n
\n \n
\n\n },\n {\n title: \"Stage Progress\",\n field: \"stages\",\n headerStyle: {\n textAlign: 'left',\n },\n render: (rowData) =>\n
\n \n
\n }, {\n title: \"Labour\",\n field: \"labour\",\n\n\n render: (rowData) =>\n
\n 0 && Number(rowData.labour) < 75) ? '#4FC605' : (Number(rowData.labour) >= 75 && Number(rowData.labour) < 100) ? '#FFB300' : Number(rowData.labour) >= 100 ? '#FF0202' : '#fff'}\n color={Number(rowData.labour) >= 100 ? \"#FFFFFF\" : \"#4D4F5C\"}\n />\n
\n },\n {\n title: \"Approval Var\",\n field: \"variance\",\n render: (rowData) =>\n \n \n 100 ? \"#FF0202\" : \"#4FC605\" }} onClick={() => {\n setAction(\"approval\")\n setCurrentSelection(rowData)\n }}>\n\n {rowData?.variance ? rowData?.variance : \"\"}\n\n \n \n \n {(rowData?.labour > 100 || rowData?.parts === null || rowData?.parts > 100 || rowData?.services === null || rowData?.services > 100 || rowData?.equipment === null || rowData?.equipment > 100 || rowData?.overall === null || rowData?.overall > 100) ? : \"\"}\n \n \n\n },\n\n\n\n ];\n\n\n\n const handleLocalTime = (date) => {\n\n\n let localTime = moment.utc(date, \"DD/MM/YYYY HH:mm\").local().format(\"DD/MM/YYYY HH:mm\");\n\n return localTime ? localTime : \" - \"\n\n }\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: true,\n searchText: debounceVal,\n\n };\n return (\n \n\n \n \n In Progress Overview\n \n Last updated: {handleLocalTime(commercialOverviewData.last_updated_at) ?? '-'} \n \n }\n isLoading={loading}\n data={commercialOverviewData.listing || []}\n columns={columns}\n options={tableOptions}\n onChangePage={(page) => {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n onSearchChange={(search) => {\n setLoading(true)\n setPage(0);\n setSearchText(search);\n\n }}\n totalCount={totalCount}\n page={page}\n actions={[\n {\n icon: 'Add',\n tooltip: 'Add User',\n isFreeAction: true,\n }\n ]}\n components={{\n Actions: props => (\n \n {\" \"}\n }\n variant=\"contained\"\n className={classes.runButton}\n onClick={() => {\n setRunTable(true)\n setPage(0)\n handleCommercialtableUpdate()\n }}\n >\n Refresh Data\n \n \n ),\n }}\n />\n {\n action && action !== \"statusPopup\" && action !== \"approval\" && action !== \"etd\" && (\n setAction(null)}\n action={\"Unlock\"}\n currentSelection={currentSelection}\n // bases={props.bases}\n // lineCustomers={props.customerDetails?.customers}\n tabId={21}\n order_type={2}\n setAction={setAction}\n getMaintenanceOrderList={getCommercialOverview}\n type={\"dashboardCommercial\"}\n // paginationReset={paginationReset}\n />\n )\n }\n {runTable &&\n setRunTable(false)}\n open={runTable}\n topTitle={\"Updating Commercial Overview table\"}\n bottomTitle={\"Please be patient, this will take a few moments\"}\n />}\n {action !== \"Send Quote \" && action !== \"Unlock\" && action === \"statusPopup\" &&\n setAction(null)} workshop_order_id={currentSelection?.id} />\n }\n {action !== \"Send Quote \" && action !== \"Unlock\" && action !== \"statusPopup\" && action === \"approval\" && setAction(null)} currentSelection={currentSelection} orderType={\"Production\"} />}\n {action !== \"Send Quote \" && action !== \"Unlock\" && action !== \"statusPopup\" && action === \"etd\" && setAction(null)} currentSelection={currentSelection} />}\n \n )\n}\n\nexport default React.memo(CommericalTop)","import React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport Slide from \"@material-ui/core/Slide\";\nimport {\n createStyles,\n DialogContent,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MaterialTable from \"material-table\";\nimport { ToastMessageContext } from \"../../../../lib/contexts/message_context\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport { WorkshopDashboardServices } from \"lib/services/api/dashboard/workshop\";\nimport TabDetails from \"views/Operations/Workshop/TabDetails\";\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n modal: {\n \"& .MuiDialog-paperWidthSm\": {\n minWidth: \"800px\",\n },\n },\n container: {\n // minWidth: \"700px\",\n // minHeight: \"400px\",\n padding: \"50px\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden !important\"\n },\n\n popupTitle: {\n fontSize: \"20px\",\n lineHeight: \"28px\",\n position: \"absolute\",\n top: \"19px\",\n bottom: \"15px\",\n left: \"25px\",\n },\n divider: {\n borderBottom: `1px solid ${theme.palette.primary.main}`,\n },\n tableTitle: {\n fontSize: \"16px\",\n lineHeight: \"22px\",\n color: \"#4D4F5C\",\n fontWeight: \"bold\",\n marginTop: \"19px\",\n marginBottom: \"16px\",\n },\n })\n);\n\nexport default function StoppedOrders(props) {\n const { open, handleClose, stoppedOrder, handleCloseAction, order_type_name, currentSelections, tabID, getDetails, selectedBase } = props;\n const classes = useStyles();\n const message = useContext(ToastMessageContext);\n const [pages, setPages] = useState(0);\n const [totalCounts, setTotalCounts] = useState(5);\n const [pageSizes, setPageSizes] = useState(5);\n const [stoppedOrders, setStoppedOrders] = useState([]);\n const [loading, setLoading] = useState(false);\n const [viewAction, setViewAction] = useState(false);\n const [currentSelection, setCurrentSelection] = useState({});\n\n const tableOptions = {\n ...options,\n page: pages,\n total: totalCounts,\n pageSize: pageSizes,\n search: false,\n toolbar: false,\n rowStyle: { height: 42 },\n };\n\n const getStoppedOrders = () => {\n const params = {\n order_type: order_type_name,\n graph: currentSelections?.graph,\n key: currentSelections?.key,\n page: pages + 1,\n limit: pageSizes,\n organisation_id: getOrganisationId()\n }\n setLoading(true)\n selectedBase.forEach((item, index) => params[`base[${[index]}]`] = item)\n WorkshopDashboardServices.getSelectedOrders(params)\n .then((res) => {\n if (res) {\n setStoppedOrders(res.data);\n setTotalCounts(res.total_count);\n }\n })\n .catch(() => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n };\n\n useEffect(() => {\n getStoppedOrders()\n }, [pages, pageSizes, currentSelections, selectedBase])\n\n\n const column = [\n {\n title: \"Order #\",\n field: \"order_number\",\n headerStyle: {\n textAlign: \"left\",\n paddingLeft: \"10px\",\n },\n cellStyle: {\n textAlign: \"left\",\n paddingLeft: \"10px\",\n },\n },\n {\n title: \"Customer\",\n field: \"customer\",\n width: \"20%\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"20%\",\n },\n },\n\n {\n title: \"Description\",\n field: \"description\",\n headerStyle: {\n width: \"40%\",\n textAlign: \"left\"\n },\n cellStyle: {\n width: \"40%\",\n textAlign: \"left\"\n }\n }, {\n title: \"Position\",\n field: \"approval_number\",\n\n },\n {\n title: \"Action\",\n render: (rowData) => (\n {\n setViewAction(true);\n setCurrentSelection(rowData)\n }}\n >\n \n \n ),\n },\n ];\n\n\n return (\n
\n \n
\n \n Selected Workshop Orders\n \n\n \n {\n setPages(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSizes(pageSize);\n }}\n totalCount={totalCounts}\n page={pages}\n />\n \n\n
\n \n {viewAction &&\n }\n
\n );\n}\n","import { Typography } from '@material-ui/core'\nimport React, { useState, useEffect } from 'react'\nimport { useMemo } from 'react'\nimport ReactApexChart from 'react-apexcharts'\n\n\nconst ChartNew = (props) => {\n const { value1, value2, value3, name, color1, color2, labels, totalPercentage } = props\n const [values, setValues] = useState([])\n const [label, setlabel] = useState([])\n const [orgColor, setOrgColor] = useState([])\n\n useMemo(() => {\n if (value1 !== undefined) {\n values.push(value1)\n }\n if (value2 !== undefined) {\n values.push(value2)\n }\n if (value3 !== undefined) {\n values.push(value3)\n }\n\n setValues(values)\n }, [value1, value2, value3])\n\n // console.log(\"Dasboardprops=========\", props)\n useMemo(() => {\n if (labels !== undefined || labels !== []) {\n // console.log(\"label=======\", labels)\n for (let i = 0;i < labels.length;i++) {\n label.push(labels[i])\n }\n }\n setlabel(label)\n }, [labels])\n const [state, setState] = useState({\n series: values,\n options: {\n chart: {\n size: '100px',\n type: 'donut',\n },\n labels: label,\n dataLabels: {\n\n formatter(val, opts) {\n const name = opts.w.globals.labels[opts.seriesIndex]\n return [name, opts.w.config.series[opts.seriesIndex]]\n },\n },\n plotOptions: {\n pie: {\n donut: {\n size: '75%'\n }\n\n // customScale: 0.8\n }\n },\n colors: ['#4FC605', '#FFB300', '#FF0202'],\n dataLabels: {\n enabled: false\n },\n legend: {\n show: false,\n position: 'bottom'\n },\n\n responsive: [{\n breakpoint: 480,\n options: {\n chart: {\n width: 200,\n height: 150\n },\n legend: {\n show: false,\n position: 'bottom'\n }\n }\n }]\n }\n })\n\n const [totalState, setTotalState] = useState({\n series: [1, 0, 0],\n options: {\n chart: {\n size: '100px',\n type: 'donut',\n },\n labels: ['0', '0', '0'],\n colors: ['#dddddd', '#dddddd', '#dddddd'],\n dataLabels: {\n enabled: false\n },\n legend: {\n show: false,\n position: 'bottom'\n },\n plotOptions: {\n pie: {\n donut: {\n size: '75%'\n }\n\n // customScale: 0.8\n }\n },\n responsive: [{\n breakpoint: 480,\n options: {\n chart: {\n width: 200\n },\n legend: {\n show: false,\n position: 'bottom'\n }\n }\n }]\n }\n })\n\n return (\n <>\n \n \n )\n}\nexport default React.memo(ChartNew)","import {\n FormControl,\n IconButton,\n InputBase,\n makeStyles,\n MenuItem,\n Menu,\n Switch,\n Select, FormControlLabel, Grid, Chip, Typography, Divider, Box, CircularProgress, Button,\n Paper,\n TextField\n} from \"@material-ui/core\";\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport React, { useContext, useEffect, useReducer, useState, useMemo } from \"react\";\nimport ArrowDown from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUp from '@material-ui/icons/ArrowDropUp';\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport moment, { months } from \"moment\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { alpha, useTheme } from \"@material-ui/core\";\n// Range picker\nimport { DatePicker } from \"antd\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport _without from \"lodash/without\";\nimport ChartLoader from \"../Storage/ChartLoader\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { format24HrDateTime, getBaseStationID, getOrganisationId } from \"lib/utils/common_utils\";\nimport ReactApexChart from \"react-apexcharts\";\nimport CommericalTable from \"./CommericalTable\"\nimport CameraIcon from \"assets/Dashboard/Camera.svg\"\nimport PartsIconGrey from \"assets/maint/Parts/partsIconGray.png\";\nimport ServicesIconGray from \"assets/maint/Services/services_icon_grey.png\";\nimport SpecEquipIconGrey from \"assets/maint/SpecEquip/specEquipGray.png\";\nimport { WorkshopDashboardServices } from \"lib/services/api/dashboard/workshop\";\nimport _ from \"lodash\";\nimport StoppedOrders from \"../Maintenance/StoppedOrders\";\nimport ArrowUpwardIcon from 'assets/Dashboard/arrowupwardGreen.svg'\nimport ArrowDownwardIcon from 'assets/Dashboard/arrowdownwardRed.svg'\nimport StopIcon from '@material-ui/icons/Stop';\nimport Line from '@material-ui/icons/Minimize';\nimport Chart from \"../Maintenance/Chart New\"\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: \"95%\",\n margin: \"-1% 2%\",\n paddingLeft: '13px',\n '&.MuiStepConnector-root': {\n borderTopWidth: '10px'\n }\n },\n\n formWrapper: {\n width: \"95%\",\n margin: \"0% 3%\",\n\n },\n\n monthText: {\n fontSize: '12px',\n marginTop: '-9px',\n marginLeft: \"11px\",\n width: \"104px\",\n background: \"#fff\",\n\n },\n secondaryColor: {\n color: theme.palette.secondary.main\n\n },\n quotePercentageText: {\n marginTop: ' -87px',\n marginBottom: ' 53px',\n textAlign: ' center',\n fontSize: '22px',\n color: \"#4FC605\",\n paddingLeft: \"9px\"\n },\n centerLabel: {\n textAlign: ' center',\n marginTop: ' -50px',\n marginBottom: '66px',\n color: '#4D4F5C',\n fontSize: '12px'\n },\n quoteText: {\n fontSize: '12px',\n paddingTop: \"4px\",\n paddingLeft: \"7px\"\n },\n\n chartText: {\n paddingRight: '10px', paddingBottom: '15px', textDecoration: \"underline\", cursor: \"pointer\", WebkitUserSelect: \"all\", WebkitAppearance: 'none'\n },\n month: {\n fontSize: \"12px\"\n },\n lengends: {\n marginTop: \"3px\",\n fontSize: \"13px\"\n },\n line: {\n marginTop: \"5px\",\n fontSize: \"13px\"\n },\n wipText: {\n fontSize: \"13px\"\n }\n\n\n}));\n\n\nexport default function Production(props) {\n\n const classes = useStyles();\n const theme = useTheme()\n const [loading, setLoading] = useState(false);\n const [filterData, setFilterData] = useState(\"otp\");\n const [customerDetails, setCustomerDetails] = useState([]);\n const message = useContext(ToastMessageContext);\n const [bases, setBases] = useState([]);\n const [selectedFilters, setSelectedFilters] = useState([]);\n const [selectedBase, setSelectedBase] = useState([getBaseStationID()]);\n const [custButton, setCustButton] = useState(false)\n const [checked, setChecked] = useState(false)\n const [baseButton, setBaseButton] = useState(false)\n const [runTable, setRunTable] = useState(false)\n const [action, setAction] = useState('')\n const [anchorEl, setAnchorEl] = useState(null);\n const [anchorBase, setAnchorBase] = useState(null);\n const [refresh, setRefresh] = useState(false)\n //Completed details\n const [completedOrders, setCompletedOrders] = useState({})\n const [completedValues, setCompletedValues] = useState({})\n const [currentDate, setCurrentDate] = useState(null)\n const [previousDate, setPreviousDate] = useState(null)\n const [previousLastDate, setPreviousLastDate] = useState(null)\n const [twelveMonthsBarData, setTwelveMonthsBarData] = useState([])\n const [twelveMonthsLineData, setTwelveMonthsLineData] = useState([])\n\n const [progressLoading, setProgressLoading] = useState(false);\n const [wipData, setWipData] = useState({})\n const [quotesData, setQuotesData] = useState({})\n const [commercialData, setCommercialData] = useState({})\n const [currentSelection, setCurrentSelection] = useState({ graph: \"\", key: \"\" })\n const [quotesPercentage, setQuotesPercentage] = useState(0);\n const [commercialPercentage, setCommercialPercentage] = useState(0);\n\n // Order Stage------\n\n\n const [state, setState] = useState({\n series: [\n\n\n ],\n\n options: {\n chart: {\n type: 'line',\n height: 350,\n stacked: true,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n },\n\n },\n stroke: {\n width: [2, 0, 0, 0]\n },\n colors: ['#8CDA5C', '#FFCD59', '#FF5A5A'],\n // colors: [`${theme.palette.secondary.main}`],\n\n dataLabels: {\n enabled: false\n },\n\n xaxis: {\n\n labels: {\n show: true,\n }\n\n },\n yaxis: {\n tickAmount: 5,\n labels: {\n rotate: 0,\n },\n },\n\n grid: {\n show: true,\n strokeDashArray: 0,\n position: 'back',\n xaxis: {\n lines: {\n show: false\n }\n },\n yaxis: {\n lines: {\n show: true\n }\n },\n },\n responsive: [{\n breakpoint: 480,\n\n }],\n plotOptions: {\n bar: {\n horizontal: false,\n borderRadius: 0,\n // columnWidth: '30%',\n // barHeight: '80%',\n dataLabels: {\n enabled: false\n },\n },\n\n\n },\n\n legend: {\n show: false\n },\n fill: {\n opacity: 1\n }\n },\n\n\n })\n\n\n const [column, setColumn] = useState({\n\n series: [],\n options: {\n chart: {\n type: 'bar',\n height: 350,\n stacked: true,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n }\n },\n yaxis: {\n tickAmount: 5,\n labels: {\n rotate: 0,\n },\n },\n dataLabels: {\n enabled: false\n },\n responsive: [{\n breakpoint: 480,\n\n }],\n plotOptions: {\n bar: {\n horizontal: false,\n borderRadius: 0,\n // columnWidth: '30%',\n // barHeight: '80%',\n dataLabels: {\n enabled: false\n },\n\n },\n },\n\n legend: {\n show: false\n },\n fill: {\n opacity: 1\n }\n },\n\n\n\n\n })\n\n\n const [order, setOrder] = useState({\n\n series: [\n\n {\n name: \"Order\",\n data: [0, 0, 0, 0, 0, 0, 0]\n }\n\n\n ],\n options: {\n chart: {\n type: 'bar',\n height: 350,\n stacked: false,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n }\n },\n dataLabels: {\n enabled: false\n },\n yaxis: {\n tickAmount: 5,\n labels: {\n rotate: 0,\n },\n },\n responsive: [{\n breakpoint: 480,\n options: {\n legend: {\n position: 'top',\n offsetX: -20,\n offsetY: -40\n }\n }\n }],\n plotOptions: {\n bar: {\n horizontal: false,\n borderRadius: 0,\n columnWidth: '30%',\n barHeight: '80%',\n dataLabels: {\n enabled: false\n },\n\n },\n },\n\n legend: {\n position: 'top',\n horizontalAlign: \"center\",\n offsetX: 200,\n\n\n\n },\n fill: {\n opacity: 1\n }\n },\n\n\n\n\n })\n\n\n\n\n\n\n\n const getDetails = () => {\n const params = {\n order_type: \"Production\",\n organisation_id: getOrganisationId(),\n\n // ...filterData\n }\n selectedBase.forEach((item, index) => params[`base[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`customer[${[index]}]`] = item)\n setProgressLoading(true)\n handleCompleteDetails(params)\n handleInprogressDetails(params)\n }\n\n const handleCompleteDetails = async (params) => {\n\n await WorkshopDashboardServices.getCompletedOrders(params).then((res) => {\n if (res.success) {\n setCompletedOrders(res?.data[0].completed_orders)\n setCompletedValues(res?.data[0].completed_values)\n handleDates(res?.data[0])\n\n\n }\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n\n })\n }\n\n const handleDates = (data) => {\n let format = \"YYYY-MM-DD\"\n let curr = moment(data?.current_date, format).format(\"DD/MMM\")\n let previous = moment(data?.previous_month_current_date, format).format(\"DD MMM\")\n let lastMonth = moment(data?.pervious_month_last_date, format).format(\"MMM DD\")\n setCurrentDate(curr)\n setPreviousDate(previous)\n setPreviousLastDate(lastMonth)\n\n }\n const handleInprogressDetails = async (params) => {\n\n\n await WorkshopDashboardServices.getInprogressWorkOrder(params).then((response) => {\n if (response.success) {\n setWipData(response?.data[0]?.wip)\n setQuotesData(response?.data[0]?.open_quotes)\n setCommercialData(response?.data[0]?.open_commercial_positions)\n let orderStage = Object.values(response?.data[0]?.order_stage)\n let orderStageU = _.transform(response?.data[0]?.order_stage, (result, val, key) => {\n result[key.charAt(0).toUpperCase() + key.slice(1)] = val;\n })\n\n let key = Object.keys(orderStageU)\n if (orderStage !== undefined) {\n\n setOrder((prevState) => {\n return {\n // ...updatedState,\n series: [\n\n {\n name: \"Order\",\n data: orderStage\n }\n\n ],\n options: {\n\n xaxis: {\n categories: key,\n labels: {\n show: true,\n }\n\n },\n colors: [`${theme.palette.secondary.main}`],\n }\n }\n })\n\n\n }\n }\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setProgressLoading(false)\n setRefresh(false)\n })\n\n\n }\n\n\n useEffect(() => {\n getDetails()\n\n }, [selectedBase, selectedFilters, refresh]);\n useEffect(() => {\n\n getGraphDetails()\n }, [selectedBase, selectedFilters, filterData, checked]);\n\n\n\n\n const getGraphDetails = async () => {\n const params = {\n order_type: \"Production\",\n organisation_id: getOrganisationId(),\n data: filterData,\n compare_previous_year: checked\n }\n selectedBase.forEach((item, index) => params[`base[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`customer[${[index]}]`] = item)\n setLoading(true)\n await WorkshopDashboardServices.getTweleveMonthsOrder(params).then((response) => {\n if (response.success) {\n setTwelveMonthsBarData(response?.data?.bar)\n setTwelveMonthsLineData(response?.data?.line)\n\n }\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n setCustButton(!custButton)\n };\n const handleBaseClick = (event) => {\n setAnchorBase(event.currentTarget);\n setBaseButton(!baseButton)\n };\n const handleClose = () => {\n setAnchorEl(null);\n setCustButton(!custButton)\n };\n\n\n\n\n const filterChangeHandler = (e) => {\n const { name, value, checked } = e.target\n let value1 = bases.map((item) => {\n\n if (item.id === parseInt(value)) {\n item.status = !item.status\n }\n return item\n })\n // setRunTable(false)\n setSelectedBase((prevState) => [...prevState, value])\n if (!checked) {\n if (selectedBase.length > 1) {\n let item = selectedBase.filter((item) => item !== value)\n\n setSelectedBase(item);\n\n }\n else {\n setSelectedBase([])\n }\n }\n\n }\n\n\n\n\n\n const filterCustomerChangeHandler = (e) => {\n const { name, value, checked } = e.target\n // console.log(\"customer======\", value, checked)\n\n let value1 = customerDetails.map((item) => {\n\n if (item.id === parseInt(value)) {\n item.status = !item.status\n }\n return item\n })\n\n setSelectedFilters((prevState) => [...prevState, value])\n if (!checked) {\n setSelectedFilters((current) => _without(current, value));\n }\n\n }\n\n\n\n\n useEffect(() => {\n getCustomerList();\n getBaseStation();\n }, []);\n\n const getCustomerList = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'name'\n }\n await MaintenanceServices.getCustomerList(params)\n .then((res) => {\n if (res) {\n\n\n\n let data = res.data.customers\n if (data.length > 0) {\n let value = data.map((item) => ({\n ...item,\n status: false\n }))\n setCustomerDetails(value);\n }\n else {\n\n setCustomerDetails(res.data.customers);\n\n }\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n const getBaseStation = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'station'\n }\n MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n\n\n let data = res.data\n if (data.length > 0) {\n let value = data.map((item) => ({\n ...item,\n status: getBaseStationID() === item.id ? true : false\n }))\n setBases(value);\n }\n else {\n\n setBases(res.data);\n\n }\n\n\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n const ITEM_HEIGHT = 78;\n\n\n // chart Options last twelve month\n\n\n const bar1 = []\n const bar2 = []\n const bar3 = []\n const line = []\n const date = []\n\n\n\n\n\n\n\n\n\n\n useMemo(() => {\n if (filterData === \"otp\") {\n if (twelveMonthsBarData != []) {\n for (let i = 0;i < twelveMonthsBarData.length;i++) {\n bar1.push(twelveMonthsBarData[i].on_time)\n bar2.push(twelveMonthsBarData[i].revised_on_time)\n bar3.push(twelveMonthsBarData[i].late)\n date.push(moment(twelveMonthsBarData[i].date).format(\"MMM D\"))\n\n\n\n }\n\n if (twelveMonthsLineData.length > 0) {\n for (let l = 0;l < twelveMonthsLineData.length;l++) {\n line.push(parseInt(twelveMonthsLineData[l].previous_year_data))\n }\n }\n if (bar1.length > 0 && !checked) {\n setColumn((prevState) => {\n\n const updatedState = _.clone(prevState);\n\n return {\n ...updatedState,\n series: [\n {\n name: 'On time',\n data: bar1,\n },\n {\n name: 'Revised',\n data: bar2,\n\n },\n {\n name: 'Late',\n data: bar3,\n\n },],\n options: {\n ...updatedState.options,\n\n xaxis: {\n categories: date,\n labels: {\n show: true,\n }\n\n },\n dataLabels: {\n enabled: false\n },\n colors: ['#8CDA5C', '#FFCD59', \"#FF0202\"],\n }\n }\n })\n\n\n\n }\n\n else if (date.length > 0 && checked) {\n setState((prevState) => {\n\n const updatedState = _.clone(prevState);\n\n return {\n ...updatedState,\n series: [\n\n {\n name: 'Due',\n data: line,\n type: 'line',\n order: 1\n\n },\n {\n name: 'On time',\n data: bar1,\n type: 'column',\n order: 2\n },\n {\n name: 'Revised',\n data: bar2,\n type: 'column',\n order: 3\n },\n {\n name: 'Late',\n data: bar3,\n type: 'column',\n order: 4\n },],\n options: {\n ...updatedState.options,\n xaxis: {\n categories: date,\n\n labels: {\n show: true,\n }\n\n },\n colors: ['#8CDA5C', '#8CDA5C', '#FFCD59', \"#FF0202\"],\n }\n }\n })\n\n\n\n }\n }\n }\n\n if (filterData === \"type\") {\n\n if (twelveMonthsBarData != []) {\n for (let i = 0;i < twelveMonthsBarData.length;i++) {\n bar1.push(twelveMonthsBarData[i].adhoc_true)\n bar2.push(twelveMonthsBarData[i].adhoc_false)\n date.push(moment(twelveMonthsBarData[i].date).format(\"MMM D\"))\n\n\n\n }\n\n }\n if (twelveMonthsLineData.length > 0) {\n for (let l = 0;l < twelveMonthsLineData.length;l++) {\n line.push(parseInt(twelveMonthsLineData[l].previous_year_data))\n }\n }\n\n if (date.length > 0 && !checked) {\n setColumn((prevState) => {\n\n // const updatedState = _.clone(prevState);\n\n return {\n // ...updatedState,\n series: [\n\n {\n name: 'ADHOC',\n data: bar1,\n\n },\n {\n name: 'Quoted',\n data: bar2,\n\n },\n ],\n options: {\n\n chart: {\n type: 'bar',\n stacked: true,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n },\n\n },\n xaxis: {\n categories: date,\n\n labels: {\n show: true,\n }\n\n },\n legend: {\n show: false\n },\n dataLabels: {\n enabled: false\n },\n colors: [`${theme.palette.primary.main}`, `${theme.palette.secondary.main}`],\n }\n }\n })\n\n\n\n }\n\n\n\n else if (bar1.length > 0 && checked) {\n setState((prevState) => {\n\n const updatedState = _.clone(prevState);\n\n return {\n ...updatedState,\n series: [\n\n {\n name: 'Due',\n data: line,\n type: 'line',\n order: 1\n\n },\n {\n name: 'ADHOC',\n data: bar1,\n type: 'column',\n order: 2\n },\n {\n name: 'Quoted',\n data: bar2,\n type: 'column',\n order: 3\n },\n ],\n options: {\n ...updatedState.options,\n\n xaxis: {\n categories: date,\n\n labels: {\n show: true,\n }\n\n },\n dataLabels: {\n enabled: false\n },\n colors: [`${theme.palette.secondary.main}`, `${theme.palette.primary.main}`, `${theme.palette.secondary.main}`],\n }\n }\n })\n\n\n\n }\n\n }\n if (filterData === \"value\") {\n\n if (twelveMonthsBarData != []) {\n for (let i = 0;i < twelveMonthsBarData.length;i++) {\n bar1.push(twelveMonthsBarData[i].value)\n date.push(moment(twelveMonthsBarData[i].date).format(\"MMM D\"))\n\n\n }\n }\n if (twelveMonthsLineData.length > 0) {\n for (let l = 0;l < twelveMonthsLineData.length;l++) {\n line.push(parseInt(twelveMonthsLineData[l].previous_year_data))\n }\n }\n\n if (bar1.length > 0 && !checked) {\n setColumn((prevState) => {\n\n\n return {\n // ...updatedState,\n series: [\n\n {\n name: 'Value',\n data: bar1,\n\n },\n\n ],\n options: {\n\n chart: {\n type: 'bar',\n\n stacked: false,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n },\n\n },\n xaxis: {\n categories: date,\n tickAmount: 5,\n labels: {\n show: true,\n }\n\n },\n legend: {\n show: false\n },\n dataLabels: {\n enabled: false\n },\n colors: [`${theme.palette.secondary.main}`],\n }\n }\n })\n\n\n\n }\n\n else if (bar1.length > 0 && checked) {\n\n\n setState((prevState) => {\n\n const updatedState = _.clone(prevState);\n\n return {\n ...updatedState,\n series: [\n\n {\n name: 'Previous line',\n data: line,\n type: 'line',\n order: 1\n\n },\n {\n name: 'Value',\n data: bar1,\n type: 'column',\n order: 2\n },\n\n ],\n options: {\n ...updatedState.options,\n chart: {\n type: 'line',\n\n stacked: true,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n },\n\n },\n xaxis: {\n categories: date,\n\n labels: {\n show: true,\n }\n\n },\n legend: {\n show: false\n },\n dataLabels: {\n enabled: false\n },\n colors: [`${theme.palette.secondary.main}`, `${theme.palette.secondary.main}`],\n }\n }\n })\n\n\n\n }\n\n\n\n }\n\n\n\n\n\n\n }, [twelveMonthsBarData, twelveMonthsLineData])\n\n\n\n useMemo(() => {\n let totalValue = quotesData?.seven_days + quotesData?.seven_to_thirty_days + quotesData?.thirty_days\n let quotePercentage = (quotesData?.seven_days / totalValue) * 100\n\n if (totalValue === 0) {\n setQuotesPercentage(totalValue)\n }\n else {\n setQuotesPercentage(Math.floor(quotePercentage))\n }\n }, [quotesData?.seven_days, quotesData?.seven_to_thirty_days, quotesData?.thirty_days])\n\n\n useMemo(() => {\n let totalValue = commercialData?.approved + commercialData?.pending + commercialData?.no_position\n let quotePercentage = (commercialData?.approved / totalValue) * 100\n\n if (totalValue === 0) {\n setCommercialPercentage(totalValue)\n }\n else {\n setCommercialPercentage(Math.floor(quotePercentage))\n }\n }, [commercialData?.approved, commercialData?.pending, commercialData?.no_position])\n\n\n const handleLocalTime = (date) => {\n\n\n let localTime = moment.utc(date, \"DD/MM/YYYY HH:mm\").local().format(\"DD/MM/YYYY HH:mm\");\n\n\n return localTime ? localTime : \" - \"\n\n }\n\n\n\n\n\n\n\n\n\n return (\n\n
\n \n \n \n \n {/* Customer(All) */}\n {customerDetails?.map((option, index) => {\n return \n \n \n \n \n \n \n { filterCustomerChangeHandler(e) }}\n name={option.name} />}\n />\n \n\n \n \n \n })}\n \n \n\n \n \n {\n setAnchorBase(null)\n setBaseButton(!baseButton)\n }}\n // anchorOrigin={{\n // vertical: 'bottom',\n // horizontal: 'left',\n // }}\n style={{ marginTop: '40px' }}\n PaperProps={{\n style: {\n maxHeight: ITEM_HEIGHT * 4.5,\n width: '39ch',\n position: 'absolute',\n top: '260px',\n },\n }}\n >\n {\n bases?.map((base, index) => {\n return \n \n \n \n \n \n \n handleChange(e, option.id)}\n onChange={(e) => { filterChangeHandler(e, index) }}\n name={base.station} />}\n // name=\"base\"\n />\n \n \n \n \n }\n\n )}\n \n \n \n {/* 1st row*/}\n
\n\n Completed orders\n \n\n \n \n Month to Date \n\n \n\n\n\n\n Completed Orders\n\n\n \n \n\n {completedOrders?.current_month_count || 0}\n At {currentDate || \" -\"}\n \n \n\n = 0 ? \"#4FC605\" : \"#FF0202\" }}>\n\n {completedOrders?.partial_month_count_percent >= 0 ? : }\n {completedOrders?.partial_month_count_percent ? Math.abs(completedOrders?.partial_month_count_percent).toFixed(2) : 0} %\n\n \n {completedOrders?.prev_month_partial_count || 0} @ {previousDate || \"-\"}\n\n \n \n = 0 ? \"#4FC605\" : \"#FF0202\" }}>\n\n {completedOrders?.full_month_count_percent >= 0 ? : }\n\n {completedOrders?.full_month_count_percent ? Math.abs(completedOrders?.full_month_count_percent).toFixed(2) : 0}%\n\n\n\n \n {completedOrders?.prev_month_full_count || 0} {previousLastDate}\n \n\n \n\n \n\n
\n\n\n \n Completed Values\n \n \n {completedValues?.current_month_amount || 0}\n At {currentDate || \" -\"}\n\n \n \n = 0 ? \"#4FC605\" : \"#FF0202\" }}>\n\n {completedValues?.partial_month_amount_percent >= 0 ?\n : }{completedValues?.partial_month_amount_percent ? Math.abs(completedValues?.partial_month_amount_percent).toFixed(2) : 0}% \n\n {completedValues?.prev_month_partial_amount || 0} {previousDate || \"-\"}\n \n\n \n \n = 0 ? \"#4FC605\" : \"#FF0202\" }}>\n {completedValues?.full_month_amount_percent >= 0 ?\n :\n }\n {completedValues?.full_month_amount_percent ? Math.abs(completedValues?.full_month_amount_percent).toFixed(2) : 0} %\n\n\n\n \n {completedValues?.prev_month_full_amount || 0} {previousLastDate}\n \n\n \n\n \n\n
\n\n\n\n\n
\n\n\n {/* Last 12 months */}\n\n \n \n\n\n \n Last 12 Months\n \n {\n\n setFilterData(e.target.value)\n }}\n id=\"tags-standard\"\n name=\"\"\n value={filterData}\n defaultValue={\"otp\"}\n input={}\n >\n OTP\n Type\n Value\n\n \n \n \n \n\n {checked ? filterData === \"otp\" ? <>\n \n \n Previous Total\n \n \n \n On time\n \n \n \n Revised\n\n \n \n \n Late\n\n \n\n\n\n\n : filterData === \"type\" ? <>\n \n \n \n Previous Total\n \n \n \n ADHOC\n\n \n \n \n Quoted\n\n \n\n \n : filterData === \"value\" ? <>\n \n \n\n \n \n\n \n Previous Total\n\n \n \n \n Value\n\n \n\n : \" \" : \"\"}\n {!checked ? filterData === \"otp\" ? <>\n \n \n \n On time\n \n \n \n Revised\n\n \n \n \n Late\n\n \n\n\n\n\n : filterData === \"type\" ? <>\n \n \n\n \n \n \n ADHOC\n\n \n \n \n Quoted\n\n \n\n : filterData === \"value\" ? <>\n \n \n\n \n \n\n \n \n \n Value\n\n \n\n : \"\" : \"\"}\n\n\n \n \n\n \n Compare previous year \n \n \n setChecked(e.target.checked)}\n color=\"success\"\n />\n }\n\n />\n \n \n\n\n \n\n {loading ? : \n\n\n\n {!checked &&\n }\n\n {checked && }\n\n\n }\n\n\n \n\n\n\n \n\n
\n\n
\n\n\n\n In Progress Orders\n\n \n \n \n Order Stage\n \n\n \n \n\n\n \n\n\n\n \n \n \n \n\n \n\n WIP\n\n \n Last updated :{handleLocalTime(wipData?.wip_updated_at)}\n \n\n\n \n \n \n {wipData?.jobs || 0}\n \n \n Jobs\n \n\n \n {wipData?.wip_value || 0}\n \n \n WIP Value\n \n \n \n {wipData?.wip_labour ? parseFloat(wipData?.wip_labour).toFixed(2) : 0}\n {wipData?.wip_parts ? parseFloat(wipData?.wip_parts).toFixed(2) : 0}\n {wipData?.wip_services ? parseFloat(wipData?.wip_services).toFixed(2) : 0}\n {wipData?.wip_equipment ? parseFloat(wipData?.wip_equipment).toFixed(2) : 0}\n\n \n \n \n \n\n \n \n\n \n\n \n \n \n\n\n \n \n\n \n\n\n Open Quotes\n\n \n {!progressLoading ?\n \n \n 30 Days\"]}\n\n\n />\n
\n {quotesPercentage ? quotesPercentage : 0}{\"%\"}\n
\n
\n \n \n\n {\n setAction(\"workshop\")\n setCurrentSelection({ graph: \"open_quotes \", key: \"seven_days\" })\n }\n }>{quotesData?.seven_days || 0}\n < 7 Days\n\n \n \n\n {\n setAction(\"workshop\")\n setCurrentSelection({ graph: \"open_quotes \", key: \"seven_to_thirty_days\" })\n }\n }>{quotesData?.seven_to_thirty_days || 0}\n 7 - 30 Days\n\n \n \n\n {\n setAction(\"workshop\")\n setCurrentSelection({ graph: \"open_quotes \", key: \"thirty_days\" })\n }\n }>{quotesData?.thirty_days || 0}\n > 30 Days\n\n \n\n \n
: }\n\n\n
\n\n\n\n
\n \n\n\n \n\n \n\n\n Approved Positions\n\n \n {!progressLoading ?\n \n \n \n
\n {commercialPercentage ? commercialPercentage : 0}{\"%\"}\n
\n
\n \n \n\n {\n setAction(\"workshop\")\n setCurrentSelection({ graph: \"open_commercial_positions\", key: \"approved\" })\n }\n\n\n }>{commercialData?.approved || 0}\n Approved\n\n \n \n\n {\n setAction(\"workshop\")\n setCurrentSelection({ graph: \"open_commercial_positions\", key: \"pending\" })\n\n }\n\n\n }>{commercialData?.pending || 0}\n Pending\n\n \n \n\n {\n setAction(\"workshop\")\n setCurrentSelection({ graph: \"open_commercial_positions\", key: \"no_position\" })\n }\n\n\n }>{commercialData?.no_position || 0}\n No Position\n\n \n\n \n
: }\n\n\n
\n\n\n\n\n
\n\n
\n\n\n\n \n \n \n\n\n
\n\n
\n\n {action && action === \"workshop\" && {\n setAction(\"\")\n setCurrentSelection({ graph: \"\", key: \"\" })\n }}\n order_type_name={\"Production\"}\n currentSelections={currentSelection}\n getDetails={getDetails}\n tabID={21}\n permission={props?.permission}\n selectedBase={selectedBase}\n />\n }\n
\n\n )\n}\n","import { Typography } from '@material-ui/core'\nimport React, { useState, useEffect } from 'react'\nimport { useMemo } from 'react'\nimport ReactApexChart from 'react-apexcharts'\n\n\nfunction Chart(props) {\n const { value1, value2, value3, labels, total } = props\n const [values, setValues] = useState([])\n const [label, setlabel] = useState([])\n const [orgColor, setOrgColor] = useState([])\n\n useMemo(() => {\n if (value1 !== undefined) {\n values.push(value1)\n }\n if (value2 !== undefined) {\n values.push(value2)\n }\n if (value3 !== undefined) {\n values.push(value3)\n }\n setValues(values)\n\n }, [value1, value2, value3])\n\n // console.log(\"props=========\", values)\n useMemo(() => {\n if (labels !== undefined || labels !== []) {\n // console.log(\"label=======\", labels)\n for (let i = 0;i < labels.length;i++) {\n label.push(labels[i])\n }\n }\n setlabel(label)\n }, [labels])\n const [state, setState] = useState({\n series: values,\n options: {\n chart: {\n size: '100px',\n type: 'donut',\n },\n labels: label,\n plotOptions: {\n pie: {\n donut: {\n size: '75%',\n labels: {\n show: true,\n name: {\n offsetY: -10,\n label: 'Calendar Actions',\n\n },\n\n total: {\n show: true,\n showAlways: true,\n label: 'Calendar Actions',\n fontSize: '12px',\n formatter: function (val) {\n return total\n }\n }\n }\n }\n }\n },\n dataLabels: {\n\n formatter(val, opts) {\n const name = opts.w.globals.labels[opts.seriesIndex]\n return [name, opts.w.config.series[opts.seriesIndex]]\n },\n },\n\n colors: ['#4FC605', '#FFB300', '#FF0202'],\n dataLabels: {\n enabled: false\n },\n legend: {\n show: false,\n position: 'bottom'\n },\n\n responsive: [{\n breakpoint: 480,\n options: {\n chart: {\n width: 200\n },\n legend: {\n show: false,\n position: 'bottom'\n }\n }\n }]\n }\n })\n\n const [totalState, setTotalState] = useState({\n series: [1, 0, 0],\n options: {\n chart: {\n size: '100px',\n type: 'donut',\n },\n labels: ['0', '0', '0'],\n plotOptions: {\n pie: {\n donut: {\n size: '75%',\n labels: {\n show: true,\n name: {\n offsetY: -10,\n label: 'Calendar Actions',\n\n },\n\n total: {\n show: true,\n showAlways: true,\n label: 'Calendar Actions',\n fontSize: '12px',\n formatter: function (val) {\n return total\n }\n }\n }\n }\n }\n },\n colors: ['#dddddd', '#dddddd', '#dddddd'],\n dataLabels: {\n enabled: false\n },\n legend: {\n show: false,\n position: 'bottom'\n },\n\n responsive: [{\n breakpoint: 480,\n options: {\n chart: {\n width: 200\n },\n legend: {\n show: false,\n position: 'bottom'\n }\n }\n }]\n }\n })\n\n\n\n return (\n <>\n \n \n )\n}\nexport default React.memo(Chart)","import React, { useState, useEffect } from 'react'\nimport ReactBarChart from 'react-apexcharts'\n\nfunction BarChart(props) {\n const { value, color } = props\n\n const [values, setValues] = useState([])\n\n const [columnState, setColumnState] = useState({\n series: [{\n data: value\n }],\n\n options: {\n chart: {\n height: 350,\n type: 'bar',\n toolbar: {\n show: false\n }\n },\n plotOptions: {\n bar: {\n\n dataLabels: {\n enabled: false, // top, center, bottom\n },\n }\n },\n colors: color,\n dataLabels: {\n enabled: false,\n offsetY: -20,\n style: {\n fontSize: '12px',\n // colors: ['#4FC605']\n }\n },\n\n xaxis: {\n categories: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],\n position: 'bottom',\n axisBorder: {\n show: false\n },\n axisTicks: {\n show: false\n },\n },\n grid: {\n borderColor: \" \",\n row: {\n colors: [\"transparent\", \"transparent\"], // takes an array which will be repeated on columns\n opacity: 0.5,\n },\n },\n tooltip: {\n // theme: 'dark',\n x: {\n show: true\n },\n y: {\n title: {\n formatter: function () {\n return ''\n }\n }\n }\n },\n yaxis: {\n axisBorder: {\n show: false\n },\n axisTicks: {\n show: false,\n },\n labels: {\n show: false,\n\n },\n tooltip: {\n enabled: false,\n }\n\n },\n\n },\n\n\n })\n\n setTimeout(() => {\n setColumnState({\n series: [\n {\n data: value\n }\n ]\n });\n }, 4000);\n\n return (\n <>\n \n \n )\n}\nexport default React.memo(BarChart)","import React, { useContext, useEffect, useMemo, useReducer, useState } from \"react\";\nimport {\n Box,\n FormControl,\n IconButton,\n InputBase,\n makeStyles,\n MenuItem,\n Select, Typography, Paper, useTheme, Grid\n} from \"@material-ui/core\";\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport MaterialTable from \"material-table\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\n// import React, { useCallback } from 'react';\nimport { FullScreen, useFullScreenHandle } from \"react-full-screen\";\nimport { WorkshopDashboardServices } from \"lib/services/api/dashboard/workshop\";\nimport { format24HrDateOnly, getBaseStationID, getOrganisationId } from \"lib/utils/common_utils\";\nimport TableAction from \"actions/table_actions\";\nimport Chart from \"./Chart\";\nimport ChartLoader from \"./ChartLoader\";\nimport BarChart from \"./BarChart\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport FullScreenIcon from 'assets/display-size.svg'\nimport { useRef } from \"react\";\n\n\nconst useStyles = makeStyles((theme) => ({\n\n wrapper: {\n // backgroundColor: \"#F5F5F5\",\n width: 'auto',\n height: 'auto',\n backgroundSize: 'cover',\n padding: theme.spacing(2, 3),\n border: \"1px solid transparent\",\n margin: \"1% 0\",\n },\n pictureBox: {\n paddingTop: \"60px\",\n },\n\n quotePercentageText: {\n marginTop: ' -112px',\n marginBottom: ' 53px',\n textAlign: ' center',\n fontSize: '22px',\n color: theme.palette.secondary.main\n },\n centerLabel: {\n textAlign: ' center',\n marginTop: ' -50px',\n marginBottom: '66px',\n color: '#4D4F5C',\n fontSize: '12px'\n },\n inStockLabel: {\n textAlign: \"left\", paddingTop: '7px', fontSize: '12px', paddingLeft: '5px'\n },\n chartLabelText: {\n textAlign: \"right\",\n paddingLeft: '5px',\n fontSize: '22px',\n paddingRight: '11px'\n },\n orgLogo: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'absolute',\n left: '40px',\n top: '40px',\n right: '40px',\n '& img': {\n maxWidth: '300px',\n maxHeight: '175px'\n }\n },\n}));\n\nfunction Storage() {\n const theme = useTheme()\n const classes = useStyles()\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const [actionListData, setActionListData] = useState([])\n const [actionLoading, setActionLoading] = useState(false)\n const [storedData, setStoredData] = useState({})\n\n const [workloadData, setworkloadData] = useState([])\n const [pieChartValues, setPieChartValues] = useState({})\n const [chartLoading, setChartLoading] = useState(false)\n const [bases, setBases] = useState([]);\n const message = useContext(ToastMessageContext);\n const [filterData, setFilterData] = useState({ base: getBaseStationID() || \"\" });\n\n const [page, setPage] = useState(0);\n const [totalCount, setTotalCount] = useState(5);\n const [pageSize, setPageSize] = useState(10);\n const [totalValue, setTotalvalue] = useState({})\n const [fullScreenState, setFullScreenState] = useState(false)\n const id = useRef(null);\n\n const orgLogo = sessionStorage.getItem('logo') || \"/mro-pro-logo.png\";\n\n useEffect(() => {\n document.addEventListener('fullscreenchange', exitHandler);\n document.addEventListener('webkitfullscreenchange', exitHandler);\n document.addEventListener('mozfullscreenchange', exitHandler);\n document.addEventListener('MSFullscreenChange', exitHandler);\n\n function exitHandler() {\n if (!document.fullscreenElement && !document.webkitIsFullScreen && !document.mozFullScreen && !document.msFullscreenElement) {\n clearInterval(id.current)\n setPage(0)\n getStorageActionDueDetails()\n getStorageDetails()\n getBaseStation()\n setFullScreenState(false)\n }\n }\n }, [fullScreenState])\n\n\n //api calll\n const getStorageDetails = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n ...filterData\n }\n setChartLoading(true)\n await WorkshopDashboardServices.getStorageDetails(params).then((response) => {\n setStoredData(response.data.stored_components)\n setworkloadData(Object.values(response.data.workload))\n\n setPieChartValues(response.data.actions_due)\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setChartLoading(false)\n })\n }\n\n useEffect(() => {\n getStorageDetails()\n }, [page, pageSize, filterData])\n\n useEffect(() => {\n getBaseStation()\n }, [])\n\n\n useMemo(() => setTotalvalue(pieChartValues.above_ten_days + pieChartValues.two_days + pieChartValues.ten_days), [pieChartValues])\n const getBaseStation = () => {\n const params = {\n organisation_id: getOrganisationId()\n }\n MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n setBases(res.data);\n }\n // setLoading(false);\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n // setLoading(false);\n });\n };\n\n const getStorageActionDueDetails = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n page: page + 1,\n limit: pageSize,\n ...filterData\n }\n setActionLoading(true)\n await WorkshopDashboardServices.getStorageActionDueListing(params).then((response) => {\n setActionListData(response.data)\n setTotalCount(response.total_count);\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n }).finally(() => {\n setActionLoading(false)\n })\n }\n useEffect(() => {\n getStorageActionDueDetails()\n }, [page, pageSize, filterData])\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n rowStyle: {\n height: \"40px\",\n maxHeight: 40,\n }\n };\n\n\n\n\n\n const colors = { amber: \"#FFB300\", green: \"#4FC605\", red: \"#FF0202\" }\n const columns = [\n {\n title: \"Days\",\n field: \"due_days\",\n headerStyle: {\n paddingLeft: 10,\n },\n cellStyle: {\n // paddingLeft: 15,\n textAlign: 'center'\n },\n render: (rowData) => (\n
10 ? colors.green : rowData.due_days <= 2 ? colors.red : colors.amber, fontWeight: 600 }}>\n {rowData.due_days}\n
\n )\n\n },\n {\n title: \"Due\",\n field: \"due\",\n render: (rowData) => (rowData.due ? format24HrDateOnly(rowData.due) : '-')\n\n },\n {\n title: \"MSN\",\n field: \"serial_number\",\n\n }, {\n title: \"Location\",\n field: \"location\",\n\n }, {\n title: \"Storage Order\",\n field: \"order_number\",\n\n },\n {\n title: \"Part #\",\n field: \"part_number\",\n\n },\n {\n title: \"Action #\",\n field: \"action_number\",\n\n },\n {\n title: \"Description\",\n field: \"title\",\n width: '60%',\n headerStyle: {\n // width: '60%',\n textAlign: \"left\"\n },\n cellStyle: {\n width: '40%',\n }\n\n }\n\n ];\n const handleFilterChange = (keyItem, value) => {\n TableAction.setPage(dispatch, 0);\n setFilterData((prevState) => ({ ...prevState, [keyItem]: value }));\n };\n\n\n const handle = useFullScreenHandle();\n //10 second delay for automatic pagination\n const handleInterval = (i) => {\n return new Promise((resolve, reject) => {\n id.current = setInterval(() => resolve(i), 10000)\n })\n }\n\n const handleFunc = async () => {\n setFullScreenState(true)\n let i = 1\n while (i != Math.ceil(totalCount / 10)) {\n let result = await handleInterval(i)\n i++\n setPage(result)\n if (\n (result === 1 && totalCount <= 20) ||\n (result === 2 && totalCount <= 30) ||\n (result === 3 && totalCount <= 40) ||\n (result === 4 && totalCount <= 50) ||\n (result === 5 && totalCount <= 60)\n ) {\n i = 0; continue;\n }\n }\n }\n\n const handleChangePage = (page) => {\n if (fullScreenState) {\n console.log(\"do nothing\")\n } else {\n setPage(page)\n }\n }\n //rgba(99, 56, 244, 0.34), rgba(67, 22, 80, 0.34))\n return (\n \n
\n
\n {fullScreenState &&
\n \n \n \n
}\n\n
\n
\n\n {!fullScreenState && \n }\n onChange={(e) =>\n handleFilterChange(\"base\", e.target.value)\n }\n\n >\n Base(All)\n {\n bases?.map((base) => (\n \n {base.station}\n \n ))}\n \n }\n \n {!fullScreenState && \n {\" \"}\n {\" \"}\n }\n \n
\n
\n \n \n \n \n\n STORED COMPONENTS\n \n {chartLoading ? :\n <>\n \n\n {storedData.serviceable && storedData.unserviceable ? storedData.serviceable + storedData.unserviceable : 0}\n \n \n \n \n \n {storedData.serviceable}\n Serviceable\n\n \n {storedData.unserviceable}\n Unserviceable\n\n \n \n \n }\n \n \n \n\n\n \n {chartLoading ? :\n <>\n \n \n\n \n\n 10 Days\", \"3-10 Days\", \"0-2 Days\"]}\n labelName={\"Calendar Actions\"}\n total={totalValue ? totalValue : 0}\n />\n\n\n \n {/*
\n {totalValue ? totalValue : 0}\n Calendar Actions\n
*/}\n\n
\n \n \n \n ACTIONS DUE\n \n\n {pieChartValues.two_days}\n\n 0-2 Days\n\n\n \n \n\n {pieChartValues.ten_days}\n\n 3-10 Days\n\n\n \n \n\n \n {pieChartValues.above_ten_days}\n\n > 10 Days\n\n\n \n\n \n\n
\n }\n
\n \n \n \n\n 14 DAY WORKLOAD\n \n {chartLoading ? :\n \n\n \n\n }\n \n \n
\n
\n \n \n ACTIONS DUE\n \n }\n isLoading={actionLoading}\n data={actionListData || []}\n columns={columns}\n options={tableOptions}\n onChangePage={(page) => {\n handleChangePage(page)\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n onSearchChange={(search) => {\n TableAction.setSearchText(dispatch, search);\n }}\n totalCount={totalCount}\n page={page}\n />\n \n
\n
\n
\n
\n
\n )\n}\n\nexport default Storage","import React, { useReducer, useState, useEffect, useContext } from 'react'\nimport tableReducer, { INITIAL_TABLE_STATE } from \"reducers/table_reducer\";\nimport ViewIcon from \"@material-ui/icons/Visibility\";\nimport MaterialTable from \"material-table\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport {\n Box,\n IconButton,\n Typography,\n Button,\n Grid,\n makeStyles\n} from \"@material-ui/core\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport { format24HrDateOnly, getOrganisationId } from \"lib/utils/common_utils\";\nimport { WorkshopDashboardServices } from 'lib/services/api/dashboard/workshop';\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport BoxpTableAction from \"actions/boxp_table_actions\";\nimport TabDetails from 'views/Operations/Workshop/TabDetails';\nimport moment from \"moment\";\nimport LinearProgressBar from 'components/linear_progress_bar';\nimport whiteSettingIcon from \"../../../../assets/icons/white-settings.png\";\nimport MROButton from 'components/buttons';\nimport MessagePopup from \"components/universal/messagePopup\";\nimport RedHandIcon from \"assets/red_hand.png\";\nimport useDebounce from 'lib/utils/debounce';\nimport InfoIcon from '@material-ui/icons/Info'\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport greenCheckIcon from \"assets/green check.png\";\nimport StatusPopup from 'views/Operations/Workshop/Maintenance/StatusPopup';\nimport PriorityHighIcon from '@material-ui/icons/PriorityHigh';\nimport ApprovalVar from './ApprovalVar';\nimport EstimationDeparture from './EstimationDeparture';\nconst useStyles = makeStyles((theme) => ({\n\n runButton: {\n backgroundColor: \"#4FC605\", color: \"white\",\n '&:hover': {\n backgroundColor: \"#4FC605\",\n opacity: 0.75,\n color: \"white\"\n }\n }\n\n}));\n\n\n\n\nfunction CommericalTop(props) {\n const classes = useStyles()\n const { filterData, startDate, endDate, selectedBase, selectedFilters, actions, setRefresh } = props\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const [loading, setLoading] = useState(false);\n\n const message = useContext(ToastMessageContext);\n const [totalCount, setTotalCount] = useState(5);\n const { data, inProgress } = tableState;\n const [pageSize, setPageSize] = useState(5);\n const [page, setPage] = useState(0);\n const [commercialOverviewData, setCommercialOverviewData] = useState([])\n const [currentSelection, setCurrentSelection] = useState({})\n const [action, setAction] = useState(false);\n const [runTable, setRunTable] = useState(false)\n const [searchText, setSearchText] = useState(\"\")\n const debounceVal = useDebounce(searchText)\n\n // console.log(\"filters======\", selectedBase, selectedFilters)\n const getCommercialOverview = () => {\n const params = {\n order_type: \"Maintenance\",\n page: page + 1,\n organisation_id: getOrganisationId(),\n limit: pageSize,\n // start_date: startDate ? filterData.startdate : moment().subtract(1, 'months').format(\"YYYY-MM-DD\"),\n // end_date: endDate ? filterData.enddate : moment().format(\"YYYY-MM-DD\"),\n search: debounceVal\n }\n selectedBase.forEach((item, index) => params[`base_filter[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`customer[${[index]}]`] = item)\n setLoading(true)\n WorkshopDashboardServices.getCommercialOverView(params).then((response) => {\n\n setCommercialOverviewData(response.data)\n\n\n setTotalCount(response.total_count);\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n\n useEffect(() => {\n\n getCommercialOverview()\n\n }, [page, pageSize, selectedBase, totalCount, debounceVal, selectedFilters])\n\n\n\n const handleLocalTime = (date) => {\n\n\n let localTime = moment.utc(date, \"DD/MM/YYYY HH:mm\").local().format(\"DD/MM/YYYY HH:mm\");\n\n\n return localTime ? localTime : \" - \"\n\n }\n\n const renderIcons = (order_state, rowData) => {\n if (order_state >= 0 && order_state <= 9) {\n return (\n \n {\n setAction(\"statusPopup\");\n setCurrentSelection(rowData)\n }}>\n \n \n )\n } else if (order_state === 10) {\n return (\n \n \n \n \n )\n } else if (order_state === 11 || order_state === 12) {\n return (\n \n \n \n \n )\n }\n }\n\n\n const handleCommercialtableUpdate = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_type: \"Maintenance\",\n\n }\n await WorkshopDashboardServices.getUpdateCommercialOverView(params).then((res) => {\n setRunTable(true)\n getCommercialOverview()\n setRefresh(true)\n }).catch(() => {\n\n }).finally(() => {\n if (!loading) {\n setTimeout(() => {\n setRunTable(false)\n }, 2000)\n\n }\n })\n\n }\n\n\n\n\n const handleActions = (rowData) => {\n setAction(\"viewCommerial\");\n setCurrentSelection(rowData);\n getMaintenanceOrderList()\n }\n\n const getMaintenanceOrderList = () => {\n const params = {\n page: page + 1,\n limit: pageSize,\n order_type: \"Maintenance\",\n organisation_id: getOrganisationId(),\n\n };\n // selectedBase.forEach((item, index) => params[`base_filter[${[index]}]`] = item)\n BoxpTableAction.getList(dispatch, message, params, \"OrderList\");\n };\n\n\n const renderZeroState = (value) => {\n return (\n\n
\n \n
\n )\n\n\n }\n\n\n\n\n\n\n const columns = [\n {\n title: \"Order #\",\n field: \"order_number\",\n width: '8%',\n headerStyle: {\n textAlign: 'left',\n paddingLeft: 24\n },\n cellStyle: {\n textAlign: 'left',\n paddingLeft: 24,\n width: '8%',\n },\n render: (rowData) => {\n handleActions(rowData)\n\n }}>\n {rowData?.order_number}\n \n\n },\n {\n title: \"Customer\",\n field: \"customer\",\n width: '12%',\n headerStyle: {\n textAlign: 'left',\n\n },\n cellStyle: {\n width: '12%',\n textAlign: 'left'\n },\n },\n {\n title: \"PO#\",\n field: \"cus-ref\",\n headerStyle: {\n textAlign: 'left',\n },\n cellStyle: {\n textAlign: 'left',\n },\n },\n {\n title: \"Description\",\n field: \"description\",\n width: '15%',\n headerStyle: {\n width: '15%',\n textAlign: 'left',\n },\n cellStyle: {\n width: '15%',\n textAlign: 'left',\n },\n\n },\n {\n title: \"Work/Status\",\n field: \"work_status\",\n headerStyle: {\n textAlign: 'left',\n }, cellStyle: {\n\n textAlign: 'left',\n },\n }, {\n title: \"Status\",\n field: \"\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n render: (rowData) => renderIcons(rowData?.order_state_id, rowData),\n },\n {\n title: \"ETD\",\n field: \"etd\",\n render: (rowData) => rowData?.etd ? {\n setAction(\"etd\")\n setCurrentSelection(rowData)\n }}>\n {format24HrDateOnly(rowData?.etd)}\n\n : \"\",\n },\n {\n title: \"TAT\",\n field: \"tat\",\n headerStyle: {\n textAlign: 'left',\n },\n render: (rowData) =>\n
\n \n
\n },\n {\n title: \"Action Progress\",\n field: \"stages\",\n headerStyle: {\n textAlign: 'left',\n },\n render: (rowData) =>\n
\n \n
\n\n },\n {\n title: \"Stage Progress\",\n field: \"stages\",\n headerStyle: {\n textAlign: 'left',\n },\n render: (rowData) =>\n
\n \n
\n }, {\n title: \"Labour\",\n field: \"labour\",\n\n\n render: (rowData) =>\n
\n 0 && Number(rowData.labour) < 75) ? '#4FC605' : (Number(rowData.labour) >= 75 && Number(rowData.labour) < 100) ? '#FFB300' : Number(rowData.labour) >= 100 ? '#FF0202' : '#fff'}\n color={Number(rowData.labour) >= 100 ? \"#FFFFFF\" : \"#4D4F5C\"}\n />\n
\n },\n {\n title: \"Approval Var\",\n field: \"variance\",\n render: (rowData) =>\n \n \n 100 ? \"#FF0202\" : \"#4FC605\" }} onClick={() => {\n setAction(\"approval\")\n setCurrentSelection(rowData)\n }}>\n\n {rowData?.variance ? rowData?.variance : \"\"}\n\n \n \n \n {(rowData?.labour > 100 || rowData?.parts === null || rowData?.parts > 100 || rowData?.services === null || rowData?.services > 100 || rowData?.equipment === null || rowData?.equipment > 100 || rowData?.overall === null || rowData?.overall > 100) ? : \"\"}\n \n \n\n },\n\n\n\n ];\n\n\n\n\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: true,\n searchText: debounceVal,\n\n };\n return (\n \n\n \n \n In Progress Overview\n \n Last updated: {handleLocalTime(commercialOverviewData.last_updated_at) ?? '-'} \n \n }\n isLoading={loading}\n data={commercialOverviewData.listing || []}\n columns={columns}\n options={tableOptions}\n onChangePage={(page) => {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n onSearchChange={(search) => {\n setLoading(true)\n setPage(0);\n setSearchText(search);\n\n }}\n totalCount={totalCount}\n page={page}\n actions={[\n {\n icon: 'Add',\n tooltip: 'Add User',\n isFreeAction: true,\n }\n ]}\n components={{\n Actions: props => (\n \n {\" \"}\n }\n variant=\"contained\"\n className={classes.runButton}\n onClick={() => {\n setRunTable(true)\n setPage(0)\n handleCommercialtableUpdate()\n }}\n >\n Refresh Data\n \n \n ),\n }}\n />\n {\n action && action !== \"statusPopup\" && action !== \"approval\" && action !== \"etd\" && (\n setAction(null)}\n action={\"Unlock\"}\n currentSelection={currentSelection}\n tabId={20}\n order_type={1}\n setAction={setAction}\n getMaintenanceOrderList={getCommercialOverview}\n type={\"dashboardCommercial\"}\n // paginationReset={paginationReset}\n />\n )\n }\n {runTable &&\n setRunTable(false)}\n open={runTable}\n topTitle={\"Updating Commercial Overview table\"}\n bottomTitle={\"Please be patient, this will take a few moments\"}\n />}\n {action !== \"Send Quote \" && action !== \"Unlock\" && action === \"statusPopup\" &&\n setAction(null)} workshop_order_id={currentSelection?.id} />\n }\n {action !== \"Send Quote \" && action !== \"Unlock\" && action !== \"statusPopup\" && action === \"approval\" && setAction(null)} currentSelection={currentSelection} orderType={\"Maintenance\"} />}\n {action !== \"Send Quote \" && action !== \"Unlock\" && action !== \"statusPopup\" && action === \"etd\" && setAction(null)} currentSelection={currentSelection} />}\n \n )\n}\n\nexport default React.memo(CommericalTop)","import {\n FormControl,\n IconButton,\n InputBase,\n makeStyles,\n MenuItem,\n Menu,\n Switch,\n Select, FormControlLabel, Grid, Chip, Typography, Divider, Box, CircularProgress, Button,\n Paper,\n TextField\n} from \"@material-ui/core\";\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport React, { useContext, useEffect, useReducer, useState, useMemo } from \"react\";\nimport ArrowDown from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUp from '@material-ui/icons/ArrowDropUp';\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\nimport moment, { months } from \"moment\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { alpha, useTheme } from \"@material-ui/core\";\n// Range picker\nimport { DatePicker } from \"antd\";\nimport PositiveSwitch from \"components/form_components/switch\";\nimport _without from \"lodash/without\";\nimport ChartLoader from \"../Storage/ChartLoader\";\nimport { MaintenanceServices } from \"lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation\";\nimport { format24HrDateTime, getBaseStationID, getOrganisationId } from \"lib/utils/common_utils\";\nimport ReactApexChart from \"react-apexcharts\";\nimport Chart from \"./Chart New\"\nimport CommericalTable from \"./CommericalTable\"\nimport CameraIcon from \"assets/Dashboard/Camera.svg\"\nimport PartsIconGrey from \"assets/maint/Parts/partsIconGray.png\";\nimport ServicesIconGray from \"assets/maint/Services/services_icon_grey.png\";\nimport SpecEquipIconGrey from \"assets/maint/SpecEquip/specEquipGray.png\";\nimport { WorkshopDashboardServices } from \"lib/services/api/dashboard/workshop\";\nimport _ from \"lodash\";\nimport StoppedOrders from \"./StoppedOrders\";\nimport ArrowUpwardIcon from 'assets/Dashboard/arrowupwardGreen.svg'\nimport ArrowDownwardIcon from 'assets/Dashboard/arrowdownwardRed.svg'\nimport StopIcon from '@material-ui/icons/Stop';\nimport Line from '@material-ui/icons/Minimize';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: \"95%\",\n margin: \"-1% 2%\",\n paddingLeft: '13px',\n '&.MuiStepConnector-root': {\n borderTopWidth: '10px'\n }\n },\n\n formWrapper: {\n width: \"95%\",\n margin: \"0% 3%\",\n\n },\n\n monthText: {\n fontSize: '12px',\n marginTop: '-9px',\n marginLeft: \"11px\",\n width: \"104px\",\n background: \"#fff\",\n\n },\n secondaryColor: {\n color: theme.palette.secondary.main\n\n },\n quotePercentageText: {\n marginTop: ' -87px',\n marginBottom: ' 53px',\n textAlign: ' center',\n fontSize: '22px',\n color: \"#4FC605\",\n paddingLeft: \"9px\"\n },\n centerLabel: {\n textAlign: ' center',\n marginTop: ' -50px',\n marginBottom: '66px',\n color: '#4D4F5C',\n fontSize: '12px'\n },\n quoteText: {\n fontSize: '12px',\n paddingTop: \"4px\",\n paddingLeft: \"7px\",\n textAlign: \"left\"\n },\n\n chartText: {\n paddingRight: '10px',\n paddingBottom: '15px',\n textDecoration: \"underline\",\n // cursor: \"pointer\",\n // userSelect: \"none\",\n // WebkitUserSelect: \"none\",\n // WebkitAppearance: 'none',\n fontSize: \"14px\",\n textAlign: \"right\"\n },\n month: {\n fontSize: \"12px\"\n },\n lengends: {\n marginTop: \"3px\",\n fontSize: \"13px\"\n },\n line: {\n marginTop: \"5px\",\n fontSize: \"13px\"\n },\n wipText: {\n fontSize: \"13px\"\n }\n\n\n}));\n\n\nexport default function WorkshopMaintenance(props) {\n\n const classes = useStyles();\n const theme = useTheme()\n const [loading, setLoading] = useState(false);\n const [filterData, setFilterData] = useState(\"otp\");\n const [customerDetails, setCustomerDetails] = useState([]);\n const message = useContext(ToastMessageContext);\n const [bases, setBases] = useState([]);\n const [selectedFilters, setSelectedFilters] = useState([]);\n const [selectedBase, setSelectedBase] = useState([getBaseStationID()]);\n const [custButton, setCustButton] = useState(false)\n const [checked, setChecked] = useState(false)\n const [baseButton, setBaseButton] = useState(false)\n const [runTable, setRunTable] = useState(false)\n const [action, setAction] = useState('')\n const [anchorEl, setAnchorEl] = useState(null);\n const [anchorBase, setAnchorBase] = useState(null);\n\n //Completed details\n const [completedOrders, setCompletedOrders] = useState({})\n const [completedValues, setCompletedValues] = useState({})\n const [currentDate, setCurrentDate] = useState(null)\n const [previousDate, setPreviousDate] = useState(null)\n const [previousLastDate, setPreviousLastDate] = useState(null)\n const [twelveMonthsBarData, setTwelveMonthsBarData] = useState([])\n const [twelveMonthsLineData, setTwelveMonthsLineData] = useState([])\n\n const [progressLoading, setProgressLoading] = useState(false);\n const [wipData, setWipData] = useState({})\n const [quotesData, setQuotesData] = useState({})\n const [commercialData, setCommercialData] = useState({})\n const [currentSelection, setCurrentSelection] = useState({ graph: \"\", key: \"\" })\n const [quotesPercentage, setQuotesPercentage] = useState(0);\n const [commercialPercentage, setCommercialPercentage] = useState(0);\n const [refresh, setRefresh] = useState(false)\n // Order Stage------\n\n\n const [state, setState] = useState({\n series: [\n\n\n ],\n\n options: {\n chart: {\n type: 'line',\n height: 350,\n stacked: true,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n },\n\n },\n stroke: {\n width: [2, 0, 0, 0]\n },\n colors: ['#8CDA5C', '#FFCD59', '#FF5A5A'],\n // colors: [`${theme.palette.secondary.main}`],\n\n dataLabels: {\n enabled: false\n },\n\n xaxis: {\n\n labels: {\n show: true,\n }\n\n },\n yaxis: {\n tickAmount: 5,\n labels: {\n rotate: 0,\n },\n },\n\n grid: {\n show: true,\n strokeDashArray: 0,\n position: 'back',\n xaxis: {\n lines: {\n show: false\n }\n },\n yaxis: {\n lines: {\n show: true\n }\n },\n },\n responsive: [{\n breakpoint: 480,\n\n }],\n plotOptions: {\n bar: {\n horizontal: false,\n borderRadius: 0,\n // columnWidth: '30%',\n // barHeight: '80%',\n dataLabels: {\n enabled: false\n },\n },\n\n\n },\n\n legend: {\n show: false\n },\n fill: {\n opacity: 1\n }\n },\n\n\n })\n\n\n const [column, setColumn] = useState({\n\n series: [],\n options: {\n chart: {\n type: 'bar',\n height: 350,\n stacked: true,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n }\n },\n yaxis: {\n tickAmount: 5,\n labels: {\n rotate: 0,\n },\n },\n dataLabels: {\n enabled: false\n },\n responsive: [{\n breakpoint: 480,\n\n }],\n plotOptions: {\n bar: {\n horizontal: false,\n borderRadius: 0,\n // columnWidth: '30%',\n // barHeight: '80%',\n dataLabels: {\n enabled: false\n },\n\n },\n },\n\n legend: {\n show: false\n },\n fill: {\n opacity: 1\n }\n },\n\n\n\n\n })\n\n\n const [order, setOrder] = useState({\n\n series: [\n\n {\n name: \"Order\",\n data: [0, 0, 0, 0, 0, 0, 0]\n }\n\n\n ],\n options: {\n chart: {\n type: 'bar',\n height: 350,\n stacked: false,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n }\n },\n dataLabels: {\n enabled: false\n },\n yaxis: {\n tickAmount: 5,\n labels: {\n rotate: 0,\n },\n },\n responsive: [{\n breakpoint: 480,\n options: {\n legend: {\n position: 'top',\n offsetX: -20,\n offsetY: -40\n }\n }\n }],\n plotOptions: {\n bar: {\n horizontal: false,\n borderRadius: 0,\n columnWidth: '30%',\n barHeight: '80%',\n dataLabels: {\n enabled: false\n },\n\n },\n },\n\n legend: {\n position: 'top',\n horizontalAlign: \"center\",\n offsetX: 200,\n\n\n\n },\n fill: {\n opacity: 1\n }\n },\n\n\n\n\n })\n\n\n\n\n\n\n\n const getDetails = () => {\n const params = {\n order_type: \"Maintenance\",\n organisation_id: getOrganisationId(),\n\n // ...filterData\n }\n selectedBase.forEach((item, index) => params[`base[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`customer[${[index]}]`] = item)\n setProgressLoading(true)\n handleCompleteDetails(params)\n handleInprogressDetails(params)\n }\n\n const handleCompleteDetails = async (params) => {\n\n await WorkshopDashboardServices.getCompletedOrders(params).then((res) => {\n if (res.success) {\n setCompletedOrders(res?.data[0].completed_orders)\n setCompletedValues(res?.data[0].completed_values)\n handleDates(res?.data[0])\n\n\n }\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n\n })\n }\n\n const handleDates = (data) => {\n let format = \"YYYY-MM-DD\"\n let curr = moment(data?.current_date, format).format(\"DD/MMM\")\n let previous = moment(data?.previous_month_current_date, format).format(\"DD MMM\")\n let lastMonth = moment(data?.pervious_month_last_date, format).format(\"MMM DD\")\n setCurrentDate(curr)\n setPreviousDate(previous)\n setPreviousLastDate(lastMonth)\n\n }\n const handleInprogressDetails = async (params) => {\n\n\n await WorkshopDashboardServices.getInprogressWorkOrder(params).then((response) => {\n if (response.success) {\n setWipData(response?.data[0]?.wip)\n setQuotesData(response?.data[0]?.open_quotes)\n setCommercialData(response?.data[0]?.open_commercial_positions)\n let orderStage = Object.values(response?.data[0]?.order_stage)\n let orderStageU = _.transform(response?.data[0]?.order_stage, (result, val, key) => {\n result[key.charAt(0).toUpperCase() + key.slice(1)] = val;\n })\n\n let key = Object.keys(orderStageU)\n if (orderStage !== undefined) {\n\n setOrder((prevState) => {\n return {\n // ...updatedState,\n series: [\n\n {\n name: \"Order\",\n data: orderStage\n }\n\n ],\n options: {\n\n xaxis: {\n categories: key,\n labels: {\n show: true,\n }\n\n },\n colors: [`${theme.palette.secondary.main}`],\n }\n }\n })\n\n\n }\n }\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setProgressLoading(false)\n setRefresh(false)\n })\n\n\n }\n\n\n useEffect(() => {\n getDetails()\n\n }, [selectedBase, selectedFilters, refresh]);\n useEffect(() => {\n\n getGraphDetails()\n }, [selectedBase, selectedFilters, filterData, checked]);\n\n\n\n\n const getGraphDetails = async () => {\n const params = {\n order_type: \"Maintenance\",\n organisation_id: getOrganisationId(),\n data: filterData,\n compare_previous_year: checked\n }\n selectedBase.forEach((item, index) => params[`base[${[index]}]`] = item)\n selectedFilters.forEach((item, index) => params[`customer[${[index]}]`] = item)\n setLoading(true)\n await WorkshopDashboardServices.getTweleveMonthsOrder(params).then((response) => {\n if (response.success) {\n setTwelveMonthsBarData(response?.data?.bar)\n setTwelveMonthsLineData(response?.data?.line)\n\n }\n }).catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong\",\n variant: \"error\",\n });\n }).finally(() => {\n setLoading(false)\n })\n }\n\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n setCustButton(!custButton)\n };\n const handleBaseClick = (event) => {\n setAnchorBase(event.currentTarget);\n setBaseButton(!baseButton)\n };\n const handleClose = () => {\n setAnchorEl(null);\n setCustButton(!custButton)\n };\n\n\n\n\n const filterChangeHandler = (e) => {\n const { name, value, checked } = e.target\n let value1 = bases.map((item) => {\n\n if (item.id === parseInt(value)) {\n item.status = !item.status\n }\n return item\n })\n\n // setRunTable(false)\n setSelectedBase((prevState) => [...prevState, value])\n if (!checked) {\n if (selectedBase.length > 1) {\n let item = selectedBase.filter((item) => item !== value)\n\n setSelectedBase(item);\n\n }\n else {\n setSelectedBase([])\n }\n\n }\n\n }\n\n\n\n\n\n const filterCustomerChangeHandler = (e) => {\n const { name, value, checked } = e.target\n // console.log(\"customer======\", value, checked)\n\n let value1 = customerDetails.map((item) => {\n\n if (item.id === parseInt(value)) {\n item.status = !item.status\n }\n return item\n })\n\n setSelectedFilters((prevState) => [...prevState, value])\n if (!checked) {\n setSelectedFilters((current) => _without(current, value));\n }\n\n }\n\n\n\n\n useEffect(() => {\n getCustomerList();\n getBaseStation();\n }, []);\n\n const getCustomerList = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'name'\n }\n await MaintenanceServices.getCustomerList(params)\n .then((res) => {\n if (res) {\n\n\n\n let data = res.data.customers\n if (data.length > 0) {\n let value = data.map((item) => ({\n ...item,\n status: false\n }))\n setCustomerDetails(value);\n }\n else {\n\n setCustomerDetails(res.data.customers);\n\n }\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n const getBaseStation = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'station'\n }\n MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n\n\n let data = res.data\n if (data.length > 0) {\n let value = data.map((item) => ({\n ...item,\n status: getBaseStationID() === item.id ? true : false\n }))\n setBases(value);\n }\n else {\n\n setBases(res.data);\n\n }\n\n\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n const ITEM_HEIGHT = 78;\n\n\n // chart Options last twelve month\n\n\n const bar1 = []\n const bar2 = []\n const bar3 = []\n const line = []\n const date = []\n\n\n\n\n\n\n\n\n\n\n useMemo(() => {\n if (filterData === \"otp\") {\n if (twelveMonthsBarData != []) {\n for (let i = 0;i < twelveMonthsBarData.length;i++) {\n bar1.push(twelveMonthsBarData[i].on_time)\n bar2.push(twelveMonthsBarData[i].revised_on_time)\n bar3.push(twelveMonthsBarData[i].late)\n date.push(moment(twelveMonthsBarData[i].date).format(\"MMM YY\"))\n\n\n\n }\n\n if (twelveMonthsLineData.length > 0) {\n for (let l = 0;l < twelveMonthsLineData.length;l++) {\n line.push(parseInt(twelveMonthsLineData[l].previous_year_data))\n }\n }\n if (bar1.length > 0 && !checked) {\n setColumn((prevState) => {\n\n const updatedState = _.clone(prevState);\n\n return {\n ...updatedState,\n series: [\n {\n name: 'On time',\n data: bar1,\n },\n {\n name: 'Revised',\n data: bar2,\n\n },\n {\n name: 'Late',\n data: bar3,\n\n },],\n options: {\n ...updatedState.options,\n\n xaxis: {\n categories: date,\n labels: {\n show: true,\n }\n\n },\n dataLabels: {\n enabled: false\n },\n colors: ['#8CDA5C', '#FFCD59', \"#FF0202\"],\n }\n }\n })\n\n\n\n }\n\n else if (date.length > 0 && checked) {\n setState((prevState) => {\n\n const updatedState = _.clone(prevState);\n\n return {\n ...updatedState,\n series: [\n\n {\n name: 'Due',\n data: line,\n type: 'line',\n order: 1\n\n },\n {\n name: 'On time',\n data: bar1,\n type: 'column',\n order: 2\n },\n {\n name: 'Revised',\n data: bar2,\n type: 'column',\n order: 3\n },\n {\n name: 'Late',\n data: bar3,\n type: 'column',\n order: 4\n },],\n options: {\n ...updatedState.options,\n xaxis: {\n categories: date,\n\n labels: {\n show: true,\n }\n\n },\n colors: ['#8CDA5C', '#8CDA5C', '#FFCD59', \"#FF0202\"],\n }\n }\n })\n\n\n\n }\n }\n }\n\n if (filterData === \"type\") {\n\n if (twelveMonthsBarData != []) {\n for (let i = 0;i < twelveMonthsBarData.length;i++) {\n bar1.push(twelveMonthsBarData[i].adhoc_true)\n bar2.push(twelveMonthsBarData[i].adhoc_false)\n date.push(moment(twelveMonthsBarData[i].date).format(\"MMM YY\"))\n\n\n\n }\n\n }\n if (twelveMonthsLineData.length > 0) {\n for (let l = 0;l < twelveMonthsLineData.length;l++) {\n line.push(parseInt(twelveMonthsLineData[l].previous_year_data))\n }\n }\n\n if (date.length > 0 && !checked) {\n setColumn((prevState) => {\n\n // const updatedState = _.clone(prevState);\n\n return {\n // ...updatedState,\n series: [\n\n {\n name: 'ADHOC',\n data: bar1,\n\n },\n {\n name: 'Quoted',\n data: bar2,\n\n },\n ],\n options: {\n\n chart: {\n type: 'bar',\n stacked: true,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n },\n\n },\n xaxis: {\n categories: date,\n\n labels: {\n show: true,\n }\n\n },\n legend: {\n show: false\n },\n dataLabels: {\n enabled: false\n },\n colors: [`${theme.palette.primary.main}`, `${theme.palette.secondary.main}`],\n }\n }\n })\n\n\n\n }\n\n\n\n else if (bar1.length > 0 && checked) {\n setState((prevState) => {\n\n const updatedState = _.clone(prevState);\n\n return {\n ...updatedState,\n series: [\n\n {\n name: 'Due',\n data: line,\n type: 'line',\n order: 1\n\n },\n {\n name: 'ADHOC',\n data: bar1,\n type: 'column',\n order: 2\n },\n {\n name: 'Quoted',\n data: bar2,\n type: 'column',\n order: 3\n },\n ],\n options: {\n ...updatedState.options,\n\n xaxis: {\n categories: date,\n\n labels: {\n show: true,\n }\n\n },\n dataLabels: {\n enabled: false\n },\n colors: [`${theme.palette.secondary.main}`, `${theme.palette.primary.main}`, `${theme.palette.secondary.main}`],\n }\n }\n })\n\n\n\n }\n\n }\n if (filterData === \"value\") {\n\n if (twelveMonthsBarData != []) {\n for (let i = 0;i < twelveMonthsBarData.length;i++) {\n bar1.push(twelveMonthsBarData[i].value)\n date.push(moment(twelveMonthsBarData[i].date).format(\"MMM YY\"))\n\n\n }\n }\n if (twelveMonthsLineData.length > 0) {\n for (let l = 0;l < twelveMonthsLineData.length;l++) {\n line.push(parseInt(twelveMonthsLineData[l].previous_year_data))\n }\n }\n\n if (bar1.length > 0 && !checked) {\n setColumn((prevState) => {\n\n\n return {\n // ...updatedState,\n series: [\n\n {\n name: 'Value',\n data: bar1,\n\n },\n\n ],\n options: {\n\n chart: {\n type: 'bar',\n\n stacked: false,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n },\n\n },\n xaxis: {\n categories: date,\n tickAmount: 5,\n labels: {\n show: true,\n }\n\n },\n legend: {\n show: false\n },\n dataLabels: {\n enabled: false\n },\n colors: [`${theme.palette.secondary.main}`],\n }\n }\n })\n\n\n\n }\n\n else if (bar1.length > 0 && checked) {\n\n\n setState((prevState) => {\n\n const updatedState = _.clone(prevState);\n\n return {\n ...updatedState,\n series: [\n\n {\n name: 'Previous line',\n data: line,\n type: 'line',\n order: 1\n\n },\n {\n name: 'Value',\n data: bar1,\n type: 'column',\n order: 2\n },\n\n ],\n options: {\n ...updatedState.options,\n chart: {\n type: 'line',\n\n stacked: true,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n },\n\n },\n xaxis: {\n categories: date,\n\n labels: {\n show: true,\n }\n\n },\n legend: {\n show: false\n },\n dataLabels: {\n enabled: false\n },\n colors: [`${theme.palette.secondary.main}`, `${theme.palette.secondary.main}`],\n }\n }\n })\n\n\n\n }\n\n\n\n }\n\n\n\n\n\n\n }, [twelveMonthsBarData, twelveMonthsLineData])\n\n\n\n\n\n //Percenrage\n\n //quote\n useMemo(() => {\n let totalValue = quotesData?.seven_days + quotesData?.seven_to_thirty_days + quotesData?.thirty_days\n let quotePercentage = (quotesData?.seven_days / totalValue) * 100\n\n if (totalValue === 0) {\n setQuotesPercentage(totalValue)\n }\n else {\n setQuotesPercentage(Math.floor(quotePercentage))\n }\n }, [quotesData?.seven_days, quotesData?.seven_to_thirty_days, quotesData?.thirty_days])\n\n\n useMemo(() => {\n let totalValue = commercialData?.approved + commercialData?.pending + commercialData?.no_position\n let quotePercentage = (commercialData?.approved / totalValue) * 100\n\n if (totalValue === 0) {\n setCommercialPercentage(totalValue)\n }\n else {\n setCommercialPercentage(Math.floor(quotePercentage))\n }\n }, [commercialData?.approved, commercialData?.pending, commercialData?.no_position])\n\n\n const handleLocalTime = (date) => {\n\n\n let localTime = moment.utc(date, \"DD/MM/YYYY HH:mm\").local().format(\"DD/MM/YYYY HH:mm\");\n\n\n return localTime ? localTime : \" - \"\n\n }\n\n\n\n\n\n\n\n\n return (\n\n
\n \n \n \n \n {/* Customer(All) */}\n {customerDetails?.map((option, index) => {\n return \n \n \n \n \n \n \n { filterCustomerChangeHandler(e) }}\n name={option.name} />}\n />\n \n\n \n \n \n })}\n \n \n\n \n \n {\n setAnchorBase(null)\n setBaseButton(!baseButton)\n }}\n // anchorOrigin={{\n // vertical: 'bottom',\n // horizontal: 'left',\n // }}\n style={{ marginTop: '40px' }}\n PaperProps={{\n style: {\n maxHeight: ITEM_HEIGHT * 4.5,\n width: '39ch',\n position: 'absolute',\n top: '260px',\n },\n }}\n >\n {\n bases?.map((base, index) => {\n return \n \n \n \n \n \n \n handleChange(e, option.id)}\n onChange={(e) => { filterChangeHandler(e, index) }}\n name={base.station} />}\n // name=\"base\"\n />\n \n \n \n \n }\n\n )}\n \n \n \n {/* 1st row*/}\n
\n\n Completed orders\n \n\n \n \n Month to Date \n\n \n\n\n\n\n Completed Orders\n\n\n \n \n\n {completedOrders?.current_month_count || 0}\n At {currentDate || \" -\"}\n \n \n\n = 0 ? \"#4FC605\" : \"#FF0202\" }}>\n\n {completedOrders?.partial_month_count_percent >= 0 ? : }\n {completedOrders?.partial_month_count_percent ? Math.abs(completedOrders?.partial_month_count_percent).toFixed(2) : 0} %\n\n \n {completedOrders?.prev_month_partial_count || 0} @ {previousDate || \"-\"}\n\n \n \n = 0 ? \"#4FC605\" : \"#FF0202\" }}>\n\n {completedOrders?.full_month_count_percent >= 0 ? : }\n\n {completedOrders?.full_month_count_percent ? Math.abs(completedOrders?.full_month_count_percent).toFixed(2) : 0}%\n\n\n\n \n {completedOrders?.prev_month_full_count || 0} {previousLastDate}\n \n\n \n\n \n\n
\n\n\n \n Completed Values\n \n \n {completedValues?.current_month_amount || 0}\n At {currentDate || \" -\"}\n\n \n \n = 0 ? \"#4FC605\" : \"#FF0202\" }}>\n\n {completedValues?.partial_month_amount_percent >= 0 ?\n : }{completedValues?.partial_month_amount_percent ? Math.abs(completedValues?.partial_month_amount_percent).toFixed(2) : 0}% \n\n {completedValues?.prev_month_partial_amount || 0} @ {previousDate || \"-\"}\n \n\n \n \n = 0 ? \"#4FC605\" : \"#FF0202\" }}>\n {completedValues?.full_month_amount_percent >= 0 ?\n :\n }\n {completedValues?.full_month_amount_percent ? Math.abs(completedValues?.full_month_amount_percent).toFixed(2) : 0} %\n\n\n\n \n {completedValues?.prev_month_full_amount || 0} {previousLastDate}\n \n\n \n\n \n\n
\n\n\n\n\n
\n\n\n {/* Last 12 months */}\n\n \n \n\n\n \n Last 12 Months\n \n {\n\n setFilterData(e.target.value)\n }}\n id=\"tags-standard\"\n name=\"\"\n value={filterData}\n defaultValue={\"otp\"}\n input={}\n >\n OTP\n Type\n Value\n\n \n \n \n \n\n {checked ? filterData === \"otp\" ? <>\n \n \n Previous Total\n \n \n \n On time\n \n \n \n Revised\n\n \n \n \n Late\n\n \n\n\n\n\n : filterData === \"type\" ? <>\n \n \n \n Previous Total\n \n \n \n ADHOC\n\n \n \n \n Quoted\n\n \n\n \n : filterData === \"value\" ? <>\n \n \n\n \n \n\n \n Previous Total\n\n \n \n \n Value\n\n \n\n : \" \" : \"\"}\n {!checked ? filterData === \"otp\" ? <>\n \n \n \n On time\n \n \n \n Revised\n\n \n \n \n Late\n\n \n\n\n\n\n : filterData === \"type\" ? <>\n \n \n\n \n \n \n ADHOC\n\n \n \n \n Quoted\n\n \n\n : filterData === \"value\" ? <>\n \n \n\n \n \n\n \n \n \n Value\n\n \n\n : \"\" : \"\"}\n\n\n \n \n\n \n Compare previous year \n \n \n setChecked(e.target.checked)}\n color=\"success\"\n />\n }\n\n />\n \n \n\n\n \n\n {loading ? : \n\n\n\n {!checked &&\n }\n\n {checked && }\n\n\n }\n\n\n \n\n\n\n \n\n
\n\n
\n\n\n\n In Progress Orders\n\n \n \n \n Order Stage\n \n\n \n \n\n\n \n\n\n\n \n \n \n \n\n \n\n WIP\n\n \n Last updated :{handleLocalTime(wipData?.wip_updated_at)}\n \n\n\n \n \n \n {wipData?.jobs || 0}\n \n \n Jobs\n \n\n \n {wipData?.wip_value || 0}\n \n \n WIP Value\n \n \n \n {wipData?.wip_labour ? parseFloat(wipData?.wip_labour).toFixed(2) : 0}\n {wipData?.wip_parts ? parseFloat(wipData?.wip_parts).toFixed(2) : 0}\n {wipData?.wip_services ? parseFloat(wipData?.wip_services).toFixed(2) : 0}\n {wipData?.wip_equipment ? parseFloat(wipData?.wip_equipment).toFixed(2) : 0}\n\n \n \n \n \n\n \n \n\n \n\n \n \n \n\n \n \n\n \n\n\n Open Quotes\n\n \n {!progressLoading ?\n \n \n 30 Days\"]}\n\n\n />\n
\n {quotesPercentage ? quotesPercentage : 0}{\"%\"}\n
\n
\n \n \n\n
{\n\n setAction(\"workshop\")\n setCurrentSelection({ graph: \"open_quotes \", key: \"seven_days\" })\n }\n }>{quotesData?.seven_days || 0}
\n < 7 Days\n\n
\n \n\n
{\n setAction(\"workshop\")\n setCurrentSelection({ graph: \"open_quotes \", key: \"seven_to_thirty_days\" })\n }\n }>{quotesData?.seven_to_thirty_days || 0}
\n 7 - 30 Days\n\n
\n \n\n
{\n setAction(\"workshop\")\n setCurrentSelection({ graph: \"open_quotes \", key: \"thirty_days\" })\n }\n }>{quotesData?.thirty_days || 0}
\n > 30 Days\n\n
\n\n
\n
: }\n\n\n
\n\n\n\n
\n \n\n\n \n\n \n\n\n Approved Positions\n\n \n {!progressLoading ?\n \n \n \n
\n {commercialPercentage ? commercialPercentage : 0}{\"%\"} \n
\n
\n \n \n\n
{\n setAction(\"workshop\")\n setCurrentSelection({ graph: \"open_commercial_positions\", key: \"approved\" })\n }\n\n\n }>{commercialData?.approved || 0}
\n Approved\n\n
\n \n\n
{\n setAction(\"workshop\")\n setCurrentSelection({ graph: \"open_commercial_positions\", key: \"pending\" })\n\n }\n\n\n }>{commercialData?.pending || 0}
\n Pending\n\n
\n \n\n
{\n setAction(\"workshop\")\n setCurrentSelection({ graph: \"open_commercial_positions\", key: \"no_position\" })\n }\n\n\n }>{commercialData?.no_position || 0}
\n No Position\n\n
\n\n
\n
: }\n\n\n
\n\n\n\n\n
\n\n
\n\n\n\n \n \n \n\n\n
\n\n
\n\n {action && action === \"workshop\" && {\n setAction(\"\")\n setCurrentSelection({ graph: \"\", key: \"\" })\n }}\n getDetails={getDetails}\n order_type_name={\"Maintenance\"}\n currentSelections={currentSelection}\n tabID={20}\n permission={props?.permission}\n selectedBase={selectedBase}\n />\n }\n
\n\n )\n}\n","import React from \"react\";\nimport { Typography, Box, makeStyles, IconButton } from \"@material-ui/core\";\nimport MROButton from \"../../../components/buttons\";\nimport ButtonGroupNavigation from \"components/button_group_navigation\";\nimport { Route, Switch } from \"react-router-dom\";\nimport FullscreenIcon from '@material-ui/icons/Fullscreen';\n\n\nimport Production from \"./Production\";\nimport Storage from \"./Storage\";\nimport Maintenances from \"./Maintenance/WorkshopMaintenance\";\nconst useStyles = makeStyles(theme => ({\n subNavigation: {\n margin: '2% 3%',\n width: '85%',\n }\n}));\nconst buttons = [\n { name: \"Maintenance\", redirect: \"/org/dashboard/workshop/maintenance\" },\n { name: \"Production\", redirect: \"/org/dashboard/workshop/production\" },\n { name: \"Storage\", redirect: \"/org/dashboard/workshop/storage\" },\n];\n\nfunction Workshop(props) {\n const classes = useStyles();\n return (\n
\n
\n \n
\n \n } />\n } />\n } />\n \n \n
\n\n )\n}\n\nexport default Workshop","import { FormControl, Menu, Box, Grid, FormControlLabel, Divider, Button } from '@material-ui/core'\nimport React, { useCallback, useContext, useEffect, useState } from 'react'\nimport PositiveSwitch from './form_components/switch';\nimport { getBaseStationID, getOrganisationId } from 'lib/utils/common_utils';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\n\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport ArrowDown from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUp from '@material-ui/icons/ArrowDropUp';\nexport default function MultipleBaseFilter(props) {\n\n const { selectedBase, setSelectedBase } = props\n const [bases, setBases] = useState([]);\n const [anchorBase, setAnchorBase] = useState(null);\n const [baseButton, setBaseButton] = useState(false)\n const message = useContext(ToastMessageContext)\n const handleBaseClick = (event) => {\n setAnchorBase(event.currentTarget);\n setBaseButton(!baseButton)\n };\n const filterChangeHandler = (e) => {\n const { name, value, checked } = e.target\n let value1 = bases.map((item) => {\n\n if (item.id === parseInt(value)) {\n item.status = !item.status\n }\n return item\n })\n\n // setRunTable(false)\n setSelectedBase((prevState) => [...prevState, value])\n if (!checked) {\n if (selectedBase.length > 1) {\n let item = selectedBase.filter((item) => item !== value)\n\n setSelectedBase(item);\n\n }\n else {\n setSelectedBase([])\n }\n\n }\n\n }\n\n useEffect(() => {\n\n getBaseStation();\n }, []);\n const getBaseStation = async () => {\n const params = {\n organisation_id: getOrganisationId(),\n order_by: 'station'\n }\n MaintenanceServices.getBaseStation(params)\n .then((res) => {\n if (res) {\n\n\n let data = res.data\n if (data.length > 0) {\n let value = data.map((item) => ({\n ...item,\n status: getBaseStationID() === item.id ? true : false\n }))\n setBases(value);\n }\n else {\n\n setBases(res.data);\n\n }\n\n\n }\n\n })\n .catch((err) => {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n\n });\n };\n\n const ITEM_HEIGHT = 78;\n\n return (\n \n \n {\n setAnchorBase(null)\n setBaseButton(!baseButton)\n }}\n // anchorOrigin={{\n // vertical: 'bottom',\n // horizontal: 'left',\n // }}\n style={{ marginTop: '40px' }}\n PaperProps={{\n style: {\n maxHeight: ITEM_HEIGHT * 4.5,\n width: '39ch',\n position: 'absolute',\n top: '260px',\n },\n }}\n >\n {\n bases?.map((base, index) => {\n return \n \n \n \n \n \n \n handleChange(e, option.id)}\n onChange={(e) => { filterChangeHandler(e, index) }}\n name={base.station} />}\n // name=\"base\"\n />\n \n \n \n \n }\n\n )}\n \n \n )\n}\n","import requestApi from \"../common/boxp_api_client\";\n\n\nconst getOilGraphDetails = (params) => {\n return requestApi({\n url: \"/oil_accuracy_graph\",\n method: \"GET\",\n params,\n })\n}\nconst getOilTableDetails = (params) => {\n return requestApi({\n url: \"/station_overview\",\n method: \"GET\",\n params,\n })\n}\n\n\n\n\n\n\n\n\nexport const StoreDashboardServices = {\n\n getOilGraphDetails,\n getOilTableDetails\n\n\n\n}","import React, { useContext, useEffect, useState } from 'react'\nimport SearchBarWithFilters from \"components/search_with_filters\";\nimport { Box, FormControl, Grid, InputBase, makeStyles, MenuItem, Paper, Select, Typography, useTheme } from '@material-ui/core';\nimport { MaintenanceServices } from 'lib/services/api/operaitons/WorkShop/TaskLibrary/Maintenance/maintenance_operation';\nimport { getBaseStationID, getOrganisationId } from 'lib/utils/common_utils';\nimport MultipleBaseFilter from 'components/MultipleBaseFilter';\nimport ReactApexChart from 'react-apexcharts';\nimport { StoreDashboardServices } from 'lib/services/api/dashboard/stores';\nimport _ from 'lodash';\nimport ChartLoader from 'views/Dashboard/Workshops/Storage/ChartLoader';\nimport StopIcon from '@material-ui/icons/Stop';\nimport tableIcons, { options } from 'components/universal/table_attributes';\nimport MaterialTable from 'material-table';\nimport { ToastMessageContext } from 'lib/contexts/message_context';\n\n\n\n\n\nconst useStyles = makeStyles((theme) => ({\n\n formWrapper: {\n width: \"95%\",\n margin: \"0% 3%\",\n\n },\n lengends: {\n marginTop: \"3px\",\n fontSize: \"13px\"\n },\n\n}))\n\n\n\n\nexport default function OilAccuracy(props) {\n\n const classes = useStyles()\n const [selectedBase, setSelectedBase] = useState([getBaseStationID()]);\n const theme = useTheme()\n const primary = theme.palette.primary.main\n const secondary = theme.palette.secondary.main\n const [filterData, setFilterData] = useState(\"accuracy\");\n const [acc_data, setAccData] = useState([])\n const [value_data, setValData] = useState([])\n const [var_data, setVarData] = useState([])\n const [xAxis, setXAxis] = useState([])\n const [loading, setLoading] = useState(false)\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(10)\n const [totalCount, setTotalCount] = useState(10)\n const [data, setData] = useState([])\n const message = useContext(ToastMessageContext)\n const [busy, setBusy] = useState(false)\n const [state, setState] = useState({\n series: [],\n\n options: {\n chart: {\n type: 'line',\n height: 350,\n stacked: false,\n toolbar: {\n show: false\n },\n zoom: {\n enabled: false\n },\n\n },\n stroke: {\n width: [2, 0, 0, 0]\n },\n colors: [`${primary}`, `${secondary}`],\n // colors: [`${theme.palette.secondary.main}`],\n\n dataLabels: {\n enabled: false\n },\n\n xaxis: {\n // type: 'datetime',\n labels: {\n show: true,\n }\n\n },\n yaxis: {\n tickAmount: 5,\n labels: {\n rotate: 0,\n },\n },\n\n grid: {\n show: true,\n strokeDashArray: 0,\n position: 'back',\n xaxis: {\n lines: {\n show: false\n }\n },\n yaxis: {\n lines: {\n show: true\n }\n },\n },\n responsive: [{\n breakpoint: 480,\n\n }],\n\n\n legend: {\n show: false\n },\n fill: {\n opacity: 1\n }\n },\n\n\n })\n\n const getDetails = async () => {\n\n const params = {\n organisation_id: getOrganisationId(),\n\n }\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n setLoading(true)\n await StoreDashboardServices.getOilGraphDetails(params).then((res) => {\n\n let value = res?.data\n\n let acc = [{ name: \"Accuracy\", data: value.map((item) => item.accuracy) }]\n let f_value = [{ name: \"Work Order Quarts\", data: value.map((item) => item.wo_count) }, { name: \"Stock Transactions\", data: value.map((item) => item.tx_count) }]\n let varian = [{\n name: \"Variance\", data: value.map((item) => item.variance)\n }]\n setXAxis(value.map((item) => item.display_date))\n setAccData(acc)\n setValData(f_value)\n setVarData(varian)\n\n setState(prevState => {\n\n const updatedState = _.clone(prevState)\n return {\n ...updatedState,\n series: acc, options: {\n ...updatedState.options,\n xaxis: {\n categories: value.map((item) => item.display_date), labels: {\n show: true,\n }\n }\n }\n }\n })\n }).catch(() => {\n\n }).finally(() => {\n setLoading(false)\n })\n\n }\n\n\n useEffect(() => {\n getDetails()\n }, [selectedBase])\n\n\n\n useEffect(() => {\n\n let data = filterData === \"accuracy\" ? acc_data : filterData === \"value\" ? value_data : filterData === \"variance\" ? var_data : []\n\n setState(prevState => {\n\n const updatedState = _.clone(prevState)\n return {\n ...updatedState,\n series: data, options: {\n ...updatedState.options,\n xaxis: {\n categories: xAxis, labels: {\n show: true,\n }\n }\n },\n }\n })\n\n\n\n\n }, [filterData])\n\n // Table\n const tableOptions = {\n ...options,\n page: page,\n search: false,\n total: totalCount,\n pageSize: pageSize,\n toolbar: false,\n };\n\n const columns = [\n\n {\n title: \"Base\",\n field: \"station\",\n width: \"4%\",\n headerStyle: {\n width: \"4%\",\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"4%\",\n },\n },\n\n\n {\n title: \"Item\",\n field: \"item\",\n width: \"54%\",\n headerStyle: {\n textAlign: \"left\",\n width: \"54%\",\n },\n cellStyle: {\n textAlign: \"left\",\n width: \"54%\",\n }\n },\n {\n title: \"12 Months\",\n field: \"12_months\",\n\n },\n {\n title: \"6 Months\",\n field: \"6_months\",\n\n },\n {\n title: \"3 Months\",\n field: \"3_months\",\n\n\n },\n {\n title: \"1 Months\",\n field: \"1_month\",\n\n\n },\n\n ]\n\n const getTableDetails = async () => {\n\n\n\n const params = {\n page: page + 1,\n limit: pageSize,\n organisation_id: getOrganisationId(),\n\n }\n setBusy(true)\n selectedBase.forEach((item, index) => params[`base_station_id[${[index]}]`] = item)\n await StoreDashboardServices.getOilTableDetails(params).then((response) => {\n\n if (response.success) {\n\n let data = response.data\n\n if (data.length > 0) {\n const periods = [\"last_12_months\", \"last_6_months\", \"last_3_months\", \"last_1_month\"];\n const metrics = [\"wo_count\", \"tx_count\", \"variance\"];\n\n let array = data.map((item) => {\n return {\n station: item.station,\n item: \"Accuracy\",\n ...Object.fromEntries(periods.map(period => [period.replace(\"last_\", \"\"), `${item[period].accuracy}%`])),\n line_items: metrics.map(metric => ({\n item: metric === \"wo_count\" ? \"Work Order Quarts\" : metric === \"tx_count\" ? \"Stock Transactions\" : metric === \"variance\" && \"Variance\",\n ...Object.fromEntries(periods.map(period => [period.replace(\"last_\", \"\"), item[period][metric]])),\n })),\n }\n })\n\n\n\n setData(array)\n\n\n\n } else {\n setData([])\n }\n\n setTotalCount(response.total_count)\n }\n\n\n }).catch((error) => {\n message.showToastMessage({ message: error.errors ? error.errors.join(', ') : \"Something went wrong. Try again!\", variant: \"error\" })\n\n }).finally(() => {\n setBusy(false)\n })\n\n\n\n }\n\n\n\n\n useEffect(() => {\n getTableDetails()\n }, [page, pageSize, selectedBase])\n\n\n\n\n\n return (\n
\n\n \n \n \n Line Maint Oil Transactions\n\n\n\n\n\n\n\n \n\n \n Last 12 Months\n\n \n \n \n\n \n {filterData === \"accuracy\" ? \"Accuracy\" : filterData === \"variance\" ? \"Variance\" : filterData === \"value\" && \"Stock Transaction\"}\n \n {filterData === \"value\" && \n\n \n Stock Transaction \n }\n\n\n\n\n \n\n \n {\n\n setFilterData(e.target.value)\n }}\n id=\"tags-standard\"\n name=\"\"\n value={filterData}\n defaultValue={\"otp\"}\n input={}\n >\n Accuracy\n Values\n Variance\n\n \n \n\n \n \n\n\n {loading ? :\n \n \n \n \n }\n\n\n \n\n\n\n\n\n\n \n\n\n\n Station Overview\n\n\n\n {\n setPage(page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n setPageSize(pageSize);\n }}\n\n totalCount={totalCount}\n page={page}\n detailPanel={(rowData) => !rowData?.line_items?.length ? (\n \n \n No Records Found\n \n
\n ) : (\n\n\n
\n \n\n\n
)\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n />\n\n\n\n\n\n \n )\n}\n","import React from \"react\";\nimport { Typography, Box, makeStyles, IconButton } from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport ButtonGroupNavigation from \"components/button_group_navigation\";\nimport { Route, Switch } from \"react-router-dom\";\nimport OilAccuracy from \"./OilAccuracy/OilAccuracy\";\n\nconst useStyles = makeStyles(theme => ({\n subNavigation: {\n margin: '2% 3%',\n width: '85%',\n }\n}));\nconst buttons = [\n { name: \"Oil Accuracy\", redirect: \"/org/dashboard/stores/oil_accuracy\" },\n\n];\n\nexport default function Stores(props) {\n\n const classes = useStyles();\n return (\n
\n
\n \n
\n \n } />\n\n \n \n
\n )\n}\n","import React, { useReducer, useState, useEffect } from \"react\";\nimport { Route, Switch, useHistory, useLocation } from \"react-router-dom\";\nimport TopNavigationBar from \"../../components/tab_component\";\nimport FlightIcon from \"@material-ui/icons/FlightTakeoffOutlined\";\nimport PageNotFound from \"../../components/universal/page_not_found\";\nimport UserCompliance from \"./UserCompliance\";\nimport StationCompliance from \"./StationCompliance\";\nimport LineMaintenance from \"./LineMaintenance\";\nimport authReducer, { INITIAL_STATE } from \"../../reducers/auth_reducer\";\nimport AuthActions from \"../../actions/auth_actions\";\nimport ActivityService from \"../../lib/services/api/accounts/activity_report\";\n\nimport { Box, makeStyles } from \"@material-ui/core\";\nimport { FormControl, InputBase, Select } from \"@material-ui/core\";\nimport { MenuItem, Grid } from \"@material-ui/core\";\nimport { Typography } from \"@material-ui/core\";\nimport { Divider } from \"@material-ui/core\";\nimport { Chip } from \"@material-ui/core\";\nimport Workshop from \"./Workshops\";\nimport Stores from \"./Stores\";\n\nexport default function DashboardSection(props) {\n const classes = useStyles()\n const topNavMenu = [\n {\n label: (\n
\n \n  Line\n
\n ),\n name: \"Line Maintenance\",\n redirect: \"/org/dashboard/line_maintenance/performance\",\n section: \"/dashboard/line_maintenance\",\n }, {\n label: (\n
\n \n  Workshops\n
\n ),\n name: \"Workshop\",\n redirect: \"/org/dashboard/workshop/maintenance\",\n section: \"/dashboard/workshop\",\n },\n {\n label: (\n
\n \n  User Compliance\n
\n ),\n name: \"User Compliance\",\n redirect: \"/org/dashboard/user_compliance\",\n section: \"/dashboard/user_compliance\",\n },\n {\n label: (\n
\n \n  Station Compliance\n
\n ),\n name: \"Station Compliance\",\n redirect: \"/org/dashboard/station/compliance\",\n section: \"/dashboard/station\",\n },\n {\n label: (\n
\n \n  Stores\n
\n ),\n name: \"Stores\",\n redirect: \"/org/dashboard/stores/oil_accuracy\",\n section: \"/dashboard/stores\",\n },\n ];\n const Section = \"Dashboard\";\n const [authState, dispatch] = useReducer(authReducer, INITIAL_STATE);\n const [categories, setCategories] = useState([]);\n const [topMenus, setTopMenus] = useState([]);\n\n\n const location = useLocation();\n const history = useHistory();\n\n // useEffect(() => {\n // if (location.pathname === \"/org/dashboard\") {\n // history.push(\"/org/dashboard/performance\");\n // }\n // });\n\n useEffect(() => {\n AuthActions.setUserData(dispatch, sessionStorage.getItem(\"authState\"));\n\n\n }, []);\n\n useEffect(() => {\n setCategories(\n authState?.authState?.categories?.find(\n (category) => category.name === Section\n ).sub_categories\n );\n }, [authState?.authState?.categories]);\n\n useEffect(() => {\n if (categories) {\n\n setTopMenus(\n topNavMenu.filter((section) => {\n return categories?.some((category) => {\n return true;\n });\n })\n );\n }\n }, [categories?.length]);\n\n const [permission, setPermission] = useState([]);\n useEffect(() => {\n setPermission(\n categories?.map((category) => {\n return authState.authState.permissions.find(\n (permission) => permission.source_id === category.id\n );\n })\n );\n }, [categories]);\n\n useEffect(() => {\n if (permission) {\n setTopMenus(topNavMenu.filter(section => {\n return permission.filter(permission => {\n return permission.read || permission.write\n })?.some(category => {\n\n // console.log(\"permission is=================\", category.source_type , section.name)\n return category.source_type === section.name\n })\n }))\n }\n }, [permission]);\n\n\n\n return (\n
\n {!!topMenus.length && (\n <>\n \n\n\n\n\n \n (\n per?.source_type === \"User Compliance\"\n )}\n />\n )}\n /> (\n per?.source_type === \"Stores\"\n )}\n />\n )}\n />\n (\n per?.source_type === \"Station Compliance\"\n )}\n />\n )}\n />\n (\n per?.source_type === \"Workshop\"\n )}\n\n />\n )}\n />\n (\n per?.source_type === \"Line Maintenance\"\n )}\n />\n )}\n />\n\n \n \n \n )}\n
\n );\n}\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n // overflow:\"hidden !important\",\n width: \"96%\",\n backgroundColor: \"#fff\",\n padding: theme.spacing(1, 2),\n border: \"1px solid #d5d5d5\",\n margin: \"2% 2%\",\n },\n\n tableWrapper: {\n width: \"96%\",\n margin: \"1% 2%\",\n },\n\n}));","\nimport React, { useContext, useEffect, useReducer, useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport SearchBarWithFilters from \"../../../components/search_with_filters\";\nimport TableAction from \"../../../actions/table_actions\";\nimport { DatePicker } from \"antd\";\nimport \"antd/dist/antd.css\";\nimport moment from \"moment\";\nimport MaterialTable from \"material-table\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport tableIcons, {\n options,\n} from \"../../../components/universal/table_attributes\";\nimport tableReducer, {\n INITIAL_TABLE_STATE,\n} from \"../../../reducers/table_reducer\";\nimport PositiveSwitch from \"../../../components/form_components/switch\";\nimport MROButton from \"components/buttons\";\nimport {\n FormControl,\n Select,\n InputBase,\n MenuItem,\n Typography,\n Box,\n} from \"@material-ui/core\";\nimport GetAppIcon from '@material-ui/icons/GetApp';\n\nconst { RangePicker } = DatePicker;\n\n\nconst useStyles = makeStyles((theme) => ({\n bold: {\n fontWeight: 600\n },\n tableWrapper: {\n width: \"85%\",\n margin: \"1% 3%\",\n },\n}));\n\nfunction LineParts(props) {\n\n const classes = useStyles();\n const [tableState, dispatch] = useReducer(tableReducer, INITIAL_TABLE_STATE);\n const { page, totalCount, pageSize, inProgress, data } = tableState;\n const [currentSelection, setCurrentSelection] = useState({});\n const [action, setAction] = useState(null);\n const [show, setShow] = useState(false);\n\n const [searchText, setSearchText] = useState(\"\");\n\n const [value, setValue] = React.useState([null, null]);\n const [startDate, setStartDate] = useState(null);\n const [endDate, setEndDate] = useState(null);\n\n const [lineCustomers, setLineCustomers] = useState([]);\n const [bases, setBases] = useState([]);\n const [base, setBase] = useState(null);\n\n const tableOptions = {\n ...options,\n page: page,\n total: totalCount,\n pageSize: pageSize,\n search: false,\n };\n\n const handleviewInfoIcon = () => {\n setAction('viewddpart');\n setCurrentSelection({});\n }\n\n const renderViewInfoIcon = (rowData) => {\n\n return (\n
\n \n
\n )\n }\n\n const columns = [\n {\n title: \"Date/Time\",\n field: \"raised\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n\n },\n {\n title: \"A/C Reg\",\n field: \"reqNum\",\n headerStyle: {\n textAlign: \"center\",\n },\n cellStyle: {\n textAlign: \"center\",\n },\n\n },\n {\n title: \"Base\",\n field: \"customer\",\n },\n {\n title: \"Customer TLP/ DO\",\n field: \"ddNum\",\n },\n {\n title: \"MRO Report #\",\n field: \"partNum\",\n },\n {\n title: \"Part #\",\n field: \"descr\",\n },\n // {\n // title: \"Order #\",\n // field: \"worder_number\",\n // },\n // {\n // title: \"Base\",\n // field: \"base\",\n // },\n // {\n // title: \"A/C Reg\",\n // field: \"acReg\",\n // },\n \n \n \n {\n title: \"Description\",\n field: \"qtyReq\",\n },\n {\n title: \"Part Owner\",\n field: \"allocated\",\n },\n {\n title: \"QTY\",\n field: \"picked\",\n },\n {\n title: \"Value\",\n field: \"issued\",\n },\n {\n title: \"Total\",\n field: \"complete\",\n }\n ];\n\n const handleBaseChange = ({ target: { value } }) => {\n setBase(value);\n };\n\n\n const handleDateChange = (value) => {\n setValue(value);\n if (value) {\n setStartDate(moment(value[0]).format(\"DD/MM/YYYY\"));\n setEndDate(moment(value[1]).format(\"DD/MM/YYYY\"));\n }\n };\n\n\n const handleCustomerChange = (event) => {\n\n };\n\n const handleNewDDPart = () => {\n setAction('view');\n setCurrentSelection({});\n }\n\n return (\n
\n {\n TableAction.setPage(dispatch, 0);\n setSearchText(value);\n }}\n >\n\n \n handleCustomerChange(event)}\n id=\"tags-standard\"\n value={lineCustomers.name}\n defaultValue={\"\"}\n input={}\n >\n Customer (All)\n {lineCustomers &&\n lineCustomers.map((lineCustomer, i) => (\n \n {lineCustomer.name}\n \n ))}\n \n \n \n }\n >\n Base (All)\n\n \n \n\n \n }\n >\n Part Owner (All)\n\n \n \n\n\n \n \n \n\n \n\n\n {\n TableAction.setPage(dispatch, page);\n }}\n onChangeRowsPerPage={(pageSize) => {\n TableAction.setPageSize(dispatch, pageSize);\n }}\n totalCount={totalCount}\n page={page}\n\n />\n\n
\n
\n\n
\n handleNewDDPart()}\n startIcon={}\n >\n Download CSV\n \n
\n\n
\n
\n\n\n );\n\n}\n\n\nexport default LineParts;","import React, { useState, useEffect } from \"react\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Box,\n Grid,\n} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport MROButton from \"components/buttons\";\nimport { Typography } from \"@material-ui/core\";\nimport Google from \"assets/google.svg\";\nimport Authy from \"assets/authy.svg\";\nimport QRCode from \"qrcode.react\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { useContext } from \"react\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport UserIcon from \"@material-ui/icons/PersonOutlined\";\nimport useAuthStyles from \"./auth_styles\";\nimport LockIcon from \"@material-ui/icons/LockOutlined\";\nimport AuthClient from \"lib/services/api/auth_services\";\nimport AuthActions from \"actions/auth_actions\";\n\nconst useStyles = makeStyles((theme) => ({\n actionButtons: {\n paddingTop: \"170px\",\n paddingBottom: \"33px\",\n textAlign: \"center\",\n \"& button:not(:last-child)\": {\n marginRight: \"15px\",\n },\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"26%\",\n },\n },\n title: {\n \"& h2\": {\n fontSize: \"40px\",\n fontWeight: 600,\n },\n },\n card: {\n width: \"82%\",\n backgroundColor: \"#fff\",\n color: '#000000CC',\n boxShadow: \"0px 3px 6px #0000001A\",\n // padding: \"35px\",\n marginTop: \"20px\",\n paddingBottom: \"15px\",\n marginLeft: \"32px\",\n borderRadius: \"10px\"\n },\n cards: {\n width: \"82%\",\n backgroundColor: \"#fff\",\n color: '#000000CC',\n boxShadow: \"0px 3px 6px #0000001A\",\n // padding: \"35px\",\n marginTop: \"20px\",\n marginLeft: \"32px\",\n borderRadius: \"10px\",\n padding: \"10px\"\n },\n}));\n\n\nexport default function TotpAuthStep2(props) {\n const classes = useStyles();\n const message = useContext(ToastMessageContext)\n const { handleClose, open, setOtpMethod, factAndEntityId, closeHandler, email, password, application, browser, dispatch, authMethod } = { ...props };\n const [busy, setBusy] = useState();\n const [verified, setVerified] = useState(null)\n\n useEffect(() => {\n if (verified == \"verified\")\n AuthActions.userSignIn(dispatch, { email: email, verified_otp: true, success: true, password: password, application: application, browser: browser });\n }, [verified])\n\n\n const handleSubmit = (e) => {\n e.preventDefault();\n const formData = new FormData(e.target)\n const otp = formData.get(\"otp\")\n setBusy(\"loading\")\n const params = {\n otp: otp,\n factor_sid: factAndEntityId?.factorSid,\n entity_sid: factAndEntityId?.entitySid,\n qr_code_link: factAndEntityId?.qrLink,\n stamp_number: authMethod?.stamp_number\n }\n AuthClient.verifyTOTPQR(params)\n .then((res) => {\n setBusy(null)\n if (res?.data?.factor_status == \"verified\") {\n setVerified(res?.data?.factor_status)\n closeHandler()\n message.showToastMessage({\n message: \"Otp Verified successfully\",\n variant: \"success\",\n });\n } else {\n closeHandler()\n setBusy(null)\n message.showToastMessage({\n message: \"Entered OTP is invalid\",\n variant: \"error\",\n });\n }\n })\n .catch((err) => {\n closeHandler()\n setBusy(null)\n message.showToastMessage({\n message: \"Entered OTP is invalid\",\n variant: \"error\",\n });\n })\n }\n\n\n const closeHandlerFunc = () => {\n setOtpMethod(true)\n handleClose()\n }\n\n return (\n
\n \n \n \n TOTP Code\n \n \n\n
\n \n
\n \n Download your preferred “TOTP”

\n     APP and scan the QR code\n
\n
\n\n \n Example APPs\n \n \n {\" \"}\n \"Icon\"{\" \"}\n \n \n {\" \"}\n \"Icon\"{\" \"}\n \n\n \n \n \n Google Authenticator\n \n \n Twillio Authy\n \n \n \n\n \n \n Enter the verification code provided by the

\n     APP to verify the QR code scanned\n
\n
\n \n setOtpNum(e.target.value)}\n // error={!!error.email}\n // helperText={error.email ? error.email : null}\n // onFocus={() => { setError(false) }}\n startAdornment={\n \n \n }\n />\n \n\n
\n\n
\n \n Cancel\n \n \n Done\n \n
\n
\n \n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n Box,\n Grid,\n CircularProgress\n} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport MROButton from \"components/buttons\";\nimport { Typography } from \"@material-ui/core\";\nimport Google from \"assets/google.svg\";\nimport Authy from \"assets/authy.svg\";\nimport QRCode from \"qrcode.react\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { useContext } from \"react\";\nimport AuthClient from \"../../lib/services/api/auth_services\";\nimport TotpAuthStep2 from \"./TotpAuthStep2\";\nimport LoadingIndicator from \"components/universal/loading_indicator\";\n\nconst useStyles = makeStyles((theme) => ({\n actionButtons: {\n paddingTop: \"20px\",\n paddingBottom: \"33px\",\n textAlign: \"center\",\n \"& button:not(:last-child)\": {\n marginRight: \"15px\",\n },\n },\n modal: {\n \"& .MuiDialog-paperWidthMd\": {\n width: \"26%\",\n },\n },\n title: {\n \"& h2\": {\n fontSize: \"40px\",\n fontWeight: 600,\n },\n },\n card: {\n width: \"82%\",\n backgroundColor: \"#fff\",\n color: '#000000CC',\n boxShadow: \"0px 3px 6px #0000001A\",\n // padding: \"35px\",\n marginTop: \"20px\",\n paddingBottom: \"15px\",\n marginLeft: \"32px\",\n borderRadius: \"10px\"\n },\n cards: {\n width: \"82%\",\n backgroundColor: \"#fff\",\n color: '#000000CC',\n boxShadow: \"0px 3px 6px #0000001A\",\n // padding: \"35px\",\n marginTop: \"20px\",\n marginLeft: \"32px\",\n borderRadius: \"10px\",\n padding: \"10px\"\n },\n}));\n\n\nexport default function TotpAuth(props) {\n const classes = useStyles();\n const message = useContext(ToastMessageContext)\n const { handleClose, open, setOtpMethod, factAndEntityId, setFactAndEntityId, authMethod } = { ...props };\n const [busy, setBusy] = useState(null);\n const [step_2, setStep_2] = useState(false)\n const [qrCodeLink, setQrCodeLink] = useState(null)\n const [qrcode, setQrCode] = useState(\"\")\n const [isGettingDetails, setIsGettingDetails] = useState(false)\n\n useEffect(() => {\n window.process = {\n ...window.process,\n };\n }, []);\n\n const closeHandler = () => {\n setOtpMethod(true)\n handleClose()\n }\n const doneCloseHandler = () => {\n setStep_2(true)\n }\n\n useEffect(()=>{\n if(qrCodeLink != null){\n setQrCode(qrCodeLink)\n }\n },[qrCodeLink])\n\n useEffect(() => {\n setIsGettingDetails(true)\n AuthClient.sendQRCodeLink({stamp_number: authMethod?.stamp_number})\n .then((res) => {\n if (res?.success) {\n setIsGettingDetails(false)\n setFactAndEntityId({ factorSid: res?.data?.factor_sid, entitySid: res?.data?.entity_sid, qrLink:res?.data?.qr_code_link })\n setQrCodeLink(res?.data?.qr_code_link)\n } else {\n setIsGettingDetails(false)\n closeHandler()\n message.showToastMessage({\n message: \"Maximum attempt reached!!\",\n variant: \"error\",\n });\n }\n })\n .catch((err) => {\n closeHandler()\n setIsGettingDetails(false)\n message.showToastMessage({\n message: \"Maximum attempt reached!!\",\n variant: \"error\",\n });\n })\n }, [])\n\n return (\n
\n \n \n \n TOTP Code\n \n \n\n
\n \n
\n \n Download your preferred “TOTP”

\n     APP and scan the QR code\n
\n
\n\n \n Example APPs\n \n \n {\" \"}\n \"Icon\"{\" \"}\n \n \n {\" \"}\n \"Icon\"{\" \"}\n \n\n \n \n \n Google Authenticator\n \n \n Twillio Authy\n \n \n \n\n {isGettingDetails ? : qrCodeLink != null &&\n \n \n \n \n }\n\n
\n\n
\n \n Cancel\n \n \n Done\n \n
\n
\n \n {step_2 &&\n setStep_2(false)}\n setOtpMethod={setOtpMethod}\n setCheckBoxState={setStep_2}\n qrCodeLink={qrCodeLink}\n closeHandler={closeHandler}\n factAndEntityId={factAndEntityId}\n authMethod={authMethod}\n />\n }\n
\n );\n}\n","import React, { useState, useContext, useEffect, useReducer } from 'react';\nimport Button from '@material-ui/core/Button';\nimport Typography from \"@material-ui/core/Typography/Typography\";\nimport AuthClient from \"../../lib/services/api/auth_services\";\nimport { validateEmail } from \"../../lib/utils/common_utils\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport OutlinedInput from \"@material-ui/core/OutlinedInput\";\nimport UserIcon from \"@material-ui/icons/PersonOutlined\";\nimport useAuthStyles from \"./auth_styles\";\nimport LockIcon from \"@material-ui/icons/LockOutlined\";\nimport { Grid } from \"@material-ui/core\";\nimport { ToastMessageContext } from 'lib/contexts/message_context';\nimport TotpAuth from './TotpAuth';\n// import TwoFactorAuthActions from 'actions/Two_factor_auth';\nimport authReducer, { INITIAL_STATE } from 'reducers/auth_reducer';\nimport AuthActions from 'actions/auth_actions';\n\n\n\n\nexport default function TwoFactorAuth(props) {\n const classes = useAuthStyles();\n const [authState, dispatch] = useReducer(authReducer, INITIAL_STATE);\n const authMethod = JSON.parse(sessionStorage.getItem('user'));\n const messages = useContext(ToastMessageContext)\n const { email, password, application, browser, entitySid } = props.location\n const [loading, setLoading] = useState(false);\n const [message, setMessage] = useState(null);\n const [error, setError] = useState({});\n const [otpMethod, setOtpMethod] = useState(false)\n const [checked, setChecked] = useState(authMethod?.auth_method == \"qrcode\" ? 1 :\n authMethod?.auth_method == \"email\" ? 3 : authMethod?.auth_method == \"phone\" ? 2 : 1)\n const [otpNum, setOtpNum] = useState(null)\n const [verified, setVerified] = useState(null)\n const [factAndEntityId, setFactAndEntityId] = useState({})\n const [step_1, setStep_1] = useState(false)\n\n // console.log(\"verified is==========================\", authState.error)\n\n useEffect(() => {\n if (verified == \"approved\")\n AuthActions.userSignIn(dispatch, { email: email, verified_otp: true, success: true, password: password, application: application, browser: browser });\n }, [verified])\n\n const options = [\n {\n name: \"TOTP Authentication APP (setup new device)\",\n selected: null,\n id: 1\n },\n {\n name: \"SMS / Text Message code\",\n selected: null,\n id: 2\n },\n {\n name: \"Email code\",\n selected: null,\n id: 3\n },\n ]\n\n const handleClick = (id) => {\n setChecked((prev) => (id == prev ? null : id))\n }\n\n const handleOtpMethod = () => {\n if (checked == 3) {\n AuthClient.sendOtpByEmail({ stamp_number: authMethod?.stamp_number })\n .then((res) => {\n if (res?.success) {\n messages.showToastMessage({\n message: \"OTP has been sent to your registered email id\",\n variant: \"success\",\n });\n } else {\n res.errors &&\n messages.showToastMessage({\n message: res.errors.join(\",\"),\n variant: \"error\",\n });\n }\n })\n .catch((err) => {\n messages.showToastMessage({\n message: \"Something went wrong. Try Again\",\n variant: \"error\",\n });\n })\n } else if (checked == 2) {\n AuthClient.sendOtpByPhone({ stamp_number: authMethod?.stamp_number })\n .then((res) => {\n if (res?.success) {\n messages.showToastMessage({\n message: \"OTP has been sent to your registered mobile number\",\n variant: \"success\",\n });\n } else {\n res.errors &&\n messages.showToastMessage({\n message: res.errors.join(\",\"),\n variant: \"error\",\n });\n }\n })\n .catch((err) => {\n messages.showToastMessage({\n message: \"Something went wrong. Try Again\",\n variant: \"error\",\n });\n })\n }\n }\n\n useEffect(() => {\n if (authMethod?.auth_method == \"email\") {\n const params = {\n stamp_number: authMethod?.stamp_number\n }\n AuthClient.sendOtpByEmail(params)\n .then((res) => {\n if (res?.success) {\n messages.showToastMessage({\n message: \"OTP has been sent to your registered mail id\",\n variant: \"success\",\n });\n } else {\n res.errors &&\n messages.showToastMessage({\n message: res.errors.join(\",\"),\n variant: \"error\",\n });\n }\n })\n .catch((err) => {\n messages.showToastMessage({\n message: \"Something went wrong. Try Again\",\n variant: \"error\",\n });\n })\n }\n if (authMethod?.auth_method == \"phone\") {\n AuthClient.sendOtpByPhone({ stamp_number: authMethod?.stamp_number })\n .then((res) => {\n if (res?.success) {\n messages.showToastMessage({\n message: \"OTP has been sent to your registered mobile number\",\n variant: \"success\",\n });\n } else {\n res.errors &&\n messages.showToastMessage({\n message: res.errors.join(\",\"),\n variant: \"error\",\n });\n }\n })\n .catch((err) => {\n messages.showToastMessage({\n message: \"Something went wrong. Try Again\",\n variant: \"error\",\n });\n })\n }\n }, [])\n\n const handleClickNext = () => {\n if (checked != 1) {\n handleOtpMethod()\n }\n // if (checked === 1) {\n // setCheckBoxState(true)\n // }\n setOtpMethod(!otpMethod)\n }\n\n const handleSubmit = (e) => {\n e.preventDefault();\n let params = {}\n if (!validateEmail(email)) {\n setError({ email: \"invalid format, provide valid email\" });\n return;\n }\n\n if (checked != 2 && checked != 3) {\n params = {\n otp: otpNum,\n stamp_number: authMethod?.stamp_number\n // factor_sid: factAndEntityId?.factorSid,\n // entity_sid: factAndEntityId?.entitySid\n }\n } else {\n params = {\n otp: otpNum,\n stamp_number: authMethod?.stamp_number\n }\n }\n if (checked == 3) {\n AuthClient.verifyOtpEmail(params)\n .then((res) => {\n if (res?.data == \"approved\") {\n setVerified(res?.data)\n messages.showToastMessage({\n message: \"Verified successfully\",\n variant: \"success\",\n });\n } else {\n messages.showToastMessage({\n message: \"Entered OTP is invalid\",\n variant: \"error\",\n });\n }\n })\n .catch((err) => {\n messages.showToastMessage({\n message: \"Entered OTP is invalid\",\n variant: \"error\",\n });\n })\n } else if (checked == 2) {\n AuthClient.verifyOtpPhone(params)\n .then((res) => {\n if (res?.data == \"approved\") {\n setVerified(res?.data)\n messages.showToastMessage({\n message: \"Verified successfully\",\n variant: \"success\",\n });\n } else {\n messages.showToastMessage({\n message: \"Entered OTP is invalid\",\n variant: \"error\",\n });\n }\n })\n .catch((err) => {\n messages.showToastMessage({\n message: \"Entered OTP is invalid\",\n variant: \"error\",\n });\n })\n } else {\n AuthClient.verifyTOTPCode(params)\n .then((res) => {\n if (res?.data?.challenge_status == \"approved\") {\n setVerified(res?.data?.challenge_status)\n messages.showToastMessage({\n message: \"Verified successfully\",\n variant: \"success\",\n });\n } else if (res?.data?.challenge_status == \"pending\") {\n messages.showToastMessage({\n message: res?.data?.message,\n variant: \"error\",\n });\n } else {\n messages.showToastMessage({\n message: res?.errors,\n variant: \"error\",\n });\n }\n })\n .catch((err) => {\n messages.showToastMessage({\n message: err?.errors,\n variant: \"error\",\n });\n })\n }\n }\n\n useEffect(() => {\n if (otpMethod) setOtpNum(\"\")\n }, [otpMethod])\n\n\n return (\n
\n
\n
\n {!!!message ?
\n {/* Reset Password */}\n
OTP
\n \n { setError(false) }}\n startAdornment={\n \n \n }\n />\n \n \n setOtpNum(e.target.value)}\n error={!!error.email}\n helperText={error.email ? error.email : null}\n onFocus={() => { setError(false) }}\n startAdornment={\n \n \n }\n />\n \n\n {otpMethod &&\n \n

Set your preferred OTP channel

\n {options.map((item) =>\n (\n \n handleClick(item.id)}\n // defaultChecked={true}\n checked={item.id === checked}\n name={item.name}\n />  \n {item.id == 1 ? \n TOTP Authentication APP setStep_1(true)} >{(setup new device)} : item.name}\n \n )\n )}\n {/*   TOTP Authentication APP (recommended)\n   SMS / Text Message code\n   Email code */}\n
\n }\n\n
\n setOtpMethod(!otpMethod)}>\n Change OTP method?\n \n
\n {otpMethod &&\n
\n \n {\"Next\"}\n \n
}\n {!otpMethod &&\n <>\n \n {\"Log in\"}\n \n
\n {authState.error.message || null}\n\n
\n }\n :
\n \n {message.message}\n \n {!message.success && setMessage(null)}\n >\n Retry\n }\n {message.message &&\n props.history.push('/auth/signin')}>\n Sign in\n \n }\n }\n
\n
\n {\"mro\n
\n {checked === 1 && step_1 &&\n setStep_1(false)}\n setOtpMethod={setOtpMethod}\n otpMethod={otpMethod}\n setCheckBoxState={setStep_1}\n factAndEntityId={factAndEntityId}\n email={email}\n password={password}\n application={application}\n browser={browser}\n setFactAndEntityId={setFactAndEntityId}\n dispatch={dispatch}\n authMethod={authMethod}\n />}\n
\n );\n}","import MaterialTable from \"material-table\";\nimport React from \"react\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MailSend from \"assets/mail-send.svg\";\n\nconst FavouritesTable = (props) => {\n const {\n loading,\n page,\n pageSize,\n totalCount,\n setPage,\n setPageSize,\n handleOpenAction,\n tableData,\n } = props;\n\n const tableOptions = {\n ...options,\n page,\n total: totalCount,\n pageSize,\n search: false,\n toolbar: false,\n };\n\n const columns = [\n {\n title: \"Report #\",\n field: \"id\",\n headerStyle: {\n textAlign: \"left\",\n width: \"7%\",\n paddingLeft: \"15px\",\n },\n cellStyle: {\n width: \"7%\",\n paddingLeft: \"15px\",\n },\n },\n\n {\n title: \"Category\",\n field: \"category\",\n headerStyle: {\n width: \"7%\",\n textAlign: \"left\",\n },\n cellStyle: {\n width: \"7%\",\n textAlign: \"left\",\n },\n },\n\n {\n title: \"Name\",\n field: \"name\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n\n {\n title: \"Action\",\n field: \"action\",\n headerStyle: {\n width: \"7%\",\n },\n cellStyle: {\n width: \"7%\",\n },\n render: (rowData) => (\n handleOpenAction(rowData)}\n style={{\n backgroundColor: \"transparent\",\n cursor: \"pointer\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}>\n \"Icon\"\n \n ),\n },\n ];\n const tableStyle = { boxShadow: \"0px 1px 3px #00000033\" };\n const localization = {\n body: {\n emptyDataSourceMessage: \"No Favourites found\",\n },\n };\n const handlePageChange = (changedPage) => setPage(changedPage);\n const handlePageSizeChange = (changedPageSize) =>\n setPageSize(changedPageSize);\n\n return (\n \n );\n};\n\nexport default FavouritesTable;\n","import requestApi from \"../common/boxp_api_client\";\nimport requestrApi from \"../common/boxr_api_client\";\n\n// const addFinding = (formData) => {\n// return requestApi({\n// url: \"sms/inputs/add_findings\",\n// method: \"POST\",\n// data: formData,\n// });\n// };\n\nconst getCategories = (params) => {\n return requestApi({\n url: \"reports/get_categories\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst getFavouriteReports = (params) => {\n return requestApi({\n url: \"reports\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst getAllReports = (params) => {\n return requestApi({\n url: \"reports/all_reports\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst getAdminReports = (params) => {\n return requestApi({\n url: \"reports/admin_reports\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst toggleFavourite = (params) => {\n return requestApi({\n url: \"reports/toggle_favourite\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst getReportParams = (params) => {\n return requestApi({\n url: \"reports/report_params\",\n method: \"GET\",\n params: params,\n });\n};\n\nconst generateReport = (formData) => {\n return requestApi({\n url: \"reports/generate_report\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst updateReportUserGroups = (formData) => {\n return requestApi({\n url: \"reports/update_report_user_groups\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst updateReportUsers = (formData) => {\n return requestApi({\n url: \"reports/update_report_users\",\n method: \"POST\",\n data: formData,\n });\n};\n\nconst ReportsServices = {\n updateReportUserGroups,\n updateReportUsers,\n getReportParams,\n getCategories,\n getAllReports,\n getFavouriteReports,\n getAdminReports,\n toggleFavourite,\n generateReport,\n};\n\nexport default ReportsServices;\n","import { ToastMessageContext } from \"lib/contexts/message_context\";\nimport ReportsServices from \"lib/services/api/reports/reports\";\nimport { getOrganisationId, getUserId } from \"lib/utils/common_utils\";\nimport useDebounce from \"lib/utils/debounce\";\nimport React, { useContext, useEffect, useState } from \"react\";\n\nconst useGetReportsTableData = (\n filterValues,\n searchText,\n page,\n pageSize,\n type\n) => {\n const [data, setData] = useState([]);\n const [totalCount, setTotalCount] = useState(0);\n const [loading, setLoading] = useState(false);\n const message = useContext(ToastMessageContext);\n\n const debouncedSearchText = useDebounce(searchText);\n\n const getReportsTableData = async () => {\n try {\n setLoading(true);\n const params = {\n page: page + 1,\n limit: pageSize,\n search: debouncedSearchText || \"\",\n organisation_id: getOrganisationId(),\n };\n if (type !== \"admin\") {\n params[\"user_id\"] = getUserId();\n }\n\n for (let i in filterValues) {\n if (filterValues[i] !== \"\") {\n params[i] = filterValues[i];\n }\n }\n const reqFuncs = {\n favourites: ReportsServices.getFavouriteReports,\n allReports: ReportsServices.getAllReports,\n admin: ReportsServices.getAdminReports,\n };\n\n const response = reqFuncs[type] && (await reqFuncs[type](params));\n if (response?.success) {\n setData(response.data);\n setTotalCount(response.total_count);\n } else {\n throw new Error();\n }\n } catch (error) {\n setData([]);\n setTotalCount(0);\n message.showToastMessage({\n message: \"Something went wrong. Try Again!\",\n variant: \"error\",\n });\n } finally {\n setLoading(false);\n }\n };\n\n useEffect(() => {\n getReportsTableData();\n }, [page, pageSize, filterValues, debouncedSearchText]);\n\n return { loading, tableData: data, totalCount, refetch: getReportsTableData };\n};\n\nexport default useGetReportsTableData;\n","import { ToastMessageContext } from \"lib/contexts/message_context\";\nimport ReportsServices from \"lib/services/api/reports/reports\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport React, { useContext, useEffect, useState } from \"react\";\n\nconst useGetFilterOptions = () => {\n const [filterOptions, setFilterOptions] = useState({});\n const message = useContext(ToastMessageContext);\n\n const getDropdownOptions = async () => {\n try {\n const organisation_id = getOrganisationId();\n const response = await ReportsServices.getCategories({ organisation_id });\n\n const transformedCategoryOptions =\n response?.data?.map((category) => {\n return { id: category?.id, value: category?.name };\n }) || [];\n\n setFilterOptions({\n categories: transformedCategoryOptions,\n });\n } catch (err) {\n message.showToastMessage({\n message: \"Something went wrong while fetching options. Try again!\",\n variant: \"error\",\n });\n }\n };\n\n useEffect(() => {\n getDropdownOptions();\n }, []);\n\n return filterOptions;\n};\n\nexport default useGetFilterOptions;\n","import { ToastMessageContext } from \"lib/contexts/message_context\";\nimport LineCustomerService from \"lib/services/api/admin/line/line_customer_client_new\";\nimport MySmsServices from \"lib/services/api/sms/my_sms_service\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport React, { useContext, useEffect, useState } from \"react\";\n\nconst useGetReportFormDropdowns = () => {\n const message = useContext(ToastMessageContext);\n\n const [dropdownOptions, setDropdownOptions] = useState({});\n\n const [loading, setLoading] = useState(false);\n\n const getFormDropdownOptions = async () => {\n try {\n setLoading(true);\n const organisation_id = getOrganisationId();\n\n const [baseResponse, customersResponse, usersResponse] =\n await Promise.all([\n MySmsServices.getBaseStation({\n organisation_id,\n order_by: \"station\",\n }),\n MySmsServices.getCustomersList({ organisation_id }),\n MySmsServices.getUsersList({ organisation_id }),\n ]);\n\n const transformedBaseOptions =\n baseResponse?.data?.map((base) => {\n return { id: base?.id, value: base?.station };\n }) || [];\n\n const transformedCustomers =\n customersResponse?.line_customers?.map((customer) => {\n return { id: customer?.id, value: customer?.name };\n }) || [];\n\n const transformedUsers =\n usersResponse?.data?.user?.map((user) => {\n return { id: user?.id, value: user?.user_name };\n }) || [];\n\n setDropdownOptions({\n user_id: [{ id: \"all\", value: \"All\" }, ...transformedUsers],\n base_station_id: [\n { id: \"all\", value: \"All\" },\n ...transformedBaseOptions,\n ],\n line_customer_id: [\n { id: \"all\", value: \"All\" },\n ...transformedCustomers,\n ],\n });\n } catch (err) {\n message.showToastMessage({\n message: \"Something went wrong. Try again!\",\n variant: \"error\",\n });\n } finally {\n setLoading(false);\n }\n };\n\n useEffect(() => {\n getFormDropdownOptions();\n }, []);\n\n return { dropdownOptions, loading };\n};\n\nexport default useGetReportFormDropdowns;\n","import { Box, Dialog, Grid, MenuItem, Typography } from \"@material-ui/core\";\nimport MROButton from \"components/buttons\";\nimport LoadingIndicator from \"components/universal/loading_indicator\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport React, { useContext, useEffect, useState } from \"react\";\nimport useGetReportFormDropdowns from \"./useGetReportFormDropdowns\";\nimport MROTextField from \"components/form_components/TextField\";\nimport SMSReportToggle from \"views/SMS/MySMS/Header/SMSReportToggle\";\nimport DateTimeField from \"components/form_components/LMEventsDateTimeField\";\nimport DateField from \"components/form_components/DateField\";\nimport PlanningTimeField from \"components/form_components/PlanningTimeField\";\nimport moment from \"moment\";\nimport { getOrganisationId, getUserId } from \"lib/utils/common_utils\";\nimport ReportsServices from \"lib/services/api/reports/reports\";\n\nconst yesOrNoToggleOptions = [\n { value: \"no\", label: \"No\" },\n { value: \"yes\", label: \"Yes\" },\n];\n\nconst ReportsAction = (props) => {\n const { handleCloseAction, currentSelection, refreshListing } = props;\n\n const message = useContext(ToastMessageContext);\n\n const [fieldsList, setFieldsList] = useState([]);\n\n const [reportsData, setReportsData] = useState({\n report_name: \"\",\n description: \"\",\n });\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const [formValues, setFormValues] = useState({});\n const [errors, setErrors] = useState({});\n\n const [loading, setLoading] = useState(false);\n\n const { loading: isDropdownsLoading, dropdownOptions } =\n useGetReportFormDropdowns();\n\n const getFieldsList = async () => {\n setLoading(true);\n try {\n const params = {\n report_id: currentSelection?.id,\n };\n\n const response = await ReportsServices.getReportParams(params);\n if (response?.success && response?.data) {\n setReportsData({\n report_name: response?.data?.report_name,\n description: response?.data?.description,\n });\n\n const semiFixedFieldsArray = [];\n\n const fieldMappings = {\n base_stations: {\n name: \"base_station_id\",\n title: \"Base\",\n description: \"Select the base location.\",\n type: \"dropdown\",\n default: \"all\",\n },\n line_customers: {\n name: \"line_customer_id\",\n title: \"Customer\",\n description: \"Select customer.\",\n type: \"dropdown\",\n default: \"all\",\n },\n users: {\n name: \"user_id\",\n title: \"User\",\n description: \"Select User.\",\n type: \"dropdown\",\n default: \"all\",\n },\n };\n Object.entries(fieldMappings).forEach(([key, field]) => {\n if (response?.data?.[key]) {\n semiFixedFieldsArray.push({ ...field });\n }\n });\n const dynamicFields = Object.values(response?.data?.params || {});\n const transformedFieldArray = [\n ...semiFixedFieldsArray,\n ...(dynamicFields || []),\n ];\n console.log(dynamicFields, \"dynamic fields\");\n\n setFieldsList(transformedFieldArray || []);\n\n if (Array.isArray(transformedFieldArray)) {\n const initialFormValues = {};\n const initialErrorValues = {};\n transformedFieldArray.forEach((field) => {\n if (!field) return;\n if (field?.type === \"boolean\") {\n if (typeof field?.default === \"boolean\") {\n initialFormValues[field?.name] = field?.default ? \"yes\" : \"no\";\n }\n } else {\n initialFormValues[field?.name] = field?.default;\n }\n initialErrorValues[field?.name] = false;\n });\n setFormValues(initialFormValues);\n setErrors(initialErrorValues);\n }\n } else {\n throw new Error();\n }\n } catch (err) {\n message.showToastMessage({\n message:\n err?.errors ||\n err?.message ||\n \"Something went wrong while fetching fields. Try again!\",\n variant: \"error\",\n });\n onCloseForm();\n } finally {\n setLoading(false);\n }\n };\n\n useEffect(() => {\n getFieldsList();\n }, []);\n\n const onCloseForm = () => {\n setFormValues({});\n setErrors({});\n handleCloseAction();\n };\n\n const validateForm = (form) => {\n const errorFields = {};\n const isEmpty = (value) =>\n value === \"\" ||\n value === null ||\n value === undefined ||\n (Array.isArray(value) && value.length === 0);\n\n const mandatoryFields = fieldsList?.map((field) => field?.name);\n mandatoryFields.forEach((field) => {\n if (isEmpty(form[field])) {\n errorFields[field] = true;\n }\n });\n setErrors((prev) => ({ ...prev, ...errorFields }));\n return Object.keys(errorFields).length === 0;\n };\n\n const getFormPayload = (form) => {\n const formData = new FormData();\n const normalFields = fieldsList?.filter(\n (field) => field?.type !== \"boolean\"\n );\n normalFields.forEach((field) => {\n if (field?.type === \"dropdown\") {\n if (form[field?.name] !== \"all\") {\n const paramName = [\n \"base_station_id\",\n \"line_customer_id\",\n \"user_id\",\n ].includes(field?.name)\n ? field?.name\n : `params[${field?.name}]`;\n formData.append(paramName, form[field?.name]);\n }\n } else if (field?.type === \"date_time\" || field?.type === \"date\") {\n formData.append(\n `params[${field?.name}]`,\n moment(form[field?.name], \"DD/MM/YYYY HH:mm:ss\").format(\n \"YYYY-MM-DD HH:mm:ss\"\n )\n );\n } else {\n formData.append(`params[${field?.name}]`, form[field?.name]);\n }\n });\n\n const booleanFields = fieldsList\n ?.filter((field) => field?.type === \"boolean\")\n ?.map((field) => field?.name);\n booleanFields.forEach((fieldName) =>\n formData.append(\n `params[${fieldName}]`,\n form[fieldName] === \"yes\" ? true : false\n )\n );\n formData.append(\"organisation_id\", getOrganisationId());\n formData.append(\"report_id\", currentSelection?.id);\n\n return formData;\n };\n\n const handleSubmitForm = async () => {\n setIsSubmitting(true);\n const isFormValid = validateForm(formValues);\n if (isFormValid) {\n try {\n const payload = getFormPayload(formValues);\n const response = await ReportsServices.generateReport(payload);\n if (response.success) {\n onCloseForm(true);\n refreshListing();\n\n setIsSubmitting(false);\n message.showToastMessage({\n message:\n response?.message ||\n \"Report Generation Started! You will receive an email once it is ready\",\n variant: \"success\",\n });\n }\n } catch (error) {\n setIsSubmitting(false);\n message.showToastMessage({\n message:\n error?.errors ||\n error?.message ||\n \"Something went wrong while submitting the report.\",\n variant: \"error\",\n });\n }\n } else {\n setIsSubmitting(false);\n message.showToastMessage({\n message: \"Please fill all the mandatory fields\",\n variant: \"error\",\n });\n }\n };\n\n const clearError = (formFieldId) => {\n setErrors((prev) => ({ ...prev, [formFieldId]: false }));\n };\n\n const handleChangeInput = (formFieldId, enteredValue) => {\n setFormValues((prev) => ({ ...prev, [formFieldId]: enteredValue }));\n clearError(formFieldId);\n };\n\n const handleSelectInput = (formFieldId, selected) => {\n setFormValues((prev) => ({ ...prev, [formFieldId]: selected }));\n clearError(formFieldId);\n };\n\n const handleToggleInput = (formFieldId, value) => {\n setFormValues((prev) => ({ ...prev, [formFieldId]: value }));\n clearError(formFieldId);\n };\n console.log(errors, \"form errors\");\n return (\n \n \n \n Report Setup\n \n\n \n {reportsData?.description || \"\"}\n \n\n {loading || isDropdownsLoading ? (\n \n \n \n ) : (\n \n \n {fieldsList?.map((field) => {\n switch (field?.type) {\n case \"dropdown\":\n return (\n \n \n handleSelectInput(field?.name, event?.target?.value)\n }\n fullWidth\n value={formValues[field?.name]}>\n {dropdownOptions?.[field?.name]?.map((option) => (\n \n {option?.value}\n \n )) || []}\n \n \n );\n\n case \"boolean\":\n return (\n \n \n handleToggleInput(field?.name, value)\n }\n error={errors[field?.name]}\n />\n \n );\n\n case \"date_time\":\n return (\n \n \n handleChangeInput(field?.name, event)\n }\n />\n \n );\n\n case \"freetext\":\n return (\n \n \n handleChangeInput(field?.name, event?.target?.value)\n }\n />\n \n );\n\n case \"integer\":\n return (\n \n {\n const numericValue = e.target.value.replace(\n /[^0-9]/g,\n \"\"\n );\n handleChangeInput(\n field?.name,\n numericValue ? parseInt(numericValue) : \"\"\n );\n }}\n InputLabelProps={{ shrink: true }}\n value={\n isNaN(formValues[field?.name])\n ? \"\"\n : formValues[field?.name]\n }\n fullWidth\n />\n \n );\n\n case \"numeric\":\n return (\n \n {\n let value = e.target.value;\n if (/^\\d*\\.?\\d{0,2}$/.test(value)) {\n handleChangeInput(field?.name, value);\n }\n }}\n InputLabelProps={{ shrink: true }}\n value={\n isNaN(formValues[field?.name])\n ? \"\"\n : formValues[field?.name]\n }\n fullWidth\n />\n \n );\n\n case \"date\":\n return (\n \n \n handleChangeInput(field?.name, selected)\n }\n helperText={errors[field?.name] && \"*Invalid date\"}\n />\n \n );\n\n case \"time\":\n return (\n \n {\n handleChangeInput(\n field?.name,\n moment(e, \"DD/MM/YYYY HH:mm\").format(\"HH:mm\")\n );\n }}\n InputLabelProps={{ shrink: true }}\n />\n \n );\n }\n })}\n \n \n )}\n \n\n \n \n Cancel\n \n \n Complete\n \n \n \n );\n};\n\nexport default ReportsAction;\n","import { Box } from \"@material-ui/core\";\nimport React, { forwardRef, useImperativeHandle, useState } from \"react\";\nimport TableFilters from \"views/SMS/MySMS/TableFilters\";\nimport FavouritesTable from \"./FavouritesTable\";\nimport useGetReportsTableData from \"../useGetReportsTableData\";\nimport useGetFilterOptions from \"../useGetFilterOptions\";\nimport ReportsAction from \"../ReportsAction\";\n\nconst Favourites = forwardRef((props, ref) => {\n const [searchText, setSearchText] = useState(\"\");\n const [page, setPage] = useState(0);\n const [pageSize, setPageSize] = useState(10);\n\n const [openAction, setOpenAction] = useState({\n isOpen: false,\n currentSelection: null,\n });\n\n const [filterValues, setFilterValues] = useState({\n category_id: \"\",\n });\n\n const handleSearchTextChange = (value) => {\n setPage(0);\n setSearchText(value);\n };\n\n const handleFilterChange = (filterId, event) => {\n setFilterValues((prev) => {\n return { ...prev, [filterId]: event.target.value };\n });\n };\n\n const filterOptions = useGetFilterOptions();\n\n const { loading, totalCount, tableData, refetch } = useGetReportsTableData(\n filterValues,\n searchText,\n page,\n pageSize,\n \"favourites\"\n );\n\n const filtersList = [\n {\n name: \"category_id\",\n options: [\n { id: \"\", value: \"Category (All)\" },\n ...(filterOptions?.categories || []),\n ],\n },\n ];\n\n useImperativeHandle(ref, () => ({ refetch }));\n\n const handleOpenAction = (selected) => {\n if (!selected) return;\n setOpenAction({ isOpen: true, currentSelection: selected });\n };\n\n const handleCloseActions = () => {\n setOpenAction({ isOpen: false, currentSelection: null });\n };\n\n return (\n \n \n\n \n\n {openAction.isOpen && openAction.currentSelection ? (\n \n ) : null}\n \n );\n});\n\nexport default Favourites;\n","import MaterialTable from \"material-table\";\nimport React from \"react\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport MailSend from \"assets/mail-send.svg\";\nimport StarOutlineIcon from \"@material-ui/icons/StarOutline\";\nimport StarIcon from \"@material-ui/icons/Star\";\nimport { ICON_COLOUR } from \"lib/constants/style_constants\";\n\nconst AllReportsTable = (props) => {\n const {\n loading,\n page,\n pageSize,\n totalCount,\n setPage,\n setPageSize,\n handleOpenAction,\n handleChangeFavourite,\n tableData,\n } = props;\n\n const tableOptions = {\n ...options,\n page,\n total: totalCount,\n pageSize,\n search: false,\n toolbar: false,\n };\n\n const columns = [\n {\n title: \"Report #\",\n field: \"id\",\n headerStyle: {\n textAlign: \"left\",\n width: \"7%\",\n paddingLeft: \"15px\",\n },\n cellStyle: {\n width: \"7%\",\n paddingLeft: \"15px\",\n },\n },\n\n {\n title: \"Category\",\n field: \"category\",\n headerStyle: {\n width: \"7%\",\n textAlign: \"left\",\n },\n cellStyle: {\n width: \"7%\",\n textAlign: \"left\",\n },\n },\n\n {\n title: \"Name\",\n field: \"name\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n\n {\n title: \"Favourite\",\n field: \"favourite\",\n headerStyle: {\n width: \"7%\",\n },\n cellStyle: {\n width: \"7%\",\n },\n render: (rowData) => (\n handleChangeFavourite(rowData)}\n style={{\n backgroundColor: \"transparent\",\n cursor: \"pointer\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}>\n {rowData?.favourite ? (\n \n ) : (\n \n )}\n \n ),\n },\n\n {\n title: \"Action\",\n field: \"action\",\n headerStyle: {\n width: \"7%\",\n },\n cellStyle: {\n width: \"7%\",\n },\n render: (rowData) => (\n handleOpenAction(rowData)}\n style={{\n backgroundColor: \"transparent\",\n cursor: \"pointer\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}>\n \"Icon\"\n \n ),\n },\n ];\n const tableStyle = { boxShadow: \"0px 1px 3px #00000033\" };\n const localization = {\n body: {\n emptyDataSourceMessage: \"No Reports found\",\n },\n };\n const handlePageChange = (changedPage) => setPage(changedPage);\n const handlePageSizeChange = (changedPageSize) =>\n setPageSize(changedPageSize);\n\n return (\n \n );\n};\n\nexport default AllReportsTable;\n","import { Box } from \"@material-ui/core\";\nimport React, {\n forwardRef,\n useContext,\n useImperativeHandle,\n useState,\n} from \"react\";\nimport TableFilters from \"views/SMS/MySMS/TableFilters\";\nimport { getOrganisationId, getUserId } from \"lib/utils/common_utils\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport useGetReportsTableData from \"../useGetReportsTableData\";\nimport AllReportsTable from \"./AllReportsTable\";\nimport useGetFilterOptions from \"../useGetFilterOptions\";\nimport ReportsAction from \"../ReportsAction\";\nimport ReportsServices from \"lib/services/api/reports/reports\";\n\nconst AllReports = forwardRef((props, ref) => {\n const [searchText, setSearchText] = useState(\"\");\n const [page, setPage] = useState(0);\n const [pageSize, setPageSize] = useState(10);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const message = useContext(ToastMessageContext);\n\n const [openAction, setOpenAction] = useState({\n isOpen: false,\n currentSelection: null,\n });\n\n const [filterValues, setFilterValues] = useState({\n category_id: \"\",\n });\n\n const handleSearchTextChange = (value) => {\n setPage(0);\n setSearchText(value);\n };\n\n const handleFilterChange = (filterId, event) => {\n setFilterValues((prev) => {\n return { ...prev, [filterId]: event.target.value };\n });\n };\n\n const filterOptions = useGetFilterOptions();\n const { loading, totalCount, tableData, refetch } = useGetReportsTableData(\n filterValues,\n searchText,\n page,\n pageSize,\n \"allReports\"\n );\n\n const filtersList = [\n {\n name: \"category_id\",\n options: [\n { id: \"\", value: \"Category (All)\" },\n ...(filterOptions?.categories || []),\n ],\n },\n ];\n useImperativeHandle(ref, () => ({ refetch }));\n\n const handleOpenAction = (selected) => {\n if (!selected) return;\n setOpenAction({ isOpen: true, currentSelection: selected });\n };\n\n const handleCloseActions = () => {\n setOpenAction({ isOpen: false, currentSelection: null });\n };\n\n const handleFavouriteChange = async (selectedRow) => {\n setIsSubmitting(true);\n\n try {\n const payload = {\n user_id: getUserId(),\n organisation_id: getOrganisationId(),\n report_id: selectedRow?.id,\n };\n const response = await ReportsServices.toggleFavourite(payload);\n if (response.success) {\n message.showToastMessage({\n message: \"Favourites updated succesfully\",\n variant: \"success\",\n });\n refetch();\n setIsSubmitting(false);\n } else {\n throw new Error(response?.error);\n }\n } catch (error) {\n setIsSubmitting(false);\n message.showToastMessage({\n message:\n error?.message || \"Something went wrong while submitting the form.\",\n variant: \"error\",\n });\n }\n };\n\n const handleChangeFavourite = (selected) => {\n if (!selected) return;\n handleFavouriteChange(selected);\n };\n\n return (\n \n \n\n \n\n {openAction.isOpen && openAction.currentSelection ? (\n \n ) : null}\n \n );\n});\n\nexport default AllReports;\n","import React, { useRef } from \"react\";\nimport ButtonGroupNavigation from \"components/button_group_navigation\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Switch, Route } from \"react-router-dom\";\nimport Favourites from \"./Favourites\";\nimport AllReports from \"./AllReports\";\n\nconst useStyles = makeStyles((theme) => ({\n subNavigation: {\n padding: \"1rem 0rem 0rem 2rem\",\n width: \"100%\",\n },\n}));\n\nexport default function Reports(props) {\n const classes = useStyles();\n const buttons = [\n { name: \"Favourites\", redirect: \"/org/reports/sub_reports/favourites\" },\n { name: \"All Reports\", redirect: \"/org/reports/sub_reports/all\" },\n ];\n const componentRef = useRef();\n\n return (\n
\n
\n \n
\n \n (\n \n )}\n permission={props?.permission}\n />\n\n (\n \n )}\n permission={props?.permission}\n />\n\n \n \n
\n );\n}\n","import { ToastMessageContext } from \"lib/contexts/message_context\";\nimport ReportsServices from \"lib/services/api/reports/reports\";\nimport MySmsServices from \"lib/services/api/sms/my_sms_service\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport React, { useContext, useEffect, useState } from \"react\";\n\nconst useGetSetupFilterOptions = () => {\n const [filterOptions, setFilterOptions] = useState({});\n const message = useContext(ToastMessageContext);\n\n const getDropdownOptions = async () => {\n try {\n const organisation_id = getOrganisationId();\n\n const [categoryResponse, userListResponse] = await Promise.all([\n ReportsServices.getCategories({ organisation_id }),\n MySmsServices.getUsersList({ organisation_id }),\n ]);\n\n const transformedCategoryOptions =\n categoryResponse?.data?.map((category) => {\n return { id: category?.id, value: category?.name };\n }) || [];\n\n const transformedUserGroupOptions =\n userListResponse?.data?.user_group?.map((user) => {\n return { id: user?.id, value: user?.name };\n }) || [];\n\n setFilterOptions({\n categories: transformedCategoryOptions,\n user_group: transformedUserGroupOptions,\n });\n } catch (err) {\n message.showToastMessage({\n message: \"Something went wrong while fetching options. Try again!\",\n variant: \"error\",\n });\n }\n };\n\n useEffect(() => {\n getDropdownOptions();\n }, []);\n\n return filterOptions;\n};\n\nexport default useGetSetupFilterOptions;\n","import MaterialTable from \"material-table\";\nimport React from \"react\";\nimport tableIcons, { options } from \"components/universal/table_attributes\";\nimport { Typography } from \"@material-ui/core\";\n\nconst SetupTable = (props) => {\n const {\n loading,\n page,\n pageSize,\n totalCount,\n setPage,\n setPageSize,\n handleClickUser,\n handleClickUserGroups,\n tableData,\n } = props;\n\n const tableOptions = {\n ...options,\n page,\n total: totalCount,\n pageSize,\n search: false,\n toolbar: false,\n };\n\n const columns = [\n {\n title: \"Report #\",\n field: \"id\",\n headerStyle: {\n textAlign: \"left\",\n width: \"7%\",\n paddingLeft: \"15px\",\n },\n cellStyle: {\n width: \"7%\",\n paddingLeft: \"15px\",\n },\n },\n\n {\n title: \"Category\",\n field: \"category\",\n headerStyle: {\n width: \"7%\",\n textAlign: \"left\",\n },\n cellStyle: {\n width: \"7%\",\n textAlign: \"left\",\n },\n },\n\n {\n title: \"Name\",\n field: \"name\",\n headerStyle: {\n textAlign: \"left\",\n },\n cellStyle: {\n textAlign: \"left\",\n },\n },\n\n {\n title: \"User Groups\",\n field: \"count_report_user_groups\",\n headerStyle: {\n width: \"7%\",\n },\n cellStyle: {\n width: \"7%\",\n },\n render: (rowData) => (\n handleClickUserGroups(rowData)}\n style={{\n backgroundColor: \"transparent\",\n cursor: \"pointer\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}>\n \n {rowData?.count_report_user_groups ?? 0}\n \n \n ),\n },\n\n {\n title: \"Users\",\n field: \"count_report_users\",\n headerStyle: {\n width: \"7%\",\n },\n cellStyle: {\n width: \"7%\",\n },\n render: (rowData) => (\n handleClickUser(rowData)}\n style={{\n backgroundColor: \"transparent\",\n cursor: \"pointer\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}>\n \n {rowData?.count_report_users ?? 0}\n \n \n ),\n },\n ];\n const tableStyle = { boxShadow: \"0px 1px 3px #00000033\" };\n const localization = {\n body: {\n emptyDataSourceMessage: \"No Reports found\",\n },\n };\n const handlePageChange = (changedPage) => setPage(changedPage);\n const handlePageSizeChange = (changedPageSize) =>\n setPageSize(changedPageSize);\n\n return (\n \n );\n};\n\nexport default SetupTable;\n","import React from \"react\";\nimport { Dialog, makeStyles, Typography, Box } from \"@material-ui/core\";\nimport { useState, useContext, useEffect } from \"react\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from \"components/buttons\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport LoadingIndicator from \"components/universal/loading_indicator\";\nimport MySmsServices from \"lib/services/api/sms/my_sms_service\";\nimport ReportsServices from \"lib/services/api/reports/reports\";\n\nconst useStyles = makeStyles(() => {\n return {\n popper: { maxHeight: \"250px\", overflow: \"hidden\" },\n };\n});\n\nconst UsersAction = (props) => {\n const classes = useStyles();\n const { handleCloseAction, currentSelection, refetch } = props;\n const message = useContext(ToastMessageContext);\n\n const [usersList, setUsersList] = useState([]);\n const [selectedUsers, setSelectedUsers] = useState([]);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const [loading, setLoading] = useState(false);\n\n const getUsersList = async () => {\n setLoading(true);\n\n try {\n const params = {\n organisation_id: getOrganisationId(),\n };\n const userListResponse = await MySmsServices.getUsersList(params);\n if (userListResponse?.success) {\n const transformedUserOptions =\n userListResponse?.data?.user?.map((user) => {\n return { id: user?.id, value: user?.user_name };\n }) || [];\n setUsersList(transformedUserOptions);\n if (currentSelection?.report_users?.length > 0) {\n let previouslySelected =\n transformedUserOptions?.filter((item) =>\n currentSelection?.report_users?.find(\n (selId) => selId?.user_id === item.id\n )\n ) || [];\n setSelectedUsers([...previouslySelected]);\n }\n } else {\n throw new Error();\n }\n } catch (err) {\n message.showToastMessage({\n message: \"Something went wrong while fetching options. Try again!\",\n variant: \"error\",\n });\n } finally {\n setLoading(false);\n }\n };\n\n useEffect(() => {\n getUsersList();\n }, []);\n\n const getPayload = () => {\n const formData = new FormData();\n formData.append(\"organisation_id\", getOrganisationId());\n formData.append(\"report_id\", currentSelection?.id);\n\n if (Array.isArray(selectedUsers)) {\n selectedUsers.forEach((selectedUser, index) => {\n if (!selectedUser) {\n return;\n }\n formData.append(`users_id[${[index]}]`, selectedUser?.id);\n });\n }\n return formData;\n };\n\n const handleSubmitForm = async () => {\n setIsSubmitting(true);\n try {\n const payload = getPayload();\n const response = await ReportsServices.updateReportUsers(payload);\n if (response.success) {\n message.showToastMessage({\n message: \"Users updated succesfully\",\n variant: \"success\",\n });\n refetch();\n handleCloseAction();\n setIsSubmitting(false);\n } else {\n throw new Error(response?.error);\n }\n } catch (error) {\n setIsSubmitting(false);\n message.showToastMessage({\n message:\n error?.message ||\n error?.errors ||\n \"Something went wrong while submitting the form.\",\n variant: \"error\",\n });\n }\n };\n\n return (\n \n \n \n \n Report Users\n \n\n \n {currentSelection?.report_number || \"\"}\n \n \n\n {loading ? (\n \n \n \n ) : (\n \n \n Users\n \n\n option.id === value.id}\n value={selectedUsers || []}\n multiple\n getOptionLabel={(option) => option?.value || \"\"}\n options={usersList || []}\n fullWidth\n onChange={(event, value) => {\n setSelectedUsers(value);\n }}\n renderInput={(params) => (\n \n )}\n />\n \n )}\n \n\n \n \n Cancel\n \n \n Complete\n \n \n \n );\n};\n\nexport default UsersAction;\n","import React from \"react\";\nimport { Dialog, makeStyles, Typography, Box } from \"@material-ui/core\";\nimport { useState, useContext, useEffect } from \"react\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport MROTextField from \"components/form_components/TextField\";\nimport MROButton from \"components/buttons\";\nimport { ToastMessageContext } from \"lib/contexts/message_context\";\nimport { getOrganisationId } from \"lib/utils/common_utils\";\nimport LoadingIndicator from \"components/universal/loading_indicator\";\nimport MySmsServices from \"lib/services/api/sms/my_sms_service\";\nimport ReportsServices from \"lib/services/api/reports/reports\";\n\nconst useStyles = makeStyles(() => {\n return {\n popper: { maxHeight: \"250px\", overflow: \"hidden\" },\n };\n});\n\nconst UserGroupsAction = (props) => {\n const classes = useStyles();\n const { handleCloseAction, currentSelection, refetch } = props;\n const message = useContext(ToastMessageContext);\n\n const [userGroupsList, setUserGroupsList] = useState([]);\n const [selectedUserGroups, setSelectedUserGroups] = useState([]);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const [loading, setLoading] = useState(false);\n\n const getUserGroupsList = async () => {\n setLoading(true);\n\n try {\n const params = {\n organisation_id: getOrganisationId(),\n };\n const userListResponse = await MySmsServices.getUsersList(params);\n if (userListResponse?.success) {\n const transformedUserGroupOptions =\n userListResponse?.data?.user_group?.map((userGroup) => {\n return { id: userGroup?.id, value: userGroup?.name };\n }) || [];\n setUserGroupsList(transformedUserGroupOptions);\n if (currentSelection?.report_user_groups?.length > 0) {\n let previouslySelected =\n transformedUserGroupOptions?.filter((item) =>\n currentSelection?.report_user_groups?.find(\n (selId) => selId?.user_group_id === item?.id\n )\n ) || [];\n setSelectedUserGroups([...previouslySelected]);\n }\n } else {\n throw new Error();\n }\n } catch (err) {\n message.showToastMessage({\n message: \"Something went wrong while fetching options. Try again!\",\n variant: \"error\",\n });\n } finally {\n setLoading(false);\n }\n };\n\n useEffect(() => {\n getUserGroupsList();\n }, []);\n\n const getPayload = () => {\n const formData = new FormData();\n formData.append(\"organisation_id\", getOrganisationId());\n formData.append(\"report_id\", currentSelection?.id);\n\n if (Array.isArray(selectedUserGroups)) {\n selectedUserGroups.forEach((selectedUserGroup, index) => {\n if (!selectedUserGroup) {\n return;\n }\n formData.append(`user_group_id[${[index]}]`, selectedUserGroup?.id);\n });\n }\n return formData;\n };\n\n const handleSubmitForm = async () => {\n setIsSubmitting(true);\n try {\n const payload = getPayload();\n const response = await ReportsServices.updateReportUserGroups(payload);\n if (response.success) {\n message.showToastMessage({\n message: \"User groups updated succesfully\",\n variant: \"success\",\n });\n refetch();\n handleCloseAction();\n setIsSubmitting(false);\n } else {\n throw new Error(response?.error);\n }\n } catch (error) {\n setIsSubmitting(false);\n message.showToastMessage({\n message:\n error?.message ||\n error?.errors ||\n \"Something went wrong while submitting.\",\n variant: \"error\",\n });\n }\n };\n\n return (\n \n \n \n \n Report User Groups\n \n\n \n {currentSelection?.report_number || \"\"}\n \n \n\n {loading ? (\n \n \n \n ) : (\n \n \n User Groups\n \n\n option.id === value.id}\n value={selectedUserGroups || []}\n multiple\n getOptionLabel={(option) => option?.value || \"\"}\n options={userGroupsList || []}\n fullWidth\n onChange={(event, value) => {\n setSelectedUserGroups(value);\n }}\n renderInput={(params) => (\n \n )}\n />\n \n )}\n \n\n \n \n Cancel\n \n \n Complete\n \n \n \n );\n};\n\nexport default UserGroupsAction;\n","import React, { forwardRef, useImperativeHandle, useState } from \"react\";\nimport useGetSetupFilterOptions from \"./useGetSetupFilterOptions\";\n\nimport TableFilters from \"views/SMS/MySMS/TableFilters\";\nimport { Box } from \"@material-ui/core\";\nimport SetupTable from \"./SetupTable\";\nimport UsersAction from \"./UsersAction\";\nimport UserGroupsAction from \"./UserGroupsAction\";\nimport useGetReportsTableData from \"views/NewReports/Reports/useGetReportsTableData\";\n\nconst Setup = forwardRef((props, ref) => {\n const [searchText, setSearchText] = useState(\"\");\n const [page, setPage] = useState(0);\n const [pageSize, setPageSize] = useState(10);\n\n const [openAction, setOpenAction] = useState({\n isOpen: false,\n currentSelection: null,\n type: null,\n });\n\n const [filterValues, setFilterValues] = useState({\n category_id: \"\",\n user_group_id: \"\",\n });\n\n const handleSearchTextChange = (value) => {\n setPage(0);\n setSearchText(value);\n };\n\n const handleFilterChange = (filterId, event) => {\n setFilterValues((prev) => {\n return { ...prev, [filterId]: event.target.value };\n });\n };\n\n const filterOptions = useGetSetupFilterOptions();\n\n const { loading, totalCount, tableData, refetch } = useGetReportsTableData(\n filterValues,\n searchText,\n page,\n pageSize,\n \"admin\"\n );\n\n const filtersList = [\n {\n name: \"category_id\",\n options: [\n { id: \"\", value: \"Category (All)\" },\n ...(filterOptions?.categories || []),\n ],\n },\n {\n name: \"user_group_id\",\n options: [\n { id: \"\", value: \"User Group (All)\" },\n ...(filterOptions?.user_group || []),\n ],\n },\n ];\n\n useImperativeHandle(ref, () => ({ refetch }));\n\n const handleUserAction = (selected) => {\n if (!selected) return;\n setOpenAction({ isOpen: true, currentSelection: selected, type: \"users\" });\n };\n const handleUserGroupAction = (selected) => {\n if (!selected) return;\n setOpenAction({\n isOpen: true,\n currentSelection: selected,\n type: \"user_groups\",\n });\n };\n\n const handleCloseActions = () => {\n setOpenAction({ isOpen: false, currentSelection: null, type: null });\n };\n\n return (\n \n \n\n \n {openAction.isOpen &&\n openAction.currentSelection &&\n openAction.type === \"users\" ? (\n \n ) : null}\n\n {openAction.isOpen &&\n openAction.currentSelection &&\n openAction.type === \"user_groups\" ? (\n \n ) : null}\n \n );\n});\n\nexport default Setup;\n","import React from \"react\";\nimport ButtonGroupNavigation from \"components/button_group_navigation\";\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\nimport { Switch, Route } from \"react-router-dom\";\nimport Setup from \"./Setup\";\n\nconst useStyles = makeStyles((theme) => ({\n subNavigation: {\n padding: \"1rem 0rem 0rem 2rem\",\n width: \"100%\",\n },\n}));\n\nexport default function Admin(props) {\n const classes = useStyles();\n const buttons = [{ name: \"Setup\", redirect: \"/org/reports/admin/setup\" }];\n return (\n
\n
\n \n
\n \n }\n permission={props?.permission}\n />\n \n \n
\n );\n}\n","import React, { useReducer, useState, useEffect } from \"react\";\nimport { Route, Switch, useHistory, useLocation } from \"react-router-dom\";\nimport FlightIcon from \"@material-ui/icons/FlightTakeoffOutlined\";\nimport authReducer, { INITIAL_STATE } from \"../../reducers/auth_reducer\";\nimport AuthActions from \"../../actions/auth_actions\";\nimport TopNavigationBar from \"../../components/tab_component\";\nimport PageNotFound from \"../../components/universal/page_not_found\";\nimport Reports from \"./Reports\";\nimport Admin from \"./Admin\";\n\nexport default function NewReports(props) {\n const topNavMenu = [\n {\n label: (\n
\n \n  Reports\n
\n ),\n name: \"Reports\",\n redirect: \"/org/reports/sub_reports/favourites\",\n section: \"/reports/sub_reports\",\n },\n {\n label: (\n
\n \n  Admin\n
\n ),\n name: \"Admin\",\n redirect: \"/org/reports/admin/setup\",\n section: \"/reports/admin\",\n },\n ];\n\n const Section = \"Reports\";\n const [authState, dispatch] = useReducer(authReducer, INITIAL_STATE);\n const [categories, setCategories] = useState([]);\n const [topMenus, setTopMenus] = useState([]);\n\n useEffect(() => {\n AuthActions.setUserData(dispatch, sessionStorage.getItem(\"authState\"));\n }, []);\n\n useEffect(() => {\n setCategories(\n authState?.authState?.categories?.find(\n (category) => category.name === Section\n ).sub_categories\n );\n }, [authState?.authState?.categories]);\n\n useEffect(() => {\n if (categories) {\n setTopMenus(\n topNavMenu.filter((section) => {\n return categories?.some((category) => {\n return category.name === section.name;\n });\n })\n );\n }\n }, [categories?.length]);\n\n const [permission, setPermission] = useState([]);\n useEffect(() => {\n setPermission(\n categories?.map((category) => {\n return authState.authState.permissions.find(\n (permission) => permission.source_id === category.id\n );\n })\n );\n }, [categories]);\n\n useEffect(() => {\n if (permission) {\n setTopMenus(\n topNavMenu.filter((section) => {\n return permission\n .filter((permission) => {\n return permission.read || permission.write;\n })\n ?.some((category) => {\n //\n return category.source_type === section.name;\n });\n })\n );\n }\n }, [permission]);\n\n return (\n
\n {!!topMenus.length && (\n <>\n \n \n (\n per?.source_type === \"Reports\"\n )}\n />\n )}\n />\n (\n per?.source_type === \"Admin\"\n )}\n />\n )}\n />\n\n \n \n \n )}\n
\n );\n}\n","import React, { Suspense, lazy, useReducer, useEffect } from 'react';\nimport { BrowserRouter as Router, Route, Switch } from 'react-router-dom';\nimport { requireAuth } from \"../Auth/hoc/require_auth\";\nimport SignIn from \"../Auth/signin\";\nimport ForgotPassword from \"../Auth/forgot_password_request\";\nimport Footer from \"../../components/universal/footer\";\nimport ResetPassword from \"../Auth/reset_password\";\nimport ToastMessage from \"../../components/universal/status_messages\";\nimport PageNotFound from \"../../components/universal/page_not_found\";\nimport LoadingIndicator from \"../../components/universal/loading_indicator\";\nimport SetPassword from '../Auth/set_password';\nimport SetPin from '../Auth/set_pin';\nimport authReducer, { INITIAL_STATE } from \"../../reducers/auth_reducer\";\nimport AuthActions from '../../actions/auth_actions';\nimport Home from '../Home';\nimport Dashboard from '../Dashboard';\nimport Reports from '../Reports';\nimport TwoFactorAuth from 'views/Auth/two_factor_auth';\nimport NewReports from '../NewReports';\nconst Info = lazy(() => import('../Info'));\nconst ComplianceSection = lazy(() => import('../Compliance'));\nconst ProcurementSection = lazy(() => import('../Procurement'));\nconst AdminSection = lazy(() => import('../Admin'));\nconst StoreSection = lazy(() => import('../Stores'));\nconst OperationsSection = lazy(() => import('../Operations'));\nconst PlanningSection = lazy(() => import('../Planning'));\nconst Accounts = lazy(() => import('../Accounts'));\nconst Messaging = lazy(() => import('../Messaging'));\nconst SMS = lazy(() => import('../SMS'))\nconst CommercialSection = lazy(() => import('../Commercial'))\n// const ReportsSection = lazy(() => import('../NewReports'))\n\n\n\nexport default function BrowserAppRoutes() {\n const ADMIN = requireAuth(['admin', 'super_admin', 'test123']);\n\n const [authState, dispatch] = useReducer(authReducer, INITIAL_STATE);\n\n useEffect(() => {\n AuthActions.setUserData(dispatch, sessionStorage.getItem(\"authState\"))\n }, [sessionStorage.getItem(\"authState\")])\n\n return (\n {\n /* Empty callback to block the default browser prompt */\n }}\n >\n
\n \n\n \n \n \n \n \n \n \n \n\n } variant=\"page\" />}>\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n \n \n
\n