{"version":3,"sources":["assets/imgs/Registered.svg","assets/warehouse-assets/report-icons/svg/active.png","assets/warehouse-assets/report-icons/svg/inactive.png","assets/warehouse-assets/report-icons/svg/items replanished in last 15 days.png","assets/warehouse-assets/colored/edit.png","assets/warehouse-assets/colored/dlet.png","assets/imgs/inventory.svg","assets/imgs/Assets.svg","assets/warehouse-assets/qr-code.png","assets/warehouse-assets/report-icons/svg/inventory by warehouse.svg","assets/warehouse-assets/report-icons/svg/inventory by user.svg","assets/warehouse-assets/report-icons/svg/items by value for each user.svg","assets/warehouse-assets/report-icons/svg/Inventory vendor for each user.svg","assets/warehouse-assets/report-icons/svg/asset vendor for each user.png","assets/warehouse-assets/report-icons/svg/to be replanished.svg","assets/warehouse-assets/report-icons/svg/registered assets.svg","assets/warehouse-assets/report-icons/svg/registered inventory.svg","assets/warehouse-assets/report-icons/svg/Inventory by value.svg","assets/warehouse-assets/report-icons/svg/inventory by quantity.svg","assets/warehouse-assets/report-icons/svg/vendor wise Inventory.svg","assets/warehouse-assets/report-icons/svg/vendor wise asset.png","assets/warehouse-assets/PngItem.png","assets/warehouse-assets/uploadImage.png","assets/warehouse-assets/video2.png","assets/warehouse-assets/video3.png","Config.js","AppTopbar.js","AppMenu.js","components/AppConfig/AppConfig.js","redux/slices/utilitySlice.js","redux/actions/loadingAction.js","redux/slices/logoutSlice.js","services/PostTemplate.js","services/GetTemplate.js","services/Auth.js","pages/login/Login.js","services/DeleteTemplate.js","services/PutTemplate.js","pages/UserManagement/ManageUsers.js","pages/Settings/Settings.js","pages/Dashboard/SuperAdminDashboard.js","pages/Dashboard/Dashboard.js","pages/RolesManagement/ManageRoles.js","pages/RolesManagement/AddEditRoles.js","pages/RolesManagement/AssignPermissions.js","pages/CategoryManagement/ManageCategory.js","pages/CategoryManagement/AddEditCategory.js","pages/InventoryManagement/ManageInventory.js","pages/InventoryManagement/AddEditInventory.js","pages/InventoryManagement/CheckIn/CheckIn.js","redux/slices/checkoutUserSlice.js","pages/InventoryManagement/CheckOut/CheckOut.js","redux/actions/checkoutAction.js","pages/AssetManagement/ManageAsset.js","pages/AssetManagement/AddEditAsset.js","pages/AssetManagement/CheckInAsset/CheckInAsset.js","pages/AssetManagement/BorrowAsset/BorrowAsset.js","pages/RfidManagement/ManageRFID.js","pages/Reporting/Reporting.js","pages/WarehouseManagement/ManageWarehouse.js","pages/WarehouseManagement/AddEditWarehouse.js","pages/login/forgetpassword/ForgotPassword.js","pages/login/ResetPassword/ResetPassword.js","services/PostFormDataTemplate.js","pages/UserManagement/EditUsersSuperAdmin.js","pages/vendorManagement/ManageVendor.js","pages/BrandManagement/ManageBrand.js","pages/vendorManagement/AddEditVendor.js","pages/CategoryManagement/AddEditSubCategory.js","pages/BrandManagement/AddEditBrand.js","pages/UserManagement/EditUsersWH.js","pages/InventoryManagement/CheckIn/CheckInGrid.js","pages/InventoryManagement/CheckOut/CheckOutGrid.js","pages/AssetManagement/CheckInAsset/CheckInAssetGrid.js","pages/AssetManagement/BorrowAsset/BorrowAssetGrid.js","pages/UserManagement/AddUsers.js","pages/Reporting/AdminReportingModules/ReplenishedItemReport.js","pages/Reporting/AdminReportingModules/TotalRegisteredAssets.js","pages/Reporting/AdminReportingModules/TotalRegisteredInventory.js","pages/Reporting/AdminReportingModules/VendorInventoryList.js","pages/Reporting/AdminReportingModules/VendorAssetList.js","pages/Reporting/AdminReportingModules/AssetBorrowItems.js","pages/Reporting/AdminReportingModules/InventoryValueReport.js","pages/Reporting/AdminReportingModules/InventoryQuantityReport.js","pages/Reporting/SuperAdminReportingModules/InventoryByWarehouse.js","pages/Reporting/SuperAdminReportingModules/InventoryByUsers.js","pages/Reporting/SuperAdminReportingModules/ItemsByValueClient.js","pages/Reporting/SuperAdminReportingModules/VendorsForAssetClient.js","pages/Reporting/SuperAdminReportingModules/VendorsForInventoryClient.js","pages/Reporting/SuperAdminReportingModules/ReplinishedItems.js","pages/Dashboard/LowLevelList.js","pages/projectManagement/AddEditSubProject.js","pages/NotFound/NoPageFound.js","App.js","components/ScrollTop/ScrollToTop.js","redux/slices/authenticationSlice.js","redux/rootReducer.js","redux/store.js","index.js","assets/warehouse-assets/dp.jpeg","assets/warehouse-assets/warehouse.png","assets/warehouse-assets/photo.png","assets/warehouse-assets/video.png"],"names":["module","exports","baseURL","AppTopbar","props","history","useHistory","user_name","localStorage","getItem","warehouseid","roletypeid","usertype_id","warehouse_name","logo_img","img","accept","clear","removeItem","window","sessionStorage","push","reject","React","createElement","Fragment","className","ConfirmDialog","style","width","type","onClick","onToggleMenuClick","alignItems","Image","src","concat","dp","preview","zoomSrc","alt","height","imageStyle","borderRadius","fontWeight","fontSize","letterSpacing","color","onMobileTopbarMenuClick","classNames","mobileTopbarMenuActive","cursor","confirm1","confirmDialog","message","header","icon","defaultFocus","title","AppSubmenu","activeIndex","setActiveIndex","useState","location","useLocation","onMenuItemClick","event","item","index","disabled","preventDefault","command","originalEvent","onKeyDown","code","target","click","renderLink","i","content","_item$items","submenuIcon","items","length","badge","Badge","value","display","label","Ripple","renderLinkContent","to","pathname","NavLink","aria-label","role","e","exact","tabIndex","href","map","active","styleClass","badgeStyleClass","root","key","CSSTransition","timeout","enter","exit","in","unmountOnExit","AppMenu","model","AppConfig","setActive","scale","setScale","scales","theme","setTheme","config","useRef","outsideClickListener","unbindOutsideClickListener","useCallback","current","document","removeEventListener","hideConfigurator","bindOutsideClickListener","isOutsideClicked","addEventListener","useEffect","isSameNode","contains","documentElement","configClassName","replaceLink","linkElement","callback","isIE","setAttribute","id","getAttribute","cloneLinkElement","cloneNode","parentNode","insertBefore","nextSibling","remove","themeElement","getElementById","test","navigator","userAgent","changeTheme","scheme","onColorModeChange","ref","prevState","Button","decrementScale","incrementScale","RadioButton","inputId","name","onChange","onInputStyleChange","checked","inputStyle","htmlFor","InputSwitch","rippleEffect","onRippleEffect","onLayoutModeChange","layoutMode","slice","createSlice","initialState","isLoading","isLoadingComponent","reducers","LOADING_SUCCESS","state","action","payload","actions","loadingAction","async","dispatch","token","logoutSlice","logout","handlePostRequest","data","url","isShowLoad","arguments","undefined","isShowToast","_response$data","_response$data2","_response$data3","response","axios","method","headers","Authorization","toast","success","body","statusMessage","error","_error$response","_error$response$data","_error$response2","_error$response4","_error$response5","_error$response3","_error$response3$data","StatusCode","status","warn","StatusMessage","_error$response6","_error$response6$data","_error$response7","_error$response7$data","handleGetRequest","get","_error$response4$data","_error$response5$data","handleAuthRequest","Login","saveBtnLoading","setSaveBtnLoading","loadingIcon","setLoadingIcon","isActive","setIsActive","useDispatch","validationSchema","Yup","shape","email","required","password","formik","useFormik","initialValues","onSubmit","obj","user_Email","values","user_Password","statusCode","setItem","getPermissionsByRoleId","roleid","user_id","getFormErrorMessage","touched","errors","isFormFieldValid","roleId","JSON","stringify","LoadingOverlay","spinner","Triangle","ariaLabel","wrapperStyle","wrapperClassName","visible","styles","overlay","base","background","loginImage","handleSubmit","class","InputText","placeholder","handleChange","Password","toggleMask","autoComplete","feedback","textAlign","RouteTo","iconPos","loading","handleDeleteRequest","handlePutRequest","ManageUsers","superAdminActive","setSuperAdminActive","superAdminActiveAdd","setSuperAdminActiveAdd","allUsers","setAllUsers","allUsers2","setAllUsers2","permissions","setPermissions","acceptButtonClass","setAcceptButtonClass","userTypes","setUserTypes","reason","setReason","dropdownUserType","setDropdownUserType","tempReasonRef","globalFilterValue","setGlobalFilterValue","filters","setFilters","global","matchMode","FilterMatchMode","CONTAINS","confirm","rowData","InputTextarea","maxLength","defaultValue","rows","acceptClassName","acceptLabel","handleDeactivateUser","deactivate_Reason","p_isactive","getUserList","confirm2","handleActivateUser","handleEditUsers","isEditable","res","getUserTypes","myPermissions","parse","allPermModules","find","_module$routepath","routepath","includes","_allPermModules$permi","permission_id","filter","usertypeId","_filters","Dropdown","options","optionLabel","optionValue","DataTable","responsive","globalFilterFields","responsiveLayout","stripedRows","paginator","emptyMessage","paginatorClassName","paginatorTemplate","currentPageReportTemplate","rowsPerPageOptions","Column","field","sortable","image","whiteSpace","replace","usertypename","warehouseName","rfiD_code","Tag","severity","createdDateandFiringdate","lastLogin","SplitButton","Settings","userInput","setUserInput","allRoles","setAllRoles","showPassword","setShowPassword","showPassword2","setShowPassword2","fileInfo","setFileInfo","showImage","setShowImage","editableRemoved","setEditableRemoved","first_name","last_name","newPassword","gender","contact","designation","department","processFile","files","file","objectURL","URL","createObjectURL","lastModified","lastModifiedDate","size","webkitRelativePath","text","top","left","position","right","padding","handleRemoveImage","revokeObjectURL","onDrop","stopPropagation","dataTransfer","clearData","onDragOver","border","backgroundColor","flexDirection","handleIconClick","fileInput","onchange","full_name","contact_number","email_address","marginLeft","marginTop","togglePasswordVisibility","togglePasswordVisibility2","SuperAdminDashboard","setWarehouseId","allWH","setAllWH","totalRegisteredUser","setTotalRegisteredUser","activeMonthsUsers","setActiveMonthsUsers","deActiveMonthsUsers","setDeActiveMonthsUsers","lowLevelData","setLowLevelData","valueInventoryData","setValueInventoryData","valueInventoryOptions","setValueInventoryOptions","valueAssetData","setValueAssetData","valueAssetOptions","setValueAssetOptions","userValueOfInventoryData","setUserValueOfInventoryData","userValueOfInventoryOptions","setUserValueOfInventoryOptions","valueInvFromDate","setValueInvFromDate","moment","subtract","toDate","valueInvToDate","setValueInvToDate","valueAssetFromDate","setValueAssetFromDate","valueAssetToDate","setValueAssetToDate","userInventoryFromDate","setUserInventoryFromDate","userInventoryToDate","setUserInventoryToDate","getTotalActiveUser","obj_id","_response$body$","activeUserCount","getActivatedUsersByMonth","_response$body$2","getDeActivatedUsersByMonth","_response$body$3","getValueInventorySupply","_response$body","_response$body2","fromDate","format","documentStyle","getComputedStyle","textColor","getPropertyValue","surfaceBorder","labels","datasets","borderColor","barThickness","maintainAspectRatio","aspectRatio","plugins","legend","fontColor","x","ticks","font","weight","this","getLabelForValue","substr","grid","drawBorder","y","getValueAssetSupply","_response$body3","_response$body4","getUserValueOfInventory","_response$body5","_response$body6","indexAxis","getLowLevelNew","getWHList","justifyContent","lineHeight","showClear","filterBy","selectedWarehouse","wh","Registered","activeUsers","inActiveUsers","obj_Name","Calendar","_e$target","maxDate","_e$target2","Date","minDate","Chart","_e$target3","_e$target4","_e$target5","_e$target6","lowLevelItemHeader","alignSelf","warehouseId","Dashboard","totalInventory","setTotalInventory","totalAsset","setTotalAsset","totalActiveUser","setTotalActiveUser","totalInactiveUser","setTotalInactiveUser","consumableFromDate","setConsumableFromDate","consumableToDate","setConsumableToDate","userConsumableData","setUserConsumableData","userConsumableOptions","setUserConsumableOptions","borrowAssetFromDate","setBorrowAssetFromDate","borrowAssetToDate","setBorrowAssetToDate","borrowAssetData","setBorrowAssetData","borrowAssetOption","setBorrowAssetOption","returnItemFromDate","setReturnItemFromDate","returnItemToDate","setReturnItemToDate","returnItemData","setReturnItemData","returnItemOptions","setReturnItemOptions","replenishedItem","setReplenishedItem","expiryItems","setExpiryItems","frequentUserFromDate","setFrequentUserFromDate","frequentUserToDate","setFrequentUserToDate","frequentUserData","setFrequentUserData","frequentUserOptions","setFrequentUserOptions","checkoutFromDate","setCheckoutFromDate","checkoutToDate","setCheckoutToDate","checkoutData","setcheckoutData","checkoutOption","setcheckoutOption","isSuperAdmin","setIsSuperAdmin","getuserConsumableData","Number","isInteger","getBorrowAssetData","getReturnItemData","getCheckoutData","_response$body7","_response$body8","textColorSecondary","tooltips","mode","intersect","stacked","getFrequentUserData","_response$body9","_response$body10","getTotalInventory","totalassets","getTotalAssets","_response$body$4","_response$body$5","totalUsers","inactiveUsers","getTotalRegisteredUser","getExpiryItems","getReplenishedItem","Inventory","num","_ref","_ref2","_ref3","toFixed","toString","formatNumber","Assets","expireItemHeader","expiry_date","day","gap","days_until_expiry","expireItemData","replenishedItemHeader","bal_qty","replenishedItemsData","_e$target7","_e$target8","_e$target9","_e$target10","ManageRoles","handleDeactivateRole","role_id","getRolesList","handleActivateRole","handleEditRoles","rowIndexTemplate","parseInt","rowIndex","roleDescription","createddatetime","statusdesc","AddEditRoles","description","RoleName","RoleDescription","roleName","mRoletype_id","mUsertype_id","mWarehouse_id","keyData","setFieldValue","getRoleById","goBack","ResetForm","AssignPermissions","setRole","myApiData","setMyApiData","selectedModules","setSelectedModules","selectedSubmodules","setSelectedSubmodules","selectedPermissions","setSelectedPermissions","getModulesList","getPermissionIdByName","permission","p","permissionName","handlePermissionChange","moduleId","permissionId","isSubmodule","parentModuleId","prev","_newPermissions$targe","_myApiData$find","newPermissions","targetModuleId","mod","viewId","manageId","createId","newSelectedModules","newSelectedSubmodules","newSelectedPermissions","forEach","module_ID","submodules","subModule","console","getPermissionDataById","overflowX","float","handleSelectAll","sub_modules","handleDeSelectAll","handleModuleChange","isSubModule","prevModules","isCurrentlySelected","_module$sub_modules","subModuleIds","sub","prevSubmodules","subId","prevPermissions","updatedPermissions","Set","reduce","perms","perm","subModuleId","contentName","submodule","handleSubmoduleChange","submoduleId","_selectedPermissions$","_selectedPermissions$2","_selectedPermissions$3","route","marginRight","array","_selectedPermissions$4","borderTop","margin","align","modulePayload","permissionIds","Object","keys","join","submodulePayload","subPermissionIds","finalPayload","rid","moduleidsarray","ManageCategory","allCategories","setAllCategory","expandedRows","setExpandedRows","expandedChildRows","setExpandedChildRows","filteredCategory","setFilteredCategory","filteredAllCategories","setFilteredAllCategories","parentId","setParentId","activeStatus","handleDeactivateCategory","handleActivateCategory","getCategoryList","actionChildTemplate","handleViewSubCategory","handleEditSubCategory","handleDeactivateSubCategory","handleActivateSubCategory","parentid","handleEditCategory","isView","handleViewCategory","toggleRowExpansion","_expandedRows","allowChildExpansion","isExpanded","children","toggleChildRowExpansion","_expandedChildRows","rowExpansionTemplate","CategoryTable","nodes","onRowToggle","dataKey","boxShadow","flattenCategories","category","_category$children","level","categoryRow","Name","Status","DateTime","Type","subcategoryRows","flatMap","subcategory","_module$contentName","_allPermModules$submo","_result$permissions","result","toLowerCase","handleSubCategory","handleCategory","exportExcel","flattenedData","worksheet","XLSX","json_to_sheet","sheet_add_aoa","origin","workbook","book_new","book_append_sheet","globalFilter","tableStyle","minWidth","AddEditCategory","categoryName","getategoryById","formStyle","pointerEvents","opacity","ManageInventory","inventoryList","setInventoryList","visible2","setVisible2","vendorList","setVendorList","handleEditInventory","handleViewInventory","getInventoryList","_rowData$vendorName","vendorName","textOverflow","overflow","maxWidth","showVendor","brandName","sub_Category_Name","unitofmeasurementName","sku","Dialog","onHide","split","vendor","trim","AddEditInventory","_formik$values5","selectedFiles","setSelectedFiles","selectedFiles2","setSelectedFiles2","setAllCategories","allSubCategories","setAllSubCategories","allBrands","setAllBrands","allVendors","setAllVendors","allUnits","setAllUnits","inventory_id","category_id","inventory_name","brand_id","vendor_id","threshold","subCategory_id","unit","notes","_formik$values","_formik$values2","p_id","p_inventory_id","p_name","p_description","p_category_id","p_sub_categoryid","p_brand_id","p_vendor_id","p_unit_of_measurement","p_min_t_value","p_SKU","p_notes","attachments","fileName","fileType","base64Data","p_roletype_id","p_usertype_id","p_warehouse_id","p_edit_by","_formik$values3","_formik$values4","sub_categoryid","vendor_ids","unit_of_measurement","min_t_value","roletype_id","warehouse_id","createdby","getAllBrands","getAllVendors","getAllUnits","getSubCategoryList","subcategory_id","vendor_id_string","getInventoryById","generateRandomInvId","userId","Math","floor","random","tooltip","tooltipOptions","handleGenerateInvId","newInvId","transform","TreeSelect","MultiSelect","CheckIn","_formik$values6","_formik$values7","_formik$values8","_formik$values9","_formik$values10","_formik$values11","_formik$values12","_formik$values13","_Object$keys4","selectedDoc","setSelectedDoc","showToast","uploadDoc","uploadImg","uploadVideo","allInventoryName","setAllInventoryName","allCategoryName","setAllCategoryName","allSubcategoryName","setAllSubcategoryName","allBrandName","setAllBrandName","allUomName","setAllUomName","allVendorName","setAllvendorName","isDisabled","setIsDisabled","editableForStage","setIsEditableForStage","allCheckinData","setAllCheckinData","checkInUpdateId","setCheckInUpdateId","setVisible","webcamRef","videoStream","setVideoStream","capturePicture","base64Image","getScreenshot","filtered_type","file_type","prevFiles","attachment_type","path","stopCamera","getTracks","track","readyState","stop","onGlobalFilterChange","deleteDialog","handleAllDeleteData","uid","wid","getAllInventoryData","handleDeleteRecord","checkbox","nullable","inventoryName","brand","rfidCode","skuCode","vendorInformation","costPerUnit","min","valueOfMeasurement","quantity","subCategory","uom","thresholdValue","expiryDate","addNotes","_response","_response2","_response3","_response4","p_inventory_Type","p_subcategory_id","p_rfid","p_quantity","p_SalesDescription","p_sku_code","p_cost","p_Expiry_Date","p_value_of_measurement","p_Notes","p_roletypeid","p_usertypeid","p_warehouseid","p_createdby","allArrayData","flat","_Object$keys2","log","resetForm","handleDocument","choose","handleSelectedDoc","selectedFile","reader","FileReader","onloadend","base64Doc","readAsDataURL","getVendorByInvId","invId","getSubcategoryLOVs","showAlert","info","getInventoryLOVs","getCategoryLOVs","getBrandLOVs","getUomLOVs","_keyData","_keyData2","_keyData3","_keyData4","_keyData5","_keyData6","_keyData7","_keyData8","_keyData9","_keyData10","_keyData11","_keyData12","_keyData13","_keyData14","_keyData15","_keyData16","_keyData17","_keyData18","_keyData19","_keyData19$link","inventory_Type","rfid","salesDescription","sku_code","cost","expiry_Date","value_of_measurement","entries","link","entry","getCheckInLisyByIdEditable","formStyle2","generateRandomRfidCode","handleDownloadFile","filePath","_file$path","responseType","blob","Blob","appendChild","removeChild","Toast","_response$","_response$2","_response$3","_response$4","_response$5","_response$6","_response$7","_response$8","_response$9","_response$10","getAllApplicationDetail","handleGenerateRfidCode","newRfidCode","borderBottom","photo","FileUpload","onSelect","Array","from","base64String","mediaDevices","getUserMedia","video","then","catch","Webcam","fontStyle","_file$path2","_file$path3","zIndex","f","handleCancelFile","handleFileUpload2","handleVideo","_file$path4","controls","handleCancelFile2","multiple","_Object$keys","_Object$keys3","handleCheckinData","checkoutSlice","setCustomerData","CheckOut","showData","setshowData","totalQuantity","setTotalQuantity","allCheckOutData","setAllCheckOutData","inventoryData","getCheckOutLisyByIdEditable","max","ManageAsset","assetList","setAssetList","isactive","handleDeactivateAsset","handleActivateAsset","asset_id","getAssetList","handleEditAsset","inventory_Type_Name","AddEditAsset","statusField","setStatusField","assetName","rfid_code","pieces_of_quantity","p_Name","p_asset_id","p_inventory_type","p_vendor_ids","p_RFID","p_Quantity","p_pieces_of_quantity","p_updatedby","inventory_type","getVendorLOVs","_keyData$link","vendor_ids_string","getAssetListByIdEditable","generateRandomAssetId","handleGenerateAssetId","newAssetId","keyfilter","CheckInAsset","getAllStageCheckInData","checkIn_type","asset_type","asset_name","p_Check_In_type","_keyData14$link","check_in_type","getVendorByRfid","check_in_Type","subcategory_name","BorrowAsset","checkOutStageData","setCheckOutStageData","checkOutUpdateId","setCheckOutUpdateId","getAllStageAssetData","current_date","toISOString","p_borrow_Date","borrow_date","getBorrowAssetListByIdEditable","ManageRFID","printing","qrcode","Reporting","img1","img2","img3","img4","img5","img6","img7","img8","img9","img10","img11","img12","img13","img14","ManageWarehouse","handleDeactivateWH","handleActivateWH","handleEditWH","_rowData$warehouse_po","warehouse_poc","contact_no","_rowData$location","AddEditWarehouse","_selectedFiles$","_selectedFiles$2","WHStatus","setWHStatus","allCountries","setAllCountries","allModulesList","setAllModulesList","country_code","address","zip_code","country_id","industry_ids","getCountriesList","getWHById","generateRandomWHId","handleFileUpload","handleGenerateWHId","newWHId","itemTemplate","option","country_flag","country_name","minLength","ForgotPassword","ResetPassword","search","query","URLSearchParams","confirmPassword","user_token","useLayoutEffect","handlePostRequestFormData","EditUsersSuperAdmin","warehouseData","setWarehouseData","userTypeAs","setUserTypeAs","myStatus","setMyStatus","systemUser","setSystemUser","WHAdmin","setWHAdmin","WhAdminUser","setWHAdminUser","user_type_id","user_name_2","email_2","contact_2","role_2","rfid_code_2","user_id2","formData","FormData","formData2","formData3","append","isNaN","imagePath","p_image","fetch","blobURL","substring","lastIndexOf","modifiedFileName","pop","File","p_isActive","p_contactNumber","p_user_name","p_User_Email","p_User_id","p_RFID_code","p_Role_id","getUserById","getWarehouseData","getAllRoles","generateRandomUserId","handleGenerateUserId2","newUserId","generateRandomUserId2","generateRandomCode","charset","generateRandomCode2","handleGenerateCode2","newCode","handleGenerateUserId","handleGenerateCode","ManageVendor","obj_Description","company","getVendorList","handleEditVendor","handleViewVendor","filteredData","rest","ManageBrand","handleDeactivateBrand","handleActivateBrand","Description","IsActive","getBrandList","handleEditBrand","handleViewBrand","AddEditVendor","matches","company_name","add_note","getVendorById","setValues","AddEditSubCategory","categoryId","subCategoryName","parent_id","getSubCategoryById","AddEditBrand","EditUsersWH","CheckInGrid","checkInList","setCheckInList","handleEditCheckIn","handleViewCheckIn","getExpiredItemList","getCheckInList","warehousE_NAME","category_name","vendor_name","noofdaysremaining","CheckOutGrid","handleDeleteCheckOut","getCheckOutList","doc_no","CheckInAssetGrid","firstTimeCheckInList","setFirstTimeCheckInList","borrowItemsCheckInList","setBorrowItemsCheckInList","actionTemplate","handleDeleteData","check_In_type_code","TabView","TabPanel","check_In_type","brand_name","_rowData$sku_code","vendoR_NAME","BorrowAssetGrid","handleViewAsset","AddUsers","disabledWHAdminField","setDisabledWHAdminField","ReplenishedItemReport","reportRef","setFromDate","setToDate","setReplenishedItemReport","selectedProduct","setSelectedProduct","columnVisibility","setColumnVisibility","replenishQty","columnHeaderCheckbox","columnKey","columnHeader","Checkbox","handleColumnCheckboxChange","column","from_Date","to_Date","getReplenishedReport","selection","onSelectionChange","replenishedItemDetail","showIcon","exportCSV","filterColumns","visibleColumns","Boolean","row","filteredRow","csvContent","currentDate","dateString","filename","toTimeString","selectionMode","exportable","TotalRegisteredAssets","getRegisteredAssets","registeredAssetsDetail","TotalRegisteredInventory","RegisteredInventory","setRegisteredInventory","dialogContent","setDialogContent","getRegisteredInventory","registeredInventoryDetail","_rowData$description","showDescription","VendorInventoryList","vendorInvList","setVendorInvList","getVendorInvList","vendorInventoryDetail","sortField","sortOrder","VendorAssetList","vendorAssetList","setVendorAssetList","getVendorAssetList","vendorAssetItemDetail","AssetBorrowItems","assetBorrowList","setAssetBorrowList","asset_Name","getBorrowItemList","borrowedItemDetail","InventoryValueReport","inventoryValueReport","setInventoryValueReport","getInventoryValueReport","InventoryValueDetail","InventoryQuantityReport","invQtyReport","setInvQtyReport","getInventoryQuantityReport","inventoryQuantityDetail","InventoryByWarehouse","invWhList","setInvWhList","warehouse","getInvList","invWarehouseDetail","InventoryByUsers","userName","InventoryByValueClient","invValueClientList","setInvValueClientList","totalCost","VendorsForAssetClient","assetVendorReport","setAssetVendorReport","VendorsForInventoryClient","invVendorReport","setInvVendorReport","_rowData$vendoR_NAME","ReplenishedItems","LowLevelList","allItemsList","setAllItemsList","allItemsListForFilter","setAllItemsListForFilter","warehouseValue","setWarehouseValue","getLowLevelList","AddEditSubProject","NoPageFound","App","_ref4","setLayoutMode","layoutColorMode","setLayoutColorMode","setInputStyle","ripple","setRipple","staticMenuInactive","setStaticMenuInactive","overlayMenuActive","setOverlayMenuActive","mobileMenuActive","setMobileMenuActive","setMobileTopbarMenuActive","allPermittedRoutes","setAllPermittedRoutes","dynamicMenu","setDynamicMenu","countdown","setCountdown","showPopup","setShowPopup","login","intervalRef","copyTooltipRef","useSelector","_state$logoutSlice","getPermissions","PrimeReact","menuClick","mobileTopbarMenuClick","parsedPermissions","menuItems","_module$submodules","_module$submodules2","subMenuItems","icon_class","_menuItems$","_menuItems$2","isPermittedRoute","_dynamicMenu$","_dynamicMenu$$items","permittedRoutes","mainLink","subLinks","subItem","_dynamicMenu$2","_dynamicMenu$2$items","_item$items2","addClass","removeClass","updateTargetEvents","_event$item","isDesktop","innerWidth","element","classList","add","RegExp","wrapperClass","checkActivity","lastActive","now","countdownValue","countdownInterval","setInterval","clearInterval","handleActivity","propTypes","modal","ToastContainer","Tooltip","onMobileSubTopbarMenuClick","Switch","Route","render","component","ItemsByValueClient","ReplinishedItems","ScrollToTop","scrollTo","LOGIN_SUCCESS","LOGIN_ERROR","combineReducers","authenticationSlice","utilitySlice","checkoutUserSlice","configureStore","reducer","rootReducer","ReactDOM","BrowserRouter","Provider","store"],"mappings":"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","file":"static/js/main.22e39d6b.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/Registered.ccd1770c.svg\";","module.exports = __webpack_public_path__ + \"static/media/active.7621fdc3.png\";","module.exports = __webpack_public_path__ + \"static/media/inactive.1997c6c3.png\";","module.exports = __webpack_public_path__ + \"static/media/items replanished in last 15 days.7a926d7e.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAbJJREFUSEvdlUFOwkAUhv+pJrrkBuINuIHlBOLC0J1wAktQt3atJa03YAm6sDcAb4A34Aa6VJPO+E9LDbHt0IIrIYRA33zvnzfzvyfwF6+g04A8DIjq8bOERB/Xk7nYma3B8cEMgm8pXFiqBYiACdopfOT0oHBRnEg+4OoxKnz2AxYEqgGG0zDldV3NEwR7UMplXo+ZFznIPrc5mCxz//9WLFQEQeXDyRj3jg3+FvAdLpRuqboiyetg69PGIHrH3XkLljVn+O2q9i9audL10QdQqf5F4GyhVmxhxhK9gknrwU3ggmfV4TXBejPV4FuAq8G3BG+G7wDeDPe7Ie/uZe42mZKuXTlzzUfdzFRHiGUbN08LVASblafN6I339hgx3SvUKR18xu8g6SOZeQzmKFeu+w3YFobTFgKniVg9s0S6hyQGSVxZ6F7GSti6DZTDfWdMfSer9c0EChHB+ghLwTo4dalHuMGh+jAhGuw7Efa+5kbg+g4qwSs1moKgfwL3uzx11avVz00lS4yHJm9ZJ51E4IhTwuMp5ydOndpLQoUMOdn6Wmw2Q3UCuw6nNFYRvpq53x3SPDGQpr9aAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAZCAYAAADe1WXtAAAABHNCSVQICAgIfAhkiAAAAgBJREFUSEullcFVwzAMhhVucKIblA3CEbiEDdoJyAZtJyBM0G5AN2g3ID0Ax5YJ2g2AC3Ai/L+x/Jw8xw0l7+XFtqTPkiwriUSeJ5EBxCNfpRLZnYhMzkXe2kyTPdAKkBco+YAUa7MrkeJgKIDXFyKlAuB9CWi5F/oskn+LTAE4jXm+R1YeiwyZlmQN0IfIFgYrvJtDoXBoDNviEqlJ7GEssJjzEA6FEog3ATRLEHoG2MM/YL7pykC5YlNgDuPoN4w/PXQK750enisppGEGUsqdMB5DKYMS61R4kJjfQnZm5xkOdgF5j3PoV36VOOgjcoLJDQ05hu5IjayMUKPvzzFOsbiOQY1hDNKE6pkEoVoFhDJ8GE9DnikU3wEiSRWqupS78FWIAu59QZnJj0FhmGn+fQeCUIZBAaHcgDekmQ5EModKn9CmrAntA7T1oZqnANSUnwc1Xmsd1roUSwOCIbsSPe0IXbJnRKEsYvTL2afIawyqnYpdS71u83QH5Tlvhl/QofB9aLMVNsPnrhuEMrapmLDrBKBMj2nU0HOOtHnqQiFU73MA6mS+XhvUlQqUnTchKAAmCj1cjJdBqDXWomaDKalsL0aOcW5vFAEFOho3NmXo/3JqObXd6B6Lhe4a+wKYQj7QSxL0lIu2BdZ+yxHwO38j8JJpc0/N0y7eddH5ASKT9BrQ01xPAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/inventory.df98abc2.svg\";","module.exports = __webpack_public_path__ + \"static/media/Assets.bb14039a.svg\";","module.exports = \"data:image/png;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwM8JjXStAWC0SPAAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/inventory by warehouse.08ef2dce.svg\";","module.exports = __webpack_public_path__ + \"static/media/inventory by user.2c13a407.svg\";","module.exports = __webpack_public_path__ + \"static/media/items by value for each user.b854cce5.svg\";","module.exports = __webpack_public_path__ + \"static/media/Inventory vendor for each user.7c526a94.svg\";","module.exports = __webpack_public_path__ + \"static/media/asset vendor for each user.0c7d8b0c.png\";","module.exports = __webpack_public_path__ + \"static/media/to be replanished.bba61a8e.svg\";","module.exports = __webpack_public_path__ + \"static/media/registered assets.10705f35.svg\";","module.exports = __webpack_public_path__ + \"static/media/registered inventory.3ff0f963.svg\";","module.exports = __webpack_public_path__ + \"static/media/Inventory by value.a4e3afcc.svg\";","module.exports = __webpack_public_path__ + \"static/media/inventory by quantity.f5db2f85.svg\";","module.exports = __webpack_public_path__ + \"static/media/vendor wise Inventory.cb70d7ed.svg\";","module.exports = __webpack_public_path__ + \"static/media/vendor wise asset.5fdc89b0.png\";","module.exports = __webpack_public_path__ + \"static/media/PngItem.ddc833f2.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAARCAYAAADKZhx3AAAACXBIWXMAAAhOAAAITgGMMQDsAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEMSURBVHgB7ZRLTgJREEVvvS4mJiYuoZeAO5CxtoElONaOdKISV+BAEySaOBRWACEkTNkB7ACW0OP+FQ9I+Db/bkac0Utu5d2cGhRB8/vZKgL0DIiJw+khQu2pdPe9yzD9fDXzJKqOhJBAcva71YnLpoKRVBghZaGQGGKsbq380TYzHP7r542egJDkE6yMZ2TJHHYnpTMYKTFvSTF5asbMgYkly5MUb+NcfC4+/GNR7sYcKfH4dtvTNypHoAFOWTzCfrU6HnvX+kRWljNFilwkCAkW/nOcgmu/WMV5e6Wor3z2q+vWsXcpMLBL9424bGYfFS4M3xmf0b9y2wxCPyuRcYUjuMx4jQdtuMvsEPnkW+ViGfNBAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAALCAYAAACQy8Z9AAAACXBIWXMAAAWJAAAFiQFtaJ36AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADSSURBVHgB5ZMxCsJQDIaTNg8FB5836BE8QjsKLh5DcGgHB7duDg59g+DoEeogdPUGHsHeQN2E2j7zCkpBhdK6+cMjef/wJYEEo2XiEOVHBJBQRxrSLM+8YDFJq3YUxhI6II1vCcrD2kAjBIds8qvWerX3qSdOwhbK/AkayALsl93xlNzUllMXyyG0bAx9ioExh+F70RbSAINPfivoN/0JlMh2ORx+Ai1AX02cBqN0Nh97nAb8Lq9iqFEVWPBaYK0D4H08k7irqsdgtYmSXRduJfgBpIQzY+Oh7HMAAAAASUVORK5CYII=\"","//Local Url:\r\n// let baseURL = \"http://192.168.230.162:7097\"\r\n\r\n//QA Url:\r\nlet baseURL = \"https://dev-wms.appinsnap.com\"\r\n\r\n//UAT Url:\r\n// let baseURL = \"https://uat-whms.appinsnap.com\"\r\n\r\nexport { baseURL };\r\n","import React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport \"./AppTopbar.scss\";\r\nimport dp from '../src/assets/warehouse-assets/dp.jpeg'\r\nimport { baseURL } from \"./Config\";\r\nimport { Image } from \"primereact/image\";\r\nimport { ConfirmDialog, confirmDialog } from \"primereact/confirmdialog\";\r\n\r\nexport const AppTopbar = (props) => {\r\n\r\n const history = useHistory();\r\n\r\n const user_name = localStorage.getItem(\"user_name\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n const warehouse_name = localStorage.getItem(\"warehouse_name\")\r\n const logo_img = localStorage.getItem(\"logo_img\")\r\n const img = localStorage.getItem(\"img\")\r\n\r\n const accept = () => {\r\n localStorage.clear();\r\n localStorage.removeItem('lastActive');\r\n localStorage.removeItem(\"permissions\");\r\n localStorage.removeItem(\"login\");\r\n localStorage.removeItem(\"token\");\r\n window.localStorage.clear();\r\n window.sessionStorage.clear();\r\n history.push(\"/\");\r\n };\r\n\r\n const reject = () => {\r\n return null\r\n };\r\n\r\n const confirm1 = () => {\r\n confirmDialog({\r\n message: 'Are you sure you want to Logout?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n defaultFocus: 'accept',\r\n accept,\r\n reject\r\n });\r\n };\r\n\r\n return (\r\n\r\n <>\r\n
\r\n \r\n \r\n
\r\n {warehouse_name ?\r\n
\r\n \r\n \r\n \r\n {warehouse_name} \r\n
\r\n :\r\n WareHouse MS \r\n }\r\n
\r\n\r\n \r\n\r\n
    \r\n
  • \r\n history.push('/settings')}>\r\n {/* history.push('/settings')}> */}\r\n\r\n \r\n \r\n \r\n\r\n
    \r\n {user_name} \r\n {roletypeid == '1' && !warehouseid ? 'Super Admin' : roletypeid == '2' && usertype_id == '1' ? 'System User' : roletypeid == '2' && warehouseid ? 'Admin' : null} \r\n
    \r\n \r\n
  • \r\n
\r\n\r\n
\r\n \r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { NavLink, useLocation } from \"react-router-dom\";\r\nimport { CSSTransition } from \"react-transition-group\";\r\nimport classNames from \"classnames\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport { Badge } from \"primereact/badge\";\r\n\r\nconst AppSubmenu = (props) => {\r\n const [activeIndex, setActiveIndex] = useState(null);\r\n const location = useLocation();\r\n\r\n const onMenuItemClick = (event, item, index) => {\r\n if (item?.disabled) {\r\n event.preventDefault();\r\n return true;\r\n }\r\n\r\n if (item.command) {\r\n item.command({ originalEvent: event, item: item });\r\n }\r\n\r\n if (index === activeIndex) setActiveIndex(null);\r\n else setActiveIndex(index);\r\n\r\n if (props?.onMenuItemClick) {\r\n props.onMenuItemClick({\r\n originalEvent: event,\r\n item: item,\r\n });\r\n }\r\n };\r\n\r\n const onKeyDown = (event) => {\r\n if (event?.code === \"Enter\" || event?.code === \"Space\") {\r\n event.preventDefault();\r\n event.target.click();\r\n }\r\n };\r\n\r\n const renderLinkContent = (item) => {\r\n let submenuIcon = item?.items && item?.items?.length > 0 && ;\r\n let badge = item?.badge && ;\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n {item?.label}\r\n {submenuIcon}\r\n {badge}\r\n \r\n \r\n );\r\n };\r\n\r\n const renderLink = (item, i) => {\r\n let content = renderLinkContent(item);\r\n\r\n let className = classNames(\"p-ripple\", {\r\n \"router-link-active router-link-exact-active\": item?.to && location.pathname === item?.to,\r\n \"app-menuitem-logout\": item?.label === 'Logout'\r\n });\r\n\r\n if (item?.to) {\r\n return (\r\n onMenuItemClick(e, item, i)}\r\n exact\r\n target={item?.target}\r\n >\r\n {content}\r\n \r\n );\r\n } else if (item?.command) {\r\n return (\r\n {\r\n item.command({ originalEvent: e, item });\r\n onMenuItemClick(e, item, i);\r\n }}\r\n href=\"#\"\r\n style={{ cursor: 'pointer' }}\r\n >\r\n {content}\r\n \r\n );\r\n } else if (item?.to === \"\") {\r\n return (\r\n onMenuItemClick(e, item, i)}\r\n exact\r\n target={item?.target}\r\n >\r\n {content}\r\n \r\n )\r\n } else {\r\n return (\r\n
  • \r\n {item.label !== null ? <> {content} : null}\r\n
  • \r\n );\r\n }\r\n };\r\n\r\n let items =\r\n props?.items &&\r\n props?.items.map((item, i) => {\r\n let active = activeIndex === i;\r\n let styleClass = classNames(item?.badgeStyleClass, { \"layout-menuitem-category\": props?.root, \"active-menuitem\": active && !item?.to });\r\n\r\n if (props?.root) {\r\n return (\r\n
  • \r\n {props?.root === true && (\r\n \r\n
    \r\n {item?.label}\r\n
    \r\n \r\n
    \r\n )}\r\n
  • \r\n );\r\n } else {\r\n return (\r\n
  • \r\n {renderLink(item, i)}\r\n \r\n \r\n \r\n
  • \r\n );\r\n }\r\n });\r\n\r\n return items ? (\r\n
      \r\n {items}\r\n
    \r\n ) : null;\r\n};\r\n\r\nexport const AppMenu = (props) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { InputSwitch } from 'primereact/inputswitch';\r\nimport classNames from 'classnames';\r\nimport {Button} from \"primereact/button\";\r\n\r\nexport const AppConfig = (props) => {\r\n\r\n const [active, setActive] = useState(false);\r\n const [scale, setScale] = useState(14);\r\n const [scales] = useState([12,13,14,15,16]);\r\n const [theme, setTheme] = useState('lara-light-indigo');\r\n const config = useRef(null);\r\n let outsideClickListener = useRef(null);\r\n\r\n const unbindOutsideClickListener = useCallback(() => {\r\n if (outsideClickListener.current) {\r\n document.removeEventListener('click', outsideClickListener.current);\r\n outsideClickListener.current = null;\r\n }\r\n }, []);\r\n\r\n const hideConfigurator = useCallback((event) => {\r\n setActive(false);\r\n unbindOutsideClickListener();\r\n event.preventDefault();\r\n }, [unbindOutsideClickListener]);\r\n\r\n const bindOutsideClickListener = useCallback(() => {\r\n if (!outsideClickListener.current) {\r\n outsideClickListener.current = (event) => {\r\n if (active && isOutsideClicked(event)) {\r\n hideConfigurator(event);\r\n }\r\n };\r\n document.addEventListener('click', outsideClickListener.current);\r\n }\r\n }, [active, hideConfigurator]);\r\n\r\n useEffect(() => {\r\n if (active) {\r\n bindOutsideClickListener()\r\n }\r\n else {\r\n unbindOutsideClickListener()\r\n }\r\n }, [active, bindOutsideClickListener, unbindOutsideClickListener]);\r\n\r\n const isOutsideClicked = (event) => {\r\n return !(config.current.isSameNode(event.target) || config.current.contains(event.target));\r\n }\r\n\r\n const decrementScale = () => {\r\n setScale((prevState) => --prevState);\r\n }\r\n\r\n const incrementScale = () => {\r\n setScale((prevState) => ++prevState);\r\n }\r\n\r\n useEffect(() => {\r\n document.documentElement.style.fontSize = scale + 'px';\r\n }, [scale])\r\n\r\n const toggleConfigurator = (event) => {\r\n setActive(prevState => !prevState);\r\n }\r\n\r\n const configClassName = classNames('layout-config', {\r\n 'layout-config-active': active\r\n })\r\n\r\n const replaceLink = useCallback((linkElement, href, callback) => {\r\n if (isIE()) {\r\n linkElement.setAttribute('href', href);\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n else {\r\n const id = linkElement.getAttribute('id');\r\n const cloneLinkElement = linkElement.cloneNode(true);\r\n\r\n cloneLinkElement.setAttribute('href', href);\r\n cloneLinkElement.setAttribute('id', id + '-clone');\r\n\r\n linkElement.parentNode.insertBefore(cloneLinkElement, linkElement.nextSibling);\r\n\r\n cloneLinkElement.addEventListener('load', () => {\r\n linkElement.remove();\r\n cloneLinkElement.setAttribute('id', id);\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n },[])\r\n\r\n useEffect(() => {\r\n let themeElement = document.getElementById('theme-link');\r\n const themeHref = 'assets/themes/' + theme + '/theme.css';\r\n replaceLink(themeElement, themeHref);\r\n\r\n },[theme,replaceLink])\r\n\r\n const isIE = () => {\r\n return /(MSIE|Trident\\/|Edge\\/)/i.test(window.navigator.userAgent)\r\n }\r\n\r\n const changeTheme = (e, theme, scheme) => {\r\n props.onColorModeChange(scheme);\r\n setTheme(theme);\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n\r\n
    Input Style
    \r\n
    \r\n
    \r\n props.onInputStyleChange(e.value)} checked={props.inputStyle === 'outlined'} />\r\n \r\n
    \r\n
    \r\n props.onInputStyleChange(e.value)} checked={props.inputStyle === 'filled'} />\r\n \r\n
    \r\n
    \r\n\r\n
    Ripple Effect
    \r\n \r\n\r\n
    Menu Type
    \r\n
    \r\n
    \r\n props.onLayoutModeChange(e.value)} checked={props.layoutMode === 'static'} />\r\n \r\n
    \r\n
    \r\n props.onLayoutModeChange(e.value)} checked={props.layoutMode === 'overlay'} />\r\n \r\n
    \r\n
    \r\n\r\n
    Themes
    \r\n
    Bootstrap
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    Material Design
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    Material Design Compact
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    Tailwind
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    Fluent UI
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    PrimeOne Design - 2022
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    PrimeOne Design - 2021
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n );\r\n}\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst slice = createSlice({\r\n name: \"utilitySlice\",\r\n initialState: {\r\n isLoading: false,\r\n isLoadingComponent: false,\r\n },\r\n reducers: {\r\n LOADING_SUCCESS: (state, action) => {\r\n return {\r\n ...state,\r\n isLoading: action.payload,\r\n isLoadingComponent: action.payload,\r\n };\r\n },\r\n },\r\n});\r\n\r\nexport const { LOADING_SUCCESS } = slice.actions;\r\nexport default slice.reducer;\r\n","import { LOADING_SUCCESS } from \"../slices/utilitySlice\";\r\n\r\nexport const loadingAction = (isLoading) => async (dispatch) => {\r\n dispatch(LOADING_SUCCESS(isLoading));\r\n};\r\n","import { createSlice } from '@reduxjs/toolkit';\r\n\r\nconst initialState = {\r\n token: localStorage.getItem('token') || null,\r\n};\r\n\r\nconst logoutSlice = createSlice({\r\n name: 'logout',\r\n initialState,\r\n reducers: {\r\n logout: (state) => {\r\n localStorage.clear();\r\n localStorage.removeItem('lastActive');\r\n localStorage.removeItem(\"permissions\");\r\n localStorage.removeItem(\"login\");\r\n localStorage.removeItem(\"token\");\r\n window.localStorage.clear();\r\n window.sessionStorage.clear();\r\n state.token = null;\r\n },\r\n },\r\n});\r\n\r\nexport const { logout } = logoutSlice.actions;\r\nexport default logoutSlice.reducer;\r\n","import { baseURL } from \"../Config\";\r\nimport axios from \"axios\";\r\nimport { toast } from \"react-toastify\";\r\nimport { loadingAction } from \"../redux/actions/loadingAction\";\r\nimport { logout } from \"../redux/slices/logoutSlice\";\r\n\r\nexport const handlePostRequest =\r\n (data, url, isShowLoad = false, isShowToast = false) =>\r\n async (dispatch) => {\r\n // data = await trimData(data);\r\n try {\r\n if (isShowLoad) dispatch(loadingAction(true));\r\n const response = await axios({\r\n method: \"post\",\r\n url: `${baseURL + url}`,\r\n data: data,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`, \r\n },\r\n });\r\n if (isShowToast) toast.success(response?.data?.body || response?.data?.statusMessage || response?.data?.message);\r\n // if (isShowLoad) dispatch(loadingAction(false));\r\n return response?.data;\r\n } catch (error) {\r\n // if (isShowLoad) dispatch(loadingAction(false));\r\n if (error?.response?.data?.StatusCode == '403' && error?.response?.status == 401) {\r\n toast.warn(error?.response?.data?.StatusMessage || 'Authentication Failed ! Please login again');\r\n dispatch(logout());\r\n }\r\n else if (error?.response?.status === 400 || error?.response?.status === 500) {\r\n toast.warn(error?.response?.data?.statusMessage || \"Something went wrong !!\");\r\n } else {\r\n toast.warn(error?.response?.data?.statusMessage || \"Something went wrong !!\");\r\n }\r\n return error?.response;\r\n }\r\n \r\n };\r\n","import { baseURL } from \"../Config\";\r\nimport axios from \"axios\";\r\nimport { toast } from \"react-toastify\";\r\nimport { loadingAction } from \"../redux/actions/loadingAction\";\r\nimport { logout } from \"../redux/slices/logoutSlice\";\r\n\r\nexport const handleGetRequest = (url, isShowLoad = false) =>\r\n async (dispatch) => {\r\n try {\r\n if (isShowLoad) dispatch(loadingAction(true));\r\n const response = await axios.get(`${baseURL + url}`, {\r\n headers: {\r\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`,\r\n },\r\n });\r\n // if (isShowLoad) dispatch(loadingAction(false));\r\n return response.data;\r\n } catch (error) {\r\n if (error?.response?.data?.StatusCode == '403' && error?.response?.status == 401) {\r\n toast.warn(error?.response?.data?.StatusMessage || 'Authentication Failed ! Please login again');\r\n dispatch(logout());\r\n }\r\n else {\r\n toast.warn(error?.response?.data?.statusMessage || error?.response?.data?.message || error?.message || \"Something went wrong !!\");\r\n }\r\n }\r\n };","import { baseURL } from \"../Config\";\r\nimport axios from \"axios\";\r\nimport { toast } from \"react-toastify\";\r\nimport { loadingAction } from \"../redux/actions/loadingAction\";\r\n\r\nexport const handleAuthRequest =\r\n (data, url, isShowLoad = false, isShowToast = false) =>\r\n async (dispatch) => {\r\n // data = await trimData(data);\r\n try {\r\n if (isShowLoad) dispatch(loadingAction(true));\r\n const response = await axios({\r\n method: \"post\",\r\n url: `${baseURL + url}`,\r\n data: data,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Authorization: null, \r\n },\r\n });\r\n if (isShowToast) toast.success(response?.data?.body || response?.data?.statusMessage || response?.data?.message);\r\n // if (isShowLoad) dispatch(loadingAction(false));\r\n return response?.data;\r\n } catch (error) {\r\n // if (isShowLoad) dispatch(loadingAction(false));\r\n if (error?.response?.status === 400 || error?.response?.status === 500) {\r\n toast.warn(error?.response?.data?.statusMessage || \"Something went wrong !!\");\r\n } else {\r\n toast.warn(error?.response?.data?.statusMessage || \"Something went wrong !!\");\r\n }\r\n return error?.response;\r\n }\r\n };\r\n","import React, { useState } from \"react\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport { Password } from \"primereact/password\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useEffect } from \"react\";\r\nimport { handlePostRequest } from \"../../services/PostTemplate\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport loginImage from \"../../assets/warehouse-assets/warehouse.png\"\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { handleAuthRequest } from \"../../services/Auth\";\r\n\r\nconst Login = () => {\r\n\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [loadingIcon, setLoadingIcon] = useState('');\r\n const [isActive, setIsActive] = useState(false)\r\n const dispatch = useDispatch()\r\n const history = useHistory()\r\n\r\n const validationSchema = Yup.object().shape({\r\n email: Yup.mixed().required(\"This field is required.\"),\r\n password: Yup.mixed().required(\"This field is required.\"),\r\n });\r\n\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n email: \"\",\r\n password: \"\",\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n setLoadingIcon(\"pi pi-spin pi-spinner\");\r\n setSaveBtnLoading(true);\r\n\r\n let obj = {\r\n user_Email: formik.values.email,\r\n user_Password: formik.values.password,\r\n }\r\n\r\n const response = await dispatch(handleAuthRequest(obj, \"/api/Authentication/Login\", true, true));\r\n\r\n if (response?.statusCode == 200) {\r\n\r\n localStorage.setItem(\"login\", true)\r\n localStorage.setItem(\"token\", response?.token)\r\n sessionStorage.setItem('firstLogin', 'true');\r\n \r\n await getPermissionsByRoleId(response?.roleid)\r\n\r\n if (response?.user_id) {\r\n localStorage.setItem(\"user_id\", response?.user_id)\r\n }\r\n if (response?.warehouseid) {\r\n localStorage.setItem(\"warehouseid\", response?.warehouseid)\r\n }\r\n if (response?.roletypeid) {\r\n localStorage.setItem(\"roletypeid\", response?.roletypeid)\r\n }\r\n if (response?.usertype_id) {\r\n localStorage.setItem(\"usertype_id\", response?.usertype_id)\r\n }\r\n if (response?.user_name) {\r\n localStorage.setItem(\"user_name\", response?.user_name)\r\n }\r\n if (response?.warehouse_name) {\r\n localStorage.setItem(\"warehouse_name\", response?.warehouse_name)\r\n }\r\n if (response?.logo_img) {\r\n localStorage.setItem(\"logo_img\", response?.logo_img)\r\n }\r\n if (response?.img !== '') {\r\n localStorage.setItem(\"img\", response?.img)\r\n }\r\n if ((response?.roletypeid == 1 && response?.usertype_id == 0 && !response?.warehouseid) || (response?.roletypeid == 2 && response?.usertype_id == 2 && response?.warehouseid)) {\r\n history.push(\"/\");\r\n }\r\n else {\r\n history.push(\"/\");\r\n }\r\n }\r\n else {\r\n setSaveBtnLoading(false)\r\n }\r\n setLoadingIcon(\"\");\r\n setSaveBtnLoading(false)\r\n },\r\n });\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n const getPermissionsByRoleId = async (roleId) => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/GetPermissionbyid?rid=${roleId}`, true));\r\n if (response) {\r\n localStorage.setItem(\"permissions\", JSON.stringify(response));\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const getSuperAdminRoles = async (roleId) => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/Getallmodulebylist?roletype_id=${roleId}`, true));\r\n if (response) {\r\n localStorage.setItem(\"permissions\", JSON.stringify(response));\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const RouteTo = () => {\r\n history.push(\"/forgotPassword\")\r\n }\r\n\r\n useEffect(() => {\r\n if (formik.values.email) {\r\n localStorage.setItem(\"EmailForForgotPass\", formik.values.email)\r\n }\r\n }, [formik.values.email])\r\n\r\n return (\r\n\r\n <>\r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n
    \r\n\r\n
    \r\n \"Image\r\n
    \r\n
    \r\n
    AKWFS
    \r\n
    \r\n
    \r\n

    WareHouse MS

    \r\n

    Welcome back

    \r\n
    Sign in by entering your account here
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"password\")}\r\n \r\n
    \r\n\r\n
    Forgot Password?
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Powered by: AKWFS
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n );\r\n};\r\n\r\nexport default Login;\r\n","import { baseURL } from \"../Config\";\r\nimport axios from \"axios\";\r\nimport { toast } from \"react-toastify\";\r\nimport { loadingAction } from \"../redux/actions/loadingAction\";\r\nimport { logout } from \"../redux/slices/logoutSlice\";\r\n\r\nexport const handleDeleteRequest =\r\n (data, url, isShowLoad = false, isShowToast = true) =>\r\n async (dispatch) => {\r\n try {\r\n if (isShowLoad) dispatch(loadingAction(true));\r\n const response = await axios({\r\n method: \"delete\",\r\n url: `${baseURL + url}`,\r\n data:data,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`,\r\n },\r\n });\r\n if (isShowToast && response?.data) toast.success(response?.data?.message);\r\n // if (isShowLoad) dispatch(loadingAction(false));\r\n return response?.data;\r\n } catch (error) {\r\n // if (isShowLoad) dispatch(loadingAction(false));\r\n if (error?.response?.data?.StatusCode == '403' && error?.response?.status == 401) {\r\n toast.warn(error?.response?.data?.StatusMessage || 'Authentication Failed ! Please login again');\r\n dispatch(logout());\r\n }\r\n else if (error?.response?.status === 400 || error?.response?.status === 500) {\r\n toast.warn(error?.response?.data?.message || \"Something went wrong !!\");\r\n } else {\r\n toast.warn(error?.response?.data?.message || \"Something went wrong !!\");\r\n }\r\n return error?.response;\r\n }\r\n };\r\n","import { baseURL } from \"../Config\";\r\nimport axios from \"axios\";\r\nimport { toast } from \"react-toastify\";\r\nimport { loadingAction } from \"../redux/actions/loadingAction\";\r\nimport { logout } from \"../redux/slices/logoutSlice\";\r\n\r\nexport const handlePutRequest =\r\n (data, url, isShowLoad = false, isShowToast = true) =>\r\n async (dispatch) => {\r\n // data = await trimData(data);\r\n try {\r\n if (isShowLoad) dispatch(loadingAction(true));\r\n const response = await axios({\r\n method: \"put\",\r\n url: `${baseURL + url}`,\r\n data: data,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`,\r\n },\r\n });\r\n if (isShowToast) toast.success(response?.data?.body || response?.data?.statusMessage || response?.data?.message);\r\n // if (isShowLoad) dispatch(loadingAction(false));\r\n return response?.data;\r\n } catch (error) {\r\n // if (isShowLoad) dispatch(loadingAction(false));\r\n if (error?.response?.data?.StatusCode == '403' && error?.response?.status == 401) {\r\n toast.warn(error?.response?.data?.StatusMessage || 'Authentication Failed ! Please login again');\r\n dispatch(logout());\r\n }\r\n else if (error?.response?.status === 400 || error?.response?.status === 500) {\r\n toast.warn(error?.response?.data?.statusMessage || \"Something went wrong !!\");\r\n } else {\r\n toast.warn(error?.response?.data?.statusMessage || \"Something went wrong !!\");\r\n }\r\n return error?.response;\r\n }\r\n };\r\n","import React, { useState, useEffect, useContext, useRef } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { handleDeleteRequest } from \"../../services/DeleteTemplate\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { baseURL } from \"../../Config\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { handlePutRequest } from \"../../services/PutTemplate\";\r\nimport dp from '../../assets/warehouse-assets/dp.jpeg'\r\nimport { Tag } from \"primereact/tag\";\r\nimport { Image } from \"primereact/image\";\r\n\r\nconst ManageUsers = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n\r\n const [superAdminActive, setSuperAdminActive] = useState(false)\r\n const [superAdminActiveAdd, setSuperAdminActiveAdd] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [allUsers, setAllUsers] = useState([]);\r\n const [allUsers2, setAllUsers2] = useState([]);\r\n const [permissions, setPermissions] = useState([]);\r\n const [acceptButtonClass, setAcceptButtonClass] = useState('p-button-danger');\r\n const [userTypes, setUserTypes] = useState([]);\r\n const [reason, setReason] = useState();\r\n const [dropdownUserType, setDropdownUserType] = useState('');\r\n const tempReasonRef = useRef('');\r\n\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n useEffect(() => {\r\n if (roletypeid) {\r\n if (roletypeid == 1 && usertype_id == 0 && !warehouseid || roletypeid == 2 && usertype_id == 1 && !warehouseid) {\r\n setSuperAdminActive(true)\r\n setSuperAdminActiveAdd(true)\r\n }\r\n else {\r\n setSuperAdminActive(false)\r\n setSuperAdminActiveAdd(false)\r\n }\r\n }\r\n }, [roletypeid])\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n const items = [\r\n {\r\n label: 'Edit',\r\n command: () => handleEditUsers(rowData),\r\n },\r\n rowData?.status === 'Active'\r\n ? {\r\n label: 'Deactivate',\r\n command: () => confirm(rowData),\r\n }\r\n : {\r\n label: 'Activate',\r\n command: () => confirm2(rowData),\r\n }\r\n ];\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const confirm = (rowData) => {\r\n confirmDialog({\r\n message: (\r\n
    \r\n
    \r\n tempReasonRef.current = e.target.value}\r\n className=\"p-inputtext-sm delete-popup mt-2 mb-2 p-3\"\r\n rows={3}\r\n >\r\n
    \r\n ),\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: 'Yes',\r\n accept: () => {\r\n setReason(tempReasonRef.current);\r\n handleDeactivateUser(rowData, tempReasonRef.current);\r\n },\r\n reject: () => {\r\n setReason('');\r\n tempReasonRef.current = '';\r\n },\r\n });\r\n };\r\n\r\n const handleDeactivateUser = async (rowData, reason) => {\r\n\r\n const obj = {\r\n user_id: rowData?.id,\r\n deactivate_Reason: (!reason || reason === '' || reason === undefined) ? 'n/a' : reason,\r\n p_isactive: 0,\r\n };\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, `/api/Authentication/DeactivateUser`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getUserList();\r\n setReason('');\r\n tempReasonRef.current = '';\r\n }\r\n\r\n setIsActive(false);\r\n }\r\n\r\n\r\n const confirm2 = (rowData) => {\r\n confirmDialog({\r\n message: 'Are you sure you want to activate this User?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: 'Yes',\r\n accept: () => {\r\n handleActivateUser(rowData);\r\n },\r\n\r\n reject: () => {\r\n return null;\r\n },\r\n });\r\n };\r\n\r\n const handleActivateUser = async (rowData) => {\r\n\r\n const obj = {\r\n user_id: rowData?.id,\r\n deactivate_Reason: 'reason',\r\n p_isactive: 1,\r\n };\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, `/api/Authentication/DeactivateUser`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getUserList();\r\n }\r\n\r\n setIsActive(false);\r\n }\r\n\r\n const handleEditUsers = (rowData) => {\r\n const item = true;\r\n if (roletypeid == 1 || roletypeid == 2 && usertype_id == 1 && !warehouseid) {\r\n history.push({\r\n pathname: './edituser',\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n superAdminActive: superAdminActive,\r\n }\r\n });\r\n }\r\n else {\r\n\r\n history.push({\r\n pathname: './edituseradmin',\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n superAdminActive: superAdminActive,\r\n }\r\n });\r\n }\r\n };\r\n\r\n const imageTemplate = (rowData) => {\r\n return (\r\n \r\n
    \r\n {rowData?.image ?\r\n dp\r\n :\r\n dp\r\n }\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n //Get All Users\r\n const getUserList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/GetAllUsers?roletype_id=${roletypeid}&usertype_id=${usertype_id}&warehouse_id=${warehouseid || 0}`, true));\r\n if (response) {\r\n setAllUsers(response);\r\n setAllUsers2(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const getUserTypes = async () => {\r\n\r\n setIsActive(true);\r\n const res = await dispatch(handleGetRequest(\"/api/Authentication/UserType\", true));\r\n if (res) {\r\n setUserTypes(res);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getUserList()\r\n getUserTypes()\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/users\"));\r\n if (allPermModules) {\r\n setPermissions(allPermModules?.permissions?.map(item => item?.permission_id) || []);\r\n\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (dropdownUserType) {\r\n if (dropdownUserType == 1 || dropdownUserType == 2) {\r\n setAllUsers(allUsers2?.filter(item => item?.usertypeId == dropdownUserType))\r\n }\r\n else {\r\n setAllUsers(allUsers2)\r\n }\r\n }\r\n\r\n }, [dropdownUserType])\r\n\r\n return (\r\n\r\n <>\r\n
    \r\n

    \r\n User Management\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ?\r\n
    \r\n setDropdownUserType(e.value)}\r\n className=\"dropdown-filter ml-2 mr-1\"\r\n icon=\"pi pi-plus\"\r\n placeholder=\"--Select User type--\"\r\n />\r\n
    \r\n :\r\n null}\r\n {permissions.includes(2) ?\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './addusers',\r\n state: {\r\n isEditable: item,\r\n superAdminActiveAdd: superAdminActiveAdd\r\n }\r\n });\r\n }}\r\n />\r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n \r\n rowData?.user_id || 'N/A'} header=\"User Id\">\r\n \r\n (\r\n
    \r\n {
    \r\n {rowData?.name.replace(/(.{25})/g, '$1\\n')}\r\n
    || 'N/A'}\r\n
    \r\n )}\r\n header=\"Name\"\r\n >\r\n rowData?.usertypename || 'N/A'} header=\"User Type\">\r\n rowData?.warehouseName || 'N/A'} header=\"WareHouse\">\r\n \r\n rowData?.email ? (\r\n
    \r\n {rowData.email.replace(/(.{25})/g, '$1\\n')}\r\n
    \r\n ) : (\r\n 'N/A'\r\n )\r\n }\r\n header=\"Email\"\r\n >\r\n rowData?.role || 'N/A'} header=\"Role\">\r\n (rowData?.rfiD_code == 0 || !rowData?.rfiD_code) ? 'N/A' : rowData.rfiD_code}\r\n header=\"RFID Code\"\r\n />\r\n (\r\n \r\n )}\r\n header=\"Status\"\r\n >\r\n \r\n rowData?.createdDateandFiringdate || 'N/A'} header=\"Enrollment-Firing\">\r\n rowData?.lastLogin || 'N/A'} header=\"Last Log Activity\">\r\n {permissions.includes(1) ?\r\n \r\n :\r\n null}\r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ManageUsers","import React, { useEffect, useState, useRef } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Password } from 'primereact/password';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { handleGetRequest } from '../../services/GetTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handlePostRequest } from '../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../services/PutTemplate';\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { toast } from 'react-toastify';\r\nimport profilePic from '../../assets/warehouse-assets/warehouse.png'\r\nimport { Tag } from 'primereact/tag';\r\nimport { Toast } from 'primereact/toast';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { ProgressBar } from 'primereact/progressbar';\r\nimport uploadImage from '../../assets/warehouse-assets/uploadImage.png'\r\nimport dp from '../../assets/warehouse-assets/dp.jpeg'\r\nimport { baseURL } from '../../Config';\r\n\r\nconst Settings = () => {\r\n\r\n const userId = localStorage.getItem(\"userId\")\r\n const location = useLocation()\r\n\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [userInput, setUserInput] = useState(\"\")\r\n const [allRoles, setAllRoles] = useState([])\r\n\r\n const toast = useRef(null);\r\n const [showPassword, setShowPassword] = useState(false);\r\n const [showPassword2, setShowPassword2] = useState(false);\r\n\r\n const [fileInfo, setFileInfo] = useState(null);\r\n const [showImage, setShowImage] = useState('');\r\n const [editableRemoved, setEditableRemoved] = useState(false);\r\n\r\n const togglePasswordVisibility = () => {\r\n setShowPassword(prevState => !prevState);\r\n };\r\n\r\n\r\n const togglePasswordVisibility2 = () => {\r\n setShowPassword2(prevState => !prevState);\r\n };\r\n\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const validationSchema = Yup.object().shape({\r\n first_name: Yup.mixed().required(\"This field is required.\"),\r\n last_name: Yup.mixed().required(\"This field is required.\"),\r\n email: Yup.mixed().required(\"This field is required.\"),\r\n newPassword: Yup.mixed().required(\"This field is required.\"),\r\n gender: Yup.mixed().required(\"This field is required.\"),\r\n contact: Yup.mixed().required(\"This field is required.\"),\r\n designation: Yup.mixed().required(\"This field is required.\"),\r\n department: Yup.mixed().required(\"This field is required.\"),\r\n role: Yup.mixed().required(\"This field is required.\"),\r\n });\r\n\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n email: \"\",\r\n newPassword: \"\",\r\n password: \"\",\r\n gender: \"\",\r\n designation: \"\",\r\n contact: \"\",\r\n department: \"\",\r\n role: \"\"\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n\r\n },\r\n });\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n //Profile Pic\r\n const handleIconClick = () => {\r\n const fileInput = document.createElement('input');\r\n fileInput.type = 'file';\r\n fileInput.accept = 'image/*';\r\n fileInput.onchange = handleChange;\r\n fileInput.click();\r\n };\r\n\r\n const handleChange = (event) => {\r\n processFile(event.target.files[0]);\r\n };\r\n\r\n const handleDrop = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (event.dataTransfer.files && event.dataTransfer.files.length > 0) {\r\n processFile(event.dataTransfer.files[0]);\r\n event.dataTransfer.clearData();\r\n }\r\n };\r\n\r\n const handleDragOver = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n\r\n const processFile = (event) => {\r\n const file = event;\r\n if (file) {\r\n const objectURL = URL.createObjectURL(file);\r\n setFileInfo({\r\n file: file, // Storing the actual File object\r\n objectURL: objectURL,\r\n lastModified: file.lastModified,\r\n lastModifiedDate: file.lastModifiedDate,\r\n name: file.name,\r\n size: file.size,\r\n type: file.type,\r\n webkitRelativePath: file.webkitRelativePath || \"\"\r\n });\r\n }\r\n };\r\n\r\n const handleRemoveImage = () => {\r\n if (showImage) {\r\n URL.revokeObjectURL(fileInfo.objectURL); // Free up memory by releasing object URL\r\n setShowImage('')\r\n setEditableRemoved(true)\r\n }\r\n if (fileInfo) {\r\n URL.revokeObjectURL(fileInfo.objectURL); // Free up memory by releasing object URL\r\n setShowImage('')\r\n }\r\n setFileInfo(null);\r\n };\r\n\r\n return (\r\n\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n\r\n
    \r\n
    \r\n
    \r\n

    Profile Settings

    \r\n
    Update your profile
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* 1st card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Profile Photo\r\n This image will be displayed on your profile\r\n
    \r\n
    \r\n
    \r\n {fileInfo || showImage ?\r\n
    \r\n \"Uploaded\"\r\n \r\n
    \r\n :\r\n null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Click to Upload or drag and drop\r\n \r\n \r\n JPG or PNG (Recommended size 500x500px)\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {/* 2nd card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Personal Information\r\n Your Personal Details\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"full_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"contact_number\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"email_address\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* 3rd card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Activity Log\r\n Last 5 login history\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Monday 8:00 am (19 April,2024)\r\n
    \r\n
    \r\n Tuesday 9:00 am (20 April,2024)\r\n
    \r\n
    \r\n Wednesday 8:00 am (21 April,2024)\r\n
    \r\n
    \r\n Thursday 10:00 am (22 April,2024)\r\n
    \r\n
    \r\n Friday 12:00 am (23 April,2024)\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* 4th card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Password\r\n Enter current password to make update\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Settings","import React, { useState, useEffect, useContext, useRef } from \"react\";\r\nimport { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport './Dashboard.scss'\r\nimport { Chart } from 'primereact/chart';\r\nimport 'react-circular-progressbar/dist/styles.css';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { Column } from \"jspdf-autotable\";\r\nimport Registered from \"../../assets/imgs/Registered.svg\"\r\nimport activeUsers from \"../../assets/warehouse-assets/report-icons/svg/active.png\"\r\nimport inActiveUsers from \"../../assets/warehouse-assets/report-icons/svg/inactive.png\"\r\nimport moment from \"moment\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\n\r\nconst SuperAdminDashboard = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [isActive, setIsActive] = useState(false);\r\n const [warehouseid, setWarehouseId] = useState('')\r\n const [allWH, setAllWH] = useState([])\r\n const [totalRegisteredUser, setTotalRegisteredUser] = useState('')\r\n const [activeMonthsUsers, setActiveMonthsUsers] = useState('')\r\n const [deActiveMonthsUsers, setDeActiveMonthsUsers] = useState()\r\n\r\n const [lowLevelData, setLowLevelData] = useState([])\r\n\r\n const [valueInventoryData, setValueInventoryData] = useState({});\r\n const [valueInventoryOptions, setValueInventoryOptions] = useState({});\r\n const [valueAssetData, setValueAssetData] = useState({});\r\n const [valueAssetOptions, setValueAssetOptions] = useState({});\r\n const [userValueOfInventoryData, setUserValueOfInventoryData] = useState({});\r\n const [userValueOfInventoryOptions, setUserValueOfInventoryOptions] = useState({});\r\n\r\n const [valueInvFromDate, setValueInvFromDate] = useState(moment().subtract(30, 'days').toDate())\r\n const [valueInvToDate, setValueInvToDate] = useState(moment().toDate())\r\n\r\n const [valueAssetFromDate, setValueAssetFromDate] = useState(moment().subtract(30, 'days').toDate())\r\n const [valueAssetToDate, setValueAssetToDate] = useState(moment().toDate())\r\n\r\n const [userInventoryFromDate, setUserInventoryFromDate] = useState(moment().subtract(30, 'days').toDate())\r\n const [userInventoryToDate, setUserInventoryToDate] = useState(moment().toDate())\r\n\r\n const getTotalActiveUser = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTotalActiveUsers?warehouseid=${warehouseid?.obj_id || 0}`))\r\n if (response?.statusCode === \"200\") {\r\n setTotalRegisteredUser(response?.body[0]?.activeUserCount)\r\n }\r\n }\r\n\r\n const getActivatedUsersByMonth = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTotalActiveUsersLast6Month?warehouseid=${warehouseid?.obj_id || 0}`))\r\n if (response?.statusCode === \"200\") {\r\n setActiveMonthsUsers(response?.body[0]?.activeUserCount)\r\n }\r\n }\r\n\r\n const getDeActivatedUsersByMonth = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTotalDeactivateUsersLast6month?warehouseid=${warehouseid?.obj_id || 0}`))\r\n if (response?.statusCode === \"200\") {\r\n setDeActiveMonthsUsers(response?.body[0]?.activeUserCount)\r\n }\r\n }\r\n\r\n const getValueInventorySupply = async () => {\r\n setIsActive(true);\r\n const fromDate = valueInvFromDate ? moment(valueInvFromDate).format('YYYY-MM-DD') : null;\r\n const toDate = valueInvToDate ? moment(valueInvToDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTopVendorsByInventoryValue?fromdate=${fromDate}&todate=${toDate}&warehouse_id=${warehouseid?.obj_id || 0}`));\r\n setIsActive(false);\r\n\r\n const documentStyle = getComputedStyle(document.documentElement);\r\n const textColor = documentStyle.getPropertyValue('--text-color');\r\n const textColorSecondary = documentStyle.getPropertyValue('--text-color-secondary');\r\n const surfaceBorder = documentStyle.getPropertyValue('--surface-border');\r\n\r\n const data = {\r\n labels: response?.statusCode === \"200\" ? response?.body?.labels : [],\r\n datasets: [\r\n {\r\n label: 'Top Vendors by Inventory Supply',\r\n backgroundColor: 'rgba(106, 78, 209, 0.6)',\r\n borderColor: '#2d8eff',\r\n data: response?.statusCode === \"200\" ? response?.body?.data : [],\r\n barThickness: 50,\r\n },\r\n ]\r\n };\r\n\r\n const options = {\r\n maintainAspectRatio: false,\r\n aspectRatio: 0.8,\r\n plugins: {\r\n legend: {\r\n labels: {\r\n fontColor: textColor,\r\n }\r\n }\r\n },\r\n scales: {\r\n x: {\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\",\r\n font: {\r\n weight: 500\r\n },\r\n callback: function (value) {\r\n if (this.getLabelForValue(value).length > 10) {\r\n return this.getLabelForValue(value).substr(0, 10) + \"... \"\r\n } else {\r\n return this.getLabelForValue(value).substr(0, 10)\r\n }\r\n }\r\n },\r\n grid: {\r\n display: false,\r\n drawBorder: false\r\n }\r\n },\r\n y: {\r\n type: 'logarithmic',\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\",\r\n callback: function (value) {\r\n return value;\r\n }\r\n },\r\n grid: {\r\n color: surfaceBorder,\r\n drawBorder: false\r\n }\r\n }\r\n\r\n }\r\n };\r\n\r\n setValueInventoryData(data);\r\n setValueInventoryOptions(options);\r\n};\r\n\r\nconst getValueAssetSupply = async () => {\r\n setIsActive(true)\r\n const fromDate = valueAssetFromDate ? moment(valueAssetFromDate).format('YYYY-MM-DD') : null;\r\n const toDate = valueAssetToDate ? moment(valueAssetToDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTopVendorsByAssetValue?fromdate=${fromDate}&todate=${toDate}&warehouse_id=${warehouseid?.obj_id || 0}`))\r\n setIsActive(false)\r\n\r\n const documentStyle = getComputedStyle(document.documentElement);\r\n const textColor = documentStyle.getPropertyValue('--text-color');\r\n const textColorSecondary = documentStyle.getPropertyValue('--text-color-secondary');\r\n const surfaceBorder = documentStyle.getPropertyValue('--surface-border');\r\n const data = {\r\n labels: response?.statusCode === \"200\" ? response?.body?.labels : [],\r\n datasets: [\r\n {\r\n label: 'Top Vendors by Asset Supply',\r\n backgroundColor: 'rgba(106, 78, 209, 0.6)',\r\n borderColor: '#2d8eff',\r\n data: response?.statusCode === \"200\" ? response?.body?.data : [],\r\n barThickness: 50,\r\n },\r\n ]\r\n };\r\n const options = {\r\n maintainAspectRatio: false,\r\n aspectRatio: 0.8,\r\n plugins: {\r\n legend: {\r\n labels: {\r\n fontColor: textColor,\r\n }\r\n }\r\n },\r\n scales: {\r\n x: {\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\",\r\n font: {\r\n weight: 500\r\n },\r\n callback: function (value) {\r\n if (this.getLabelForValue(value).length > 10) {\r\n return this.getLabelForValue(value).substr(0, 10) + \"... \"\r\n } else {\r\n return this.getLabelForValue(value).substr(0, 10)\r\n }\r\n }\r\n },\r\n grid: {\r\n display: false,\r\n drawBorder: false\r\n },\r\n\r\n },\r\n y: {\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\"\r\n },\r\n grid: {\r\n color: surfaceBorder,\r\n drawBorder: false\r\n }\r\n }\r\n }\r\n };\r\n\r\n setValueAssetData(data);\r\n setValueAssetOptions(options);\r\n};\r\n\r\nconst getUserValueOfInventory = async () => {\r\n setIsActive(true)\r\n const fromDate = userInventoryFromDate ? moment(userInventoryFromDate).format('YYYY-MM-DD') : null;\r\n const toDate = userInventoryToDate ? moment(userInventoryToDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTopUsersByInventoryValue?fromdate=${fromDate}&todate=${toDate}&warehouse_id=${warehouseid?.obj_id || 0}`))\r\n setIsActive(false)\r\n const documentStyle = getComputedStyle(document.documentElement);\r\n\r\n const textColor = documentStyle.getPropertyValue('--text-color');\r\n const textColorSecondary = documentStyle.getPropertyValue('--text-color-secondary');\r\n const surfaceBorder = documentStyle.getPropertyValue('--surface-border');\r\n\r\n const data = {\r\n labels: response?.statusCode === \"200\" ? response?.body?.labels : [],\r\n datasets: [\r\n {\r\n label: 'User Value of Inventory',\r\n backgroundColor: 'rgba(141, 122, 213, 0.6)',\r\n data: response?.statusCode === \"200\" ? response?.body?.data : [],\r\n barThickness: 50\r\n },\r\n ]\r\n };\r\n const options = {\r\n indexAxis: 'y',\r\n maintainAspectRatio: false,\r\n aspectRatio: 0.8,\r\n plugins: {\r\n legend: {\r\n labels: {\r\n fontColor: textColor\r\n }\r\n }\r\n },\r\n scales: {\r\n x: {\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\",\r\n font: {\r\n weight: 500\r\n }\r\n },\r\n grid: {\r\n display: false,\r\n drawBorder: false\r\n }\r\n },\r\n y: {\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\",\r\n callback: function (value) {\r\n if (this.getLabelForValue(value).length > 10) {\r\n return this.getLabelForValue(value).substr(0, 10) + \"... \"\r\n } else {\r\n return this.getLabelForValue(value).substr(0, 10)\r\n }\r\n }\r\n },\r\n grid: {\r\n color: surfaceBorder,\r\n drawBorder: false\r\n }\r\n }\r\n }\r\n };\r\n setUserValueOfInventoryData(data);\r\n setUserValueOfInventoryOptions(options);\r\n}\r\n\r\n//Get WH List\r\nconst getWHList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllWarehouse`, true));\r\n if (response) {\r\n setAllWH(response);\r\n }\r\n setIsActive(false);\r\n};\r\n\r\n//Low Level List\r\nconst getLowLevelNew = async () => {\r\n\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetLowLevelitems?warehouse_id=${warehouseid?.obj_id || 0}`))\r\n if (response?.statusCode == 200) {\r\n setLowLevelData(response?.body);\r\n }\r\n setIsActive(false)\r\n};\r\n\r\nconst lowLevelItemHeader = () => (\r\n <>\r\n
    \r\n
    Low Level Items
    \r\n
    \r\n \r\n)\r\n\r\nconst handleLowLevelData = () => {\r\n history.push({\r\n pathname: './lowlevellist',\r\n state: { warehouseId: warehouseid?.obj_id }\r\n });\r\n};\r\n\r\nuseEffect(() => {\r\n\r\n getTotalActiveUser()\r\n getDeActivatedUsersByMonth()\r\n getActivatedUsersByMonth()\r\n getWHList()\r\n getLowLevelNew()\r\n\r\n}, [])\r\n\r\nuseEffect(() => {\r\n if (warehouseid) {\r\n getTotalActiveUser()\r\n getActivatedUsersByMonth()\r\n getDeActivatedUsersByMonth()\r\n getLowLevelNew()\r\n }\r\n}, [warehouseid])\r\n\r\nuseEffect(() => {\r\n if (valueInvFromDate && valueInvToDate && warehouseid === undefined || (warehouseid === undefined)) {\r\n getTotalActiveUser()\r\n getActivatedUsersByMonth()\r\n getDeActivatedUsersByMonth()\r\n getLowLevelNew()\r\n }\r\n}, [valueInvFromDate, valueInvToDate, warehouseid])\r\n\r\n// getValueInventorySupply \r\nuseEffect(() => {\r\n if ((valueInvFromDate && valueInvToDate) || warehouseid) {\r\n getValueInventorySupply()\r\n }\r\n}, [valueInvFromDate, valueInvToDate, warehouseid])\r\n\r\n// getValueAssetSupply\r\nuseEffect(() => {\r\n if ((valueAssetFromDate && valueAssetToDate) || warehouseid) {\r\n getValueAssetSupply()\r\n }\r\n}, [valueAssetFromDate, valueAssetToDate, warehouseid])\r\n\r\n// getUserValueOfInventory\r\nuseEffect(() => {\r\n if ((userInventoryFromDate && userInventoryToDate) || warehouseid) {\r\n getUserValueOfInventory()\r\n }\r\n}, [userInventoryFromDate, userInventoryToDate, warehouseid])\r\n\r\nreturn (\r\n <>\r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Super Admin Dashboard\r\n \r\n \r\n {\r\n const selectedWarehouse = allWH?.find(wh => wh?.obj_id === e?.value);\r\n setWarehouseId(selectedWarehouse);\r\n }}\r\n className=\"custom-dropdown\"\r\n >\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Total Registered Users
    \r\n

    {totalRegisteredUser}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Activated Users (Last 6 months)
    \r\n

    {activeMonthsUsers}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Deactivated Users (Last 6 months)
    \r\n

    {deActiveMonthsUsers}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {/* Inventory value of vendors*/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Top 5 Vendors {warehouseid ? `(${warehouseid?.obj_Name})` : null}
    \r\n (Value supplying inventory)\r\n
    \r\n
    \r\n
    \r\n \r\n setValueInvFromDate(e?.target?.value)} value={valueInvFromDate} maxDate={valueInvToDate} />\r\n
    \r\n
    \r\n \r\n setValueInvToDate(e?.target?.value)} value={valueInvToDate} maxDate={new Date()} minDate={valueInvFromDate} />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* Assets Value of Vendors*/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Top 5 Vendors {warehouseid ? `(${warehouseid?.obj_Name})` : null}
    \r\n (Total assets quantity)\r\n
    \r\n
    \r\n
    \r\n \r\n setValueAssetFromDate(e?.target?.value)} value={valueAssetFromDate} maxDate={valueAssetToDate} />\r\n
    \r\n
    \r\n \r\n setValueAssetToDate(e?.target?.value)} value={valueAssetToDate} maxDate={new Date()} minDate={valueAssetFromDate} />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Top 5 Users {warehouseid ? `(${warehouseid?.obj_Name})` : null}
    \r\n (Value of inventory)\r\n
    \r\n
    \r\n
    \r\n \r\n setUserInventoryFromDate(e?.target?.value)} value={userInventoryFromDate} maxDate={userInventoryToDate} />\r\n
    \r\n
    \r\n \r\n setUserInventoryToDate(e?.target?.value)} maxDate={new Date()} value={userInventoryToDate} minDate={userInventoryFromDate} />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* Low level Items*/}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {lowLevelData?.length\r\n ?\r\n handleLowLevelData()}> Show More ...\r\n :\r\n null}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n);\r\n};\r\n\r\nexport default SuperAdminDashboard","import React, { useState, useEffect } from \"react\";\r\nimport { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport './Dashboard.scss'\r\nimport { Chart } from 'primereact/chart';\r\nimport 'react-circular-progressbar/dist/styles.css';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { Column } from \"jspdf-autotable\";\r\nimport Inventory from \"../../assets/imgs/inventory.svg\"\r\nimport Assets from \"../../assets/imgs/Assets.svg\"\r\nimport Registered from \"../../assets/imgs/Registered.svg\"\r\nimport activeUsers from \"../../assets/warehouse-assets/report-icons/svg/active.png\"\r\nimport inActiveUsers from \"../../assets/warehouse-assets/report-icons/svg/inactive.png\"\r\nimport moment from \"moment\";\r\nimport SuperAdminDashboard from \"./SuperAdminDashboard\";\r\n\r\nconst Dashboard = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [totalInventory, setTotalInventory] = useState('')\r\n const [totalAsset, setTotalAsset] = useState('')\r\n const [totalRegisteredUser, setTotalRegisteredUser] = useState('')\r\n const [totalActiveUser, setTotalActiveUser] = useState('')\r\n const [totalInactiveUser, setTotalInactiveUser] = useState('')\r\n\r\n const [consumableFromDate, setConsumableFromDate] = useState(moment().subtract(30, 'days').toDate())\r\n const [consumableToDate, setConsumableToDate] = useState(moment().toDate())\r\n const [userConsumableData, setUserConsumableData] = useState({});\r\n const [userConsumableOptions, setUserConsumableOptions] = useState({});\r\n\r\n const [borrowAssetFromDate, setBorrowAssetFromDate] = useState(moment().subtract(30, 'days').toDate())\r\n const [borrowAssetToDate, setBorrowAssetToDate] = useState(moment().toDate())\r\n const [borrowAssetData, setBorrowAssetData] = useState({})\r\n const [borrowAssetOption, setBorrowAssetOption] = useState({})\r\n\r\n const [returnItemFromDate, setReturnItemFromDate] = useState(moment().subtract(30, 'days').toDate());\r\n const [returnItemToDate, setReturnItemToDate] = useState(moment().toDate());\r\n const [returnItemData, setReturnItemData] = useState({});\r\n const [returnItemOptions, setReturnItemOptions] = useState({});\r\n\r\n const [replenishedItem, setReplenishedItem] = useState([])\r\n const [expiryItems, setExpiryItems] = useState([]);\r\n\r\n const [frequentUserFromDate, setFrequentUserFromDate] = useState(moment().subtract(30, 'days').toDate())\r\n const [frequentUserToDate, setFrequentUserToDate] = useState(moment().toDate())\r\n const [frequentUserData, setFrequentUserData] = useState({})\r\n const [frequentUserOptions, setFrequentUserOptions] = useState({})\r\n\r\n const [checkoutFromDate, setCheckoutFromDate] = useState(moment().subtract(30, 'days').toDate())\r\n const [checkoutToDate, setCheckoutToDate] = useState(moment().toDate())\r\n const [checkoutData, setcheckoutData] = useState({})\r\n const [checkoutOption, setcheckoutOption] = useState({})\r\n\r\n const [isActive, setIsActive] = useState(false);\r\n const [isSuperAdmin, setIsSuperAdmin] = useState()\r\n\r\n const getTotalInventory = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTotalInventory?warehouse_id=${warehouseid || 0}`))\r\n if (response?.statusCode === \"200\") {\r\n setTotalInventory(response?.body[0]?.totalInventory)\r\n }\r\n }\r\n\r\n const getTotalAssets = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTotalAsset?warehouse_id=${warehouseid || 0}`))\r\n if (response?.statusCode === \"200\") {\r\n setTotalAsset(response?.body[0]?.totalassets)\r\n }\r\n }\r\n\r\n const getTotalRegisteredUser = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTotalUsers?warehouseid=${warehouseid || 0}`))\r\n if (response?.statusCode === \"200\") {\r\n setTotalRegisteredUser(response?.body[0]?.totalUsers)\r\n setTotalActiveUser(response?.body[0]?.activeUsers)\r\n setTotalInactiveUser(response?.body[0]?.inactiveUsers)\r\n }\r\n }\r\n\r\n const getuserConsumableData = async () => {\r\n setIsActive(true)\r\n const fromDate = consumableFromDate ? moment(consumableFromDate).format('YYYY-MM-DD') : null;\r\n const toDate = consumableToDate ? moment(consumableToDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTop5ConsumablesUsers?fromdate=${fromDate}&todate=${toDate}&warehouse_id=${warehouseid || 0}`))\r\n setIsActive(false)\r\n const documentStyle = getComputedStyle(document.documentElement);\r\n const textColor = documentStyle.getPropertyValue('--text-color');\r\n const textColorSecondary = documentStyle.getPropertyValue('--text-color-secondary');\r\n const surfaceBorder = documentStyle.getPropertyValue('--surface-border');\r\n const data = {\r\n labels: response?.statusCode === \"200\" ? response?.body?.labels : [],\r\n datasets: [\r\n {\r\n label: 'Users for Consumables',\r\n backgroundColor: 'rgba(106, 78, 209, 0.6)',\r\n borderColor: '#2d8eff',\r\n data: response?.statusCode === \"200\" ? response?.body?.data : [],\r\n barThickness: 50,\r\n },\r\n ]\r\n };\r\n const options = {\r\n maintainAspectRatio: false,\r\n aspectRatio: 0.8,\r\n plugins: {\r\n legend: {\r\n labels: {\r\n fontColor: textColor,\r\n }\r\n }\r\n },\r\n scales: {\r\n x: {\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\",\r\n font: {\r\n weight: 500\r\n },\r\n callback: function (value) {\r\n if (this.getLabelForValue(value).length > 9) {\r\n return this.getLabelForValue(value).substr(0, 9) + \"... \";\r\n } else {\r\n return this.getLabelForValue(value).substr(0, 9);\r\n }\r\n }\r\n },\r\n grid: {\r\n display: false,\r\n drawBorder: false\r\n }\r\n },\r\n y: {\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\",\r\n callback: function (value) {\r\n return Number.isInteger(value) ? value : '';\r\n }\r\n },\r\n grid: {\r\n color: surfaceBorder,\r\n drawBorder: false\r\n }\r\n }\r\n }\r\n };\r\n \r\n\r\n setUserConsumableData(data);\r\n setUserConsumableOptions(options);\r\n };\r\n\r\n const getExpiryItems = async () => {\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTopNearExpiryitems?warehouse_id=${warehouseid || 0}`))\r\n if (response?.statusCode === \"200\") {\r\n setExpiryItems(response?.body)\r\n }\r\n setIsActive(false)\r\n }\r\n\r\n const getBorrowAssetData = async () => {\r\n setIsActive(true)\r\n const fromDate = borrowAssetFromDate ? moment(borrowAssetFromDate).format('YYYY-MM-DD') : null;\r\n const toDate = borrowAssetToDate ? moment(borrowAssetToDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTop5Borrowers?fromdate=${fromDate}&todate=${toDate}&warehouse_id=${warehouseid || 0}`))\r\n setIsActive(false)\r\n const documentStyle = getComputedStyle(document.documentElement);\r\n const textColor = documentStyle.getPropertyValue('--text-color');\r\n const textColorSecondary = documentStyle.getPropertyValue('--text-color-secondary');\r\n const surfaceBorder = documentStyle.getPropertyValue('--surface-border');\r\n\r\n const data = {\r\n labels: response?.statusCode === \"200\" ? response?.body?.labels : [],\r\n datasets: [\r\n {\r\n label: 'Borrow Assets',\r\n backgroundColor: 'rgba(141, 122, 213, 0.6)',\r\n data: response?.statusCode === \"200\" ? response?.body?.data : [],\r\n barThickness: 50\r\n },\r\n // {\r\n // label: 'My Second dataset',\r\n // backgroundColor: 'rgba(106, 78, 209, 0.7)',\r\n // // borderColor: documentStyle.getPropertyValue('--pink-500'),\r\n // data: [28, 48, 40, 19, 86, 27, 90]\r\n // }\r\n ]\r\n };\r\n const options = {\r\n indexAxis: 'y',\r\n maintainAspectRatio: false,\r\n aspectRatio: 0.8,\r\n plugins: {\r\n legend: {\r\n labels: {\r\n fontColor: textColor\r\n }\r\n }\r\n },\r\n scales: {\r\n x: {\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\",\r\n font: {\r\n weight: 500\r\n }\r\n },\r\n grid: {\r\n display: false,\r\n drawBorder: false\r\n }\r\n },\r\n y: {\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\",\r\n callback: function (value) {\r\n if (this.getLabelForValue(value).length > 10) {\r\n return this.getLabelForValue(value).substr(0, 10) + \"... \"\r\n } else {\r\n return this.getLabelForValue(value).substr(0, 10)\r\n }\r\n }\r\n },\r\n grid: {\r\n color: surfaceBorder,\r\n drawBorder: false\r\n }\r\n }\r\n }\r\n };\r\n setBorrowAssetData(data);\r\n setBorrowAssetOption(options);\r\n }\r\n\r\n const getReplenishedItem = async () => {\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetReplenisheditems?warehouse_id=${warehouseid || 0}`))\r\n if (response?.statusCode === \"200\") {\r\n setReplenishedItem(response?.body)\r\n }\r\n setIsActive(false)\r\n }\r\n\r\n const getReturnItemData = async () => {\r\n setIsActive(true)\r\n const fromDate = returnItemFromDate ? moment(returnItemFromDate).format('YYYY-MM-DD') : null;\r\n const toDate = returnItemToDate ? moment(returnItemToDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTop5ReturnItems?fromdate=${fromDate}&todate=${toDate}&warehouse_id=${warehouseid || 0}`))\r\n setIsActive(false)\r\n\r\n const documentStyle = getComputedStyle(document.documentElement);\r\n const textColor = documentStyle.getPropertyValue('--text-color');\r\n const textColorSecondary = documentStyle.getPropertyValue('--text-color-secondary');\r\n const surfaceBorder = documentStyle.getPropertyValue('--surface-border');\r\n const data = {\r\n labels: response?.statusCode === \"200\" ? response?.body?.labels : [],\r\n datasets: [\r\n {\r\n label: 'Return Items',\r\n backgroundColor: 'rgba(107, 79, 209, 0.35)',\r\n borderColor: '#2d8eff',\r\n data: response?.statusCode === \"200\" ? response?.body?.data : [],\r\n barThickness: 50,\r\n },\r\n ]\r\n };\r\n const options = {\r\n maintainAspectRatio: false,\r\n aspectRatio: 0.8,\r\n plugins: {\r\n legend: {\r\n labels: {\r\n fontColor: textColor,\r\n }\r\n }\r\n },\r\n scales: {\r\n x: {\r\n\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\",\r\n font: {\r\n weight: 500\r\n },\r\n callback: function (value) {\r\n if (this.getLabelForValue(value).length > 10) {\r\n return this.getLabelForValue(value).substr(0, 10) + \"... \"\r\n } else {\r\n return this.getLabelForValue(value).substr(0, 10)\r\n }\r\n }\r\n },\r\n grid: {\r\n display: false,\r\n drawBorder: false\r\n }\r\n },\r\n y: {\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\"\r\n },\r\n grid: {\r\n color: surfaceBorder,\r\n drawBorder: false\r\n }\r\n }\r\n }\r\n };\r\n\r\n setReturnItemData(data);\r\n setReturnItemOptions(options);\r\n }\r\n\r\n const getCheckoutData = async () => {\r\n setIsActive(true)\r\n const fromDate = checkoutFromDate ? moment(checkoutFromDate).format('YYYY-MM-DD') : null;\r\n const toDate = checkoutToDate ? moment(checkoutToDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTop10CheckOutitems?fromdate=${fromDate}&todate=${toDate}&warehouse_id=${warehouseid || 0}`))\r\n setIsActive(false)\r\n const documentStyle = getComputedStyle(document.documentElement);\r\n const textColor = documentStyle.getPropertyValue('--text-color');\r\n const textColorSecondary = documentStyle.getPropertyValue('--text-color-secondary');\r\n const surfaceBorder = documentStyle.getPropertyValue('--surface-border');\r\n const data = {\r\n labels: response?.statusCode === \"200\" ? response?.body?.labels : [],\r\n datasets: [\r\n {\r\n type: 'bar',\r\n label: 'Checkout Inventory',\r\n backgroundColor: 'rgba(106, 78, 209, 0.5)',\r\n data: response?.statusCode === \"200\" ? response?.body?.data : [],\r\n barThickness: 50\r\n },\r\n\r\n ]\r\n };\r\n const options = {\r\n maintainAspectRatio: false,\r\n aspectRatio: 0.8,\r\n plugins: {\r\n tooltips: {\r\n mode: 'index',\r\n intersect: false\r\n },\r\n legend: {\r\n labels: {\r\n color: textColor\r\n }\r\n }\r\n },\r\n scales: {\r\n x: {\r\n stacked: true,\r\n ticks: {\r\n color: textColorSecondary,\r\n callback: function (value) {\r\n if (this.getLabelForValue(value).length > 15) {\r\n return this.getLabelForValue(value).substr(0, 15) + \"... \"\r\n } else {\r\n return this.getLabelForValue(value).substr(0, 15)\r\n }\r\n }\r\n },\r\n\r\n grid: {\r\n color: surfaceBorder\r\n },\r\n\r\n },\r\n y: {\r\n stacked: true,\r\n ticks: {\r\n color: textColorSecondary\r\n },\r\n grid: {\r\n color: surfaceBorder\r\n }\r\n }\r\n }\r\n };\r\n\r\n\r\n setcheckoutData(data);\r\n setcheckoutOption(options);\r\n }\r\n\r\n const getFrequentUserData = async () => {\r\n setIsActive(true)\r\n const fromDate = frequentUserFromDate ? moment(frequentUserFromDate).format('YYYY-MM-DD') : null;\r\n const toDate = frequentUserToDate ? moment(frequentUserToDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetTop5FrequentUsers?fromdate=${fromDate}&todate=${toDate}&warehouse_id=${warehouseid || 0}`))\r\n setIsActive(false)\r\n const documentStyle = getComputedStyle(document.documentElement);\r\n const textColor = documentStyle.getPropertyValue('--text-color');\r\n const textColorSecondary = documentStyle.getPropertyValue('--text-color-secondary');\r\n const surfaceBorder = documentStyle.getPropertyValue('--surface-border');\r\n\r\n\r\n const data = {\r\n labels: response?.statusCode === \"200\" ? response?.body?.labels : [],\r\n datasets: [\r\n {\r\n label: 'Frequent Users',\r\n backgroundColor: 'rgba(141, 122, 213, 0.7)',\r\n data: response?.statusCode === \"200\" ? response?.body?.data : [],\r\n barThickness: 50\r\n },\r\n ]\r\n };\r\n\r\n const options = {\r\n indexAxis: 'y',\r\n maintainAspectRatio: false,\r\n aspectRatio: 0.8,\r\n plugins: {\r\n legend: {\r\n labels: {\r\n fontColor: textColor\r\n }\r\n }\r\n },\r\n scales: {\r\n x: {\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\",\r\n font: {\r\n weight: 500\r\n },\r\n\r\n },\r\n grid: {\r\n display: false,\r\n drawBorder: false\r\n }\r\n },\r\n y: {\r\n ticks: {\r\n color: \"rgba(40, 75, 117, 1)\",\r\n callback: function (value) {\r\n if (this.getLabelForValue(value).length > 10) {\r\n return this.getLabelForValue(value).substr(0, 10) + \"... \"\r\n } else {\r\n return this.getLabelForValue(value).substr(0, 10)\r\n }\r\n }\r\n },\r\n grid: {\r\n color: surfaceBorder,\r\n drawBorder: false\r\n }\r\n }\r\n }\r\n };\r\n\r\n setFrequentUserData(data)\r\n setFrequentUserOptions(options)\r\n }\r\n\r\n useEffect(() => {\r\n if ((roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid)) {\r\n setIsSuperAdmin(true)\r\n } else {\r\n setIsSuperAdmin(false)\r\n }\r\n\r\n getTotalInventory()\r\n getTotalAssets()\r\n getTotalRegisteredUser()\r\n getExpiryItems()\r\n getReplenishedItem()\r\n\r\n }, [])\r\n\r\n const replenishedItemTemplates = (item) => {\r\n return (\r\n <>\r\n
    \r\n \r\n {item?.bal_qty}\r\n
    \r\n \r\n\r\n );\r\n };\r\n\r\n const expireDaysTemplate = (day) => {\r\n return (\r\n <>\r\n
    \r\n \r\n {day?.days_until_expiry == 0 ? 'Today' : day?.days_until_expiry}\r\n
    \r\n \r\n );\r\n };\r\n\r\n const handleExpireData = () => {\r\n history.push({\r\n pathname: './checkin',\r\n state: {\r\n expireItemData: true,\r\n }\r\n });\r\n }\r\n\r\n const handleReplenishedData = () => {\r\n history.push({\r\n pathname: './replenisheditemreport',\r\n state: {\r\n replenishedItemsData: false\r\n }\r\n });\r\n }\r\n\r\n const expireItemHeader = () => (\r\n <>\r\n
    \r\n
    Near Expiry Inventory
    \r\n (Expiry in 20 days)\r\n
    \r\n \r\n )\r\n\r\n const replenishedItemHeader = () => (\r\n <>\r\n
    \r\n
    Inventory Replenished Items
    \r\n
    \r\n \r\n )\r\n\r\n // User of Consumables \r\n useEffect(() => {\r\n if ((consumableFromDate && consumableToDate) || (!consumableFromDate && !consumableToDate)) {\r\n getuserConsumableData()\r\n }\r\n }, [consumableFromDate, consumableToDate])\r\n\r\n\r\n // Borrow assets\r\n useEffect(() => {\r\n if ((borrowAssetFromDate && borrowAssetToDate) || (!borrowAssetFromDate && !borrowAssetToDate)) {\r\n getBorrowAssetData()\r\n }\r\n }, [borrowAssetFromDate, borrowAssetToDate])\r\n\r\n // Checkout Inventory \r\n useEffect(() => {\r\n if ((checkoutFromDate && checkoutToDate) || (!checkoutFromDate && !checkoutToDate)) {\r\n getCheckoutData()\r\n }\r\n }, [checkoutFromDate, checkoutToDate])\r\n\r\n // Return Items\r\n useEffect(() => {\r\n if ((returnItemFromDate && returnItemToDate) || (!returnItemFromDate && !returnItemToDate)) {\r\n getReturnItemData()\r\n }\r\n }, [returnItemFromDate, returnItemToDate])\r\n\r\n // Frequent User\r\n useEffect(() => {\r\n if ((frequentUserFromDate && frequentUserToDate) || (!frequentUserFromDate && !frequentUserToDate)) {\r\n getFrequentUserData()\r\n }\r\n }, [frequentUserFromDate, frequentUserToDate])\r\n\r\n function formatNumber(num) {\r\n if (num >= 1000000000) {\r\n return (num / 1000000000)?.toFixed(1) + 'B';\r\n } else if (num >= 1000000) {\r\n return (num / 1000000)?.toFixed(1) + 'M';\r\n } else if (num >= 1000) {\r\n return (num / 1000)?.toFixed(1) + 'K';\r\n } else {\r\n return num?.toString();\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n {isSuperAdmin ?\r\n \r\n :\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Total Inventory
    \r\n

    {formatNumber(totalInventory) || 0}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Total Assets
    \r\n

    {totalAsset || 0}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Total Users
    \r\n

    {totalRegisteredUser || 0}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n /\r\n \r\n
    \r\n
    \r\n
    Active / Inactive
    \r\n

    {totalActiveUser} / {totalInactiveUser}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {/*Frequent Users*/}\r\n
    \r\n
    \r\n
    \r\n
    Top 5 Frequent Users
    \r\n
    \r\n
    \r\n \r\n setFrequentUserFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setFrequentUserToDate(e?.target?.value)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n {/* Expiry Items*/}\r\n
    \r\n
    \r\n \r\n \r\n moment(rowData?.expiry_date).format('YYYY-MM-DD')} field=\"expiry_date\" >\r\n \r\n \r\n {\r\n expiryItems?.length > 8 ?\r\n handleExpireData()}> Show More ...\r\n : null\r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n {/* Users for consumables */}\r\n
    \r\n
    \r\n
    \r\n
    Top 5 Users for Inventory Consumables
    \r\n
    \r\n
    \r\n \r\n setConsumableFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setConsumableToDate(e?.target?.value)} />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* Replenished Items*/}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n replenishedItem.length > 8 ?\r\n handleReplenishedData()}> Show More ...\r\n : null\r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {/* Checkout Inventory*/}\r\n
    \r\n
    \r\n
    \r\n
    Top 10 Checkout Inventory Items
    \r\n\r\n
    \r\n
    \r\n \r\n setCheckoutFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setCheckoutToDate(e?.target?.value)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n {/* Borrow Assets */}\r\n
    \r\n
    \r\n
    \r\n
    Top 5 Borrower Of the Assets
    \r\n\r\n
    \r\n
    \r\n \r\n { setBorrowAssetFromDate(e?.target?.value) }} />\r\n
    \r\n
    \r\n \r\n { setBorrowAssetToDate(e?.target?.value) }} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n {/*Return Items*/}\r\n
    \r\n
    \r\n
    \r\n
    Top 5 Return Asset Items
    \r\n\r\n
    \r\n
    \r\n \r\n setReturnItemFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setReturnItemToDate(e?.target?.value)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n }\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Dashboard","import React, { useState, useEffect, useContext, useRef } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport editIcon from \"../../assets/warehouse-assets/colored/edit.png\"\r\nimport deleteIcon from \"../../assets/warehouse-assets/colored/dlet.png\"\r\nimport { handleDeleteRequest } from \"../../services/DeleteTemplate\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { handlePutRequest } from \"../../services/PutTemplate\";\r\nimport { Tag } from \"primereact/tag\";\r\n\r\nconst ManageRoles = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [isActive, setIsActive] = useState(false)\r\n const [allRoles, setAllRoles] = useState([]);\r\n const [permissions, setPermissions] = useState([]);\r\n const [acceptButtonClass, setAcceptButtonClass] = useState('p-button-danger');\r\n\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n const items = [\r\n {\r\n label: 'Edit',\r\n command: () => handleEditRoles(rowData),\r\n },\r\n rowData?.statusdesc == \"Inactive\"\r\n ? {\r\n label: 'Activate',\r\n command: () => confirm2(rowData),\r\n }\r\n : {\r\n label: 'Deactivate',\r\n command: () => confirm(rowData),\r\n }\r\n ];\r\n\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const confirm = (rowData) => {\r\n confirmDialog({\r\n message: 'Are you sure you want to deactivate this role?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: 'Yes',\r\n accept: () => handleDeactivateRole(rowData),\r\n reject: () => {\r\n return null\r\n },\r\n });\r\n };\r\n\r\n const handleDeactivateRole = async (rowData) => {\r\n\r\n const obj = {\r\n role_id: rowData?.id,\r\n p_isactive: 0,\r\n\r\n };\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, `/api/Authentication/DeactivateRole`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getRolesList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const confirm2 = (rowData) => {\r\n confirmDialog({\r\n message: 'Are you sure you want to activate this Role?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: 'Yes',\r\n accept: () => {\r\n handleActivateRole(rowData);\r\n },\r\n\r\n reject: () => {\r\n return null;\r\n },\r\n });\r\n };\r\n\r\n const handleActivateRole = async (rowData) => {\r\n\r\n const obj = {\r\n role_id: rowData?.id,\r\n p_isactive: 1,\r\n };\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, `/api/Authentication/DeactivateRole`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getRolesList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n\r\n const handleEditRoles = (rowData) => {\r\n const item = true;\r\n history.push({\r\n pathname: './addeditroles',\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n }\r\n });\r\n };\r\n\r\n //Get All Roles\r\n const getRolesList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/getAllRole?rid=${roletypeid || 0}&uid=${usertype_id || 0}&wid=${warehouseid || 0}`, false));\r\n if (response) {\r\n setAllRoles(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getRolesList()\r\n }, [])\r\n\r\n const rowIndexTemplate = (rowData, props) => {\r\n let index = parseInt(props.rowIndex + 1, 10);\r\n return (\r\n \r\n {index}\r\n \r\n );\r\n };\r\n\r\n useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/roles\"));\r\n if (allPermModules) {\r\n setPermissions(allPermModules?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n\r\n
    \r\n

    \r\n Role Management\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n history.push('./assignpermissions')\r\n }}\r\n />\r\n
    \r\n {permissions.includes(2) ?\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './addeditroles',\r\n state: {\r\n isEditable: item,\r\n }\r\n });\r\n }}\r\n />\r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n \r\n \r\n \r\n rowData?.roleDescription || 'N/A'} header=\"Description\">\r\n rowData?.createddatetime || 'N/A'} header=\"Creation Date\">\r\n (\r\n \r\n )}\r\n header=\"Status\"\r\n />\r\n {permissions.includes(1) ?\r\n \r\n :\r\n null}\r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ManageRoles","import React, { useEffect, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport { handleGetRequest } from '../../services/GetTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handlePostRequest } from '../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../services/PutTemplate';\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\n\r\nconst AddEditRoles = () => {\r\n\r\n const location = useLocation();\r\n const { isEditable, rowData } = location?.state;\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const validationSchema = Yup.object().shape({\r\n name: Yup.mixed().required(\"This field is required.\"),\r\n description: Yup.mixed().required(\"This field is required.\"),\r\n\r\n });\r\n\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n name: \"\",\r\n description: \"\",\r\n\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n if (isEditable) {\r\n setSaveBtnLoading(true);\r\n\r\n let obj = {\r\n role_id: parseInt(rowData?.id),\r\n RoleName: formik.values.name,\r\n RoleDescription: formik.values.description, \r\n }\r\n\r\n const response = await dispatch(handlePutRequest(obj, \"/api/Authentication/UpdateRole\", true, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./roles')\r\n setSaveBtnLoading(false);\r\n }\r\n }\r\n else {\r\n setSaveBtnLoading(true);\r\n\r\n let obj = {\r\n roleName: formik.values.name,\r\n roleDescription: formik.values.description,\r\n mRoletype_id: parseInt(roletypeid),\r\n mUsertype_id: parseInt(usertype_id),\r\n mWarehouse_id: parseInt(warehouseid) || 0,\r\n }\r\n\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Authentication/Addnewrole\", false, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./roles')\r\n setSaveBtnLoading(false);\r\n }\r\n\r\n setSaveBtnLoading(false);\r\n }\r\n },\r\n });\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n //Get Role By Id\r\n const getRoleById = async (rowData) => {\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/Getrolebyid?role_id=${rowData?.id}`, false));\r\n const keyData = response[0]\r\n if (keyData) {\r\n formik.setFieldValue('name', keyData?.roleName)\r\n formik.setFieldValue('description', keyData?.roleDescription)\r\n }\r\n setIsActive(false)\r\n };\r\n\r\n useEffect(() => {\r\n if (isEditable, rowData) {\r\n getRoleById(rowData);\r\n }\r\n }, [isEditable, rowData]);\r\n\r\n const ResetForm = () => {\r\n formik.setFieldValue('name', '')\r\n formik.setFieldValue('description', '')\r\n }\r\n\r\n return (\r\n\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n\r\n
    \r\n
    \r\n
    \r\n

    {isEditable ? 'Edit Role' : 'Add New Role'}

    \r\n
    Add Details
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"name\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"description\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default AddEditRoles","import React, { useState, useEffect, useContext } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport './AssignPermissions.scss'\r\nimport { handlePostRequest } from \"../../services/PostTemplate\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\n\r\nconst AssignPermissions = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [role, setRole] = useState('')\r\n const [allRoles, setAllRoles] = useState([])\r\n const [loadingIcon, setLoadingIcon] = useState('');\r\n const [myApiData, setMyApiData] = useState([])\r\n const [isActive, setIsActive] = useState(false)\r\n const [selectedModules, setSelectedModules] = useState([]);\r\n const [selectedSubmodules, setSelectedSubmodules] = useState([]);\r\n const [selectedPermissions, setSelectedPermissions] = useState({});\r\n\r\n //Handle Submit\r\n const handleSubmit = async () => {\r\n let payload = [];\r\n setLoadingIcon(\"pi pi-spin pi-spinner\");\r\n // Handle main modules\r\n selectedModules.forEach((moduleId) => {\r\n const module = myApiData.find(mod => mod.id === moduleId);\r\n if (module) {\r\n // Start with the module ID\r\n let modulePayload = `${moduleId}`;\r\n\r\n // Append selected permissions IDs\r\n if (selectedPermissions[moduleId]) {\r\n const permissionIds = Object.keys(selectedPermissions[moduleId])\r\n .filter(permissionId => selectedPermissions[moduleId][permissionId])\r\n .join(',');\r\n modulePayload += `,${permissionIds}`;\r\n }\r\n\r\n // Include this module's payload\r\n payload.push(modulePayload);\r\n\r\n // Handle submodules if any are selected\r\n if (module.sub_modules && module.sub_modules.length > 0) {\r\n module.sub_modules.forEach((subModule) => {\r\n if (selectedSubmodules.includes(subModule.id)) {\r\n let submodulePayload = `${subModule.id}`;\r\n\r\n // Append selected permissions IDs for the submodule\r\n if (selectedPermissions[subModule.id]) {\r\n const subPermissionIds = Object.keys(selectedPermissions[subModule.id])\r\n .filter(permissionId => selectedPermissions[subModule.id][permissionId])\r\n .join(',');\r\n submodulePayload += `,${subPermissionIds}`;\r\n }\r\n\r\n // Include this submodule's payload\r\n payload.push(submodulePayload);\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n // Join all module and submodule payloads with '|'\r\n const finalPayload = payload.join('|');\r\n\r\n setIsActive(true);\r\n const obj = {\r\n rid: role,\r\n moduleidsarray: finalPayload\r\n }\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Authentication/AddPermission\", true, true));\r\n setLoadingIcon('')\r\n if (response?.statusCode == 200) {\r\n setRole('')\r\n setSelectedModules([]);\r\n setSelectedSubmodules([]);\r\n setSelectedPermissions([]);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n //Get All Roles\r\n const getRolesList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/getAllRole?rid=${roletypeid || 0}&uid=${usertype_id || 0}&wid=${warehouseid || 0}`, false));\r\n if (response) {\r\n setAllRoles(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n //Get All Users\r\n const getModulesList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/Getallmodulebylist?roletype_id=${roletypeid}`, true));\r\n if (response) {\r\n setMyApiData(response)\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getModulesList()\r\n getRolesList()\r\n }, [])\r\n\r\n const handleModuleChange = (moduleId, isSubModule) => {\r\n setSelectedModules((prevModules) => {\r\n const isCurrentlySelected = prevModules.includes(moduleId);\r\n const newSelectedModules = isCurrentlySelected\r\n ? prevModules.filter(id => id !== moduleId)\r\n : [...prevModules, moduleId];\r\n\r\n const module = myApiData.find(mod => mod.id === moduleId);\r\n if (module) {\r\n const subModuleIds = module.sub_modules?.map(sub => sub.id) || [];\r\n if (isCurrentlySelected) {\r\n // Uncheck all submodules and their permissions\r\n setSelectedSubmodules(prevSubmodules =>\r\n prevSubmodules.filter(subId => !subModuleIds.includes(subId))\r\n );\r\n setSelectedPermissions(prevPermissions => {\r\n const updatedPermissions = { ...prevPermissions };\r\n [moduleId, ...subModuleIds].forEach(id => delete updatedPermissions[id]);\r\n return updatedPermissions;\r\n });\r\n } else {\r\n // Check all submodules and their permissions\r\n setSelectedSubmodules(prevSubmodules => [...new Set([...prevSubmodules, ...subModuleIds])]);\r\n setSelectedPermissions(prevPermissions => {\r\n const updatedPermissions = { ...prevPermissions };\r\n updatedPermissions[moduleId] = module.permissions.reduce((perms, perm) => {\r\n perms[perm.permission_id] = true;\r\n return perms;\r\n }, {});\r\n\r\n subModuleIds.forEach(subModuleId => {\r\n const subModule = module.sub_modules.find(sub => sub.id === subModuleId);\r\n updatedPermissions[subModuleId] = subModule.permissions.reduce((perms, perm) => {\r\n perms[perm.permission_id] = true;\r\n return perms;\r\n }, {});\r\n });\r\n\r\n return updatedPermissions;\r\n });\r\n }\r\n }\r\n\r\n return newSelectedModules;\r\n });\r\n };\r\n\r\n const handleSubmoduleChange = (submoduleId) => {\r\n setSelectedSubmodules((prev) =>\r\n prev.includes(submoduleId) ? prev.filter(id => id !== submoduleId) : [...prev, submoduleId]\r\n );\r\n };\r\n\r\n const getPermissionIdByName = (permissions, name) => {\r\n const permission = permissions.find(p => p.permissionName === name);\r\n return permission ? permission.permission_id : null;\r\n };\r\n\r\n const handlePermissionChange = (moduleId, permissionId, permissionName, isSubmodule = false, parentModuleId = null) => {\r\n setSelectedPermissions(prev => {\r\n const newPermissions = { ...prev };\r\n const targetModuleId = isSubmodule ? parentModuleId : moduleId;\r\n\r\n newPermissions[targetModuleId] = {\r\n ...newPermissions[targetModuleId],\r\n [permissionId]: !newPermissions[targetModuleId]?.[permissionId],\r\n };\r\n\r\n const permissions = myApiData.find(mod => mod.id === targetModuleId)?.permissions;\r\n if (permissions) {\r\n const viewId = getPermissionIdByName(permissions, 'view');\r\n const manageId = getPermissionIdByName(permissions, 'manage');\r\n const createId = getPermissionIdByName(permissions, 'create');\r\n\r\n // Check or uncheck the view permission based on manage and create states\r\n if (permissionName === 'manage' || permissionName === 'create') {\r\n if (newPermissions[targetModuleId][manageId] || newPermissions[targetModuleId][createId]) {\r\n newPermissions[targetModuleId][viewId] = true; // Automatically check 'view'\r\n } else {\r\n newPermissions[targetModuleId][viewId] = false; // Uncheck 'view' if both are false\r\n }\r\n }\r\n }\r\n\r\n return newPermissions;\r\n });\r\n };\r\n\r\n const handleSelectAll = () => {\r\n if (myApiData) {\r\n const newSelectedModules = [];\r\n const newSelectedSubmodules = [];\r\n const newSelectedPermissions = {};\r\n\r\n myApiData.forEach((module) => {\r\n // Handle Main Modules\r\n newSelectedModules.push(module?.id);\r\n\r\n // Handle Submodules\r\n module.sub_modules.forEach((subModule) => {\r\n newSelectedSubmodules.push(subModule?.id);\r\n\r\n // Initialize permissions object for submodules\r\n if (!newSelectedPermissions[subModule?.id]) {\r\n newSelectedPermissions[subModule?.id] = {};\r\n }\r\n\r\n // Handle Permissions for Submodules\r\n subModule.permissions.forEach((permission) => {\r\n newSelectedPermissions[subModule?.id][permission?.permission_id] = true;\r\n });\r\n });\r\n\r\n // Initialize permissions object for main module\r\n if (!newSelectedPermissions[module.id]) {\r\n newSelectedPermissions[module.id] = {};\r\n }\r\n\r\n // Handle Permissions for Main Module\r\n module.permissions.forEach((permission) => {\r\n newSelectedPermissions[module?.id][permission?.permission_id] = true;\r\n });\r\n });\r\n\r\n setSelectedModules(newSelectedModules);\r\n setSelectedSubmodules(newSelectedSubmodules);\r\n setSelectedPermissions(newSelectedPermissions);\r\n }\r\n };\r\n\r\n const handleDeSelectAll = () => {\r\n setSelectedModules([]);\r\n setSelectedSubmodules([]);\r\n setSelectedPermissions([]);\r\n }\r\n\r\n const getPermissionDataById = async (roleId) => {\r\n setIsActive(true);\r\n try {\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/GetPermissionbyid?rid=${roleId}`, true));\r\n const res = response;\r\n\r\n if (res && res.length > 0) {\r\n const newSelectedModules = [];\r\n const newSelectedSubmodules = [];\r\n const newSelectedPermissions = {};\r\n\r\n res.forEach(module => {\r\n newSelectedModules.push(module.module_ID);\r\n\r\n // Main module permissions\r\n if (!newSelectedPermissions[module.module_ID]) {\r\n newSelectedPermissions[module.module_ID] = {};\r\n }\r\n module.permissions.forEach(permission => {\r\n newSelectedPermissions[module.module_ID][permission.permission_id] = true;\r\n });\r\n\r\n // Submodule permissions\r\n module.submodules && module.submodules.forEach(subModule => {\r\n newSelectedSubmodules.push(subModule.module_ID);\r\n\r\n if (!newSelectedPermissions[subModule.module_ID]) {\r\n newSelectedPermissions[subModule.module_ID] = {};\r\n }\r\n subModule.permissions.forEach(permission => {\r\n newSelectedPermissions[subModule.module_ID][permission.permission_id] = true;\r\n });\r\n });\r\n });\r\n\r\n setSelectedModules(newSelectedModules);\r\n setSelectedSubmodules(newSelectedSubmodules);\r\n setSelectedPermissions(newSelectedPermissions);\r\n } else {\r\n \r\n setSelectedModules([]);\r\n setSelectedSubmodules([]);\r\n setSelectedPermissions({});\r\n }\r\n } catch (error) {\r\n console.error(\"Error fetching permission data:\", error);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (role) {\r\n getPermissionDataById(role);\r\n }\r\n }, [role]);\r\n\r\n return (\r\n\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n setRole(e.value)}\r\n className=\"p-inputtext-sm\"\r\n autoComplete=\"off\"\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {myApiData.map((module) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    ModuleSub ModulePermissions
    \r\n \r\n \r\n {module.isSubModule && selectedModules.includes(module.id) && (\r\n module.sub_modules.map((submodule) => (\r\n
    \r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n {selectedModules.includes(module.id) && (\r\n <>\r\n
    \r\n {module.permissions.map((permission) =>\r\n module?.route !== \"\" ? (\r\n \r\n \r\n handlePermissionChange(\r\n module.id,\r\n permission.permission_id,\r\n permission.permissionName\r\n )\r\n }\r\n disabled={\r\n permission.permissionName === \"view\" &&\r\n (selectedPermissions[module.id]?.[\r\n getPermissionIdByName(module.permissions, \"manage\")\r\n ] ||\r\n selectedPermissions[module.id]?.[\r\n getPermissionIdByName(module.permissions, \"create\")\r\n ])\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {permission.permissionName}\r\n \r\n ) : null\r\n )}\r\n
    \r\n\r\n {module.sub_modules.filter(submodule => selectedSubmodules.includes(submodule.id)).map((submodule, index, array) => (\r\n \r\n
    \r\n {submodule.permissions.map((permission) => (\r\n \r\n \r\n \r\n ))}\r\n
    \r\n {index < array.length - 1 &&
    }\r\n
    \r\n ))}\r\n \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default AssignPermissions","import React, { useState, useEffect } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { handlePutRequest } from \"../../services/PutTemplate\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Tag } from \"primereact/tag\";\r\nimport * as XLSX from 'xlsx';\r\n\r\nconst ManageCategory = () => {\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const [isActive, setIsActive] = useState(false);\r\n const [allCategories, setAllCategory] = useState([]);\r\n const [acceptButtonClass, setAcceptButtonClass] = useState(\"p-button-danger\");\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [expandedRows, setExpandedRows] = useState(null);\r\n const [expandedChildRows, setExpandedChildRows] = useState(null);\r\n const [filteredCategory, setFilteredCategory] = useState(null);\r\n const [filteredAllCategories, setFilteredAllCategories] = useState([]);\r\n const [permissions, setPermissions] = useState([]);\r\n const [parentId, setParentId] = useState('');\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value.toLowerCase();\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n const items = [];\r\n\r\n if ((roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid)) {\r\n items.push({\r\n label: 'View',\r\n command: () => handleViewCategory(rowData),\r\n });\r\n } else {\r\n items.push(\r\n {\r\n label: 'Edit',\r\n command: () => handleEditCategory(rowData),\r\n },\r\n {\r\n label: rowData?.activeStatus == \"Active\" ? \"Deactivate\" : \"Activate\",\r\n command: () => confirm(rowData),\r\n }\r\n );\r\n }\r\n\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const confirm = (rowData) => {\r\n confirmDialog({\r\n message:\r\n rowData?.activeStatus === \"Active\"\r\n ? \"Are you sure you want to deactivate this Category?\"\r\n : \"Are you sure you want to activate this Category?\",\r\n header: \"Confirmation\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: \"Yes\",\r\n accept: () => {\r\n if (rowData?.activeStatus === \"Active\") {\r\n handleDeactivateCategory(rowData);\r\n } else {\r\n handleActivateCategory(rowData);\r\n }\r\n },\r\n reject: () => null,\r\n });\r\n };\r\n\r\n const handleDeactivateCategory = async (rowData) => {\r\n const obj = {\r\n obj_id: rowData?.key,\r\n name: rowData?.label,\r\n isActive: 0,\r\n description: null,\r\n\r\n };\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, `/api/Setups/UpdateCategory`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getCategoryList();\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const handleActivateCategory = async (rowData) => {\r\n const obj = {\r\n obj_id: rowData?.key,\r\n name: rowData?.label,\r\n isActive: 1,\r\n description: null,\r\n };\r\n setIsActive(true);\r\n const response = await dispatch(handlePutRequest(obj, `/api/Setups/UpdateCategory`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getCategoryList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const actionChildTemplate = (rowData) => {\r\n\r\n const items = [];\r\n\r\n if ((roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid)) {\r\n items.push({\r\n label: 'View',\r\n command: () => handleViewSubCategory(rowData),\r\n });\r\n } else {\r\n items.push(\r\n {\r\n label: 'Edit',\r\n command: () => handleEditSubCategory(rowData),\r\n },\r\n {\r\n label: rowData?.activeStatus == 'Active' ? \"Deactivate\" : \"Activate\",\r\n command: () => confirm2(rowData),\r\n }\r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const confirm2 = (rowData) => {\r\n confirmDialog({\r\n message:\r\n rowData?.activeStatus === \"Active\"\r\n ? \"Are you sure you want to deactivate this Sub Category?\"\r\n : \"Are you sure you want to activate this Sub Category?\",\r\n header: \"Confirmation\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: \"Yes\",\r\n accept: () => {\r\n if (rowData?.activeStatus === \"Active\") {\r\n handleDeactivateSubCategory(rowData);\r\n } else {\r\n handleActivateSubCategory(rowData);\r\n }\r\n },\r\n reject: () => null,\r\n });\r\n };\r\n\r\n const handleDeactivateSubCategory = async (rowData) => {\r\n\r\n\r\n const obj = {\r\n obj_id: rowData?.key,\r\n name: rowData?.label,\r\n isActive: 0,\r\n description: null,\r\n parentid: rowData?.parentId,\r\n\r\n };\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, `/api/Setups/UpdateSubCategory`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getCategoryList();\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const handleActivateSubCategory = async (rowData) => {\r\n const obj = {\r\n obj_id: rowData?.key,\r\n name: rowData?.label,\r\n isActive: 1,\r\n description: null,\r\n parentid: rowData?.parentId,\r\n };\r\n\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handlePutRequest(obj, `/api/Setups/UpdateSubCategory`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getCategoryList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const handleEditCategory = (rowData) => {\r\n const item = true;\r\n const view = false;\r\n history.push({\r\n pathname: \"./addeditcategory\",\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n isView: view,\r\n },\r\n });\r\n };\r\n\r\n const handleViewCategory = (rowData) => {\r\n const item = true;\r\n const view = true;\r\n history.push({\r\n pathname: \"./addeditcategory\",\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n isView: view,\r\n },\r\n });\r\n };\r\n\r\n const handleSubCategory = () => {\r\n const item = false;\r\n history.push({\r\n pathname: \"./addeditsubcategory\",\r\n state: {\r\n isEditable: item,\r\n },\r\n });\r\n };\r\n\r\n const handleCategory = () => {\r\n const item = false;\r\n history.push({\r\n pathname: \"./addeditcategory\",\r\n state: {\r\n isEditable: item,\r\n },\r\n });\r\n };\r\n\r\n\r\n\r\n const handleEditSubCategory = (rowData) => {\r\n const view = false;\r\n\r\n const item = true;\r\n history.push({\r\n pathname: \"./addeditsubcategory\",\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n isView: view,\r\n },\r\n });\r\n };\r\n\r\n\r\n const handleViewSubCategory = (rowData) => {\r\n const view = true;\r\n const item = true;\r\n history.push({\r\n pathname: \"./addeditsubcategory\",\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n isView: view,\r\n },\r\n });\r\n };\r\n\r\n\r\n //Get All Category List\r\n const getCategoryList = async () => {\r\n setIsActive(true);\r\n const response = await dispatch(\r\n handleGetRequest(`/api/Setups/GetAllSubCategories?warehouse_id=${warehouseid || 0}`, true)\r\n );\r\n if (response) {\r\n setAllCategory(response);\r\n setFilteredAllCategories(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getCategoryList()\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (filteredCategory || filteredAllCategories) {\r\n if (filteredCategory && filteredCategory !== undefined) {\r\n setAllCategory(filteredAllCategories?.filter(item => item?.key == filteredCategory))\r\n }\r\n else {\r\n setAllCategory(filteredAllCategories)\r\n }\r\n }\r\n\r\n }, [filteredCategory, filteredAllCategories])\r\n\r\n const allowExpansion = (rowData) => {\r\n const isExpanded = expandedRows && expandedRows[rowData.key];\r\n return (\r\n <>\r\n {\r\n rowData?.children.length > 0 ?\r\n toggleRowExpansion(rowData)}\r\n /> :\r\n <>\r\n }\r\n \r\n );\r\n };\r\n\r\n const toggleRowExpansion = (rowData) => {\r\n // setParentId(rowData?.key)\r\n let _expandedRows = { ...expandedRows };\r\n\r\n if (_expandedRows[rowData.key]) {\r\n delete _expandedRows[rowData.key];\r\n } else {\r\n _expandedRows[rowData.key] = true;\r\n }\r\n\r\n setExpandedRows(_expandedRows);\r\n };\r\n\r\n const allowChildExpansion = (rowData) => {\r\n const isExpanded = expandedChildRows && expandedChildRows[rowData.key];\r\n return (\r\n <>\r\n {\r\n rowData?.children.length > 0 ?\r\n toggleChildRowExpansion(rowData)}\r\n /> : <>\r\n }\r\n \r\n );\r\n };\r\n\r\n const toggleChildRowExpansion = (rowData) => {\r\n let _expandedChildRows = { ...expandedChildRows };\r\n\r\n if (_expandedChildRows[rowData.key]) {\r\n delete _expandedChildRows[rowData.key];\r\n } else {\r\n _expandedChildRows[rowData.key] = true;\r\n }\r\n\r\n setExpandedChildRows(_expandedChildRows);\r\n };\r\n\r\n const rowExpansionTemplate = (data) => ;\r\n\r\n const CategoryTable = ({ nodes }) => {\r\n return (\r\n
    \r\n
    Subcategory of {nodes?.label}
    \r\n setExpandedChildRows(e.data)}\r\n rowExpansionTemplate={rowExpansionTemplate}\r\n responsiveLayout=\"scroll\"\r\n dataKey=\"key\"\r\n style={{ boxShadow: \" 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)\" }}\r\n >\r\n \r\n {/* */}\r\n {/* */}\r\n \r\n (\r\n \r\n )}\r\n header=\"Status\"\r\n />\r\n rowData?.createddatetime || 'N/A'} header=\"Date & Time\">\r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const flattenCategories = (category, level = 0) => {\r\n // Create the main category row\r\n const categoryRow = {\r\n Name: category.label,\r\n Status: category.activeStatus === 'Active' ? 'Active' : 'Inactive',\r\n DateTime: category.createddatetime || 'N/A',\r\n Type: level === 0 ? 'Category' : `Subcategory Level ${level}`, // Define type based on level\r\n };\r\n\r\n // Recursively process children (subcategories)\r\n const subcategoryRows = category.children?.flatMap(subcategory => flattenCategories(subcategory, level + 1)) || [];\r\n\r\n // Return the category row followed by its subcategories (if any)\r\n return [categoryRow, ...subcategoryRows];\r\n };\r\n\r\n const exportExcel = () => {\r\n // Flatten all categories and their nested subcategories\r\n const flattenedData = allCategories?.flatMap(category => flattenCategories(category));\r\n\r\n // Convert the flattened data to a worksheet\r\n const worksheet = XLSX.utils.json_to_sheet(flattenedData);\r\n\r\n // Add headers for a cleaner Excel format\r\n XLSX.utils.sheet_add_aoa(worksheet, [[\"Name\", \"Status\", \"Date & Time\", \"Type\"]], { origin: \"A1\" });\r\n\r\n // Create a new workbook and append the sheet\r\n const workbook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(workbook, worksheet, \"Categories\");\r\n\r\n // Create the Excel file and trigger the download\r\n XLSX.writeFile(workbook, \"categoriesList.xlsx\");\r\n };\r\n\r\n useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.contentName?.includes(\"Setups\"));\r\n if (allPermModules) {\r\n const result = allPermModules?.submodules?.find(item => item?.routepath == \"/category\")\r\n setPermissions(result?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n\r\n }, []);\r\n\r\n return (\r\n <>\r\n
    \r\n

    \r\n Category Setup\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n setFilteredCategory(e.value)}\r\n className=\"dropdown-filter ml-0 md:ml-2 mr-1\"\r\n icon=\"pi pi-plus\"\r\n placeholder=\"--Select Category--\"\r\n />\r\n
    \r\n
    \r\n
    \r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ?\r\n null\r\n :\r\n
    \r\n \r\n
    \r\n }\r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ?\r\n null\r\n :\r\n permissions.includes(2) ?\r\n
    \r\n \r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n }\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: \"rgb(38 41 51 / 78%)\",\r\n }),\r\n }}\r\n >\r\n setExpandedRows(e.data)}\r\n rowExpansionTemplate={rowExpansionTemplate}\r\n emptyMessage=\"No records found\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n dataKey=\"key\"\r\n tableStyle={{ minWidth: \"60rem\" }}\r\n rows={20}\r\n paginatorClassName=\"custom-paginator\"\r\n >\r\n \r\n {/* */}\r\n {/* */}\r\n \r\n (\r\n \r\n )}\r\n header=\"Status\"\r\n />\r\n rowData?.createddatetime || 'N/A'} header=\"Date & Time\">\r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ManageCategory;\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport { handleGetRequest } from '../../services/GetTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handlePostRequest } from '../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../services/PutTemplate';\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { InputTextarea } from 'primereact/inputtextarea';\r\n\r\nconst AddEditCategory = () => {\r\n\r\n const location = useLocation();\r\n const { isEditable, rowData, isView } = location?.state;\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const validationSchema = Yup.object().shape({\r\n categoryName: Yup.mixed().required(\"This field is required.\"),\r\n });\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n categoryName: \"\",\r\n description: \"\",\r\n },\r\n\r\n onSubmit: async (data) => {\r\n if (isEditable) {\r\n setSaveBtnLoading(true);\r\n\r\n let obj = {\r\n obj_id: rowData?.key,\r\n name: data?.categoryName,\r\n description: data?.description,\r\n isActive: 1,\r\n parentid: null\r\n }\r\n\r\n const response = await dispatch(handlePutRequest(obj, \"/api/Setups/UpdateCategory\", true, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./category')\r\n setSaveBtnLoading(false);\r\n }\r\n }\r\n\r\n else {\r\n\r\n setSaveBtnLoading(true);\r\n let obj = {\r\n name: data?.categoryName,\r\n description: data?.description,\r\n warehouseId: warehouseid,\r\n }\r\n\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Setups/AddCategory\", true, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./category')\r\n setSaveBtnLoading(false);\r\n }\r\n\r\n setSaveBtnLoading(false);\r\n }\r\n },\r\n });\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n // Get User By Id\r\n const getategoryById = async (rowData) => {\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetCategoryById?obj_id=${rowData?.key}`, true));\r\n const keyData = response[0]\r\n if (keyData) {\r\n formik.setFieldValue('categoryName', keyData?.obj_Name)\r\n }\r\n setIsActive(false)\r\n };\r\n\r\n useEffect(() => {\r\n if (isEditable, rowData) {\r\n getategoryById(rowData);\r\n }\r\n }, [isEditable, rowData]);\r\n\r\n const ResetForm = () => {\r\n formik.setFieldValue('categoryName', '')\r\n }\r\n\r\n //Disable Form while Viewing\r\n const formStyle = {\r\n pointerEvents: isView ? 'none' : 'auto',\r\n opacity: isView ? 0.7 : 1,\r\n };\r\n\r\n return (\r\n\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n

    {isEditable && isView ? 'View Category' : isEditable && isView === false ? 'Edit Category' : 'Add New Category'}

    \r\n
    {isView ? '' : 'Add Details'}
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"categoryName\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {isView?\r\n null\r\n :\r\n
    \r\n
    \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default AddEditCategory","import React, { useState, useEffect, useContext } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Divider } from \"primereact/divider\";\r\nimport editIcon from \"../../assets/warehouse-assets/colored/edit.png\"\r\nimport deleteIcon from \"../../assets/warehouse-assets/colored/dlet.png\"\r\nimport { handleDeleteRequest } from \"../../services/DeleteTemplate\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { handlePutRequest } from \"../../services/PutTemplate\";\r\nimport { handleGetRequest } from \"../../services/GetTemplate\";\r\n\r\nconst ManageInventory = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const [isActive, setIsActive] = useState(false)\r\n const [inventoryList, setInventoryList] = useState([]);\r\n const [visible2, setVisible2] = useState(false);\r\n const [vendorList, setVendorList] = useState('');\r\n const [acceptButtonClass, setAcceptButtonClass] = useState('p-button-danger');\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n\r\n const [permissions, setPermissions] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n\r\n const items = [];\r\n\r\n if ((roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid)) {\r\n items.push({\r\n label: 'View',\r\n command: () => handleViewInventory(rowData),\r\n });\r\n } else {\r\n items.push(\r\n {\r\n label: 'Edit',\r\n command: () => handleEditInventory(rowData),\r\n },\r\n // {\r\n // label: rowData?.status === 1 ? 'Deactivate' : 'Activate',\r\n // command: () => confirm(rowData),\r\n // } \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const confirm = (rowData) => {\r\n\r\n confirmDialog({\r\n message: rowData?.status == 1 ? 'Are you sure you want to deactivate this Inventroy ?' : 'Are you sure you want to Activate this Inventory ?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: 'Yes',\r\n accept: () => {\r\n if (rowData?.status == 1) {\r\n handleDeactivateInventory(rowData);\r\n } else {\r\n handleActivateInventory(rowData);\r\n }\r\n },\r\n reject: () => {\r\n return null;\r\n },\r\n });\r\n\r\n };\r\n\r\n const handleDeactivateInventory = async (rowData) => {\r\n\r\n const obj = {\r\n obj_id: rowData?.obj_id,\r\n Name: rowData?.obj_Name,\r\n Description: rowData?.obj_Description,\r\n IsActive: 0,\r\n };\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, `/api/Setups/UpdateBrand`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getInventoryList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const handleActivateInventory = async (rowData) => {\r\n\r\n const obj = {\r\n obj_id: rowData?.obj_id,\r\n Name: rowData?.obj_Name,\r\n Description: rowData?.obj_Description,\r\n IsActive: 1,\r\n };\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, `/api/Setups/UpdateBrand`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getInventoryList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const handleEditInventory = (rowData) => {\r\n const item = true;\r\n const view = false;\r\n history.push({\r\n pathname: './addeditinventory',\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n isView: view,\r\n }\r\n });\r\n };\r\n\r\n const handleViewInventory = (rowData) => {\r\n const item = true;\r\n const view = true;\r\n history.push({\r\n pathname: './addeditinventory',\r\n state: {\r\n isEditable: item,\r\n isView: view,\r\n rowData: rowData,\r\n }\r\n });\r\n };\r\n\r\n const showVendor = (event, rowData) => {\r\n setVendorList( rowData?.vendorName)\r\n event.stopPropagation();\r\n setVisible2(true);\r\n }\r\n\r\n const vendorTemplate = (rowData) => (\r\n rowData?.vendorName?.includes(',') ?\r\n
    \r\n {rowData?.vendorName} \r\n showVendor(event, rowData)} >\r\n
    \r\n :\r\n rowData?.vendorName ?\r\n
    {rowData?.vendorName}
    \r\n :\r\n N/A\r\n )\r\n\r\n //Get Inventory List\r\n const getInventoryList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetInventory?warehouse_id=${warehouseid || 0}`, true));\r\n if (response) {\r\n setInventoryList(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getInventoryList()\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/inventory\"));\r\n if (allPermModules) {\r\n setPermissions(allPermModules?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n }, []);\r\n\r\n return (\r\n\r\n <>\r\n
    \r\n

    \r\n Inventory Management\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ?\r\n null\r\n :\r\n permissions.includes(2) ?\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './addeditinventory',\r\n state: {\r\n isEditable: item,\r\n }\r\n });\r\n }}\r\n />\r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n \r\n rowData?.name || 'N/A'} header=\"Inventory Name\">\r\n \r\n rowData?.brandName || 'N/A'} header=\"Brand\">\r\n rowData?.categoryName || 'N/A'} header=\"Category\">\r\n rowData?.sub_Category_Name || 'N/A'} header=\"Sub Category\">\r\n rowData?.unitofmeasurementName || 'N/A'} header=\"Unit\">\r\n {/* rowData?.vendorName || 'N/A'} header=\"Vendor\"> */}\r\n rowData?.sku || 'N/A'} header=\"Sku\">\r\n {permissions.includes(2) ?\r\n \r\n :\r\n null\r\n }\r\n \r\n event.stopPropagation()} onHide={() => { if (!visible2) return; setVisible2(false); }}>\r\n
      \r\n {vendorList?.split(',').map((vendor, index) => (\r\n
    • \r\n {vendor.trim()}\r\n
    • \r\n ))}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ManageInventory","import React, { useEffect, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Password } from 'primereact/password';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { handleGetRequest } from '../../services/GetTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handlePostRequest } from '../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../services/PutTemplate';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport photo from '../../assets/warehouse-assets/photo.png'\r\nimport video from '../../assets/warehouse-assets/video.png'\r\nimport video2 from '../../assets/warehouse-assets/video2.png'\r\nimport video3 from '../../assets/warehouse-assets/video3.png'\r\nimport { InputTextarea } from 'primereact/inputtextarea';\r\nimport { useLocation } from 'react-router-dom/cjs/react-router-dom';\r\nimport { TreeSelect } from 'primereact/treeselect';\r\nimport { MultiSelect } from 'primereact/multiselect';\r\n\r\n\r\nconst AddEditInventory = () => {\r\n\r\n const location = useLocation();\r\n const { isEditable, rowData, isView } = location.state;\r\n const [selectedFiles, setSelectedFiles] = useState([])\r\n const [selectedFiles2, setSelectedFiles2] = useState([])\r\n\r\n const [allCategories, setAllCategories] = useState([])\r\n const [allSubCategories, setAllSubCategories] = useState([])\r\n const [allBrands, setAllBrands] = useState([])\r\n const [allVendors, setAllVendors] = useState([])\r\n const [allUnits, setAllUnits] = useState([])\r\n\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const validationSchema = Yup.object().shape({\r\n inventory_id: Yup.mixed().required(\"This field is required.\"),\r\n category_id: Yup.mixed().required(\"This field is required.\"),\r\n inventory_name: Yup.mixed().required(\"This field is required.\"),\r\n brand_id: Yup.mixed().required(\"This field is required.\"),\r\n // unit: Yup.mixed().required(\"This field is required.\"),\r\n sku: Yup.mixed().required(\"This field is required.\"),\r\n vendor_id: Yup.mixed().required(\"This field is required.\"),\r\n threshold: Yup.mixed().required(\"This field is required.\"),\r\n });\r\n\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n inventory_id: \"\",\r\n category_id: \"\",\r\n subCategory_id: \"\",\r\n inventory_name: \"\",\r\n brand_id: \"\",\r\n description: \"\",\r\n unit: 0,\r\n sku: \"\",\r\n vendor_id: \"\",\r\n threshold: \"\",\r\n notes: \"\",\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n if (isEditable) {\r\n\r\n setSaveBtnLoading(true);\r\n\r\n let obj = {\r\n p_id: rowData?.id,\r\n p_inventory_id: formik.values.inventory_id,\r\n p_name: formik.values.inventory_name,\r\n p_description: formik.values.description,\r\n p_category_id: formik.values.category_id,\r\n p_sub_categoryid: formik?.values?.subCategory_id === \"\" ? 0 : formik?.values?.subCategory_id,\r\n p_brand_id: formik.values.brand_id,\r\n p_vendor_id: formik.values.vendor_id,\r\n p_unit_of_measurement: formik.values.unit.toString(),\r\n p_min_t_value: formik.values.threshold,\r\n p_SKU: formik.values.sku,\r\n p_notes: formik.values.notes,\r\n attachments: [\r\n {\r\n fileName: \"\",\r\n fileType: \"\",\r\n base64Data: \"\"\r\n }\r\n ],\r\n p_roletype_id: parseInt(roletypeid),\r\n p_usertype_id: parseInt(usertype_id),\r\n p_warehouse_id: parseInt(warehouseid),\r\n p_edit_by: parseInt(user_id),\r\n }\r\n\r\n const response = await dispatch(handlePutRequest(obj, \"/api/Inventory/UpdateInventory\", true, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./inventory')\r\n setSaveBtnLoading(false);\r\n }\r\n }\r\n\r\n else {\r\n setSaveBtnLoading(true);\r\n\r\n let obj = {\r\n inventory_id: formik.values.inventory_id,\r\n name: formik.values.inventory_name,\r\n description: formik.values.description,\r\n category_id: formik.values.category_id,\r\n sub_categoryid: formik?.values?.subCategory_id === \"\" ? 0 : formik?.values?.subCategory_id,\r\n brand_id: formik.values.brand_id,\r\n vendor_id: 0,\r\n vendor_ids: formik.values.vendor_id,\r\n unit_of_measurement: formik.values.unit,\r\n min_t_value: parseInt(formik.values.threshold),\r\n sku: formik.values.sku,\r\n notes: formik.values.notes,\r\n attachments: [\r\n {\r\n fileName: \"\",\r\n fileType: \"\",\r\n base64Data: \"\"\r\n }\r\n ],\r\n roletype_id: parseInt(roletypeid),\r\n usertype_id: parseInt(usertype_id),\r\n warehouse_id: parseInt(warehouseid),\r\n createdby: parseInt(user_id),\r\n }\r\n\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Inventory/AddInventory\", true, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./inventory')\r\n setSaveBtnLoading(false);\r\n }\r\n\r\n setSaveBtnLoading(false);\r\n }\r\n },\r\n });\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n //Get All Category List\r\n const getCategoryList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetAllCategorioesByWarehouse?warehouse_id=${warehouseid || 0}`, true));\r\n\r\n if (response) {\r\n setAllCategories(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n //Get All Category List\r\n const getSubCategoryList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetAllSubCategoriesByCatid?Category_id=${formik.values.category_id}&warehouse_id=${warehouseid || 0}`, true));\r\n\r\n if (response) {\r\n setAllSubCategories(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const getAllBrands = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Setups/getAllBrand?warehouse_id=${warehouseid || 0}`, true));\r\n\r\n if (response) {\r\n setAllBrands(response?.filter(item => item?.status == 1));\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const getAllVendors = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllVendor?warehouse_id=${warehouseid || 0}`, true));\r\n if (response) {\r\n setAllVendors(response?.filter(item => item?.status == 1));\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const getAllUnits = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetUnitOfMeasurement`, true));\r\n if (response) {\r\n setAllUnits(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getCategoryList()\r\n getAllBrands()\r\n getAllVendors()\r\n getAllUnits()\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (formik.values.category_id) {\r\n getSubCategoryList()\r\n }\r\n }, [formik.values.category_id])\r\n\r\n //Get WH By Id\r\n const getInventoryById = async (rowData) => {\r\n\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetInventoryByid?id=${rowData?.id}`, true));\r\n const keyData = response[0]\r\n if (keyData) {\r\n formik.setFieldValue('inventory_id', keyData?.inventory_id)\r\n formik.setFieldValue('category_id', keyData?.category_id)\r\n formik.setFieldValue('subCategory_id', keyData?.subcategory_id)\r\n formik.setFieldValue('inventory_name', keyData?.name)\r\n formik.setFieldValue('brand_id', keyData?.brand_id)\r\n formik.setFieldValue('description', keyData?.description)\r\n formik.setFieldValue('unit', keyData?.unit_of_measurement)\r\n formik.setFieldValue('sku', keyData?.sku)\r\n formik.setFieldValue('vendor_id', keyData?.vendor_id_string)\r\n formik.setFieldValue('threshold', keyData?.min_t_value)\r\n formik.setFieldValue('notes', keyData?.notes)\r\n }\r\n setIsActive(false)\r\n };\r\n\r\n useEffect(() => {\r\n if (isEditable, rowData) {\r\n getInventoryById(rowData);\r\n }\r\n }, [isEditable, rowData]);\r\n\r\n // Generate Inventory Id\r\n const handleGenerateInvId = () => {\r\n const newInvId = generateRandomInvId();\r\n formik.setFieldValue('inventory_id', newInvId);\r\n };\r\n\r\n const generateRandomInvId = () => {\r\n const prefix = \"Inv-\";\r\n const length = 4;\r\n const charset = \"0123456789\";\r\n let userId = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n userId += charset[randomIndex];\r\n }\r\n\r\n return prefix + userId;\r\n };\r\n\r\n const ResetForm = () => {\r\n formik.setFieldValue('inventory_id', '')\r\n formik.setFieldValue('category_id', '')\r\n formik.setFieldValue('subCategory_id', '')\r\n formik.setFieldValue('inventory_name', '')\r\n formik.setFieldValue('brand_id', '')\r\n formik.setFieldValue('description', '')\r\n formik.setFieldValue('unit', '')\r\n formik.setFieldValue('sku', '')\r\n formik.setFieldValue('vendor_id', '')\r\n formik.setFieldValue('threshold', '')\r\n formik.setFieldValue('notes', '')\r\n }\r\n\r\n //Disable Form while Viewing\r\n const formStyle = {\r\n pointerEvents: isView ? 'none' : 'auto',\r\n opacity: isView ? 0.7 : 1,\r\n };\r\n\r\n return (\r\n\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n\r\n
    \r\n
    \r\n
    \r\n

    {isEditable && isView ? 'View Inventory' : isEditable && isView === false ? 'Edit Inventory' : 'Add New Inventory'}

    \r\n
    {isEditable && isView ? '' : isEditable && isView === false ? 'Edit Details' : 'Add Details'}
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n {getFormErrorMessage(\"inventory_id\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"category_id\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* * */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"inventory_name\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"brand_id\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"threshold\")}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* * */}\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"unit\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"sku\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"vendor_id\")}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n {isView ?\r\n null\r\n :\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default AddEditInventory","import React, { useCallback, useEffect, useRef, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handlePostRequest } from '../../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../../services/PutTemplate';\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { toast } from 'react-toastify';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport photo from '../../../assets/warehouse-assets/photo.png'\r\nimport video from '../../../assets/warehouse-assets/video.png'\r\nimport { InputTextarea } from 'primereact/inputtextarea';\r\nimport { confirmDialog } from 'primereact/confirmdialog';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { TreeSelect } from 'primereact/treeselect';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { Toast } from \"primereact/toast\";\r\nimport { handleDeleteRequest } from '../../../services/DeleteTemplate';\r\nimport { SplitButton } from 'primereact/splitbutton';\r\nimport moment from 'moment';\r\nimport { baseURL } from '../../../Config';\r\nimport axios from 'axios';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport Webcam from 'react-webcam';\r\nimport { Image } from 'primereact/image';\r\nimport { Triangle } from 'react-loader-spinner';\r\n\r\nconst CheckIn = () => {\r\n\r\n const location = useLocation();\r\n const { isEditable, rowData, isView, expireItemData } = location.state;\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [selectedFiles, setSelectedFiles] = useState([])\r\n const [selectedFiles2, setSelectedFiles2] = useState([])\r\n const [selectedDoc, setSelectedDoc] = useState({})\r\n const [permissions, setPermissions] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const showToast = useRef(null)\r\n const uploadDoc = useRef()\r\n const uploadImg = useRef()\r\n const uploadVideo = useRef()\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n const [allInventoryName, setAllInventoryName] = useState()\r\n const [allCategoryName, setAllCategoryName] = useState()\r\n const [allSubcategoryName, setAllSubcategoryName] = useState()\r\n const [allBrandName, setAllBrandName] = useState()\r\n const [allUomName, setAllUomName] = useState()\r\n const [allVendorName, setAllvendorName] = useState()\r\n const [isDisabled, setIsDisabled] = useState(true)\r\n const [editableForStage, setIsEditableForStage] = useState(false)\r\n\r\n const maxFileSize = 10 * 1024 * 1024;\r\n const maxImageSize = 5 * 1024 * 1024;\r\n const maxVideoSize = 5 * 1024 * 1024;\r\n\r\n const [allCheckinData, setAllCheckinData] = useState();\r\n const [checkInUpdateId, setCheckInUpdateId] = useState('');\r\n const [visible, setVisible] = useState(false);\r\n const webcamRef = useRef(null)\r\n const [videoStream, setVideoStream] = useState();\r\n\r\n const handleCamera = () => {\r\n navigator.mediaDevices\r\n .getUserMedia({ video: true })\r\n .then((state) => {\r\n setVideoStream(state)\r\n setVisible(true)\r\n })\r\n .catch(() => toast.warn(\"permission required\"))\r\n }\r\n\r\n const capturePicture = useCallback(() => {\r\n if (webcamRef.current) {\r\n const base64Image = webcamRef.current.getScreenshot();\r\n const filtered_type = base64Image?.split(';')[0];\r\n const file_type = filtered_type?.split(\":\")[1]\r\n if (base64Image) {\r\n setSelectedFiles((prevFiles) =>\r\n [\r\n ...prevFiles,\r\n { fileType: file_type, fileName: \"WebCamImage\", base64Data: base64Image, attachment_type: \"images\", path: null }\r\n ]\r\n )\r\n }\r\n }\r\n setVisible(false)\r\n stopCamera()\r\n })\r\n\r\n const stopCamera = async () => {\r\n if (videoStream) {\r\n (videoStream).getTracks().forEach((track) => {\r\n if (track.readyState == 'live') {\r\n track.stop()\r\n }\r\n })\r\n }\r\n }\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value.toLowerCase();\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const header = () => (\r\n
    \r\n
    CheckIn Data List
    \r\n
    \r\n
    0 ? \"opacity-60\" : \"\"} `} style={{ padding: ' 0.75rem 1.25rem ' }} >\r\n

    \r\n {\r\n selectedDoc && Object.keys(selectedDoc)?.length !== 0 ? (\r\n \r\n {selectedDoc?.fileName ? selectedDoc?.fileName : selectedDoc?.path ? 'Document' : 'Upload'}\r\n

    \r\n setSelectedDoc(\"\")} >\r\n handleDownloadFile(selectedDoc)} >\r\n
    \r\n \r\n ) : (\r\n <>\r\n \r\n Upload\r\n \r\n \r\n )\r\n }\r\n

    \r\n handleSelectedDoc(e)} style={{ display: \"none\" }} />\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n\r\n\r\n\r\n const deleteDialog = (e) => {\r\n confirmDialog({\r\n message: 'Are you sure you want to clear all data?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => handleAllDeleteData(e),\r\n reject: null\r\n });\r\n }\r\n\r\n const handleAllDeleteData = async (e) => {\r\n e.preventDefault();\r\n let obj = {\r\n uid: user_id,\r\n wid: warehouseid\r\n }\r\n setIsActive(true);\r\n const response = await dispatch(handleDeleteRequest(obj, `/api/Inventory/DeleteStageCheckIn`, false, true));\r\n if (response?.statusCode === \"200\") {\r\n getAllInventoryData(false)\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n const items = [\r\n // {\r\n // label: 'Edit',\r\n // command: () => getCheckInLisyByIdEditable(rowData, false),\r\n // },\r\n {\r\n label: 'Delete',\r\n command: () => confirm(rowData),\r\n }\r\n ];\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const confirm = (rowData) => {\r\n confirmDialog({\r\n message: 'Are you sure you want to Delete this Checkin Data?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => handleDeleteRecord(rowData),\r\n reject: null\r\n });\r\n }\r\n\r\n const handleDeleteRecord = async (rowData) => {\r\n let obj = {\r\n p_id: rowData?.id\r\n }\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleDeleteRequest(obj, `/api/Inventory/DeleteStageCheckInByID`, false, true));\r\n if (response?.statusCode == \"200\") {\r\n getAllInventoryData(false)\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const validationSchema = Yup.object().shape({\r\n checkbox: Yup.number().required(\"This field is required.\").nullable(),\r\n category: Yup.number().required(\"This field is required.\").nullable(),\r\n inventoryName: Yup.number().required(\"This field is required.\").nullable(),\r\n brand: Yup.number().required(\"This field is required.\").nullable(),\r\n rfidCode: Yup.string().required(\"This field is required.\").nullable(),\r\n skuCode: Yup.string().required(\"This field is required.\").nullable(),\r\n vendorInformation: Yup.number().required(\"This field is required.\").nullable(),\r\n costPerUnit: Yup.number()\r\n .min(1, \"Value must be at least 1\")\r\n .required(\"This field is required.\")\r\n .nullable(),\r\n valueOfMeasurement: Yup.number()\r\n .min(1, \"Value must be at least 1\")\r\n .required(\"This field is required.\")\r\n .nullable(),\r\n quantity: Yup.number()\r\n .min(1, \"Value must be at least 1\")\r\n .required(\"This field is required.\")\r\n .nullable(),\r\n });\r\n\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n checkbox: \"\",\r\n category: \"\",\r\n subCategory: \"\",\r\n inventoryName: \"\",\r\n brand: \"\",\r\n rfidCode: \"\",\r\n quantity: \"\",\r\n description: \"\",\r\n uom: 0,\r\n skuCode: \"\",\r\n costPerUnit: \"\",\r\n vendorInformation: \"\",\r\n thresholdValue: \"\",\r\n expiryDate: \"\",\r\n valueOfMeasurement: \"\",\r\n addNotes: \"\",\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n if (selectedFiles?.length === 0) {\r\n toast.warn('Please add image')\r\n } else {\r\n setIsActive(true)\r\n let payload = {\r\n p_id: checkInUpdateId,\r\n p_inventory_Type: data?.checkbox,\r\n p_category_id: data?.category,\r\n p_subcategory_id: data?.subCategory,\r\n p_inventory_id: data?.inventoryName,\r\n p_brand_id: data?.brand,\r\n p_rfid: data?.rfidCode,\r\n p_quantity: data?.quantity,\r\n p_SalesDescription: data?.description,\r\n p_unit_of_measurement: data?.uom,\r\n p_sku_code: data?.skuCode,\r\n p_cost: data?.costPerUnit,\r\n p_vendor_id: data?.vendorInformation,\r\n p_min_t_value: data?.thresholdValue,\r\n p_Expiry_Date: data?.expiryDate !== \"\" ? data?.expiryDate : null,\r\n p_value_of_measurement: data?.valueOfMeasurement,\r\n p_Notes: data?.addNotes,\r\n p_roletypeid: roletypeid,\r\n p_usertypeid: usertype_id,\r\n p_warehouseid: warehouseid,\r\n p_createdby: user_id,\r\n }\r\n\r\n const concatAllData = [selectedFiles, selectedFiles2]\r\n const allArrayData = concatAllData.flat();\r\n payload[\"attachments\"] = allArrayData;\r\n\r\n if (isEditable === false && editableForStage === false) {\r\n delete payload['p_id'];\r\n }\r\n\r\n let response;\r\n\r\n if (isEditable === false && editableForStage === false) {\r\n response = await dispatch(handlePostRequest(payload, '/api/Inventory/AddStageCheckIn', true, true));\r\n } else if (isEditable === true && editableForStage === false || isEditable === true && editableForStage === true) {\r\n if (selectedDoc && Object.keys(selectedDoc)?.length !== 0) {\r\n payload['attachments'] = [...allArrayData, selectedDoc]\r\n response = await dispatch(handlePutRequest(payload, '/api/Inventory/UpdateCheckIn', true, true));\r\n } else {\r\n toast.warn('Please Upload Attachment')\r\n }\r\n } else if (isEditable === false && editableForStage === true) {\r\n response = await dispatch(handlePutRequest(payload, '/api/Inventory/UpdateStageCheckIn', true, true));\r\n } else {\r\n response = null;\r\n }\r\n\r\n setIsActive(false)\r\n if ((isEditable === true && editableForStage === false && response?.statusCode == \"200\") || (isEditable === true && editableForStage === true && response?.statusCode == \"200\")) {\r\n history.push('/checkin')\r\n }\r\n else if ((isEditable === false && editableForStage === true) && (response?.statusCode == \"200\")) {\r\n console.log('here')\r\n getAllInventoryData(false)\r\n formik.resetForm();\r\n formik.setFieldValue(\"checkbox\", 1)\r\n setSelectedDoc()\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n }\r\n //First Time Add Data for Stage Check In\r\n else if ((isEditable === false && editableForStage === false) && (response?.statusCode == \"200\")) {\r\n getAllInventoryData(false)\r\n formik.resetForm();\r\n formik.setFieldValue(\"checkbox\", 1)\r\n setSelectedDoc()\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n // await labelPrint()\r\n // labelPrint().then(() => {});\r\n }\r\n else {\r\n return null\r\n }\r\n }\r\n }\r\n });\r\n\r\n const ResetForm = () => {\r\n formik.resetForm();\r\n selectedFiles([]);\r\n selectedFiles2([]);\r\n }\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n const labelPrint = async () => {\r\n const obj = {}\r\n const response = await dispatch(handlePostRequest(obj, '/api/ZebraPrinter/PrintLabelContent/PrintLabelContent', true, true));\r\n console.log('response labelPrint:', response)\r\n }\r\n\r\n //File Handling\r\n const handleFileUpload = (event) => {\r\n const files = Array.from(event.files);\r\n const updatedFiles = files.map((file) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64String = reader.result;\r\n if (file?.size > maxImageSize) {\r\n toast.warn(\"Attached image size is greater then 5MB\")\r\n }\r\n else if (selectedFiles?.length > 4) {\r\n toast.warn(\"A maximum of 5 images can be added.\");\r\n }\r\n else {\r\n setSelectedFiles((prevFiles) => [\r\n ...prevFiles,\r\n { fileType: file.type, fileName: file.name, base64Data: base64String, attachment_type: \"images\", path: null }\r\n ]);\r\n }\r\n };\r\n reader.readAsDataURL(file);\r\n return file;\r\n });\r\n };\r\n\r\n const handleVideo = () => {\r\n uploadVideo.current.choose();\r\n };\r\n\r\n const handleFileUpload2 = (event) => {\r\n const files = Array.from(event.files);\r\n const updatedFiles = files.map((file) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64String = reader.result;\r\n if (file?.size > maxVideoSize) {\r\n toast.warn(\"Attached video size is greater then 5MB\")\r\n } else {\r\n setSelectedFiles2((prevFiles) => [\r\n { fileType: file.type, fileName: file.name, base64Data: base64String, attachment_type: \"video\", path: null }\r\n\r\n ]);\r\n }\r\n };\r\n reader.readAsDataURL(file);\r\n return file;\r\n });\r\n };\r\n\r\n const handleDocument = () => {\r\n if (allCheckinData?.length > 0 || isEditable) {\r\n uploadDoc.current.choose();\r\n }\r\n };\r\n\r\n const handleImages = () => {\r\n uploadImg.current.choose();\r\n };\r\n\r\n const handleSelectedDoc = (e) => {\r\n if (e.files && e.files.length > 0) {\r\n let selectedFile = e.files[0];\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64Doc = reader.result\r\n if (selectedFile?.size > maxFileSize) {\r\n toast.warn(\"Attached file size is greater then 10MB\")\r\n } else {\r\n setSelectedDoc({ fileType: selectedFile?.type, fileName: selectedFile?.name, base64Data: base64Doc, attachment_type: \"file\", path: null })\r\n }\r\n }\r\n reader.readAsDataURL(selectedFile);\r\n return selectedFile\r\n } else {\r\n }\r\n };\r\n\r\n //For Deleting File\r\n const handleCancelFile = (file) => {\r\n setSelectedFiles((prevFiles) => prevFiles.filter((f) => f !== file));\r\n };\r\n\r\n const handleCancelFile2 = (file) => {\r\n setSelectedFiles2((prevFiles) => prevFiles.filter((f) => f !== file));\r\n };\r\n\r\n const getAllApplicationDetail = async (e) => {\r\n setIsActive(true)\r\n if (formik?.values?.inventoryName) {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetInventoryByid?id=${formik?.values?.inventoryName}`));\r\n if (response[0]?.name) {\r\n getSubcategoryLOVs(response[0]?.category_id);\r\n formik.setFieldValue('category', response[0]?.category_id)\r\n formik.setFieldValue('subCategory', response[0]?.subcategory_id)\r\n formik.setFieldValue('brand', response[0]?.brand_id)\r\n // setAllvendorName(response[0]?.vendor_name_string)\r\n formik.setFieldValue('vendorInformation', response[0]?.vendor_id)\r\n formik.setFieldValue('uom', response[0]?.unit_of_measurement)\r\n formik.setFieldValue('skuCode', response[0]?.sku)\r\n formik.setFieldValue('description', response[0]?.description)\r\n formik.setFieldValue('thresholdValue', response[0]?.min_t_value)\r\n getVendorByInvId(formik?.values?.inventoryName)\r\n }\r\n }\r\n setIsActive(false)\r\n }\r\n\r\n const getVendorByInvId = async (invId) => {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetVendorByInventoryid?whid=${warehouseid || 0}&id=${invId}`))\r\n if (response?.statusCode == 200) {\r\n setAllvendorName(response?.body)\r\n }\r\n }\r\n\r\n const getInventoryLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetInventory?warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllInventoryName(response)\r\n }\r\n }\r\n\r\n const getCategoryLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetAllCategorioesByWarehouse?warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllCategoryName(response)\r\n\r\n }\r\n }\r\n\r\n const getSubcategoryLOVs = async (category_id) => {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetAllSubCategoriesByCatid?Category_id=${category_id}&warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllSubcategoryName(response)\r\n }\r\n }\r\n\r\n const getBrandLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllBrand?warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllBrandName(response)\r\n }\r\n }\r\n\r\n const getUomLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetUnitOfMeasurement`))\r\n if (response) {\r\n setAllUomName(response)\r\n }\r\n }\r\n\r\n const getVendorLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllVendor?warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllvendorName(response)\r\n }\r\n }\r\n\r\n const getAllInventoryData = async (showAlert = true) => {\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetStageCheckinList?warehouseid=${warehouseid || 0}&userid=${user_id}`))\r\n setIsActive(false)\r\n if (response) {\r\n if (response.length >= 1 && showAlert && isEditable === false) {\r\n toast.info('Your unsaved checkin data has been restored ')\r\n setAllCheckinData(response)\r\n } else {\r\n setAllCheckinData(response)\r\n }\r\n }\r\n }\r\n\r\n const handleCheckinData = async () => {\r\n setIsActive(true)\r\n let obj = {\r\n uid: user_id,\r\n wid: warehouseid,\r\n attachments: [selectedDoc]\r\n }\r\n if (selectedDoc && Object.keys(selectedDoc)?.length !== 0) {\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Inventory/AddSubmitCheckIn\"));\r\n if (response.statusCode == \"200\") {\r\n getAllInventoryData(false)\r\n history.push('./checkin')\r\n }\r\n } else {\r\n toast.warn('Please Upload Attachment')\r\n }\r\n setIsActive(false)\r\n }\r\n\r\n const getCheckInLisyByIdEditable = async (rowData, isEditable) => {\r\n\r\n setIsEditableForStage(true)\r\n let keyData;\r\n if (isEditable) {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetCheckinByid?obj_id=${rowData?.id}`));\r\n keyData = response?.length ? response[0] : null;\r\n } else {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetStageCheckinByid?obj_id=${rowData?.id}`));\r\n keyData = response?.length ? response[0] : null;\r\n }\r\n if (keyData) {\r\n setCheckInUpdateId(keyData?.id)\r\n getSubcategoryLOVs(keyData?.category_id)\r\n await getVendorByInvId(parseInt(rowData?.inventory_id))\r\n formik.setFieldValue(\"checkbox\", keyData?.inventory_Type)\r\n formik.setFieldValue(\"category\", keyData?.category_id)\r\n formik.setFieldValue(\"subCategory\", keyData?.subcategory_id)\r\n formik.setFieldValue(\"inventoryName\", keyData?.inventory_id)\r\n formik.setFieldValue(\"brand\", keyData?.brand_id)\r\n formik.setFieldValue(\"rfidCode\", keyData?.rfid)\r\n formik.setFieldValue(\"quantity\", keyData?.quantity)\r\n formik.setFieldValue(\"description\", keyData?.salesDescription)\r\n formik.setFieldValue(\"uom\", keyData?.unit_of_measurement)\r\n formik.setFieldValue(\"skuCode\", keyData?.sku_code)\r\n formik.setFieldValue(\"costPerUnit\", keyData?.cost)\r\n formik.setFieldValue(\"thresholdValue\", keyData?.min_t_value)\r\n formik.setFieldValue(\"expiryDate\", moment(keyData?.expiry_Date).toDate())\r\n formik.setFieldValue(\"valueOfMeasurement\", keyData?.value_of_measurement)\r\n formik.setFieldValue(\"addNotes\", keyData?.notes)\r\n formik.setFieldValue(\"vendorInformation\", keyData?.vendor_id)\r\n\r\n let selectedDoc = {};\r\n const selectedFiles = [];\r\n const selectedFiles2 = [];\r\n\r\n // Split the keydata.link by commas to get individual entries\r\n const entries = keyData?.link?.split(',');\r\n\r\n // Iterate through each entry and split by $$ to check the type\r\n entries && entries.forEach(entry => {\r\n const [path, type] = entry.trim().split('$$'); // Trim the entry to remove leading/trailing spaces\r\n\r\n if (type === 'file') {\r\n const obj = { fileType: null, fileName: null, base64Data: null, attachment_type: null, path: `${path}$$file` }\r\n selectedDoc = obj;\r\n } else if (type === 'images') {\r\n selectedFiles.push({ fileType: null, fileName: null, base64Data: null, attachment_type: null, path: `${path}$$images` });\r\n } else if (type === 'video') {\r\n selectedFiles2.push({ fileType: null, fileName: null, base64Data: null, attachment_type: null, path: `${path}$$video` });\r\n }\r\n });\r\n\r\n // Assuming setSelectedDoc, setSelectedFiles, and setSelectedFiles2 are your state setters\r\n setSelectedDoc(selectedDoc);\r\n setSelectedFiles(selectedFiles);\r\n setSelectedFiles2(selectedFiles2);\r\n\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n\r\n if (formik?.values?.checkbox == 2) {\r\n formik.setFieldValue('quantity', 1)\r\n }\r\n else {\r\n formik.setFieldValue('quantity', \"\")\r\n }\r\n\r\n }, [formik?.values?.checkbox])\r\n\r\n useEffect(() => {\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/inventory\"));\r\n if (allPermModules) {\r\n const result = allPermModules?.submodules?.find(item => item?.routepath == \"/checkin\")\r\n setPermissions(result?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n formik.setFieldValue(\"checkbox\", 1)\r\n getInventoryLOVs();\r\n getCategoryLOVs();\r\n getBrandLOVs();\r\n getUomLOVs();\r\n //getVendorLOVs();\r\n getAllInventoryData()\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (rowData && isEditable) {\r\n getCheckInLisyByIdEditable(rowData, isEditable)\r\n }\r\n\r\n }, [rowData, isEditable])\r\n\r\n //Disable Form while Viewing\r\n const formStyle = {\r\n pointerEvents: isView ? 'none' : 'auto',\r\n opacity: isView ? 0.7 : 1,\r\n };\r\n\r\n const formStyle2 = {\r\n pointerEvents: 'auto',\r\n opacity: 1,\r\n };\r\n\r\n const handleGenerateRfidCode = () => {\r\n const newRfidCode = generateRandomRfidCode();\r\n formik.setFieldValue('rfidCode', newRfidCode);\r\n };\r\n\r\n const generateRandomRfidCode = () => {\r\n const prefix = \"Inv-\";\r\n const length = 4;\r\n const charset = \"0123456789\";\r\n let userId = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n userId += charset[randomIndex];\r\n }\r\n\r\n return prefix + userId;\r\n };\r\n\r\n const handleDownloadFile = async (file) => {\r\n\r\n let filePath;\r\n\r\n if (file?.path) {\r\n filePath = `${baseURL}/${file?.path?.split('$$')[0].replace(/\\\\/g, '/')}`;\r\n }\r\n else {\r\n filePath = file?.base64Data;\r\n }\r\n\r\n try {\r\n let response;\r\n\r\n if (file?.path) {\r\n response = await axios.get('https://dev-wms.appinsnap.com/api/Inventory/DownloadFile?url=' + filePath, {\r\n responseType: 'blob',\r\n headers: {\r\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`,\r\n },\r\n });\r\n } else {\r\n response = await axios.get(filePath);\r\n }\r\n\r\n const blob = new Blob([response.data])\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'Document.pdf');\r\n document.body.appendChild(link);\r\n link.click();\r\n link.parentNode.removeChild(link);\r\n window.URL.revokeObjectURL(url);\r\n\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n };\r\n\r\n return (\r\n\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n \r\n\r\n
    \r\n
    \r\n\r\n {\r\n isView ?\r\n
    \r\n

    \r\n View Details\r\n

    \r\n
    \r\n :\r\n
    \r\n

    \r\n {isEditable ? 'Update Check In' : editableForStage ? 'Update Details' : 'Check In'}\r\n

    \r\n
    {isEditable ? '' : editableForStage ? '' : 'Add Details'}
    \r\n
    \r\n }\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"checkbox\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n getAllApplicationDetail(e)}\r\n >\r\n
    \r\n {getFormErrorMessage(\"inventoryName\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"category\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"vendorInformation\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"rfidCode\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"brand\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"skuCode\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"quantity\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"valueOfMeasurement\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n {\r\n const { value } = e.target;\r\n if (value.length <= 10) {\r\n formik.handleChange(e);\r\n }\r\n }} type=\"number\" />\r\n
    \r\n {getFormErrorMessage(\"costPerUnit\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    handleImages()}>\r\n \r\n Choose File\r\n
    \r\n
    handleCamera()} className='p-fileupload-choose cursor-pointer flex justify-content-center align-items-center mt-3'>\r\n \r\n Take a Picture\r\n
    \r\n {\r\n if (!visible) return;\r\n setVisible(false)\r\n stopCamera();\r\n }}>\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {selectedFiles && selectedFiles.length ?\r\n
    \r\n {selectedFiles.length === 0 && selectedFiles.length === 0 ? (\r\n

    \r\n ) : (\r\n selectedFiles && selectedFiles.map((file, index) => (\r\n \r\n \r\n handleCancelFile(file)}\r\n />\r\n \r\n ))\r\n )}\r\n
    \r\n :\r\n
    \r\n

    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleFileUpload2(e)} style={{ display: \"none\" }} />\r\n\r\n
    \r\n \r\n Choose File\r\n
    \r\n
    \r\n\r\n
    \r\n {selectedFiles2 && selectedFiles2.length ?\r\n
    \r\n {selectedFiles2.length === 0 && selectedFiles2.length === 0 ? (\r\n

    \r\n ) : (\r\n selectedFiles2 && selectedFiles2.map((file, index) => (\r\n \r\n \r\n handleCancelFile2(file)}\r\n />\r\n \r\n ))\r\n )}\r\n
    \r\n :\r\n
    \r\n

    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n isEditable ?\r\n (\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n

    \r\n {\r\n selectedDoc && Object.keys(selectedDoc)?.length !== 0 ? (\r\n \r\n {selectedDoc?.fileName ? selectedDoc?.fileName : selectedDoc?.path ? 'Document' : 'Upload'}\r\n

    \r\n setSelectedDoc(\"\")} >\r\n handleDownloadFile(selectedDoc)} >\r\n
    \r\n \r\n ) : (\r\n <>\r\n \r\n Upload\r\n \r\n \r\n )\r\n }\r\n

    \r\n handleSelectedDoc(e)} style={{ display: \"none\" }} />\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n {permissions.includes(2) ?\r\n isView ? null : (\r\n
    \r\n
    )\r\n :\r\n null\r\n }\r\n\r\n
    \r\n
    \r\n\r\n {isEditable === false ?\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n {/* rowData?.subcategory_name || 'N/A'} header=\"Sub Category\"> */}\r\n \r\n rowData?.unit || 'N/A'} header=\"Unit\">\r\n {/* rowData?.salesDescription || 'N/A'} header=\"Description\"> */}\r\n \r\n \r\n \r\n rowData?.expiry_Date ? moment(rowData.expiry_Date).format('DD-MM-YYYY') : 'N/A'}\r\n header=\"Expiry Date\"\r\n />\r\n \r\n \r\n
    \r\n :\r\n null}\r\n
    \r\n\r\n {isView || isEditable ?\r\n null\r\n :\r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default CheckIn\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst initialState = JSON.parse(localStorage.getItem('customerDetail')) || {};\r\nexport const checkoutSlice = createSlice({\r\n name: \"customerScreen\",\r\n initialState,\r\n reducers: {\r\n setCustomerData: (state, action) => {\r\n return { ...action.payload };\r\n }\r\n }\r\n})\r\n\r\nexport const { setCustomerData } = checkoutSlice.actions\r\nexport default checkoutSlice.reducer\r\n\r\n\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { handlePostRequest } from '../../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../../services/PutTemplate';\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { toast } from 'react-toastify';\r\nimport { InputTextarea } from 'primereact/inputtextarea';\r\nimport { confirmDialog } from 'primereact/confirmdialog';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { Toast } from \"primereact/toast\";\r\nimport { handleDeleteRequest } from '../../../services/DeleteTemplate';\r\nimport { SplitButton } from 'primereact/splitbutton';\r\nimport { setCustomerData } from '../../../redux/slices/checkoutUserSlice';\r\nimport { userAction } from '../../../redux/actions/checkoutAction';\r\nimport { Triangle } from 'react-loader-spinner';\r\n\r\nconst CheckOut = () => {\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const location = useLocation();\r\n const { isEditable, rowData } = location.state;\r\n\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [permissions, setPermissions] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const showToast = useRef(null)\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n const [allInventoryName, setAllInventoryName] = useState()\r\n const [showData, setshowData] = useState(false)\r\n const [totalQuantity, setTotalQuantity] = useState(0)\r\n\r\n const [allCheckOutData, setAllCheckOutData] = useState([]);\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value.toLowerCase();\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const header = () => (\r\n
    \r\n
    CheckOut Data List
    \r\n
    \r\n
    \r\n
    \r\n )\r\n\r\n const deleteDialog = (e) => {\r\n confirmDialog({\r\n message: 'Are you sure you want to clear all data?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => handleAllDeleteData(e),\r\n reject: null\r\n });\r\n }\r\n\r\n const handleAllDeleteData = async (e) => {\r\n e.preventDefault();\r\n let obj = {\r\n uid: user_id,\r\n wid: warehouseid\r\n }\r\n setIsActive(true);\r\n const response = await dispatch(handleDeleteRequest(obj, `/api/Inventory/DeleteStageCheckOut`, true, true));\r\n if (response?.statusCode == \"200\") {\r\n getAllInventoryData(false)\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const actionTemplate = (rowData) => {\r\n const items = [\r\n {\r\n label: 'Delete',\r\n command: () => confirm(rowData),\r\n },\r\n ];\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const confirm = (rowData) => {\r\n confirmDialog({\r\n message: 'Are you sure you want to Delete this checkout record?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => handleDeleteRecord(rowData),\r\n reject: null\r\n });\r\n }\r\n\r\n const handleDeleteRecord = async (rowData) => {\r\n // e.preventDefault();\r\n setIsActive(true);\r\n let obj = {\r\n p_id: rowData?.id\r\n }\r\n\r\n\r\n const response = await dispatch(handleDeleteRequest(obj, `/api/Inventory/DeleteStageCheckOutById`, true, true));\r\n if (response?.statusCode === \"200\") {\r\n getAllInventoryData(false)\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const validationSchema = Yup.object().shape({\r\n checkbox: Yup.string().required(\"This field is required.\").nullable(),\r\n inventoryName: Yup.string().required(\"This field is required.\").nullable(),\r\n rfidCode: Yup.string().required(\"This field is required.\").nullable(),\r\n costPerUnit: Yup.string().required(\"This field is required.\").nullable(),\r\n quantity: Yup.number().required(\"This field is required.\").nullable(),\r\n });\r\n\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n checkbox: \"\",\r\n inventoryName: \"\",\r\n rfidCode: \"\",\r\n costPerUnit: \"\",\r\n quantity: \"\",\r\n addNotes: \"\",\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n setIsActive(true)\r\n let payload = {\r\n p_inventory_Type: data?.checkbox,\r\n p_inventory_id: data?.inventoryName,\r\n p_rfid: data?.rfidCode,\r\n p_cost: data?.costPerUnit,\r\n p_Notes: data?.addNotes,\r\n p_quantity: data?.quantity,\r\n p_roletypeid: roletypeid,\r\n p_usertypeid: usertype_id,\r\n p_warehouseid: warehouseid,\r\n p_createdby: user_id,\r\n }\r\n\r\n setshowData(true)\r\n dispatch(userAction(payload))\r\n\r\n const response = await dispatch(handlePostRequest(payload, '/api/Inventory/AddStageCheckOut'))\r\n setIsActive(false)\r\n if (response?.statusCode == \"200\") {\r\n getAllInventoryData(false)\r\n setTotalQuantity(0)\r\n ResetForm();\r\n }\r\n\r\n },\r\n });\r\n\r\n const ResetForm = () => {\r\n formik.resetForm();\r\n setTotalQuantity(0)\r\n formik.setFieldValue('addNotes', '')\r\n formik.setFieldValue('rfidCode', '')\r\n formik.setFieldValue('checkbox', '')\r\n formik.setFieldValue('inventoryName', '')\r\n formik.setFieldValue('costPerUnit', '')\r\n formik.setFieldValue('quantity', '')\r\n }\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n const getInventoryLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetInventory?warehouse_id=${warehouseid}`))\r\n if (response) {\r\n setAllInventoryName(response)\r\n }\r\n }\r\n\r\n const getAllInventoryData = async (showAlert = true) => {\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetStageCheckOutList?warehouseid=${warehouseid}&userid=${user_id}`))\r\n if (response) {\r\n if (response.length >= 1 && showAlert) {\r\n toast.info('Your unsaved checkout data has been restored ')\r\n setAllCheckOutData(response)\r\n } else {\r\n setAllCheckOutData(response)\r\n }\r\n }\r\n setIsActive(false)\r\n }\r\n\r\n useEffect(() => {\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/inventory\"));\r\n if (allPermModules) {\r\n const result = allPermModules?.submodules?.find(item => item?.routepath == \"/checkout\")\r\n setPermissions(result?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n\r\n if (warehouseid) {\r\n getInventoryLOVs();\r\n getAllInventoryData()\r\n }\r\n\r\n }, []);\r\n\r\n const handleCheckOutData = async () => {\r\n setIsActive(true)\r\n let obj = {\r\n uid: user_id,\r\n wid: warehouseid\r\n }\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Inventory/AddSubmitCheckOut\", true, true));\r\n setIsActive(false)\r\n if (response?.statusCode == '200') {\r\n getAllInventoryData(false)\r\n ResetForm()\r\n history.push('./checkout')\r\n }\r\n ResetForm()\r\n }\r\n\r\n const handleGenerateData = async () => {\r\n\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetCheckinByrfid?obj_id=${formik.values.rfidCode}`, true, true));\r\n const keyData = response[0]\r\n if (keyData === undefined) {\r\n toast.warn('No record found with provided RFID code')\r\n formik.setFieldValue('checkbox', '')\r\n formik.setFieldValue('inventoryName', '')\r\n formik.setFieldValue('costPerUnit', '')\r\n }\r\n else if (keyData?.quantity === 0) {\r\n toast.warn('Quantity has already been exceeded')\r\n formik.setFieldValue('checkbox', '')\r\n formik.setFieldValue('inventoryName', '')\r\n formik.setFieldValue('costPerUnit', '')\r\n }\r\n\r\n else if (keyData) {\r\n setTotalQuantity(keyData?.quantity)\r\n formik.setFieldValue('checkbox', keyData?.inventory_Type)\r\n formik.setFieldValue('inventoryName', keyData?.inventory_id)\r\n formik.setFieldValue('costPerUnit', keyData?.cost)\r\n }\r\n else {\r\n formik.setFieldValue('checkbox', '')\r\n formik.setFieldValue('inventoryName', '')\r\n formik.setFieldValue('costPerUnit', '')\r\n }\r\n setIsActive(false)\r\n }\r\n\r\n const getCheckOutLisyByIdEditable = async (rowData) => {\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetCheckoutByid?obj_id=${rowData?.id}`));\r\n const keyData = response[0];\r\n if (keyData) {\r\n formik.setFieldValue(\"rfidCode\", rowData?.rfid)\r\n formik.setFieldValue(\"inventoryName\", rowData?.inventory_id)\r\n formik.setFieldValue(\"costPerUnit\", rowData?.cost)\r\n formik.setFieldValue(\"addNotes\", rowData?.notes)\r\n formik.setFieldValue(\"checkbox\", rowData?.inventory_Type)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (rowData && isEditable) {\r\n getCheckOutLisyByIdEditable(rowData)\r\n }\r\n\r\n }, [rowData, isEditable])\r\n\r\n return (\r\n\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n

    Check Out

    \r\n
    {isEditable ? 'Edit' : 'Add'} Details
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"rfidCode\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"inventoryName\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"checkbox\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"costPerUnit\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n {\r\n const { value } = e.target;\r\n if (value <= totalQuantity) {\r\n formik.handleChange(e);\r\n }\r\n }}\r\n type=\"number\"\r\n />\r\n
    \r\n {getFormErrorMessage(\"quantity\")}\r\n
    \r\n {totalQuantity > 0\r\n ?\r\n Available quantity: {totalQuantity}\r\n :\r\n null\r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {permissions.includes(2) ?\r\n
    \r\n
    \r\n :\r\n null\r\n }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {/* rowData?.subcategory_name || 'N/A'} header=\"Sub Category\"> */}\r\n \r\n \r\n {/* */}\r\n rowData?.unit || 'N/A'} header=\"Unit\">\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default CheckOut\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\nimport { setCustomerData } from \"../slices/checkoutUserSlice\";\r\n\r\nexport const userAction = (inventoryData) => async (dispatch) => {\r\n const res = await inventoryData;\r\n localStorage.removeItem('customerDetail');\r\n if (res) {\r\n localStorage.setItem('customerDetail', JSON.stringify(res));\r\n }\r\n dispatch(setCustomerData(res));\r\n return res;\r\n};","import React, { useState, useEffect, useContext } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { handlePutRequest } from \"../../services/PutTemplate\";\r\nimport { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { Tag } from \"primereact/tag\";\r\n\r\nconst ManageAsset = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const [isActive, setIsActive] = useState(false)\r\n const [assetList, setAssetList] = useState([]);\r\n const [acceptButtonClass, setAcceptButtonClass] = useState('p-button-danger');\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [permissions, setPermissions] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n\r\n const items = [];\r\n\r\n if ((roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid)) {\r\n items.push({\r\n label: 'View',\r\n command: () => handleViewInventory(rowData),\r\n });\r\n } else {\r\n items.push(\r\n {\r\n label: 'Edit',\r\n command: () => handleEditAsset(rowData),\r\n },\r\n {\r\n label: rowData?.isactive == 1 ? 'Deactivate' : 'Activate',\r\n command: () => confirm(rowData),\r\n }\r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const confirm = (rowData) => {\r\n\r\n confirmDialog({\r\n message: rowData?.isactive == 1 ? 'Are you sure you want to deactivate this Asset?' : 'Are you sure you want to Activate this Asset?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: 'Yes',\r\n accept: () => {\r\n if (rowData?.isactive == 1) {\r\n handleDeactivateAsset(rowData);\r\n } else {\r\n handleActivateAsset(rowData);\r\n }\r\n },\r\n reject: () => {\r\n return null;\r\n },\r\n });\r\n\r\n };\r\n\r\n const handleDeactivateAsset = async (rowData) => {\r\n\r\n const obj = {\r\n asset_id: rowData?.id,\r\n p_isactive: 0,\r\n };\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, `/api/Asset/DeactivateAsset`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getAssetList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const handleActivateAsset = async (rowData) => {\r\n\r\n const obj = {\r\n asset_id: rowData?.id,\r\n p_isactive: 1,\r\n };\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, `/api/Asset/DeactivateAsset`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getAssetList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const handleEditAsset = (rowData) => {\r\n const item = true;\r\n const view = false;\r\n history.push({\r\n pathname: './addeditasset',\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n isView: view,\r\n }\r\n });\r\n };\r\n\r\n const handleViewInventory = (rowData) => {\r\n const item = true;\r\n const view = true;\r\n history.push({\r\n pathname: './addeditasset',\r\n state: {\r\n isEditable: item,\r\n isView: view,\r\n rowData: rowData,\r\n }\r\n });\r\n };\r\n\r\n\r\n //Get Asset List\r\n const getAssetList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Asset/GetAsset?roletype_id=${roletypeid}&usertype_id=${usertype_id}&warehouse_id=${warehouseid || 0}`, true));\r\n if (response) {\r\n setAssetList(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getAssetList()\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/asset\"));\r\n if (allPermModules) {\r\n setPermissions(allPermModules?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n }, []);\r\n\r\n return (\r\n\r\n <>\r\n
    \r\n

    \r\n Asset Management\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ?\r\n null\r\n :\r\n permissions.includes(2) ?\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './addeditasset',\r\n state: {\r\n isEditable: item,\r\n }\r\n });\r\n }}\r\n />\r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n \r\n rowData?.name || 'N/A'} header=\"Asset Name\">\r\n rowData?.inventory_Type_Name || 'N/A'} header=\"Asset Type\">\r\n rowData?.brandName || 'N/A'} header=\"Brand\">\r\n rowData?.categoryName || 'N/A'} header=\"Category\">\r\n rowData?.sub_Category_Name || 'N/A'} header=\"Sub Category\">\r\n rowData?.rfid || 'N/A'} header=\"RFID Code\">\r\n rowData?.unitofmeasurementName || 'N/A'} header=\"Unit\">\r\n {/* rowData?.vendorName || 'N/A'} header=\"Vendor\"> */}\r\n rowData?.sku || 'N/A'} header=\"Sku\">\r\n (\r\n \r\n )}\r\n header=\"Status\"\r\n />\r\n {permissions.includes(2) ?\r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ManageAsset","import React, { useCallback, useEffect, useRef, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { handleGetRequest } from '../../services/GetTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handlePostRequest } from '../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../services/PutTemplate';\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { toast } from 'react-toastify';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport photo from '../../assets/warehouse-assets/photo.png'\r\nimport video from '../../assets/warehouse-assets/video.png'\r\nimport { InputTextarea } from 'primereact/inputtextarea';\r\nimport { TreeSelect } from 'primereact/treeselect';\r\nimport { Toast } from \"primereact/toast\";\r\nimport { baseURL } from '../../Config';\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport Webcam from 'react-webcam';\r\nimport { Image } from 'primereact/image';\r\nimport { MultiSelect } from 'primereact/multiselect';\r\nimport axios from \"axios\"\r\n\r\nconst AddEditAsset = () => {\r\n\r\n const location = useLocation();\r\n const { isEditable, rowData, isView } = location.state;\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const showToast = useRef(null)\r\n const uploadDoc = useRef()\r\n const uploadImg = useRef()\r\n const uploadVideo = useRef()\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [selectedFiles, setSelectedFiles] = useState([])\r\n const [selectedFiles2, setSelectedFiles2] = useState([])\r\n const [selectedDoc, setSelectedDoc] = useState({})\r\n const [permissions, setPermissions] = useState([]);\r\n\r\n const [allCategoryName, setAllCategoryName] = useState([])\r\n const [allSubcategoryName, setAllSubcategoryName] = useState([])\r\n const [allBrandName, setAllBrandName] = useState([])\r\n const [allUomName, setAllUomName] = useState([])\r\n const [allVendorName, setAllvendorName] = useState([])\r\n const [editableForStage, setIsEditableForStage] = useState(false)\r\n const maxFileSize = 10 * 1024 * 1024;\r\n const maxImageSize = 5 * 1024 * 1024;\r\n const maxVideoSize = 5 * 1024 * 1024;\r\n const [visible, setVisible] = useState(false);\r\n const webcamRef = useRef(null)\r\n const [videoStream, setVideoStream] = useState();\r\n const [statusField, setStatusField] = useState();\r\n\r\n\r\n const handleCamera = () => {\r\n navigator.mediaDevices\r\n .getUserMedia({ video: true })\r\n .then((state) => {\r\n setVideoStream(state)\r\n setVisible(true)\r\n })\r\n .catch(() => toast.warn(\"permission required\"))\r\n }\r\n\r\n const capturePicture = useCallback(() => {\r\n if (webcamRef.current) {\r\n const base64Image = webcamRef.current.getScreenshot();\r\n const filtered_type = base64Image?.split(';')[0];\r\n const file_type = filtered_type?.split(\":\")[1]\r\n if (base64Image) {\r\n setSelectedFiles((prevFiles) =>\r\n [\r\n ...prevFiles,\r\n { fileType: file_type, fileName: \"WebCamImage\", base64Data: base64Image, attachment_type: \"images\", path: null }\r\n ]\r\n )\r\n }\r\n }\r\n setVisible(false)\r\n stopCamera()\r\n })\r\n\r\n const stopCamera = async () => {\r\n if (videoStream) {\r\n (videoStream).getTracks().forEach((track) => {\r\n if (track.readyState == 'live') {\r\n track.stop()\r\n }\r\n })\r\n console.log(videoStream)\r\n }\r\n }\r\n\r\n const validationSchema = Yup.object().shape({\r\n checkbox: Yup.string().required(\"This field is required.\").nullable(),\r\n asset_id: Yup.string().required(\"This field is required.\").nullable(),\r\n category: Yup.string().required(\"This field is required.\").nullable(),\r\n assetName: Yup.string().required(\"This field is required.\").nullable(),\r\n brand: Yup.string().required(\"This field is required.\").nullable(),\r\n vendor: Yup.mixed().required(\"This field is required.\").nullable(),\r\n rfid_code: Yup.string().required(\"This field is required.\").nullable(),\r\n sku: Yup.string().required(\"This field is required.\").nullable(),\r\n });\r\n\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n checkbox: 1,\r\n asset_id: \"\",\r\n category: \"\",\r\n subCategory: \"\",\r\n assetName: \"\",\r\n brand: \"\",\r\n uom: 0,\r\n cost: \"\",\r\n vendor: \"\",\r\n rfid_code: \"\",\r\n sku: \"\",\r\n quantity: \"\",\r\n description: \"\",\r\n notes: \"\",\r\n thresholdValue: \"\",\r\n pieces_of_quantity: \"\",\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n if (selectedFiles?.length === 0) {\r\n toast.warn('Please add image')\r\n }\r\n\r\n if (!selectedDoc || Object.keys(selectedDoc)?.length === 0) {\r\n toast.warn('Please add file attachment');\r\n }\r\n\r\n else {\r\n setIsActive(true)\r\n\r\n if (isEditable) {\r\n\r\n let payload = {\r\n p_id: rowData?.id,\r\n p_Name: data?.assetName,\r\n p_description: data?.description,\r\n p_asset_id: data?.asset_id,\r\n p_inventory_type: data?.checkbox,\r\n\r\n p_category_id: data?.category,\r\n p_subcategory_id: data?.subCategory === \"\" ? 0 : data?.subCategory,\r\n p_brand_id: data?.brand,\r\n p_vendor_ids: data?.vendor,\r\n p_unit_of_measurement: data?.uom,\r\n p_SKU: data?.sku,\r\n p_notes: data?.notes,\r\n p_RFID: data?.rfid_code,\r\n p_isactive: statusField,\r\n p_Quantity: 1,\r\n p_min_t_value: 0,\r\n p_pieces_of_quantity: 0,\r\n\r\n p_roletypeid: roletypeid,\r\n p_usertypeid: usertype_id,\r\n p_warehouseid: warehouseid,\r\n p_updatedby: user_id,\r\n\r\n }\r\n\r\n const concatAllData = [selectedDoc, selectedFiles, selectedFiles2]\r\n const allArrayData = concatAllData.flat();\r\n payload[\"attachments\"] = allArrayData;\r\n\r\n const response = await dispatch(handlePutRequest(payload, '/api/Asset/UpdateAsset', true, true));\r\n\r\n if (response?.statusCode == 200) {\r\n history.push('./asset')\r\n formik.resetForm();\r\n setSelectedDoc({})\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n }\r\n\r\n }\r\n else {\r\n\r\n let payload = {\r\n\r\n inventory_type: data?.checkbox,\r\n asset_id: data?.asset_id,\r\n name: data?.assetName,\r\n description: data?.description,\r\n category_id: data?.category,\r\n sub_categoryid: data?.subCategory === \"\" ? 0 : data?.subCategory,\r\n brand_id: data?.brand,\r\n vendor_ids: data?.vendor,\r\n unit_of_measurement: data?.uom,\r\n sku: data?.sku,\r\n notes: data?.notes,\r\n rfid: data?.rfid_code,\r\n quantity: 1,\r\n min_t_value: 0,\r\n pieces_of_quantity: 0,\r\n\r\n roletype_id: roletypeid,\r\n usertype_id: usertype_id,\r\n warehouse_id: warehouseid,\r\n createdby: user_id,\r\n\r\n }\r\n\r\n const concatAllData = [selectedDoc, selectedFiles, selectedFiles2]\r\n const allArrayData = concatAllData.flat();\r\n payload[\"attachments\"] = allArrayData;\r\n\r\n const response = await dispatch(handlePostRequest(payload, '/api/Asset/AddAsset', true, true));\r\n\r\n if (response?.statusCode == 200) {\r\n history.push('./asset')\r\n\r\n }\r\n }\r\n\r\n setIsActive(false)\r\n }\r\n },\r\n });\r\n\r\n const ResetForm = () => {\r\n formik.resetForm();\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n setSelectedDoc({})\r\n }\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n //File Handling\r\n const handleFileUpload = (event) => {\r\n const files = Array.from(event.files);\r\n const updatedFiles = files.map((file) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64String = reader.result;\r\n if (file?.size > maxImageSize) {\r\n toast.warn(\"Attached image size is greater then 5MB\")\r\n }\r\n else if (selectedFiles?.length > 4) {\r\n toast.warn(\"A maximum of 5 images can be added.\");\r\n }\r\n else {\r\n setSelectedFiles((prevFiles) => [\r\n ...prevFiles,\r\n { fileType: file.type, fileName: file.name, base64Data: base64String, attachment_type: \"images\", path: null }\r\n ]);\r\n }\r\n };\r\n reader.readAsDataURL(file);\r\n return file;\r\n });\r\n };\r\n\r\n const handleFileUpload2 = (event) => {\r\n const files = Array.from(event.files);\r\n const updatedFiles = files.map((file) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64String = reader.result;\r\n if (file?.size > maxVideoSize) {\r\n toast.warn(\"Attached video size is greater then 5MB\")\r\n } else {\r\n setSelectedFiles2((prevFiles) => [\r\n { fileType: file.type, fileName: file.name, base64Data: base64String, attachment_type: \"video\", path: null }\r\n\r\n ]);\r\n }\r\n };\r\n reader.readAsDataURL(file);\r\n return file;\r\n });\r\n };\r\n\r\n const handleDocument = () => {\r\n uploadDoc.current.choose();\r\n };\r\n const handleVideo = () => {\r\n uploadVideo.current.choose();\r\n };\r\n const handleImages = () => {\r\n uploadImg.current.choose();\r\n };\r\n\r\n const handleSelectedDoc = (e) => {\r\n if (e.files && e.files.length > 0) {\r\n let selectedFile = e.files[0];\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64Doc = reader.result\r\n if (selectedFile?.size > maxFileSize) {\r\n toast.warn(\"Attached file size is greater then 10MB\")\r\n } else {\r\n setSelectedDoc({ fileType: selectedFile?.type, fileName: selectedFile?.name, base64Data: base64Doc, attachment_type: \"file\", path: null })\r\n }\r\n }\r\n reader.readAsDataURL(selectedFile);\r\n return selectedFile\r\n } else {\r\n console.log('No files selected');\r\n }\r\n };\r\n\r\n //For Deleting File\r\n const handleCancelFile = (file) => {\r\n setSelectedFiles((prevFiles) => prevFiles.filter((f) => f !== file));\r\n };\r\n\r\n\r\n const handleCancelFile2 = (file) => {\r\n setSelectedFiles2((prevFiles) => prevFiles.filter((f) => f !== file));\r\n };\r\n\r\n const getCategoryLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetAllCategorioesByWarehouse?warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllCategoryName(response)\r\n\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (formik.values.category) {\r\n getSubCategoryList(formik.values.category)\r\n }\r\n }, [formik.values.category])\r\n\r\n const getSubCategoryList = async (category_id) => {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetAllSubCategoriesByCatid?Category_id=${category_id}&warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllSubcategoryName(response)\r\n }\r\n }\r\n\r\n const getBrandLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllBrand?warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllBrandName(response?.filter(item => item?.status == 1));\r\n }\r\n }\r\n\r\n const getUomLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetUnitOfMeasurement`))\r\n if (response) {\r\n setAllUomName(response)\r\n }\r\n }\r\n\r\n const getVendorLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllVendor?warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllvendorName(response?.filter(item => item?.status == 1));\r\n }\r\n }\r\n\r\n\r\n useEffect(() => {\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/inventory\"));\r\n if (allPermModules) {\r\n const result = allPermModules?.submodules?.find(item => item?.routepath == \"/checkin\")\r\n setPermissions(result?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n\r\n getCategoryLOVs();\r\n getBrandLOVs();\r\n getUomLOVs();\r\n getVendorLOVs();\r\n\r\n }, []);\r\n\r\n const getAssetListByIdEditable = async (rowData, isEditable) => {\r\n\r\n setIsEditableForStage(true)\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Asset/GetAssetByid?obj_id=${rowData?.id}`));\r\n const keyData = response[0];\r\n\r\n if (keyData) {\r\n\r\n setStatusField(keyData?.isactive)\r\n formik.setFieldValue(\"checkbox\", keyData?.inventory_type)\r\n formik.setFieldValue(\"asset_id\", keyData?.asset_id)\r\n formik.setFieldValue(\"category\", keyData?.category_id)\r\n formik.setFieldValue(\"subCategory\", keyData?.subcategory_id)\r\n formik.setFieldValue(\"assetName\", keyData?.name)\r\n formik.setFieldValue(\"brand\", keyData?.brand_id)\r\n formik.setFieldValue(\"uom\", keyData?.unit_of_measurement)\r\n formik.setFieldValue(\"cost\", keyData?.salesDescription)\r\n formik.setFieldValue(\"vendor\", keyData?.vendor_ids_string)\r\n formik.setFieldValue(\"rfid_code\", keyData?.rfid)\r\n formik.setFieldValue(\"description\", keyData?.description)\r\n formik.setFieldValue(\"notes\", keyData?.notes)\r\n formik.setFieldValue(\"sku\", keyData?.sku)\r\n\r\n let selectedDoc = {};\r\n const selectedFiles = [];\r\n const selectedFiles2 = [];\r\n\r\n // Split the keydata.link by commas to get individual entries\r\n const entries = keyData?.link?.split(',');\r\n\r\n // Iterate through each entry and split by $$ to check the type\r\n entries && entries.forEach(entry => {\r\n const [path, type] = entry.trim().split('$$'); // Trim the entry to remove leading/trailing spaces\r\n if (type === 'file') {\r\n const obj = { fileType: null, fileName: null, base64Data: null, attachment_type: null, path: `${path}$$file` }\r\n selectedDoc = obj;\r\n } else if (type === 'images') {\r\n selectedFiles.push({ fileType: null, fileName: null, base64Data: null, attachment_type: null, path: `${path}$$images` });\r\n } else if (type === 'video') {\r\n selectedFiles2.push({ fileType: null, fileName: null, base64Data: null, attachment_type: null, path: `${path}$$video` });\r\n }\r\n });\r\n\r\n // Assuming setSelectedDoc, setSelectedFiles, and setSelectedFiles2 are your state setters\r\n setSelectedDoc(selectedDoc);\r\n setSelectedFiles(selectedFiles);\r\n setSelectedFiles2(selectedFiles2);\r\n\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (rowData && isEditable) {\r\n getAssetListByIdEditable(rowData, isEditable)\r\n }\r\n\r\n }, [rowData, isEditable])\r\n\r\n //Disable Form while Viewing\r\n const formStyle = {\r\n pointerEvents: isView ? 'none' : 'auto',\r\n opacity: isView ? 0.7 : 1,\r\n };\r\n\r\n const formStyle2 = {\r\n pointerEvents: 'auto',\r\n opacity: 1,\r\n };\r\n\r\n const handleGenerateAssetId = () => {\r\n const newAssetId = generateRandomAssetId();\r\n formik.setFieldValue('asset_id', newAssetId);\r\n };\r\n\r\n const handleDownloadFile = async (file) => {\r\n\r\n let filePath;\r\n\r\n if (file?.path) {\r\n filePath = `${baseURL}/${file?.path?.split('$$')[0].replace(/\\\\/g, '/')}`;\r\n }\r\n else {\r\n filePath = file?.base64Data;\r\n }\r\n\r\n try {\r\n let response;\r\n\r\n if (file?.path) {\r\n response = await axios.get('https://dev-wms.appinsnap.com/api/Inventory/DownloadFile?url=' + filePath, {\r\n responseType: 'blob',\r\n headers: {\r\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`, \r\n },\r\n });\r\n } else {\r\n response = await axios.get(filePath);\r\n }\r\n\r\n const blob = new Blob([response.data])\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'Document.pdf');\r\n document.body.appendChild(link);\r\n link.click();\r\n link.parentNode.removeChild(link);\r\n window.URL.revokeObjectURL(url);\r\n\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n\r\n\r\n\r\n };\r\n\r\n const generateRandomAssetId = () => {\r\n const prefix = \"ast-\";\r\n const length = 4;\r\n const charset = \"0123456789\";\r\n let userId = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n userId += charset[randomIndex];\r\n }\r\n\r\n return prefix + userId;\r\n };\r\n\r\n const handleGenerateRfidCode = () => {\r\n const newRfidCode = generateRandomRfidCode();\r\n formik.setFieldValue('rfid_code', newRfidCode);\r\n };\r\n\r\n const generateRandomRfidCode = () => {\r\n const prefix = \"A-\";\r\n const length = 4;\r\n const charset = \"0123456789\";\r\n let userId = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n userId += charset[randomIndex];\r\n }\r\n\r\n return prefix + userId;\r\n };\r\n\r\n return (\r\n\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n \r\n\r\n
    \r\n
    \r\n\r\n {\r\n isView ?\r\n
    \r\n

    \r\n View Details\r\n

    \r\n
    View
    \r\n
    \r\n :\r\n
    \r\n

    \r\n {isEditable ? 'Update Asset' : editableForStage ? 'Update Details' : 'Add Asset'}\r\n

    \r\n
    {isEditable ? '' : editableForStage ? '' : 'Add Details'}
    \r\n
    \r\n }\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"checkbox\")}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {getFormErrorMessage(\"asset_id\")}\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"category\")}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"subCategory\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"assetName\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"brand\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"vendor\")}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"rfid_code\")}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"sku\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"description\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    handleImages()}>\r\n \r\n Choose File\r\n
    \r\n
    handleCamera()} className='p-fileupload-choose cursor-pointer flex justify-content-center align-items-center mt-3'>\r\n \r\n Take a Picture\r\n
    \r\n {\r\n if (!visible) return;\r\n setVisible(false)\r\n stopCamera();\r\n }}>\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {selectedFiles && selectedFiles.length ?\r\n
    \r\n {selectedFiles.length === 0 && selectedFiles.length === 0 ? (\r\n

    \r\n ) : (\r\n selectedFiles && selectedFiles.map((file, index) => (\r\n \r\n \r\n handleCancelFile(file)}\r\n />\r\n \r\n ))\r\n )}\r\n
    \r\n :\r\n
    \r\n

    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleFileUpload2(e)}\r\n style={{ display: \"none\" }}\r\n />\r\n
    \r\n \r\n Choose File\r\n
    \r\n
    \r\n\r\n
    \r\n {selectedFiles2 && selectedFiles2.length ?\r\n
    \r\n {selectedFiles2.length === 0 && selectedFiles2.length === 0 ? (\r\n

    \r\n ) : (\r\n selectedFiles2 && selectedFiles2.map((file, index) => (\r\n \r\n \r\n handleCancelFile2(file)}\r\n />\r\n \r\n ))\r\n )}\r\n
    \r\n :\r\n
    \r\n

    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"notes\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n

    \r\n {\r\n selectedDoc && Object.keys(selectedDoc)?.length !== 0 ? (\r\n \r\n {selectedDoc?.fileName ? selectedDoc?.fileName : selectedDoc?.path ? 'Document' : 'Upload'}\r\n

    \r\n setSelectedDoc(\"\")} >\r\n handleDownloadFile(selectedDoc)} >\r\n
    \r\n \r\n ) : (\r\n <>\r\n \r\n Upload\r\n \r\n \r\n )\r\n }\r\n

    \r\n handleSelectedDoc(e)} style={{ display: \"none\" }} />\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {permissions.includes(2) ?\r\n isView ? null : (\r\n
    \r\n
    )\r\n :\r\n null\r\n }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default AddEditAsset","import React, { useCallback, useEffect, useRef, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handlePostRequest } from '../../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../../services/PutTemplate';\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { toast } from 'react-toastify';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport photo from '../../../assets/warehouse-assets/photo.png'\r\nimport video from '../../../assets/warehouse-assets/video.png'\r\nimport { InputTextarea } from 'primereact/inputtextarea';\r\nimport { confirmDialog } from 'primereact/confirmdialog';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { TreeSelect } from 'primereact/treeselect';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { Toast } from \"primereact/toast\";\r\nimport { handleDeleteRequest } from '../../../services/DeleteTemplate';\r\nimport { SplitButton } from 'primereact/splitbutton';\r\nimport moment from 'moment';\r\nimport { baseURL } from '../../../Config';\r\nimport { Triangle } from 'react-loader-spinner';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport Webcam from 'react-webcam';\r\nimport { Image } from 'primereact/image';\r\nimport axios from \"axios\"\r\n\r\nconst CheckInAsset = () => {\r\n\r\n const location = useLocation();\r\n const { isEditable, rowData, isView } = location.state;\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [selectedFiles, setSelectedFiles] = useState([])\r\n const [selectedFiles2, setSelectedFiles2] = useState([])\r\n const [selectedDoc, setSelectedDoc] = useState({})\r\n const [permissions, setPermissions] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const showToast = useRef(null)\r\n const uploadDoc = useRef()\r\n const uploadImg = useRef()\r\n const uploadVideo = useRef()\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n const [allCategoryName, setAllCategoryName] = useState()\r\n const [allSubcategoryName, setAllSubcategoryName] = useState()\r\n const [allBrandName, setAllBrandName] = useState()\r\n const [allUomName, setAllUomName] = useState()\r\n const [allVendorName, setAllvendorName] = useState()\r\n const [assetList, setAssetList] = useState([]);\r\n\r\n const [editableForStage, setIsEditableForStage] = useState(false)\r\n const maxFileSize = 10 * 1024 * 1024;\r\n const maxImageSize = 5 * 1024 * 1024;\r\n const maxVideoSize = 5 * 1024 * 1024;\r\n const [allCheckinData, setAllCheckinData] = useState([]);\r\n const [checkInUpdateId, setCheckInUpdateId] = useState('');\r\n const [visible, setVisible] = useState(false);\r\n const webcamRef = useRef(null)\r\n const [videoStream, setVideoStream] = useState();\r\n\r\n\r\n const handleCamera = () => {\r\n navigator.mediaDevices\r\n .getUserMedia({ video: true })\r\n .then((state) => {\r\n setVideoStream(state)\r\n setVisible(true)\r\n })\r\n .catch(() => toast.warn(\"permission required\"))\r\n }\r\n\r\n const capturePicture = useCallback(() => {\r\n if (webcamRef.current) {\r\n const base64Image = webcamRef.current.getScreenshot();\r\n const filtered_type = base64Image?.split(';')[0];\r\n const file_type = filtered_type?.split(\":\")[1]\r\n if (base64Image) {\r\n setSelectedFiles((prevFiles) =>\r\n [\r\n ...prevFiles,\r\n { fileType: file_type, fileName: \"WebCamImage\", base64Data: base64Image, attachment_type: \"images\", path: null }\r\n ]\r\n )\r\n }\r\n }\r\n setVisible(false)\r\n stopCamera()\r\n })\r\n\r\n const stopCamera = async () => {\r\n if (videoStream) {\r\n (videoStream).getTracks().forEach((track) => {\r\n if (track.readyState == 'live') {\r\n track.stop()\r\n }\r\n })\r\n console.log(videoStream)\r\n }\r\n }\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value.toLowerCase();\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const header = () => (\r\n
    \r\n
    CheckIn Data List
    \r\n
    \r\n
    0 ? \"opacity-60\" : \"\"} `} style={{ padding: ' 0.75rem 1.25rem ' }} >\r\n

    \r\n {\r\n selectedDoc && Object.keys(selectedDoc)?.length !== 0 ? (\r\n \r\n {selectedDoc?.fileName ? selectedDoc?.fileName : selectedDoc?.path ? 'Document' : 'Upload'}\r\n

    \r\n setSelectedDoc(\"\")} >\r\n handleDownloadFile(selectedDoc)} >\r\n
    \r\n \r\n ) : (\r\n <>\r\n \r\n Upload\r\n \r\n \r\n )\r\n }\r\n

    \r\n handleSelectedDoc(e)} style={{ display: \"none\" }} />\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n\r\n const deleteDialog = (e) => {\r\n confirmDialog({\r\n message: 'Are you sure you want to clear all data?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => handleAllDeleteData(e),\r\n reject: null\r\n });\r\n }\r\n\r\n const handleAllDeleteData = async (e) => {\r\n setIsActive(true);\r\n e.preventDefault();\r\n let obj = {\r\n uid: user_id,\r\n wid: warehouseid\r\n }\r\n const response = await dispatch(handleDeleteRequest(obj, `/api/Asset/DeleteStageAssetCheckIn`, true, true));\r\n if (response?.statusCode === \"200\") {\r\n getAllStageCheckInData(false)\r\n formik.resetForm();\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n const items = [\r\n // {\r\n // label: 'Edit',\r\n // command: () => getCheckInLisyByIdEditable(rowData, false),\r\n // },\r\n {\r\n label: 'Delete',\r\n command: () => confirm(rowData),\r\n }\r\n ];\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n\r\n const confirm = (rowData) => {\r\n confirmDialog({\r\n message: 'Are you sure you want to Delete this Checkin Data?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => handleDeleteRecord(rowData),\r\n reject: null\r\n });\r\n }\r\n\r\n const handleDeleteRecord = async (rowData) => {\r\n setIsActive(true);\r\n let obj = {\r\n p_id: rowData?.id\r\n }\r\n\r\n const response = await dispatch(handleDeleteRequest(obj, `/api/Asset/DeleteStageAssetCheckInByID`, true, true));\r\n if (response?.statusCode == 200) {\r\n getAllStageCheckInData(false)\r\n formik.resetForm();\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const validationSchema = Yup.object().shape({\r\n checkIn_type: Yup.string().required(\"This field is required.\").nullable(),\r\n asset_type: Yup.string().required(\"This field is required.\").nullable(),\r\n category: Yup.string().required(\"This field is required.\").nullable(),\r\n asset_name: Yup.string().required(\"This field is required.\").nullable(),\r\n quantity: Yup.string().required(\"This field is required.\").nullable(),\r\n brand: Yup.string().required(\"This field is required.\").nullable(),\r\n rfidCode: Yup.string().required(\"This field is required.\").nullable(),\r\n sku: Yup.string().required(\"This field is required.\").nullable(),\r\n vendor: Yup.string().required(\"This field is required.\").nullable(),\r\n });\r\n\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n\r\n checkIn_type: \"\",\r\n asset_type: \"\",\r\n category: \"\",\r\n subCategory: \"\",\r\n asset_name: \"\",\r\n quantity: \"\",\r\n brand: \"\",\r\n rfidCode: \"\",\r\n sku: \"\",\r\n uom: \"\",\r\n description: \"\",\r\n vendor: \"\",\r\n notes: \"\",\r\n\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n\r\n if (selectedFiles?.length === 0) {\r\n toast.warn('Please add image')\r\n } else {\r\n\r\n setIsActive(true)\r\n\r\n if (isEditable) {\r\n let payload = {\r\n // p_id: checkOutUpdateId,\r\n p_inventory_Type: data?.asset_type,\r\n p_category_id: data?.category,\r\n p_subcategory_id: data?.subCategory === \"\" ? 0 : data?.subCategory,\r\n p_inventory_id: data?.asset_name,\r\n p_brand_id: data?.brand,\r\n p_rfid: data?.rfidCode,\r\n p_quantity: data?.quantity,\r\n p_SalesDescription: data?.description,\r\n p_unit_of_measurement: data?.uom,\r\n p_sku_code: data?.skuCode,\r\n p_cost: data?.costPerUnit,\r\n p_vendor_id: data?.vendorInformation,\r\n p_min_t_value: data?.thresholdValue,\r\n p_Expiry_Date: data?.expiryDate,\r\n p_value_of_measurement: data?.valueOfMeasurement,\r\n p_Notes: data?.addNotes,\r\n p_roletypeid: roletypeid,\r\n p_usertypeid: usertype_id,\r\n p_warehouseid: warehouseid,\r\n p_createdby: user_id,\r\n }\r\n\r\n const concatAllData = [selectedFiles, selectedFiles2]\r\n const allArrayData = concatAllData.flat();\r\n payload[\"attachments\"] = allArrayData;\r\n\r\n const response = await dispatch(handlePutRequest(payload, '/api/Inventory/UpdateCheckIn', true, true));\r\n\r\n if (response?.statusCode == \"200\") {\r\n formik.resetForm();\r\n setSelectedDoc()\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n }\r\n }\r\n\r\n else {\r\n\r\n let payload = {\r\n p_inventory_Type: data?.asset_type,\r\n p_Check_In_type: data?.checkIn_type,\r\n p_category_id: data?.category,\r\n p_subcategory_id: data?.subCategory === \"\" ? 0 : data?.subCategory,\r\n p_asset_id: data?.asset_name,\r\n p_brand_id: data?.brand,\r\n p_rfid: data?.rfidCode,\r\n p_SalesDescription: data?.description,\r\n p_unit_of_measurement: data?.uom,\r\n p_sku_code: data?.sku,\r\n p_vendor_id: data?.vendor,\r\n p_quantity: 1,\r\n p_min_t_value: 0,\r\n p_value_of_measurement: 0,\r\n p_Notes: data?.notes,\r\n\r\n p_roletypeid: roletypeid,\r\n p_usertypeid: usertype_id,\r\n p_warehouseid: warehouseid,\r\n p_createdby: user_id,\r\n }\r\n\r\n const concatAllData = [selectedFiles, selectedFiles2]\r\n const allArrayData = concatAllData.flat();\r\n payload[\"attachments\"] = allArrayData;\r\n\r\n const response = await dispatch(handlePostRequest(payload, '/api/Asset/AddStageAssetCheckIn', true, true));\r\n\r\n if (response?.statusCode == \"200\") {\r\n getAllStageCheckInData(false)\r\n formik.resetForm();\r\n setSelectedDoc()\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n }\r\n }\r\n\r\n setIsActive(false)\r\n }\r\n },\r\n });\r\n\r\n\r\n const ResetForm = () => {\r\n formik.resetForm();\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n }\r\n\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n //File Handling\r\n const handleFileUpload = (event) => {\r\n const files = Array.from(event.files);\r\n const updatedFiles = files.map((file) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64String = reader.result;\r\n if (file?.size > maxImageSize) {\r\n toast.warn(\"Attached image size is greater then 5MB\")\r\n } \r\n else if (selectedFiles?.length > 4) {\r\n toast.warn(\"A maximum of 5 images can be added.\");\r\n }\r\n else {\r\n setSelectedFiles((prevFiles) => [\r\n ...prevFiles,\r\n { fileType: file.type, fileName: file.name, base64Data: base64String, attachment_type: \"images\", path: null }\r\n ]);\r\n }\r\n };\r\n reader.readAsDataURL(file);\r\n return file;\r\n });\r\n };\r\n\r\n const handleFileUpload2 = (event) => {\r\n const files = Array.from(event.files);\r\n const updatedFiles = files.map((file) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64String = reader.result;\r\n if (file?.size > maxVideoSize) {\r\n toast.warn(\"Attached video size is greater then 5MB\")\r\n } else {\r\n setSelectedFiles2((prevFiles) => [\r\n { fileType: file.type, fileName: file.name, base64Data: base64String, attachment_type: \"video\", path: null }\r\n\r\n ]);\r\n }\r\n };\r\n reader.readAsDataURL(file);\r\n return file;\r\n });\r\n };\r\n\r\n const handleDocument = () => {\r\n if (allCheckinData?.length > 0) {\r\n uploadDoc.current.choose();\r\n }\r\n };\r\n const handleVideo = () => {\r\n uploadVideo.current.choose();\r\n };\r\n const handleImages = () => {\r\n uploadImg.current.choose();\r\n };\r\n\r\n const handleSelectedDoc = (e) => {\r\n if (e.files && e.files.length > 0) {\r\n let selectedFile = e.files[0];\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64Doc = reader.result\r\n if (selectedFile?.size > maxFileSize) {\r\n toast.warn(\"Attached file size is greater then 10MB\")\r\n } else {\r\n setSelectedDoc({ fileType: selectedFile?.type, fileName: selectedFile?.name, base64Data: base64Doc, attachment_type: \"file\", path: null })\r\n }\r\n }\r\n reader.readAsDataURL(selectedFile);\r\n return selectedFile\r\n } else {\r\n console.log('No files selected');\r\n }\r\n };\r\n\r\n //For Deleting File\r\n const handleCancelFile = (file) => {\r\n setSelectedFiles((prevFiles) => prevFiles.filter((f) => f !== file));\r\n };\r\n\r\n\r\n const handleCancelFile2 = (file) => {\r\n setSelectedFiles2((prevFiles) => prevFiles.filter((f) => f !== file));\r\n };\r\n\r\n const getAllStageCheckInData = async (showAlert) => {\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Asset/GetStageAssetCheckInList?warehouseid=${warehouseid || 0}&userid=${user_id}`))\r\n if (response) {\r\n if (response.length >= 1 && showAlert && isEditable === false) {\r\n toast.info('Your unsaved checkIn data has been restored ')\r\n setAllCheckinData(response)\r\n } else {\r\n setAllCheckinData(response)\r\n }\r\n }\r\n setIsActive(false)\r\n }\r\n\r\n useEffect(() => {\r\n if (formik.values.category) {\r\n getAllApplicationDetail(formik.values.category)\r\n }\r\n }, [formik.values.category])\r\n\r\n const getAllApplicationDetail = async (category_id) => {\r\n\r\n if (category_id) {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetAllSubCategoriesByCatid?Category_id=${category_id}&warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllSubcategoryName(response)\r\n }\r\n }\r\n }\r\n\r\n const getCategoryLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetAllCategorioesByWarehouse?warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllCategoryName(response)\r\n\r\n }\r\n }\r\n\r\n const getBrandLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllBrand?warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllBrandName(response)\r\n }\r\n }\r\n\r\n const getUomLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetUnitOfMeasurement`))\r\n if (response) {\r\n setAllUomName(response)\r\n }\r\n }\r\n\r\n const getVendorLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllVendor?warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllvendorName(response)\r\n }\r\n }\r\n\r\n //Get Asset List\r\n const getAssetList = async (showAlert = true) => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Asset/GetAsset?roletype_id=${roletypeid}&usertype_id=${usertype_id}&warehouse_id=${warehouseid || 0}`, true));\r\n if (response) {\r\n setAssetList(response)\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/inventory\"));\r\n if (allPermModules) {\r\n const result = allPermModules?.submodules?.find(item => item?.routepath == \"/checkin\")\r\n setPermissions(result?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n\r\n getCategoryLOVs();\r\n getBrandLOVs();\r\n getUomLOVs();\r\n //getVendorLOVs();\r\n getAssetList()\r\n getAllStageCheckInData(true)\r\n\r\n }, []);\r\n\r\n const handleAssetCheckinData = async () => {\r\n setIsActive(true)\r\n let obj = {\r\n uid: user_id,\r\n wid: warehouseid,\r\n attachments: [selectedDoc]\r\n }\r\n if (selectedDoc && Object.keys(selectedDoc)?.length !== 0) {\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Asset/AddSubmitCheckIn\"));\r\n if (response.statusCode == \"200\") {\r\n getAssetList(false)\r\n history.push('./checkinasset')\r\n }\r\n } else {\r\n toast.warn('Please Upload Attachment')\r\n }\r\n setIsActive(false)\r\n }\r\n\r\n const getCheckInLisyByIdEditable = async (rowData, isEditable) => {\r\n\r\n setIsEditableForStage(true)\r\n let keyData;\r\n if (isEditable) {\r\n const response = await dispatch(handleGetRequest(`/api/Asset/GetAssetCheckInByid?obj_id=${rowData?.id}`));\r\n keyData = response?.length ? response[0] : null;\r\n }\r\n if (keyData) {\r\n // setCheckInUpdateId(keyData?.id)\r\n // getSubcategoryLOVs(keyData?.category_id)\r\n formik.setFieldValue(\"rfidCode\", keyData?.rfid)\r\n formik.setFieldValue(\"asset_type\", keyData?.inventory_Type)\r\n formik.setFieldValue(\"checkIn_type\", keyData?.check_in_type)\r\n formik.setFieldValue(\"asset_name\", parseInt(keyData?.asset_id))\r\n formik.setFieldValue(\"category\", keyData?.category_id)\r\n formik.setFieldValue(\"subCategory\", keyData?.subcategory_id)\r\n formik.setFieldValue(\"brand\", keyData?.brand_id)\r\n formik.setFieldValue(\"vendor\", keyData?.vendor_id)\r\n formik.setFieldValue(\"sku\", keyData?.sku_code)\r\n formik.setFieldValue(\"quantity\", keyData?.quantity)\r\n formik.setFieldValue(\"uom\", keyData?.unit_of_measurement)\r\n formik.setFieldValue(\"description\", keyData?.salesDescription)\r\n formik.setFieldValue(\"notes\", keyData?.notes)\r\n\r\n let selectedDoc = {};\r\n const selectedFiles = [];\r\n const selectedFiles2 = [];\r\n\r\n // Split the keydata.link by commas to get individual entries\r\n const entries = keyData?.link?.split(',');\r\n\r\n // Iterate through each entry and split by $$ to check the type\r\n entries && entries.forEach(entry => {\r\n const [path, type] = entry.trim().split('$$'); // Trim the entry to remove leading/trailing spaces\r\n if (type === 'file') {\r\n const obj = { fileType: null, fileName: null, base64Data: null, attachment_type: null, path }\r\n selectedDoc = obj;\r\n } else if (type === 'images') {\r\n selectedFiles.push({ fileType: null, fileName: null, base64Data: null, attachment_type: null, path });\r\n } else if (type === 'video') {\r\n selectedFiles2.push({ fileType: null, fileName: null, base64Data: null, attachment_type: null, path });\r\n }\r\n });\r\n\r\n // Assuming setSelectedDoc, setSelectedFiles, and setSelectedFiles2 are your state setters\r\n setSelectedDoc(selectedDoc);\r\n setSelectedFiles(selectedFiles);\r\n setSelectedFiles2(selectedFiles2);\r\n\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (rowData && isEditable) {\r\n getCheckInLisyByIdEditable(rowData, isEditable)\r\n }\r\n\r\n }, [rowData, isEditable])\r\n\r\n const handleGenerateData = async () => {\r\n\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Asset/GetAssetByrfid?obj_id=${formik.values.rfidCode}`, true, true));\r\n const keyData = response?.length ? response[0] : null;\r\n\r\n if (keyData == undefined) {\r\n toast.warn('No record found with provided RFID code')\r\n formik.setFieldValue('asset_type', '')\r\n formik.setFieldValue('asset_name', '')\r\n formik.setFieldValue('category', '')\r\n formik.setFieldValue('subCategory', '')\r\n formik.setFieldValue('brand', '')\r\n formik.setFieldValue('sku', '')\r\n formik.setFieldValue('uom', '')\r\n formik.setFieldValue('quantity', 1)\r\n formik.setFieldValue('description', '')\r\n formik.setFieldValue('vendor', '')\r\n formik.setFieldValue('notes', '')\r\n formik.setFieldValue('checkIn_type', '')\r\n }\r\n else if (keyData?.quantity > 0) {\r\n toast.warn('Asset already being checkin with provided RFID code')\r\n formik.setFieldValue('asset_type', '')\r\n formik.setFieldValue('asset_name', '')\r\n formik.setFieldValue('category', '')\r\n formik.setFieldValue('subCategory', '')\r\n formik.setFieldValue('brand', '')\r\n formik.setFieldValue('sku', '')\r\n formik.setFieldValue('uom', '')\r\n formik.setFieldValue('quantity', 1)\r\n formik.setFieldValue('description', '')\r\n formik.setFieldValue('vendor', '')\r\n formik.setFieldValue('notes', '')\r\n formik.setFieldValue('checkIn_type', '')\r\n }\r\n else if (keyData?.quantity === 0) {\r\n if (keyData?.check_in_Type == 1) {\r\n await getVendorByRfid(keyData?.id)\r\n }\r\n else {\r\n await getVendorByRfid(keyData?.id)\r\n formik.setFieldValue('vendor', keyData?.vendor_id)\r\n }\r\n formik.setFieldValue('asset_type', keyData?.inventory_Type)\r\n formik.setFieldValue('asset_name', keyData?.id)\r\n formik.setFieldValue('category', keyData?.category_id)\r\n formik.setFieldValue('subCategory', keyData?.subcategory_id)\r\n formik.setFieldValue('brand', keyData?.brand_id)\r\n formik.setFieldValue('sku', keyData?.sku)\r\n formik.setFieldValue('uom', keyData?.unit_of_measurement)\r\n formik.setFieldValue('quantity', 1)\r\n formik.setFieldValue('description', keyData?.description)\r\n formik.setFieldValue('checkIn_type', keyData?.check_in_Type)\r\n }\r\n else {\r\n formik.setFieldValue('asset_type', '')\r\n formik.setFieldValue('asset_name', '')\r\n formik.setFieldValue('category', '')\r\n formik.setFieldValue('subCategory', '')\r\n formik.setFieldValue('brand', '')\r\n formik.setFieldValue('sku', '')\r\n formik.setFieldValue('uom', '')\r\n formik.setFieldValue('quantity', 1)\r\n formik.setFieldValue('description', '')\r\n formik.setFieldValue('vendor', '')\r\n formik.setFieldValue('notes', '')\r\n formik.setFieldValue('checkIn_type', '')\r\n }\r\n setIsActive(false)\r\n }\r\n\r\n const getVendorByRfid = async (id) => {\r\n const response = await dispatch(handleGetRequest(`/api/Asset/GetVendorByAssetid?whid${warehouseid || 0}&id=${id}`))\r\n if (response?.statusCode == 200) {\r\n setAllvendorName(response?.body)\r\n }\r\n }\r\n\r\n //Disable Form while Viewing\r\n const formStyle = {\r\n pointerEvents: isView ? 'none' : 'auto',\r\n opacity: isView ? 0.7 : 1,\r\n };\r\n\r\n const formStyle2 = {\r\n pointerEvents: 'auto',\r\n opacity: 1,\r\n };\r\n\r\n const handleDownloadFile = async (file) => {\r\n\r\n let filePath;\r\n\r\n if (file?.path) {\r\n filePath = `${baseURL}/${file?.path?.split('$$')[0].replace(/\\\\/g, '/')}`;\r\n }\r\n else {\r\n filePath = file?.base64Data;\r\n }\r\n\r\n try {\r\n let response;\r\n\r\n if (file?.path) {\r\n response = await axios.get('https://dev-wms.appinsnap.com/api/Inventory/DownloadFile?url=' + filePath, {\r\n responseType: 'blob',\r\n headers: {\r\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`, \r\n },\r\n });\r\n } else {\r\n response = await axios.get(filePath);\r\n }\r\n\r\n const blob = new Blob([response.data])\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'Document.pdf');\r\n document.body.appendChild(link);\r\n link.click();\r\n link.parentNode.removeChild(link);\r\n window.URL.revokeObjectURL(url);\r\n\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n };\r\n\r\n return (\r\n\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n \r\n\r\n
    \r\n
    \r\n\r\n {\r\n isView ?\r\n
    \r\n

    \r\n View Details\r\n

    \r\n
    \r\n :\r\n
    \r\n

    \r\n {isEditable ? 'Update Check In Asset' : editableForStage ? 'Update Details' : 'Check In Asset'}\r\n

    \r\n
    {isEditable ? '' : editableForStage ? '' : 'Add Details'}
    \r\n
    \r\n }\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {getFormErrorMessage(\"rfidCode\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"checkIn_type\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"asset_type\")}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"asset_name\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n\r\n
    \r\n {getFormErrorMessage(\"category\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"subCategory\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"brand\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"vendor\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"sku\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"quantity\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"description\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    handleImages()}>\r\n \r\n Choose File\r\n
    \r\n
    handleCamera()} className='p-fileupload-choose cursor-pointer flex justify-content-center align-items-center mt-3'>\r\n \r\n Take a Picture\r\n
    \r\n {\r\n if (!visible) return;\r\n setVisible(false)\r\n stopCamera();\r\n }}>\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {selectedFiles && selectedFiles.length ?\r\n
    \r\n {selectedFiles.length === 0 && selectedFiles.length === 0 ? (\r\n

    \r\n ) : (\r\n selectedFiles && selectedFiles.map((file, index) => (\r\n \r\n \r\n handleCancelFile(file)}\r\n />\r\n \r\n ))\r\n )}\r\n
    \r\n :\r\n
    \r\n

    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleFileUpload2(e)}\r\n style={{ display: \"none\" }}\r\n />\r\n
    \r\n \r\n Choose File\r\n
    \r\n
    \r\n\r\n
    \r\n {selectedFiles2 && selectedFiles2.length ?\r\n
    \r\n {selectedFiles2.length === 0 && selectedFiles2.length === 0 ? (\r\n

    \r\n ) : (\r\n selectedFiles2 && selectedFiles2.map((file, index) => (\r\n \r\n \r\n handleCancelFile2(file)}\r\n />\r\n \r\n ))\r\n )}\r\n
    \r\n :\r\n
    \r\n

    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"notes\")}\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n {\r\n isEditable ?\r\n (\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n

    \r\n {\r\n selectedDoc && Object.keys(selectedDoc)?.length !== 0 ? (\r\n \r\n {selectedDoc?.fileName ? selectedDoc?.fileName : selectedDoc?.path ? 'Document' : 'Upload'}\r\n

    \r\n setSelectedDoc(\"\")} >\r\n handleDownloadFile(selectedDoc)} >\r\n
    \r\n \r\n ) : (\r\n <>\r\n \r\n Upload\r\n \r\n \r\n )\r\n }\r\n

    \r\n handleSelectedDoc(e)} style={{ display: \"none\" }} />\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n {permissions.includes(2) ?\r\n isView ? null : (\r\n
    \r\n
    )\r\n :\r\n null\r\n }\r\n\r\n
    \r\n
    \r\n\r\n {isEditable === false ?\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n rowData?.subcategory_name || 'N/A'} header=\"Sub Category\">\r\n \r\n {/* rowData?.salesDescription || 'N/A'} header=\"Description\"> */}\r\n {/* */}\r\n \r\n \r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n \r\n \r\n \r\n
    \r\n :\r\n null}\r\n
    \r\n\r\n {isView ?\r\n null\r\n :\r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default CheckInAsset\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useCallback, useEffect, useRef, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handlePostRequest } from '../../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../../services/PutTemplate';\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { toast } from 'react-toastify';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport photo from '../../../assets/warehouse-assets/photo.png'\r\nimport video from '../../../assets/warehouse-assets/video.png'\r\nimport { InputTextarea } from 'primereact/inputtextarea';\r\nimport { confirmDialog } from 'primereact/confirmdialog';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { TreeSelect } from 'primereact/treeselect';\r\nimport { Toast } from \"primereact/toast\";\r\nimport { handleDeleteRequest } from '../../../services/DeleteTemplate';\r\nimport { SplitButton } from 'primereact/splitbutton';\r\nimport moment from 'moment';\r\nimport { baseURL } from '../../../Config';\r\nimport { Triangle } from 'react-loader-spinner';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport Webcam from 'react-webcam';\r\nimport { Image } from 'primereact/image';\r\nimport axios from \"axios\"\r\n\r\nconst BorrowAsset = () => {\r\n\r\n const location = useLocation();\r\n const { isEditable, rowData, isView } = location.state;\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [selectedFiles, setSelectedFiles] = useState([])\r\n const [selectedFiles2, setSelectedFiles2] = useState([])\r\n const [selectedDoc, setSelectedDoc] = useState({})\r\n const [permissions, setPermissions] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const showToast = useRef(null)\r\n const uploadDoc = useRef()\r\n const uploadImg = useRef()\r\n const uploadVideo = useRef()\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n const [allCategoryName, setAllCategoryName] = useState()\r\n const [allSubcategoryName, setAllSubcategoryName] = useState()\r\n const [allBrandName, setAllBrandName] = useState()\r\n const [allUomName, setAllUomName] = useState()\r\n const [allVendorName, setAllvendorName] = useState()\r\n const [assetList, setAssetList] = useState([]);\r\n const webcamRef = useRef(null)\r\n const [visible, setVisible] = useState(false);\r\n const [videoStream, setVideoStream] = useState();\r\n\r\n const [editableForStage, setIsEditableForStage] = useState(false)\r\n const maxFileSize = 10 * 1024 * 1024;\r\n const maxImageSize = 5 * 1024 * 1024;\r\n const maxVideoSize = 5 * 1024 * 1024;\r\n const [checkOutStageData, setCheckOutStageData] = useState();\r\n const [checkOutUpdateId, setCheckOutUpdateId] = useState('');\r\n\r\n const handleCamera = () => {\r\n navigator.mediaDevices\r\n .getUserMedia({ video: true })\r\n .then((state) => {\r\n setVideoStream(state)\r\n setVisible(true)\r\n })\r\n .catch(() => toast.warn(\"permission required\"))\r\n }\r\n\r\n const capturePicture = useCallback(() => {\r\n if (webcamRef.current) {\r\n const base64Image = webcamRef.current.getScreenshot();\r\n const filtered_type = base64Image?.split(';')[0];\r\n const file_type = filtered_type?.split(\":\")[1]\r\n if (base64Image) {\r\n setSelectedFiles((prevFiles) =>\r\n [\r\n ...prevFiles,\r\n { fileType: file_type, fileName: \"WebCamImage\", base64Data: base64Image, attachment_type: \"images\", path: null }\r\n ]\r\n )\r\n }\r\n }\r\n setVisible(false)\r\n stopCamera()\r\n })\r\n\r\n const stopCamera = async () => {\r\n if (videoStream) {\r\n (videoStream).getTracks().forEach((track) => {\r\n if (track.readyState == 'live') {\r\n track.stop()\r\n }\r\n })\r\n console.log(videoStream)\r\n }\r\n }\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value.toLowerCase();\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const header = () => (\r\n
    \r\n
    Check out/ Borrow data List
    \r\n
    \r\n
    0 ? \"opacity-60\" : \"\"} `} style={{ padding: ' 0.75rem 1.25rem ' }} >\r\n

    \r\n {\r\n selectedDoc && Object.keys(selectedDoc)?.length !== 0 ? (\r\n \r\n {selectedDoc?.fileName ? selectedDoc?.fileName : selectedDoc?.path ? 'Document' : 'Upload'}\r\n

    \r\n setSelectedDoc(\"\")} >\r\n handleDownloadFile(selectedDoc)} >\r\n
    \r\n \r\n ) : (\r\n <>\r\n \r\n Upload\r\n \r\n \r\n )\r\n }\r\n

    \r\n handleSelectedDoc(e)} style={{ display: \"none\" }} />\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n\r\n const deleteDialog = (e) => {\r\n confirmDialog({\r\n message: 'Are you sure you want to clear all data?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => handleAllDeleteData(e),\r\n reject: null\r\n });\r\n }\r\n\r\n const handleAllDeleteData = async (e) => {\r\n\r\n e.preventDefault();\r\n let obj = {\r\n uid: user_id,\r\n wid: warehouseid\r\n }\r\n setIsActive(true);\r\n const response = await dispatch(handleDeleteRequest(obj, `/api/Asset/DeleteStageAssetBorrow`, true, true));\r\n if (response?.statusCode === \"200\") {\r\n getAllStageAssetData(false)\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n const items = [\r\n {\r\n label: 'Delete',\r\n command: () => confirm(rowData),\r\n }\r\n ];\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n\r\n const confirm = (rowData) => {\r\n confirmDialog({\r\n message: 'Are you sure you want to Delete this Checkout data?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => handleDeleteRecord(rowData),\r\n reject: null\r\n });\r\n }\r\n\r\n const handleDeleteRecord = async (rowData) => {\r\n\r\n let obj = {\r\n p_id: rowData?.id\r\n }\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleDeleteRequest(obj, `/api/Asset/DeleteStageAssetBorrowByID`, true, true));\r\n if (response?.statusCode == \"200\") {\r\n getAllStageAssetData(false)\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const validationSchema = Yup.object().shape({\r\n asset_type: Yup.string().required(\"This field is required.\").nullable(),\r\n category: Yup.string().required(\"This field is required.\").nullable(),\r\n asset_name: Yup.string().required(\"This field is required.\").nullable(),\r\n brand: Yup.string().required(\"This field is required.\").nullable(),\r\n rfidCode: Yup.string().required(\"This field is required.\").nullable(),\r\n sku: Yup.string().required(\"This field is required.\").nullable(),\r\n vendor: Yup.string().required(\"This field is required.\").nullable(),\r\n current_date: Yup.string().required(\"This field is required.\").nullable(),\r\n\r\n });\r\n\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n\r\n rfidCode: \"\",\r\n asset_type: \"\",\r\n asset_name: \"\",\r\n category: \"\",\r\n subCategory: \"\",\r\n brand: \"\",\r\n quantity: \"\",\r\n sku: \"\",\r\n uom: \"\",\r\n description: \"\",\r\n vendor: \"\",\r\n notes: \"\",\r\n current_date: isEditable ? \"\" : new Date().toISOString().split('T')[0],\r\n\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n\r\n if (selectedFiles?.length === 0) {\r\n toast.warn('Please add image')\r\n } else {\r\n\r\n setIsActive(true)\r\n\r\n if (isEditable) {\r\n let payload = {\r\n p_id: checkOutUpdateId,\r\n p_inventory_Type: data?.asset_type,\r\n p_category_id: data?.category,\r\n p_subcategory_id: data?.subCategory === \"\" ? 0 : data?.subCategory,\r\n p_inventory_id: data?.asset_name,\r\n p_brand_id: data?.brand,\r\n p_rfid: data?.rfidCode,\r\n p_quantity: data?.quantity,\r\n p_SalesDescription: data?.description,\r\n p_unit_of_measurement: data?.uom,\r\n p_sku_code: data?.skuCode,\r\n p_cost: data?.costPerUnit,\r\n p_vendor_id: data?.vendorInformation,\r\n p_min_t_value: data?.thresholdValue,\r\n p_Expiry_Date: data?.expiryDate,\r\n p_value_of_measurement: data?.valueOfMeasurement,\r\n p_Notes: data?.addNotes,\r\n p_roletypeid: roletypeid,\r\n p_usertypeid: usertype_id,\r\n p_warehouseid: warehouseid,\r\n p_createdby: user_id,\r\n }\r\n\r\n const concatAllData = [selectedFiles, selectedFiles2]\r\n const allArrayData = concatAllData.flat();\r\n payload[\"attachments\"] = allArrayData;\r\n\r\n const response = await dispatch(handlePutRequest(payload, '/api/Inventory/UpdateCheckIn', true, true));\r\n\r\n if (response?.statusCode == \"200\") {\r\n formik.resetForm();\r\n setSelectedDoc()\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n }\r\n }\r\n\r\n else {\r\n\r\n let payload = {\r\n p_inventory_Type: data?.asset_type,\r\n p_category_id: data?.category,\r\n p_subcategory_id: data?.subCategory === \"\" ? 0 : data?.subCategory,\r\n p_asset_id: data?.asset_name,\r\n p_brand_id: data?.brand,\r\n p_rfid: data?.rfidCode,\r\n p_quantity: 1,\r\n p_SalesDescription: data?.description,\r\n p_unit_of_measurement: data?.uom,\r\n p_sku_code: data?.sku,\r\n p_cost: 0,\r\n p_vendor_id: data?.vendor,\r\n p_min_t_value: 1,\r\n p_value_of_measurement: 0,\r\n p_borrow_Date: data?.current_date,\r\n p_Notes: data?.notes,\r\n\r\n p_roletypeid: roletypeid,\r\n p_usertypeid: usertype_id,\r\n p_warehouseid: warehouseid,\r\n p_createdby: user_id,\r\n\r\n }\r\n\r\n const concatAllData = [selectedFiles, selectedFiles2]\r\n const allArrayData = concatAllData.flat();\r\n payload[\"attachments\"] = allArrayData;\r\n\r\n const response = await dispatch(handlePostRequest(payload, '/api/Asset/AddStageBorrowCheckOut', true, true));\r\n\r\n if (response?.statusCode == \"200\") {\r\n getAllStageAssetData(false)\r\n formik.resetForm();\r\n setSelectedDoc()\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n }\r\n\r\n }\r\n\r\n setIsActive(false)\r\n }\r\n },\r\n });\r\n\r\n\r\n const ResetForm = () => {\r\n formik.resetForm();\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n }\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n //File Handling\r\n const handleFileUpload = (event) => {\r\n const files = Array.from(event.files);\r\n const updatedFiles = files.map((file) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64String = reader.result;\r\n if (file?.size > maxImageSize) {\r\n toast.warn(\"Attached image size is greater then 5MB\")\r\n }\r\n else if (selectedFiles?.length > 4) {\r\n toast.warn(\"A maximum of 5 images can be added.\");\r\n }\r\n else {\r\n setSelectedFiles((prevFiles) => [\r\n ...prevFiles,\r\n { fileType: file.type, fileName: file.name, base64Data: base64String, attachment_type: \"images\", path: null }\r\n ]);\r\n }\r\n };\r\n reader.readAsDataURL(file);\r\n return file;\r\n });\r\n };\r\n\r\n const handleFileUpload2 = (event) => {\r\n const files = Array.from(event.files);\r\n const updatedFiles = files.map((file) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64String = reader.result;\r\n if (file?.size > maxVideoSize) {\r\n toast.warn(\"Attached video size is greater then 5MB\")\r\n } else {\r\n setSelectedFiles2((prevFiles) => [\r\n { fileType: file.type, fileName: file.name, base64Data: base64String, attachment_type: \"video\", path: null }\r\n\r\n ]);\r\n }\r\n };\r\n reader.readAsDataURL(file);\r\n return file;\r\n });\r\n };\r\n\r\n const handleDocument = () => {\r\n if (checkOutStageData?.length > 0) {\r\n uploadDoc.current.choose();\r\n }\r\n };\r\n const handleVideo = () => {\r\n uploadVideo.current.choose();\r\n };\r\n const handleImages = () => {\r\n uploadImg.current.choose();\r\n };\r\n const handleSelectedDoc = (e) => {\r\n if (e.files && e.files.length > 0) {\r\n let selectedFile = e.files[0];\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64Doc = reader.result\r\n if (selectedFile?.size > maxFileSize) {\r\n toast.warn(\"Attached file size is greater then 10MB\")\r\n } else {\r\n setSelectedDoc({ fileType: selectedFile?.type, fileName: selectedFile?.name, base64Data: base64Doc, attachment_type: \"file\", path: null })\r\n }\r\n }\r\n reader.readAsDataURL(selectedFile);\r\n return selectedFile\r\n } else {\r\n console.log('No files selected');\r\n }\r\n };\r\n\r\n\r\n //For Deleting File\r\n const handleCancelFile = (file) => {\r\n setSelectedFiles((prevFiles) => prevFiles.filter((f) => f !== file));\r\n };\r\n\r\n\r\n const handleCancelFile2 = (file) => {\r\n setSelectedFiles2((prevFiles) => prevFiles.filter((f) => f !== file));\r\n };\r\n\r\n useEffect(() => {\r\n if (formik.values.category) {\r\n getAllApplicationDetail(formik.values.category)\r\n }\r\n }, [formik.values.category])\r\n\r\n const getAllApplicationDetail = async (category_id) => {\r\n\r\n if (category_id) {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetAllSubCategoriesByCatid?Category_id=${category_id}&warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllSubcategoryName(response)\r\n }\r\n }\r\n }\r\n\r\n\r\n const getCategoryLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetAllCategorioesByWarehouse?warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllCategoryName(response)\r\n\r\n }\r\n }\r\n\r\n const getBrandLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllBrand?warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllBrandName(response)\r\n }\r\n }\r\n const getUomLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetUnitOfMeasurement`))\r\n if (response) {\r\n setAllUomName(response)\r\n }\r\n }\r\n const getVendorLOVs = async () => {\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllVendor?warehouse_id=${warehouseid || 0}`))\r\n if (response) {\r\n setAllvendorName(response)\r\n }\r\n }\r\n\r\n //Get Asset List\r\n const getAssetList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Asset/GetAsset?roletype_id=${roletypeid}&usertype_id=${usertype_id}&warehouse_id=${warehouseid || 0}`, true));\r\n if (response) {\r\n setAssetList(response)\r\n };\r\n setIsActive(false);\r\n }\r\n\r\n const getAllStageAssetData = async (showAlert) => {\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Asset/GetStageAssetBorrowList?warehouseid=${warehouseid || 0}&userid=${user_id}`))\r\n if (response) {\r\n if (response.length >= 1 && showAlert && isEditable === false) {\r\n toast.info('Your unsaved borrow data has been restored ')\r\n setCheckOutStageData(response)\r\n } else {\r\n setCheckOutStageData(response)\r\n }\r\n }\r\n setIsActive(false)\r\n }\r\n\r\n useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/inventory\"));\r\n if (allPermModules) {\r\n const result = allPermModules?.submodules?.find(item => item?.routepath == \"/checkin\")\r\n setPermissions(result?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n\r\n getCategoryLOVs();\r\n getBrandLOVs();\r\n getUomLOVs();\r\n getVendorLOVs();\r\n getAllStageAssetData(true)\r\n getAssetList()\r\n\r\n }, []);\r\n\r\n const handleCheckOutData = async () => {\r\n setIsActive(true)\r\n let obj = {\r\n uid: user_id,\r\n wid: warehouseid,\r\n attachments: [selectedDoc]\r\n }\r\n if (selectedDoc && Object.keys(selectedDoc)?.length !== 0) {\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Asset/AddSubmitBorrow\", true, true));\r\n if (response.statusCode == \"200\") {\r\n history.push('./borrowasset')\r\n }\r\n } else {\r\n toast.warn('Please Upload Attachment')\r\n }\r\n setIsActive(false)\r\n }\r\n\r\n const handleGenerateData = async () => {\r\n\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Asset/GetAssetByrfidForBorrow?obj_id=${formik.values.rfidCode}`, true, true));\r\n const keyData = response[0]\r\n\r\n if (keyData == undefined) {\r\n toast.warn('No record found with provided RFID code')\r\n formik.setFieldValue('asset_type', '')\r\n formik.setFieldValue('asset_name', '')\r\n formik.setFieldValue('category', '')\r\n formik.setFieldValue('subCategory', '')\r\n formik.setFieldValue('brand', '')\r\n formik.setFieldValue('sku', '')\r\n formik.setFieldValue('uom', '')\r\n formik.setFieldValue('quantity', 1)\r\n formik.setFieldValue('description', '')\r\n formik.setFieldValue('vendor', '')\r\n formik.setFieldValue('notes', '')\r\n }\r\n else if (keyData?.quantity == 0) {\r\n toast.warn('Asset already being checkout with provided RFID code')\r\n formik.setFieldValue('asset_type', '')\r\n formik.setFieldValue('asset_name', '')\r\n formik.setFieldValue('category', '')\r\n formik.setFieldValue('subCategory', '')\r\n formik.setFieldValue('brand', '')\r\n formik.setFieldValue('sku', '')\r\n formik.setFieldValue('uom', '')\r\n formik.setFieldValue('quantity', 1)\r\n formik.setFieldValue('description', '')\r\n formik.setFieldValue('vendor', '')\r\n formik.setFieldValue('notes', '')\r\n }\r\n else if (keyData?.quantity !== 0) {\r\n formik.setFieldValue('asset_type', keyData?.inventory_Type)\r\n formik.setFieldValue('asset_name', parseInt(keyData?.asset_id))\r\n formik.setFieldValue('category', keyData?.category_id)\r\n formik.setFieldValue('subCategory', keyData?.subcategory_id)\r\n formik.setFieldValue('brand', keyData?.brand_id)\r\n formik.setFieldValue('sku', keyData?.sku)\r\n formik.setFieldValue('uom', keyData?.unit_of_measurement)\r\n formik.setFieldValue('quantity', 1)\r\n formik.setFieldValue('description', keyData?.description)\r\n formik.setFieldValue('vendor', keyData?.vendor_id)\r\n }\r\n else {\r\n formik.setFieldValue('asset_type', '')\r\n formik.setFieldValue('asset_name', '')\r\n formik.setFieldValue('category', '')\r\n formik.setFieldValue('subCategory', '')\r\n formik.setFieldValue('brand', '')\r\n formik.setFieldValue('sku', '')\r\n formik.setFieldValue('uom', '')\r\n formik.setFieldValue('quantity', 1)\r\n formik.setFieldValue('description', '')\r\n formik.setFieldValue('vendor', '')\r\n formik.setFieldValue('notes', '')\r\n }\r\n setIsActive(false)\r\n }\r\n\r\n const getBorrowAssetListByIdEditable = async (rowData, isEditable) => {\r\n\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Asset/GetBorrowByid?obj_id=${rowData?.id}`));\r\n const keyData = response?.length ? response[0] : null;\r\n\r\n if (keyData) {\r\n\r\n formik.setFieldValue(\"rfidCode\", keyData?.rfid)\r\n formik.setFieldValue(\"asset_type\", keyData?.inventory_Type)\r\n formik.setFieldValue(\"asset_name\", parseInt(keyData?.asset_id))\r\n formik.setFieldValue(\"category\", keyData?.category_id)\r\n formik.setFieldValue(\"subCategory\", keyData?.subcategory_id)\r\n formik.setFieldValue(\"brand\", keyData?.brand_id)\r\n formik.setFieldValue(\"uom\", keyData?.unit_of_measurement)\r\n formik.setFieldValue(\"vendor\", keyData?.vendor_id)\r\n formik.setFieldValue(\"sku\", keyData?.sku_code)\r\n formik.setFieldValue(\"description\", keyData?.salesDescription)\r\n formik.setFieldValue(\"notes\", keyData?.notes)\r\n formik.setFieldValue(\"current_date\", moment(keyData?.borrow_date).format('YYYY-MM-DD'));\r\n\r\n let selectedDoc = {};\r\n const selectedFiles = [];\r\n const selectedFiles2 = [];\r\n\r\n // Split the keydata.link by commas to get individual entries\r\n const entries = keyData?.link?.split(',');\r\n\r\n // Iterate through each entry and split by $$ to check the type\r\n entries && entries.forEach(entry => {\r\n const [path, type] = entry.trim().split('$$'); // Trim the entry to remove leading/trailing spaces\r\n if (type === 'file') {\r\n const obj = { fileType: null, fileName: null, base64Data: null, attachment_type: null, path: `${path}$$file` }\r\n selectedDoc = obj;\r\n } else if (type === 'images') {\r\n selectedFiles.push({ fileType: null, fileName: null, base64Data: null, attachment_type: null, path: `${path}$$images` });\r\n } else if (type === 'video') {\r\n selectedFiles2.push({ fileType: null, fileName: null, base64Data: null, attachment_type: null, path: `${path}$$video` });\r\n }\r\n });\r\n\r\n setSelectedDoc(selectedDoc);\r\n setSelectedFiles(selectedFiles);\r\n setSelectedFiles2(selectedFiles2);\r\n\r\n }\r\n\r\n setIsActive(false)\r\n\r\n }\r\n\r\n useEffect(() => {\r\n if (rowData && isEditable) {\r\n getBorrowAssetListByIdEditable(rowData, isEditable)\r\n }\r\n\r\n }, [rowData, isEditable])\r\n\r\n //Disable Form while Viewing\r\n const formStyle = {\r\n pointerEvents: isView ? 'none' : 'auto',\r\n opacity: isView ? 0.7 : 1,\r\n };\r\n\r\n const formStyle2 = {\r\n pointerEvents: 'auto',\r\n opacity: 1,\r\n };\r\n\r\n const handleDownloadFile = async (file) => {\r\n\r\n let filePath;\r\n\r\n if (file?.path) {\r\n filePath = `${baseURL}/${file?.path?.split('$$')[0].replace(/\\\\/g, '/')}`;\r\n }\r\n else {\r\n filePath = file?.base64Data;\r\n }\r\n\r\n try {\r\n let response;\r\n\r\n if (file?.path) {\r\n response = await axios.get('https://dev-wms.appinsnap.com/api/Inventory/DownloadFile?url=' + filePath, {\r\n responseType: 'blob',\r\n headers: {\r\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`, \r\n },\r\n });\r\n } else {\r\n response = await axios.get(filePath);\r\n }\r\n\r\n const blob = new Blob([response.data])\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'Document.pdf');\r\n document.body.appendChild(link);\r\n link.click();\r\n link.parentNode.removeChild(link);\r\n window.URL.revokeObjectURL(url);\r\n\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n\r\n\r\n\r\n };\r\n\r\n return (\r\n\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n \r\n\r\n
    \r\n
    \r\n\r\n {\r\n isView ?\r\n
    \r\n

    \r\n View Details\r\n

    \r\n
    \r\n :\r\n
    \r\n

    \r\n {isEditable ? 'Update Check In Asset' : editableForStage ? 'Update Details' : 'Borrow Asset'}\r\n

    \r\n
    {isEditable ? '' : editableForStage ? '' : 'Add Details'}
    \r\n
    \r\n }\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"rfidCode\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"asset_name\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"asset_type\")}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n\r\n
    \r\n {getFormErrorMessage(\"category\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"subCategory\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"brand\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"quantity\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"current_date\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"sku\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"vendor\")}\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"description\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    handleImages()}>\r\n \r\n Choose File\r\n
    \r\n
    handleCamera()} className='p-fileupload-choose cursor-pointer flex justify-content-center align-items-center mt-3'>\r\n \r\n Take a Picture\r\n
    \r\n {\r\n if (!visible) return;\r\n setVisible(false)\r\n stopCamera();\r\n }}>\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {selectedFiles && selectedFiles.length ?\r\n
    \r\n {selectedFiles.length === 0 && selectedFiles.length === 0 ? (\r\n

    \r\n ) : (\r\n selectedFiles && selectedFiles.map((file, index) => (\r\n \r\n \r\n handleCancelFile(file)}\r\n />\r\n \r\n ))\r\n )}\r\n
    \r\n :\r\n
    \r\n

    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleFileUpload2(e)}\r\n style={{ display: \"none\" }}\r\n />\r\n
    \r\n \r\n Choose File\r\n
    \r\n
    \r\n\r\n
    \r\n {selectedFiles2 && selectedFiles2.length ?\r\n
    \r\n {selectedFiles2.length === 0 && selectedFiles2.length === 0 ? (\r\n

    \r\n ) : (\r\n selectedFiles2 && selectedFiles2.map((file, index) => (\r\n \r\n \r\n handleCancelFile2(file)}\r\n />\r\n \r\n ))\r\n )}\r\n
    \r\n :\r\n
    \r\n

    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"notes\")}\r\n
    \r\n
    \r\n
    \r\n {isEditable ?\r\n (\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n

    \r\n {\r\n selectedDoc && Object.keys(selectedDoc)?.length !== 0 ? (\r\n \r\n {selectedDoc?.fileName ? selectedDoc?.fileName : selectedDoc?.path ? 'Document' : 'Upload'}\r\n

    \r\n setSelectedDoc(\"\")} >\r\n handleDownloadFile(selectedDoc)} >\r\n
    \r\n \r\n ) : (\r\n <>\r\n \r\n Upload\r\n \r\n \r\n )\r\n }\r\n

    \r\n handleSelectedDoc(e)} style={{ display: \"none\" }} />\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n :\r\n null\r\n }\r\n\r\n\r\n
    \r\n\r\n {permissions.includes(2) ?\r\n isView ? null : (\r\n
    \r\n
    )\r\n :\r\n null\r\n }\r\n\r\n
    \r\n
    \r\n {isEditable === false ?\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n rowData?.subcategory_name || 'N/A'} header=\"Sub Category\">\r\n \r\n {/* rowData?.salesDescription || 'N/A'} header=\"Description\"> */}\r\n rowData?.unit || 'N/A'} header=\"Unit\">\r\n rowData?.borrow_date ? moment(rowData.borrow_date).format('DD-MM-YYYY') : 'N/A'}\r\n header=\"Current Date\"\r\n />\r\n \r\n \r\n
    \r\n :\r\n null}\r\n
    \r\n\r\n {isView ?\r\n null\r\n :\r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default BorrowAsset\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react'\r\nimport printing from '../../assets/warehouse-assets/warehouse.png'\r\nimport qrcode from '../../assets/warehouse-assets/qr-code.png'\r\nimport { Button } from 'primereact/button'\r\n\r\nconst ManageRFID = () => {\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n

    RFID Label Printing

    \r\n
    Printing Label for New Package
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default ManageRFID\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport img1 from '../../assets/warehouse-assets/report-icons/svg/inventory by warehouse.svg'\r\nimport img2 from '../../assets/warehouse-assets/report-icons/svg/inventory by user.svg'\r\nimport img3 from '../../assets/warehouse-assets/report-icons/svg/items by value for each user.svg'\r\nimport img4 from '../../assets/warehouse-assets/report-icons/svg/Inventory vendor for each user.svg'\r\nimport img5 from '../../assets/warehouse-assets/report-icons/svg/asset vendor for each user.png'\r\nimport img6 from '../../assets/warehouse-assets/report-icons/svg/items replanished in last 15 days.png'\r\n\r\nimport img7 from '../../assets/warehouse-assets/report-icons/svg/to be replanished.svg'\r\nimport img8 from '../../assets/warehouse-assets/report-icons/svg/registered assets.svg'\r\nimport img9 from '../../assets/warehouse-assets/report-icons/svg/registered inventory.svg'\r\nimport img10 from '../../assets/warehouse-assets/report-icons/svg/Inventory by value.svg'\r\nimport img11 from '../../assets/warehouse-assets/report-icons/svg/inventory by quantity.svg'\r\nimport img12 from '../../assets/warehouse-assets/report-icons/svg/vendor wise Inventory.svg'\r\nimport img13 from '../../assets/warehouse-assets/report-icons/svg/vendor wise asset.png'\r\nimport img14 from '../../assets/warehouse-assets/report-icons/svg/items replanished in last 15 days.png'\r\n\r\n\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nconst Reporting = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n return (\r\n\r\n <>\r\n
    \r\n

    \r\n Reporting\r\n

    \r\n {/* Super Admin */}\r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid)\r\n ?\r\n <>\r\n
    history.push('./report-warehouseinv')}>\r\n
    \r\n \r\n Inventory by warehouse \r\n
    \r\n \r\n
    \r\n
    history.push('./report-usersinv')}>\r\n
    \r\n \r\n Inventory by Users \r\n
    \r\n \r\n
    \r\n
    history.push('./report-usersinvvalue')}>\r\n
    \r\n \r\n Inventory value for each user \r\n
    \r\n \r\n
    \r\n
    history.push('./report-vendorinvvalue')}>\r\n
    \r\n \r\n Inventory vendors for each user \r\n
    \r\n \r\n
    \r\n
    history.push('./report-vendorassetvalue')}>\r\n
    \r\n \r\n Asset vendors for each user \r\n
    \r\n \r\n
    \r\n
    history.push('./report-replinisheditems')}>\r\n
    \r\n \r\n Items replenished in last 15 days \r\n
    \r\n \r\n
    \r\n \r\n :\r\n <>\r\n {/* Admin */}\r\n
    history.push('./replenisheditemreport')}>\r\n
    \r\n \r\n Replenished Item Report \r\n
    \r\n \r\n
    \r\n
    history.push('./report-registeredassets')}>\r\n
    \r\n \r\n Registered Assets \r\n
    \r\n \r\n
    \r\n
    history.push('./report-registeredinventory')}>\r\n
    \r\n \r\n Registered Inventory \r\n
    \r\n \r\n
    \r\n
    history.push('./inventoryvaluereport')}>\r\n
    \r\n \r\n Inventory by value \r\n
    \r\n \r\n
    \r\n
    history.push('./inventoryquantityreport')}>\r\n
    \r\n \r\n Inventory by quantity \r\n
    \r\n \r\n
    \r\n
    history.push('./report-vendorinventory')}>\r\n
    \r\n \r\n Vendor-wise Inventory \r\n
    \r\n \r\n
    \r\n
    history.push('./report-vendorasset')}>\r\n
    \r\n \r\n Vendor-wise Assets \r\n
    \r\n \r\n
    \r\n
    history.push('./report-borrowitems')}>\r\n
    \r\n \r\n Borrowed items by days \r\n
    \r\n \r\n
    \r\n \r\n }\r\n
    \r\n\r\n \r\n );\r\n};\r\n\r\nexport default Reporting","import React, { useState, useEffect, useContext, useRef } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { handlePutRequest } from \"../../services/PutTemplate\";\r\nimport { Tag } from \"primereact/tag\";\r\nimport { baseURL } from \"../../Config\";\r\nimport dp from '../../assets/warehouse-assets/dp.jpeg'\r\nimport { Image } from \"primereact/image\";\r\n\r\nconst ManageWarehouse = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [permissions, setPermissions] = useState([])\r\n const [isActive, setIsActive] = useState(false)\r\n const [allWH, setAllWH] = useState([]);\r\n const [acceptButtonClass, setAcceptButtonClass] = useState('p-button-danger');\r\n\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const actionTemplate = (rowData) => {\r\n const items = [\r\n {\r\n label: 'Edit',\r\n command: () => handleEditWH(rowData),\r\n },\r\n {\r\n label: rowData?.status == 1 ? 'Deactivate' : 'Activate',\r\n command: () => confirm(rowData),\r\n },\r\n ];\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n\r\n const confirm = (rowData) => {\r\n confirmDialog({\r\n message: rowData?.status == 1 ? 'Are you sure you want to deactivate this Warehouse?' : 'Are you sure you want to Activate this Warehouse?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: 'Yes',\r\n accept: () => {\r\n if (rowData?.status == 1) {\r\n handleDeactivateWH(rowData);\r\n } else {\r\n handleActivateWH(rowData);\r\n }\r\n },\r\n reject: () => {\r\n return null;\r\n },\r\n });\r\n };\r\n\r\n const handleDeactivateWH = async (rowData) => {\r\n\r\n let obj = {\r\n obj_id: rowData?.obj_id,\r\n p_isactive: 0,\r\n }\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, \"/api/Setups/Deletewarehouse\", true, true));\r\n if (response?.statusCode == 200) {\r\n await getWHList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const handleActivateWH = async (rowData) => {\r\n\r\n let obj = {\r\n obj_id: rowData?.obj_id,\r\n p_isactive: 1,\r\n }\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handlePutRequest(obj, `/api/Setups/Deletewarehouse`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getWHList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const handleEditWH = (rowData) => {\r\n const item = true;\r\n history.push({\r\n pathname: './addeditwarehouse',\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n }\r\n });\r\n };\r\n\r\n //Get WH List\r\n const getWHList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllWarehouse`, true));\r\n if (response) {\r\n setAllWH(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getWHList()\r\n }, [])\r\n\r\n const imageTemplate = (rowData) => {\r\n return (\r\n \r\n
    \r\n {rowData?.logo_img ?\r\n dp\r\n :\r\n dp\r\n }\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/warehouse\"));\r\n if (allPermModules) {\r\n setPermissions(allPermModules?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n <>\r\n
    \r\n

    \r\n Warehouse Management\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n {permissions.includes(2) ?\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './addeditwarehouse',\r\n state: {\r\n isEditable: item,\r\n }\r\n });\r\n }}\r\n />\r\n
    \r\n :\r\n null}\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n \r\n \r\n rowData?.warehouse_id || 'N/A'} header=\"Warehouse Id\">\r\n rowData?.obj_Name || 'N/A'} header=\"Warehouse Name\">\r\n (\r\n
    \r\n {
    \r\n {rowData?.warehouse_poc?.replace(/(.{25})/g, '$1\\n') || 'N/A'}\r\n
    }\r\n
    \r\n )}\r\n header=\"Warehouse POC\"\r\n >\r\n rowData?.contact_no || 'N/A'} header=\"Contact No.\">\r\n (\r\n
    \r\n {
    \r\n {rowData?.location?.replace(/(.{25})/g, '$1\\n') || 'N/A'}\r\n
    }\r\n
    \r\n )}\r\n header=\"Location\"\r\n >\r\n (\r\n \r\n )}\r\n header=\"Status\"\r\n />\r\n {permissions.includes(1) ?\r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ManageWarehouse","import React, { useEffect, useRef, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handlePostRequest } from '../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../services/PutTemplate';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useLocation } from 'react-router-dom/cjs/react-router-dom.min';\r\nimport { handleGetRequest } from '../../services/GetTemplate';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { baseURL } from '../../Config';\r\nimport { toast } from 'react-toastify';\r\nimport { TreeSelect } from 'primereact/treeselect';\r\n\r\nconst AddEditWarehouse = () => {\r\n\r\n const location = useLocation()\r\n const { isEditable, rowData } = location?.state;\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [WHStatus, setWHStatus] = useState()\r\n const [selectedFiles, setSelectedFiles] = useState([])\r\n const [allCountries, setAllCountries] = useState([])\r\n const [allModulesList, setAllModulesList] = useState([])\r\n\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n\r\n\r\n const history = useHistory()\r\n\r\n const dispatch = useDispatch()\r\n\r\n const validationSchema = Yup.object().shape({\r\n warehouse_id: Yup.mixed().required(\"This field is required.\"),\r\n warehouse_name: Yup.mixed().required(\"This field is required.\"),\r\n warehouse_poc: Yup.mixed().required(\"This field is required.\"),\r\n country_code: Yup.mixed().required(\"This field is required.\"),\r\n contact_no: Yup.mixed().required(\"This field is required.\"),\r\n // zip_code: Yup.mixed().required(\"This field is required.\"),\r\n // address: Yup.mixed().required(\"This field is required.\"),\r\n // location: Yup.mixed().required(\"This field is required.\"),\r\n });\r\n\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n warehouse_id: \"\",\r\n warehouse_name: \"\",\r\n warehouse_poc: \"\",\r\n contact_no: \"\",\r\n address: \"\",\r\n location: \"\",\r\n country_code: \"\",\r\n zip_code: \"\",\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n if (selectedFiles?.length === 0) {\r\n toast.warn('Please add logo')\r\n }\r\n else {\r\n\r\n if (isEditable) {\r\n setSaveBtnLoading(true);\r\n\r\n let obj = {\r\n obj_id: rowData?.obj_id,\r\n name: formik.values.warehouse_name,\r\n warehouse_id: formik.values.warehouse_id,\r\n warehouse_poc: formik.values.warehouse_poc,\r\n contact_no: formik.values.contact_no,\r\n address: formik.values.address,\r\n location: formik.values.location,\r\n country_id: formik.values.country_code,\r\n zip_code: formik.values.zip_code,\r\n attachments: selectedFiles,\r\n isActive: WHStatus,\r\n industry_ids: [\r\n 0\r\n ],\r\n }\r\n\r\n const response = await dispatch(handlePutRequest(obj, \"/api/Setups/UpdateWarehouse\", true, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./warehouse')\r\n setSaveBtnLoading(false);\r\n }\r\n setSaveBtnLoading(false);\r\n }\r\n else {\r\n setSaveBtnLoading(true);\r\n\r\n let obj = {\r\n name: formik.values.warehouse_name,\r\n warehouse_id: formik.values.warehouse_id,\r\n warehouse_poc: formik.values.warehouse_poc,\r\n contact_no: formik.values.contact_no,\r\n address: formik.values.address,\r\n location: formik.values.location,\r\n country_id: formik.values.country_code,\r\n zip_code: formik.values.zip_code,\r\n attachments: selectedFiles,\r\n industry_ids: [\r\n 0\r\n ],\r\n }\r\n\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Setups/AddWarehouse\", true, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./warehouse')\r\n setSaveBtnLoading(false);\r\n }\r\n\r\n setSaveBtnLoading(false);\r\n }\r\n }\r\n },\r\n });\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n const ResetForm = () => {\r\n formik.setFieldValue('warehouse_id', '')\r\n formik.setFieldValue('warehouse_name', '')\r\n formik.setFieldValue('warehouse_poc', '')\r\n formik.setFieldValue('contact_no', '')\r\n formik.setFieldValue('location', '')\r\n formik.setFieldValue('address', '')\r\n formik.setFieldValue('country_code', '')\r\n formik.setFieldValue('zip_code', '')\r\n }\r\n\r\n //Get WH By Id\r\n const getWHById = async (rowData) => {\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetWarehouseByid?obj_id=${rowData?.obj_id}`, false));\r\n const keyData = response[0]\r\n if (keyData) {\r\n setWHStatus(keyData?.status)\r\n formik.setFieldValue('warehouse_id', keyData?.warehouse_id)\r\n formik.setFieldValue('warehouse_name', keyData?.obj_Name)\r\n formik.setFieldValue('warehouse_poc', keyData?.warehouse_poc)\r\n formik.setFieldValue('contact_no', keyData?.contact_no)\r\n formik.setFieldValue('location', keyData?.location)\r\n formik.setFieldValue('address', keyData?.address)\r\n formik.setFieldValue('zip_code', keyData?.zip_code)\r\n formik.setFieldValue('country_code', keyData?.country_id)\r\n\r\n const selectedFiles = [];\r\n\r\n // Split the keydata.link by commas to get individual entries\r\n const path = keyData?.logo_img;\r\n if (path) {\r\n selectedFiles.push({ fileType: null, fileName: null, base64Data: null, attachment_type: null, path: path });\r\n }\r\n\r\n setSelectedFiles(selectedFiles);\r\n }\r\n setIsActive(false)\r\n };\r\n\r\n //Get Countries List\r\n const getCountriesList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllCountries`, true));\r\n if (response) {\r\n setAllCountries(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n //Get Modules List\r\n const getModulesList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/Getallmodulebylist?roletype_id=${roletypeid}`, true));\r\n if (response) {\r\n setAllModulesList(response);\r\n }\r\n setIsActive(false);\r\n };\r\n \r\n useEffect(() => {\r\n getCountriesList()\r\n getModulesList()\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (isEditable, rowData) {\r\n getWHById(rowData);\r\n }\r\n }, [isEditable, rowData]);\r\n\r\n // Generate WH Id\r\n const handleGenerateWHId = () => {\r\n const newWHId = generateRandomWHId();\r\n formik.setFieldValue('warehouse_id', newWHId);\r\n };\r\n\r\n const generateRandomWHId = () => {\r\n const prefix = \"wh-\";\r\n const length = 4;\r\n const charset = \"0123456789\";\r\n let userId = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n userId += charset[randomIndex];\r\n }\r\n\r\n return prefix + userId;\r\n };\r\n\r\n const countryOptionTemplate = (option) => {\r\n return (\r\n
    \r\n \r\n {option?.country_name}\r\n
    \r\n );\r\n };\r\n\r\n //File Handling\r\n // Function to handle icon click and file input creation\r\n const handleIconClick = () => {\r\n const fileInput = document.createElement('input');\r\n fileInput.type = 'file';\r\n fileInput.accept = 'image/*';\r\n fileInput.onchange = handleFileUpload; // Use handleFileUpload for file input change\r\n fileInput.click();\r\n };\r\n\r\n // Function to handle file upload\r\n const handleFileUpload = (event) => {\r\n const files = Array.from(event.target.files || event.files);\r\n const updatedFiles = files.map((file) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64String = reader.result;\r\n\r\n setSelectedFiles((prevFiles) => [\r\n { fileType: file.type, fileName: file.name, base64Data: base64String, attachment_type: \"images\", path: null }\r\n ]);\r\n };\r\n reader.readAsDataURL(file);\r\n return file;\r\n });\r\n };\r\n\r\n // Function to handle drag and drop file upload\r\n const handleDrop = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (event.dataTransfer.files && event.dataTransfer.files.length > 0) {\r\n handleFileUpload({ files: event.dataTransfer.files });\r\n event.dataTransfer.clearData();\r\n }\r\n };\r\n\r\n // Function to prevent default behavior on drag over\r\n const handleDragOver = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n\r\n // Function to remove a selected image file\r\n const handleRemoveImage = (file) => {\r\n setSelectedFiles([]);\r\n };\r\n\r\n return (\r\n\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n\r\n
    \r\n
    \r\n
    \r\n

    {isEditable ? \"Edit\" : \"Add New\"} Warehouse

    \r\n
    Add Details
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n Warehouse Logo\r\n This logo will be displayed on warehouse profile\r\n
    \r\n
    \r\n
    \r\n {selectedFiles?.length ?\r\n
    \r\n \"Uploaded\"\r\n \r\n
    \r\n :\r\n null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Click to Upload \r\n \r\n \r\n JPG or PNG (Recommended size 500x500px)\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n {getFormErrorMessage(\"warehouse_id\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"warehouse_name\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"warehouse_poc\")}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n formik.setFieldValue('country_code', e.value)}\r\n itemTemplate={countryOptionTemplate}\r\n />\r\n \r\n {getFormErrorMessage(\"country_code\")}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"contact_no\")}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"zip_code\")}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"location\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"address\")}\r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"address\")}\r\n \r\n
    \r\n
    */}\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default AddEditWarehouse","import React, { useState } from \"react\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport { Password } from \"primereact/password\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport loginImage from \"../../../assets/warehouse-assets/warehouse.png\"\r\nimport { handlePostRequest } from \"../../../services/PostTemplate\";\r\nimport { handleAuthRequest } from \"../../../services/Auth\";\r\n\r\nconst ForgotPassword = () => {\r\n\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const dispatch = useDispatch()\r\n const history = useHistory()\r\n\r\n const validationSchema = Yup.object().shape({\r\n email: Yup.mixed().required(\"This field is required.\"),\r\n });\r\n\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n email: \"\",\r\n },\r\n\r\n onSubmit: async (data) => {\r\n console.log(data)\r\n setSaveBtnLoading(true);\r\n let obj = {\r\n email: data?.email,\r\n }\r\n const response = await dispatch(handleAuthRequest(obj, \"/api/Authentication/ForgotPasswordEmail\", true, true));\r\n console.log(\"res\", response)\r\n if (response?.statusCode == 200) {\r\n setSaveBtnLoading(false)\r\n }\r\n else {\r\n setSaveBtnLoading(false)\r\n }\r\n },\r\n });\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n \r\n \r\n\r\n return (\r\n\r\n <>\r\n
    \r\n
    \r\n \"Image\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    WareHouse MS

    \r\n

    Forgot Your Password

    \r\n
    No Worries! Just enter your email and we'll assist you.
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n );\r\n};\r\n\r\nexport default ForgotPassword;\r\n","import React, { useLayoutEffect, useState } from \"react\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport { Password } from \"primereact/password\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useHistory,useLocation } from \"react-router-dom\";\r\nimport { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport loginImage from \"../../../assets/warehouse-assets/warehouse.png\"\r\nimport { handlePostRequest } from \"../../../services/PostTemplate\";\r\nimport { toast } from \"react-toastify\";\r\nimport { handleAuthRequest } from \"../../../services/Auth\";\r\n\r\nconst ResetPassword = () => {\r\n\r\n const {search }= useLocation();\r\n const query = new URLSearchParams(search);\r\n const token = query?.get('token')\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const dispatch = useDispatch()\r\n const history = useHistory()\r\n\r\n const validationSchema = Yup.object().shape({\r\n password: Yup.mixed().required(\"This field is required.\"),\r\n confirmPassword: Yup.mixed().required(\"This field is required.\"),\r\n });\r\n\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n password: '',\r\n confirmPassword: '',\r\n },\r\n onSubmit: async (data) => {\r\n\r\n\r\n if (data?.password === data?.confirmPassword) {\r\n setSaveBtnLoading(true);\r\n let obj = {\r\n newPassword:data?.confirmPassword,\r\n user_token:token\r\n }\r\n setSaveBtnLoading(false)\r\n const response = await dispatch(handleAuthRequest(obj, \"/api/Authentication/ResetPassword\", true, true));\r\n if (response?.statusCode == 200) {\r\n setSaveBtnLoading(false)\r\n }\r\n else {\r\n setSaveBtnLoading(false)\r\n }\r\n } else {\r\n toast.warn(\"Password entered didn't match\")\r\n }\r\n\r\n },\r\n });\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n useLayoutEffect(()=>{\r\n if(!token){\r\n history.goBack()\r\n }\r\n },[token])\r\n\r\n\r\n return (\r\n\r\n <>\r\n
    \r\n
    \r\n \"Image\r\n {/* */}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    WareHouse MS

    \r\n

    Reset Your Password

    \r\n
    Time for a fresh start! Go ahead and set a new password.
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n );\r\n};\r\n\r\nexport default ResetPassword;\r\n","import { baseURL } from \"../Config\";\r\nimport axios from \"axios\";\r\nimport { toast } from \"react-toastify\";\r\nimport { loadingAction } from \"../redux/actions/loadingAction\";\r\n\r\nexport const handlePostRequestFormData =\r\n (data, url, isShowLoad = false, isShowToast = true) =>\r\n async (dispatch) => {\r\n // data = await trimData(data);\r\n try {\r\n if (isShowLoad) dispatch(loadingAction(true));\r\n const response = await axios({\r\n method: \"post\",\r\n url: `${baseURL + url}`,\r\n data: data,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`,\r\n\r\n },\r\n });\r\n if (isShowToast) toast.success(response?.data?.body || response?.data?.statusMessage || response?.data?.message);\r\n if (isShowLoad) dispatch(loadingAction(false));\r\n return response?.data;\r\n } catch (error) {\r\n if (isShowLoad) dispatch(loadingAction(false));\r\n if (error?.response?.status === 400 || error?.response?.status === 500) {\r\n toast.warn(error?.response?.data?.statusMessage || \"Something went wrong !!\");\r\n } else {\r\n toast.warn(error?.response?.data?.statusMessage || \"Something went wrong !!\");\r\n }\r\n return error?.response;\r\n }\r\n };\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { handleGetRequest } from '../../services/GetTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { handlePostRequestFormData } from '../../services/PostFormDataTemplate';\r\nimport { baseURL } from '../../Config';\r\n\r\nconst EditUsersSuperAdmin = () => {\r\n\r\n const location = useLocation();\r\n const { isEditable, rowData, superAdminActive } = location?.state;\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [allRoles, setAllRoles] = useState([])\r\n const [userTypes, setUserTypes] = useState([])\r\n const [warehouseData, setWarehouseData] = useState([])\r\n const [userTypeAs, setUserTypeAs] = useState(1);\r\n const [fileInfo, setFileInfo] = useState(null);\r\n const [showImage, setShowImage] = useState('');\r\n const [editableRemoved, setEditableRemoved] = useState(false);\r\n const [myStatus, setMyStatus] = useState();\r\n\r\n const [systemUser, setSystemUser] = useState(false);\r\n const [WHAdmin, setWHAdmin] = useState(false);\r\n const [WhAdminUser, setWHAdminUser] = useState(false);\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n //WH Admin\r\n const validationSchema = roletypeid == '2' && usertype_id == 2 && warehouseid\r\n ? Yup.object().shape({\r\n user_id: Yup.string().required(\"This field is required.\"),\r\n user_name: Yup.string().required(\"This field is required.\"),\r\n email: Yup.string().required(\"This field is required.\"),\r\n role: Yup.string().required(\"This field is required.\"),\r\n rfid_code: Yup.string().required(\"This field is required.\"),\r\n contact: Yup.string().required(\"This field is required.\"),\r\n })\r\n //Super Admin for UserType Warehouse\r\n : (roletypeid == '1' && userTypeAs == 2) || (roletypeid === '2' && userTypeAs == 2)\r\n ? Yup.object().shape({\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n warehouse_id: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string().required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n })\r\n //Super Admin for Usertype System User\r\n : (roletypeid == '1' && userTypeAs == 0 && !warehouseid) ?\r\n Yup.object().shape({\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n warehouse_id: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string().required(\"This field is required.\"),\r\n role_2: Yup.string().required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n rfid_code_2: Yup.string().required(\"This field is required.\"),\r\n })\r\n //System User\r\n : (roletypeid == '2' && userTypeAs == 1) || (roletypeid === '2' && !userTypeAs)\r\n ? Yup.object().shape({\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string().required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n role_2: Yup.string().required(\"This field is required.\"),\r\n rfid_code_2: Yup.string().required(\"This field is required.\"),\r\n })\r\n\r\n // Super Admin login Adding System User\r\n : (roletypeid == '1' && userTypeAs == 1 && usertype_id == '0')\r\n ? Yup.object().shape({\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string().required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n role_2: Yup.string().required(\"This field is required.\"),\r\n rfid_code_2: Yup.string().required(\"This field is required.\"),\r\n })\r\n : null;\r\n\r\n\r\n const formik = useFormik({\r\n // validationSchema: validationSchema,\r\n initialValues: {\r\n // For Admin\r\n user_id: \"\",\r\n user_name: \"\",\r\n email: \"\",\r\n rfid_code: \"\",\r\n role: \"\",\r\n contact: \"\",\r\n\r\n // For Super Admin (WH Admin)\r\n user_type_id: 1,\r\n warehouse_id: \"\",\r\n user_name_2: \"\",\r\n email_2: \"\",\r\n contact_2: \"\",\r\n user_id2: \"\",\r\n\r\n // For Super Admin (Users)\r\n rfid_code_2: \"\",\r\n role_2: \"\",\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n let formData = new FormData();\r\n let formData2 = new FormData();\r\n let formData3 = new FormData();\r\n\r\n if ((fileInfo && isEditable === false) || (fileInfo && isEditable === true && editableRemoved) || (fileInfo && isEditable === true && !showImage)) {\r\n formData.append('image', fileInfo.file);\r\n formData2.append('image', fileInfo.file);\r\n formData3.append('image', fileInfo.file);\r\n }\r\n // else if (fileInfo && isEditable === true) {\r\n // formData.append('image', 'unchanged');\r\n // formData2.append('image', 'unchanged');\r\n // formData3.append('image', 'unchanged');\r\n // }\r\n\r\n if (isEditable) {\r\n\r\n //For WH Admin User\r\n formData.append('p_id', parseInt(rowData?.id));\r\n formData.append('User_id', parseInt(formik.values.user_id));\r\n formData.append('User_Name', formik.values.user_name);\r\n formData.append('User_Email', formik.values.email);\r\n formData.append('RFID_code', formik.values.rfid_code);\r\n formData.append('Role_id', formik.values.role);\r\n formData.append('contact_number', formik.values.contact);\r\n formData.append('Status_id', myStatus);\r\n formData.append('roletype_id', !isNaN(parseInt(roletypeid)) ? parseInt(roletypeid) : 0);\r\n formData.append('warehouse_id', formik.values.warehouse_id);\r\n formData.append(\r\n 'usertypeid',\r\n roletypeid == '2' && usertype_id == 2 && warehouseid ? 1 : !isNaN(parseInt(usertype_id)) ? parseInt(usertype_id) : 0\r\n );\r\n formData.append('CreatedBy', !isNaN(parseInt(user_id)) ? parseInt(user_id) : 0);\r\n formData.append('image', `${baseURL}${showImage}`)\r\n\r\n //For WH ADMIN\r\n formData2.append('p_id', parseInt(rowData?.id));\r\n formData2.append('User_id', parseInt(formik.values.user_id2));\r\n formData2.append('usertypeid', parseInt(formik.values.user_type_id));\r\n formData2.append('User_Name', formik.values.user_name_2);\r\n formData2.append('User_Email', formik.values.email_2);\r\n formData2.append('contact_number', formik.values.contact_2);\r\n formData2.append('warehouse_id', formik.values.warehouse_id);\r\n formData2.append('Status_id', myStatus);\r\n formData2.append('RFID_code', 0);\r\n formData2.append('roletype_id', !isNaN(parseInt(roletypeid)) ? parseInt(roletypeid) : 0);\r\n // formData2.append('usertypeid', !isNaN(parseInt(usertype_id)) ? parseInt(usertype_id) : 0);\r\n formData2.append('CreatedBy', !isNaN(parseInt(user_id)) ? parseInt(user_id) : 0);\r\n formData2.append('image', `${baseURL}${showImage}`)\r\n\r\n //For Super Admin System Users\r\n formData3.append('p_id', parseInt(rowData?.id));\r\n formData3.append('User_id', parseInt(formik.values.user_id2));\r\n formData3.append('usertypeid', parseInt(formik.values.user_type_id));\r\n formData3.append('User_Name', formik.values.user_name_2);\r\n formData3.append('User_Email', formik.values.email_2);\r\n formData3.append('contact_number', formik.values.contact_2);\r\n formData3.append('RFID_code', formik.values.rfid_code_2);\r\n formData3.append('Role_id', formik.values.role_2);\r\n formData3.append('Status_id', myStatus);\r\n formData3.append('roletype_id', !isNaN(parseInt(roletypeid)) ? parseInt(roletypeid) : 0);\r\n // formData3.append('usertypeid', !isNaN(parseInt(usertype_id)) ? parseInt(usertype_id) : 0);\r\n formData3.append('CreatedBy', !isNaN(parseInt(user_id)) ? parseInt(user_id) : 0);\r\n formData3.append('image', `${baseURL}${showImage}`)\r\n\r\n setSaveBtnLoading(true);\r\n\r\n let response;\r\n response = await dispatch(handlePostRequestFormData(\r\n WHAdmin === true && WhAdminUser === false && systemUser === false ? formData2 :\r\n WHAdmin === false && WhAdminUser === false && systemUser === true ? formData3 :\r\n WHAdmin === false && WhAdminUser === true && systemUser === false ? formData :\r\n null,\r\n \"/api/Authentication/UpdatenewUser\",\r\n true,\r\n true\r\n ));\r\n\r\n if (response?.statusCode == 200) {\r\n history.push('./users')\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n }\r\n setSaveBtnLoading(false);\r\n }\r\n\r\n else {\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n //Get All Users\r\n const getUserList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/GetAllUsers?roletype_id=${roletypeid}&usertype_id=${usertype_id}&warehouse_id=${warehouseid || 0}`, false));\r\n setIsActive(false);\r\n };\r\n\r\n\r\n //Get User By Id\r\n const getUserById = async (rowData) => {\r\n\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/GetUserByid?p_id=${rowData?.id}`, true));\r\n\r\n const imagePath = response[0]?.p_image && response[0]?.p_image !== '' ? response[0]?.p_image : null;\r\n setShowImage(response[0]?.p_image ? response[0]?.p_image : '')\r\n // const formData = new FormData();\r\n\r\n if (imagePath) {\r\n fetch(imagePath)\r\n .then(response => response.blob())\r\n .then(blob => {\r\n const blobURL = URL.createObjectURL(blob);\r\n\r\n // Get the complete file name from the path\r\n const fileName = imagePath.substring(imagePath.lastIndexOf('/') + 1);\r\n // Add \"Profile_Image_\" before the file name\r\n const modifiedFileName = 'Profile_Image/' + fileName;\r\n // Determine the file extension\r\n const format = fileName.split('.').pop().toLowerCase();\r\n // Set the correct MIME type for the file\r\n const fileType = `image/${format === 'jpg' ? 'jpeg' : format}`;\r\n\r\n // Create the File object with the blob, retaining the modified file name and type\r\n const file = new File([blob], modifiedFileName, { type: fileType });\r\n // Append the file to the FormData object\r\n const formData = new FormData();\r\n setFileInfo(file)\r\n formData.append('image', file);\r\n\r\n URL.revokeObjectURL(blobURL);\r\n })\r\n .catch(error => {\r\n console.error('Error fetching image:', error);\r\n });\r\n }\r\n\r\n\r\n const keyData = response[0]\r\n\r\n if (keyData) {\r\n\r\n //Super Admin Login Cases\r\n if (keyData?.p_roletype_id == 2 && keyData?.p_usertypeid == 2 && keyData?.p_warehouse_id !== 0 && superAdminActive && isEditable) {\r\n setSystemUser(false)\r\n setWHAdmin(true)\r\n setWHAdminUser(false)\r\n setUserTypeAs(keyData?.p_usertypeid)\r\n setMyStatus(keyData?.p_isActive)\r\n\r\n formik.setFieldValue('user_type_id', keyData?.p_usertypeid)\r\n formik.setFieldValue('warehouse_id', keyData?.p_warehouse_id)\r\n formik.setFieldValue('contact_2', keyData?.p_contactNumber)\r\n formik.setFieldValue('user_name_2', keyData?.p_user_name)\r\n formik.setFieldValue('email_2', keyData?.p_User_Email)\r\n formik.setFieldValue('user_id2', keyData?.p_User_id)\r\n\r\n }\r\n\r\n else if (keyData?.p_roletype_id == 2 && keyData?.p_usertypeid == 1 && keyData?.p_warehouse_id !== 0 && superAdminActive && isEditable) {\r\n setSystemUser(false)\r\n setWHAdmin(false)\r\n setWHAdminUser(true)\r\n setUserTypeAs(keyData?.p_usertypeid)\r\n setMyStatus(keyData?.p_isActive)\r\n\r\n formik.setFieldValue('user_id', keyData?.p_User_id)\r\n formik.setFieldValue('user_name', keyData?.p_user_name)\r\n formik.setFieldValue('email', keyData?.p_User_Email)\r\n formik.setFieldValue('rfid_code', keyData?.p_RFID_code)\r\n formik.setFieldValue('contact', keyData?.p_contactNumber)\r\n formik.setFieldValue('role', keyData?.p_Role_id)\r\n formik.setFieldValue('warehouse_id', keyData?.p_warehouse_id)\r\n\r\n }\r\n\r\n else if (keyData?.p_roletype_id == 2 && keyData?.p_usertypeid == 1 && keyData?.p_warehouse_id === 0 && superAdminActive && isEditable) {\r\n setSystemUser(true)\r\n setWHAdmin(false)\r\n setWHAdminUser(false)\r\n setUserTypeAs(keyData?.p_usertypeid)\r\n setMyStatus(keyData?.p_isActive)\r\n\r\n formik.setFieldValue('user_id2', keyData?.p_User_id)\r\n formik.setFieldValue('user_name_2', keyData?.p_user_name)\r\n formik.setFieldValue('email_2', keyData?.p_User_Email)\r\n formik.setFieldValue('rfid_code_2', keyData?.p_RFID_code)\r\n formik.setFieldValue('contact_2', keyData?.p_contactNumber)\r\n formik.setFieldValue('role_2', keyData?.p_Role_id)\r\n }\r\n }\r\n };\r\n\r\n const ResetForm = () => {\r\n formik.setFieldValue('user_id2', '')\r\n formik.setFieldValue('user_id', '')\r\n formik.setFieldValue('user_name', '')\r\n formik.setFieldValue('email', '')\r\n formik.setFieldValue('rfid_code', '')\r\n formik.setFieldValue('role', '')\r\n formik.setFieldValue('contact', '')\r\n formik.setFieldValue('user_type_id', '')\r\n formik.setFieldValue('warehouse_id', '')\r\n formik.setFieldValue('user_name_2', '')\r\n formik.setFieldValue('email_2', '')\r\n formik.setFieldValue('contact_2', '')\r\n formik.setFieldValue('rfid_code_2', '')\r\n formik.setFieldValue('role_2', '')\r\n setFileInfo(null)\r\n }\r\n\r\n useEffect(() => {\r\n if (isEditable, rowData) {\r\n getUserById(rowData);\r\n }\r\n }, [isEditable, rowData]);\r\n\r\n const getAllRoles = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/getAllRole?rid=${2}&uid=${formik.values.user_type_id || 0}&wid=${formik?.values?.warehouse_id || 0}`, true));\r\n if (response) {\r\n setAllRoles(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const getUserTypes = async () => {\r\n\r\n setIsActive(true);\r\n const res = await dispatch(handleGetRequest(\"/api/Authentication/UserType\", true));\r\n if (res) {\r\n setUserTypes(res);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const getWarehouseData = async () => {\r\n\r\n setIsActive(true);\r\n const res = await dispatch(handleGetRequest(\"/api/Authentication/Warehouse\", true));\r\n if (res) {\r\n setWarehouseData(res);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getUserTypes()\r\n getWarehouseData()\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (formik.values.warehouse_id || formik.values.user_type_id) {\r\n getAllRoles()\r\n }\r\n }, [formik.values.warehouse_id, formik.values.user_type_id])\r\n\r\n //File Handling\r\n const handleIconClick = () => {\r\n const fileInput = document.createElement('input');\r\n fileInput.type = 'file';\r\n fileInput.accept = 'image/*';\r\n fileInput.onchange = handleChange;\r\n fileInput.click();\r\n };\r\n\r\n const handleChange = (event) => {\r\n processFile(event.target.files[0]);\r\n };\r\n\r\n const handleDrop = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (event.dataTransfer.files && event.dataTransfer.files.length > 0) {\r\n processFile(event.dataTransfer.files[0]);\r\n event.dataTransfer.clearData();\r\n }\r\n };\r\n\r\n const handleDragOver = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n\r\n const processFile = (event) => {\r\n const file = event;\r\n if (file) {\r\n const objectURL = URL.createObjectURL(file);\r\n setFileInfo({\r\n file: file, // Storing the actual File object\r\n objectURL: objectURL,\r\n lastModified: file.lastModified,\r\n lastModifiedDate: file.lastModifiedDate,\r\n name: file.name,\r\n size: file.size,\r\n type: file.type,\r\n webkitRelativePath: file.webkitRelativePath || \"\"\r\n });\r\n }\r\n };\r\n\r\n const handleRemoveImage = () => {\r\n if (showImage) {\r\n URL.revokeObjectURL(fileInfo.objectURL); // Free up memory by releasing object URL\r\n setShowImage('')\r\n setEditableRemoved(true)\r\n }\r\n if (fileInfo) {\r\n URL.revokeObjectURL(fileInfo.objectURL); // Free up memory by releasing object URL\r\n setShowImage('')\r\n }\r\n setFileInfo(null);\r\n };\r\n\r\n //Generate User Id\r\n const handleGenerateUserId = () => {\r\n const newUserId = generateRandomUserId();\r\n formik.setFieldValue('user_id', newUserId);\r\n };\r\n\r\n const generateRandomUserId = () => {\r\n const length = 4;\r\n const charset = \"0123456789\";\r\n let userId = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n userId += charset[randomIndex];\r\n }\r\n\r\n return userId;\r\n };\r\n\r\n const handleGenerateUserId2 = () => {\r\n const newUserId = generateRandomUserId2();\r\n formik.setFieldValue('user_id2', newUserId);\r\n };\r\n\r\n const generateRandomUserId2 = () => {\r\n const length = 4;\r\n const charset = \"0123456789\";\r\n let userId = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n userId += charset[randomIndex];\r\n }\r\n\r\n return userId;\r\n };\r\n\r\n //Generate RFID Code\r\n const handleGenerateCode = () => {\r\n const newCode = generateRandomCode();\r\n formik.setFieldValue('rfid_code', newCode);\r\n };\r\n\r\n const generateRandomCode = () => {\r\n const length = 10;\r\n const charset = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";\r\n let code = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n code += charset[randomIndex];\r\n }\r\n return code;\r\n };\r\n\r\n //Generate RFID Code 2\r\n const handleGenerateCode2 = () => {\r\n const newCode = generateRandomCode2();\r\n formik.setFieldValue('rfid_code_2', newCode);\r\n };\r\n\r\n const generateRandomCode2 = () => {\r\n const length = 10;\r\n const charset = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";\r\n let code = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n code += charset[randomIndex];\r\n }\r\n return code;\r\n };\r\n\r\n return (\r\n\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n
    \r\n
    \r\n
    \r\n

    {isEditable ? 'Edit User' : 'Add New User'}

    \r\n
    Add Details
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Profile Photo\r\n This image will be displayed on your profile\r\n
    \r\n
    \r\n
    \r\n {fileInfo || showImage ?\r\n
    \r\n \"Uploaded\"\r\n \r\n
    \r\n :\r\n null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Click to Upload or drag and drop\r\n \r\n \r\n JPG or PNG (Recommended size 500x500px)\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {(WhAdminUser === false && systemUser === true) || (WhAdminUser === false && WHAdmin === true) ?\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n {\r\n formik.handleChange(e);\r\n setUserTypeAs(e.value); // Assuming e.value corresponds to the selected value in the dropdown\r\n }}\r\n className=\"p-inputtext-sm\"\r\n autoComplete=\"off\"\r\n >\r\n\r\n \r\n {getFormErrorMessage(\"user_type_id\")}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {formik.values.user_type_id == 2 ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"warehouse_id\")}\r\n \r\n
    \r\n :\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"user_name_2\")}\r\n \r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n {formik.values.user_type_id == 2 ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"contact_2\")}\r\n \r\n
    \r\n :\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"rfid_code_2\")}\r\n
    \r\n
    \r\n }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {formik.values.user_type_id == 1 || formik.values.user_type_id === '' ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"role_2\")}\r\n \r\n
    \r\n :\r\n formik.values.user_type_id === 2 ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"user_name_2\")}\r\n \r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"email_2\")}\r\n \r\n
    \r\n
    \r\n
    \r\n {formik.values.user_type_id !== 2 ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"contact_2\")}\r\n \r\n
    \r\n :\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"user_id2\")}\r\n
    \r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n\r\n {systemUser == true && WHAdmin == false && WhAdminUser == false\r\n ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"user_id2\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n :\r\n null}\r\n\r\n \r\n :\r\n null}\r\n\r\n {WhAdminUser && systemUser === false && WHAdmin === false ?\r\n <>\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n {\r\n formik.handleChange(e);\r\n setUserTypeAs(e.value); // Assuming e.value corresponds to the selected value in the dropdown\r\n }}\r\n className=\"p-inputtext-sm\"\r\n autoComplete=\"off\"\r\n >\r\n\r\n \r\n {getFormErrorMessage(\"user_type_id\")}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"warehouse_id\")}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"role\")}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"user_id\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"user_name\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"email\")}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"rfid_code\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"contact\")}\r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n :\r\n null\r\n }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default EditUsersSuperAdmin","import React, { useState, useEffect, useContext, useRef } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { handlePutRequest } from \"../../services/PutTemplate\";\r\nimport { Tag } from \"primereact/tag\";\r\nimport * as XLSX from 'xlsx';\r\n\r\nconst ManageVendor = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [isActive, setIsActive] = useState(false)\r\n const [allVendors, setAllVendors] = useState([]);\r\n const [permissions, setPermissions] = useState([]);\r\n const [acceptButtonClass, setAcceptButtonClass] = useState('p-button-danger');\r\n\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n const items = [];\r\n\r\n if ((roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid)) {\r\n items.push({\r\n label: 'View',\r\n command: () => handleViewVendor(rowData),\r\n });\r\n } else {\r\n items.push(\r\n {\r\n label: 'Edit',\r\n command: () => handleEditVendor(rowData),\r\n },\r\n {\r\n label: rowData?.status == 1 ? 'Deactivate' : 'Activate',\r\n command: () => confirm(rowData),\r\n }\r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const confirm = (rowData) => {\r\n confirmDialog({\r\n message: rowData?.status == 1 ? 'Are you sure you want to deactivate this Vendor?' : 'Are you sure you want to Activate this Vendor?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: 'Yes',\r\n accept: () => {\r\n if (rowData?.status == 1) {\r\n handleDeactivateWH(rowData);\r\n } else {\r\n handleActivateWH(rowData);\r\n }\r\n },\r\n reject: () => {\r\n return null;\r\n },\r\n });\r\n };\r\n\r\n const handleDeactivateWH = async (rowData) => {\r\n\r\n const obj = {\r\n obj_id: rowData?.obj_id,\r\n name: rowData?.obj_Name,\r\n description: rowData?.obj_Description,\r\n warehouse_id: rowData?.warehouse_id,\r\n address: rowData?.address,\r\n contact_no: rowData?.contact_no,\r\n email: rowData?.email,\r\n company: rowData?.company,\r\n isActive: 0\r\n }\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, \"/api/Setups/UpdateVendor\", true, true));\r\n if (response?.statusCode == 200) {\r\n await getVendorList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const handleActivateWH = async (rowData) => {\r\n\r\n const obj = {\r\n obj_id: rowData?.obj_id,\r\n name: rowData?.obj_Name,\r\n description: rowData?.obj_Description,\r\n warehouse_id: rowData?.warehouse_id,\r\n address: rowData?.address,\r\n contact_no: rowData?.contact_no,\r\n email: rowData?.email,\r\n company: rowData?.company,\r\n isActive: 1\r\n }\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handlePutRequest(obj, `/api/Setups/UpdateVendor`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getVendorList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const handleEditVendor = (rowData) => {\r\n const view = false;\r\n const item = true;\r\n history.push({\r\n pathname: './addeditvendor',\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n isView: view\r\n }\r\n });\r\n };\r\n\r\n const handleViewVendor = (rowData) => {\r\n const item = true;\r\n const view = true;\r\n history.push({\r\n pathname: './addeditvendor',\r\n state: {\r\n isEditable: item,\r\n isView: view,\r\n rowData: rowData,\r\n }\r\n });\r\n };\r\n\r\n const exportExcel = () => {\r\n const filteredData = allVendors?.map(({ obj_id, warehouse_id, status, ...rest }) => ({\r\n ...rest,\r\n status: status === 1 ? 'Active' : 'Inactive', // Replace status value\r\n }));\r\n \r\n // Convert the filtered data to a worksheet\r\n const worksheet = XLSX.utils.json_to_sheet(filteredData);\r\n const workbook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(workbook, worksheet, \"Items\");\r\n \r\n // Create the Excel file and trigger the download\r\n XLSX.writeFile(workbook, \"vendorsList.xlsx\");\r\n };\r\n \r\n //Get Vendor List\r\n const getVendorList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllVendor?warehouse_id=${warehouseid || 0}`, true));\r\n if (response) {\r\n setAllVendors(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getVendorList()\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.contentName?.includes(\"Setups\"));\r\n if (allPermModules) {\r\n const result = allPermModules?.submodules?.find(item => item?.routepath == \"/vendor\")\r\n setPermissions(result?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n\r\n }, []);\r\n\r\n return (\r\n <>\r\n\r\n
    \r\n

    \r\n Vendor Setup\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ?\r\n null\r\n :\r\n permissions.includes(2) ?\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './addeditvendor',\r\n state: {\r\n isEditable: item,\r\n }\r\n });\r\n }}\r\n />\r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n \r\n rowData?.obj_Name || 'N/A'} header=\"Vendor Name\">\r\n rowData?.email || 'N/A'} header=\"Email\">\r\n rowData?.contact_no || 'N/A'} header=\"Contact No.\">\r\n rowData?.company || 'N/A'} header=\"Company\">\r\n (\r\n \r\n )}\r\n header=\"Status\"\r\n />\r\n rowData?.createddatetime || 'N/A'} header=\"Date & Time\">\r\n {permissions.includes(1) ?\r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ManageVendor","import React, { useState, useEffect, useContext, useRef } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { handlePutRequest } from \"../../services/PutTemplate\";\r\nimport { handleDeleteRequest } from \"../../services/DeleteTemplate\";\r\nimport { Tag } from \"primereact/tag\";\r\n\r\nconst ManageBrand = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [isActive, setIsActive] = useState(false)\r\n const [allBrands, setAllBrands] = useState([]);\r\n const [permissions, setPermissions] = useState([]);\r\n const [acceptButtonClass, setAcceptButtonClass] = useState('p-button-danger');\r\n\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n const items = [];\r\n\r\n if ((roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid)) {\r\n items.push({\r\n label: 'View',\r\n command: () => handleViewBrand(rowData),\r\n });\r\n } else {\r\n items.push(\r\n {\r\n label: 'Edit',\r\n command: () => handleEditBrand(rowData),\r\n },\r\n {\r\n label: rowData?.status === 1 ? 'Deactivate' : 'Activate',\r\n command: () => confirm(rowData),\r\n }\r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const confirm = (rowData) => {\r\n\r\n confirmDialog({\r\n message: rowData?.status == 1 ? 'Are you sure you want to deactivate this Brand?' : 'Are you sure you want to Activate this Brand?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: 'Yes',\r\n accept: () => {\r\n if (rowData?.status == 1) {\r\n handleDeactivateBrand(rowData);\r\n } else {\r\n handleActivateBrand(rowData);\r\n }\r\n },\r\n reject: () => {\r\n return null;\r\n },\r\n });\r\n\r\n };\r\n\r\n const handleDeactivateBrand = async (rowData) => {\r\n\r\n const obj = {\r\n obj_id: rowData?.obj_id,\r\n Name: rowData?.obj_Name,\r\n Description: rowData?.obj_Description,\r\n IsActive: 0,\r\n };\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, `/api/Setups/UpdateBrand`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getBrandList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const handleActivateBrand = async (rowData) => {\r\n\r\n const obj = {\r\n obj_id: rowData?.obj_id,\r\n Name: rowData?.obj_Name,\r\n Description: rowData?.obj_Description,\r\n IsActive: 1,\r\n };\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, `/api/Setups/UpdateBrand`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getBrandList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const handleEditBrand = (rowData) => {\r\n const view = false;\r\n const item = true;\r\n history.push({\r\n pathname: './addeditbrand',\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n isView: view,\r\n }\r\n });\r\n };\r\n\r\n const handleViewBrand = (rowData) => {\r\n const item = true;\r\n const view = true;\r\n history.push({\r\n pathname: './addeditbrand',\r\n state: {\r\n isEditable: item,\r\n isView: view,\r\n rowData: rowData,\r\n }\r\n });\r\n };\r\n\r\n //Get All Brand List\r\n const getBrandList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Setups/getAllBrand?warehouse_id=${warehouseid || 0}`, true));\r\n if (response) {\r\n setAllBrands(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getBrandList()\r\n }, [])\r\n\r\n\r\n const rowIndexTemplate = (rowData, props) => {\r\n let index = parseInt(props.rowIndex + 1, 10);\r\n return (\r\n \r\n {index}\r\n \r\n );\r\n };\r\n\r\n useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.contentName?.includes(\"Setups\"));\r\n if (allPermModules) {\r\n const result = allPermModules?.submodules?.find(item => item?.routepath == \"/brand\")\r\n setPermissions(result?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n\r\n }, []);\r\n\r\n return (\r\n <>\r\n
    \r\n

    \r\n Brand Setup\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ?\r\n null\r\n :\r\n permissions.includes(2) ?\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './addeditbrand',\r\n state: {\r\n isEditable: item,\r\n }\r\n });\r\n }}\r\n />\r\n
    \r\n :\r\n null\r\n\r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n \r\n \r\n rowData?.obj_Name || 'N/A'} header=\"Brand Name\">\r\n {/* (\r\n <>\r\n
    \r\n {rowData?.obj_Description?.replace(/(.{25})/g, '$1\\n') || 'N/A'}\r\n
    \r\n \r\n )}\r\n header=\"Description\" /> */}\r\n (\r\n \r\n )}\r\n header=\"Status\"\r\n />\r\n rowData?.createddatetime || 'N/A'} header=\"Date & Time\">\r\n {permissions.includes(1) ?\r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\n\r\nexport default ManageBrand","import { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { InputTextarea } from 'primereact/inputtextarea';\r\nimport React, { useEffect, useState } from 'react'\r\nimport LoadingOverlay from 'react-loading-overlay'\r\nimport { useLocation } from 'react-router-dom/cjs/react-router-dom';\r\nimport { useHistory } from 'react-router-dom/cjs/react-router-dom.min';\r\nimport { handlePostRequest } from '../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../services/PutTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handleGetRequest } from '../../services/GetTemplate';\r\n\r\nfunction AddEditVendor() {\r\n\r\n const [isActive, setIsActive] = useState(false);\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n\r\n const location = useLocation();\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const { isEditable, rowData, isView } = location?.state;\r\n\r\n const validationSchema = Yup.object().shape({\r\n name: Yup.mixed().required(\"This field is required.\"),\r\n email: Yup.string()\r\n .matches(/.*\\..*/, \"Please enter a valid email\")\r\n .required(\"This field is required.\"),\r\n company_name: Yup.mixed().required(\"This field is required.\"),\r\n\r\n });\r\n\r\n const formik = useFormik({\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n name: \"\",\r\n address: \"\",\r\n email: \"\",\r\n contact_number: \"\",\r\n company_name: \"\",\r\n add_note: \"\",\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n if (isEditable) {\r\n setSaveBtnLoading(true);\r\n\r\n const obj = {\r\n obj_id: rowData?.obj_id,\r\n name: formik.values.name,\r\n description: formik.values.add_note,\r\n warehouse_id: warehouseid,\r\n address: formik.values.address,\r\n contact_no: formik.values.contact_number,\r\n email: formik.values.email,\r\n company: formik.values.company_name,\r\n isActive: rowData?.status\r\n }\r\n\r\n const response = await dispatch(handlePutRequest(obj, \"/api/Setups/UpdateVendor\", true, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./vendor')\r\n setSaveBtnLoading(false);\r\n }\r\n }\r\n else {\r\n setSaveBtnLoading(true);\r\n\r\n const obj = {\r\n name: formik.values.name,\r\n description: formik.values.add_note,\r\n warehouse_id: warehouseid,\r\n address: formik.values.address,\r\n contact_no: formik.values.contact_number,\r\n email: formik.values.email,\r\n company: formik.values.company_name,\r\n }\r\n\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Setups/AddVendor\", true, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./vendor')\r\n setSaveBtnLoading(false);\r\n }\r\n\r\n setSaveBtnLoading(false);\r\n }\r\n },\r\n })\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n const ResetForm = (e) => {\r\n e.preventDefault()\r\n formik.setValues({\r\n name: \"\",\r\n address: \"\",\r\n email: \"\",\r\n contact_number: \"\",\r\n company_name: \"\",\r\n add_note: \"\",\r\n })\r\n\r\n }\r\n\r\n //Get WH By Id\r\n const getVendorById = async (rowData) => {\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetVendorByid?obj_id=${rowData?.obj_id}`, false));\r\n const keyData = response[0]\r\n if (keyData) {\r\n formik.setFieldValue('address', keyData?.address)\r\n formik.setFieldValue('contact_number', keyData?.contact_no)\r\n formik.setFieldValue('email', keyData?.email)\r\n formik.setFieldValue('company_name', keyData?.company)\r\n formik.setFieldValue('add_note', keyData?.obj_Description)\r\n formik.setFieldValue('name', keyData?.obj_Name)\r\n }\r\n setIsActive(false)\r\n };\r\n\r\n useEffect(() => {\r\n if (isEditable, rowData) {\r\n getVendorById(rowData);\r\n }\r\n }, [isEditable, rowData]);\r\n\r\n //Disable Form while Viewing\r\n const formStyle = {\r\n pointerEvents: isView ? 'none' : 'auto',\r\n opacity: isView ? 0.7 : 1,\r\n };\r\n\r\n\r\n return (\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n\r\n
    \r\n
    \r\n
    \r\n

    {isEditable && isView ? 'View Vendor' : isEditable && isView === false ? 'Edit Vendor' : 'Add New Vendor'}

    \r\n
    {isView ? '' : 'Add Details'}
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"name\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* * */}\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"address\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"email\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* * */}\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"contact_number\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"company_name\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* * */}\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"add_note\")}\r\n \r\n
    \r\n
    \r\n
    \r\n {isView ?\r\n null\r\n :\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default AddEditVendor","import React, { useEffect, useState } from 'react';\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { TreeSelect } from 'primereact/treeselect';\r\nimport { useLocation } from 'react-router-dom/cjs/react-router-dom.min';\r\nimport \"./style.scss\"\r\nimport { handleGetRequest } from '../../services/GetTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handlePostRequest } from '../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../services/PutTemplate';\r\n\r\nconst AddEditSubCategory = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const { isEditable, rowData, isView } = location?.state;\r\n\r\n const [allCategories, setAllCategory] = useState([]);\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n\r\n const formik = useFormik({\r\n initialValues: {\r\n categoryId: \"\",\r\n subCategoryName: \"\"\r\n },\r\n\r\n validationSchema: Yup.object().shape({\r\n categoryId: Yup.mixed().required(\"Category is required.\"),\r\n subCategoryName: Yup.string().required(\"Sub-category name is required.\")\r\n }),\r\n\r\n onSubmit: async (data) => {\r\n\r\n if (isEditable) {\r\n\r\n setSaveBtnLoading(true);\r\n let obj = {\r\n obj_id: rowData?.key,\r\n name: data?.subCategoryName,\r\n parentid: data?.categoryId,\r\n isActive: 1,\r\n description: null\r\n }\r\n\r\n const response = await dispatch(handlePutRequest(obj, \"/api/Setups/UpdateSubCategory\", true, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./category')\r\n setSaveBtnLoading(false);\r\n }\r\n }\r\n\r\n else {\r\n setSaveBtnLoading(true);\r\n let obj = {\r\n parent_id: data?.categoryId,\r\n name: data?.subCategoryName,\r\n warehouseId: warehouseid,\r\n description: null\r\n }\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Setups/AddSubCategory\", true, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./category')\r\n setSaveBtnLoading(false);\r\n }\r\n\r\n setSaveBtnLoading(false);\r\n }\r\n }\r\n });\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n const ResetForm = () => {\r\n formik.setValues({\r\n categoryId: \"\",\r\n subCategoryName: \"\"\r\n })\r\n }\r\n\r\n // Get User By Id\r\n const getSubCategoryById = async (rowData) => {\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetSubCategoryByid?obj_id=${rowData?.key}`, true));\r\n const keyData = response[0]\r\n if (keyData) {\r\n formik.setFieldValue('subCategoryName', keyData?.obj_Name)\r\n formik.setFieldValue('categoryId', keyData?.parent_id)\r\n }\r\n setIsActive(false)\r\n };\r\n\r\n const getCategoryList = async () => {\r\n setIsActive(true);\r\n const response = await dispatch(\r\n handleGetRequest(`/api/Setups/GetAllSubCategories?warehouse_id=${warehouseid || 0}`, true)\r\n );\r\n if (response) {\r\n // const modifiedCategories = allCategories.flatMap(category => category.children);\r\n setAllCategory(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getCategoryList()\r\n if (isEditable, rowData) {\r\n getSubCategoryById(rowData);\r\n }\r\n }, [isEditable, rowData]);\r\n\r\n //Disable Form while Viewingg\r\n const formStyle = {\r\n pointerEvents: isView ? 'none' : 'auto',\r\n opacity: isView ? 0.7 : 1,\r\n };\r\n\r\n return (\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n\r\n
    \r\n
    \r\n
    \r\n

    {isEditable && isView ? 'View Sub Category' : isEditable && isView === false ? 'Edit Sub Category' : 'Add New Sub Category'}

    \r\n
    {isView ? '' : 'Add Details'}
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"categoryId\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"subCategoryName\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {isView ?\r\n null\r\n :\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddEditSubCategory;\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport { handleGetRequest } from '../../services/GetTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handlePostRequest } from '../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../services/PutTemplate';\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { toast } from 'react-toastify';\r\nimport { InputTextarea } from 'primereact/inputtextarea';\r\n\r\nconst AddEditBrand = () => {\r\n\r\n const location = useLocation();\r\n const { isEditable, rowData, isView } = location?.state;\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const validationSchema = Yup.object().shape({\r\n name: Yup.mixed().required(\"This field is required.\"),\r\n description: Yup.mixed().required(\"This field is required.\"),\r\n });\r\n\r\n const formik = useFormik({\r\n\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n name: \"\",\r\n description: \"\",\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n if (isEditable) {\r\n setSaveBtnLoading(true);\r\n\r\n let obj = {\r\n obj_id: rowData?.obj_id,\r\n Name: formik.values.name,\r\n Description: formik.values.description,\r\n IsActive: null,\r\n }\r\n\r\n const response = await dispatch(handlePutRequest(obj, \"/api/Setups/UpdateBrand\", true, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./brand')\r\n setSaveBtnLoading(false);\r\n }\r\n }\r\n\r\n else {\r\n\r\n setSaveBtnLoading(true);\r\n let obj = {\r\n warehouseId: parseInt(warehouseid),\r\n name: formik.values.name,\r\n description: formik.values.description,\r\n }\r\n\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Setups/AddBrand\", true, true));\r\n if (response?.statusCode == 200) {\r\n history.push('./brand')\r\n setSaveBtnLoading(false);\r\n }\r\n\r\n setSaveBtnLoading(false);\r\n }\r\n },\r\n });\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n //Get User By Id\r\n const getategoryById = async (rowData) => {\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetBrandByid?obj_id=${rowData?.obj_id}`, true));\r\n const keyData = response[0]\r\n if (keyData) {\r\n formik.setFieldValue('name', keyData?.obj_Name)\r\n formik.setFieldValue('description', keyData?.obj_Description)\r\n }\r\n setIsActive(false)\r\n };\r\n\r\n useEffect(() => {\r\n if (isEditable, rowData) {\r\n getategoryById(rowData);\r\n }\r\n }, [isEditable, rowData]);\r\n\r\n const ResetForm = () => {\r\n formik.setFieldValue('name', '')\r\n formik.setFieldValue('description', '')\r\n }\r\n\r\n //Disable Form while Viewing\r\n const formStyle = {\r\n pointerEvents: isView ? 'none' : 'auto',\r\n opacity: isView ? 0.7 : 1,\r\n };\r\n\r\n return (\r\n\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n\r\n
    \r\n
    \r\n
    \r\n

    {isEditable && isView ? 'View Brand' : isEditable && isView === false ? 'Edit Brand' : 'Add New Brand'}

    \r\n
    {isEditable && isView ? '' : isEditable && isView === false ? 'Edit Details' : 'Add Details'}
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"name\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"description\")}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {isView ?\r\n null\r\n :\r\n
    \r\n
    \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default AddEditBrand","import React, { useEffect, useRef, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { handleGetRequest } from '../../services/GetTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handlePostRequest } from '../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../services/PutTemplate';\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { handlePostRequestFormData } from '../../services/PostFormDataTemplate';\r\nimport { baseURL } from '../../Config';\r\n\r\nconst EditUsersWH = () => {\r\n\r\n const location = useLocation();\r\n const { isEditable, rowData } = location?.state;\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [allRoles, setAllRoles] = useState([])\r\n const [userTypes, setUserTypes] = useState([])\r\n const [warehouseData, setWarehouseData] = useState([])\r\n const [userTypeAs, setUserTypeAs] = useState(1);\r\n const [fileInfo, setFileInfo] = useState(null);\r\n const [showImage, setShowImage] = useState('');\r\n const [editableRemoved, setEditableRemoved] = useState(false);\r\n\r\n const [WHAdmin, setWHAdmin] = useState(false);\r\n const [WhAdminUser, setWHAdminUser] = useState(false);\r\n const [myStatus, setMyStatus] = useState();\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n //WH Admin\r\n const validationSchema = roletypeid == '2' && usertype_id == 2 && warehouseid\r\n ? Yup.object().shape({\r\n user_id: Yup.string().required(\"This field is required.\"),\r\n user_name: Yup.string().required(\"This field is required.\"),\r\n email: Yup.string().required(\"This field is required.\"),\r\n role: Yup.string().required(\"This field is required.\"),\r\n rfid_code: Yup.string().required(\"This field is required.\"),\r\n contact: Yup.string().required(\"This field is required.\"),\r\n })\r\n //Super Admin for UserType Warehouse\r\n : (roletypeid == '1' && userTypeAs == 2) || (roletypeid === '2' && userTypeAs == 2)\r\n ? Yup.object().shape({\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n warehouse_id: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string().required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n })\r\n //Super Admin for Usertype System User\r\n : (roletypeid == '1' && userTypeAs == 0 && !warehouseid) ?\r\n Yup.object().shape({\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n warehouse_id: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string().required(\"This field is required.\"),\r\n role_2: Yup.string().required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n rfid_code_2: Yup.string().required(\"This field is required.\"),\r\n })\r\n //System User\r\n : (roletypeid == '2' && userTypeAs == 1) || (roletypeid === '2' && !userTypeAs)\r\n ? Yup.object().shape({\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string().required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n role_2: Yup.string().required(\"This field is required.\"),\r\n rfid_code_2: Yup.string().required(\"This field is required.\"),\r\n })\r\n\r\n // Super Admin login Adding System User\r\n : (roletypeid == '1' && userTypeAs == 1 && usertype_id == '0')\r\n ? Yup.object().shape({\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string().required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n role_2: Yup.string().required(\"This field is required.\"),\r\n rfid_code_2: Yup.string().required(\"This field is required.\"),\r\n })\r\n : null;\r\n\r\n\r\n const formik = useFormik({\r\n // validationSchema: validationSchema,\r\n initialValues: {\r\n // For Admin\r\n user_id: \"\",\r\n user_name: \"\",\r\n email: \"\",\r\n rfid_code: \"\",\r\n role: \"\",\r\n contact: \"\",\r\n\r\n // For Super Admin (WH Admin)\r\n user_type_id: 1,\r\n warehouse_id: \"\",\r\n user_name_2: \"\",\r\n email_2: \"\",\r\n contact_2: \"\",\r\n user_id2: \"\",\r\n\r\n // For Super Admin (Users)\r\n rfid_code_2: \"\",\r\n role_2: \"\",\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n let formData = new FormData();\r\n let formData2 = new FormData();\r\n\r\n if ((fileInfo && isEditable && editableRemoved === false && !showImage) || (fileInfo && isEditable && editableRemoved && !showImage)) {\r\n console.log('here if no image is uploaded before, new added')\r\n formData.append('image', fileInfo.file);\r\n formData2.append('image', fileInfo.file);\r\n }\r\n else if (fileInfo && isEditable && editableRemoved === false && showImage) {\r\n console.log('there if unchanged')\r\n formData.append('image', `${baseURL}${showImage}`)\r\n formData2.append('image', `${baseURL}${showImage}`)\r\n }\r\n\r\n // if ((fileInfo && isEditable && editableRemoved === false && !showImage) || (fileInfo && isEditable && editableRemoved && !showImage)) {\r\n // console.log('here if no image is uploaded before, new added')\r\n // formData.append('image', fileInfo.file);\r\n // formData.append('image', null)\r\n // formData2.append('image', fileInfo.file);\r\n // formData2.append('image', null)\r\n\r\n // }\r\n // else if (fileInfo && isEditable && editableRemoved === false && showImage) {\r\n // console.log('there if unchanged')\r\n // formData.append('image', null)\r\n // formData.append('image2', `${showImage}`)\r\n // formData2.append('image', null)\r\n // formData2.append('image2', `${showImage}`)\r\n // }\r\n\r\n //For WH Admin User\r\n formData.append('p_id', parseInt(rowData?.id));\r\n formData.append('User_id', parseInt(formik.values.user_id));\r\n formData.append('User_Name', formik.values.user_name);\r\n formData.append('User_Email', formik.values.email);\r\n formData.append('RFID_code', formik.values.rfid_code);\r\n formData.append('Role_id', formik.values.role);\r\n formData.append('contact_number', formik.values.contact);\r\n formData.append('Status_id', myStatus);\r\n formData.append('roletype_id', !isNaN(parseInt(roletypeid)) ? parseInt(roletypeid) : 0);\r\n formData.append('warehouse_id', !isNaN(parseInt(warehouseid)) ? parseInt(warehouseid) : 0);\r\n formData.append(\r\n 'usertypeid',\r\n roletypeid == '2' && usertype_id == 2 && warehouseid ? 1 : !isNaN(parseInt(usertype_id)) ? parseInt(usertype_id) : 0\r\n );\r\n formData.append('CreatedBy', !isNaN(parseInt(user_id)) ? parseInt(user_id) : 0);\r\n\r\n //For WH ADMIN\r\n formData2.append('p_id', parseInt(rowData?.id));\r\n formData2.append('User_id', parseInt(formik.values.user_id2));\r\n formData2.append('usertypeid', parseInt(formik.values.user_type_id));\r\n formData2.append('User_Name', formik.values.user_name_2);\r\n formData2.append('User_Email', formik.values.email_2);\r\n formData2.append('contact_number', formik.values.contact_2);\r\n formData2.append('warehouse_id', formik.values.warehouse_id);\r\n formData2.append('Status_id', myStatus);\r\n formData2.append('RFID_code', 0);\r\n formData2.append('roletype_id', !isNaN(parseInt(roletypeid)) ? parseInt(roletypeid) : 0);\r\n // formData2.append('usertypeid', !isNaN(parseInt(usertype_id)) ? parseInt(usertype_id) : 0);\r\n formData2.append('CreatedBy', !isNaN(parseInt(user_id)) ? parseInt(user_id) : 0);\r\n\r\n setSaveBtnLoading(true);\r\n\r\n let response;\r\n response = await dispatch(handlePostRequestFormData(\r\n WHAdmin === true && WhAdminUser === false ? formData2 :\r\n WHAdmin === false && WhAdminUser === true ? formData :\r\n null,\r\n \"/api/Authentication/UpdatenewUser\",\r\n true,\r\n true\r\n ));\r\n\r\n if (response?.statusCode == 200) {\r\n history.push('./users')\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n }\r\n setSaveBtnLoading(false);\r\n\r\n }\r\n\r\n });\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n //Get All Users\r\n const getUserList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/GetAllUsers?roletype_id=${roletypeid}&usertype_id=${usertype_id}&warehouse_id=${warehouseid || 0}`, false));\r\n setIsActive(false);\r\n };\r\n\r\n\r\n //Get User By Id\r\n const getUserById = async (rowData) => {\r\n\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/GetUserByid?p_id=${rowData?.id}`, true));\r\n\r\n const imagePath = response[0]?.p_image && response[0]?.p_image !== '' ? response[0]?.p_image : null;\r\n setShowImage(response[0]?.p_image ? response[0]?.p_image : '')\r\n // const formData = new FormData();\r\n\r\n if (imagePath) {\r\n fetch(imagePath)\r\n .then(response => response.blob())\r\n .then(blob => {\r\n const blobURL = URL.createObjectURL(blob);\r\n\r\n // Get the complete file name from the path\r\n const fileName = imagePath.substring(imagePath.lastIndexOf('/') + 1);\r\n // Add \"Profile_Image_\" before the file name\r\n const modifiedFileName = 'Profile_Image/' + fileName;\r\n // Determine the file extension\r\n const format = fileName.split('.').pop().toLowerCase();\r\n // Set the correct MIME type for the file\r\n const fileType = `image/${format === 'jpg' ? 'jpeg' : format}`;\r\n\r\n // Create the File object with the blob, retaining the modified file name and type\r\n const file = new File([blob], modifiedFileName, { type: fileType });\r\n // Append the file to the FormData object\r\n const formData = new FormData();\r\n setFileInfo(file)\r\n formData.append('image', file);\r\n\r\n URL.revokeObjectURL(blobURL);\r\n })\r\n .catch(error => {\r\n console.error('Error fetching image:', error);\r\n });\r\n }\r\n\r\n\r\n const keyData = response[0]\r\n\r\n if (keyData) {\r\n\r\n if (keyData?.p_Role_id == 0) {\r\n\r\n setWHAdmin(true)\r\n setWHAdminUser(false)\r\n setUserTypeAs(keyData?.p_usertypeid)\r\n\r\n formik.setFieldValue('user_type_id', keyData?.p_usertypeid)\r\n formik.setFieldValue('warehouse_id', keyData?.p_warehouse_id)\r\n formik.setFieldValue('contact_2', keyData?.p_contactNumber)\r\n formik.setFieldValue('user_name_2', keyData?.p_user_name)\r\n formik.setFieldValue('email_2', keyData?.p_User_Email)\r\n formik.setFieldValue('user_id2', keyData?.p_User_id)\r\n setMyStatus(keyData?.p_isActive)\r\n }\r\n\r\n else if (keyData?.p_Role_id !== 0) {\r\n\r\n setWHAdmin(false)\r\n setWHAdminUser(true)\r\n setUserTypeAs(keyData?.p_usertypeid)\r\n\r\n formik.setFieldValue('user_id', keyData?.p_User_id)\r\n formik.setFieldValue('user_name', keyData?.p_user_name)\r\n formik.setFieldValue('email', keyData?.p_User_Email)\r\n formik.setFieldValue('rfid_code', keyData?.p_RFID_code)\r\n formik.setFieldValue('contact', keyData?.p_contactNumber)\r\n formik.setFieldValue('role', keyData?.p_Role_id)\r\n setMyStatus(keyData?.p_isActive)\r\n\r\n }\r\n }\r\n };\r\n\r\n const ResetForm = () => {\r\n formik.setFieldValue('user_id2', '')\r\n formik.setFieldValue('user_id', '')\r\n formik.setFieldValue('user_name', '')\r\n formik.setFieldValue('email', '')\r\n formik.setFieldValue('rfid_code', '')\r\n formik.setFieldValue('role', '')\r\n formik.setFieldValue('contact', '')\r\n formik.setFieldValue('user_type_id', '')\r\n formik.setFieldValue('warehouse_id', '')\r\n formik.setFieldValue('user_name_2', '')\r\n formik.setFieldValue('email_2', '')\r\n formik.setFieldValue('contact_2', '')\r\n formik.setFieldValue('rfid_code_2', '')\r\n formik.setFieldValue('role_2', '')\r\n setFileInfo(null)\r\n }\r\n\r\n useEffect(() => {\r\n if (isEditable, rowData) {\r\n getUserById(rowData);\r\n }\r\n }, [isEditable, rowData]);\r\n\r\n const getAllRoles = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/getAllRole?rid=${roletypeid || 0}&uid=${usertype_id || 0}&wid=${warehouseid || 0}`, true));\r\n if (response) {\r\n setAllRoles(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const getUserTypes = async () => {\r\n\r\n setIsActive(true);\r\n const res = await dispatch(handleGetRequest(\"/api/Authentication/UserType\", true));\r\n if (res) {\r\n setUserTypes(res);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const getWarehouseData = async () => {\r\n\r\n setIsActive(true);\r\n const res = await dispatch(handleGetRequest(\"/api/Authentication/Warehouse\", true));\r\n if (res) {\r\n setWarehouseData(res);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getAllRoles()\r\n getUserTypes()\r\n getWarehouseData()\r\n }, [])\r\n\r\n //File Handling\r\n const handleIconClick = () => {\r\n const fileInput = document.createElement('input');\r\n fileInput.type = 'file';\r\n fileInput.accept = 'image/*';\r\n fileInput.onchange = handleChange;\r\n fileInput.click();\r\n };\r\n\r\n const handleChange = (event) => {\r\n processFile(event.target.files[0]);\r\n };\r\n\r\n const handleDrop = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (event.dataTransfer.files && event.dataTransfer.files.length > 0) {\r\n processFile(event.dataTransfer.files[0]);\r\n event.dataTransfer.clearData();\r\n }\r\n };\r\n\r\n const handleDragOver = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n\r\n const processFile = (event) => {\r\n const file = event;\r\n if (file) {\r\n const objectURL = URL.createObjectURL(file);\r\n setFileInfo({\r\n file: file, // Storing the actual File object\r\n objectURL: objectURL,\r\n lastModified: file.lastModified,\r\n lastModifiedDate: file.lastModifiedDate,\r\n name: file.name,\r\n size: file.size,\r\n type: file.type,\r\n webkitRelativePath: file.webkitRelativePath || \"\"\r\n });\r\n }\r\n };\r\n\r\n const handleRemoveImage = () => {\r\n if (showImage) {\r\n URL.revokeObjectURL(fileInfo?.objectURL); // Free up memory by releasing object URL\r\n setShowImage('')\r\n setEditableRemoved(true)\r\n }\r\n if (fileInfo) {\r\n URL.revokeObjectURL(fileInfo?.objectURL); // Free up memory by releasing object URL\r\n setShowImage('')\r\n }\r\n setFileInfo(null);\r\n };\r\n\r\n //Generate User Id\r\n const handleGenerateUserId = () => {\r\n const newUserId = generateRandomUserId();\r\n formik.setFieldValue('user_id', newUserId);\r\n };\r\n\r\n const generateRandomUserId = () => {\r\n const length = 4;\r\n const charset = \"0123456789\";\r\n let userId = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n userId += charset[randomIndex];\r\n }\r\n\r\n return userId;\r\n };\r\n\r\n\r\n const handleGenerateUserId2 = () => {\r\n const newUserId = generateRandomUserId2();\r\n formik.setFieldValue('user_id2', newUserId);\r\n };\r\n\r\n const generateRandomUserId2 = () => {\r\n const length = 4;\r\n const charset = \"0123456789\";\r\n let userId = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n userId += charset[randomIndex];\r\n }\r\n\r\n return userId;\r\n };\r\n\r\n //Generate RFID Code\r\n const handleGenerateCode = () => {\r\n const newCode = generateRandomCode();\r\n formik.setFieldValue('rfid_code', newCode);\r\n };\r\n\r\n const generateRandomCode = () => {\r\n const length = 10;\r\n const charset = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";\r\n let code = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n code += charset[randomIndex];\r\n }\r\n return code;\r\n };\r\n\r\n //Generate RFID Code 2\r\n const handleGenerateCode2 = () => {\r\n const newCode = generateRandomCode2();\r\n formik.setFieldValue('rfid_code_2', newCode);\r\n };\r\n\r\n const generateRandomCode2 = () => {\r\n const length = 10;\r\n const charset = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";\r\n let code = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n code += charset[randomIndex];\r\n }\r\n return code;\r\n };\r\n\r\n return (\r\n\r\n <>\r\n\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n
    \r\n
    \r\n
    \r\n

    {isEditable ? 'Edit User' : 'Add New User'}

    \r\n
    Add Details
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Profile Photo\r\n This image will be displayed on your profile\r\n
    \r\n
    \r\n
    \r\n {fileInfo || showImage ?\r\n
    \r\n \"Uploaded\"\r\n \r\n
    \r\n :\r\n null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Click to Upload or drag and drop\r\n \r\n \r\n JPG or PNG (Recommended size 500x500px)\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {(WhAdminUser === false && WHAdmin === true) ?\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n {\r\n formik.handleChange(e);\r\n setUserTypeAs(e.value); // Assuming e.value corresponds to the selected value in the dropdown\r\n }}\r\n className=\"p-inputtext-sm\"\r\n autoComplete=\"off\"\r\n >\r\n\r\n \r\n {getFormErrorMessage(\"user_type_id\")}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {formik.values.user_type_id == 2 ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"warehouse_id\")}\r\n \r\n
    \r\n :\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"user_name_2\")}\r\n \r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n {formik.values.user_type_id == 2 ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"contact_2\")}\r\n \r\n
    \r\n :\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"rfid_code_2\")}\r\n
    \r\n
    \r\n }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {formik.values.user_type_id == 1 || formik.values.user_type_id === '' ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"role_2\")}\r\n \r\n
    \r\n :\r\n formik.values.user_type_id === 2 ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"user_name_2\")}\r\n \r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"email_2\")}\r\n \r\n
    \r\n
    \r\n
    \r\n {formik.values.user_type_id !== 2 ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"contact_2\")}\r\n \r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"user_id2\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n :\r\n null}\r\n\r\n {WhAdminUser === true && WHAdmin === false ?\r\n <>\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"user_id\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"user_name\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"email\")}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"rfid_code\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"role\")}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"contact\")}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n :\r\n null\r\n }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default EditUsersWH","import React, { useState, useEffect } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { handlePutRequest } from \"../../../services/PutTemplate\";\r\nimport { handleGetRequest } from \"../../../services/GetTemplate\";\r\nimport moment from \"moment\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nconst CheckInGrid = () => {\r\n\r\n const location = useLocation()\r\n const { expireItemData } = location?.state || {};\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const [isActive, setIsActive] = useState(false)\r\n const [checkInList, setCheckInList] = useState([]);\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [permissions, setPermissions] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n const items = [];\r\n\r\n if ((roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid)) {\r\n items.push({\r\n label: 'View',\r\n command: () => handleViewCheckIn(rowData),\r\n });\r\n } else {\r\n items.push(\r\n {\r\n label: expireItemData === true ? 'Action not permitted' : 'Edit',\r\n command: () => expireItemData === true ? null : handleEditCheckIn(rowData),\r\n },\r\n\r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const handleEditCheckIn = (rowData) => {\r\n\r\n const item = true;\r\n const view = false;\r\n\r\n history.push({\r\n pathname: './checkinaddedit',\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n isView: view,\r\n }\r\n });\r\n };\r\n\r\n const handleViewCheckIn = (rowData) => {\r\n\r\n const item = true;\r\n const view = true;\r\n\r\n history.push({\r\n pathname: './checkinaddedit',\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n isView: view,\r\n }\r\n });\r\n };\r\n\r\n //Get Inventory List\r\n const getCheckInList = async () => {\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetCheckinList?warehouseid=${warehouseid || 0}`, true));\r\n if (response) {\r\n setCheckInList(response);\r\n }\r\n setIsActive(false);\r\n };\r\n const getExpiredItemList = async () => {\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetCheckinForExpireItems?warehouseid=${warehouseid || 0}`, true));\r\n if (response) {\r\n setCheckInList(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (expireItemData === true) {\r\n getExpiredItemList()\r\n } else {\r\n getCheckInList();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/inventory\"));\r\n if (allPermModules) {\r\n const result = allPermModules?.submodules?.find(item => item?.routepath == \"/checkin\")\r\n setPermissions(result?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n\r\n }, []);\r\n\r\n return (\r\n\r\n <>\r\n
    \r\n

    \r\n Check In Inventory\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n {expireItemData === true ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n (roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ? null : (\r\n permissions.includes(2) ? (\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './checkinaddedit',\r\n state: { isEditable: item },\r\n });\r\n }}\r\n />\r\n
    \r\n ) : null\r\n )\r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n \r\n {/* rowData?.doc_no || 'N/A'} header=\"Voucher No.\"> */}\r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ?\r\n rowData?.warehousE_NAME || 'N/A'} header=\"Warehouse\">\r\n :\r\n null\r\n }\r\n rowData?.inventory_name || 'N/A'} header=\"Inventory\">\r\n {/* rowData?.inventory_Type_Name || 'N/A'} header=\"Inventory Type\"> */}\r\n rowData?.category_name || 'N/A'} header=\"Category\">\r\n rowData?.subcategory_name || 'N/A'} header=\"Sub Category\">\r\n rowData?.vendor_name || 'N/A'} header=\"Vendor\">\r\n rowData?.quantity || 'N/A'} header=\"Quantity\">\r\n rowData?.cost || 'N/A'} header=\"Cost\">\r\n rowData?.rfid || 'N/A'} header=\"RFID\">\r\n {/* rowData?.sku_code || 'N/A'} header=\"Sku\"> */}\r\n {/* rowData?.createddatetime ? moment(rowData.createddatetime).format('DD-MM-YYYY HH:mm A') : 'N/A'}\r\n header=\"Created Date\"\r\n /> */}\r\n rowData?.expiry_Date ? moment(rowData?.expiry_Date).format('DD-MM-YYYY') : 'N/A'}\r\n header=\"Expiry Date\"\r\n />\r\n {expireItemData === true ?\r\n \r\n \r\n {rowData?.noofdaysremaining ? rowData?.noofdaysremaining : 'N/A'}\r\n \r\n }\r\n header=\"Days Remaining\"\r\n />\r\n :\r\n null}\r\n {permissions.includes(2) ?\r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default CheckInGrid","import React, { useState, useEffect } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { handlePutRequest } from \"../../../services/PutTemplate\";\r\nimport { handleGetRequest } from \"../../../services/GetTemplate\";\r\nimport { handleDeleteRequest } from \"../../../services/DeleteTemplate\";\r\nimport moment from \"moment\";\r\n\r\nconst CheckOutGrid = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const [isActive, setIsActive] = useState(false)\r\n const [checkInList, setCheckInList] = useState([]);\r\n const [acceptButtonClass, setAcceptButtonClass] = useState('p-button-danger');\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [permissions, setPermissions] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n const items = [];\r\n\r\n if ((roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid)) {\r\n items.push({\r\n label: 'No Action Permitted',\r\n });\r\n } else {\r\n items.push(\r\n {\r\n label: 'Delete',\r\n command: () => confirm(rowData),\r\n },\r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const confirm = (rowData) => {\r\n\r\n confirmDialog({\r\n message: rowData?.status == 1 ? 'Are you sure you want to deactivate this Checkout record?' : 'Are you sure you want to Activate this Checkout record?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: 'Yes',\r\n accept: () => {\r\n handleDeleteCheckOut(rowData);\r\n },\r\n reject: () => {\r\n return null;\r\n },\r\n });\r\n\r\n };\r\n\r\n const handleDeleteCheckOut = async (rowData) => {\r\n\r\n const obj = {\r\n p_id: rowData?.id,\r\n\r\n };\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleDeleteRequest(obj, `/api/Inventory/DeleteCheckOutById`, true, true));\r\n if (response) {\r\n await getCheckOutList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n\r\n //Get Inventory List\r\n const getCheckOutList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetCheckoutList?warehouseid=${warehouseid || 0}`, true));\r\n if (response) {\r\n setCheckInList(response);\r\n }\r\n setIsActive(false);\r\n\r\n };\r\n\r\n useEffect(() => {\r\n getCheckOutList()\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/inventory\"));\r\n if (allPermModules) {\r\n const result = allPermModules?.submodules?.find(item => item?.routepath == \"/checkout\")\r\n setPermissions(result?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n }, []);\r\n\r\n return (\r\n\r\n <>\r\n
    \r\n

    \r\n Check Out Inventory \r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ?\r\n null\r\n :\r\n permissions.includes(2) ?\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './checkoutaddedit',\r\n state: {\r\n isEditable: item,\r\n }\r\n });\r\n }}\r\n />\r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n \r\n rowData?.inventory_name || 'N/A'} header=\"Doc No.\">\r\n rowData?.inventory_name || 'N/A'} header=\"Inventory Name\">\r\n rowData?.inventory_Type_Name || 'N/A'} header=\"Inventory Type\">\r\n rowData?.warehousE_NAME || 'N/A'} header=\"Warehouse\">\r\n rowData?.rfid || 'N/A'} header=\"RFID Code\">\r\n rowData?.doc_no || 'N/A'} header=\"Transaction ID\">\r\n rowData?.quantity || 'N/A'} header=\"Quantity\">\r\n rowData?.cost || 'N/A'} header=\"Cost\">\r\n {/* rowData?.notes || 'N/A'} header=\"Notes\"> */}\r\n rowData?.createddatetime ? moment(rowData.createddatetime).format('DD-MM-YYYY HH:mm A') : 'N/A'}\r\n header=\"Created Date\"\r\n />\r\n {/* rowData?.expiry_Date ? moment(rowData.expiry_Date).format('DD-MM-YYYY') : 'N/A'}\r\n header=\"Expiry Date\"\r\n /> */}\r\n {permissions.includes(2) ?\r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default CheckOutGrid","import React, { useState, useEffect } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { handleGetRequest } from \"../../../services/GetTemplate\";\r\nimport moment from \"moment\";\r\nimport { TabView, TabPanel } from 'primereact/tabview';\r\nimport { handleDeleteRequest } from \"../../../services/DeleteTemplate\";\r\n\r\nconst CheckInAssetGrid = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const [isActive, setIsActive] = useState(false)\r\n const [checkInList, setCheckInList] = useState([]);\r\n const [firstTimeCheckInList, setFirstTimeCheckInList] = useState([]);\r\n const [borrowItemsCheckInList, setBorrowItemsCheckInList] = useState([]);\r\n const [acceptButtonClass, setAcceptButtonClass] = useState('p-button-danger');\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [permissions, setPermissions] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n const items = [];\r\n\r\n if ((roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid)) {\r\n items.push({\r\n label: 'View',\r\n command: () => handleViewCheckIn(rowData),\r\n });\r\n } else {\r\n items.push(\r\n {\r\n label: 'Delete',\r\n command: () => confirm(rowData),\r\n },\r\n\r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const confirm = (rowData) => {\r\n\r\n confirmDialog({\r\n message: 'Are you sure you want to delete this CheckIn data?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: 'Yes',\r\n accept: () => {\r\n handleDeleteData(rowData);\r\n },\r\n reject: () => {\r\n return null;\r\n },\r\n });\r\n\r\n };\r\n\r\n const handleDeleteData = async (rowData) => {\r\n\r\n const obj = {\r\n p_id: rowData?.id,\r\n };\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleDeleteRequest(obj, `/api/Asset/DeleteAssetCheckInById`, true, true));\r\n if (response?.statusCode == 200) {\r\n await getCheckInList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const handleViewCheckIn = (rowData) => {\r\n\r\n const item = true;\r\n const view = true;\r\n\r\n history.push({\r\n pathname: './checkinassetaddedit',\r\n state: {\r\n isEditable: item,\r\n rowData: rowData,\r\n isView: view,\r\n }\r\n });\r\n };\r\n\r\n //Get Inventory List\r\n const getCheckInList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Asset/GetAssetCheckInList?warehouseid=${warehouseid || 0}`, true));\r\n if (response) {\r\n setCheckInList(response);\r\n setFirstTimeCheckInList(response?.filter(item => item?.check_In_type_code == 1));\r\n setBorrowItemsCheckInList(response?.filter(item => item?.check_In_type_code == 2));\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getCheckInList()\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/asset\"));\r\n if (allPermModules) {\r\n const result = allPermModules?.submodules?.find(item => item?.routepath == \"/checkinasset\")\r\n setPermissions(result?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n\r\n }, []);\r\n\r\n return (\r\n\r\n <>\r\n
    \r\n \r\n \r\n
    \r\n

    \r\n All Records\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ?\r\n null\r\n :\r\n permissions.includes(2) ?\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './checkinassetaddedit',\r\n state: {\r\n isEditable: item,\r\n }\r\n });\r\n }}\r\n />\r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n
    \r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n \r\n rowData?.asset_name || 'N/A'} header=\"Asset Name\">\r\n {/* rowData?.inventory_Type_Name || 'N/A'} header=\"Asset Type\"> */}\r\n rowData?.check_In_type === 'Borrow Items' ? 'Return Items' : rowData?.check_In_type} header=\"Check In Type\">\r\n rowData?.category_name || 'N/A'} header=\"Category\">\r\n rowData?.subcategory_name || 'N/A'} header=\"Sub Category\">\r\n rowData?.brand_name || 'N/A'} header=\"Brand\">\r\n (\r\n
    \r\n {
    \r\n {rowData?.sku_code?.replace(/(.{25})/g, '$1\\n')}\r\n
    || 'N/A'}\r\n
    \r\n )}\r\n header=\"SKU\"\r\n >\r\n rowData?.rfid || 'N/A'} header=\"RFID\">\r\n rowData?.vendoR_NAME || 'N/A'} header=\"Vendor\">\r\n rowData?.createddatetime ? moment(rowData?.createddatetime).format('DD-MM-YYYY HH:mm A') : 'N/A'}\r\n header=\"Created Date\"\r\n />\r\n {permissions.includes(2) ?\r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n Check In Items\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ?\r\n null\r\n :\r\n permissions.includes(2) ?\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './checkinassetaddedit',\r\n state: {\r\n isEditable: item,\r\n }\r\n });\r\n }}\r\n />\r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n
    \r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n \r\n rowData?.asset_name || 'N/A'} header=\"Asset Name\">\r\n {/* rowData?.inventory_Type_Name || 'N/A'} header=\"Asset Type\"> */}\r\n rowData?.check_In_type === 'Borrow Items' ? 'Return Items' : rowData?.check_In_type} header=\"Check In Type\">\r\n rowData?.category_name || 'N/A'} header=\"Category\">\r\n rowData?.subcategory_name || 'N/A'} header=\"Sub Category\">\r\n rowData?.brand_name || 'N/A'} header=\"Brand\">\r\n (\r\n
    \r\n {
    \r\n {rowData?.sku_code.replace(/(.{25})/g, '$1\\n')}\r\n
    || 'N/A'}\r\n
    \r\n )}\r\n header=\"SKU\"\r\n >\r\n rowData?.rfid || 'N/A'} header=\"RFID\">\r\n rowData?.vendoR_NAME || 'N/A'} header=\"Vendor\">\r\n rowData?.createddatetime ? moment(rowData?.createddatetime).format('DD-MM-YYYY HH:mm A') : 'N/A'}\r\n header=\"Created Date\"\r\n />\r\n {permissions.includes(2) ?\r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n Return Items\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ?\r\n null\r\n :\r\n permissions.includes(2) ?\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './checkinassetaddedit',\r\n state: {\r\n isEditable: item,\r\n }\r\n });\r\n }}\r\n />\r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n
    \r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n \r\n rowData?.asset_name || 'N/A'} header=\"Asset Name\">\r\n {/* rowData?.inventory_Type_Name || 'N/A'} header=\"Asset Type\"> */}\r\n rowData?.check_In_type === 'Borrow Items' ? 'Return Items' : rowData?.check_In_type} header=\"Check In Type\">\r\n rowData?.category_name || 'N/A'} header=\"Category\">\r\n rowData?.subcategory_name || 'N/A'} header=\"Sub Category\">\r\n rowData?.brand_name || 'N/A'} header=\"Brand\">\r\n\r\n (\r\n
    \r\n {
    \r\n {rowData?.sku_code.replace(/(.{25})/g, '$1\\n')}\r\n
    || 'N/A'}\r\n
    \r\n )}\r\n header=\"SKU\"\r\n >\r\n rowData?.rfid || 'N/A'} header=\"RFID\">\r\n rowData?.vendoR_NAME || 'N/A'} header=\"Vendor\">\r\n rowData?.createddatetime ? moment(rowData?.createddatetime).format('DD-MM-YYYY HH:mm A') : 'N/A'}\r\n header=\"Created Date\"\r\n />\r\n {permissions.includes(2) ?\r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default CheckInAssetGrid","import React, { useState, useEffect } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { handlePutRequest } from \"../../../services/PutTemplate\";\r\nimport { handleGetRequest } from \"../../../services/GetTemplate\";\r\nimport { handleDeleteRequest } from \"../../../services/DeleteTemplate\";\r\nimport moment from \"moment\";\r\n\r\nconst BorrowAssetGrid = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const [isActive, setIsActive] = useState(false)\r\n const [checkInList, setCheckInList] = useState([]);\r\n const [acceptButtonClass, setAcceptButtonClass] = useState('p-button-danger');\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [permissions, setPermissions] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const actionTemplate = (rowData) => {\r\n\r\n const items = [];\r\n\r\n if ((roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid)) {\r\n items.push({\r\n label: 'View',\r\n command: () => handleViewAsset(rowData),\r\n });\r\n } else {\r\n items.push(\r\n {\r\n label: 'Delete',\r\n command: () => confirm(rowData),\r\n },\r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const confirm = (rowData) => {\r\n\r\n confirmDialog({\r\n message: 'Are you sure you want to delete this Borrow data?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptClassName: acceptButtonClass,\r\n acceptLabel: 'Yes',\r\n accept: () => {\r\n handleDeleteCheckOut(rowData);\r\n },\r\n reject: () => {\r\n return null;\r\n },\r\n });\r\n\r\n };\r\n\r\n const handleDeleteCheckOut = async (rowData) => {\r\n\r\n setIsActive(true);\r\n\r\n const obj = {\r\n p_id: rowData?.id,\r\n };\r\n\r\n const response = await dispatch(handleDeleteRequest(obj, `/api/Asset/DeleteBorrowtById`, true, true));\r\n if (response) {\r\n await getCheckOutList();\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const handleViewAsset = (rowData) => {\r\n const item = true;\r\n const view = true;\r\n history.push({\r\n pathname: './borrowassetaddedit',\r\n state: {\r\n isEditable: item,\r\n isView: view,\r\n rowData: rowData,\r\n }\r\n });\r\n };\r\n\r\n\r\n\r\n //Get Asset Borrow List\r\n const getCheckOutList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Asset/GetBorrowList?warehouseid=${warehouseid || 0}`, true));\r\n if (response) {\r\n setCheckInList(response);\r\n }\r\n setIsActive(false);\r\n\r\n };\r\n\r\n useEffect(() => {\r\n getCheckOutList()\r\n }, [])\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/asset\"));\r\n if (allPermModules) {\r\n const result = allPermModules?.submodules?.find(item => item?.routepath == \"/borrowasset\")\r\n setPermissions(result?.permissions?.map(item => item?.permission_id) || []);\r\n }\r\n\r\n }, []);\r\n\r\n return (\r\n\r\n <>\r\n
    \r\n

    \r\n Borrow Asset\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n {(roletypeid == 1) || (roletypeid == 2 && usertype_id == 1 && !warehouseid) ?\r\n null\r\n :\r\n permissions.includes(2) ?\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './borrowassetaddedit',\r\n state: {\r\n isEditable: item,\r\n }\r\n });\r\n }}\r\n />\r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n
    \r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n \r\n rowData?.asset_name || 'N/A'} header=\"Asset Name\">\r\n rowData?.inventory_Type_Name || 'N/A'} header=\"Asset Type\">\r\n {/* rowData?.warehousE_NAME || 'N/A'} header=\"Warehouse\"> */}\r\n rowData?.category_name || 'N/A'} header=\"Category\">\r\n rowData?.subcategory_name || 'N/A'} header=\"Sub Category\">\r\n rowData?.rfid || 'N/A'} header=\"RFID Code\">\r\n rowData?.sku_code || 'N/A'} header=\"Sku\">\r\n rowData?.brand_name || 'N/A'} header=\"Brand\">\r\n rowData?.vendoR_NAME || 'N/A'} header=\"Vendor\">\r\n {/* rowData?.notes || 'N/A'} header=\"Notes\"> */}\r\n rowData?.createddatetime ? moment(rowData?.createddatetime).format('DD-MM-YYYY HH:mm') : 'N/A'}\r\n header=\"Created Date\"\r\n />\r\n {permissions.includes(2) ?\r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default BorrowAssetGrid","import React, { useEffect, useRef, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { handleGetRequest } from '../../services/GetTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { handlePostRequestFormData } from '../../services/PostFormDataTemplate';\r\nimport { baseURL } from '../../Config';\r\n\r\nconst AddUsers = () => {\r\n\r\n const location = useLocation();\r\n const { isEditable, superAdminActiveAdd } = location?.state;\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [allRoles, setAllRoles] = useState([])\r\n const [userTypes, setUserTypes] = useState([])\r\n const [warehouseData, setWarehouseData] = useState([])\r\n const [userTypeAs, setUserTypeAs] = useState(1);\r\n const [fileInfo, setFileInfo] = useState(null);\r\n const [showImage, setShowImage] = useState('');\r\n const [editableRemoved, setEditableRemoved] = useState(false);\r\n const [disabledWHAdminField, setDisabledWHAdminField] = useState(false);\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n //WH Admin\r\n const validationSchema = roletypeid == '2' && usertype_id == 2 && warehouseid && isEditable === false && superAdminActiveAdd === false\r\n ? Yup.object().shape({\r\n user_id: Yup.string().required(\"This field is required.\"),\r\n user_name: Yup.string().required(\"This field is required.\"),\r\n email: Yup.string()\r\n .matches(/.*\\..*/, \"Please enter a valid email\")\r\n .required(\"This field is required.\"),\r\n role: Yup.string().required(\"This field is required.\"),\r\n rfid_code: Yup.string().required(\"This field is required.\"),\r\n contact: Yup.string().required(\"This field is required.\"),\r\n })\r\n\r\n //Super Admin for UserType Warehouse\r\n : (roletypeid == '1' && userTypeAs == 2 && isEditable === false && superAdminActiveAdd === false) || (roletypeid === '2' && userTypeAs == 2 && isEditable === false && superAdminActiveAdd === false)\r\n ? Yup.object().shape({\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n warehouse_id: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string()\r\n .matches(/.*\\..*/, \"Please enter a valid email\")\r\n .required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n user_id2: Yup.string().required(\"This field is required.\"),\r\n })\r\n\r\n //Super Admin for Usertype System User\r\n : (roletypeid == '1' && userTypeAs == 0 && !warehouseid && isEditable === false && superAdminActiveAdd === false) ?\r\n Yup.object().shape({\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n warehouse_id: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string()\r\n .matches(/.*\\..*/, \"Please enter a valid email\")\r\n .required(\"This field is required.\"),\r\n role_2: Yup.string().required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n rfid_code_2: Yup.string().required(\"This field is required.\"),\r\n user_id2: Yup.string().required(\"This field is required.\"),\r\n })\r\n\r\n //System User\r\n : (roletypeid == '2' && userTypeAs == 1 && !warehouseid && isEditable === false && superAdminActiveAdd === false) || (roletypeid == '2' && userTypeAs == 1 && !warehouseid && isEditable === false)\r\n ? Yup.object().shape({\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string()\r\n .matches(/.*\\..*/, \"Please enter a valid email\")\r\n .required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n role_2: Yup.string().required(\"This field is required.\"),\r\n rfid_code_2: Yup.string().required(\"This field is required.\"),\r\n user_id2: Yup.string().required(\"This field is required.\"),\r\n })\r\n\r\n : (roletypeid == '2' && !userTypeAs && isEditable === false && superAdminActiveAdd === false)\r\n ? Yup.object().shape({\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string()\r\n .matches(/.*\\..*/, \"Please enter a valid email\")\r\n .required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n role_2: Yup.string().required(\"This field is required.\"),\r\n rfid_code_2: Yup.string().required(\"This field is required.\"),\r\n user_id2: Yup.string().required(\"This field is required.\"),\r\n })\r\n :\r\n\r\n //For WH Users\r\n (roletypeid == '2' && userTypeAs == 1 && usertype_id == 1 && warehouseid && isEditable === false && superAdminActiveAdd === false)\r\n ? Yup.object().shape({\r\n user_id: Yup.string().required(\"This field is required.\"),\r\n user_name: Yup.string().required(\"This field is required.\"),\r\n email: Yup.string()\r\n .matches(/.*\\..*/, \"Please enter a valid email\")\r\n .required(\"This field is required.\"),\r\n contact: Yup.string().required(\"This field is required.\"),\r\n role: Yup.string().required(\"This field is required.\"),\r\n rfid_code: Yup.string().required(\"This field is required.\"),\r\n })\r\n :\r\n\r\n //SUPER ADMIN LOGIN SCENARIOS \r\n //For System Users \r\n (roletypeid == 1 && usertype_id == 0 && userTypeAs == 1 && !warehouseid && isEditable === false && superAdminActiveAdd === true)\r\n ?\r\n Yup.object().shape({\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string()\r\n .matches(/.*\\..*/, \"Please enter a valid email\")\r\n .required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n role_2: Yup.string().required(\"This field is required.\"),\r\n rfid_code_2: Yup.string().required(\"This field is required.\"),\r\n user_id2: Yup.string().required(\"This field is required.\"),\r\n })\r\n :\r\n //For WH Admins\r\n (roletypeid == 1 && usertype_id == 0 && userTypeAs == 2 && !warehouseid && isEditable === false && superAdminActiveAdd === true) || (roletypeid == '2' && userTypeAs == 2 && !warehouseid && isEditable === false)\r\n ?\r\n Yup.object().shape({\r\n user_id2: Yup.string().required(\"This field is required.\"),\r\n user_type_id: Yup.string().required(\"This field is required.\"),\r\n warehouse_id: Yup.string().required(\"This field is required.\"),\r\n contact_2: Yup.string().required(\"This field is required.\"),\r\n user_name_2: Yup.string().required(\"This field is required.\"),\r\n email_2: Yup.string()\r\n .matches(/.*\\..*/, \"Please enter a valid email\")\r\n .required(\"This field is required.\"),\r\n })\r\n :\r\n null;\r\n\r\n\r\n const formik = useFormik({\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n // For Admin\r\n user_id: \"\",\r\n user_name: \"\",\r\n email: \"\",\r\n rfid_code: \"\",\r\n role: \"\",\r\n contact: \"\",\r\n\r\n // For Super Admin (WH Admin)\r\n user_type_id: 1,\r\n warehouse_id: \"\",\r\n user_id2: \"\",\r\n\r\n user_name_2: \"\",\r\n email_2: \"\",\r\n contact_2: \"\",\r\n\r\n // For Super Admin (Users)\r\n rfid_code_2: \"\",\r\n role_2: \"\",\r\n },\r\n\r\n onSubmit: async (data) => {\r\n\r\n let formData = new FormData();\r\n let formData2 = new FormData();\r\n let formData3 = new FormData();\r\n\r\n if ((fileInfo && isEditable === false) || (fileInfo && isEditable === true && editableRemoved) || (fileInfo && isEditable === true && !showImage)) {\r\n formData.append('image', fileInfo.file);\r\n formData2.append('image', fileInfo.file);\r\n formData3.append('image', fileInfo.file);\r\n }\r\n else if (fileInfo && isEditable === true) {\r\n formData.append('image', 'unchanged');\r\n formData2.append('image', 'unchanged');\r\n formData3.append('image', 'unchanged');\r\n }\r\n\r\n\r\n if (isEditable) {\r\n\r\n }\r\n else {\r\n //For WH Users\r\n formData.append('User_id', parseInt(formik.values.user_id));\r\n formData.append('User_Name', formik.values.user_name);\r\n formData.append('User_Email', formik.values.email);\r\n formData.append('RFID_code', formik.values.rfid_code);\r\n formData.append('Role_id', formik.values.role);\r\n formData.append('contact_number', formik.values.contact);\r\n formData.append('Status_id', '1');\r\n formData.append('roletype_id', !isNaN(parseInt(roletypeid)) ? parseInt(roletypeid) : 0);\r\n formData.append('warehouse_id', !isNaN(parseInt(warehouseid)) ? parseInt(warehouseid) : 0);\r\n formData.append(\r\n 'usertypeid',\r\n roletypeid == '2' && usertype_id == 2 && warehouseid ? 1 : !isNaN(parseInt(usertype_id)) ? parseInt(usertype_id) : 0\r\n );\r\n\r\n formData.append('CreatedBy', !isNaN(parseInt(user_id)) ? parseInt(user_id) : 0);\r\n\r\n //For (WH Admin)\r\n formData2.append('User_id', parseInt(formik.values.user_id2));\r\n formData2.append('usertypeid', parseInt(formik.values.user_type_id));\r\n formData2.append('User_Name', formik.values.user_name_2);\r\n formData2.append('User_Email', formik.values.email_2);\r\n formData2.append('contact_number', formik.values.contact_2);\r\n formData2.append('warehouse_id', formik.values.warehouse_id);\r\n formData2.append('Status_id', '1');\r\n formData2.append('RFID_code', 0);\r\n formData2.append('roletype_id', !isNaN(parseInt(roletypeid)) ? parseInt(roletypeid) : 0);\r\n // formData2.append('usertypeid', !isNaN(parseInt(usertype_id)) ? parseInt(usertype_id) : 0);\r\n formData2.append('CreatedBy', !isNaN(parseInt(user_id)) ? parseInt(user_id) : 0);\r\n\r\n //For Super Admin (System Users)\r\n formData3.append('User_id', parseInt(formik.values.user_id2));\r\n formData3.append('usertypeid', parseInt(formik.values.user_type_id));\r\n formData3.append('User_Name', formik.values.user_name_2);\r\n formData3.append('User_Email', formik.values.email_2);\r\n formData3.append('contact_number', formik.values.contact_2);\r\n formData3.append('RFID_code', formik.values.rfid_code_2);\r\n formData3.append('Role_id', formik.values.role_2);\r\n formData3.append('Status_id', '1');\r\n formData3.append('roletype_id', !isNaN(parseInt(roletypeid)) ? parseInt(roletypeid) : 0);\r\n // formData3.append('usertypeid', !isNaN(parseInt(usertype_id)) ? parseInt(usertype_id) : 0);\r\n formData3.append('CreatedBy', !isNaN(parseInt(user_id)) ? parseInt(user_id) : 0);\r\n\r\n setSaveBtnLoading(true);\r\n\r\n let response;\r\n response = await dispatch(handlePostRequestFormData(\r\n !warehouseid && formik.values.user_type_id == '2' ? formData2 :\r\n !warehouseid && formik.values.user_type_id == '1' ? formData3 :\r\n roletypeid == '2' && warehouseid ? formData :\r\n null,\r\n \"/api/Authentication/AddNewUser\",\r\n true,\r\n true\r\n ));\r\n\r\n if (response?.statusCode == 200) {\r\n history.push('./users')\r\n setSaveBtnLoading(false);\r\n }\r\n setSaveBtnLoading(false);\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n const ResetForm = () => {\r\n formik.setFieldValue('user_id', '')\r\n formik.setFieldValue('user_name', '')\r\n formik.setFieldValue('email', '')\r\n formik.setFieldValue('rfid_code', '')\r\n formik.setFieldValue('role', '')\r\n formik.setFieldValue('contact', '')\r\n formik.setFieldValue('user_type_id', '')\r\n formik.setFieldValue('warehouse_id', '')\r\n formik.setFieldValue('user_name_2', '')\r\n formik.setFieldValue('email_2', '')\r\n formik.setFieldValue('contact_2', '')\r\n formik.setFieldValue('rfid_code_2', '')\r\n formik.setFieldValue('role_2', '')\r\n setFileInfo(null)\r\n }\r\n\r\n const getAllRoles = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/getAllRole?rid=${2}&uid=${formik.values.user_type_id || 0}&wid=${formik.values.warehouse_id || warehouseid || 0}`, true));\r\n\r\n if (response) {\r\n setAllRoles(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const getUserTypes = async () => {\r\n\r\n setIsActive(true);\r\n const res = await dispatch(handleGetRequest(\"/api/Authentication/UserType\", true));\r\n if (res) {\r\n setUserTypes(res);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const getWarehouseData = async () => {\r\n\r\n setIsActive(true);\r\n const res = await dispatch(handleGetRequest(\"/api/Authentication/Warehouse\", true));\r\n if (res) {\r\n setWarehouseData(res);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n getUserTypes()\r\n getWarehouseData()\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (warehouseid || formik.values.warehouse_id || formik.values.user_type_id) {\r\n getAllRoles()\r\n }\r\n\r\n }, [warehouseid, formik.values.warehouse_id, formik.values.user_type_id])\r\n\r\n //File Handling\r\n const handleIconClick = () => {\r\n const fileInput = document.createElement('input');\r\n fileInput.type = 'file';\r\n fileInput.accept = 'image/*';\r\n fileInput.onchange = handleChange;\r\n fileInput.click();\r\n };\r\n\r\n const handleChange = (event) => {\r\n processFile(event.target.files[0]);\r\n };\r\n\r\n const handleDrop = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (event.dataTransfer.files && event.dataTransfer.files.length > 0) {\r\n processFile(event.dataTransfer.files[0]);\r\n event.dataTransfer.clearData();\r\n }\r\n };\r\n\r\n const handleDragOver = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n\r\n const processFile = (event) => {\r\n const file = event;\r\n if (file) {\r\n const objectURL = URL.createObjectURL(file);\r\n setFileInfo({\r\n file: file, // Storing the actual File object\r\n objectURL: objectURL,\r\n lastModified: file.lastModified,\r\n lastModifiedDate: file.lastModifiedDate,\r\n name: file.name,\r\n size: file.size,\r\n type: file.type,\r\n webkitRelativePath: file.webkitRelativePath || \"\"\r\n });\r\n }\r\n };\r\n\r\n const handleRemoveImage = () => {\r\n if (showImage) {\r\n URL.revokeObjectURL(fileInfo.objectURL); // Free up memory by releasing object URL\r\n setShowImage('')\r\n setEditableRemoved(true)\r\n }\r\n if (fileInfo) {\r\n URL.revokeObjectURL(fileInfo.objectURL); // Free up memory by releasing object URL\r\n setShowImage('')\r\n }\r\n setFileInfo(null);\r\n };\r\n\r\n //Generate User Id\r\n const handleGenerateUserId = () => {\r\n const newUserId = generateRandomUserId();\r\n formik.setFieldValue('user_id', newUserId);\r\n };\r\n\r\n const generateRandomUserId = () => {\r\n const length = 4;\r\n const charset = \"0123456789\";\r\n let userId = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n userId += charset[randomIndex];\r\n }\r\n\r\n return userId;\r\n };\r\n\r\n const handleGenerateUserId2 = () => {\r\n const newUserId = generateRandomUserId2();\r\n formik.setFieldValue('user_id2', newUserId);\r\n };\r\n\r\n const generateRandomUserId2 = () => {\r\n const length = 4;\r\n const charset = \"0123456789\";\r\n let userId = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n userId += charset[randomIndex];\r\n }\r\n\r\n return userId;\r\n };\r\n\r\n //Generate RFID Code\r\n const handleGenerateCode = () => {\r\n const newCode = generateRandomCode();\r\n formik.setFieldValue('rfid_code', newCode);\r\n };\r\n\r\n const generateRandomCode = () => {\r\n const length = 10;\r\n const charset = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";\r\n let code = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n code += charset[randomIndex];\r\n }\r\n return code;\r\n };\r\n\r\n //Generate RFID Code 2\r\n const handleGenerateCode2 = () => {\r\n const newCode = generateRandomCode2();\r\n formik.setFieldValue('rfid_code_2', newCode);\r\n };\r\n\r\n const generateRandomCode2 = () => {\r\n const length = 10;\r\n const charset = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";\r\n let code = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * charset.length);\r\n code += charset[randomIndex];\r\n }\r\n return code;\r\n };\r\n\r\n return (\r\n\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n\r\n
    \r\n
    \r\n
    \r\n

    Add New User

    \r\n
    Add Details
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Profile Photo\r\n This image will be displayed on your profile\r\n
    \r\n
    \r\n
    \r\n {fileInfo || showImage ?\r\n
    \r\n \"Uploaded\"\r\n \r\n
    \r\n :\r\n null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Click to Upload or drag and drop\r\n \r\n \r\n JPG or PNG (Recommended size 500x500px)\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {roletypeid == '1' && !warehouseid || roletypeid == '2' && !warehouseid || isEditable && formik.values.warehouse_id && formik.values.user_type_id ?\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n {\r\n formik.handleChange(e);\r\n setUserTypeAs(e.value);\r\n }}\r\n className=\"p-inputtext-sm\"\r\n >\r\n \r\n {getFormErrorMessage(\"user_type_id\")}\r\n \r\n
    \r\n
    \r\n\r\n {formik.values.user_type_id == 2 ?\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"warehouse_id\")}\r\n \r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"user_name_2\")}\r\n \r\n
    \r\n
    \r\n }\r\n\r\n
    \r\n {formik.values.user_type_id == 2 ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"contact_2\")}\r\n \r\n
    \r\n :\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"rfid_code_2\")}\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {formik.values.user_type_id == 1 || formik.values.user_type_id === '' ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"role_2\")}\r\n \r\n
    \r\n :\r\n formik.values.user_type_id === 2 ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"user_name_2\")}\r\n \r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"email_2\")}\r\n \r\n
    \r\n
    \r\n
    \r\n {formik.values.user_type_id !== 2 ?\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"contact_2\")}\r\n \r\n
    \r\n :\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"user_id2\")}\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n \r\n :\r\n null}\r\n\r\n {/* //fsdjf */}\r\n\r\n {formik.values.user_type_id !== 2 && !warehouseid ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"user_id2\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n :\r\n //Rfid \r\n null\r\n }\r\n {/* fdss */}\r\n\r\n {roletypeid == '2' && warehouseid && !formik.values.warehouse_id ?\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"user_id\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"user_name\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"email\")}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {getFormErrorMessage(\"rfid_code\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"role\")}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"contact\")}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n :\r\n null\r\n }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n )\r\n}\r\n\r\nexport default AddUsers","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\n\r\nconst ReplenishedItemReport = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const reportRef = useRef();\r\n const warehouseid = localStorage.getItem(\"warehouseid\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate());\r\n const [toDate, setToDate] = useState(moment().toDate());\r\n const [ReplenishedItemReport, setReplenishedItemReport] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([]);\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n name: true,\r\n categoryName: true,\r\n sub_Category_Name: true,\r\n brandName: true,\r\n sku: true,\r\n unitofmeasurementName: true,\r\n bal_qty: true,\r\n min_t_value: true,\r\n replenishQty: true\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const filterColumns = Object.keys(columnVisibility).filter(column => columnVisibility[column]);\r\n\r\n const visibleColumns = Object.keys(columnVisibility)?.map((column, i) => {\r\n if (filterColumns.length === 0) {\r\n return column\r\n } else {\r\n return filterColumns[i]\r\n }\r\n }).filter(Boolean)\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct.length > 0 ? selectedProduct : ReplenishedItemReport;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let currentDate = new Date();\r\n\r\n let dateString = currentDate.toISOString().slice(0, 10);\r\n\r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n\r\n let filename = `ReplenishedItemReport-${dateString}.csv`;\r\n\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => {\r\n return (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n )\r\n };\r\n\r\n const replenishedItemDetail = () => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n setFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setToDate(e?.target?.value)} />\r\n
    \r\n\r\n
    \r\n
    \r\n exportCSV()}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getReplenishedReport = async () => {\r\n setIsActive(true);\r\n const from_Date = fromDate ? moment(fromDate).format('YYYY-MM-DD') : null;\r\n const to_Date = toDate ? moment(toDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetReplenishedReport?fromdate=${from_Date}&todate=${to_Date}&warehouse_id=${warehouseid || 0}`));\r\n if (response?.statusCode === \"200\") {\r\n setReplenishedItemReport(response?.body);\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n useEffect(() => {\r\n if (fromDate && toDate) {\r\n getReplenishedReport();\r\n }\r\n }, [fromDate, toDate]);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Replenished Item Report\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n setSelectedProduct(e?.value)}\r\n header={replenishedItemDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"bal_qty\",\r\n \"min_t_value\",\r\n \"replenishQty\",\r\n \"unitofmeasurementName\",\r\n \"categoryName\",\r\n \"sub_Category_Name\",\r\n \"brandName\",\r\n \"sku\",\r\n \"unitofmeasurementName\",\r\n ]}\r\n className='report_datatable'\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n >\r\n \r\n rowData?.name || 'N/A'}>\r\n rowData?.categoryName || 'N/A'}>\r\n rowData?.sub_Category_Name || 'N/A'}>\r\n rowData?.brandName || 'N/A'}>\r\n rowData?.sku || 'N/A'}>\r\n rowData?.unitofmeasurementName || 'N/A'}>\r\n rowData?.bal_qty || 'N/A'}>\r\n rowData?.min_t_value || 'N/A'}>\r\n rowData?.replenishQty || 'N/A'}>\r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default ReplenishedItemReport;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { Toolbar } from 'primereact/toolbar';\r\n\r\nconst TotalRegisteredAssets = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const reportRef = useRef();\r\n const warehouseid = localStorage.getItem(\"warehouseid\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate());\r\n const [toDate, setToDate] = useState(moment().toDate());\r\n const [ReplenishedItemReport, setReplenishedItemReport] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([]);\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n name: true,\r\n categoryName: true,\r\n sub_Category_Name: true,\r\n brandName: true,\r\n sku: true,\r\n unitofmeasurementName: true,\r\n vendorName: true,\r\n rfid: true,\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const visibleColumns = Object.keys(columnVisibility).filter(column => columnVisibility[column]);\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct.length > 0 ? selectedProduct : ReplenishedItemReport;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n\r\n let currentDate = new Date();\r\n let dateString = currentDate.toISOString().slice(0, 10); \r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n let filename = `RegisteredAssetsReport-${dateString}.csv`;\r\n link.setAttribute('download', filename);\r\n \r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n );\r\n\r\n const registeredAssetsDetail = () => (\r\n <>\r\n
    \r\n
    \r\n exportCSV()}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getRegisteredAssets = async () => {\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Reporting/GetAssetReport?warehouse_id=${warehouseid || 0}`));\r\n if (response?.statusCode === \"200\") {\r\n setReplenishedItemReport(response?.body);\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n useEffect(() => {\r\n getRegisteredAssets();\r\n }, [fromDate, toDate]);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Registered Asset Details\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n }\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n setSelectedProduct(e?.value)}\r\n header={registeredAssetsDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"bal_qty\",\r\n \"min_t_value\",\r\n \"replenishQty\",\r\n \"unitofmeasurementName\",\r\n \"categoryName\",\r\n \"sub_Category_Name\",\r\n \"brandName\",\r\n \"sku\",\r\n \"rfid\",\r\n \"vendorName\",\r\n \"unitofmeasurementName\",\r\n ]}\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n >\r\n \r\n rowData?.name || 'N/A'}>\r\n rowData?.categoryName || 'N/A'}>\r\n rowData?.sub_Category_Name || 'N/A'}>\r\n rowData?.rfid || 'N/A'}>\r\n rowData?.brandName || 'N/A'}>\r\n rowData?.vendorName || 'N/A'}>\r\n rowData?.sku || 'N/A'}>\r\n rowData?.unitofmeasurementName || 'N/A'}>\r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default TotalRegisteredAssets;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { Toolbar } from 'primereact/toolbar';\r\n\r\nconst TotalRegisteredInventory = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const reportRef = useRef();\r\n const warehouseid = localStorage.getItem(\"warehouseid\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate());\r\n const [toDate, setToDate] = useState(moment().toDate());\r\n const [RegisteredInventory, setRegisteredInventory] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([]);\r\n const [visible, setVisible] = useState(false);\r\n const [dialogContent, setDialogContent] = useState('');\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n name: true,\r\n categoryName: true,\r\n sub_Category_Name: true,\r\n brandName: true,\r\n sku: true,\r\n unitofmeasurementName: true,\r\n description: true,\r\n vendorName: true,\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const visibleColumns = Object.keys(columnVisibility).filter(column => columnVisibility[column]);\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct.length > 0 ? selectedProduct : RegisteredInventory;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let currentDate = new Date();\r\n\r\n let dateString = currentDate.toISOString().slice(0, 10);\r\n\r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n\r\n let filename = `RegisteredInvReport-${dateString}.csv`;\r\n\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n );\r\n\r\n const registeredInventoryDetail = () => (\r\n <>\r\n
    \r\n {/*
    \r\n
    \r\n \r\n setFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setToDate(e?.target?.value)} />\r\n
    \r\n
    */}\r\n
    \r\n exportCSV()}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getRegisteredInventory = async () => {\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Reporting/GetInventoryReport?warehouse_id=${warehouseid || 0}`));\r\n if (response?.statusCode === \"200\") {\r\n setRegisteredInventory(response?.body);\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n const showDescription = (event, rowData) => {\r\n event.stopPropagation();\r\n setDialogContent(rowData?.description)\r\n setVisible(true);\r\n }\r\n\r\n const descriptionTemplate = (rowData) => (\r\n rowData?.description?.length > 20 ?\r\n
    \r\n {rowData?.description} \r\n showDescription(event, rowData)} >\r\n
    \r\n :\r\n rowData?.description ?\r\n
    {rowData?.description}
    \r\n :\r\n N/A\r\n )\r\n\r\n useEffect(() => {\r\n getRegisteredInventory();\r\n\r\n }, []);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Registered Inventory Details\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n }\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n setSelectedProduct(e?.value)}\r\n header={registeredInventoryDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"bal_qty\",\r\n \"min_t_value\",\r\n \"replenishQty\",\r\n \"vendorName\",\r\n \"unitofmeasurementName\",\r\n \"categoryName\",\r\n \"sub_Category_Name\",\r\n \"brandName\",\r\n \"sku\",\r\n \"unitofmeasurementName\",\r\n ]}\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n >\r\n \r\n rowData?.name || 'N/A'}>\r\n rowData?.vendorName || 'N/A'}>\r\n rowData?.categoryName || 'N/A'}>\r\n rowData?.sub_Category_Name || 'N/A'}>\r\n rowData?.brandName || 'N/A'}>\r\n rowData?.sku || 'N/A'}>\r\n rowData?.unitofmeasurementName || 'N/A'}>\r\n \r\n \r\n \r\n event.stopPropagation()} onHide={() => { if (!visible) return; setVisible(false); }}>\r\n

    {dialogContent}

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default TotalRegisteredInventory;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { Toolbar } from 'primereact/toolbar';\r\n\r\nconst VendorInventoryList = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const reportRef = useRef();\r\n const warehouseid = localStorage.getItem(\"warehouseid\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate());\r\n const [toDate, setToDate] = useState(moment().toDate());\r\n const [vendorInvList, setVendorInvList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([]);\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n name: true,\r\n categoryName: true,\r\n sub_Category_Name: true,\r\n brandName: true,\r\n sku: true,\r\n unitofmeasurementName: true,\r\n totalQuantity: true,\r\n vendorName: true,\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const visibleColumns = Object.keys(columnVisibility).filter(column => columnVisibility[column]);\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct.length > 0 ? selectedProduct : vendorInvList;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let currentDate = new Date();\r\n\r\n let dateString = currentDate.toISOString().slice(0, 10);\r\n\r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n\r\n let filename = `VendorInvReport-${dateString}.csv`;\r\n\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n );\r\n\r\n const vendorInventoryDetail = () => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n setFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setToDate(e?.target?.value)} />\r\n
    \r\n\r\n
    \r\n
    \r\n exportCSV()}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getVendorInvList = async () => {\r\n setIsActive(true);\r\n const from_Date = fromDate ? moment(fromDate).format('YYYY-MM-DD') : null;\r\n const to_Date = toDate ? moment(toDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Reporting/GetVendorByInventory?fromdate=${from_Date}&todate=${to_Date}&warehouse_id=${warehouseid || 0}`));\r\n if (response?.statusCode === \"200\") {\r\n setVendorInvList(response?.body);\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n useEffect(() => {\r\n if (fromDate && toDate) {\r\n getVendorInvList();\r\n }\r\n }, [fromDate, toDate]);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Inventory list by Vendor\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n }\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n setSelectedProduct(e?.value)}\r\n header={vendorInventoryDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"vendorName\",\r\n \"totalQuantity\",\r\n \"unitofmeasurementName\",\r\n \"categoryName\",\r\n \"sub_Category_Name\",\r\n \"brandName\",\r\n \"sku\",\r\n \"unitofmeasurementName\",\r\n ]}\r\n sortField='totalQuantity'\r\n sortOrder={-1}\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n >\r\n \r\n rowData?.vendorName || 'N/A'}>\r\n rowData?.name || 'N/A'}>\r\n rowData?.categoryName || 'N/A'}>\r\n rowData?.sub_Category_Name || 'N/A'}>\r\n rowData?.brandName || 'N/A'}>\r\n rowData?.sku || 'N/A'}>\r\n rowData?.unitofmeasurementName || 'N/A'}>\r\n rowData?.totalQuantity || 'N/A'}>\r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default VendorInventoryList;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { Toolbar } from 'primereact/toolbar';\r\n\r\nconst VendorAssetList = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const reportRef = useRef();\r\n const warehouseid = localStorage.getItem(\"warehouseid\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate());\r\n const [toDate, setToDate] = useState(moment().toDate());\r\n const [vendorAssetList, setVendorAssetList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([]);\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n name: true,\r\n categoryName: true,\r\n sub_Category_Name: true,\r\n brandName: true,\r\n sku: true,\r\n unitofmeasurementName: true,\r\n totalQuantity: true,\r\n vendorName: true,\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const visibleColumns = Object.keys(columnVisibility).filter(column => columnVisibility[column]);\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct.length > 0 ? selectedProduct : vendorAssetList;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let currentDate = new Date();\r\n\r\n let dateString = currentDate.toISOString().slice(0, 10);\r\n\r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n\r\n let filename = `VendorAssetReport-${dateString}.csv`;\r\n\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n );\r\n\r\n const vendorAssetItemDetail = () => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n setFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setToDate(e?.target?.value)} />\r\n
    \r\n\r\n
    \r\n
    \r\n exportCSV()}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getVendorAssetList = async () => {\r\n setIsActive(true);\r\n const from_Date = fromDate ? moment(fromDate).format('YYYY-MM-DD') : null;\r\n const to_Date = toDate ? moment(toDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Reporting/GetVendorByAssets?fromdate=${from_Date}&todate=${to_Date}&warehouse_id=${warehouseid || 0}`));\r\n if (response?.statusCode === \"200\") {\r\n setVendorAssetList(response?.body);\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n useEffect(() => {\r\n if (fromDate && toDate) {\r\n getVendorAssetList();\r\n }\r\n }, [fromDate, toDate]);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Asset list by Vendor\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n }\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n setSelectedProduct(e?.value)}\r\n header={vendorAssetItemDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"vendorName\",\r\n \"unitofmeasurementName\",\r\n \"categoryName\",\r\n \"sub_Category_Name\",\r\n \"brandName\",\r\n \"sku\",\r\n \"unitofmeasurementName\",\r\n ]}\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n >\r\n \r\n rowData?.vendorName || 'N/A'}>\r\n rowData?.name || 'N/A'}>\r\n rowData?.categoryName || 'N/A'}>\r\n rowData?.sub_Category_Name || 'N/A'}>\r\n rowData?.brandName || 'N/A'}>\r\n rowData?.sku || 'N/A'}>\r\n rowData?.unitofmeasurementName || 'N/A'}>\r\n {/* rowData?.totalQuantity || 'N/A'}> */}\r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default VendorAssetList;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { Toolbar } from 'primereact/toolbar';\r\n\r\nconst AssetBorrowItems = () => {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const reportRef = useRef();\r\n const warehouseid = localStorage.getItem(\"warehouseid\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate());\r\n const [toDate, setToDate] = useState(moment().toDate());\r\n const [assetBorrowList, setAssetBorrowList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([]);\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n asset_Name: true,\r\n vendoR_NAME: true,\r\n category_name: true,\r\n subcategory_name: true,\r\n brand_name: true,\r\n sku_code: true,\r\n rfid: true,\r\n unit: true,\r\n borrow_date: true,\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const visibleColumns = Object.keys(columnVisibility).filter(column => columnVisibility[column]);\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct.length > 0 ? selectedProduct : assetBorrowList;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let currentDate = new Date();\r\n\r\n let dateString = currentDate.toISOString().slice(0, 10);\r\n\r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n\r\n let filename = `BorrowAssetsReport-${dateString}.csv`;\r\n\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n );\r\n\r\n const borrowedItemDetail = () => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n setFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setToDate(e?.target?.value)} />\r\n
    \r\n\r\n
    \r\n
    \r\n exportCSV()}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getBorrowItemList = async () => {\r\n setIsActive(true);\r\n const from_Date = fromDate ? moment(fromDate).format('YYYY-MM-DD') : null;\r\n const to_Date = toDate ? moment(toDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Reporting/GetBorrowByOutstanding?fromdate=${from_Date}&todate=${to_Date}&warehouse_id=${warehouseid || 0}`));\r\n if (response?.statusCode === \"200\") {\r\n setAssetBorrowList(response?.body);\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n useEffect(() => {\r\n if (fromDate && toDate) {\r\n getBorrowItemList();\r\n }\r\n }, [fromDate, toDate]);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Borrowed items list by date\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n }\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n setSelectedProduct(e?.value)}\r\n header={borrowedItemDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"vendorName\",\r\n \"unitofmeasurementName\",\r\n \"categoryName\",\r\n \"sub_Category_Name\",\r\n \"brandName\",\r\n \"sku\",\r\n \"unitofmeasurementName\",\r\n ]}\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n >\r\n \r\n rowData?.asset_Name || 'N/A'}>\r\n rowData?.vendoR_NAME || 'N/A'}>\r\n rowData?.category_name || 'N/A'}>\r\n rowData?.subcategory_name || 'N/A'}>\r\n rowData?.brand_name || 'N/A'}>\r\n rowData?.sku_code || 'N/A'}>\r\n rowData?.rfid || 'N/A'}>\r\n rowData?.unit || 'N/A'}>\r\n moment(rowData?.borrow_date).format('DD-MM-YYYY') || 'N/A'}>\r\n {/* rowData?.totalQuantity || 'N/A'}> */}\r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default AssetBorrowItems;\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { Toolbar } from 'primereact/toolbar';\r\nimport moment from 'moment';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { Checkbox } from 'primereact/checkbox';\r\n\r\nconst InventoryValueReport = () => {\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n const reportRef = useRef()\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const [isActive, setIsActive] = useState(false)\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate())\r\n const [toDate, setToDate] = useState(moment().toDate())\r\n const [inventoryValueReport, setInventoryValueReport] = useState([])\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([])\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n name: true,\r\n categoryName: true,\r\n sub_Category_Name: true,\r\n brandName: true,\r\n sku: true,\r\n unitofmeasurementName: true,\r\n cost: true\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const filterColumns = Object.keys(columnVisibility).filter(column => columnVisibility[column]);\r\n\r\n const visibleColumns = Object.keys(columnVisibility)?.map((column, i) => {\r\n if (filterColumns.length === 0) {\r\n return column\r\n } else {\r\n return filterColumns[i]\r\n }\r\n }).filter(Boolean)\r\n\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct.length > 0 ? selectedProduct : inventoryValueReport;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let currentDate = new Date();\r\n\r\n let dateString = currentDate.toISOString().slice(0, 10);\r\n\r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n\r\n let filename = `InvValueReport-${dateString}.csv`;\r\n\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => {\r\n return (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n )\r\n };\r\n\r\n\r\n const InventoryValueDetail = () => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n setFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setToDate(e?.target?.value)} />\r\n
    \r\n\r\n
    \r\n
    \r\n exportCSV()}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getInventoryValueReport = async () => {\r\n setIsActive(true)\r\n const from_Date = fromDate ? moment(fromDate).format('YYYY-MM-DD') : null;\r\n const to_Date = toDate ? moment(toDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Reporting/GetInventoryReportByvalue?fromdate=${from_Date}&todate=${to_Date}&warehouse_id=${warehouseid || 0}`))\r\n if (response?.statusCode === \"200\") {\r\n setInventoryValueReport(response?.body)\r\n }\r\n setIsActive(false)\r\n }\r\n useEffect(() => {\r\n if (fromDate && toDate) {\r\n getInventoryValueReport()\r\n }\r\n }, [fromDate, toDate])\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Inventory value report\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n setSelectedProduct(e?.value)}\r\n header={InventoryValueDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"unitofmeasurementName\",\r\n \"categoryName\",\r\n \"sub_Category_Name\",\r\n \"brandName\",\r\n \"sku\",\r\n \"unitofmeasurementName\",\r\n \"cost\"\r\n ]}\r\n className='report_datatable'\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n\r\n >\r\n \r\n rowData?.name || 'N/A'} >\r\n rowData?.categoryName || 'N/A'} >\r\n rowData?.sub_Category_Name || 'N/A'}>\r\n rowData?.brandName || 'N/A'} >\r\n rowData?.sku || 'N/A'} >\r\n rowData?.unitofmeasurementName || 'N/A'} >\r\n rowData?.cost || 'N/A'} >\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n )\r\n}\r\n\r\nexport default InventoryValueReport\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { Toolbar } from 'primereact/toolbar';\r\nimport moment from 'moment';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { Checkbox } from 'primereact/checkbox';\r\n\r\nconst InventoryQuantityReport = () => {\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n const reportRef = useRef()\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const [isActive, setIsActive] = useState(false)\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate())\r\n const [toDate, setToDate] = useState(moment().toDate())\r\n const [invQtyReport, setInvQtyReport] = useState([])\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([])\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n name: true,\r\n categoryName: true,\r\n sub_Category_Name: true,\r\n brandName: true,\r\n sku: true,\r\n unitofmeasurementName: true,\r\n quantity: true\r\n });\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const filterColumns = Object.keys(columnVisibility)?.filter(column => columnVisibility[column]);\r\n\r\n const visibleColumns = Object.keys(columnVisibility)?.map((column, i) => {\r\n if (filterColumns?.length === 0) {\r\n return column\r\n } else {\r\n return filterColumns[i]\r\n }\r\n }).filter(Boolean)\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct?.length > 0 ? selectedProduct : invQtyReport;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let currentDate = new Date();\r\n\r\n let dateString = currentDate.toISOString().slice(0, 10);\r\n\r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n\r\n let filename = `InvQuantityReport-${dateString}.csv`;\r\n\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => {\r\n return (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n )\r\n };\r\n\r\n\r\n\r\n const inventoryQuantityDetail = () => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n setFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setToDate(e?.target?.value)} />\r\n
    \r\n\r\n
    \r\n
    \r\n exportCSV()}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getInventoryQuantityReport = async () => {\r\n setIsActive(true)\r\n const from_Date = fromDate ? moment(fromDate).format('YYYY-MM-DD') : null;\r\n const to_Date = toDate ? moment(toDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Reporting/GetInventoryReportByQuantity?fromdate=${from_Date}&todate=${to_Date}&warehouse_id=${warehouseid || 0}`))\r\n if (response?.statusCode === \"200\") {\r\n setInvQtyReport(response?.body)\r\n }\r\n setIsActive(false)\r\n }\r\n useEffect(() => {\r\n if (fromDate && toDate) {\r\n getInventoryQuantityReport()\r\n }\r\n }, [fromDate, toDate])\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Inventory quantity report\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n setSelectedProduct(e?.value)}\r\n header={inventoryQuantityDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"quantity\",\r\n \"unitofmeasurementName\",\r\n \"categoryName\",\r\n \"sub_Category_Name\",\r\n \"brandName\",\r\n \"sku\",\r\n \"unitofmeasurementName\",\r\n ]}\r\n className='report_datatable'\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n\r\n >\r\n \r\n rowData?.name || 'N/A'} >\r\n rowData?.categoryName || 'N/A'} >\r\n rowData?.sub_Category_Name || 'N/A'}>\r\n rowData?.brandName || 'N/A'} >\r\n rowData?.sku || 'N/A'} >\r\n rowData?.unitofmeasurementName || 'N/A'} >\r\n rowData?.quantity || 'N/A'} >\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n )\r\n}\r\n\r\nexport default InventoryQuantityReport\r\n\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { Dropdown } from 'primereact/dropdown';\r\n\r\nconst InventoryByWarehouse = () => {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const reportRef = useRef();\r\n const [isActive, setIsActive] = useState(false);\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate());\r\n const [toDate, setToDate] = useState(moment().toDate());\r\n const [invWhList, setInvWhList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([]);\r\n const [warehouseid, setWarehouseId] = useState(null);\r\n const [visible, setVisible] = useState(false);\r\n const [dialogContent, setDialogContent] = useState('');\r\n const [allWH, setAllWH] = useState([])\r\n\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n name: true,\r\n category_name: true,\r\n subcategory_name: true,\r\n vendoR_NAME: true,\r\n min_t_value: true,\r\n warehouse: true,\r\n description: true,\r\n brand_name: true,\r\n unit: true,\r\n bal_qty: true,\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const visibleColumns = Object.keys(columnVisibility).filter(column => columnVisibility[column]);\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct.length > 0 ? selectedProduct : invWhList;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let currentDate = new Date();\r\n\r\n let dateString = currentDate.toISOString().slice(0, 10);\r\n\r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n\r\n let filename = `InvByWarehouseReport-${dateString}.csv`;\r\n\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n );\r\n\r\n const invWarehouseDetail = () => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n setFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setToDate(e?.target?.value)} />\r\n
    \r\n\r\n
    \r\n
    \r\n exportCSV()}\r\n />\r\n setWarehouseId(e.value)}\r\n className=\"custom-dropdown ml-4\"\r\n >\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getInvList = async () => {\r\n\r\n setIsActive(true);\r\n const from_Date = fromDate ? moment(fromDate).format('YYYY-MM-DD') : null;\r\n const to_Date = toDate ? moment(toDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Reporting/GetInventoryBylocation?fromdate=${from_Date}&todate=${to_Date}&warehouse_id=${warehouseid || 0}`));\r\n if (response?.statusCode === \"200\") {\r\n setInvWhList(response?.body);\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n //Get WH List\r\n const getWHList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllWarehouse`, true));\r\n if (response) {\r\n setAllWH(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const showDescription = (event,rowData) => {\r\n event.stopPropagation();\r\n setDialogContent(rowData?.description)\r\n setVisible(true);\r\n }\r\n\r\n const descriptionTemplate = (rowData) => (\r\n rowData?.description?.length > 20 ?\r\n
    \r\n {rowData?.description} \r\n showDescription(event,rowData)} >\r\n
    \r\n :\r\n rowData?.description ?\r\n
    {rowData?.description}
    \r\n :\r\n N/A\r\n )\r\n\r\n useEffect(() => {\r\n if ((fromDate && toDate) || warehouseid) {\r\n getInvList();\r\n getWHList()\r\n }\r\n }, [fromDate, toDate, warehouseid]);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Inventory List\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n }\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n setSelectedProduct(e?.value)}\r\n header={invWarehouseDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"category_name\",\r\n \"subcategory_name\",\r\n \"vendoR_NAME\",\r\n \"min_t_value\",\r\n \"warehouse\",\r\n \"description\",\r\n \"brand_name\",\r\n \"unit\",\r\n \"bal_qty\",\r\n ]}\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n >\r\n \r\n rowData?.warehouse || 'N/A'}>\r\n rowData?.name || 'N/A'}>\r\n rowData?.category_name || 'N/A'}>\r\n rowData?.subcategory_name || 'N/A'}>\r\n rowData?.vendoR_NAME || 'N/A'}>\r\n rowData?.brand_name || 'N/A'}>\r\n rowData?.unit || 'N/A'}>\r\n rowData?.min_t_value || 'N/A'}>\r\n rowData?.bal_qty || 'N/A'}>\r\n \r\n \r\n \r\n\r\n event.stopPropagation()} onHide={() => { if (!visible) return; setVisible(false); }}>\r\n

    {dialogContent}

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default InventoryByWarehouse;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { Dropdown } from 'primereact/dropdown';\r\n\r\nconst InventoryByUsers = () => {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const reportRef = useRef();\r\n const [isActive, setIsActive] = useState(false);\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate());\r\n const [toDate, setToDate] = useState(moment().toDate());\r\n const [invWhList, setInvWhList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([]);\r\n const [warehouseid, setWarehouseId] = useState(null);\r\n const [visible, setVisible] = useState(false);\r\n const [dialogContent, setDialogContent] = useState('');\r\n const [allWH, setAllWH] = useState([])\r\n\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n name: true,\r\n category_name: true,\r\n subcategory_name: true,\r\n vendoR_NAME: true,\r\n min_t_value: true,\r\n warehouse: true,\r\n description: true,\r\n brand_name: true,\r\n unit: true,\r\n bal_qty: true,\r\n userName: true,\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const visibleColumns = Object.keys(columnVisibility).filter(column => columnVisibility[column]);\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct.length > 0 ? selectedProduct : invWhList;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let currentDate = new Date();\r\n\r\n let dateString = currentDate.toISOString().slice(0, 10);\r\n\r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n\r\n let filename = `InvByUsersReport-${dateString}.csv`;\r\n\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n );\r\n\r\n const invWarehouseDetail = () => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n setFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setToDate(e?.target?.value)} />\r\n
    \r\n\r\n
    \r\n
    \r\n exportCSV()}\r\n />\r\n setWarehouseId(e.value)}\r\n className=\"custom-dropdown ml-4\"\r\n >\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getInvList = async () => {\r\n\r\n setIsActive(true);\r\n const from_Date = fromDate ? moment(fromDate).format('YYYY-MM-DD') : null;\r\n const to_Date = toDate ? moment(toDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Reporting/GetInventoryBylocation?fromdate=${from_Date}&todate=${to_Date}&warehouse_id=${warehouseid || 0}`));\r\n if (response?.statusCode === \"200\") {\r\n setInvWhList(response?.body);\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n //Get WH List\r\n const getWHList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllWarehouse`, true));\r\n if (response) {\r\n setAllWH(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const showDescription = (event, rowData) => {\r\n event.stopPropagation();\r\n setDialogContent(rowData?.description)\r\n setVisible(true);\r\n }\r\n\r\n const descriptionTemplate = (rowData) => (\r\n rowData?.description?.length > 20 ?\r\n
    \r\n {rowData?.description} \r\n showDescription(event, rowData)} >\r\n
    \r\n :\r\n rowData?.description ?\r\n
    {rowData?.description}
    \r\n :\r\n N/A\r\n )\r\n\r\n useEffect(() => {\r\n if ((fromDate && toDate) || warehouseid) {\r\n getInvList();\r\n getWHList()\r\n }\r\n }, [fromDate, toDate, warehouseid]);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Inventory by Users List\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n }\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n setSelectedProduct(e?.value)}\r\n header={invWarehouseDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"category_name\",\r\n \"subcategory_name\",\r\n \"vendoR_NAME\",\r\n \"min_t_value\",\r\n \"warehouse\",\r\n \"description\",\r\n \"brand_name\",\r\n \"unit\",\r\n \"bal_qty\",\r\n \"userName\",\r\n ]}\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n >\r\n \r\n rowData?.warehouse || 'N/A'}>\r\n rowData?.userName || 'N/A'}>\r\n rowData?.name || 'N/A'}>\r\n rowData?.category_name || 'N/A'}>\r\n rowData?.subcategory_name || 'N/A'}>\r\n rowData?.vendoR_NAME || 'N/A'}>\r\n rowData?.brand_name || 'N/A'}>\r\n rowData?.unit || 'N/A'}>\r\n rowData?.min_t_value || 'N/A'}>\r\n rowData?.bal_qty || 'N/A'}>\r\n \r\n \r\n \r\n event.stopPropagation()} onHide={() => { if (!visible) return; setVisible(false); }}>\r\n

    {dialogContent}

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default InventoryByUsers;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { Dropdown } from 'primereact/dropdown';\r\n\r\nconst InventoryByValueClient = () => {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const reportRef = useRef();\r\n const [isActive, setIsActive] = useState(false);\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate());\r\n const [toDate, setToDate] = useState(moment().toDate());\r\n const [invValueClientList, setInvValueClientList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([]);\r\n const [warehouseid, setWarehouseId] = useState(null);\r\n const [allWH, setAllWH] = useState([])\r\n\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n name: true,\r\n category_name: true,\r\n userName: true,\r\n subcategory_name: true,\r\n vendoR_NAME: true,\r\n min_t_value: true,\r\n warehouse: true,\r\n description: true,\r\n brand_name: true,\r\n unit: true,\r\n totalCost: true,\r\n \r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const visibleColumns = Object.keys(columnVisibility).filter(column => columnVisibility[column]);\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct.length > 0 ? selectedProduct : invValueClientList;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let currentDate = new Date();\r\n\r\n let dateString = currentDate.toISOString().slice(0, 10);\r\n\r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n\r\n let filename = `InvValueReport-${dateString}.csv`;\r\n\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n );\r\n\r\n const invWarehouseDetail = () => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n setFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setToDate(e?.target?.value)} />\r\n
    \r\n\r\n
    \r\n
    \r\n exportCSV()}\r\n />\r\n setWarehouseId(e.value)}\r\n className=\"custom-dropdown ml-4\"\r\n >\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getInvList = async () => {\r\n\r\n setIsActive(true);\r\n const from_Date = fromDate ? moment(fromDate).format('YYYY-MM-DD') : null;\r\n const to_Date = toDate ? moment(toDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Reporting/GetReportItemsByValue?fromdate=${from_Date}&todate=${to_Date}&warehouse_id=${warehouseid || 0}`));\r\n if (response?.statusCode === \"200\") {\r\n setInvValueClientList(response?.body);\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n //Get WH List\r\n const getWHList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllWarehouse`, true));\r\n if (response) {\r\n setAllWH(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n if ((fromDate && toDate) || warehouseid) {\r\n getInvList();\r\n getWHList()\r\n }\r\n }, [fromDate, toDate, warehouseid]);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Inventory by value for each user\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n }\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n setSelectedProduct(e?.value)}\r\n header={invWarehouseDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"category_name\",\r\n \"subcategory_name\",\r\n \"vendoR_NAME\",\r\n \"min_t_value\",\r\n \"warehouse\",\r\n \"description\",\r\n \"brand_name\",\r\n \"unit\",\r\n \"bal_qty\",\r\n \"userName\",\r\n ]}\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n >\r\n \r\n rowData?.warehouse || 'N/A'}>\r\n rowData?.userName || 'N/A'}>\r\n rowData?.name || 'N/A'}>\r\n rowData?.category_name || 'N/A'}>\r\n rowData?.subcategory_name || 'N/A'}>\r\n rowData?.vendoR_NAME || 'N/A'}>\r\n rowData?.brand_name || 'N/A'}>\r\n rowData?.unit || 'N/A'}>\r\n rowData?.totalCost || 'N/A'}>\r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default InventoryByValueClient;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { Dropdown } from 'primereact/dropdown';\r\n\r\nconst VendorsForAssetClient = () => {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const reportRef = useRef();\r\n const [isActive, setIsActive] = useState(false);\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate());\r\n const [toDate, setToDate] = useState(moment().toDate());\r\n const [assetVendorReport, setAssetVendorReport] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([]);\r\n const [warehouseid, setWarehouseId] = useState(null);\r\n const [visible, setVisible] = useState(false);\r\n const [dialogContent, setDialogContent] = useState('');\r\n const [allWH, setAllWH] = useState([])\r\n\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n name: true,\r\n category_name: true,\r\n subcategory_name: true,\r\n vendoR_NAME: true,\r\n min_t_value: true,\r\n warehouse: true,\r\n description: true,\r\n brand_name: true,\r\n unit: true,\r\n bal_qty: true,\r\n userName: true,\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const visibleColumns = Object.keys(columnVisibility).filter(column => columnVisibility[column]);\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct.length > 0 ? selectedProduct : assetVendorReport;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let currentDate = new Date();\r\n\r\n let dateString = currentDate.toISOString().slice(0, 10);\r\n\r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n\r\n let filename = `AssetVendorsReport-${dateString}.csv`;\r\n\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n );\r\n\r\n const invWarehouseDetail = () => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n setFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setToDate(e?.target?.value)} />\r\n
    \r\n\r\n
    \r\n
    \r\n exportCSV()}\r\n />\r\n setWarehouseId(e.value)}\r\n className=\"custom-dropdown ml-4\"\r\n >\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getVendorAssetList = async () => {\r\n\r\n setIsActive(true);\r\n const from_Date = fromDate ? moment(fromDate).format('YYYY-MM-DD') : null;\r\n const to_Date = toDate ? moment(toDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Reporting/GetReportVendorByAsset?fromdate=${from_Date}&todate=${to_Date}&warehouse_id=${warehouseid || 0}`));\r\n if (response?.statusCode === \"200\") {\r\n setAssetVendorReport(response?.body);\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n //Get WH List\r\n const getWHList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllWarehouse`, true));\r\n if (response) {\r\n setAllWH(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const showDescription = (event, rowData) => {\r\n event.stopPropagation();\r\n setDialogContent(rowData?.description)\r\n setVisible(true);\r\n }\r\n\r\n const descriptionTemplate = (rowData) => (\r\n rowData?.description?.length > 20 ?\r\n
    \r\n {rowData?.description} \r\n showDescription(event, rowData)} >\r\n
    \r\n :\r\n rowData?.description ?\r\n
    {rowData?.description}
    \r\n :\r\n N/A\r\n )\r\n\r\n useEffect(() => {\r\n if ((fromDate && toDate) || warehouseid) {\r\n getVendorAssetList();\r\n getWHList()\r\n }\r\n }, [fromDate, toDate, warehouseid]);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Asset Vendors Report for Users\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n }\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n setSelectedProduct(e?.value)}\r\n header={invWarehouseDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"category_name\",\r\n \"subcategory_name\",\r\n \"vendoR_NAME\",\r\n \"min_t_value\",\r\n \"warehouse\",\r\n \"description\",\r\n \"brand_name\",\r\n \"unit\",\r\n \"bal_qty\",\r\n \"userName\",\r\n ]}\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n >\r\n \r\n rowData?.warehouse || 'N/A'}>\r\n rowData?.vendoR_NAME || 'N/A'}>\r\n rowData?.userName || 'N/A'}>\r\n rowData?.name || 'N/A'}>\r\n rowData?.category_name || 'N/A'}>\r\n rowData?.subcategory_name || 'N/A'}>\r\n {/* rowData?.vendoR_NAME || 'N/A'}> */}\r\n rowData?.brand_name || 'N/A'}>\r\n rowData?.unit || 'N/A'}>\r\n {/* rowData?.min_t_value || 'N/A'}> */}\r\n {/* rowData?.bal_qty || 'N/A'}> */}\r\n \r\n \r\n \r\n event.stopPropagation()} onHide={() => { if (!visible) return; setVisible(false); }}>\r\n

    {dialogContent}

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default VendorsForAssetClient;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { ConfirmPopup, confirmPopup } from 'primereact/confirmpopup';\r\n\r\nconst VendorsForInventoryClient = () => {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const reportRef = useRef();\r\n const [isActive, setIsActive] = useState(false);\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate());\r\n const [toDate, setToDate] = useState(moment().toDate());\r\n const [invVendorReport, setInvVendorReport] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([]);\r\n const [warehouseid, setWarehouseId] = useState(null);\r\n const [visible, setVisible] = useState(false);\r\n const [dialogContent, setDialogContent] = useState('');\r\n const [allWH, setAllWH] = useState([])\r\n const [visible2, setVisible2] = useState(false);\r\n const [vendorList, setVendorList] = useState('');\r\n const toast = useRef(null);\r\n const buttonEl = useRef(null);\r\n\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n name: true,\r\n category_name: true,\r\n subcategory_name: true,\r\n vendoR_NAME: true,\r\n min_t_value: true,\r\n warehouse: true,\r\n description: true,\r\n brand_name: true,\r\n unit: true,\r\n userName: true,\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n\r\n const accept = () => {\r\n // toast.current.show({ severity: 'info', summary: 'Confirmed' });\r\n };\r\n\r\n const reject = () => {\r\n // toast.current.show({ severity: 'warn', summary: 'Rejected' });\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const visibleColumns = Object.keys(columnVisibility).filter(column => columnVisibility[column]);\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct.length > 0 ? selectedProduct : invVendorReport;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let currentDate = new Date();\r\n\r\n let dateString = currentDate.toISOString().slice(0, 10);\r\n\r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n\r\n let filename = `InventoryVendorsReport-${dateString}.csv`;\r\n\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n );\r\n\r\n const invWarehouseDetail = () => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n setFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setToDate(e?.target?.value)} />\r\n
    \r\n
    \r\n
    \r\n exportCSV()}\r\n />\r\n setWarehouseId(e.value)}\r\n className=\"custom-dropdown ml-4\"\r\n >\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getVendorInvList = async () => {\r\n\r\n setIsActive(true);\r\n const from_Date = fromDate ? moment(fromDate).format('YYYY-MM-DD') : null;\r\n const to_Date = toDate ? moment(toDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Reporting/GetReportVendorByInventory?fromdate=${from_Date}&todate=${to_Date}&warehouse_id=${warehouseid || 0}`));\r\n if (response?.statusCode === \"200\") {\r\n setInvVendorReport(response?.body);\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n //Get WH List\r\n const getWHList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllWarehouse`, true));\r\n if (response) {\r\n setAllWH(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const showDescription = (event, rowData) => {\r\n event.stopPropagation();\r\n setDialogContent(rowData?.description)\r\n setVisible(true);\r\n }\r\n\r\n const showVendor = (event, rowData) => {\r\n setVendorList(rowData?.vendoR_NAME)\r\n event.stopPropagation();\r\n setVisible2(true);\r\n }\r\n\r\n const descriptionTemplate = (rowData) => (\r\n rowData?.description?.length > 20 ?\r\n
    \r\n {rowData?.description} \r\n showDescription(event, rowData)} >\r\n
    \r\n :\r\n rowData?.description ?\r\n
    {rowData?.description}
    \r\n :\r\n N/A\r\n )\r\n\r\n const vendorTemplate = (rowData) => (\r\n rowData?.vendoR_NAME?.includes(',') ?\r\n
    \r\n {rowData?.vendoR_NAME} \r\n showVendor(event, rowData)} >\r\n
    \r\n :\r\n rowData?.vendoR_NAME ?\r\n
    {rowData?.vendoR_NAME}
    \r\n :\r\n N/A\r\n )\r\n\r\n useEffect(() => {\r\n if ((fromDate && toDate) || warehouseid) {\r\n getVendorInvList();\r\n getWHList()\r\n }\r\n }, [fromDate, toDate, warehouseid]);\r\n\r\n return (\r\n <>\r\n
    \r\n\r\n
    \r\n

    \r\n Inventory Vendors Report for Users\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n }\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n setSelectedProduct(e?.value)}\r\n header={invWarehouseDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"category_name\",\r\n \"subcategory_name\",\r\n \"vendoR_NAME\",\r\n \"min_t_value\",\r\n \"warehouse\",\r\n \"description\",\r\n \"brand_name\",\r\n \"unit\",\r\n \"userName\",\r\n ]}\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n >\r\n \r\n rowData?.warehouse || 'N/A'}>\r\n \r\n rowData?.userName || 'N/A'}>\r\n rowData?.name || 'N/A'}>\r\n rowData?.category_name || 'N/A'}>\r\n rowData?.subcategory_name || 'N/A'}>\r\n {/* rowData?.vendoR_NAME || 'N/A'}> */}\r\n rowData?.brand_name || 'N/A'}>\r\n rowData?.unit || 'N/A'}>\r\n \r\n \r\n \r\n event.stopPropagation()} onHide={() => { if (!visible) return; setVisible(false); }}>\r\n

    {dialogContent}

    \r\n
    \r\n event.stopPropagation()} onHide={() => { if (!visible2) return; setVisible2(false); }}>\r\n
      \r\n {vendorList?.split(',').map((vendor, index) => (\r\n
    • \r\n {vendor.trim()}\r\n
    • \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default VendorsForInventoryClient;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Calendar } from 'primereact/calendar';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { handleGetRequest } from '../../../services/GetTemplate';\r\nimport { Dropdown } from 'primereact/dropdown';\r\n\r\nconst ReplenishedItems = () => {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const reportRef = useRef();\r\n const [isActive, setIsActive] = useState(false);\r\n const [fromDate, setFromDate] = useState(moment().subtract(30, 'days').toDate());\r\n const [toDate, setToDate] = useState(moment().toDate());\r\n const [invVendorReport, setInvVendorReport] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedProduct, setSelectedProduct] = useState([]);\r\n const [warehouseid, setWarehouseId] = useState(null);\r\n const [allWH, setAllWH] = useState([])\r\n\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n const [columnVisibility, setColumnVisibility] = useState({\r\n name: true,\r\n categoryName: true,\r\n sub_Category_Name: true,\r\n brandName: true,\r\n sku: true,\r\n unitofmeasurementName: true,\r\n bal_qty: true,\r\n min_t_value: true,\r\n replenishQty: true\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportCSV = () => {\r\n // Filter out only the visible columns\r\n const visibleColumns = Object.keys(columnVisibility).filter(column => columnVisibility[column]);\r\n\r\n // Get the data based on the selected rows or all rows if none are selected\r\n const dataToExport = selectedProduct.length > 0 ? selectedProduct : invVendorReport;\r\n\r\n // Filter the data to include only the visible columns\r\n const filteredData = dataToExport.map(row => {\r\n let filteredRow = {};\r\n visibleColumns.forEach(column => {\r\n filteredRow[column] = row[column];\r\n });\r\n return filteredRow;\r\n });\r\n\r\n // Convert filtered data to CSV format\r\n const csvContent = [\r\n // Add the header row with the visible columns\r\n visibleColumns.join(','),\r\n // Add each row's data, joining values with commas\r\n ...filteredData.map(row => visibleColumns.map(column => row[column]).join(','))\r\n ].join('\\n');\r\n\r\n // Create a Blob from the CSV content and generate a download link\r\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a temporary anchor element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n let currentDate = new Date();\r\n\r\n let dateString = currentDate.toISOString().slice(0, 10);\r\n\r\n let timeString = currentDate.toTimeString().slice(0, 8);\r\n\r\n let filename = `ReplinishedItemsReport-${dateString}.csv`;\r\n\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n\r\n const handleColumnCheckboxChange = (event, column) => {\r\n setColumnVisibility(prevState => ({\r\n ...prevState,\r\n [column]: event.target.checked\r\n }));\r\n };\r\n\r\n const columnHeaderCheckbox = (columnKey, columnHeader) => (\r\n
    \r\n handleColumnCheckboxChange(e, columnKey)}\r\n />\r\n \r\n
    \r\n );\r\n\r\n const invWarehouseDetail = () => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n setFromDate(e?.target?.value)} />\r\n
    \r\n
    \r\n \r\n setToDate(e?.target?.value)} />\r\n
    \r\n\r\n
    \r\n
    \r\n exportCSV()}\r\n />\r\n setWarehouseId(e.value)}\r\n className=\"custom-dropdown ml-4\"\r\n >\r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n const getVendorInvList = async () => {\r\n\r\n setIsActive(true);\r\n const from_Date = fromDate ? moment(fromDate).format('YYYY-MM-DD') : null;\r\n const to_Date = toDate ? moment(toDate).format('YYYY-MM-DD') : null;\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetReplenishedReport?fromdate=${from_Date}&todate=${to_Date}&warehouse_id=${warehouseid || 0}`));\r\n if (response?.statusCode === \"200\") {\r\n setInvVendorReport(response?.body);\r\n }\r\n setIsActive(false);\r\n }\r\n\r\n //Get WH List\r\n const getWHList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllWarehouse`, true));\r\n if (response) {\r\n setAllWH(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n if ((fromDate && toDate) || warehouseid) {\r\n getVendorInvList();\r\n getWHList()\r\n }\r\n }, [fromDate, toDate, warehouseid]);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Replenished items for 15 days\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n }\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n setSelectedProduct(e?.value)}\r\n header={invWarehouseDetail}\r\n globalFilterFields={[\r\n \"name\",\r\n \"category_name\",\r\n \"subcategory_name\",\r\n \"vendoR_NAME\",\r\n \"min_t_value\",\r\n \"warehouse\",\r\n \"description\",\r\n \"brand_name\",\r\n \"unit\",\r\n \"userName\",\r\n ]}\r\n responsiveLayout=\"scroll\"\r\n stripedRows\r\n paginator\r\n rows={20}\r\n emptyMessage=\"No records found\"\r\n paginatorClassName=\"custom-paginator\"\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rowsPerPageOptions={[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}\r\n >\r\n \r\n rowData?.name || 'N/A'}>\r\n rowData?.categoryName || 'N/A'}>\r\n rowData?.sub_Category_Name || 'N/A'}>\r\n rowData?.brandName || 'N/A'}>\r\n rowData?.sku || 'N/A'}>\r\n rowData?.unitofmeasurementName || 'N/A'}>\r\n rowData?.bal_qty || 'N/A'}>\r\n rowData?.min_t_value || 'N/A'}>\r\n rowData?.replenishQty || 'N/A'}>\r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default ReplenishedItems;\r\n","import React, { useState, useEffect, useContext, useRef } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport { Triangle } from \"react-loader-spinner\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport * as XLSX from 'xlsx';\r\n\r\nconst LowLevelList = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const location = useLocation();\r\n const { warehouseId } = location.state || {};\r\n\r\n const [isActive, setIsActive] = useState(false)\r\n const [allItemsList, setAllItemsList] = useState([]);\r\n const [allItemsListForFilter, setAllItemsListForFilter] = useState([]);\r\n const [allWH, setAllWH] = useState([]);\r\n const [warehouseValue, setWarehouseValue] = useState('');\r\n\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n\r\n const onGlobalFilterChange = (e) => {\r\n const value = e.target.value;\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const exportExcel = () => {\r\n \r\n const filteredData = allItemsList.map(({ warehouseid, inventory_id, ...rest }) => rest);\r\n\r\n // Convert the filtered data to a worksheet\r\n const worksheet = XLSX.utils.json_to_sheet(filteredData);\r\n const workbook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(workbook, worksheet, \"Items\");\r\n\r\n // Create the Excel file and trigger the download\r\n XLSX.writeFile(workbook, \"lowlevel-items.xlsx\");\r\n };\r\n\r\n\r\n //Get Low Level List\r\n const getLowLevelList = async () => {\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handleGetRequest(`/api/Dashboard/GetLowLevelitemsReport?warehouse_id=${warehouseId || 0}`, true));\r\n if (response?.statusCode == 200) {\r\n setAllItemsListForFilter(response?.body);\r\n setAllItemsList(response?.body);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n //Get WH List\r\n const getWHList = async () => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllWarehouse`, true));\r\n if (response) {\r\n setAllWH(response);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (warehouseValue) {\r\n setAllItemsList(allItemsListForFilter?.filter(item => item?.warehouseid == warehouseValue))\r\n }\r\n else {\r\n setAllItemsList(allItemsListForFilter)\r\n }\r\n\r\n }, [warehouseValue])\r\n\r\n useEffect(() => {\r\n getLowLevelList()\r\n getWHList()\r\n }, [])\r\n\r\n return (\r\n <>\r\n\r\n
    \r\n

    \r\n Low level items detailed list\r\n

    \r\n\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n setWarehouseValue(e.value)}\r\n className=\"dropdown-filter ml-2 mr-2\"\r\n icon=\"pi pi-plus\"\r\n placeholder=\"--Select Warehouse--\"\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n }\r\n\r\n // text='Loading your content...'\r\n styles={{\r\n overlay: (base) => ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n })\r\n }}\r\n >\r\n\r\n \r\n rowData?.warehouse || 'N/A'} header=\"Warehouse\">\r\n rowData?.name || 'N/A'} header=\"Item Name\">\r\n rowData?.bal_qty || 'N/A'} header=\"Balance Quantity\">\r\n rowData?.min_t_value || 'N/A'} header=\"Min threshold Value\">\r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default LowLevelList","import React, { useEffect, useState } from 'react'\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from \"yup\";\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { InputTextarea } from 'primereact/inputtextarea';\r\nimport LoadingOverlay from 'react-loading-overlay'\r\nimport { useLocation } from 'react-router-dom/cjs/react-router-dom';\r\nimport { useHistory } from 'react-router-dom/cjs/react-router-dom.min';\r\nimport { handlePostRequest } from '../../services/PostTemplate';\r\nimport { handlePutRequest } from '../../services/PutTemplate';\r\nimport { useDispatch } from 'react-redux';\r\nimport { handleGetRequest } from '../../services/GetTemplate';\r\nimport { Dropdown } from 'primereact/dropdown';\r\n\r\nconst AddEditSubProject = () => {\r\n const [isActive, setIsActive] = useState(false);\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [projectLOV, setProjectLOV] = useState([])\r\n\r\n const location = useLocation();\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n\r\n const { isEditable, rowData, isView } = location?.state || {};\r\n\r\n\r\n const validationSchema = Yup.object().shape({\r\n projectName: Yup.mixed().required(\"This field is required.\"),\r\n subProjectName: Yup.mixed().required(\"This field is required.\"),\r\n workOrderNumber: Yup.mixed().required(\"This field is required.\"),\r\n });\r\n\r\n const formik = useFormik({\r\n validationSchema: validationSchema,\r\n initialValues: {\r\n projectName: \"\",\r\n subProjectName: \"\",\r\n workOrderNumber: \"\",\r\n description: \"\"\r\n },\r\n\r\n onSubmit: async (data) => {\r\n if (isEditable) {\r\n setIsActive(true)\r\n const obj = {\r\n obj_id: rowData?.obj_id,\r\n isActive: rowData?.status,\r\n name: data?.subProjectName,\r\n description: data?.description,\r\n workordernumber: data?.workOrderNumber,\r\n parentid: data?.projectName,\r\n warehouseid: warehouseid,\r\n edit_by: user_id\r\n }\r\n\r\n setIsActive(false)\r\n\r\n const response = await dispatch(handlePutRequest(obj, \"/api/Setups/UpdateSubProject\", true, true));\r\n setSaveBtnLoading(true);\r\n if (response?.statusCode == 200) {\r\n history.push('./project')\r\n setSaveBtnLoading(false);\r\n }\r\n }\r\n else {\r\n setIsActive(true)\r\n\r\n const obj = {\r\n name: data?.subProjectName,\r\n description: data?.description,\r\n workordernumber: data?.workOrderNumber,\r\n parent_id: data?.projectName,\r\n warehouseid: warehouseid,\r\n created_by: user_id\r\n }\r\n\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Setups/AddSubProject\", true, true));\r\n setSaveBtnLoading(true);\r\n if (response?.statusCode == 200) {\r\n history.push('./project')\r\n setSaveBtnLoading(false);\r\n }\r\n\r\n setIsActive(false)\r\n }\r\n },\r\n })\r\n\r\n const formStyle = {\r\n pointerEvents: isView ? 'none' : 'auto',\r\n opacity: isView ? 0.7 : 1,\r\n };\r\n\r\n const isFormFieldValid = (name) => !!(formik.touched[name] && formik.errors[name]);\r\n const getFormErrorMessage = (name) => {\r\n return isFormFieldValid(name) && {formik.errors[name]};\r\n };\r\n\r\n const ResetForm = () => {\r\n formik.resetForm()\r\n }\r\n\r\n const getProjectLOV = async () => {\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetAllSubProjects?warehouseid=${warehouseid || 0}`, true));\r\n if (response) {\r\n setProjectLOV(response);\r\n }\r\n setIsActive(false);\r\n\r\n }\r\n\r\n const getSubProjectById = async () => {\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Setups/GetSubProjectByid?obj_id=${rowData?.obj_id}`, false));\r\n const keyData = response[0]\r\n if (keyData) {\r\n formik.setFieldValue('projectName', keyData?.parent_id)\r\n formik.setFieldValue('subProjectName', keyData?.obj_Name)\r\n formik.setFieldValue('workOrderNumber', keyData?.workordernumber)\r\n formik.setFieldValue('description', keyData?.obj_Description)\r\n }\r\n setIsActive(false)\r\n }\r\n useEffect(() => {\r\n getProjectLOV()\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (isEditable, rowData) {\r\n getSubProjectById(rowData);\r\n }\r\n }, [isEditable, rowData]);\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n ({\r\n ...base,\r\n background: 'rgb(38 41 51 / 78%)',\r\n width: '107.9%',\r\n height: '125%',\r\n top: '-27px',\r\n left: '-35px'\r\n })\r\n }}\r\n >\r\n
    \r\n
    \r\n
    \r\n

    {isEditable && isView ? 'View Sub Project' : isEditable && isView === false ? 'Edit Sub Project' : 'Add New Sub Project'}

    \r\n
    {isView ? '' : 'Add Details'}
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"projectName\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"subProjectName\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n {getFormErrorMessage(\"workOrderNumber\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* * */}\r\n
    \r\n \r\n {/* \r\n {getFormErrorMessage(\"description\")}\r\n */}\r\n
    \r\n
    \r\n
    \r\n {isView ?\r\n null\r\n :\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n )\r\n}\r\n\r\nexport default AddEditSubProject\r\n","import React from 'react';\r\nimport img from '../../assets/warehouse-assets/PngItem.png'\r\nimport { Button } from 'primereact/button';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst NoPageFound = () => {\r\n\r\n const history = useHistory()\r\n\r\n const containerStyle2 = {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n flexDirection: 'column',\r\n textAlign: 'center',\r\n };\r\n\r\n const imgStyling = {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n flexDirection: 'column',\r\n textAlign: 'center',\r\n width: \"550px\",\r\n // height: \"550px\",\r\n marginTop: \"40px\"\r\n };\r\n\r\n const containerStyle = {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n height: '80vh',\r\n flexDirection: 'column',\r\n textAlign: 'center',\r\n };\r\n\r\n const headingStyle = {\r\n color: '#8d7ad5',\r\n fontSize: '10rem',\r\n margin: '0',\r\n letterSpacing: \"6px\"\r\n };\r\n\r\n const subheadingStyle = {\r\n fontSize: '1.5rem',\r\n margin: '0',\r\n };\r\n\r\n return (\r\n\r\n <>\r\n
    \r\n \r\n
    \r\n
    \r\n

    404

    \r\n

    No route found

    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n\r\n );\r\n}\r\n\r\nexport default NoPageFound;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { BrowserRouter, Routes, Route, useLocation, Switch, useHistory } from \"react-router-dom\";\r\nimport { CSSTransition } from \"react-transition-group\";\r\nimport { AppTopbar } from \"./AppTopbar\";\r\nimport { AppFooter } from \"./AppFooter\";\r\nimport { AppMenu } from \"./AppMenu\";\r\nimport { AppConfig } from \"./components/AppConfig/AppConfig\";\r\nimport PrimeReact from \"primereact/api\";\r\nimport { Tooltip } from \"primereact/tooltip\";\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\nimport \"primereact/resources/primereact.css\";\r\nimport \"primeicons/primeicons.css\";\r\nimport \"primeflex/primeflex.css\";\r\nimport \"prismjs/themes/prism-coy.css\";\r\nimport \"./assets/demo/flags/flags.css\";\r\nimport \"./assets/demo/Demos.scss\";\r\nimport \"./assets/layout/layout.scss\";\r\nimport \"./App.scss\";\r\nimport Login from \"./pages/login/Login\";\r\nimport ManageUsers from \"./pages/UserManagement/ManageUsers\";\r\nimport Settings from \"./pages/Settings/Settings\";\r\nimport Dashboard from \"./pages/Dashboard/Dashboard\";\r\nimport ManageRoles from \"./pages/RolesManagement/ManageRoles\";\r\nimport AddEditRoles from \"./pages/RolesManagement/AddEditRoles\";\r\nimport AssignPermissions from \"./pages/RolesManagement/AssignPermissions\";\r\nimport ManageCategory from \"./pages/CategoryManagement/ManageCategory\";\r\nimport AddEditCategory from \"./pages/CategoryManagement/AddEditCategory\";\r\nimport ManageInventory from \"./pages/InventoryManagement/ManageInventory\";\r\nimport AddEditInventory from \"./pages/InventoryManagement/AddEditInventory\";\r\nimport CheckIn from \"./pages/InventoryManagement/CheckIn/CheckIn\";\r\nimport CheckOut from \"./pages/InventoryManagement/CheckOut/CheckOut\";\r\nimport ManageAsset from \"./pages/AssetManagement/ManageAsset\";\r\nimport AddEditAsset from \"./pages/AssetManagement/AddEditAsset\";\r\nimport CheckInAsset from \"./pages/AssetManagement/CheckInAsset/CheckInAsset\";\r\nimport BorrowAsset from \"./pages/AssetManagement/BorrowAsset/BorrowAsset\";\r\nimport ManageRFID from \"./pages/RfidManagement/ManageRFID\";\r\nimport Reporting from \"./pages/Reporting/Reporting\";\r\nimport ManageWarehouse from \"./pages/WarehouseManagement/ManageWarehouse\";\r\nimport AddEditWarehouse from \"./pages/WarehouseManagement/AddEditWarehouse\";\r\nimport ForgotPassword from \"./pages/login/forgetpassword/ForgotPassword\";\r\nimport ResetPassword from \"./pages/login/ResetPassword/ResetPassword\";\r\nimport EditUsersSuperAdmin from \"./pages/UserManagement/EditUsersSuperAdmin\";\r\nimport ManageVendor from \"./pages/vendorManagement/ManageVendor\";\r\nimport ManageBrand from \"./pages/BrandManagement/ManageBrand\";\r\nimport AddEditVendor from \"./pages/vendorManagement/AddEditVendor\";\r\nimport AddEditSubCategory from \"./pages/CategoryManagement/AddEditSubCategory\";\r\nimport AddEditBrand from \"./pages/BrandManagement/AddEditBrand\";\r\nimport EditUsersWH from \"./pages/UserManagement/EditUsersWH\";\r\nimport { Dialog } from 'primereact/dialog';\r\nimport CheckInGrid from \"./pages/InventoryManagement/CheckIn/CheckInGrid\";\r\nimport CheckOutGrid from \"./pages/InventoryManagement/CheckOut/CheckOutGrid\";\r\nimport CheckInAssetGrid from \"./pages/AssetManagement/CheckInAsset/CheckInAssetGrid\";\r\nimport BorrowAssetGrid from \"./pages/AssetManagement/BorrowAsset/BorrowAssetGrid\";\r\nimport AddUsers from \"./pages/UserManagement/AddUsers\";\r\nimport ReplenishedItemReport from \"./pages/Reporting/AdminReportingModules/ReplenishedItemReport\";\r\nimport TotalRegisteredAssets from \"./pages/Reporting/AdminReportingModules/TotalRegisteredAssets\";\r\nimport TotalRegisteredInventory from \"./pages/Reporting/AdminReportingModules/TotalRegisteredInventory\";\r\nimport VendorInventoryList from \"./pages/Reporting/AdminReportingModules/VendorInventoryList\";\r\nimport VendorAssetList from \"./pages/Reporting/AdminReportingModules/VendorAssetList\";\r\nimport AssetBorrowItems from \"./pages/Reporting/AdminReportingModules/AssetBorrowItems\";\r\nimport InventoryValueReport from \"./pages/Reporting/AdminReportingModules/InventoryValueReport\";\r\nimport InventoryQuantityReport from \"./pages/Reporting/AdminReportingModules/InventoryQuantityReport\";\r\nimport InventoryByWarehouse from \"./pages/Reporting/SuperAdminReportingModules/InventoryByWarehouse\";\r\nimport InventoryByUsers from \"./pages/Reporting/SuperAdminReportingModules/InventoryByUsers\";\r\nimport ItemsByValueClient from \"./pages/Reporting/SuperAdminReportingModules/ItemsByValueClient\";\r\nimport VendorsForAssetClient from \"./pages/Reporting/SuperAdminReportingModules/VendorsForAssetClient\";\r\nimport VendorsForInventoryClient from \"./pages/Reporting/SuperAdminReportingModules/VendorsForInventoryClient\";\r\nimport ReplinishedItems from \"./pages/Reporting/SuperAdminReportingModules/ReplinishedItems\";\r\nimport LowLevelList from \"./pages/Dashboard/LowLevelList\";\r\nimport ManageProject from \"./pages/projectManagement/ManageProject\";\r\nimport AddEditProject from \"./pages/projectManagement/AddEditProject\";\r\nimport ManageIndustry from \"./pages/IndustryManagement/ManageIndustry\";\r\nimport AddEditIndustry from \"./pages/IndustryManagement/AddEditIndustry\";\r\nimport AddEditSubProject from \"./pages/projectManagement/AddEditSubProject\";\r\nimport NoPageFound from \"./pages/NotFound/NoPageFound\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nconst App = () => {\r\n\r\n const [layoutMode, setLayoutMode] = useState(\"static\");\r\n const [layoutColorMode, setLayoutColorMode] = useState(\"light\");\r\n const [inputStyle, setInputStyle] = useState(\"outlined\");\r\n const [ripple, setRipple] = useState(true);\r\n const [staticMenuInactive, setStaticMenuInactive] = useState(false);\r\n const [overlayMenuActive, setOverlayMenuActive] = useState(false);\r\n const [mobileMenuActive, setMobileMenuActive] = useState(false);\r\n const [mobileTopbarMenuActive, setMobileTopbarMenuActive] = useState(false);\r\n const [allPermittedRoutes, setAllPermittedRoutes] = useState([]);\r\n const [dynamicMenu, setDynamicMenu] = useState([]);\r\n const [countdown, setCountdown] = useState(5);\r\n const [showPopup, setShowPopup] = useState(false);\r\n\r\n const user_id = localStorage.getItem(\"user_id\")\r\n const warehouseid = localStorage.getItem(\"warehouseid\")\r\n const roletypeid = localStorage.getItem(\"roletypeid\")\r\n const usertype_id = localStorage.getItem(\"usertype_id\")\r\n const login = localStorage.getItem('login')\r\n\r\n const intervalRef = useRef();\r\n const copyTooltipRef = useRef();\r\n const location = useLocation();\r\n const history = useHistory()\r\n\r\n const token = useSelector((state) => state?.logoutSlice?.token);\r\n\r\n useEffect(() => {\r\n if (!token) {\r\n history.push('/');\r\n }\r\n }, [token]);\r\n\r\n useEffect(() => {\r\n if (roletypeid) {\r\n getPermissions();\r\n }\r\n }, [roletypeid]);\r\n\r\n PrimeReact.ripple = true;\r\n let menuClick = false;\r\n let mobileTopbarMenuClick = false;\r\n\r\n const getPermissions = () => {\r\n\r\n const permissions = localStorage.getItem('permissions');\r\n if (!permissions) {\r\n console.log(\"No permissions found in local storage.\");\r\n }\r\n\r\n const parsedPermissions = JSON.parse(permissions);\r\n\r\n if (parsedPermissions?.length) {\r\n let menuItems = parsedPermissions && parsedPermissions.map(module => {\r\n const subMenuItems = module?.submodules && module?.submodules?.length > 0 ? module?.submodules?.map(subModule => ({\r\n label: subModule?.contentName,\r\n icon: \"\",\r\n to: subModule?.routepath,\r\n })) : null;\r\n\r\n return {\r\n label: module?.contentName,\r\n icon: module?.icon_class,\r\n to: module?.routepath,\r\n items: subMenuItems\r\n };\r\n });\r\n\r\n setDynamicMenu([{ items: menuItems }]);\r\n\r\n // Navigate to the first module's route if available\r\n if (sessionStorage.getItem('firstLogin') === 'true') {\r\n sessionStorage.removeItem('firstLogin'); // Remove from localStorage\r\n if (menuItems?.length > 0 && menuItems[0].to) {\r\n console.log('menuItems[0]?.to', menuItems[0]?.to)\r\n history.push(menuItems[0]?.to);\r\n }\r\n }\r\n return\r\n }\r\n else {\r\n\r\n setDynamicMenu([]);\r\n return\r\n }\r\n };\r\n\r\n const isPermittedRoute = (route) => {\r\n const permittedRoutes = dynamicMenu[0]?.items?.flatMap(item => {\r\n let mainLink = item?.to ? [item.to] : [];\r\n let subLinks = item?.items?.map(subItem => subItem?.to).filter(Boolean) || [];\r\n return mainLink?.concat(subLinks)\r\n }).filter(Boolean);\r\n\r\n return permittedRoutes?.includes(route)\r\n }\r\n\r\n useEffect(() => {\r\n if (dynamicMenu && dynamicMenu?.length > 0) {\r\n const permittedRoutes = dynamicMenu[0]?.items?.flatMap(item => {\r\n let mainLink = item?.to ? [item.to] : [];\r\n let subLinks = item?.items?.map(subItem => subItem?.to).filter(Boolean) || [];\r\n return mainLink?.concat(subLinks);\r\n }).filter(Boolean);\r\n\r\n setAllPermittedRoutes(permittedRoutes);\r\n }\r\n }, [dynamicMenu]);\r\n\r\n useEffect(() => {\r\n if (mobileMenuActive) {\r\n addClass(document.body, \"body-overflow-hidden\");\r\n } else {\r\n removeClass(document.body, \"body-overflow-hidden\");\r\n }\r\n }, [mobileMenuActive]);\r\n\r\n useEffect(() => {\r\n copyTooltipRef && copyTooltipRef.current && copyTooltipRef.current.updateTargetEvents();\r\n }, [location]);\r\n\r\n const onInputStyleChange = (inputStyle) => {\r\n setInputStyle(inputStyle);\r\n };\r\n\r\n const onRipple = (e) => {\r\n PrimeReact.ripple = e.value;\r\n setRipple(e.value);\r\n };\r\n\r\n const onLayoutModeChange = (mode) => {\r\n setLayoutMode(mode);\r\n };\r\n\r\n const onColorModeChange = (mode) => {\r\n setLayoutColorMode(mode);\r\n };\r\n\r\n const onWrapperClick = (event) => {\r\n if (!menuClick) {\r\n setOverlayMenuActive(false);\r\n setMobileMenuActive(false);\r\n }\r\n\r\n if (!mobileTopbarMenuClick) {\r\n setMobileTopbarMenuActive(false);\r\n }\r\n\r\n mobileTopbarMenuClick = false;\r\n menuClick = false;\r\n };\r\n\r\n const onToggleMenuClick = (event) => {\r\n\r\n menuClick = true;\r\n if (isDesktop()) {\r\n if (layoutMode === \"overlay\") {\r\n if (mobileMenuActive === true) {\r\n setOverlayMenuActive(true);\r\n }\r\n\r\n setOverlayMenuActive((prevState) => !prevState);\r\n setMobileMenuActive(false);\r\n } else if (layoutMode === \"static\") {\r\n setStaticMenuInactive((prevState) => !prevState);\r\n }\r\n } else {\r\n setMobileMenuActive((prevState) => !prevState);\r\n }\r\n event.preventDefault();\r\n };\r\n\r\n const onSidebarClick = () => {\r\n menuClick = true;\r\n };\r\n\r\n const onMobileTopbarMenuClick = (event) => {\r\n mobileTopbarMenuClick = true;\r\n setMobileTopbarMenuActive((prevState) => !prevState);\r\n event.preventDefault();\r\n };\r\n\r\n const onMobileSubTopbarMenuClick = (event) => {\r\n mobileTopbarMenuClick = true;\r\n event.preventDefault();\r\n };\r\n\r\n const onMenuItemClick = (event) => {\r\n if (!event?.item?.items) {\r\n setOverlayMenuActive(false);\r\n setMobileMenuActive(false);\r\n }\r\n };\r\n\r\n const isDesktop = () => {\r\n return window.innerWidth >= 992;\r\n };\r\n\r\n const sideBarMenu = [\r\n {\r\n items: [\r\n {\r\n label: \"Dashboard\",\r\n icon: \"custom-dashboard-icon\",\r\n to: \"/Dashboard\",\r\n },\r\n {\r\n label: \"User Management\",\r\n icon: \"custom-user-icon\",\r\n to: \"/users\",\r\n },\r\n {\r\n label: \"Role Management\",\r\n icon: \"custom-role-icon\",\r\n to: \"/roles\",\r\n },\r\n\r\n {\r\n label: \"RFID Labelling\",\r\n icon: \"custom-rfid-icon\",\r\n to: \"/Rfid\",\r\n },\r\n\r\n ...((roletypeid == 1 && usertype_id == 0 && !warehouseid)\r\n ? [{ label: \"Warehouse Management\", icon: \"custom-warehouse-icon\", to: \"/warehouse\" }]\r\n : []),\r\n\r\n {\r\n label: \"Inventory Management\",\r\n icon: \"custom-inventory-icon\",\r\n to: \"/inventory\",\r\n items: [\r\n { label: \"Check In\", icon: \"\", to: \"/checkin\" },\r\n { label: \"Check Out\", icon: \"\", to: \"/checkout\" },\r\n ],\r\n },\r\n {\r\n label: \"Asset Management\",\r\n icon: \"custom-asset-icon\",\r\n to: \"/asset\",\r\n items: [\r\n { label: \"Check In\", icon: \"\", to: \"/checkinasset\" },\r\n { label: \"Borrow\", icon: \"\", to: \"/borrowasset\" },\r\n ],\r\n },\r\n {\r\n label: \"Reporting\",\r\n icon: \"custom-reporting-icon\",\r\n to: \"/reporting\",\r\n },\r\n {\r\n label: \"Setups\",\r\n icon: \"custom-setups-icon\",\r\n to: \"/\",\r\n items: [\r\n { label: \"Category Setup\", icon: \"\", to: \"/category\" },\r\n { label: \"Sub Category Setup\", icon: \"\", to: \"/assignsubcategory\" },\r\n { label: \"Brand Setup\", icon: \"\", to: \"/brand\" },\r\n { label: \"Vendor Setup\", icon: \"\", to: \"/vendor\" },\r\n ],\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n const addClass = (element, className) => {\r\n if (element.classList) element.classList.add(className);\r\n else element.className += \" \" + className;\r\n };\r\n\r\n const removeClass = (element, className) => {\r\n if (element.classList) element.classList.remove(className);\r\n else element.className = element.className.replace(new RegExp(\"(^|\\\\b)\" + className.split(\" \").join(\"|\") + \"(\\\\b|$)\", \"gi\"), \" \");\r\n };\r\n\r\n const wrapperClass = classNames(\"layout-wrapper\", {\r\n \"layout-overlay\": layoutMode === \"overlay\",\r\n \"layout-static\": layoutMode === \"static\",\r\n \"layout-static-sidebar-inactive\": staticMenuInactive && layoutMode === \"static\",\r\n \"layout-overlay-sidebar-active\": overlayMenuActive && layoutMode === \"overlay\",\r\n \"layout-mobile-sidebar-active\": mobileMenuActive,\r\n \"p-input-filled\": inputStyle === \"filled\",\r\n \"p-ripple-disabled\": ripple === false,\r\n \"layout-theme-light\": layoutColorMode === \"light\",\r\n });\r\n\r\n function checkActivity() {\r\n if (localStorage.getItem(\"login\") === \"false\" || localStorage.getItem(\"login\") === null) {\r\n return;\r\n }\r\n\r\n const lastActive = localStorage.getItem('lastActive');\r\n const elapsed = Date.now() - lastActive;\r\n if (elapsed > 1800000) { // 30 minutes in milliseconds\r\n setShowPopup(true);\r\n\r\n let countdownValue = 5;\r\n const countdownInterval = setInterval(() => {\r\n setCountdown(countdownValue);\r\n countdownValue -= 1;\r\n if (countdownValue < 0) {\r\n clearInterval(countdownInterval);\r\n setShowPopup(false);\r\n logoutUser();\r\n }\r\n }, 1000);\r\n }\r\n }\r\n\r\n function logoutUser() {\r\n localStorage.removeItem('lastActive');\r\n localStorage.removeItem(\"permissions\");\r\n localStorage.removeItem(\"login\");\r\n window.localStorage.clear();\r\n window.sessionStorage.clear();\r\n localStorage.clear();\r\n history.push(\"/\");\r\n clearInterval(intervalRef.current);\r\n }\r\n\r\n // Set up an interval to run the checkActivity function every 30 minutes\r\n useEffect(() => {\r\n intervalRef.current = setInterval(checkActivity, 1800000);\r\n return () => clearInterval(intervalRef.current);\r\n }, []);\r\n\r\n // Update the user's last active time whenever they interact with the page\r\n useEffect(() => {\r\n if (login) {\r\n function handleActivity() {\r\n localStorage.setItem('lastActive', Date.now());\r\n }\r\n\r\n window.addEventListener('click', handleActivity);\r\n window.addEventListener('keydown', handleActivity);\r\n window.addEventListener('mousemove', handleActivity);\r\n window.addEventListener('mousedown', handleActivity);\r\n window.addEventListener('scroll', handleActivity);\r\n window.addEventListener('keypress', handleActivity);\r\n\r\n return () => {\r\n window.removeEventListener('click', handleActivity);\r\n window.removeEventListener('keydown', handleActivity);\r\n window.removeEventListener('mousemove', handleActivity);\r\n window.removeEventListener('mousedown', handleActivity);\r\n window.removeEventListener('scroll', handleActivity);\r\n window.removeEventListener('keypress', handleActivity);\r\n };\r\n }\r\n }, [login]);\r\n\r\n useEffect(() => {\r\n if (!login || login === null) {\r\n localStorage.removeItem('lastActive');\r\n }\r\n }, [login]);\r\n\r\n LoadingOverlay.propTypes = undefined;\r\n\r\n return (\r\n\r\n
    \r\n\r\n {showPopup && (\r\n { }}>\r\n

    Due to inactivity, the system is logging out in {countdown} seconds...

    \r\n
    \r\n )}\r\n\r\n {/* */}\r\n \r\n \r\n\r\n {(localStorage.getItem(\"login\") === null || localStorage.getItem(\"login\") === undefined || !localStorage.getItem(\"login\")) ?\r\n (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n
    \r\n {/* {dynamicMenu?.length === 0 ? (\r\n
    \r\n
    Loading your content...
    \r\n
    \r\n
    \r\n ) : ( */}\r\n \r\n {/* )} */}\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n {/* Dashboard */}\r\n (isPermittedRoute('/dashboard',) ? : )} />\r\n (isPermittedRoute('/dashboard') ? : )} />\r\n \r\n\r\n {/* User */}\r\n (isPermittedRoute('/users') ? : )} />\r\n (isPermittedRoute('/users') ? : )} />\r\n (isPermittedRoute('/users') ? : )} />\r\n (isPermittedRoute('/users') ? : )} />\r\n\r\n {/* Role */}\r\n (isPermittedRoute('/roles') ? : )} />\r\n (isPermittedRoute('/roles') ? : )} />\r\n (isPermittedRoute('/roles') ? : )} />\r\n\r\n {/* Inventory */}\r\n (isPermittedRoute('/inventory') ? : )} />\r\n (isPermittedRoute('/inventory') ? : )} />\r\n (isPermittedRoute('/checkin') ? : )} />\r\n (isPermittedRoute('/checkin') ? : )} />\r\n (isPermittedRoute('/checkout') ? : )} />\r\n (isPermittedRoute('/checkout') ? : )} />\r\n\r\n {/* Asset */}\r\n (isPermittedRoute('/asset') ? : )} />\r\n (isPermittedRoute('/asset') ? : )} />\r\n (isPermittedRoute('/checkinasset') ? : )} />\r\n (isPermittedRoute('/checkinasset') ? : )} />\r\n (isPermittedRoute('/borrowasset') ? : )} />\r\n (isPermittedRoute('/borrowasset') ? : )} />\r\n\r\n {/* Setups */}\r\n (isPermittedRoute('/brand') ? : )} />\r\n (isPermittedRoute('/brand') ? : )} />\r\n (isPermittedRoute('/vendor') ? : )} />\r\n (isPermittedRoute('/vendor') ? : )} />\r\n (isPermittedRoute('/category') ? : )} />\r\n (isPermittedRoute('/category') ? : )} />\r\n (isPermittedRoute('/category') ? : )} />\r\n\r\n {/* Warehouse */}\r\n (isPermittedRoute('/rfid') ? : )} />\r\n (isPermittedRoute('/warehouse') ? : )} />\r\n (isPermittedRoute('/warehouse') ? : )} />\r\n\r\n {/* Industry */}\r\n {/* (isPermittedRoute('/industry') ? : )} /> */}\r\n {/* (isPermittedRoute('/industry') ? : )} /> */}\r\n\r\n {/* Project */}\r\n {/* (isPermittedRoute('/project') ? : )} />\r\n (isPermittedRoute('/project') ? : )} />\r\n (isPermittedRoute('/project') ? : )} /> */}\r\n\r\n (isPermittedRoute('/reporting') ? : )} />\r\n\r\n {(roletypeid == 1 && [\"/report-warehouseinv\", \"/report-usersinv\", \"/report-usersinvvalue\", \"/report-vendorinvvalue\", \"/report-vendorassetvalue\", \"/report-replinisheditems\"]?.includes(location?.pathname)) || (roletypeid == 2 && usertype_id == 1 && !warehouseid && [\"/report-warehouseinv\", \"/report-usersinv\", \"/report-usersinvvalue\", \"/report-vendorinvvalue\", \"/report-vendorassetvalue\", \"/report-replinisheditems\"]?.includes(location?.pathname)) ?\r\n (<>\r\n {/* Reports Super Admin */}\r\n (isPermittedRoute('/reporting') ? : )} />\r\n (isPermittedRoute('/reporting') ? : )} />\r\n (isPermittedRoute('/reporting') ? : )} />\r\n (isPermittedRoute('/reporting') ? : )} />\r\n (isPermittedRoute('/reporting') ? : )} />\r\n (isPermittedRoute('/reporting') ? : )} />\r\n )\r\n : (roletypeid == 2 && usertype_id == 2 && warehouseid && [\"/inventoryquantityreport\", \"/replenisheditemreport\", \"/inventoryvaluereport\", \"/report-registeredassets\", \"/report-registeredinventory\", \"/report-vendorinventory\", \"/report-vendorasset\", \"/report-vendorasset\", \"/report-borrowitems\"]?.includes(location?.pathname) || roletypeid == 2 && usertype_id == 1 && warehouseid && [\"/inventoryquantityreport\", \"/replenisheditemreport\", \"/inventoryvaluereport\", \"/report-registeredassets\", \"/report-registeredinventory\", \"/report-vendorinventory\", \"/report-vendorasset\", \"/report-vendorasset\", \"/report-borrowitems\"]?.includes(location?.pathname))\r\n ?\r\n (<>\r\n {/* Reports Admin */}\r\n (isPermittedRoute('/reporting') ? : )} />\r\n (isPermittedRoute('/reporting') ? : )} />\r\n (isPermittedRoute('/reporting') ? : )} />\r\n (isPermittedRoute('/reporting') ? : )} />\r\n (isPermittedRoute('/reporting') ? : )} />\r\n (isPermittedRoute('/reporting') ? : )} />\r\n (isPermittedRoute('/reporting') ? : )} />\r\n (isPermittedRoute('/reporting') ? : )} />\r\n )\r\n :\r\n <>\r\n \r\n \r\n }\r\n \r\n
    \r\n {/* */}\r\n
    \r\n \r\n )\r\n }\r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n );\r\n};\r\n\r\n\r\nexport default App;\r\n","import { useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\nconst ScrollToTop = (props) => {\r\n\r\n let location = useLocation();\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0)\r\n }, [location]);\r\n\r\n return props.children;\r\n}\r\n\r\n// export default withRouter(ScrollToT.op);\r\nexport default ScrollToTop;\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst slice = createSlice({\r\n name: \"authenticationSlice\",\r\n initialState: {\r\n token: localStorage.getItem(\"token\"),\r\n },\r\n reducers: {\r\n LOGIN_SUCCESS: (state, action) => {\r\n return {\r\n ...state, \r\n token: localStorage.getItem(\"token\"),\r\n };\r\n },\r\n LOGIN_ERROR: (state) => {\r\n return {\r\n ...state,\r\n token: \"\",\r\n };\r\n },\r\n },\r\n});\r\n\r\nexport const { LOGIN_SUCCESS, LOGIN_ERROR } = slice.actions;\r\nexport default slice.reducer;\r\n","import { combineReducers } from \"redux\";\r\nimport authenticationSlice from \"./slices/authenticationSlice\";\r\nimport utilitySlice from \"./slices/utilitySlice\";\r\nimport checkoutUserSlice from \"./slices/checkoutUserSlice\";\r\nimport logoutSlice from \"./slices/logoutSlice\";\r\n\r\nexport default combineReducers({\r\n authenticationSlice,\r\n utilitySlice,\r\n checkoutUserSlice, \r\n logoutSlice\r\n});\r\n","import { configureStore } from \"@reduxjs/toolkit\";\r\nimport rootReducer from \"./rootReducer\";\r\n\r\nexport default configureStore({\r\n reducer: rootReducer,\r\n});\r\n","import \"react-app-polyfill/ie11\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport App from \"./App\";\r\n//import * as serviceWorker from './serviceWorker';\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport ScrollToTop from \"./components/ScrollTop/ScrollToTop\";\r\nimport { Provider } from \"react-redux\";\r\nimport store from \"./redux/store\";\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n","module.exports = __webpack_public_path__ + \"static/media/dp.f6ef03c5.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/warehouse.3cfc8252.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJNSURBVHgB7ZpPbtNAFIffjO0uAhIcIUcoN0iWiBbFN0iWhUaqJdqKFcmqEiAVqFjTnoB/qlgSbpAb4CMUsYvTeZ1XtaqrxmM7niSe6n0bR/Gz5U9+P3s8NgDDMAzDZCKKFB0Ovj72GmsdodS6lOIRrBCl8B8IHPX3n38rUp8reHjwqxl46rfeaRPqBEKcnCft6HUYm8ok5FBLOUJAM/CDL3llRsFPb0+7tZS7oXV08LNlKjAKSoEtqDsSWubV9xwWdB0WdB0WdB0WdB0WdB0WdB0WdB0WXAYoVChAxLAAVi6ICof9V3qGDCGEBbBSQSHguL+/OaDfL/eejfUiAstYFdRzkHHRVqPahpfcEtre3fggUBSa7yyKNUE6YOkn7atWO8spPqPaXhTeqZsEk57NPNoTVCraisKYWk2fBXOrIQypdtaqiKQt5tGKIF0oXqSm0rXkMQIOs2qpFU37s5nHyoKI+Of6QpGmv7s5QICT9H+6jcezamdhK4+VBCl3fjDtZq2f+smOXoyva3XuSrWejTxWEqQLRVaWCMqT53uXN3EF2DPVZm1fNY9VBKMiB7wVPY0b/uSJbtkRzEHVPM4lqHP3Me9CkWbW7aAMVfJYWpCy9DCYDmDJzJtHH0qi37Ce/E/WOvrVGiyVhAblSGdxp8xmpQWFFG+ETr4r8POg6xgF9YOo1ZH9QlAwMq3O/cri87vTv3pc2YQ6gvB9e2+jYyrJbVHpy/aiphOqQGPgB0HSzasr9CEQcfT+RwfOxTrUAQmjeUdGDMMwDJPiAm9Yzikswzo6AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAWCAYAAACyjt6wAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFISURBVHgB7ZdPToNAFMbfGyBhiSfQ3oAjdGuksd5Al0aalES6lW5hQf3Ttb0BJpa1egKPYI+Auya1PGdsumkgHUvLbPgtJiHvS/j4hmS+QeDEQWLpph6gxs5h71DGl3fXdzzYARTLU5h+AdIJHBKEiXvrXMlIH6JpHyjPlsbyBR+j1zYCvkENLPTFkeddZGXzOExtA+iZf4wtnimnIYMaMedglc3GUXpnIH2uzQkY4rEOilmnRkB20bzWBDcpSm0TZQmOwzThqXW36ZQlSEiWjE7pFsvQGKxKY7AqjcGqqDNI8C0jU2bQHThdfpIMt+mUbnHP7wSarrV43ZuVaZT/g9fe6ezGP2uVpckYsQxqYm5C6buK08w/VpU/mopG3YYDQkT3vUGnL6PlTedSlAl+jxn9GYzjxDJ+jNGqNKJUy/invYlICHbgFw/eZ8HkDWtGAAAAAElFTkSuQmCC\""],"sourceRoot":""}