{"version":3,"sources":["assets/warehouse-assets/photo.png","assets/warehouse-assets/video.png","assets/imgs/inventory.svg","assets/imgs/Assets.svg","assets/imgs/Registered.svg","assets/warehouse-assets/qr-code.png","assets/warehouse-assets/uploadImage.png","assets/warehouse-assets/video2.png","assets/warehouse-assets/video3.png","assets/warehouse-assets/dashboard-icons/dashboard.png","Config.js","AppTopbar.js","AppMenu.js","components/AppConfig/AppConfig.js","redux/slices/utilitySlice.js","redux/actions/loadingAction.js","services/PostTemplate.js","services/GetTemplate.js","pages/login/Login.js","services/DeleteTemplate.js","services/PutTemplate.js","pages/UserManagement/ManageUsers.js","pages/Settings/Settings.js","services/PostFormDataTemplate.js","pages/UserManagement/AddEditUsers.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","pages/InventoryManagement/CheckOut/CheckOut.js","pages/AssetManagement/ManageAsset.js","pages/AssetManagement/AddEditAsset.js","pages/AssetManagement/CheckInAsset.js","pages/AssetManagement/BorrowAsset.js","pages/RfidManagement/ManageRFID.js","pages/Reporting/Reporting.js","pages/Reporting/ReportingDetails.js","pages/WarehouseManagement/ManageWarehouse.js","pages/WarehouseManagement/AddEditWarehouse.js","pages/login/forgetpassword/ForgotPassword.js","pages/login/ResetPassword/ResetPassword.js","pages/RolesManagement/AssignPermissions2.js","pages/UserManagement/AddEditUsersSuperAdmin.js","pages/vendorManagement/ManageVendor.js","pages/BrandManagement/ManageBrand.js","pages/vendorManagement/AddEditVendor.js","pages/CategoryManagement/AddEditSubCategory.js","pages/BrandManagement/AddEditBrand.js","pages/UserManagement/AddEditUsersWH.js","pages/InventoryManagement/CheckIn/CheckInGrid.js","pages/InventoryManagement/CheckOut/CheckOutGrid.js","App.js","components/ScrollTop/ScrollToTop.js","redux/slices/authenticationSlice.js","redux/rootReducer.js","redux/store.js","index.js","assets/warehouse-assets/colored/edit.png","assets/warehouse-assets/colored/dlet.png","assets/warehouse-assets/warehouse.png","assets/warehouse-assets/dp.jpeg"],"names":["module","exports","baseURL","AppTopbar","props","history","useHistory","user_name","localStorage","getItem","warehouseid","roletypeid","usertype_id","img","React","createElement","Fragment","className","type","onClick","onToggleMenuClick","style","fontWeight","fontSize","letterSpacing","color","onMobileTopbarMenuClick","classNames","mobileTopbarMenuActive","alignItems","cursor","push","src","concat","dp","borderRadius","width","height","AppSubmenu","activeIndex","setActiveIndex","useState","onMenuItemClick","event","item","index","disabled","preventDefault","command","originalEvent","onKeyDown","code","target","click","renderLink","i","content","_item$items","submenuIcon","items","length","badge","Badge","value","icon","label","Ripple","renderLinkContent","to","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","window","navigator","userAgent","changeTheme","scheme","onColorModeChange","ref","prevState","Button","decrementScale","incrementScale","RadioButton","inputId","name","onChange","onInputStyleChange","checked","inputStyle","htmlFor","InputSwitch","rippleEffect","onRippleEffect","onLayoutModeChange","layoutMode","alt","slice","createSlice","initialState","isLoading","isLoadingComponent","reducers","LOADING_SUCCESS","state","action","payload","actions","loadingAction","async","dispatch","handlePostRequest","data","url","isShowLoad","arguments","undefined","isShowToast","_response$data","_response$data2","_response$data3","response","axios","method","headers","console","log","toast","success","body","statusMessage","message","error","_error$response","_error$response2","_error$response3","_error$response3$data","_error$response4","_error$response4$data","status","warn","handleGetRequest","get","authorization","_error$response2$data","loading","update","render","autoClose","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","sessionStorage","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","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","confirmDialog","InputTextarea","maxLength","defaultValue","rows","header","acceptClassName","acceptLabel","accept","handleDeleteUser","reject","deactivate_Reason","getUserList","handleEditUsers","pathname","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","Image","preview","zoomSrc","whiteSpace","replace","usertypename","warehouseName","rfiD_code","Tag","severity","createdDateandFiringdate","lastLogin","SplitButton","Settings","useLocation","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","display","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","handlePostRequestFormData","AddEditUsers","location","warehouseData","setWarehouseData","userTypeAs","setUserTypeAs","disabledWHAdminField","setDisabledWHAdminField","rfid_code","user_type_id","warehouse_id","user_name_2","email_2","contact_2","user_id2","role_2","rfid_code_2","formData","FormData","formData2","formData3","append","_response","parseInt","isNaN","getWarehouseData","getAllRoles","generateRandomUserId","userId","Math","floor","random","handleGenerateUserId2","newUserId","generateRandomUserId2","setFieldValue","generateRandomCode","charset","generateRandomCode2","goBack","keyfilter","minLength","tooltip","tooltipOptions","handleGenerateCode2","newCode","borderColor","transform","handleGenerateUserId","handleGenerateCode","ResetForm","Dashboard","chartData","setChartData","chartOptions","setChartOptions","chartData2","setChartData2","chartOptions2","setChartOptions2","chartData3","setChartData3","chartOptions3","setChartOptions3","chart3Ref","getChart1Data","documentStyle","getComputedStyle","textColor","getPropertyValue","maintainAspectRatio","aspectRatio","plugins","legend","labels","fontColor","x","ticks","font","weight","grid","drawBorder","y","datasets","barThickness","hoverBackgroundColor","usePointStyle","getChart3Data","indexAxis","Inventory","Assets","Registered","Calendar","Chart","CircularProgressbar","path","stroke","fill","ManageRoles","handleDeleteRole","role_id","getRolesList","handleEditRoles","rowIndexTemplate","rowIndex","roleDescription","createddatetime","statusdesc","AddEditRoles","description","RoleName","RoleDescription","roleName","mRoletype_id","mUsertype_id","mWarehouse_id","keyData","getRoleById","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","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","justifyContent","_selectedPermissions$","_selectedPermissions$2","_selectedPermissions$3","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","obj_id","getCategoryList","actionChildTemplate","handleViewSubCategory","handleEditSubCategory","confirm2","handleDeactivateSubCategory","handleActivateSubCategory","parentid","handleEditCategory","isView","handleViewCategory","toggleRowExpansion","_expandedRows","allowChildExpansion","isExpanded","children","toggleChildRowExpansion","_expandedChildRows","rowExpansionTemplate","CategoryTable","nodes","_ref","onRowToggle","dataKey","_allPermModules$submo","_result$permissions","result","toLowerCase","showClear","handleSubCategory","handleCategory","globalFilter","tableStyle","minWidth","AddEditCategory","categoryName","warehouseId","obj_Name","getategoryById","formStyle","pointerEvents","opacity","ManageInventory","inventoryList","setInventoryList","handleEditInventory","handleViewInventory","getInventoryList","brandName","sub_Category_Name","unitofmeasurementName","vendorName","sku","AddEditInventory","_formik$values","selectedFiles","setSelectedFiles","selectedFiles2","setSelectedFiles2","setAllCategories","allSubCategories","setAllSubCategories","allBrands","setAllBrands","allVendors","setAllVendors","allUnits","setAllUnits","inventory_id","category_id","inventory_name","brand_id","unit","vendor_id","threshold","notes","subCategory_id","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","toString","p_min_t_value","p_SKU","p_notes","attachments","fileName","fileType","base64Data","p_roletype_id","p_usertype_id","p_warehouse_id","p_edit_by","sub_categoryid","unit_of_measurement","min_t_value","roletype_id","createdby","getAllBrands","getAllVendors","getAllUnits","getSubCategoryList","subcategory_id","getInventoryById","generateRandomInvId","handleGenerateInvId","newInvId","TreeSelect","CheckIn","_formik$values3","_formik$values4","_formik$values5","_formik$values6","_formik$values7","_formik$values8","_formik$values9","selectedDoc","setSelectedDoc","showToast","uploadDoc","allInventoryName","setAllInventoryName","allCategoryName","setAllCategoryName","allSubcategoryName","setAllSubcategoryName","allBrandName","setAllBrandName","allUomName","setAllUomName","allVendorName","setAllvendorName","isDisabled","setIsDisabled","editableForStage","setIsEditableForStage","allCheckinData","setAllCheckinData","checkInUpdateId","setCheckInUpdateId","onGlobalFilterChange","deleteDialog","handleAllDeleteData","uid","wid","getAllInventoryData","handleDeleteRecord","checkbox","nullable","category","subCategory","inventoryName","brand","rfidCode","quantity","uom","skuCode","costPerUnit","vendorInformation","thresholdValue","expiryDate","valueOfMeasurement","addNotes","_response2","_response3","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","concatAllData","allArrayData","flat","resetForm","getSubcategoryLOVs","showAlert","info","getInventoryLOVs","getCategoryLOVs","getBrandLOVs","getUomLOVs","getVendorLOVs","getCheckInLisyByIdEditable","_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","moment","expiry_Date","toDate","value_of_measurement","link","split","entry","trim","attachment_type","Toast","onHide","_formik$values2","_response$","_response$2","_response$3","_response$4","_response$5","_response$6","_response$7","_response$8","_response$9","getAllApplicationDetail","borderBottom","minDate","Date","photo","FileUpload","auto","mode","chooseLabel","onSelect","Array","from","reader","FileReader","onloadend","base64String","prevFiles","readAsDataURL","fontStyle","zIndex","f","handleCancelFile","video","controls","handleCancelFile2","multiple","selectedFile","base64Doc","handleSelectedDoc","handleDocument","choose","CheckOut","allCheckOutData","setAllCheckOutData","getCheckOutLisyByIdEditable","ManageAsset","userdataId","setUserDataId","addEditUser","setAddEditUser","displayDialog","setDisplayDialog","_id","clear","Data","editIcon","deleteIcon","AddEditAsset","allDepartments","setAllDepartments","matches","cnic","_keyData$department","_keyData$role","formattedContact","getUserById","CheckInAsset","BorrowAsset","ManageRFID","printing","qrcode","Reporting","ReportingDetails","warehouse","inventory","vendor","ManageWarehouse","allWH","setAllWH","handleDeactivateWH","handleActivateWH","warehouse_poc","contact_no","address","IsActive","getWHList","handleEditWH","_rowData$address","AddEditWarehouse","warehouse_name","getWHById","generateRandomWHId","handleGenerateWHId","newWHId","ForgotPassword","ResetPassword","confirmPassword","AssignPermissions2","rolePermissions","_prev$moduleId","removeIds","removeAssociatedIds","AddEditUsersSuperAdmin","systemUser","setSystemUser","WHAdmin","setWHAdmin","WhAdminUser","setWHAdminUser","imagePath","p_image","fetch","then","blob","blobURL","substring","lastIndexOf","modifiedFileName","format","pop","File","catch","p_contactNumber","p_user_name","p_User_Email","p_User_id","p_RFID_code","p_Role_id","ManageVendor","allVendor","obj_Description","company","getVendorList","handleEditVendor","handleViewVendor","_rowData$obj_Descript","ManageBrand","handleDeactivateBrand","handleActivateBrand","Name","Description","getBrandList","handleEditBrand","handleViewBrand","AddEditVendor","company_name","add_note","getVendorById","setValues","AddEditSubCategory","categoryId","subCategoryName","parent_id","getSubCategoryById","AddEditBrand","AddEditUsersWH","CheckInGrid","checkInList","setCheckInList","handleEditCheckIn","handleViewCheckIn","getCheckInList","doc_no","warehousE_NAME","inventory_Type_Name","category_name","subcategory_name","CheckOutGrid","handleDeleteCheckOut","getCheckOutList","App","setLayoutMode","layoutColorMode","setLayoutColorMode","setInputStyle","ripple","setRipple","staticMenuInactive","setStaticMenuInactive","overlayMenuActive","setOverlayMenuActive","mobileMenuActive","setMobileMenuActive","setMobileTopbarMenuActive","showLoader","setShowLoader","dynamicMenu","setDynamicMenu","countdown","setCountdown","showPopup","setShowPopup","login","intervalRef","copyTooltipRef","timeoutId","setTimeout","getPermissions","clearTimeout","PrimeReact","menuClick","mobileTopbarMenuClick","parsedPermissions","menuItems","handleLogOut","subMenuItems","icon_class","_menuItems$","removeItem","addClass","removeClass","updateTargetEvents","_event$item","isDesktop","innerWidth","element","classList","add","RegExp","wrapperClass","checkActivity","lastActive","now","countdownValue","countdownInterval","setInterval","clearInterval","handleActivity","propTypes","Dialog","modal","ToastContainer","Tooltip","onMobileSubTopbarMenuClick","Switch","Route","component","ScrollToTop","scrollTo","token","LOGIN_SUCCESS","LOGIN_ERROR","combineReducers","authenticationSlice","utilitySlice","configureStore","reducer","rootReducer","ReactDOM","BrowserRouter","Provider","store"],"mappings":"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","file":"static/js/main.694f240d.chunk.js","sourcesContent":["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\"","module.exports = __webpack_public_path__ + \"static/media/inventory.df98abc2.svg\";","module.exports = __webpack_public_path__ + \"static/media/Assets.bb14039a.svg\";","module.exports = __webpack_public_path__ + \"static/media/Registered.ccd1770c.svg\";","module.exports = \"data:image/png;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwM8JjXStAWC0SPAAAAAASUVORK5CYII=\"","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=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIcSURBVHgB7dpRbdxAGEbR2VWBFEqZNIti1wgso6ihFYmdQIiiWHKuz3kZAlej/+EbAwAAAAAAAAAAAAAAAAAAAIAf6DYOtCzLPi5m27bHNE3r+IJ5nt/u9/u/cTHP5/OwDu8DwgROmsBJEzhpAidN4KQJnDSBkyZw0gROmsBJEzhpAidN4KQJnDSBkyZw0gROmsBJEzhpAidN4KQJnDSBkyZw0gROmsBJEzhpAidN4KQJnDSBkyZw0gROmsBJEzhpAidN4KQJnDSBkyZw0gROmsBJEzhpAift1+A0pmlaP5518G384KQJnDSBkyZw0gROmsBJEzhpAidN4KQJnDSBkyZw0gROmsBJM5c9kXme/9xut7/jYl6v12McRODn8vsj8LdxPYcF7kQhTeCkCZw0gZMmcNIETprASRM4aQInTeCkCZw0gZMmcNIOXRPu+76O6/k/OI1DAz9y5wuf4UQhTeCkCZw0gZMmcNIETprASRM4aQInTeCkCZw0gZMmcNIETtqhc9llWfZxMdu2PaZpWgen4AcnTeCkCZw0gZMmcNIETprASRM4aQInTeCkCZw0gZMmcNIETprASRM4aQInTeCkCZw0gZMmcNIETprASRM4aQInTeCkCZw0gZMmcNIETprASRM4aQInTeCkCZw0gZMmcNIETprASRM4aQInTeCkCZw0gZMmcAAAAAAAAAAAAAAAAAAAAADgbN4BXUoi9dWR/fUAAAAASUVORK5CYII=\"","//Local Url:\r\n// let baseURL = \"http://192.168.12.141:7097\"\r\n\r\n//QA Url:\r\n// let baseURL = \"https://dev-wms.appinsnap.com\"\r\n\r\n//UAT Url:\r\nlet 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\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 img = localStorage.getItem(\"img\")\r\n\r\n return (\r\n \r\n <>\r\n
\r\n\r\n \r\n
\r\n WareHouse MS \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","import React, { useState } from \"react\";\r\nimport { NavLink } 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\r\n const [activeIndex, setActiveIndex] = useState(null);\r\n\r\n const onMenuItemClick = (event, item, index) => {\r\n //avoid processing disabled items\r\n if (item?.disabled) {\r\n event.preventDefault();\r\n return true;\r\n }\r\n\r\n //execute command\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 {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 && activeIndex === i,\r\n \"app-menuitem-logout\": item?.label === 'Logout'\r\n });\r\n \r\n // Use NavLink only if 'to' is defined\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 // For items with commands, use a button or a non-navigational element\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' }} // Ensure it looks clickable\r\n >\r\n {content}\r\n \r\n );\r\n } else {\r\n // Handle cases with neither 'to' nor 'command'\r\n return (\r\n
  • \r\n {content}\r\n
  • \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\nexport const loadingAction = (isLoading) => async (dispatch) => {\r\n dispatch(LOADING_SUCCESS(isLoading));\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 handlePostRequest =\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\": \"application/json\",\r\n // authorization: `Bearer ${localStorage.getItem(\"token\")}`, \r\n },\r\n });\r\n console.log('response POST TEMPLATE', response)\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 console.log('error', error)\r\n console.log('error?.response', error?.response)\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 { 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 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 (isShowLoad) dispatch(loadingAction(false));\r\n const id = toast.loading(\"Please wait...\");\r\n if (error?.response?.status === 500) toast.update(id, { render: error?.response?.data?.message || \"Something went wrong !!\", type: \"error\", isLoading: false, autoClose: 3000 });\r\n else toast.update(id, { render: error?.response?.data?.message || \"Something went wrong !!\", type: \"warn\", isLoading: false, autoClose: 3000 });\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\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(handlePostRequest(obj, \"/api/Authentication/Login\", true, true));\r\n console.log(\"Login response:\", response)\r\n\r\n if (response?.statusCode == 200) {\r\n\r\n localStorage.setItem(\"login\", true)\r\n sessionStorage.setItem('firstLogin', 'true');\r\n 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?.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
    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\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?.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\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 console.log('response PUT TEMPLATE', response)\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 console.log('error', error)\r\n console.log('error?.response', error?.response)\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, 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 {\r\n label: 'Deactivate',\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: (\r\n
    \r\n
    \r\n tempReasonRef.current = e.target.value} // Update the ref\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 handleDeleteUser(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 handleDeleteUser = async (rowData, reason) => {\r\n\r\n const obj = {\r\n user_id: rowData?.id,\r\n deactivate_Reason: reason,\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 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: './addedituser',\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: './addedituserr',\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 console.log('response', response)\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 console.log('res', res)\r\n if (res) {\r\n setUserTypes(res);\r\n }\r\n setIsActive(false);\r\n };\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 \r\n \r\n \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 {permissions.includes(2) ?\r\n
    \r\n {\r\n const item = false;\r\n history.push({\r\n pathname: './addeditusers',\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 // 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 Name\">\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 ({\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 { 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, // Pass formData directly\r\n headers: {\r\n 'Content-Type': 'multipart/form-data' // This is crucial for file uploads\r\n },\r\n });\r\n console.log('response', response)\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 console.log('error', 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 { 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 AddEditUsers = () => {\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().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().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().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().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().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().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().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().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 console.log('submit')\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 // //For Admin\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', '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 // formData.append('CreatedBy', !isNaN(parseInt(user_id)) ? parseInt(user_id) : 0);\r\n\r\n // //For Super Admin (WH Manager)\r\n // formData2.append('p_id', parseInt(rowData?.id));\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('p_id', parseInt(rowData?.id));\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 // 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/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 //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 //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 // setGetByIdData(response[0] ? response[0] : null)\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 // const format = imagePath?.split('.').pop().toLowerCase();\r\n\r\n // const fileName = `image.${format}`; // e.g., image.png, image.jpg, image.jpeg\r\n // const fileType = `image/${format === 'jpg' ? 'jpeg' : format}`; // e.g., image/png, image/jpeg\r\n\r\n // // Create the File object with the blob, file name, and file type\r\n // const file = new File([blob], fileName, { type: fileType });\r\n // // Append the file to the FormData object\r\n // setFileInfo(file)\r\n // formData.append('image', file);\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 // const keyData = response[0]\r\n // console.log('keyData', keyData)\r\n // if (keyData) {\r\n // // Super Admin Itself\r\n // if (keyData?.p_roletype_id == 1 && keyData?.p_usertypeid == 0 && keyData?.p_warehouse_id === 0) {\r\n // console.log(\"Super Admin Itself\")\r\n // setDisabledWHAdminField(false)\r\n // }\r\n // // Super Admin (WH Admin)\r\n // else if (keyData?.p_roletype_id == 2 && keyData?.p_usertypeid === 2 && keyData?.p_warehouse_id !== 0) {\r\n // console.log(\"Super Admin (WH Admin)\")\r\n // setUserTypeAs(keyData?.p_usertypeid)\r\n // formik.setFieldValue('user_type_id', keyData?.p_usertypeid)\r\n // formik.setFieldValue('warehouse_id', keyData?.p_warehouse_id)\r\n // formik.setFieldValue('user_id_2', 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', keyData?.p_RFID_code)\r\n // // formik.setFieldValue('role', keyData?.p_Role_id)\r\n // formik.setFieldValue('contact_2', keyData?.p_contactNumber)\r\n // if (keyData?.p_Role_id == 0 && keyData?.p_roletype_id == 2 && keyData?.p_usertypeid == 2 && keyData?.p_warehouse_id) {\r\n // setDisabledWHAdminField(true)\r\n // }\r\n // }\r\n // // Super Admin (System User)\r\n // else if (keyData?.p_roletype_id == 2 && keyData?.p_usertypeid == 1 && keyData?.p_warehouse_id == 0) {\r\n // console.log('Super Admin (System User)')\r\n // setUserTypeAs(keyData?.p_usertypeid)\r\n // formik.setFieldValue('user_type_id', keyData?.p_usertypeid)\r\n // formik.setFieldValue('role_2', keyData?.p_Role_id)\r\n // formik.setFieldValue('user_name_2', keyData?.p_user_name)\r\n // formik.setFieldValue('rfid_code_2', keyData?.p_RFID_code)\r\n // formik.setFieldValue('email_2', keyData?.p_User_Email)\r\n // formik.setFieldValue('contact_2', keyData?.p_contactNumber)\r\n // setDisabledWHAdminField(false)\r\n // }\r\n\r\n // else if (keyData?.p_roletype_id == 2 && keyData?.p_usertypeid == 1 && keyData?.p_warehouse_id !== 0) {\r\n // console.log('WH USER')\r\n // setUserTypeAs(keyData?.p_usertypeid)\r\n // formik.setFieldValue('user_type_id', keyData?.p_usertypeid)\r\n // formik.setFieldValue('user_id', keyData?.p_User_id)\r\n // formik.setFieldValue('role', keyData?.p_Role_id)\r\n // formik.setFieldValue('user_name', keyData?.p_user_name)\r\n // formik.setFieldValue('rfid_code', keyData?.p_RFID_code)\r\n // formik.setFieldValue('email', keyData?.p_User_Email)\r\n // formik.setFieldValue('contact', keyData?.p_contactNumber)\r\n // setDisabledWHAdminField(false)\r\n // }\r\n\r\n // }\r\n // };\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 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 {\r\n if(warehouseid || formik.values.warehouse_id || formik.values.user_type_id)\r\n {\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

    {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 {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 {\r\n formik.handleChange(e);\r\n setUserTypeAs(e.value);\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 :\r\n null}\r\n\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 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
    \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 AddEditUsers","import React, { useState, useEffect, useContext, useRef } 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 './Dashboard.scss'\r\nimport { Chart } from 'primereact/chart';\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { CircularProgressbar } from 'react-circular-progressbar';\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\n\r\nconst Dashboard = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const [chartData, setChartData] = useState({});\r\n const [chartOptions, setChartOptions] = useState({});\r\n const [chartData2, setChartData2] = useState({});\r\n const [chartOptions2, setChartOptions2] = useState({});\r\n const [chartData3, setChartData3] = useState({});\r\n const [chartOptions3, setChartOptions3] = useState({});\r\n const [isActive, setIsActive] = useState(false);\r\n const chart3Ref = useRef();\r\n\r\n\r\n\r\n const getChart1Data = () => {\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: [\"Warehouse 1\", \"Warehouse 1\", \"Warehouse 1\", \"Warehouse 1\", \"Warehouse 1\"],\r\n datasets: [\r\n {\r\n label: 'Users for Consumables',\r\n backgroundColor: 'rgba(106, 78, 209, 0.35)',\r\n borderColor: '#2d8eff',\r\n data: [65, 59, 80, 81, 56, 55, 40],\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 },\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 setChartData(data);\r\n setChartOptions(options);\r\n };\r\n\r\n\r\n const getChart2Data = () => {\r\n\r\n const data = {\r\n labels: ['Borrowed', 'Returned', \"Expiry Inventory\"],\r\n datasets: [\r\n {\r\n data: [540, 325, 200],\r\n backgroundColor: [\r\n 'rgba(106, 78, 209, 0.35)',\r\n 'rgba(191, 174, 252, 1)',\r\n 'rgba(117, 89, 221, 0.6)',\r\n ],\r\n hoverBackgroundColor: [\r\n 'rgba(141, 122, 213, 1)',\r\n ]\r\n }\r\n ]\r\n }\r\n const options = {\r\n plugins: {\r\n legend: {\r\n labels: {\r\n usePointStyle: true\r\n }\r\n }\r\n }\r\n };\r\n\r\n setChartData2(data);\r\n setChartOptions2(options);\r\n };\r\n\r\n // const getChart3Data = () => {\r\n\r\n // const data = {\r\n // labels: ['Active Users', 'Inactive Users',],\r\n // datasets: [\r\n // {\r\n // data: [300, 50],\r\n // backgroundColor: [\r\n // '#58f3fd',\r\n // '#f40505'\r\n // ],\r\n // hoverBackgroundColor: [\r\n // '#58f3fd',\r\n // '#f40505'\r\n // ]\r\n // }\r\n // ]\r\n // };\r\n // const options = {\r\n // cutout: '60%'\r\n // };\r\n\r\n // setChartData3(data);\r\n // setChartOptions3(options);\r\n // };\r\n\r\n\r\n const getChart3Data = () => {\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: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],\r\n datasets: [\r\n {\r\n label: 'My First dataset',\r\n backgroundColor: 'rgba(212, 201, 255, 1)',\r\n // borderColor: documentStyle.getPropertyValue('--blue-500'),\r\n data: [65, 59, 80, 81, 56, 55, 40]\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 },\r\n grid: {\r\n color: surfaceBorder,\r\n drawBorder: false\r\n }\r\n }\r\n }\r\n };\r\n setChartData3(data);\r\n setChartOptions3(options);\r\n }\r\n\r\n\r\n useEffect(() => {\r\n getChart1Data()\r\n getChart2Data()\r\n getChart3Data()\r\n }, [])\r\n\r\n const header = () => (\r\n <>\r\n
    \r\n

    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 return (\r\n <>\r\n\r\n
    \r\n {/* Cards 1 */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Total Inventory
    \r\n

    4000

    \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

    4000

    \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

    4000

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n {/* Chart 1 */}\r\n
    \r\n
    \r\n
    \r\n
    Users for Consumables
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* Chart 2 */}\r\n
    \r\n
    \r\n
    \r\n
    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
    \r\n
    \r\n
    \r\n\r\n
    \r\n {/* Chart 3 */}\r\n {/*
    \r\n
    \r\n
    \r\n
    User Details
    \r\n
    \r\n
    \r\n
    \r\n Inactive Users 25\r\n Active Users 75\r\n TOTAL \r\n 100 \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 Items
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n {/* Chart 4 */}\r\n
    \r\n
    \r\n
    \r\n
    Top Items
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {/* \r\n \r\n Yet to Dispatched 75%\r\n \r\n \r\n Dispatched 25%\r\n \r\n */}\r\n \r\n \r\n Total\r\n \r\n \r\n 100\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 \r\n \r\n \r\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 } 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\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 {\r\n label: 'Deactivate',\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 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: () => handleDeleteRole(rowData),\r\n reject: () => {\r\n return null\r\n },\r\n });\r\n };\r\n\r\n const handleDeleteRole = async (rowData) => {\r\n\r\n const obj = {\r\n role_id: rowData?.id,\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 console.log('response', response)\r\n if (response?.statusCode == 200) {\r\n await getRolesList();\r\n }\r\n setIsActive(false);\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 console.log(\"response\", response)\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 \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 // 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=\"Activation 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 console.log('rowData', rowData)\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 // 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(handlePutRequest(obj, \"/api/Authentication/UpdateRole\", true, true));\r\n console.log('response', response)\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 console.log('response', response)\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 console.log('response getRoleById', response)\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\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 console.log('selectedModules', selectedModules)\r\n console.log('selectedSubmodules', selectedSubmodules)\r\n console.log('selectedPermissions', selectedPermissions)\r\n\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 console.log(\"finalPayload: \", finalPayload);\r\n\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 };\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 // Toggle the current permission\r\n newPermissions[targetModuleId] = {\r\n ...newPermissions[targetModuleId],\r\n [permissionId]: !newPermissions[targetModuleId]?.[permissionId],\r\n };\r\n \r\n // Update view permission based on manage or create\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\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 // Set the selected modules, submodules, and permissions\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 try {\r\n const response = await dispatch(handleGetRequest(`/api/Authentication/GetPermissionbyid?rid=${roleId}`, true));\r\n const res = response; // Make sure you are accessing the right property for data.\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 // Update states\r\n setSelectedModules(newSelectedModules);\r\n setSelectedSubmodules(newSelectedSubmodules);\r\n setSelectedPermissions(newSelectedPermissions);\r\n } else {\r\n // Reset states if no modules are returned\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 };\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 \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\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 \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\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\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\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 const obj = {\r\n obj_id: rowData?.key,\r\n name: rowData?.label,\r\n isActive: 0,\r\n description: null,\r\n parentid: parentId,\r\n\r\n };\r\n setIsActive(true);\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 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: parentId,\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 // const getFilteredCategoryList = async () => {\r\n // setIsActive(true);\r\n // const response = await dispatch(\r\n // handleGetRequest(`/api/Setups/GetAllCategories?warehouse_id=${warehouseid || 0}`, true)\r\n // );\r\n // if (response) {\r\n // setFilteredAllCategories(response);\r\n // }\r\n // setIsActive(false);\r\n // };\r\n\r\n useEffect(() => {\r\n getCategoryList()\r\n // getFilteredCategoryList()\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 console.log('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\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 >\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 useEffect(() => {\r\n\r\n const myPermissions = JSON.parse(localStorage.getItem(\"permissions\"))\r\n const allPermModules = myPermissions?.find(module => module?.routepath?.includes(\"/Setups\"));\r\n console.log('allPermModules', allPermModules)\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\r\n return (\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-2 mr-1\"\r\n icon=\"pi pi-plus\"\r\n placeholder=\"--Select Category--\"\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 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 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 { 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 { 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 console.log(obj)\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 [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\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 \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=\"Product Name\">\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 \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\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 // subCategory_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 // description: 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 notes: 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: \"\",\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,\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 console.log('obj', obj)\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,\r\n brand_id: formik.values.brand_id,\r\n vendor_id: 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 console.log('response', response)\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 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 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 if (response) {\r\n setAllBrands(response);\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\r\n if (response) {\r\n setAllVendors(response);\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 console.log('rowData', rowData)\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetInventoryByid?id=${rowData?.id}`, true));\r\n console.log('response', response)\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)\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\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 setSelectedFiles((prevFiles) => [\r\n ...prevFiles,\r\n { file_extension: file.type, base64: base64String, file_name: file.name }\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 setSelectedFiles2((prevFiles) => [\r\n { file_extension: file.type, base64: base64String, file_name: file.name }\r\n ]);\r\n };\r\n reader.readAsDataURL(file);\r\n return file;\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 // 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\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 {getFormErrorMessage(\"subCategory_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 {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(\"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 {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 {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 {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
    \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
    \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 {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, { 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\n\r\nconst CheckIn = () => {\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 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 const maxFileSize = 10 * 1024 * 1024;\r\n const maxImageSize = 10 * 1024 * 1024;\r\n const maxVideoSize = 5 * 1024 * 1024;\r\n const [allCheckinData, setAllCheckinData] = useState();\r\n const [checkInUpdateId, setCheckInUpdateId] = useState('');\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
    \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\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 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 subCategory: 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 quantity: Yup.number().required(\"This field is required.\").nullable(),\r\n description: Yup.string().required(\"This field is required.\").nullable(),\r\n uom: Yup.number().required(\"This field is required.\").nullable(),\r\n skuCode: Yup.string().required(\"This field is required.\").nullable(),\r\n costPerUnit: Yup.number().required(\"This field is required.\").nullable(),\r\n vendorInformation: Yup.number().required(\"This field is required.\").nullable(),\r\n thresholdValue: Yup.number().required(\"This field is required.\").nullable(),\r\n expiryDate: Yup.string().required(\"This field is required.\").nullable(),\r\n valueOfMeasurement: Yup.number().required(\"This field is required.\").nullable(),\r\n addNotes: 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: \"\",\r\n category: \"\",\r\n subCategory: \"\",\r\n inventoryName: \"\",\r\n brand: \"\",\r\n rfidCode: \"\",\r\n quantity: \"\",\r\n description: \"\",\r\n uom: \"\",\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 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,\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 = [selectedDoc, selectedFiles, selectedFiles2]\r\n const allArrayData = concatAllData.flat();\r\n payload[\"attachments\"] = allArrayData;\r\n\r\n if (isEditable === false && editableForStage === false) {\r\n console.log('inside')\r\n delete payload['p_id'];\r\n }\r\n // else {\r\n // return null\r\n // }\r\n\r\n console.log('concatAllData', concatAllData)\r\n console.log('allArrayData', allArrayData)\r\n console.log('payload', payload)\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) {\r\n response = await dispatch(handlePutRequest(payload, '/api/Inventory/UpdateCheckIn', true, true));\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 console.log('response', response)\r\n\r\n setIsActive(false)\r\n if (isEditable === true && editableForStage === false && response?.statusCode == \"200\") {\r\n history.push('/checkin')\r\n }\r\n else if ((isEditable === false && editableForStage === true) && (response?.statusCode == \"200\")) {\r\n getAllInventoryData(false)\r\n formik.resetForm();\r\n setSelectedDoc()\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n }\r\n else if ((isEditable === false && editableForStage === false) && (response?.statusCode == \"200\")) {\r\n getAllInventoryData(false)\r\n formik.resetForm();\r\n setSelectedDoc()\r\n setSelectedFiles([])\r\n setSelectedFiles2([])\r\n }\r\n else {\r\n return null\r\n }\r\n\r\n },\r\n });\r\n\r\n\r\n const ResetForm = () => {\r\n formik.resetForm();\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 10MB\")\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\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\r\n const getAllApplicationDetail = async (e) => {\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 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 }\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 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 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 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 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\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 // if (warehouseid) {\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\r\n const handleCheckinData = 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/AddSubmitCheckIn\"));\r\n setIsActive(false)\r\n if (response.statusCode == \"200\") {\r\n getAllInventoryData(false)\r\n history.push('./checkin')\r\n }\r\n }\r\n\r\n const getCheckInLisyByIdEditable = async (rowData, isEditable) => {\r\n\r\n console.log('here')\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[0];\r\n } else {\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetStageCheckinByid?obj_id=${rowData?.id}`));\r\n keyData = response[0];\r\n }\r\n if (keyData) {\r\n console.log('keyData', keyData)\r\n setCheckInUpdateId(keyData?.id)\r\n getSubcategoryLOVs(keyData?.category_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(\"vendorInformation\", keyData?.vendor_id)\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\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.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 console.log('selectedFiles', selectedFiles)\r\n console.log('selectedFiles2', selectedFiles2)\r\n console.log('selectedDoc', selectedDoc)\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\r\n console.log('editableForStage', editableForStage)\r\n console.log('isView', isView)\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 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 {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 {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(\"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(\"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 {getFormErrorMessage(\"uom\")}\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 {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 {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
    \r\n {getFormErrorMessage(\"thresholdValue\")}\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(\"expiryDate\")}\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
    \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
    \r\n
    \r\n
    \r\n \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
    \r\n \r\n
    \r\n {getFormErrorMessage(\"addNotes\")}\r\n
    \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 ? (\r\n \r\n {selectedDoc?.fileName || 'Document'}\r\n setSelectedDoc(\"\")} >\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 {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 \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 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 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 { 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\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\r\n const [allCheckOutData, setAllCheckOutData] = useState();\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
    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 (e, rowData) => {\r\n e.preventDefault();\r\n console.log(e)\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/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 addNotes: 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: \"\",\r\n inventoryName: \"\",\r\n rfidCode: \"\",\r\n costPerUnit: \"\",\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_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 response = await dispatch(handlePostRequest(payload, '/api/Inventory/AddStageCheckOut'))\r\n setIsActive(false)\r\n if (response?.statusCode == \"200\") {\r\n getAllInventoryData(false)\r\n ResetForm();\r\n }\r\n\r\n },\r\n });\r\n\r\n const ResetForm = () => {\r\n formik.resetForm();\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 }\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 setIsActive(false)\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 }\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 = dispatch(handlePostRequest(obj, \"/api/Inventory/AddSubmitCheckOut\", true, true));\r\n setIsActive(false)\r\n if (response) {\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 setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/Inventory/GetCheckinByrfid?obj_id=${formik.values.rfidCode}`, true, true));\r\n console.log('response', response)\r\n const keyData = response[0]\r\n console.log('keyData', keyData)\r\n if (keyData) {\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 console.log('rowData', rowData)\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 *\r\n
    \r\n \r\n
    \r\n {getFormErrorMessage(\"addNotes\")}\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 \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\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","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 { handleGetRequest } from \"../../services/GetTemplate\";\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\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 [userdataId, setUserDataId] = useState();\r\n const [addEditUser, setAddEditUser] = useState(false);\r\n const [allUsers, setAllUsers] = useState([]);\r\n const [displayDialog, setDisplayDialog] = useState(false);\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 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 User ?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => handleDeleteUser(rowData),\r\n reject: null\r\n });\r\n }\r\n\r\n const handleDeleteUser = async (rowData) => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleDeleteRequest(`/api/user/delete/${rowData?._id}`, true, true));\r\n if (response?.status === 200) {\r\n await getUserList()\r\n }\r\n\r\n else if (response?.status === 403) {\r\n window.localStorage.clear();\r\n history.push(\"/\")\r\n toast.info(\"Please Login again\")\r\n }\r\n\r\n setIsActive(false);\r\n }\r\n\r\n const nameTemplate = (rowData) => {\r\n\r\n const result = `${rowData.first_name} ${rowData?.last_name}`\r\n return (\r\n <>\r\n {result}\r\n \r\n )\r\n }\r\n\r\n const handleEditUsers = (rowData) => {\r\n setDisplayDialog(true);\r\n setAddEditUser(true);\r\n setUserDataId(rowData?._id);\r\n };\r\n\r\n const onHide = (name) => {\r\n setDisplayDialog(false);\r\n setAddEditUser(false);\r\n };\r\n\r\n const handleDialog = () => {\r\n setDisplayDialog(true);\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/user/getAll\", false));\r\n if (response) {\r\n setAllUsers(response?.Data);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const allUsersStatic = [\r\n {\r\n email: 'abc@gmail.com', cnic: '222344334', contact: '03363635332', first_name: \"Hammad\", last_name: 'Ahsan'\r\n },\r\n {\r\n email: 'abc@gmail.com', cnic: '222344334', contact: '03363635332', first_name: \"Hammad\", last_name: 'Ahsan'\r\n },\r\n {\r\n email: 'abc@gmail.com', cnic: '222344334', contact: '03363635332', first_name: \"Hammad\", last_name: 'Ahsan'\r\n },\r\n ]\r\n\r\n useEffect(() => {\r\n // getUserList()\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 \r\n \r\n \r\n\r\n {permissions.includes(2) ?\r\n
    \r\n {\r\n history.push('./addeditasset')\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 \r\n \r\n \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 ManageAsset","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 { toast } from 'react-toastify';\r\n\r\nconst AddEditAsset = ({ onHide, getUserList, addEditUser, userdataId }) => {\r\n\r\n const userId = localStorage.getItem(\"userId\")\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [userInput, setUserInput] = useState(\"\")\r\n const [allDepartments, setAllDepartments] = useState([])\r\n const [allRoles, setAllRoles] = useState([])\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 password: addEditUser ? null : Yup.string().matches(/^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$/, \"Must be alphanumeric and at least 8 characters\").required(\"This field is required.\"),\r\n cnic: 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 cnic: \"\",\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 if (addEditUser === true) {\r\n\r\n let obj = {\r\n first_name: formik.values.first_name,\r\n last_name: formik.values.last_name,\r\n email: formik.values.email,\r\n cnic: formik.values.cnic,\r\n contact: formik.values.contact,\r\n gender: formik.values.gender,\r\n designation: formik.values.designation,\r\n department: formik.values.department,\r\n role: formik.values.role,\r\n }\r\n\r\n setSaveBtnLoading(true);\r\n const response = await dispatch(handlePutRequest(obj, `/api/user/update/${userdataId}`, false, true));\r\n if (response?.status === 200) {\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n onHide();\r\n }\r\n else if (response?.status === 403) {\r\n window.localStorage.clear();\r\n history.push(\"/\")\r\n toast.info(\"Please Login again\")\r\n }\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n onHide();\r\n }\r\n\r\n else {\r\n setSaveBtnLoading(true);\r\n\r\n let obj = {\r\n first_name: formik.values.first_name,\r\n last_name: formik.values.last_name,\r\n email: formik.values.email,\r\n cnic: formik.values.cnic,\r\n contact: formik.values.contact,\r\n gender: formik.values.gender,\r\n password: formik.values.password,\r\n designation: formik.values.designation,\r\n department: formik.values.department,\r\n role: formik.values.role,\r\n }\r\n\r\n const response = await dispatch(handlePostRequest(obj, \"/api/user/add\", false, true));\r\n if (response?.status === 200) {\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n onHide();\r\n }\r\n else if (response?.status === 403) {\r\n window.localStorage.clear();\r\n history.push(\"/\")\r\n toast.info(\"Please Login again\")\r\n }\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n onHide();\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 getUserById = async () => {\r\n\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/user/getbyid/${userdataId}`, false));\r\n\r\n if (response?.status === 200) {\r\n const keyData = response?.data;\r\n formik.setFieldValue(\"first_name\", keyData?.first_name)\r\n formik.setFieldValue(\"last_name\", keyData?.last_name)\r\n formik.setFieldValue(\"email\", keyData?.email)\r\n formik.setFieldValue(\"gender\", keyData?.gender)\r\n formik.setFieldValue(\"cnic\", keyData?.cnic)\r\n formik.setFieldValue(\"designation\", keyData?.designation)\r\n formik.setFieldValue(\"department\", keyData?.department?._id)\r\n formik.setFieldValue(\"role\", keyData?.role?._id)\r\n const contact = keyData?.contact;\r\n const formattedContact = contact ? contact.toString() : \"\";\r\n formik.setFieldValue(\"contact\", formattedContact);\r\n setIsActive(false)\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (userdataId !== undefined && userdataId !== null && addEditUser === true) {\r\n getUserById();\r\n }\r\n }, [userdataId]);\r\n\r\n\r\n const getAllRoles = async () => {\r\n\r\n setIsActive(true);\r\n const res = await dispatch(handleGetRequest(\"/api/role/getAll\", false));\r\n if (res) {\r\n setAllRoles(res?.data);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n // getAllRoles()\r\n }, [])\r\n\r\n const genderOptions = [\r\n { name: 'Male', id: \"male\" },\r\n { name: 'Female', id: \"female\" },\r\n ];\r\n\r\n useEffect(() => {\r\n if (formik.values.contact) {\r\n setUserInput(formik.values.contact.toString().slice(2));\r\n }\r\n }, [formik.values.contact]);\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

    Add New Asset

    \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 {getFormErrorMessage(\"first_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_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
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_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(\"first_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_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(\"first_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_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\r\n \r\n \r\n )\r\n}\r\n\r\nexport default AddEditAsset","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 { toast } from 'react-toastify';\r\n\r\nconst CheckInAsset = ({ onHide, getUserList, addEditUser, userdataId }) => {\r\n\r\n const userId = localStorage.getItem(\"userId\")\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [userInput, setUserInput] = useState(\"\")\r\n const [permissions, setPermissions] = useState([])\r\n const [allRoles, setAllRoles] = useState([])\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 password: addEditUser ? null : Yup.string().matches(/^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$/, \"Must be alphanumeric and at least 8 characters\").required(\"This field is required.\"),\r\n cnic: 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 cnic: \"\",\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 if (addEditUser === true) {\r\n\r\n let obj = {\r\n first_name: formik.values.first_name,\r\n last_name: formik.values.last_name,\r\n email: formik.values.email,\r\n cnic: formik.values.cnic,\r\n contact: formik.values.contact,\r\n gender: formik.values.gender,\r\n designation: formik.values.designation,\r\n department: formik.values.department,\r\n role: formik.values.role,\r\n }\r\n\r\n setSaveBtnLoading(true);\r\n const response = await dispatch(handlePutRequest(obj, `/api/user/update/${userdataId}`, false, true));\r\n if (response?.status === 200) {\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n onHide();\r\n }\r\n else if (response?.status === 403) {\r\n window.localStorage.clear();\r\n history.push(\"/\")\r\n toast.info(\"Please Login again\")\r\n }\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n onHide();\r\n }\r\n\r\n else {\r\n setSaveBtnLoading(true);\r\n\r\n let obj = {\r\n first_name: formik.values.first_name,\r\n last_name: formik.values.last_name,\r\n email: formik.values.email,\r\n cnic: formik.values.cnic,\r\n contact: formik.values.contact,\r\n gender: formik.values.gender,\r\n password: formik.values.password,\r\n designation: formik.values.designation,\r\n department: formik.values.department,\r\n role: formik.values.role,\r\n }\r\n\r\n const response = await dispatch(handlePostRequest(obj, \"/api/user/add\", false, true));\r\n if (response?.status === 200) {\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n onHide();\r\n }\r\n else if (response?.status === 403) {\r\n window.localStorage.clear();\r\n history.push(\"/\")\r\n toast.info(\"Please Login again\")\r\n }\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n onHide();\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 getUserById = async () => {\r\n\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/user/getbyid/${userdataId}`, false));\r\n\r\n if (response?.status === 200) {\r\n const keyData = response?.data;\r\n formik.setFieldValue(\"first_name\", keyData?.first_name)\r\n formik.setFieldValue(\"last_name\", keyData?.last_name)\r\n formik.setFieldValue(\"email\", keyData?.email)\r\n formik.setFieldValue(\"gender\", keyData?.gender)\r\n formik.setFieldValue(\"cnic\", keyData?.cnic)\r\n formik.setFieldValue(\"designation\", keyData?.designation)\r\n formik.setFieldValue(\"department\", keyData?.department?._id)\r\n formik.setFieldValue(\"role\", keyData?.role?._id)\r\n const contact = keyData?.contact;\r\n const formattedContact = contact ? contact.toString() : \"\";\r\n formik.setFieldValue(\"contact\", formattedContact);\r\n setIsActive(false)\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (userdataId !== undefined && userdataId !== null && addEditUser === true) {\r\n getUserById();\r\n }\r\n }, [userdataId]);\r\n\r\n\r\n const getAllRoles = async () => {\r\n\r\n setIsActive(true);\r\n const res = await dispatch(handleGetRequest(\"/api/role/getAll\", false));\r\n if (res) {\r\n setAllRoles(res?.data);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n // getAllRoles()\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 == \"/checkinasset\")\r\n setPermissions(result?.permissions?.map(item => item?.permission_id) || []);\r\n\r\n }\r\n\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
    \r\n

    Check In Asset

    \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 {getFormErrorMessage(\"first_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_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
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_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(\"first_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_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(\"first_name\")}\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}\r\n\r\nexport default CheckInAsset","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 { toast } from 'react-toastify';\r\n\r\nconst BorrowAsset = ({ onHide, getUserList, addEditUser, userdataId }) => {\r\n\r\n const userId = localStorage.getItem(\"userId\")\r\n const [saveBtnLoading, setSaveBtnLoading] = useState(false)\r\n const [isActive, setIsActive] = useState(false)\r\n const [permissions, setPermissions] = useState([])\r\n const [allRoles, setAllRoles] = useState([])\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 password: addEditUser ? null : Yup.string().matches(/^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$/, \"Must be alphanumeric and at least 8 characters\").required(\"This field is required.\"),\r\n cnic: 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 cnic: \"\",\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 if (addEditUser === true) {\r\n\r\n let obj = {\r\n first_name: formik.values.first_name,\r\n last_name: formik.values.last_name,\r\n email: formik.values.email,\r\n cnic: formik.values.cnic,\r\n contact: formik.values.contact,\r\n gender: formik.values.gender,\r\n designation: formik.values.designation,\r\n department: formik.values.department,\r\n role: formik.values.role,\r\n }\r\n\r\n setSaveBtnLoading(true);\r\n const response = await dispatch(handlePutRequest(obj, `/api/user/update/${userdataId}`, false, true));\r\n if (response?.status === 200) {\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n onHide();\r\n }\r\n else if (response?.status === 403) {\r\n window.localStorage.clear();\r\n history.push(\"/\")\r\n toast.info(\"Please Login again\")\r\n }\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n onHide();\r\n }\r\n\r\n else {\r\n setSaveBtnLoading(true);\r\n\r\n let obj = {\r\n first_name: formik.values.first_name,\r\n last_name: formik.values.last_name,\r\n email: formik.values.email,\r\n cnic: formik.values.cnic,\r\n contact: formik.values.contact,\r\n gender: formik.values.gender,\r\n password: formik.values.password,\r\n designation: formik.values.designation,\r\n department: formik.values.department,\r\n role: formik.values.role,\r\n }\r\n\r\n const response = await dispatch(handlePostRequest(obj, \"/api/user/add\", false, true));\r\n if (response?.status === 200) {\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n onHide();\r\n }\r\n else if (response?.status === 403) {\r\n window.localStorage.clear();\r\n history.push(\"/\")\r\n toast.info(\"Please Login again\")\r\n }\r\n getUserList();\r\n setSaveBtnLoading(false);\r\n onHide();\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 getUserById = async () => {\r\n\r\n setIsActive(true)\r\n const response = await dispatch(handleGetRequest(`/api/user/getbyid/${userdataId}`, false));\r\n\r\n if (response?.status === 200) {\r\n const keyData = response?.data;\r\n formik.setFieldValue(\"first_name\", keyData?.first_name)\r\n formik.setFieldValue(\"last_name\", keyData?.last_name)\r\n formik.setFieldValue(\"email\", keyData?.email)\r\n formik.setFieldValue(\"gender\", keyData?.gender)\r\n formik.setFieldValue(\"cnic\", keyData?.cnic)\r\n formik.setFieldValue(\"designation\", keyData?.designation)\r\n formik.setFieldValue(\"department\", keyData?.department?._id)\r\n formik.setFieldValue(\"role\", keyData?.role?._id)\r\n const contact = keyData?.contact;\r\n const formattedContact = contact ? contact.toString() : \"\";\r\n formik.setFieldValue(\"contact\", formattedContact);\r\n setIsActive(false)\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (userdataId !== undefined && userdataId !== null && addEditUser === true) {\r\n getUserById();\r\n }\r\n }, [userdataId]);\r\n\r\n\r\n const getAllRoles = async () => {\r\n\r\n setIsActive(true);\r\n const res = await dispatch(handleGetRequest(\"/api/role/getAll\", false));\r\n if (res) {\r\n setAllRoles(res?.data);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n useEffect(() => {\r\n // getAllRoles()\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\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
    \r\n

    Borrow Asset

    \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 {getFormErrorMessage(\"first_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_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(\"first_name\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n {getFormErrorMessage(\"first_name\")}\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}\r\n\r\nexport default BorrowAsset","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, 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 { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { useDispatch } 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\n\r\nconst Reporting = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const [isActive, setIsActive] = useState(false)\r\n const [userdataId, setUserDataId] = useState();\r\n const [addEditUser, setAddEditUser] = useState(false);\r\n const [allUsers, setAllUsers] = useState([]);\r\n const [displayDialog, setDisplayDialog] = useState(false);\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 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 User ?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => handleDeleteUser(rowData),\r\n reject: null\r\n });\r\n }\r\n\r\n const handleDeleteUser = async (rowData) => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleDeleteRequest(`/api/user/delete/${rowData?._id}`, true, true));\r\n if (response?.status === 200) {\r\n await getUserList()\r\n }\r\n\r\n else if (response?.status === 403) {\r\n window.localStorage.clear();\r\n history.push(\"/\")\r\n toast.info(\"Please Login again\")\r\n }\r\n\r\n setIsActive(false);\r\n }\r\n\r\n const nameTemplate = (rowData) => {\r\n\r\n const result = `${rowData.first_name} ${rowData?.last_name}`\r\n return (\r\n <>\r\n {result}\r\n \r\n )\r\n }\r\n\r\n const handleEditUsers = (rowData) => {\r\n setDisplayDialog(true);\r\n setAddEditUser(true);\r\n setUserDataId(rowData?._id);\r\n };\r\n\r\n const onHide = (name) => {\r\n setDisplayDialog(false);\r\n setAddEditUser(false);\r\n };\r\n\r\n const handleDialog = () => {\r\n setDisplayDialog(true);\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/user/getAll\", false));\r\n if (response) {\r\n setAllUsers(response?.Data);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const allUsersStatic = [\r\n {\r\n email: 'abc@gmail.com', cnic: '222344334', contact: '03363635332', first_name: \"Hammad\", last_name: 'Ahsan'\r\n },\r\n {\r\n email: 'abc@gmail.com', cnic: '222344334', contact: '03363635332', first_name: \"Hammad\", last_name: 'Ahsan'\r\n },\r\n {\r\n email: 'abc@gmail.com', cnic: '222344334', contact: '03363635332', first_name: \"Hammad\", last_name: 'Ahsan'\r\n },\r\n ]\r\n\r\n useEffect(() => {\r\n // getUserList()\r\n }, [])\r\n\r\n const Header = () => {\r\n return (\r\n <>\r\n

    {addEditUser ? \"Edit User\" : \"Add User\"}

    \r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n Inventory Status Report \r\n history.push('./reportingDetails')}>\r\n
    \r\n
    \r\n Inventory Valuation Report \r\n history.push('./reportingDetails')}>\r\n
    \r\n
    \r\n Stock Movement Report \r\n history.push('./reportingDetails')}>\r\n
    \r\n
    \r\n Stock Aging Report \r\n history.push('./reportingDetails')}>\r\n
    \r\n
    \r\n Asset Status Report \r\n history.push('./reportingDetails')}>\r\n
    \r\n\r\n \r\n );\r\n};\r\n\r\nexport default Reporting","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 { handleGetRequest } from \"../../services/GetTemplate\";\r\nimport { useDispatch } 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\n\r\nconst ReportingDetails = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const [isActive, setIsActive] = useState(false)\r\n const [userdataId, setUserDataId] = useState();\r\n const [addEditUser, setAddEditUser] = useState(false);\r\n const [allUsers, setAllUsers] = useState([]);\r\n const [displayDialog, setDisplayDialog] = useState(false);\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 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 User ?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => handleDeleteUser(rowData),\r\n reject: null\r\n });\r\n }\r\n\r\n const handleDeleteUser = async (rowData) => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleDeleteRequest(`/api/user/delete/${rowData?._id}`, true, true));\r\n if (response?.status === 200) {\r\n await getUserList()\r\n }\r\n\r\n else if (response?.status === 403) {\r\n window.localStorage.clear();\r\n history.push(\"/\")\r\n toast.info(\"Please Login again\")\r\n }\r\n\r\n setIsActive(false);\r\n }\r\n\r\n const nameTemplate = (rowData) => {\r\n\r\n const result = `${rowData.first_name} ${rowData?.last_name}`\r\n return (\r\n <>\r\n {result}\r\n \r\n )\r\n }\r\n\r\n const handleEditUsers = (rowData) => {\r\n setDisplayDialog(true);\r\n setAddEditUser(true);\r\n setUserDataId(rowData?._id);\r\n };\r\n\r\n const onHide = (name) => {\r\n setDisplayDialog(false);\r\n setAddEditUser(false);\r\n };\r\n\r\n const handleDialog = () => {\r\n setDisplayDialog(true);\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/user/getAll\", false));\r\n if (response) {\r\n setAllUsers(response?.Data);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const allUsersStatic = [\r\n {\r\n warehouse: 'XYZ', inventory: 'Abcd', rfid: '0f73', sku: \"938d83\", quantity: '10', value: \"20\", vendor: 'zzz'\r\n },\r\n {\r\n warehouse: 'XYZ', inventory: 'Abcd', rfid: '0f73', sku: \"938d83\", quantity: '10', value: \"20\", vendor: 'zzz'\r\n },\r\n {\r\n warehouse: 'XYZ', inventory: 'Abcd', rfid: '0f73', sku: \"938d83\", quantity: '10', value: \"20\", vendor: 'zzz'\r\n },\r\n {\r\n warehouse: 'XYZ', inventory: 'Abcd', rfid: '0f73', sku: \"938d83\", quantity: '10', value: \"20\", vendor: 'zzz'\r\n },\r\n {\r\n warehouse: 'XYZ', inventory: 'Abcd', rfid: '0f73', sku: \"938d83\", quantity: '10', value: \"20\", vendor: 'zzz'\r\n },\r\n\r\n ]\r\n\r\n useEffect(() => {\r\n // getUserList()\r\n }, [])\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
    \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 {/* */}\r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ReportingDetails","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\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 name: rowData?.obj_Name,\r\n warehouse_id: rowData?.warehouse_id,\r\n warehouse_poc: rowData?.warehouse_poc,\r\n contact_no: rowData?.contact_no,\r\n address: rowData?.address,\r\n location: rowData?.location,\r\n IsActive: 0,\r\n }\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handlePutRequest(obj, \"/api/Setups/UpdateWarehouse\", 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 name: rowData?.obj_Name,\r\n warehouse_id: rowData?.warehouse_id,\r\n warehouse_poc: rowData?.warehouse_poc,\r\n contact_no: rowData?.contact_no,\r\n address: rowData?.address,\r\n location: rowData?.location,\r\n IsActive: 1,\r\n }\r\n\r\n setIsActive(true);\r\n const response = await dispatch(handlePutRequest(obj, `/api/Setups/UpdateWarehouse`, 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 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 \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 // 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_id || 'N/A'} header=\"Warehouse Id\">\r\n rowData?.obj_Name || 'N/A'} header=\"Warehouse Name\">\r\n rowData?.warehouse_poc || 'N/A'} header=\"Warehouse POC\">\r\n rowData?.contact_no || 'N/A'} header=\"Contact No.\">\r\n rowData?.location || 'N/A'} header=\"Location\">\r\n (\r\n
    \r\n {
    \r\n {rowData?.address?.replace(/(.{25})/g, '$1\\n') || 'N/A'}\r\n
    }\r\n
    \r\n )}\r\n header=\"Address\"\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\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\r\n const history = useHistory()\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 // contact_no: 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 },\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.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 }\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 }\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 }\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 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 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 }\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 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 }\r\n setIsActive(false)\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\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 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
    \r\n

    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
    \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 \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(\"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 {getFormErrorMessage(\"location\")}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\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\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\r\n history.push('./resetPassword')\r\n return\r\n setSaveBtnLoading(true);\r\n let obj = {\r\n user_Email: formik.values.email,\r\n }\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Authentication/Login\", true, true));\r\n console.log(\"res\", response)\r\n if (response?.statusCode == 200) {\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 useEffect(() => {\r\n return () => {\r\n // Cleanup function\r\n setSaveBtnLoading(false);\r\n };\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 \"Image\r\n {/* */}\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, { 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\n\r\nconst ResetPassword = () => {\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 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\r\n onSubmit: async (data) => {\r\n\r\n return\r\n setSaveBtnLoading(true);\r\n let obj = {\r\n user_Email: formik.values.email,\r\n }\r\n const response = await dispatch(handlePostRequest(obj, \"/api/Authentication/Login\", true, true));\r\n console.log(\"res\", response)\r\n if (response?.statusCode == 200) {\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 useEffect(() => {\r\n return () => {\r\n // Cleanup function\r\n setSaveBtnLoading(false);\r\n };\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 \"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 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 AddEditUsers from \"./AddEditRoles\"\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 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 { Dropdown } from \"primereact/dropdown\";\r\nimport './AssignPermissions.scss'\r\n\r\nconst AssignPermissions2 = () => {\r\n\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n const [isActive, setIsActive] = useState(false)\r\n const [userdataId, setUserDataId] = useState();\r\n const [addEditUser, setAddEditUser] = useState(false);\r\n const [allUsers, setAllUsers] = useState([]);\r\n const [displayDialog, setDisplayDialog] = useState(false);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [selectedModules, setSelectedModules] = useState([]);\r\n const [selectedSubmodules, setSelectedSubmodules] = useState([]);\r\n const [selectedPermissions, setSelectedPermissions] = useState({});\r\n\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 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 User ?',\r\n header: 'Confirmation',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => handleDeleteUser(rowData),\r\n reject: null\r\n });\r\n }\r\n\r\n const handleDeleteUser = async (rowData) => {\r\n\r\n setIsActive(true);\r\n\r\n const response = await dispatch(handleDeleteRequest(`/api/user/delete/${rowData?._id}`, true, true));\r\n if (response?.status === 200) {\r\n await getUserList()\r\n }\r\n\r\n else if (response?.status === 403) {\r\n window.localStorage.clear();\r\n history.push(\"/\")\r\n toast.info(\"Please Login again\")\r\n }\r\n\r\n setIsActive(false);\r\n }\r\n\r\n const nameTemplate = (rowData) => {\r\n\r\n const result = `${rowData.first_name} ${rowData?.last_name}`\r\n return (\r\n <>\r\n {result}\r\n \r\n )\r\n }\r\n\r\n const handleEditUsers = (rowData) => {\r\n setDisplayDialog(true);\r\n setAddEditUser(true);\r\n setUserDataId(rowData?._id);\r\n };\r\n\r\n const onHide = (name) => {\r\n setDisplayDialog(false);\r\n setAddEditUser(false);\r\n };\r\n\r\n const handleDialog = () => {\r\n setDisplayDialog(true);\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/user/getAll\", false));\r\n if (response) {\r\n setAllUsers(response?.Data);\r\n }\r\n setIsActive(false);\r\n };\r\n\r\n const allUsersStatic = [\r\n {\r\n email: 'abc@gmail.com', cnic: '222344334', contact: '03363635332', first_name: \"Hammad\", last_name: 'Ahsan'\r\n },\r\n {\r\n email: 'abc@gmail.com', cnic: '222344334', contact: '03363635332', first_name: \"Hammad\", last_name: 'Ahsan'\r\n },\r\n {\r\n email: 'abc@gmail.com', cnic: '222344334', contact: '03363635332', first_name: \"Hammad\", last_name: 'Ahsan'\r\n },\r\n ]\r\n\r\n useEffect(() => {\r\n // getUserList()\r\n }, [])\r\n\r\n const Header = () => {\r\n return (\r\n <>\r\n

    {addEditUser ? \"Edit User\" : \"Add User\"}

    \r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n }\r\n\r\n\r\n\r\n const rolePermissions = [\r\n {\r\n \"_id\": \"63f8663f4177b3b558834ba6\",\r\n \"label\": \"Dashboard\",\r\n \"route\": \"/dashboard\",\r\n \"isSubModule\": false,\r\n \"permissions\": [\r\n { \"_id\": \"63f79d2002de67a77326784c\", \"name\": \"view\" },\r\n { \"_id\": \"63f79d6102de67a77326784d\", \"name\": \"create\" },\r\n { \"_id\": \"63f79d8302de67a77326784e\", \"name\": \"manage\" }\r\n ],\r\n \"sub_modules\": []\r\n },\r\n {\r\n \"_id\": \"63f866124177b3b558834ba2\",\r\n \"label\": \"User Management\",\r\n \"route\": \"/users\",\r\n \"isSubModule\": false,\r\n \"permissions\": [\r\n { \"_id\": \"63f79d2002de67a77326784c\", \"name\": \"view\" },\r\n { \"_id\": \"63f79d6102de67a77326784d\", \"name\": \"create\" },\r\n { \"_id\": \"63f79d8302de67a77326784e\", \"name\": \"manage\" }\r\n ],\r\n \"sub_modules\": []\r\n },\r\n {\r\n \"_id\": \"63f865ed4177b3b558834ba0\",\r\n \"label\": \"Role Management\",\r\n \"route\": \"/roles\",\r\n \"isSubModule\": false,\r\n \"permissions\": [\r\n { \"_id\": \"63f79d2002de67a77326784c\", \"name\": \"view\" },\r\n { \"_id\": \"63f79d6102de67a77326784d\", \"name\": \"create\" },\r\n { \"_id\": \"63f79d8302de67a77326784e\", \"name\": \"manage\" }\r\n ],\r\n \"sub_modules\": []\r\n },\r\n {\r\n \"_id\": \"63f866e04177b3b558834bb4\",\r\n \"label\": \"Inventory Management\",\r\n \"route\": \"/inventory\",\r\n \"isSubModule\": true,\r\n \"permissions\": [\r\n { \"_id\": \"63f79d8302de67a77326784e\", \"name\": \"manage\" },\r\n { \"_id\": \"63f79d2002de67a77326784c\", \"name\": \"view\" },\r\n { \"_id\": \"63f79d6102de67a77326784d\", \"name\": \"create\" }\r\n ],\r\n \"sub_modules\": [\r\n {\r\n \"_id\": \"63f86e58b7ab76e4782b7d42\",\r\n \"label\": \"Check In\",\r\n \"route\": \"/checkin\",\r\n \"permissions\": [\r\n { \"_id\": \"63f79d8302de67a77326784e\", \"name\": \"manage\" },\r\n { \"_id\": \"63f79d2002de67a77326784c\", \"name\": \"view\" },\r\n { \"_id\": \"63f79d6102de67a77326784d\", \"name\": \"create\" }\r\n ]\r\n },\r\n {\r\n \"_id\": \"63f86e67b7ab76e4782b7d44\",\r\n \"label\": \"Check Out\",\r\n \"route\": \"/checkout \",\r\n \"permissions\": [\r\n { \"_id\": \"63f79d8302de67a77326784e\", \"name\": \"manage\" },\r\n { \"_id\": \"63f79d2002de67a77326784c\", \"name\": \"view\" },\r\n { \"_id\": \"63f79d6102de67a77326784d\", \"name\": \"create\" }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"_id\": \"63f866694177b3b558834baa\",\r\n \"label\": \"RFID Labelling\",\r\n \"route\": \"/Rfid\",\r\n \"isSubModule\": false,\r\n \"permissions\": [\r\n { \"_id\": \"63f79d2002de67a77326784c\", \"name\": \"view\" },\r\n { \"_id\": \"63f79d6102de67a77326784d\", \"name\": \"create\" },\r\n { \"_id\": \"63f79d8302de67a77326784e\", \"name\": \"manage\" }\r\n ],\r\n \"sub_modules\": []\r\n },\r\n {\r\n \"_id\": \"63f865aa4177b3b558834b9e\",\r\n \"label\": \"Asset Management\",\r\n \"route\": \"/asset\",\r\n \"isSubModule\": true,\r\n \"permissions\": [\r\n { \"_id\": \"63f79d8302de67a77326784e\", \"name\": \"manage\" },\r\n { \"_id\": \"63f79d2002de67a77326784c\", \"name\": \"view\" },\r\n { \"_id\": \"63f79d6102de67a77326784d\", \"name\": \"create\" }\r\n ],\r\n \"sub_modules\": [\r\n {\r\n \"_id\": \"63f86e58b7ab76e4782b8d42\",\r\n \"label\": \"Check In\",\r\n \"route\": \"/checkin\",\r\n \"permissions\": [\r\n { \"_id\": \"63f79d8302de67a77326784e\", \"name\": \"manage\" },\r\n { \"_id\": \"63f79d2002de67a77326784c\", \"name\": \"view\" },\r\n { \"_id\": \"63f79d6102de67a77326784d\", \"name\": \"create\" }\r\n ]\r\n },\r\n {\r\n \"_id\": \"63f86e67b7ab76e7782b7d44\",\r\n \"label\": \"Borrowed Asset\",\r\n \"route\": \"/checkout \",\r\n \"permissions\": [\r\n { \"_id\": \"63f79d8302de67a77326784e\", \"name\": \"manage\" },\r\n { \"_id\": \"63f79d2002de67a77326784c\", \"name\": \"view\" },\r\n { \"_id\": \"63f79d6102de67a77326784d\", \"name\": \"create\" }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"_id\": \"63f8667b4177b3b558834bac\",\r\n \"label\": \"Caetgory Management\",\r\n \"route\": \"/category\",\r\n \"isSubModule\": false,\r\n \"permissions\": [\r\n { \"_id\": \"63f79d2002de67a77326784c\", \"name\": \"view\" },\r\n { \"_id\": \"63f79d6102de67a77326784d\", \"name\": \"create\" },\r\n { \"_id\": \"63f79d8302de67a77326784e\", \"name\": \"manage\" }\r\n ],\r\n \"sub_modules\": []\r\n },\r\n {\r\n \"_id\": \"63f866124177b3b551824ba2\",\r\n \"label\": \"Reporting\",\r\n \"route\": \"/reporting\",\r\n \"isSubModule\": false,\r\n \"permissions\": [\r\n { \"_id\": \"63f79d2002de67a77326784c\", \"name\": \"view\" },\r\n { \"_id\": \"63f79d6102de67a77326784d\", \"name\": \"create\" },\r\n { \"_id\": \"63f79d8302de67a77326784e\", \"name\": \"manage\" }\r\n ],\r\n \"sub_modules\": []\r\n },\r\n\r\n ]\r\n\r\n const handleModuleChange = (moduleId, isSubModule) => {\r\n setSelectedModules((prevModules) =>\r\n prevModules.includes(moduleId)\r\n ? prevModules.filter((id) => id !== moduleId)\r\n : [...prevModules, moduleId]\r\n );\r\n\r\n // Check if the main module ID is not in selectedModules\r\n const isMainModuleSelected = selectedModules.includes(moduleId);\r\n\r\n // Remove submodule IDs associated with the main module if it's not selected\r\n if (!isMainModuleSelected) {\r\n const module = rolePermissions.find((mod) => mod._id.includes(moduleId));\r\n if (module) {\r\n module.sub_modules.forEach((subModule) => {\r\n const subModuleId = subModule._id;\r\n if (selectedSubmodules.includes(subModuleId)) {\r\n setSelectedSubmodules((prevSubmodules) =>\r\n prevSubmodules.filter((id) => id !== subModuleId)\r\n );\r\n // Remove permissions for the submodule\r\n setSelectedPermissions((prevPermissions) => {\r\n const updatedPermissions = { ...prevPermissions };\r\n delete updatedPermissions[subModuleId];\r\n return updatedPermissions;\r\n });\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n const mainModuleSelected = selectedModules.includes(moduleId);\r\n if (mainModuleSelected) {\r\n const module = rolePermissions.find((mod) => mod._id.includes(moduleId));\r\n const removeIds = module?.sub_modules?.map((item) => item?._id);\r\n if (removeIds) {\r\n // Remove all associated submodule ids from selectedSubmodules array\r\n const removeAssociatedIds = selectedSubmodules.filter((id) => !removeIds.includes(id))\r\n\r\n setSelectedSubmodules(removeAssociatedIds)\r\n return\r\n // Remove permissions for the removed submodules\r\n setSelectedPermissions((prevPermissions) => {\r\n const updatedPermissions = { ...prevPermissions };\r\n removeIds.forEach((subModuleId) => {\r\n delete updatedPermissions[subModuleId];\r\n });\r\n return updatedPermissions;\r\n });\r\n }\r\n }\r\n }\r\n\r\n // Rest of the function remains the same\r\n const module = rolePermissions.find((mod) => mod._id === moduleId);\r\n if (module) {\r\n const newSelectedSubmodules = [...selectedSubmodules];\r\n const newSelectedPermissions = { ...selectedPermissions };\r\n\r\n // Handle Submodules and their Permissions\r\n module.sub_modules.forEach((subModule) => {\r\n const subModuleId = subModule._id;\r\n if (!newSelectedSubmodules.includes(subModuleId)) {\r\n newSelectedSubmodules.push(subModuleId);\r\n }\r\n\r\n if (!newSelectedPermissions[subModuleId]) {\r\n newSelectedPermissions[subModuleId] = {};\r\n }\r\n\r\n if (subModule.permissions && subModule.permissions.length > 0) {\r\n if (!newSelectedPermissions[subModuleId]) {\r\n newSelectedPermissions[subModuleId] = {};\r\n }\r\n\r\n // Check if there are permissions for the submodules\r\n subModule.permissions.forEach((permission) => {\r\n // Assign true to the specific key inside the object\r\n newSelectedPermissions[subModuleId][permission._id] = true;\r\n });\r\n }\r\n });\r\n\r\n // Handle Permissions for the selected main module\r\n if (!isSubModule && module.permissions && module.permissions.length > 0) {\r\n if (!newSelectedPermissions[moduleId]) {\r\n newSelectedPermissions[moduleId] = {};\r\n }\r\n\r\n module.permissions.forEach((permission) => {\r\n newSelectedPermissions[moduleId][permission._id] = true;\r\n });\r\n }\r\n\r\n setSelectedSubmodules(newSelectedSubmodules);\r\n setSelectedPermissions(newSelectedPermissions);\r\n }\r\n };\r\n\r\n // Function to handle submodule selection\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 // Function to handle permission selection\r\n const handlePermissionChange = (moduleId, permissionId) => {\r\n setSelectedPermissions((prev) => ({\r\n ...prev,\r\n [moduleId]: {\r\n ...prev[moduleId],\r\n [permissionId]: !prev[moduleId]?.[permissionId],\r\n },\r\n }));\r\n }\r\n\r\n const handleSelectAll = () => {\r\n if (rolePermissions) {\r\n const newSelectedModules = [];\r\n const newSelectedSubmodules = [];\r\n const newSelectedPermissions = {};\r\n\r\n rolePermissions.forEach((module) => {\r\n // Handle Main Modules\r\n newSelectedModules.push(module._id);\r\n\r\n // Handle Submodules\r\n if (module.isSubModule) {\r\n newSelectedSubmodules.push(module._id);\r\n }\r\n\r\n // Handle Permissions for Main Module\r\n if (!module.isSubModule && module.permissions && module.permissions.length > 0) {\r\n newSelectedPermissions[module?._id] = {};\r\n module.permissions.forEach((permission) => {\r\n newSelectedPermissions[module?._id][permission?._id] = true;\r\n });\r\n }\r\n\r\n // Handle Submodules and their Permissions\r\n module.sub_modules.forEach((subModule) => {\r\n newSelectedSubmodules.push(subModule?._id);\r\n\r\n if (!newSelectedPermissions[subModule?._id]) {\r\n newSelectedPermissions[subModule?._id] = {};\r\n }\r\n\r\n // Handle Permissions for Submoduless\r\n if (subModule.permissions && subModule.permissions.length > 0) {\r\n const subModuleId = subModule?._id;\r\n\r\n if (!newSelectedPermissions[subModuleId]) {\r\n newSelectedPermissions[subModuleId] = {};\r\n }\r\n\r\n // Check if there are permissions for the submodulessss\r\n subModule.permissions.forEach((permission) => {\r\n // Assign true to the specific key inside the objecttttt\r\n newSelectedPermissions[subModuleId][permission?._id] = true;\r\n });\r\n }\r\n });\r\n });\r\n\r\n // Set the selected modules, submodules, and permissions\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 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 \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {rolePermissions?.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 {!module.isSubModule && selectedModules.includes(module._id) ? (\r\n
    \r\n {module.permissions.map((permission) => (\r\n \r\n ))}\r\n
    \r\n ) : (\r\n // Display submodules and their permissions for selected main module\r\n module.sub_modules\r\n .filter((submodule) => selectedSubmodules.includes(submodule._id))\r\n .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
    \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\nexport default AssignPermissions2","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 AddEditUsersSuperAdmin = () => {\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\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 console.log('submit')\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', '1');\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', '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 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', '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 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 console.log('keyData', keyData)\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 console.log('Super Admin login --> WH Admin Row', keyData)\r\n // setSuperAdminSystemUser(false)\r\n setSystemUser(false)\r\n setWHAdmin(true)\r\n setWHAdminUser(false)\r\n setUserTypeAs(keyData?.p_usertypeid)\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 // formik.setFieldValue('rfid_code_2', keyData?.p_RFID_code)\r\n // formik.setFieldValue('role_2', keyData?.p_Role_id)\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 console.log('Super Admin login --> WH Admin User Row', keyData)\r\n // setSuperAdminSystemUser(false)\r\n setSystemUser(false)\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 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 console.log('Super Admin login --> System User Row', keyData)\r\n // setSuperAdminSystemUser(true)\r\n setSystemUser(true)\r\n setWHAdmin(false)\r\n setWHAdminUser(false)\r\n setUserTypeAs(keyData?.p_usertypeid)\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 console.log('formik.values.warehouse_id', formik.values.warehouse_id)\r\n console.log('formik.values.user_type_id', formik.values.user_type_id)\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 AddEditUsersSuperAdmin","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\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 [allVendor, 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\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 //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?.routepath?.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 \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 {rowData?.obj_Description?.replace(/(.{25})/g, '$1\\n') || 'N/A'}\r\n
    \r\n \r\n )}\r\n\r\n header=\"Description\">\r\n (\r\n
    \r\n {
    \r\n {rowData?.address?.replace(/(.{25})/g, '$1\\n') || 'N/A'}\r\n
    }\r\n
    \r\n )}\r\n header=\"Address\"\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 {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?.routepath?.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 \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 // 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.mixed().required(\"This field is required.\"),\r\n company_name: Yup.mixed().required(\"This field is required.\"),\r\n // address: Yup.mixed().required(\"This field is required.\"),\r\n // contact_number: Yup.mixed().required(\"This field is required.\"),\r\n // add_note: 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 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 \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 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 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 onSubmit: async (data) => {\r\n if (isEditable) {\r\n console.log(true)\r\n setSaveBtnLoading(true);\r\n\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 console.log('response', response)\r\n if (response?.statusCode == 200) {\r\n history.push('./category')\r\n setSaveBtnLoading(false);\r\n }\r\n } else {\r\n\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 console.log('response', response)\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\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 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 console.log(keyData)\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\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
    \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\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 AddEditUsersWH = () => {\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\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 console.log('submit')\r\n\r\n let formData = new FormData();\r\n let formData2 = 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 }\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', '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 formData.append('CreatedBy', !isNaN(parseInt(user_id)) ? parseInt(user_id) : 0);\r\n formData.append('image', `${baseURL}${showImage}` ) \r\n //For WH ADMIN\r\n \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', '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 formData2.append('image', `${baseURL}${showImage}` ) \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 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 console.log('keyData this WH', keyData)\r\n\r\n if (keyData) {\r\n\r\n if (keyData?.p_Role_id == 0 ) {\r\n console.log('WH Admin login --> WH Admin Row', keyData)\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 }\r\n\r\n else if (keyData?.p_Role_id !== 0 ) {\r\n console.log('WH Admin login --> WH Admin User Row', keyData)\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 }\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 AddEditUsersWH","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\n\r\nconst CheckInGrid = () => {\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\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: 'Edit',\r\n command: () => 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\r\n setIsActive(true);\r\n\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\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(\"/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 \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: './checkinaddedit',\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?.doc_no || 'N/A'} header=\"Voucher No.\">\r\n rowData?.warehousE_NAME || 'N/A'} header=\"Warehouse\">\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?.quantity || 'N/A'} header=\"Quantity\">\r\n rowData?.rfid || 'N/A'} header=\"RFID\">\r\n rowData?.sku_code || 'N/A'} header=\"Sku\">\r\n rowData?.expiry_Date || 'N/A'} header=\"Check In\">\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\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 List ?' : 'Are you sure you want to Activate this CheckOut List ?',\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 \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=\"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?.cost || 'N/A'} header=\"Cost\">\r\n rowData?.notes || 'N/A'} header=\"Notes\">\r\n rowData?.expiry_Date || 'N/A'} header=\"Check Out\">\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, 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 AddEditUsers from \"./pages/UserManagement/AddEditUsers\";\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\";\r\nimport BorrowAsset from \"./pages/AssetManagement/BorrowAsset\";\r\nimport ManageRFID from \"./pages/RfidManagement/ManageRFID\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport Reporting from \"./pages/Reporting/Reporting\";\r\nimport ReportingDetails from \"./pages/Reporting/ReportingDetails\";\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 dashboardIcon from \"../src/assets/warehouse-assets/dashboard-icons/dashboard.png\"\r\nimport AssignPermissions2 from \"./pages/RolesManagement/AssignPermissions2\";\r\nimport AddEditUsersSuperAdmin from \"./pages/UserManagement/AddEditUsersSuperAdmin\";\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 AddEditUsersWH from \"./pages/UserManagement/AddEditUsersWH\";\r\nimport { Dialog } from 'primereact/dialog';\r\nimport CheckInGrid from \"./pages/InventoryManagement/CheckIn/CheckInGrid\";\r\nimport CheckOutGrid from \"./pages/InventoryManagement/CheckOut/CheckOutGrid\";\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 [showLoader, setShowLoader] = useState(false);\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 useEffect(() => {\r\n if (roletypeid) {\r\n\r\n const timeoutId = setTimeout(() => {\r\n getPermissions(); // Call getPermissions after 2 second\r\n }, 3000);\r\n\r\n return () => clearTimeout(timeoutId); // Cleanup the timeout on unmount or `roletypeid` change\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 // setShowLoader(true)\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 console.log('if')\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 menuItems.push({\r\n label: \"Logout\",\r\n icon: \"custom-logout-icon\",\r\n command: handleLogOut\r\n });\r\n\r\n setDynamicMenu([{ items: menuItems }]);\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 history.push(menuItems[0]?.to);\r\n }\r\n }\r\n return\r\n }\r\n else {\r\n console.log('else')\r\n let menuItems = []\r\n menuItems.push({\r\n label: \"Logout\",\r\n icon: \"custom-logout-icon\",\r\n command: handleLogOut\r\n });\r\n\r\n setDynamicMenu([{ items: menuItems }]);\r\n return\r\n }\r\n // setShowLoader(false)\r\n };\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 handleLogOut = () => {\r\n setDynamicMenu([])\r\n localStorage.clear();\r\n window.localStorage.clear();\r\n window.sessionStorage.clear();\r\n history.push(\"/\");\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 label: \"Logout\",\r\n icon: \"custom-logout-icon\",\r\n command: handleLogOut\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 console.log(\"one minute complete inside\");\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 {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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {/* */}\r\n
    \r\n \r\n )\r\n }\r\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\n\r\nexport default combineReducers({\r\n authenticationSlice,\r\n utilitySlice,\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 = \"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/warehouse.3cfc8252.png\";","module.exports = __webpack_public_path__ + \"static/media/dp.f6ef03c5.jpeg\";"],"sourceRoot":""}