{"version":3,"sources":["reportWebVitals.js","constants/alertConstants.js","constants/productConstants.js","constants/userConstants.js","constants/roleMasterConstants.js","constants/dashboardConstants.js","constants/loginConstants.js","constants/menuConstants.js","constants/changePasswordConstants.js","constants/mappingRptConstants.js","constants/FeedbackRptConstants.js","constants/mappingConstants.js","constants/issueNoConstants.js","constants/damageConstants.js","constants/verificationLogConstants.js","constants/demappingConstants.js","constants/productAuthenticationConstants.js","constants/productConfigurationConstants.js","constants/numberGenerationConstants.js","constants/numberTrackingConstants.js","constants/DamageRptConstants.js","constants/QRDetailsRptConstants.js","reducers/verificationLogReducer.js","reducers/index.js","reducers/userReducer.js","reducers/alertReducer.js","reducers/productReducer.js","reducers/roleMasterReducer.js","reducers/dashboardReducer.js","reducers/loginReducer.js","reducers/menuReducer.js","reducers/changePasswordReducer.js","reducers/mappingRptReducer.js","reducers/FeedbackRptReducer.js","reducers/issueNoReducer.js","reducers/damageReducer.js","reducers/mappingReducer.js","reducers/demappingReducer.js","reducers/productAuthenticationReducer.js","reducers/productConfigurationReducer.js","reducers/numberGenerationReducer.js","reducers/numberTrackingReducer.js","reducers/DamageRptReducer.js","reducers/QRDetailsRptReducer.js","helpers/store.js","helpers/history.js","helpers/auth-header.js","services/productMasterService.js","services/userService.js","services/roleMasterService.js","services/dashboardService.js","services/loginService.js","services/menuService.js","services/changePasswordService.js","services/mappingService.js","services/IssueNoService.js","services/damageService.js","services/verificationLogServices.js","services/mappingRptService.js","services/FeedbackRptService.js","services/productConfigurationService.js","services/demappingService.js","services/ProductAuthenticationService.js","services/numberGenerationService.js","services/numberTrackingService.js","services/DamageRptService.js","services/QRDetailsRptService.js","actions/productMasterActions.js","actions/userMasterActions.js","actions/alertActions.js","actions/roleMasterActions.js","actions/dashboardActions.js","actions/loginActions.js","actions/menuActions.js","actions/changePasswordActions.js","actions/mappingActions.js","actions/issueNoActions.js","actions/damageActions.js","actions/verificationLogActions.js","actions/mappingRptActions.js","actions/FeedbackRptAction.js","actions/demappingActions.js","actions/productAuthenticationActions.js","actions/productConfigAction.js","actions/numberGenerationActions.js","actions/numberTrackingActions.js","actions/DamageRptActions.js","actions/QRDetailsRptActions.js","assets/images/Honda_logo.png","assets/images/HondaCarLogo.png","assets/images/honda-large-logo.svg","views/Login.jsx","models/VerifyProduct.js","assets/images/app.png","assets/images/sucess-code.png","views/Pa.jsx","assets/images/wrong-code.png","templates/Header.jsx","assets/images/avatar.jpg","templates/Footer.jsx","models/tableRequest.js","views/Dashboard.jsx","components/masters/productMaster.js","components/masters/roleMaster.js","views/Profile.jsx","components/mapping/IssueNumber.js","components/transactions/Mapping.js","components/transactions/DeMapping.js","components/transactions/Damage.js","components/masters/userMaster.js","components/reports/VerificationLog.js","components/reports/MappingRpt.js","components/reports/FeedbackRpt.js","components/masters/ProductConfiguration.js","components/reports/numberGenerationRpt.js","components/reports/numberTrackingRpt.js","components/reports/DemageRpt.js","components/reports/Out.js","components/reports/QRDetailsRpt.js","templates/Template.js","App.js","index.js"],"names":["reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","alertConstants","productConstants","userConstants","roleMasterConstants","CREATE_REQUEST","CREATE_SUCCESS","CREATE_FAILURE","UPDATE_REQUEST","UPDATE_SUCCESS","UPDATE_FAILURE","GETALL_REQUEST","GETALL_SUCCESS","GETALL_FAILURE","DELETE_REQUEST","DELETE_SUCCESS","DELETE_FAILURE","DIALOG_REQUEST","GETROLEDDL_REQUEST","GETROLEDDL_SUCCESS","GETROLEDDL_FAILURE","GET_PAGES_REQUEST","GET_PAGES_SUCCESS","GET_PAGES_FAILURE","UPDATE_PAGE_STORE","dashboardConstants","loginConstants","menuConstants","changePasswordConstants","mappingRptConstants","FeedbackRptConstants","mappingConstants","issueNoConstants","damageConstants","verificationLogConstants","demappingConstants","productAuthenticationConstants","productConfigurationConstants","GETCONFIGDDL_REQUEST","GETCONFIGDDL_SUCCESS","GETCONFIGDDL_FAILURE","RESET_REQUEST","NumberGenerationRptConstants","NumberTrackingRptConstants","DamageRptConstants","QRDetailsRptConstants","verification","state","action","type","loding","isbool","exporting","exportitems","datas","error","loading","items","rootReducer","combineReducers","user","showDialog","creating","data","map","item","UserId","updating","deleting","userId","UserName","Email","MobileNo","CompanyId","CompanyName","RoleId","RoleName","IsActive","isActive","Password","ConfirmPassword","CreatedDate","alert","message","product","ProductId","ProductCode","ProductName","ProductDescription","PermissibleScan","GenuineMessage","AlreadyScannedMsg","ProductImage","GenuineAudio","AlreadyScannedAudio","ProductSpecification","UpdatedDate","prdctddl","role","pages","pageList","roleId","roleName","RoleDesc","rollddl","getpages","dashboard","login","menu","changePassword","mappingRpt","OUT","FeedbackRpt","issueNo","IssueId","issueId","CreatedBy","CreatedDt","salesOrderNo","companyId","UpdatedBy","UpdatedDt","FrmNo","ToNo","IssueQty","batchddl","plantddl","batchDetails","damage","MappingId","damageId","productName","FromNo","Qty","mapping","mappingId","issueData","demappingId","productAuthenticationId","isOpen","configddl","reseting","store","createStore","applyMiddleware","thunkMiddleware","createBrowserHistory","authHeader","JSON","parse","localStorage","getItem","token","handleResponse","response","text","ok","status","statusText","Promise","reject","productMasterService","createProduct","requestOptions","method","headers","stringify","fetch","process","updateProduct","fetchProductData","inActiveRow","productId","fetchProductDataID","fetchProductName","fetchProductDLL","userService","createUser","updateUser","fetchUserData","roleService","createRole","updateRole","fetchRoleData","fetchRoleDLL","fetchPageData","updateRolePermission","dashboardService","fetchData","loginService","checkUser","menuService","fetchMenuData","changePasswordService","forgotPassword","mappingService","createMapping","fetchMappingData","fetchToNo","issueNoService","createIssueNo","fetchIssueNoData","fetchFromNumbersData","fetchBatchNumberDDL","fetchPlantDLL","fetchBatchDetails","batchNumber","damageService","createDamage","fetchDamageData","verificationLogServices","fetchVerificationData","mappingRptService","fetchOUTData","FeedbackRptService","fetchFeedbackData","productConfigurationService","updateProductConfig","fetchProductConfigData","sp_getconfigDDL","demappingService","createDemapping","productAuthenticationService","verifyProduct","UpdateFeedback","NumberGenerationService","fetchNumberGenerationData","NumberTrackingService","fetchNumberTrackingData","DamageRptService","body","QRDetailsRptService","getReport","productMasterActions","getAll","obj","dispatch","ResponseData","failure","toString","alertActions","request","ResponseCode","success","onHideShow","ResponseMessage","warning","getProductName","getPrdctDDL","userMasterActions","clear","roleMasterActions","openDialog","OPEN_DIALOG_REQUEST","getRoleDDL","getPages","updatePageStore","dashboardActions","loginActions","sessionStorage","setItem","window","location","menuActions","getMenu","changePasswordActions","setTimeout","mappingActions","updateMapping","GetToNo","issueNoActions","updateIssueNo","getFromNumber","getBatchNumberDDL","getPlantDDL","getBatchDetails","damageActions","updateDamage","verificationLogActions","lodingData","exportData","forEach","v","TotalRows","mappingRptActions","getOUT","getData","rowData","FeedbackRptActions","demappingActions","productAuthenticationActions","productConfigActions","updateproductConfiguration","getconfigDDL","productid","ProductConfiguration","onreset","NumberGenerationRptActions","NumberTrackingRptActions","DamageRptActions","loadingData","DocURL","DamageId","ProductID","CreatedName","DeMappingId","successExport","QRDetailsRptActions","Login","props","loggedIn","eyeToggle","forgotModal","formError","formForgotHeading","buttonLabel","forgotFormError","formHandle","bind","handleChange","submitForm","passwordToggle","hideFunc","handleForgotChange","submitForgotForm","event","target","name","value","errors","this","checked","setState","length","match","userName","preventDefault","isfrmvalid","checkerror","Object","entries","key","val","formData","visible","formForgotReset","validateForgotForm","IsValid","className","src","carLogo","onSubmit","placeholder","onChange","noValidate","autoComplete","onClick","header","style","width","onHide","color","label","icon","Component","connect","VerifyProduct","VerificationMode","QrData","VerificationType","CompanyPrefix","Userlatitude","Userlongitude","UserCity","UserState","UserCountry","UserZip","UserAddress","ScratchCode","ProductAuthentication","clsVerifyProduct","formIsValid","IsLocation","ratingBox","shareBox","rating","href","VerificationId","displayBasic","SeqNo","Name","email","UserFeedback","reverseGeocodeLatLngAndVerifyProduct","URLSearchParams","search","get","lat","long","caches","keys","names","a","all","delete","productAuthReq","isfeedfrmvalid","validateFeedback","feedbackData","ProductAuthenticationData","scratchError","navigator","geolocation","getCurrentPosition","position","showPosition","denied","GetVerifyProduct","enableHighAccuracy","maximumAge","coords","longitude","latitude","reverseGeoCode","Usrlatitude","Usrlongitude","res","address","state_district","UserCntry","country","postcode","display_name","Location","borderBottom","paddingBottom","logo","marginLeft","marginRight","display","height","alt","appHome","controls","autoPlay","id","hidden","sucessIcon","productAuthentication","productAuth","feedback","Header","listener","handleScroll","pageYOffset","nav","navigation","url","addEventListener","fetchApi","userNameCollector","removeEventListener","background","marginTop","zIndex","e","removeItem","model","MenuData","Footer","tableRequest","PageNo","First","SearchValue","PageSize","SortColumn","SortOrder","FromDate","ToDate","VM","Dashboard","tblResponse","globalFilter","production","code","mfgDate","expDate","mrp","photo","basicData","labels","datasets","fill","borderColor","fetchMappingApi","rows","first","sortOrder","getLazyLoadingValues","chartdata","Months","MappingChart","DeMappingChart","TotalIssue","TotalDamage","IssueData","ref","el","dt","rowHover","emptyMessage","sortMode","paginator","paginatorTemplate","currentPageReportTemplate","rowsPerPageOptions","field","sortable","DashboardList","DashboardListData","TotalMapping","DashboardCount","TotalDeMapping","DeMappingList","MappingList","MonthName","MappingData","productMaster","switchToggleConfirm","confirm","displayConfirmation","handleInputChange","index","list","productSpecification","handleRemoveClick","splice","productSpecifiation","handleAddClick","photoBodyTemplate","statusBodyTemplate","actionBodyTemplate","resetForm","setImagePath","setGenuineAudioPath","setAlreadyAudioPath","CreatedDtTemplate","UpdatedDtTemplate","activeIndex","switchAction","formHeading","displayModal","productDescription","promotionalMessage","permissibleScan","genuineMessage","shareMessage","shareurl","alreadyScannedMsg","warranty","productImage","genuineAudio","alreadyScannedAudio","createdDate","updatedDate","fetchProducts","today","Date","dd","String","getDate","padStart","mm","getMonth","yyyy","getFullYear","format","validateForm","ShareURL","getCurrentDateMMDDYYY","Checkbox","defaultChecked","disabled","inputProps","xhr","Source","editMode","switchHandleChange","MachineId","Switch","onInput","ProductData","modal","dismissableMask","TextField","size","variant","multiline","defaultValue","InputLabelProps","shrink","mode","auto","onUpload","onError","onErrorImage","accept","border","x","i","footer","autoFocus","fontSize","roleMaster","editPermission","createdDateTemplate","updatedDateTemplate","checkboxIsView","checkboxIsAdd","checkboxIsEdit","onchangeCheckbox","node","permissionArray","Pages","ischecked","currentTarget","pagelist","allViewCheck","allAddCheck","allEditCheck","rowdate","PageId","parseInt","IsView","IsAdd","IsEdit","listPages","isAllView","find","isAllAdd","isAllEdit","header2","viewHeading","checkAll","addHeading","updateHeading","RoleData","scrollable","scrollHeight","React","openPermissionDialog","Profile","OldPassword","NewPassword","userCollector","userEmailCollector","userMobileCollector","filter","fetchUserApi","IssueNumber","exportCSV","onPage","onSort","showSnackbar","updateLoader","PlantId","BatchNo","SupplierId","totalRecords","refrenceFromNo","refrenceToNo","getBatchNoDDL","fromNumber","toNumber","qty","exec","prevProps","sortField","multiSortMeta","lazy","FormControl","InputLabel","Select","onChangeBatch","labelId","MenuItem","BatchData","PlantData","MaxFromNo","demapping","BatchDetails","fetchFromNumberApi","machine","Mapping","resetFormHide","getToNumber","trim","ddlValu","getDropValue","class","fetchProductApi","DeMapping","Reason","Damage","batchNo","formheadings","Batch","userMaster","CreatedDateTemplate","UpdatedDateTemplate","UserTypeId","UserRoleData","ddlValuRole","getDropValueOfRole","UserData","autocomplete","input","fetchUserRole","VerificationLog","date","csvLink","createRef","FilterData","searchFilter","datalist","setDate","toLocaleDateString","toast","show","severity","summary","detail","life","startDate","endDate","undefined","verificationList","current","element","click","onModeChange","showIcon","appendTo","document","getElementById","filename","List","responsive","isLoding","MappingRpt","ToDt","FrmDt","myFmDt","getCurrentDateYYYYMMDD","myToDt","dataToSend","mappingList","handleClick","TotalMappedQty","TotalConsumedQty","OutboundData","FeedbackList","PartImageURL1","PartImageURL2","productSpecItem","productSpec","getProductList","singleCheck","getConfigurationList","configureField2","configureField","ConfigurationData","ConfigureItem","Value","ConfigureItem1","Value1","selectedProduct","IsCheckedAll","productConfiguration","checkboxes","getElementsByName","checkbox","getProductDDL","prevState","allChecked","isChecked","every","confg","products","push","formdata","ProductMasters","ProductImg","ischeck","checkCheckBox","hasOwnProperty","changevalue","configur","filterPlaceholder","emptyFilterMessage","resetFilterOnHide","options","productData","allCheck","NumberGenerationRpt","NumberGenerationList","NumberTrackingRpt","data-toggle","data-target","colSpan","paddingLeft","NumberTrackingList","DamageRpt","setHours","exportingData","DamageRptList","Out","ExportList","QRDetailsRpt","qrdata","setQRCodeData","command","activeItem","Data","OutbountData","ScanLogs","qrCodeData","handleSubmit","renderContent","Template","exact","path","component","ProductMaster","UserMaster","numberGenerationRpt","numberTrackingRpt","App","authPage","alertHeading","urlParams","showToaster","pathname","storeCollector","timeoutId","clearTimeout","ReactDOM","render"],"mappings":"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","file":"static/js/main.82ef058b.chunk.js","sourcesContent":["const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","export const alertConstants = {\r\n SUCCESS: 'ALERT_SUCCESS',\r\n WARNING: 'ALERT_WARNING',\r\n ERROR: 'ALERT_ERROR',\r\n CLEAR: 'ALERT_CLEAR'\r\n};","export const productConstants = {\r\n CREATE_REQUEST: 'PRODUCTS_CREATE_REQUEST',\r\n CREATE_SUCCESS: 'PRODUCTS_CREATE_SUCCESS',\r\n CREATE_FAILURE: 'PRODUCTS_CREATE_FAILURE',\r\n\r\n UPDATE_REQUEST: 'PRODUCTS_UPDATE_REQUEST',\r\n UPDATE_SUCCESS: 'PRODUCTS_UPDATE_SUCCESS',\r\n UPDATE_FAILURE: 'PRODUCTS_UPDATE_FAILURE',\r\n\r\n GETALL_REQUEST: 'PRODUCTS_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'PRODUCTS_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'PRODUCTS_GETALL_FAILURE',\r\n\r\n DELETE_REQUEST: 'PRODUCTS_DELETE_REQUEST',\r\n DELETE_SUCCESS: 'PRODUCTS_DELETE_SUCCESS',\r\n DELETE_FAILURE: 'PRODUCTS_DELETE_FAILURE' ,\r\n \r\n GETPRDCTDDL_REQUEST: 'PRODUCTS_GETPRDCTDDL_REQUEST',\r\n GETPRDCTDDL_SUCCESS: 'PRODUCTS_GETPRDCTDDL_SUCCESS',\r\n GETPRDCTDDL_FAILURE: 'PRODUCTS_GETPRDCTDDL_FAILURE',\r\n\r\n DIALOG_REQUEST:'DIALOG_REQUEST'\r\n};","export const userConstants = {\r\n CREATE_REQUEST: 'USERS_CREATE_REQUEST',\r\n CREATE_SUCCESS: 'USERS_CREATE_SUCCESS',\r\n CREATE_FAILURE: 'USERS_CREATE_FAILURE',\r\n\r\n UPDATE_REQUEST: 'USERS_UPDATE_REQUEST',\r\n UPDATE_SUCCESS: 'USERS_UPDATE_SUCCESS',\r\n UPDATE_FAILURE: 'USERS_UPDATE_FAILURE',\r\n\r\n GETALL_REQUEST: 'USERS_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'USERS_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'USERS_GETALL_FAILURE',\r\n\r\n DELETE_REQUEST: 'USERS_DELETE_REQUEST',\r\n DELETE_SUCCESS: 'USERS_DELETE_SUCCESS',\r\n DELETE_FAILURE: 'USERS_DELETE_FAILURE',\r\n \r\n DIALOG_REQUEST:'DIALOG_REQUEST'\r\n};","export const roleMasterConstants = {\r\n CREATE_REQUEST: 'ROLE_CREATE_REQUEST',\r\n CREATE_SUCCESS: 'ROLE_CREATE_SUCCESS',\r\n CREATE_FAILURE: 'ROLE_CREATE_FAILURE',\r\n\r\n UPDATE_REQUEST: 'ROLE_UPDATE_REQUEST',\r\n UPDATE_SUCCESS: 'ROLE_UPDATE_SUCCESS',\r\n UPDATE_FAILURE: 'ROLE_UPDATE_FAILURE',\r\n\r\n GETALL_REQUEST: 'ROLE_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'ROLE_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'ROLE_GETALL_FAILURE',\r\n\r\n DELETE_REQUEST: 'ROLE_DELETE_REQUEST',\r\n DELETE_SUCCESS: 'ROLE_DELETE_SUCCESS',\r\n DELETE_FAILURE: 'ROLE_DELETE_FAILURE',\r\n\r\n DIALOG_REQUEST: 'DIALOG_REQUEST',\r\n\r\n GETROLEDDL_REQUEST: 'ROLE_DDL_REQUEST',\r\n GETROLEDDL_SUCCESS: 'ROLE_DDL_SUCCESS',\r\n GETROLEDDL_FAILURE: 'GETROLEDDL_FAILURE',\r\n\r\n GET_PAGES_REQUEST: 'GET_PAGES_REQUEST',\r\n GET_PAGES_SUCCESS: 'GET_PAGES_SUCCESS',\r\n GET_PAGES_FAILURE: 'GET_PAGES_FAILURE',\r\n\r\n UPDATE_PAGE_STORE:'UPDATE_PAGE_STORE'\r\n};","export const dashboardConstants = {\r\n \r\n\r\n GETALL_REQUEST: 'DASHBOARD_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'DASHBOARD_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'DASHBOARD_GETALL_FAILURE',\r\n\r\n \r\n\r\n};","export const loginConstants = {\r\n CREATE_REQUEST: 'LOGIN_CREATE_REQUEST',\r\n CREATE_SUCCESS: 'LOGIN_CREATE_SUCCESS',\r\n CREATE_FAILURE: 'LOGIN_CREATE_FAILURE', \r\n};","export const menuConstants = {\r\n GETALL_REQUEST: 'MENU_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'MENU_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'MENU_GETALL_FAILURE' \r\n};","export const changePasswordConstants = {\r\n CREATE_REQUEST: 'CHANGEPASSWORD_CREATE_REQUEST',\r\n CREATE_SUCCESS: 'CHANGEPASSWORD_CREATE_SUCCESS',\r\n CREATE_FAILURE: 'CHANGEPASSWORD_CREATE_FAILURE', \r\n \r\n GETALL_REQUEST: 'CHANGEPASSWORD_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'CHANGEPASSWORD_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'CHANGEPASSWORD_GETALL_FAILURE',\r\n\r\n CREATE_FORGOT_REQUEST: 'CHANGEPASSWORD_CREATE_FORGOT_REQUEST',\r\n CREATE_FORGOT_SUCCESS: 'CHANGEPASSWORD_CREATE_FORGET_SUCCESS',\r\n CREATE_FORGOT_FAILURE: 'CHANGEPASSWORD_CREATE_FORGET_FAILURE', \r\n\r\n};","export const mappingRptConstants = {\r\n GETALL_REQUEST: 'MAPPING_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'MAPPING_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'MAPPING_GETALL_FAILURE',\r\n GET_ALL_Out_SUCCESS: 'MAPPING_GETALL_Out_SUCCESS',\r\n\r\n GETEXPORT_REQUEST: 'MAPPING_GETEXPORT_REQUEST',\r\n GETEXPORT_SUCCESS: 'MAPPING_GETEXPORT_SUCCESS',\r\n GETEXPORT_FAILURE: 'MAPPING_GETEXPORT_FAILURE',\r\n\r\n LODING_REQUEST: 'LODING_REQUEST'\r\n}","export const FeedbackRptConstants = {\r\n GETALL_REQUEST: 'FEEDBACK_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'FEEDBACK_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'FEEDBACK_GETALL_FAILURE',\r\n\r\n GETEXPORT_REQUEST: 'FEEDBACK_GETEXPORT_REQUEST',\r\n GETEXPORT_SUCCESS: 'FEEDBACK_GETEXPORT_SUCCESS',\r\n GETEXPORT_FAILURE: 'FEEDBACK_GETEXPORT_FAILURE',\r\n\r\n LODING_REQUEST: 'LODING_REQUEST'\r\n}","export const mappingConstants = {\r\n CREATE_REQUEST: 'MAPPINGS_CREATE_REQUEST',\r\n CREATE_SUCCESS: 'MAPPINGS_CREATE_SUCCESS',\r\n CREATE_FAILURE: 'MAPPINGS_CREATE_FAILURE',\r\n\r\n UPDATE_REQUEST: 'MAPPINGS_UPDATE_REQUEST',\r\n UPDATE_SUCCESS: 'MAPPINGS_UPDATE_SUCCESS',\r\n UPDATE_FAILURE: 'MAPPINGS_UPDATE_FAILURE',\r\n\r\n GETALL_REQUEST: 'MAPPINGS_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'MAPPINGS_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'MAPPINGS_GETALL_FAILURE',\r\n\r\n DELETE_REQUEST: 'MAPPINGS_DELETE_REQUEST',\r\n DELETE_SUCCESS: 'MAPPINGS_DELETE_SUCCESS',\r\n DELETE_FAILURE: 'MAPPINGS_DELETE_FAILURE',\r\n \r\n GETALL_TONO_REQUEST: 'MAPPING_GETALL_TONO_REQUEST',\r\n GETALL_TONO_SUCCESS: 'MAPPING_GETALL_TONO_SUCCESS',\r\n GETALL_TONO_FAILURE: 'MAPPING_GETALL_TONO_FAILURE',\r\n\r\n DIALOG_REQUEST:'DIALOG_REQUEST'\r\n};","export const issueNoConstants = {\r\n CREATE_REQUEST: 'ISSUE_CREATE_REQUEST',\r\n CREATE_SUCCESS: 'ISSUE_CREATE_SUCCESS',\r\n CREATE_FAILURE: 'ISSUE_CREATE_FAILURE',\r\n\r\n UPDATE_REQUEST: 'ISSUE_UPDATE_REQUEST',\r\n UPDATE_SUCCESS: 'ISSUE_UPDATE_SUCCESS',\r\n UPDATE_FAILURE: 'ISSUE_UPDATE_FAILURE',\r\n\r\n GETALL_REQUEST: 'ISSUE_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'ISSUE_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'ISSUE_GETALL_FAILURE',\r\n\r\n GETALL_FROMNO_REQUEST: 'ISSUE_GETALL_FROMNO_REQUEST',\r\n GETALL_FROMNO_SUCCESS: 'ISSUE_GETALL_FROMNO_SUCCESS',\r\n GETALL_FROMNO_FAILURE: 'ISSUE_GETALL_FROMNO_FAILURE',\r\n\r\n DELETE_REQUEST: 'ISSUE_DELETE_REQUEST',\r\n DELETE_SUCCESS: 'ISSUE_DELETE_SUCCESS',\r\n DELETE_FAILURE: 'ISSUE_DELETE_FAILURE',\r\n \r\n GET_BATCH_DDL_REQUEST: 'GET_BATCH_DDL_REQUEST',\r\n GET_BATCH_DDL_SUCCESS: 'GET_BATCH_DDL_SUCCESS',\r\n GET_BATCH_DDL_FAILURE: 'GET_BATCH_DDL_FAILURE',\r\n \r\n GET_PLANT_DDL_REQUEST: 'GET_PLANT_DDL_REQUEST',\r\n GET_PLANT_DDL_SUCCESS: 'GET_PLANT_DDL_SUCCESS',\r\n GET_PLANT_DDL_FAILURE: 'GET_PLANT_DDL_FAILURE',\r\n \r\n GET_BATCHDETAILS_REQUEST: 'GET_BATCHDETAILS_REQUEST',\r\n GET_BATCHDETAILS_SUCCESS: 'GET_BATCHDETAILS_SUCCESS',\r\n GET_BATCHDETAILS_FAILURE: 'GET_BATCHDETAILS_FAILURE',\r\n\r\n DIALOG_REQUEST:'DIALOG_REQUEST'\r\n};","export const damageConstants = {\r\n CREATE_REQUEST: 'DAMAGE_CREATE_REQUEST',\r\n CREATE_SUCCESS: 'DAMAGE_CREATE_SUCCESS',\r\n CREATE_FAILURE: 'DAMAGE_CREATE_FAILURE',\r\n\r\n UPDATE_REQUEST: 'DAMAGE_UPDATE_REQUEST',\r\n UPDATE_SUCCESS: 'DAMAGE_UPDATE_SUCCESS',\r\n UPDATE_FAILURE: 'DAMAGE_UPDATE_FAILURE',\r\n\r\n GETALL_REQUEST: 'DAMAGE_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'DAMAGE_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'DAMAGE_GETALL_FAILURE',\r\n\r\n DELETE_REQUEST: 'DAMAGE_DELETE_REQUEST',\r\n DELETE_SUCCESS: 'DAMAGE_DELETE_SUCCESS',\r\n DELETE_FAILURE: 'DAMAGE_DELETE_FAILURE',\r\n \r\n DIALOG_REQUEST:'DIALOG_REQUEST'\r\n};","export const verificationLogConstants = {\r\n GETALL_REQUEST: 'VERIFICATION_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'VERIFICATION_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'VERIFICATION_GETALL_FAILURE',\r\n\r\n GETEXPORT_REQUEST: 'VERIFICATION_GETEXPORT_REQUEST',\r\n GETEXPORT_SUCCESS: 'VERIFICATION_GETEXPORT_SUCCESS',\r\n GETEXPORT_FAILURE: 'VERIFICATION_GETEXPORT_FAILURE',\r\n\r\n LODING_REQUEST: 'LODING_REQUEST'\r\n}","export const demappingConstants = {\r\n CREATE_REQUEST: 'DEMAPPINGS_CREATE_REQUEST',\r\n CREATE_SUCCESS: 'DEMAPPINGS_CREATE_SUCCESS',\r\n CREATE_FAILURE: 'DEMAPPINGS_CREATE_FAILURE',\r\n\r\n UPDATE_REQUEST: 'DEMAPPINGS_UPDATE_REQUEST',\r\n UPDATE_SUCCESS: 'DEMAPPINGS_UPDATE_SUCCESS',\r\n UPDATE_FAILURE: 'DEMAPPINGS_UPDATE_FAILURE',\r\n\r\n GETALL_REQUEST: 'DEMAPPINGS_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'DEMAPPINGS_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'DEMAPPINGS_GETALL_FAILURE',\r\n\r\n DELETE_REQUEST: 'DEMAPPINGS_DELETE_REQUEST',\r\n DELETE_SUCCESS: 'DEMAPPINGS_DELETE_SUCCESS',\r\n DELETE_FAILURE: 'DEMAPPINGS_DELETE_FAILURE',\r\n \r\n DIALOG_REQUEST:'DIALOG_REQUEST'\r\n};","export const productAuthenticationConstants = {\r\n CREATE_REQUEST: 'PRODUCTAUTHENTICATIONS_CREATE_REQUEST',\r\n CREATE_SUCCESS: 'PRODUCTAUTHENTICATIONS_CREATE_SUCCESS',\r\n CREATE_FAILURE: 'PRODUCTAUTHENTICATIONS_CREATE_FAILURE',\r\n\r\n UPDATE_REQUEST: 'PRODUCTAUTHENTICATIONS_UPDATE_REQUEST',\r\n UPDATE_SUCCESS: 'PRODUCTAUTHENTICATIONS_UPDATE_SUCCESS',\r\n UPDATE_FAILURE: 'PRODUCTAUTHENTICATIONS_UPDATE_FAILURE',\r\n\r\n GETALL_REQUEST: 'PRODUCTAUTHENTICATIONS_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'PRODUCTAUTHENTICATIONS_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'PRODUCTAUTHENTICATIONS_GETALL_FAILURE',\r\n\r\n DELETE_REQUEST: 'PRODUCTAUTHENTICATIONS_DELETE_REQUEST',\r\n DELETE_SUCCESS: 'PRODUCTAUTHENTICATIONS_DELETE_SUCCESS',\r\n DELETE_FAILURE: 'PRODUCTAUTHENTICATIONS_DELETE_FAILURE' \r\n};","export const productConfigurationConstants = {\r\n CREATE_REQUEST: 'CONFIGURATION_CREATE_REQUEST',\r\n CREATE_SUCCESS: 'CONFIGURATION_CREATE_SUCCESS',\r\n CREATE_FAILURE: 'CONFIGURATION_CREATE_FAILURE',\r\n\r\n UPDATE_REQUEST: 'CONFIGURATION_UPDATE_REQUEST',\r\n UPDATE_SUCCESS: 'CONFIGURATION_UPDATE_SUCCESS',\r\n UPDATE_FAILURE: 'CONFIGURATION_UPDATE_FAILURE',\r\n\r\n GETALL_REQUEST: 'CONFIGURATION_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'CONFIGURATION_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'CONFIGURATION_GETALL_FAILURE', \r\n\r\n GETCONFIGDDL_REQUEST: 'CONFIGURATION_GETCMPNYDDL_REQUEST',\r\n GETCONFIGDDL_SUCCESS: 'CONFIGURATION_GETCONFIGDDL_SUCCESS',\r\n GETCONFIGDDL_FAILURE: 'CONFIGURATION_GETCONFIGDDL_FAILURE',\r\n \r\n RESET_REQUEST: 'RESET_REQUEST',\r\n\r\n};","export const NumberGenerationRptConstants ={\r\n GETALL_REQUEST: 'NumberGeneration_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'NumberGeneration_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'NumberGeneration_GETALL_FAILURE'\r\n}","export const NumberTrackingRptConstants ={\r\n GETALL_REQUEST: 'NumberTracking_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'NumberTracking_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'NumberTracking_GETALL_FAILURE'\r\n}","export const DamageRptConstants ={\r\n GETALL_REQUEST: 'DAMAGE_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'DAMAGE_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'DAMAGE_GETALL_FAILURE',\r\n\r\n GETEXPORT_REQUEST: 'DAMAGE_GETEXPORT_REQUEST',\r\n GETEXPORT_SUCCESS: 'DAMAGE_GETEXPORT_SUCCESS',\r\n GETEXPORT_FAILURE: 'DAMAGE_GETEXPORT_FAILURE',\r\n\r\n LOADING_REQUEST: 'LOADING_REQUEST'\r\n}","export const QRDetailsRptConstants = {\r\n GETALL_REQUEST: 'QRDATA_GETALL_REQUEST',\r\n GETALL_SUCCESS: 'QRDATA_GETALL_SUCCESS',\r\n GETALL_FAILURE: 'QRDATA_GETALL_FAILURE',\r\n\r\n GETEXPORT_REQUEST: 'QRDATA_GETEXPORT_REQUEST',\r\n GETEXPORT_SUCCESS: 'QRDATA_GETEXPORT_SUCCESS',\r\n GETEXPORT_FAILURE: 'QRDATA_GETEXPORT_FAILURE',\r\n\r\n\r\n\r\n LODING_REQUEST: 'LODING_REQUEST'\r\n}","import { verificationLogConstants } from '../constants';\r\n\r\nexport function verification(state = {}, action) {\r\n switch (action.type) {\r\n case verificationLogConstants.LODING_REQUEST:\r\n return {\r\n ...state,\r\n loding: action.isbool\r\n };\r\n\r\n case verificationLogConstants.GETEXPORT_REQUEST:\r\n return {\r\n ...state,\r\n exporting: true,\r\n };\r\n case verificationLogConstants.GETEXPORT_SUCCESS:\r\n return {\r\n ...state,\r\n exportitems: action.datas,\r\n };\r\n case verificationLogConstants.GETEXPORT_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error,\r\n };\r\n\r\n\r\n\r\n case verificationLogConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case verificationLogConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case verificationLogConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n\r\n\r\n}","import { combineReducers } from 'redux';\r\nimport { product } from './productReducer';\r\nimport { user } from './userReducer';\r\nimport { alert } from './alertReducer';\r\nimport { role } from \"./roleMasterReducer\";\r\nimport { dashboard } from \"./dashboardReducer\";\r\nimport { login } from \"./loginReducer\";\r\nimport { menu } from \"./menuReducer\";\r\nimport { changePassword } from \"./changePasswordReducer\";\r\nimport {mapping} from \"./mappingReducer\";\r\nimport {issueNo} from './issueNoReducer';\r\nimport {damage} from './damageReducer';\r\nimport { verification } from \"./verificationLogReducer\";\r\nimport { mappingRpt } from \"./mappingRptReducer\";\r\nimport {FeedbackRpt} from \"./FeedbackRptReducer\";\r\nimport {demapping} from './demappingReducer'; \r\nimport { productAuthentication } from './productAuthenticationReducer';\r\nimport { productConfiguration } from './productConfigurationReducer';\r\nimport {NumberGenerationRpt} from './numberGenerationReducer';\r\nimport {NumberTrackingRpt} from './numberTrackingReducer';\r\nimport {DamageRpt} from './DamageRptReducer';\r\nimport { QRDetailsRpt } from './QRDetailsRptReducer';\r\n\r\n\r\nconst rootReducer = combineReducers({\r\n user,\r\n alert,\r\n product,\r\n role,\r\n dashboard,\r\n login,\r\n menu,\r\n changePassword,\r\n mappingRpt,\r\n FeedbackRpt,\r\n issueNo,\r\n damage,\r\n verification,\r\n mapping,\r\n verification,\r\n demapping,\r\n productAuthentication,\r\n productConfiguration,\r\n NumberGenerationRpt,\r\n NumberTrackingRpt,\r\n DamageRpt,\r\n QRDetailsRpt\r\n});\r\n \r\nexport default rootReducer;","import { userConstants } from '../constants';\r\n\r\nexport function user(state = {}, action) {\r\n switch (action.type) {\r\n case userConstants.DIALOG_REQUEST:\r\n return {\r\n ...state,\r\n showDialog: action.isbool\r\n };\r\n case userConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case userConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case userConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case userConstants.CREATE_REQUEST:\r\n return {\r\n ...state,\r\n creating: true\r\n };\r\n case userConstants.CREATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items == null ? [action.data] : [action.data, ...state.items]\r\n };\r\n case userConstants.CREATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case userConstants.UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.UserId == action.data.UserId ? { ...item, updating: true } : item\r\n )\r\n };\r\n case userConstants.UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.UserId === action.data.UserId ? action.data : item\r\n )\r\n };\r\n case userConstants.UPDATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case userConstants.DELETE_REQUEST:\r\n return {\r\n ...state,\r\n deleting: true\r\n };\r\n case userConstants.DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.UserId === action.data ? {\r\n UserId: item.userId,\r\n UserName: item.UserName,\r\n Email: item.Email,\r\n MobileNo: item.MobileNo,\r\n CompanyId: item.CompanyId,\r\n CompanyName: item.CompanyName,\r\n RoleId: item.RoleId,\r\n RoleName: item.RoleName,\r\n IsActive: item.isActive,\r\n Password: item.Password,\r\n ConfirmPassword: item.Password,\r\n CreatedDate: item.CreatedDate\r\n\r\n } : item\r\n )\r\n };\r\n case userConstants.DELETE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n","import { alertConstants } from '../constants';\r\n\r\nexport function alert(state = {}, action) {\r\n switch (action.type) {\r\n case alertConstants.SUCCESS:\r\n return {\r\n type: 'alert-success',\r\n message: action.message\r\n };\r\n case alertConstants.WARNING:\r\n return {\r\n type: 'alert-warning',\r\n message: action.message\r\n };\r\n case alertConstants.ERROR:\r\n return {\r\n type: 'alert-danger',\r\n message: action.message\r\n };\r\n case alertConstants.CLEAR:\r\n return {};\r\n default:\r\n return state\r\n }\r\n}","import { productConstants } from '../constants';\r\n\r\nexport function product(state = {}, action) {\r\n switch (action.type) {\r\n case productConstants.DIALOG_REQUEST:\r\n return {\r\n ...state,\r\n showDialog: action.isbool\r\n };\r\n case productConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case productConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case productConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case productConstants.CREATE_REQUEST:\r\n return {\r\n ...state,\r\n creating: true\r\n };\r\n case productConstants.CREATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items == null ? [action.data] : [action.data, ...state.items]\r\n };\r\n case productConstants.CREATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case productConstants.UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.ProductId == action.data.ProductId ? { ...item, updating: true } : item\r\n )\r\n };\r\n case productConstants.UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.ProductId === action.data.ProductId ? action.data : item\r\n )\r\n };\r\n case productConstants.UPDATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case productConstants.DELETE_REQUEST:\r\n return {\r\n ...state,\r\n deleting: true\r\n };\r\n case productConstants.DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.ProductId === action.data ? {\r\n ProductId: item.ProductId,\r\n CompanyId: item.CompanyId,\r\n CompanyName: item.CompanyName,\r\n ProductCode: item.ProductCode,\r\n ProductName: item.ProductName,\r\n ProductDescription: item.ProductDescription,\r\n PermissibleScan: item.PermissibleScan,\r\n GenuineMessage: item.GenuineMessage,\r\n AlreadyScannedMsg: item.AlreadyScannedMsg,\r\n ProductImage: item.ProductImage,\r\n GenuineAudio: item.GenuineAudio,\r\n AlreadyScannedAudio: item.AlreadyScannedAudio,\r\n ProductSpecification: item.ProductSpecification,\r\n IsActive: false,\r\n CreatedDate: item.CreatedDate,\r\n UpdatedDate: item.UpdatedDate\r\n } : item\r\n )\r\n };\r\n case productConstants.DELETE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case productConstants.GETPRDCTDDL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case productConstants.GETPRDCTDDL_SUCCESS:\r\n return {\r\n ...state,\r\n prdctddl: action.datas\r\n };\r\n case productConstants.GETPRDCTDDL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n","import { roleMasterConstants } from '../constants';\r\n\r\nexport function role(state = {}, action) {\r\n switch (action.type) {\r\n case roleMasterConstants.DIALOG_REQUEST:\r\n return {\r\n ...state,\r\n showDialog: action.isbool\r\n };\r\n case roleMasterConstants.UPDATE_PAGE_STORE:\r\n return {\r\n ...state,\r\n pages: action.pageList\r\n };\r\n case roleMasterConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case roleMasterConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case roleMasterConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case roleMasterConstants.CREATE_REQUEST:\r\n return {\r\n ...state,\r\n creating: true\r\n };\r\n case roleMasterConstants.CREATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items == null ? [action.data] : [action.data, ...state.items]\r\n };\r\n case roleMasterConstants.CREATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case roleMasterConstants.UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.RoleId === action.data.RoleId ? { ...item, updating: true } : item\r\n )\r\n };\r\n case roleMasterConstants.UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.RoleId === action.data.RoleId ? action.data : item\r\n )\r\n };\r\n case roleMasterConstants.UPDATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case roleMasterConstants.DELETE_REQUEST:\r\n return {\r\n ...state,\r\n deleting: true\r\n };\r\n case roleMasterConstants.DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.RoleId === action.data ? {\r\n CompanyId: item.CompanyId,\r\n CompanyName: item.CompanyName,\r\n roleId: item.roleId,\r\n RoleName: item.roleName,\r\n RoleDesc: item.RoleDesc,\r\n isActive: item.isActive,\r\n CreatedDate: item.CreatedDate\r\n } : item\r\n )\r\n };\r\n case roleMasterConstants.DELETE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case roleMasterConstants.GETROLEDDL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case roleMasterConstants.GETROLEDDL_SUCCESS:\r\n return {\r\n ...state,\r\n rollddl: action.datas\r\n };\r\n case roleMasterConstants.GETROLEDDL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case roleMasterConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case roleMasterConstants.GET_PAGES_REQUEST:\r\n return {\r\n ...state,\r\n getpages: true\r\n };\r\n case roleMasterConstants.GET_PAGES_SUCCESS:\r\n return {\r\n ...state,\r\n pages: action.pages\r\n };\r\n case roleMasterConstants.GET_PAGES_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n}","import { dashboardConstants } from '../constants';\r\n\r\nexport function dashboard(state = {}, action) { \r\n switch (action.type) {\r\n case dashboardConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case dashboardConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case dashboardConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n \r\n default:\r\n return state\r\n }\r\n}\r\n","import { loginConstants } from '../constants';\r\n\r\nexport function login(state = {}, action) {\r\n switch (action.type) {\r\n \r\n case loginConstants.CREATE_REQUEST:\r\n return {\r\n ...state,\r\n creating: true\r\n };\r\n case loginConstants.CREATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: [action.data, ...state.items]\r\n };\r\n case loginConstants.CREATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n \r\n default:\r\n return state\r\n }\r\n}\r\n","import { menuConstants } from '../constants';\r\n \r\nexport function menu(state = {}, action) { \r\n switch (action.type) {\r\n case menuConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case menuConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case menuConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n}","import { changePasswordConstants } from '../constants';\r\n\r\nexport function changePassword(state = {}, action) {\r\n switch (action.type) {\r\n \r\n case changePasswordConstants.CREATE_REQUEST:\r\n return {\r\n ...state,\r\n creating: true\r\n };\r\n case changePasswordConstants.CREATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: [action.data]\r\n };\r\n case changePasswordConstants.CREATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n\r\n case changePasswordConstants.CREATE_FORGOT_REQUEST:\r\n return {\r\n ...state,\r\n creating: true\r\n };\r\n case changePasswordConstants.CREATE_FORGOT_SUCCESS:\r\n return {\r\n ...state,\r\n items: [action.data, ...state.items]\r\n };\r\n case changePasswordConstants.CREATE_FORGOT_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n }; \r\n case changePasswordConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case changePasswordConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case changePasswordConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n \r\n default:\r\n return state\r\n }\r\n}\r\n","import { mappingRptConstants } from '../constants';\r\n\r\nexport function mappingRpt(state = {}, action) {\r\n switch (action.type) {\r\n case mappingRptConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case mappingRptConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case mappingRptConstants.GET_ALL_Out_SUCCESS:\r\n return {\r\n ...state,\r\n OUT: action.datas\r\n };\r\n case mappingRptConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case mappingRptConstants.GETEXPORT_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case mappingRptConstants.GETEXPORT_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas,\r\n exportitems: action.datas,\r\n loading: false\r\n };\r\n case mappingRptConstants.GETEXPORT_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case mappingRptConstants.LODING_REQUEST:\r\n return {\r\n ...state,\r\n loading: action.isbool\r\n };\r\n default:\r\n return state\r\n }\r\n\r\n\r\n}","import { FeedbackRptConstants } from '../constants';\r\n\r\nexport function FeedbackRpt(state = {}, action) {\r\n switch (action.type) {\r\n case FeedbackRptConstants.LODING_REQUEST:\r\n return {\r\n ...state,\r\n loding: action.isbool\r\n };\r\n\r\n case FeedbackRptConstants.GETEXPORT_REQUEST:\r\n return {\r\n ...state,\r\n exporting: true,\r\n };\r\n case FeedbackRptConstants.GETEXPORT_SUCCESS:\r\n return {\r\n ...state,\r\n exportitems: action.datas,\r\n };\r\n case FeedbackRptConstants.GETEXPORT_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error,\r\n };\r\n \r\n case FeedbackRptConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case FeedbackRptConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case FeedbackRptConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n\r\n}","import { issueNoConstants } from '../constants';\r\n\r\nexport function issueNo(state = {}, action) {\r\n switch (action.type) {\r\n case issueNoConstants.DIALOG_REQUEST:\r\n return {\r\n ...state,\r\n showDialog: action.isbool\r\n };\r\n case issueNoConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case issueNoConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case issueNoConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n\r\n case issueNoConstants.GETALL_FROMNO_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case issueNoConstants.GETALL_FROMNO_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case issueNoConstants.GETALL_FROMNO_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case issueNoConstants.CREATE_REQUEST:\r\n return {\r\n ...state,\r\n creating: true\r\n };\r\n case issueNoConstants.CREATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items == null ? [action.data] : [action.data, ...state.items]\r\n };\r\n case issueNoConstants.CREATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case issueNoConstants.UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.IssueId == action.data.IssueId ? { ...item, updating: true } : item\r\n )\r\n };\r\n case issueNoConstants.UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.IssueId === action.data.IssueId ? action.data : item\r\n )\r\n };\r\n case issueNoConstants.UPDATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case issueNoConstants.DELETE_REQUEST:\r\n return {\r\n ...state,\r\n deleting: true\r\n };\r\n case issueNoConstants.DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.issueId === action.data ? {\r\n CreatedBy: item.CreatedBy,\r\n CreatedDt: item.CreatedDt,\r\n issueId: item.issueId,\r\n salesOrderNo: item.salesOrderNo,\r\n companyId: item.companyId,\r\n UpdatedBy: item.UpdatedBy,\r\n UpdatedDt: item.UpdatedDt,\r\n FrmNo: item.FrmNo,\r\n ToNo: item.ToNo,\r\n IssueQty: item.IssueQty\r\n } : item\r\n )\r\n };\r\n case issueNoConstants.DELETE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case issueNoConstants.GET_BATCH_DDL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case issueNoConstants.GET_BATCH_DDL_SUCCESS:\r\n return {\r\n ...state,\r\n batchddl: action.datas\r\n };\r\n case issueNoConstants.GET_BATCH_DDL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case issueNoConstants.GET_PLANT_DDL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case issueNoConstants.GET_PLANT_DDL_SUCCESS:\r\n return {\r\n ...state,\r\n plantddl: action.datas\r\n };\r\n case issueNoConstants.GET_PLANT_DDL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case issueNoConstants.GET_BATCHDETAILS_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case issueNoConstants.GET_BATCHDETAILS_SUCCESS:\r\n return {\r\n ...state,\r\n batchDetails: action.datas\r\n };\r\n case issueNoConstants.GET_BATCHDETAILS_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n","import { damageConstants } from '../constants';\r\n\r\nexport function damage(state = {}, action) {\r\n switch (action.type) {\r\n case damageConstants.DIALOG_REQUEST:\r\n return {\r\n ...state,\r\n showDialog: action.isbool\r\n };\r\n case damageConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case damageConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case damageConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case damageConstants.CREATE_REQUEST:\r\n return {\r\n ...state,\r\n creating: true\r\n };\r\n case damageConstants.CREATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.data\r\n };\r\n case damageConstants.CREATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case damageConstants.UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.MappingId == action.data.MappingId ? { ...item, updating: true } : item\r\n )\r\n };\r\n case damageConstants.UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.MappingId === action.data.MappingId ? action.data : item\r\n )\r\n };\r\n case damageConstants.UPDATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case damageConstants.DELETE_REQUEST:\r\n return {\r\n ...state,\r\n deleting: true\r\n };\r\n case damageConstants.DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.damageId === action.data ? {\r\n CreatedBy: item.CreatedBy,\r\n CreatedDt: item.CreatedDt,\r\n damageId: item.damageId,\r\n productName: item.productName,\r\n UpdatedBy: item.UpdatedBy,\r\n UpdatedDt: item.UpdatedDt,\r\n FromNo:item.FromNo,\r\n ToNo:item.ToNo,\r\n Qty:item.Qty\r\n } : item\r\n )\r\n };\r\n case damageConstants.DELETE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n","import { mappingConstants } from '../constants';\r\n\r\nexport function mapping(state = {}, action) {\r\n switch (action.type) {\r\n case mappingConstants.DIALOG_REQUEST:\r\n return {\r\n ...state,\r\n showDialog: action.isbool\r\n };\r\n case mappingConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case mappingConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case mappingConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case mappingConstants.CREATE_REQUEST:\r\n return {\r\n ...state,\r\n creating: true\r\n };\r\n case mappingConstants.CREATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items == null ? [action.data] : [action.data, ...state.items]\r\n };\r\n case mappingConstants.CREATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case mappingConstants.UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.MappingId == action.data.MappingId ? { ...item, updating: true } : item\r\n )\r\n };\r\n case mappingConstants.UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.MappingId === action.data.MappingId ? action.data : item\r\n )\r\n };\r\n case mappingConstants.UPDATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case mappingConstants.DELETE_REQUEST:\r\n return {\r\n ...state,\r\n deleting: true\r\n };\r\n case mappingConstants.DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.mappingId === action.data ? {\r\n CreatedBy: item.CreatedBy,\r\n CreatedDt: item.CreatedDt,\r\n mappingId: item.mappingId,\r\n productName: item.productName,\r\n UpdatedBy: item.UpdatedBy,\r\n UpdatedDt: item.UpdatedDt,\r\n FromNo:item.FromNo,\r\n ToNo:item.ToNo,\r\n Qty:item.Qty\r\n } : item\r\n )\r\n };\r\n case mappingConstants.DELETE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n\r\n case mappingConstants.GETALL_TONO_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case mappingConstants.GETALL_TONO_SUCCESS:\r\n return {\r\n ...state,\r\n issueData: action.datas\r\n };\r\n case mappingConstants.GETALL_TONO_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n","import { demappingConstants } from '../constants';\r\n\r\nexport function demapping(state = {}, action) {\r\n switch (action.type) {\r\n case demappingConstants.DIALOG_REQUEST:\r\n return {\r\n ...state,\r\n showDialog: action.isbool\r\n };\r\n case demappingConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case demappingConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case demappingConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case demappingConstants.CREATE_REQUEST:\r\n return {\r\n ...state,\r\n creating: true\r\n };\r\n case demappingConstants.CREATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.data\r\n };\r\n case demappingConstants.CREATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case demappingConstants.UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.demappingId == action.data.demappingId ? { ...item, updating: true } : item\r\n )\r\n };\r\n case demappingConstants.UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.demappingId === action.data.demappingId ? action.data : item\r\n )\r\n };\r\n case demappingConstants.UPDATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case demappingConstants.DELETE_REQUEST:\r\n return {\r\n ...state,\r\n deleting: true\r\n };\r\n case demappingConstants.DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.demappingId === action.data ? {\r\n CreatedBy: item.CreatedBy,\r\n CreatedDt: item.CreatedDt,\r\n demappingId: item.demappingId,\r\n productName: item.productName,\r\n UpdatedBy: item.UpdatedBy,\r\n UpdatedDt: item.UpdatedDt,\r\n FromNo:item.FromNo,\r\n ToNo:item.ToNo,\r\n Qty:item.Qty\r\n } : item\r\n )\r\n };\r\n case demappingConstants.DELETE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n","import { productAuthenticationConstants } from '../constants';\r\n\r\nexport function productAuthentication(state = {}, action) {\r\n switch (action.type) {\r\n case productAuthenticationConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case productAuthenticationConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case productAuthenticationConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case productAuthenticationConstants.CREATE_REQUEST:\r\n return {\r\n ...state,\r\n creating: true\r\n };\r\n case productAuthenticationConstants.CREATE_SUCCESS:\r\n return {\r\n ...state,\r\n // items: [action.data, ...state.items]\r\n items: [action.data]\r\n\r\n };\r\n case productAuthenticationConstants.CREATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case productAuthenticationConstants.UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.productAuthenticationId == action.data.productAuthenticationId ? { ...item, updating: true } : item\r\n )\r\n };\r\n case productAuthenticationConstants.UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.productAuthenticationId === action.data.productAuthenticationId ? action.data : item\r\n )\r\n };\r\n case productAuthenticationConstants.UPDATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case productAuthenticationConstants.DELETE_REQUEST:\r\n return {\r\n ...state,\r\n deleting: true\r\n };\r\n case productAuthenticationConstants.DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.productAuthenticationId === action.data ? {\r\n CreatedBy: item.CreatedBy,\r\n CreatedDt: item.CreatedDt,\r\n productAuthenticationId: item.productAuthenticationId,\r\n productName: item.productName,\r\n UpdatedBy: item.UpdatedBy,\r\n UpdatedDt: item.UpdatedDt,\r\n FromNo:item.FromNo,\r\n ToNo:item.ToNo,\r\n Qty:item.Qty\r\n } : item\r\n )\r\n };\r\n case productAuthenticationConstants.DELETE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n","import { productConfigurationConstants } from '../constants';\r\n\r\nexport function productConfiguration(state = {}, action) {\r\n switch (action.type) {\r\n case productConfigurationConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case productConfigurationConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case productConfigurationConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case productConfigurationConstants.CREATE_REQUEST:\r\n return {\r\n ...state,\r\n creating: true\r\n };\r\n case productConfigurationConstants.CREATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: [action.data, ...state.items]\r\n };\r\n case productConfigurationConstants.CREATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case productConfigurationConstants.UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n items: state.items\r\n };\r\n case productConfigurationConstants.UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n items: null,\r\n isOpen: false,\r\n roleId: 0\r\n };\r\n case productConfigurationConstants.UPDATE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n \r\n case productConfigurationConstants.DELETE_REQUEST:\r\n return {\r\n ...state,\r\n deleting: true\r\n };\r\n case productConfigurationConstants.DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n items: state.items.map(item =>\r\n item.productAuthenticationId === action.data ? {\r\n CreatedBy: item.CreatedBy,\r\n CreatedDt: item.CreatedDt,\r\n productAuthenticationId: item.productAuthenticationId,\r\n productName: item.productName,\r\n UpdatedBy: item.UpdatedBy,\r\n UpdatedDt: item.UpdatedDt,\r\n FromNo:item.FromNo,\r\n ToNo:item.ToNo,\r\n Qty:item.Qty\r\n } : item\r\n )\r\n };\r\n\r\n\r\n case productConfigurationConstants.GETCONFIGDDL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case productConfigurationConstants.GETCONFIGDDL_SUCCESS:\r\n return {\r\n ...state,\r\n configddl: action.datas\r\n };\r\n case productConfigurationConstants.GETCONFIGDDL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n\r\n\r\n case productConfigurationConstants.DELETE_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case productConfigurationConstants.RESET_REQUEST:\r\n return {\r\n ...state,\r\n reseting: action.isbool\r\n };\r\n default:\r\n return state\r\n }\r\n}","import {NumberGenerationRptConstants} from '../constants';\r\n\r\nexport function NumberGenerationRpt(state = {}, action) { \r\n switch (action.type) {\r\n case NumberGenerationRptConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case NumberGenerationRptConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case NumberGenerationRptConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n \r\n }","import {NumberTrackingRptConstants} from '../constants';\r\n\r\nexport function NumberTrackingRpt(state = {}, action) { \r\n switch (action.type) {\r\n case NumberTrackingRptConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case NumberTrackingRptConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case NumberTrackingRptConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n \r\n }","import { DamageRptConstants } from \"../constants/DamageRptConstants\";\r\n\r\nexport function DamageRpt(state = {}, action) {\r\n switch (action.type) {\r\n case DamageRptConstants.LOADING_REQUEST:\r\n return {\r\n ...state,\r\n loding: action.isbool\r\n };\r\n case DamageRptConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case DamageRptConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case DamageRptConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n case DamageRptConstants.GETEXPORT_REQUEST:\r\n return {\r\n ...state,\r\n exporting: true\r\n };\r\n case DamageRptConstants.GETEXPORT_SUCCESS:\r\n return {\r\n ...state,\r\n exportitems: action.datas\r\n };\r\n case DamageRptConstants.GETEXPORT_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n\r\n}","import { QRDetailsRptConstants } from '../constants';\r\n\r\nexport function QRDetailsRpt(state = {}, action) {\r\n switch (action.type) {\r\n case QRDetailsRptConstants.LODING_REQUEST:\r\n return {\r\n ...state,\r\n loding: action.isbool\r\n };\r\n\r\n case QRDetailsRptConstants.GETEXPORT_REQUEST:\r\n return {\r\n ...state,\r\n exporting: true,\r\n };\r\n case QRDetailsRptConstants.GETEXPORT_SUCCESS:\r\n return {\r\n ...state,\r\n exportitems: action.datas,\r\n };\r\n case QRDetailsRptConstants.GETEXPORT_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error,\r\n };\r\n\r\n case QRDetailsRptConstants.GETALL_REQUEST:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case QRDetailsRptConstants.GETALL_SUCCESS:\r\n return {\r\n ...state,\r\n items: action.datas\r\n };\r\n case QRDetailsRptConstants.GETALL_FAILURE:\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n default:\r\n return state\r\n }\r\n\r\n}","import { createStore, applyMiddleware } from 'redux';\r\nimport thunkMiddleware from 'redux-thunk';\r\n//import { createLogger } from 'redux-logger';\r\nimport rootReducer from '../reducers';\r\n\r\n//const loggerMiddleware = createLogger();\r\n\r\nexport const store = createStore(\r\n rootReducer,\r\n applyMiddleware(\r\n thunkMiddleware,\r\n //loggerMiddleware\r\n )\r\n);","import { createBrowserHistory } from 'history';\r\n\r\nexport const history = createBrowserHistory();","export function authHeader() {\r\n // return authorization header with jwt token\r\n let user = JSON.parse(localStorage.getItem('user'));\r\n\r\n if (user && user.token) {\r\n return { 'Authorization': 'Bearer ' + user.token };\r\n } else {\r\n return {};\r\n }\r\n}\r\n\r\nexport function handleResponse(response) {\r\n return response.text().then(text => { \r\n const data = text && JSON.parse(text);\r\n if (!response.ok) {\r\n if (response.status === 401) {\r\n // auto logout if 401 response returned from api\r\n //logout();\r\n //location.reload(true);\r\n }\r\n\r\n const error = (data && data.message) || response.statusText;\r\n return Promise.reject(error);\r\n }\r\n return data;\r\n });\r\n}","import { authHeader, handleResponse } from '../helpers';\r\nexport const productMasterService = {\r\n createProduct,\r\n updateProduct,\r\n fetchProductData,\r\n inActiveRow,\r\n fetchProductDataID,\r\n fetchProductName,\r\n fetchProductDLL\r\n};\r\n\r\nfunction createProduct(data) {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}ProductMaster/CreateProduct`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction updateProduct(data) {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}ProductMaster/UpdateProduct`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchProductData(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}ProductMaster/GetProducts`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchProductDataID(productId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}ProductMaster/GetProductID/${productId}`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchProductName(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}Mapping/GetProductName`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction inActiveRow(productId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}ProductMaster/InActiveRow/${productId}`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchProductDLL() {\r\n ;\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}ProductMaster/GetProductDLL`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\n\r\n","import { authHeader, handleResponse } from '../helpers';\r\nexport const userService = {\r\n createUser,\r\n updateUser,\r\n fetchUserData,\r\n inActiveRow\r\n\r\n};\r\n\r\nfunction createUser(data) {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}UserMaster/CreateUser`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction updateUser(data) {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}UserMaster/UpdateUser`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchUserData(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}UserMaster/GetUsers`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction inActiveRow(userId) { \r\n \r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader() \r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}UserMaster/InActiveRow/${userId}`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\n\r\n\r\n","import { authHeader, handleResponse } from '../helpers';\r\nexport const roleService = {\r\n createRole,\r\n updateRole,\r\n fetchRoleData,\r\n inActiveRow,\r\n fetchRoleDLL,\r\n fetchPageData,\r\n updateRolePermission\r\n};\r\n\r\nfunction createRole(data) {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}RoleMaster/CreateRole`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction updateRole(data) {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}RoleMaster/UpdateRole`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchRoleData() {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}RoleMaster/GetRoles`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction inActiveRow(roleId) {\r\n\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}RoleMaster/InActiveRow/${roleId}`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchRoleDLL() {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}RoleMaster/GetRoleDLL`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchPageData(roleId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}RoleMaster/GetPages/${roleId}`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction updateRolePermission(data) { \r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}RoleMaster/UpdatePagePermission`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n","import { authHeader, handleResponse } from '../helpers';\r\nexport const dashboardService = {\r\n fetchData,\r\n \r\n};\r\n\r\nfunction fetchData(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}Dashboard/GetDashboardData`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\n","import { authHeader, handleResponse } from '../helpers';\r\nexport const loginService = {\r\n checkUser\r\n \r\n\r\n};\r\n\r\nfunction checkUser(data) {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}Login/CheckUser`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\n","import { authHeader, handleResponse } from '../helpers';\r\nexport const menuService = {\r\n fetchMenuData\r\n};\r\n \r\nfunction fetchMenuData(roleId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n \r\n return fetch(`${process.env.REACT_APP_API_URL}UserMaster/GetUserMenu/${roleId}`, requestOptions)\r\n .then(handleResponse);\r\n}","import { authHeader, handleResponse } from '../helpers';\r\nexport const changePasswordService = {\r\n changePassword,\r\n forgotPassword\r\n \r\n\r\n};\r\n\r\nfunction changePassword(data) {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}UserMaster/ChangePassword`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction forgotPassword(data) {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}Login/ForgotPassword`, requestOptions)\r\n .then(handleResponse);\r\n}","import { authHeader, handleResponse } from '../helpers';\r\nexport const mappingService = {\r\n createMapping,\r\n fetchMappingData,\r\n fetchToNo\r\n};\r\n\r\nfunction createMapping(data) { \r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}Mapping/CreateMapping`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\n\r\nfunction fetchMappingData(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}Mapping/GetMappings`, requestOptions)\r\n .then(handleResponse);\r\n}\r\nfunction fetchToNo() {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}Mapping/GetToNumbers`,requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import { authHeader, handleResponse } from '../helpers';\r\nexport const issueNoService = {\r\n createIssueNo,\r\n fetchIssueNoData,\r\n fetchFromNumbersData,\r\n fetchBatchNumberDDL,\r\n fetchPlantDLL,\r\n fetchBatchDetails\r\n};\r\n\r\nfunction createIssueNo(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}IssueNo/CreateIssueNumber`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchIssueNoData(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}IssueNo/GetIssueNumbers`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchFromNumbersData() {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}IssueNo/GetFromNumbers`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchBatchNumberDDL() {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}IssueNo/GetBatchNumberDLL`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchPlantDLL() {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}IssueNo/GetPlantDLL`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchBatchDetails(batchNumber) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}IssueNo/GetBatchDetails/${batchNumber}`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { authHeader, handleResponse } from '../helpers';\r\nexport const damageService = {\r\n createDamage,\r\n fetchDamageData\r\n\r\n};\r\n\r\nfunction createDamage(data) { \r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}Damage/CreateDamage`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchDamageData(data) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}Damage/GetDamages`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import { authHeader, handleResponse } from '../helpers';\r\nexport const verificationLogServices = {\r\n fetchVerificationData\r\n \r\n};\r\n\r\nfunction fetchVerificationData(data) {\r\n ;\r\n //console.log(data);\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}VerificationLog/GetVerificationReport`, requestOptions)\r\n .then(handleResponse);\r\n}","import { authHeader, handleResponse } from '../helpers';\r\nexport const mappingRptService = {\r\n fetchMappingData,\r\n fetchOUTData,\r\n fetchData,\r\n \r\n};\r\n\r\nfunction fetchMappingData(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}MappingRpt/GetMappingReport`, requestOptions)\r\n .then(handleResponse);\r\n};\r\nfunction fetchOUTData(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}MappingRpt/GetOUTReport`, requestOptions)\r\n .then(handleResponse);\r\n};\r\nfunction fetchData(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}MappingRpt/GetReport`, requestOptions)\r\n .then(handleResponse);\r\n}","import { authHeader, handleResponse } from '../helpers';\r\nexport const FeedbackRptService = {\r\n fetchFeedbackData\r\n \r\n};\r\n\r\nfunction fetchFeedbackData(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}FeedbackRpt/GetFeedbackReport`, requestOptions)\r\n .then(handleResponse);\r\n}","import { authHeader, handleResponse } from '../helpers';\r\nexport const productConfigurationService = {\r\n updateProductConfig,\r\n fetchProductConfigData,\r\n sp_getconfigDDL\r\n\r\n};\r\n\r\nfunction updateProductConfig(data) {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}ProductConfiguration/UpdateProductConfiguration`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\n\r\nfunction fetchProductConfigData(ProductId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}ProductConfiguration/spGetConfigrationData/${ProductId}`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction sp_getconfigDDL(productId) {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader()\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}ProductConfiguration/getconfigDDL/${productId}`, requestOptions)\r\n .then(handleResponse);\r\n}","import { authHeader, handleResponse } from '../helpers';\r\nexport const demappingService = {\r\n createDemapping,\r\n fetchFromNumbersData\r\n\r\n};\r\n\r\nfunction createDemapping(data) { \r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}DeMapping/CreateDemapping`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction fetchFromNumbersData(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}IssueNo/GetFromNumbers`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { authHeader, handleResponse } from '../helpers';\r\nexport const productAuthenticationService = {\r\n verifyProduct,\r\n UpdateFeedback\r\n};\r\n\r\nfunction verifyProduct(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}ProductAuthentication/VerifyProduct`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction UpdateFeedback(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}ProductAuthentication/UpdateFeedback`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { authHeader, handleResponse } from '../helpers';\r\nexport const NumberGenerationService = {\r\n fetchNumberGenerationData\r\n\r\n};\r\n\r\nfunction fetchNumberGenerationData(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}NumberGenerationRpt/GetNumberGenRpt`, requestOptions)\r\n .then(handleResponse);\r\n}","import { authHeader, handleResponse } from '../helpers';\r\nexport const NumberTrackingService = {\r\n fetchNumberTrackingData\r\n\r\n};\r\n\r\nfunction fetchNumberTrackingData(data) {\r\n \r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}NumberTrackingRpt/GetNumTrackReport`, requestOptions)\r\n .then(handleResponse);\r\n}","import { authHeader, handleResponse } from '../helpers';\r\nexport const DamageRptService = {\r\n fetchDamageData \r\n};\r\n\r\nfunction fetchDamageData(data) {\r\n //console.log(data);\r\n ;\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n body: JSON.stringify(data)\r\n };\r\n return fetch(`${process.env.REACT_APP_API_URL}Damage/GetDamages`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\n","import { authHeader, handleResponse } from '../helpers';\r\nexport const QRDetailsRptService = {\r\n fetchFeedbackData,\r\n getReport\r\n};\r\n\r\nfunction fetchFeedbackData(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: authHeader(),\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}QRDetailsRpt/GetFeedbackReport`, requestOptions)\r\n .then(handleResponse);\r\n}\r\n\r\nfunction getReport(data) { debugger\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: authHeader() \r\n };\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}Reports/GetQRDetails?qrData=${data}`, requestOptions)\r\n .then(handleResponse);\r\n}","import { productMasterService } from '../services';\r\nimport { productConstants } from '../constants';\r\nimport { alertActions } from '.';\r\nimport { history } from '../helpers';\r\n\r\nexport const productMasterActions = {\r\n getAll,\r\n createProduct,\r\n updateProduct,\r\n inActiveRow,\r\n getProductName,\r\n getPrdctDDL,\r\n onHideShow\r\n};\r\n\r\nfunction getAll(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n productMasterService.fetchProductData(obj).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: productConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: productConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: productConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction getProductName(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n productMasterService.fetchProductName(obj).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: productConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: productConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: productConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction createProduct(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n productMasterService.createProduct(data).then(\r\n response => {\r\n //history.push('/');\r\n if (response && response.ResponseCode) {\r\n if(response.ResponseCode === \"200\"){\r\n dispatch(success(response.ResponseData));\r\n dispatch(onHideShow(false));\r\n dispatch(alertActions.success(response.ResponseMessage));\r\n }else if(response.ResponseCode === \"400\"){\r\n dispatch(alertActions.warning(response.ResponseMessage))\r\n }else{\r\n dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: productConstants.CREATE_REQUEST, data } }\r\n function success(data) { return { type: productConstants.CREATE_SUCCESS, data } }\r\n function failure(error) { return { type: productConstants.CREATE_FAILURE, error } }\r\n};\r\n\r\nfunction updateProduct(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n productMasterService.updateProduct(data).then(\r\n response => {\r\n //history.push('/'); \r\n if (response && response.ResponseCode) {\r\n if (response.ResponseCode === \"200\") {\r\n dispatch(onHideShow(false));\r\n dispatch(success(data));\r\n dispatch(alertActions.success(response.ResponseMessage))\r\n } else if (response.ResponseCode === \"400\") {\r\n dispatch(alertActions.warning(response.ResponseMessage))\r\n } else {\r\n dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: productConstants.UPDATE_REQUEST, data } }\r\n function success(data) { return { type: productConstants.UPDATE_SUCCESS, data } }\r\n function failure(error) { return { type: productConstants.UPDATE_FAILURE, error } }\r\n};\r\n\r\n\r\nfunction inActiveRow(productId) {\r\n return dispatch => {\r\n dispatch(request(productId));\r\n\r\n productMasterService.inActiveRow(productId).then(\r\n response => {\r\n dispatch(success(productId));\r\n //history.push('/'); \r\n if (response && response.ResponseCode) {\r\n response.ResponseCode === \"200\" ? dispatch(alertActions.success(response.ResponseMessage))\r\n : response.ResponseCode === \"400\" ? dispatch(alertActions.warning(response.ResponseMessage))\r\n : dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: productConstants.DELETE_REQUEST, data } }\r\n function success(data) { return { type: productConstants.DELETE_SUCCESS, data } }\r\n function failure(error) { return { type: productConstants.DELETE_FAILURE, error } }\r\n};\r\n\r\nfunction getPrdctDDL() {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n productMasterService.fetchProductDLL().then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: productConstants.GETPRDCTDDL_REQUEST } }\r\n function success(datas) { return { type: productConstants.GETPRDCTDDL_SUCCESS, datas } }\r\n function failure(error) { return { type: productConstants.GETPRDCTDDL_FAILURE, error } }\r\n};\r\n\r\nfunction onHideShow(isbool) {\r\n return {\r\n type: productConstants.DIALOG_REQUEST, isbool\r\n }\r\n}\r\n","import { userService } from '../services';\r\nimport { userConstants } from '../constants';\r\nimport { alertActions } from '.';\r\nimport { history } from '../helpers';\r\n\r\nexport const userMasterActions = {\r\n getAll,\r\n createUser,\r\n updateUser,\r\n inActiveRow,\r\n onHideShow\r\n};\r\n\r\nfunction getAll(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n userService.fetchUserData(obj).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: userConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: userConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: userConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction createUser(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n userService.createUser(data).then(\r\n response => {\r\n //history.push('/');\r\n if (response && response.ResponseCode) {\r\n if (response.ResponseCode === \"200\") {\r\n dispatch(success(response.ResponseData));\r\n dispatch(onHideShow(false));\r\n dispatch(alertActions.success(response.ResponseMessage));\r\n } else if (response.ResponseCode === \"400\") {\r\n dispatch(alertActions.warning(response.ResponseMessage))\r\n } else {\r\n dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: userConstants.CREATE_REQUEST, data } }\r\n function success(data) { return { type: userConstants.CREATE_SUCCESS, data } }\r\n function failure(error) { return { type: userConstants.CREATE_FAILURE, error } }\r\n};\r\n\r\nfunction updateUser(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n userService.updateUser(data).then(\r\n response => {\r\n //history.push('/'); \r\n if (response && response.ResponseCode) {\r\n if (response.ResponseCode === \"200\") {\r\n dispatch(success(data));\r\n dispatch(onHideShow(false));\r\n dispatch(alertActions.success(response.ResponseMessage))\r\n } else if (response.ResponseCode === \"400\") {\r\n dispatch(alertActions.warning(response.ResponseMessage))\r\n } else {\r\n dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: userConstants.UPDATE_REQUEST, data } }\r\n function success(data) { return { type: userConstants.UPDATE_SUCCESS, data } }\r\n function failure(error) { return { type: userConstants.UPDATE_FAILURE, error } }\r\n};\r\n\r\n\r\nfunction inActiveRow(data) {\r\n ;\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n userService.inActiveRow(data).then(\r\n response => {\r\n dispatch(success(data));\r\n //history.push('/'); \r\n if (response && response.ResponseCode) {\r\n response.ResponseCode == \"200\" ? dispatch(alertActions.success(response.ResponseMessage))\r\n : response.ResponseCode == \"400\" ? dispatch(alertActions.warning(response.ResponseMessage))\r\n : dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: userConstants.DELETE_REQUEST, data } }\r\n function success(data) { return { type: userConstants.DELETE_SUCCESS, data } }\r\n function failure(error) { return { type: userConstants.DELETE_FAILURE, error } }\r\n};\r\n\r\nfunction onHideShow(isbool) {\r\n return {\r\n type: userConstants.DIALOG_REQUEST, isbool\r\n }\r\n}\r\n\r\n","import { alertConstants } from '../constants';\r\n\r\nexport const alertActions = {\r\n success,\r\n error,\r\n warning,\r\n clear\r\n};\r\n\r\nfunction success(message) {\r\n return { type: alertConstants.SUCCESS, message };\r\n}\r\n\r\nfunction warning(message) {\r\n return { type: alertConstants.WARNING, message };\r\n}\r\n\r\nfunction error(message) {\r\n return { type: alertConstants.ERROR, message };\r\n}\r\n\r\nfunction clear() {\r\n return { type: alertConstants.CLEAR };\r\n}","import { roleService } from '../services';\r\nimport { roleMasterConstants } from '../constants';\r\nimport { alertActions } from '.';\r\nimport { history } from '../helpers';\r\n\r\nexport const roleMasterActions = {\r\n getAll,\r\n createRole,\r\n updateRole,\r\n openDialog,\r\n inActiveRow,\r\n onHideShow,\r\n getRoleDDL,\r\n getPages,\r\n updatePageStore,\r\n updateRolePermission\r\n};\r\n\r\nfunction getAll() {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n roleService.fetchRoleData().then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: roleMasterConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: roleMasterConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: roleMasterConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction updateRolePermission(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n roleService.updateRolePermission(data).then(\r\n response => {\r\n dispatch(success(data));\r\n //history.push('/'); \r\n if (response && response.ResponseCode) {\r\n response.ResponseCode == \"200\" ? dispatch(alertActions.success(response.ResponseMessage))\r\n : response.ResponseCode == \"400\" ? dispatch(alertActions.warning(response.ResponseMessage))\r\n : dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: roleMasterConstants.UPDATE_REQUEST, data } }\r\n function success(data) { return { type: roleMasterConstants.UPDATE_SUCCESS, data } }\r\n function failure(error) { return { type: roleMasterConstants.UPDATE_FAILURE, error } }\r\n};\r\n\r\nfunction getPages(roleId){\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n roleService.fetchPageData(roleId).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: roleMasterConstants.GET_PAGES_REQUEST } }\r\n function success(pages) { return { type: roleMasterConstants.GET_PAGES_SUCCESS, pages } }\r\n function failure(error) { return { type: roleMasterConstants.GET_PAGES_FAILURE, error } }\r\n}\r\n\r\nfunction createRole(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n roleService.createRole(data).then(\r\n response => {\r\n //history.push('/');\r\n if (response && response.ResponseCode) {\r\n if (response.ResponseCode === \"200\") { \r\n dispatch(success(response.ResponseData));\r\n dispatch(onHideShow(false));\r\n dispatch(alertActions.success(response.ResponseMessage));\r\n } else if (response.ResponseCode === \"400\") {\r\n dispatch(alertActions.warning(response.ResponseMessage))\r\n }\r\n else {\r\n dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: roleMasterConstants.CREATE_REQUEST, data } }\r\n function success(data) { return { type: roleMasterConstants.CREATE_SUCCESS, data } }\r\n function failure(error) { return { type: roleMasterConstants.CREATE_FAILURE, error } }\r\n};\r\n\r\nfunction updateRole(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n roleService.updateRole(data).then(\r\n response => {\r\n //history.push('/'); \r\n if (response && response.ResponseCode) {\r\n if (response.ResponseCode === \"200\") { \r\n dispatch(success(data));\r\n dispatch(onHideShow(false));\r\n dispatch(alertActions.success(response.ResponseMessage));\r\n }\r\n else if (response.ResponseCode === \"400\") {\r\n dispatch(alertActions.warning(response.ResponseMessage))\r\n }\r\n else {\r\n dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: roleMasterConstants.UPDATE_REQUEST, data } }\r\n function success(data) { return { type: roleMasterConstants.UPDATE_SUCCESS, data } }\r\n function failure(error) { return { type: roleMasterConstants.UPDATE_FAILURE, error } }\r\n};\r\n\r\nfunction openDialog(data) {\r\n return {\r\n type: roleMasterConstants.OPEN_DIALOG_REQUEST, data\r\n }\r\n}\r\n\r\nfunction inActiveRow(roleId) {\r\n return dispatch => {\r\n dispatch(request(roleId));\r\n\r\n roleService.inActiveRow(roleId).then(\r\n response => {\r\n dispatch(success(roleId));\r\n //history.push('/'); \r\n if (response && response.ResponseCode) {\r\n response.ResponseCode == \"200\" ? dispatch(alertActions.success(response.ResponseMessage), onHideShow(false))\r\n : response.ResponseCode == \"400\" ? dispatch(alertActions.warning(response.ResponseMessage))\r\n : dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: roleMasterConstants.DELETE_REQUEST, data } }\r\n function success(data) { return { type: roleMasterConstants.DELETE_SUCCESS, data } }\r\n function failure(error) { return { type: roleMasterConstants.DELETE_FAILURE, error } }\r\n};\r\n\r\nfunction getRoleDDL() {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n roleService.fetchRoleDLL().then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: roleMasterConstants.GETROLEDDL_REQUEST } }\r\n function success(datas) { return { type: roleMasterConstants.GETROLEDDL_SUCCESS, datas } }\r\n function failure(error) { return { type: roleMasterConstants.GETROLEDDL_FAILURE, error } }\r\n};\r\n\r\nfunction onHideShow(isbool) { \r\n return {\r\n type: roleMasterConstants.DIALOG_REQUEST, isbool\r\n } \r\n}\r\n\r\nfunction updatePageStore(pageList){ \r\n return dispatch => {\r\n dispatch(success(pageList))\r\n };\r\n function success(datas) { return { type: roleMasterConstants.UPDATE_PAGE_STORE, pageList } }\r\n}","\r\n\r\nimport { dashboardService } from '../services';\r\nimport { dashboardConstants } from '../constants';\r\nimport { alertActions } from '.';\r\n\r\nexport const dashboardActions = {\r\n \r\n fetchData\r\n};\r\n\r\nfunction fetchData(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n dashboardService.fetchData(obj).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: dashboardConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: dashboardConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: dashboardConstants.GETALL_FAILURE, error } }\r\n}\r\n","import { loginService } from '../services';\r\nimport { loginConstants } from '../constants';\r\nimport { alertActions } from '.';\r\nimport { history } from '../helpers';\r\n\r\nexport const loginActions = {\r\n checkUser\r\n \r\n};\r\n\r\n\r\nfunction checkUser(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n loginService.checkUser(data).then(\r\n response => {\r\n ;\r\n // dispatch(success(response.ResponseData));\r\n //history.push('/');\r\n if (response && response.ResponseCode) {\r\n // response.ResponseCode == \"200\" ? dispatch(alertActions.success(response.ResponseMessage))\r\n // : response.ResponseCode == \"400\" ? dispatch(alertActions.warning(response.ResponseMessage))\r\n // : dispatch(alertActions.error(response.ResponseMessage))\r\n\r\n if(response.ResponseCode==\"200\"){\r\n sessionStorage.setItem(\"LoggedInUser\", JSON.stringify({ login: true }));\r\n sessionStorage.setItem(\"UserData\", response.ResponseData[0].UserId);\r\n sessionStorage.setItem(\"UserRole\", response.ResponseData[0].RoleId);\r\n sessionStorage.setItem(\"UserNameData\", response.ResponseData[0].UserName);\r\n sessionStorage.setItem(\"UserEmailData\", response.ResponseData[0].Email);\r\n sessionStorage.setItem(\"UserMobileData\", response.ResponseData[0].MobileNo);\r\n sessionStorage.setItem(\"CompanyData\", response.ResponseData[0].CompanyId);\r\n window.location = '/dashboard'\r\n\r\n }\r\n else{\r\n\r\n dispatch(alertActions.error(response.ResponseMessage));\r\n\r\n }\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: loginConstants.CREATE_REQUEST, data } }\r\n function success(data) { return { type: loginConstants.CREATE_SUCCESS, data } }\r\n function failure(error) { return { type: loginConstants.CREATE_FAILURE, error } }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n","import { menuService } from '../services';\r\nimport { menuConstants } from '../constants';\r\nimport { alertActions } from '.';\r\nimport { history } from '../helpers';\r\n \r\nexport const menuActions = {\r\n getMenu\r\n};\r\n \r\nfunction getMenu(roleId) {\r\n return dispatch => {\r\n dispatch(request());\r\n \r\n menuService.fetchMenuData(roleId).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n \r\n function request() { return { type: menuConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: menuConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: menuConstants.GETALL_FAILURE, error } }\r\n}","import { changePasswordService } from '../services';\r\nimport { changePasswordConstants } from '../constants';\r\nimport { alertActions } from '.';\r\n\r\nexport const changePasswordActions = {\r\n changePassword,\r\n forgotPassword\r\n};\r\n\r\n\r\n\r\nfunction changePassword(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n changePasswordService.changePassword(data).then(\r\n response => {\r\n if (response && response.ResponseCode) {\r\n if(response.ResponseCode==\"200\"){\r\n dispatch(alertActions.success(response.ResponseMessage));\r\n\r\n setTimeout(() => {\r\n sessionStorage.clear();\r\n window.location = '/login';\r\n }, 2000);\r\n\r\n \r\n }\r\n else{\r\n\r\n dispatch(alertActions.error(response.ResponseMessage));\r\n\r\n }\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: changePasswordConstants.CREATE_REQUEST, data } }\r\n function success(data) { return { type: changePasswordConstants.CREATE_SUCCESS, data } }\r\n function failure(error) { return { type: changePasswordConstants.CREATE_FAILURE, error } }\r\n};\r\n\r\nfunction forgotPassword(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n changePasswordService.forgotPassword(data).then(\r\n response => {\r\n // history.push('/');\r\n if (response && response.ResponseCode) {\r\n if(response.ResponseCode==\"200\"){\r\n dispatch(alertActions.success(response.ResponseMessage)); \r\n }\r\n else{\r\n\r\n dispatch(alertActions.error(response.ResponseMessage));\r\n\r\n }\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: changePasswordConstants.CREATE_FORGOT_REQUEST, data } }\r\n function success(data) { return { type: changePasswordConstants.CREATE_FORGOT_SUCCESS, data } }\r\n function failure(error) { return { type: changePasswordConstants.CREATE_FORGOT_FAILURE, error } }\r\n};\r\n\r\n\r\n","import { mappingService } from '../services';\r\nimport { mappingConstants } from '../constants';\r\nimport { alertActions } from '.';\r\nimport { history } from '../helpers';\r\n\r\nexport const mappingActions = {\r\n getAll,\r\n createMapping,\r\n updateMapping,\r\n GetToNo,\r\n onHideShow\r\n};\r\n\r\nfunction getAll(obj) {\r\n \r\n return dispatch => {\r\n \r\n dispatch(request());\r\n\r\n mappingService.fetchMappingData(obj).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: mappingConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: mappingConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: mappingConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction createMapping(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n mappingService.createMapping(data).then(\r\n response => {\r\n if (response && response.ResponseCode) {\r\n if (response.ResponseCode === \"200\") {\r\n dispatch(success(response.ResponseData));\r\n dispatch(onHideShow(false));\r\n dispatch(alertActions.success(response.ResponseMessage));\r\n } else if (response.ResponseCode === \"400\") {\r\n dispatch(alertActions.warning(response.ResponseMessage))\r\n } else {\r\n dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: mappingConstants.CREATE_REQUEST, data } }\r\n function success(data) { return { type: mappingConstants.CREATE_SUCCESS, data } }\r\n function failure(error) { return { type: mappingConstants.CREATE_FAILURE, error } }\r\n};\r\n\r\nfunction updateMapping(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n mappingService.createMapping(data).then(\r\n response => {\r\n dispatch(success(data));\r\n //history.push('/'); \r\n if (response && response.ResponseCode) {\r\n response.ResponseCode == \"200\" ? dispatch(alertActions.success(response.ResponseMessage))\r\n : response.ResponseCode == \"400\" ? dispatch(alertActions.warning(response.ResponseMessage))\r\n : dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: mappingConstants.UPDATE_REQUEST, data } }\r\n function success(data) { return { type: mappingConstants.UPDATE_SUCCESS, data } }\r\n function failure(error) { return { type: mappingConstants.UPDATE_FAILURE, error } }\r\n};\r\n\r\nfunction GetToNo() {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n mappingService.fetchToNo().then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: mappingConstants.GETALL_TONO_REQUEST } }\r\n function success(datas) { return { type: mappingConstants.GETALL_TONO_SUCCESS, datas } }\r\n function failure(error) { return { type: mappingConstants.GETALL_TONO_FAILURE, error } }\r\n}\r\n\r\nfunction onHideShow(isbool) {\r\n return {\r\n type: mappingConstants.DIALOG_REQUEST, isbool\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 { issueNoService } from '../services';\r\nimport { issueNoConstants } from '../constants';\r\nimport { alertActions } from '.';\r\nimport { history } from '../helpers';\r\nimport { de } from 'date-fns/locale';\r\n\r\nexport const issueNoActions = {\r\n getAll,\r\n createIssueNo,\r\n updateIssueNo,\r\n getFromNumber,\r\n getBatchNumberDDL,\r\n getPlantDDL,\r\n getBatchDetails,\r\n onHideShow\r\n};\r\n\r\nfunction getAll(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n issueNoService.fetchIssueNoData(obj).then(response => {\r\n dispatch(success(response.ResponseData))\r\n \r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: issueNoConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: issueNoConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: issueNoConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction getFromNumber() {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n issueNoService.fetchFromNumbersData().then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: issueNoConstants.GETALL_FROMNO_REQUEST } }\r\n function success(datas) { return { type: issueNoConstants.GETALL_FROMNO_SUCCESS, datas } }\r\n function failure(error) { return { type: issueNoConstants.GETALL_FROMNO_FAILURE, error } }\r\n}\r\n\r\nfunction createIssueNo(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n issueNoService.createIssueNo(data).then(\r\n response => {\r\n //history.push('/');\r\n if (response && response.ResponseCode) {\r\n if (response.ResponseCode === \"200\") {\r\n dispatch(success(response.ResponseData));\r\n dispatch(onHideShow(false));\r\n dispatch(alertActions.success(response.ResponseMessage));\r\n } else if (response.ResponseCode === \"400\") {\r\n dispatch(alertActions.warning(response.ResponseMessage))\r\n } else {\r\n dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: issueNoConstants.CREATE_REQUEST, data } }\r\n function success(data) { return { type: issueNoConstants.CREATE_SUCCESS, data } }\r\n function failure(error) { return { type: issueNoConstants.CREATE_FAILURE, error } }\r\n};\r\n\r\nfunction updateIssueNo(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n issueNoService.createIssueNo(data).then(\r\n response => {\r\n dispatch(success(data));\r\n //history.push('/'); \r\n if (response && response.ResponseCode) {\r\n response.ResponseCode == \"200\" ? dispatch(alertActions.success(response.ResponseMessage))\r\n : response.ResponseCode == \"400\" ? dispatch(alertActions.warning(response.ResponseMessage))\r\n : dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: issueNoConstants.UPDATE_REQUEST, data } }\r\n function success(data) { return { type: issueNoConstants.UPDATE_SUCCESS, data } }\r\n function failure(error) { return { type: issueNoConstants.UPDATE_FAILURE, error } }\r\n};\r\n\r\nfunction getBatchNumberDDL() {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n issueNoService.fetchBatchNumberDDL().then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: issueNoConstants.GET_BATCH_DDL_REQUEST } }\r\n function success(datas) { return { type: issueNoConstants.GET_BATCH_DDL_SUCCESS, datas } }\r\n function failure(error) { return { type: issueNoConstants.GET_BATCH_DDL_FAILURE, error } }\r\n};\r\n\r\nfunction getPlantDDL() {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n issueNoService.fetchPlantDLL().then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: issueNoConstants.GET_PLANT_DDL_REQUEST } }\r\n function success(datas) { return { type: issueNoConstants.GET_PLANT_DDL_SUCCESS, datas } }\r\n function failure(error) { return { type: issueNoConstants.GET_PLANT_DDL_FAILURE, error } }\r\n};\r\n\r\nfunction getBatchDetails(batchNumber) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n issueNoService.fetchBatchDetails(batchNumber).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: issueNoConstants.GET_BATCHDETAILS_REQUEST } }\r\n function success(datas) { return { type: issueNoConstants.GET_BATCHDETAILS_SUCCESS, datas } }\r\n function failure(error) { return { type: issueNoConstants.GET_BATCHDETAILS_FAILURE, error } }\r\n}\r\n\r\nfunction onHideShow(isbool) {\r\n return {\r\n type: issueNoConstants.DIALOG_REQUEST, isbool\r\n }\r\n}\r\n\r\n","import { damageService, issueNoService, mappingService } from '../services';\r\nimport { damageConstants } from '../constants';\r\nimport { alertActions } from '.';\r\nimport { history } from '../helpers';\r\n\r\nexport const damageActions = {\r\n getAll,\r\n createDamage,\r\n updateDamage,\r\n onHideShow\r\n};\r\n\r\nfunction getAll(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n issueNoService.fetchIssueNoData(obj).then(response => {\r\n ;\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: damageConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: damageConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: damageConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction createDamage(data) {\r\n \r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n damageService.createDamage(data).then(\r\n response => { \r\n //history.push('/');\r\n if (response && response.ResponseCode) {\r\n if (response.ResponseCode === \"200\") {\r\n dispatch(success(response.ResponseData));\r\n dispatch(onHideShow(false));\r\n dispatch(alertActions.success(response.ResponseMessage));\r\n } else if (response.ResponseCode === \"400\") {\r\n dispatch(alertActions.warning(response.ResponseMessage))\r\n } else {\r\n dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: damageConstants.CREATE_REQUEST, data } }\r\n function success(data) { return { type: damageConstants.CREATE_SUCCESS, data } }\r\n function failure(error) { return { type: damageConstants.CREATE_FAILURE, error } }\r\n};\r\n\r\nfunction updateDamage(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n damageService.createDamage(data).then(\r\n response => {\r\n dispatch(success(data));\r\n //history.push('/'); \r\n if (response && response.ResponseCode) {\r\n response.ResponseCode == \"200\" ? dispatch(alertActions.success(response.ResponseMessage))\r\n : response.ResponseCode == \"400\" ? dispatch(alertActions.warning(response.ResponseMessage))\r\n : dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: damageConstants.UPDATE_REQUEST, data } }\r\n function success(data) { return { type: damageConstants.UPDATE_SUCCESS, data } }\r\n function failure(error) { return { type: damageConstants.UPDATE_FAILURE, error } }\r\n};\r\n\r\nfunction onHideShow(isbool) {\r\n return {\r\n type: damageConstants.DIALOG_REQUEST, isbool\r\n }\r\n}\r\n\r\n\r\n\r\n","import { verificationLogServices } from '../services';\r\nimport { verificationLogConstants } from '../constants';\r\nimport { alertActions } from '.';\r\n\r\nexport const verificationLogActions = {\r\n getAll,\r\n lodingData,\r\n exportData,\r\n lodingData,\r\n};\r\n\r\nfunction getAll(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n verificationLogServices.fetchVerificationData(obj).then(response => {\r\n dispatch(lodingData(false));\r\n dispatch(success(response.ResponseData))\r\n\r\n },\r\n error => {\r\n dispatch(lodingData(false));\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n\r\n );\r\n };\r\n function request() { return { type: verificationLogConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: verificationLogConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: verificationLogConstants.GETALL_FAILURE, error } }\r\n\r\n}\r\n\r\nfunction exportData(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n verificationLogServices.fetchVerificationData(obj).then(response => {\r\n dispatch(lodingData(false));\r\n var data = response.ResponseData;\r\n if (data != null) {\r\n data.forEach(function (v) {\r\n delete v.TotalRows;\r\n });\r\n }\r\n dispatch(success(data))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n });\r\n };\r\n function request() { return { type: verificationLogConstants.GETEXPORT_REQUEST } }\r\n function success(datas) { return { type: verificationLogConstants.GETEXPORT_SUCCESS, datas } }\r\n function failure(error) { return { type: verificationLogConstants.GETEXPORT_FAILURE, error } }\r\n}\r\n\r\nfunction lodingData(isbool) {\r\n return {\r\n type: verificationLogConstants.LODING_REQUEST, isbool\r\n }\r\n}\r\n\r\n","import { mappingRptService } from '../services';\r\nimport { mappingRptConstants } from '../constants';\r\nimport { alertActions } from '.';\r\n\r\nexport const mappingRptActions = {\r\n getAll,\r\n getOUT,\r\n getData,\r\n lodingData,\r\n exportData\r\n};\r\n\r\nfunction getAll(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n mappingRptService.fetchMappingData(obj).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n\r\n );\r\n };\r\n function request() { return { type: mappingRptConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: mappingRptConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: mappingRptConstants.GETALL_FAILURE, error } }\r\n\r\n};\r\nfunction getOUT(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n mappingRptService.fetchOUTData(obj).then(response => {\r\n dispatch(lodingData(false));;\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(lodingData(false));\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n\r\n );\r\n };\r\n function request() { return { type: mappingRptConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: mappingRptConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: mappingRptConstants.GETALL_FAILURE, error } }\r\n\r\n};\r\n\r\n// exportData\r\n\r\nfunction exportData(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n mappingRptService.fetchOUTData(obj).then(response => {\r\n dispatch(lodingData(true));\r\n var data = response.ResponseData;\r\n if (data != null) {\r\n data.forEach(function (v) {\r\n delete v.TotalRows;\r\n });\r\n }\r\n dispatch(success(data))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n });\r\n };\r\n function request() { return { type: mappingRptConstants.GETEXPORT_REQUEST } }\r\n function success(datas) { return { type: mappingRptConstants.GETEXPORT_SUCCESS, datas } }\r\n function failure(error) { return { type: mappingRptConstants.GETEXPORT_FAILURE, error } }\r\n}\r\n\r\n\r\nfunction getData(rowData) {\r\n\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n mappingRptService.fetchData(rowData).then(\r\n response => {\r\n dispatch(success(response.ResponseData));\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() {\r\n return { type: mappingRptConstants.GETALL_REQUEST };\r\n }\r\n\r\n function success(datas) {\r\n return { type: mappingRptConstants.GET_ALL_Out_SUCCESS, datas };\r\n }\r\n\r\n function failure(error) {\r\n return { type: mappingRptConstants.GETALL_FAILURE, error };\r\n }\r\n}\r\n\r\nfunction lodingData(isbool) {\r\n return {\r\n type: mappingRptConstants.LODING_REQUEST, isbool\r\n }\r\n}\r\n\r\n\r\n","import { FeedbackRptService } from '../services';\r\nimport { FeedbackRptConstants } from '../constants';\r\nimport { alertActions } from '.';\r\n\r\nexport const FeedbackRptActions = {\r\n getAll,\r\n exportData,\r\n lodingData\r\n};\r\n\r\nfunction getAll(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n FeedbackRptService.fetchFeedbackData(obj).then(response => {\r\n dispatch(lodingData(false));;\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(lodingData(false));\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n\r\n );\r\n };\r\n function request() { return { type: FeedbackRptConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: FeedbackRptConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: FeedbackRptConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\n\r\nfunction exportData(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n FeedbackRptService.fetchFeedbackData(obj).then(response => {\r\n dispatch(lodingData(false));\r\n var data = response.ResponseData;\r\n if (data != null) {\r\n data.forEach(function (v) {\r\n delete v.TotalRows;\r\n });\r\n }\r\n dispatch(success(data))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n });\r\n };\r\n function request() { return { type: FeedbackRptConstants.GETEXPORT_REQUEST } }\r\n function success(datas) { return { type: FeedbackRptConstants.GETEXPORT_SUCCESS, datas } }\r\n function failure(error) { return { type: FeedbackRptConstants.GETEXPORT_FAILURE, error } }\r\n}\r\n\r\nfunction lodingData(isbool) {\r\n return {\r\n type: FeedbackRptConstants.LODING_REQUEST, isbool\r\n }\r\n}\r\n\r\n","import { demappingService, mappingService } from '../services';\r\nimport { demappingConstants, mappingConstants } from '../constants';\r\nimport { alertActions } from '.';\r\nimport { history } from '../helpers';\r\n\r\nexport const demappingActions = {\r\n getAll,\r\n createDemapping,\r\n getFromNumber,\r\n onHideShow\r\n};\r\n\r\nfunction getAll(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n mappingService.fetchMappingData(obj).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: demappingConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: demappingConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: demappingConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction createDemapping(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n demappingService.createDemapping(data).then(\r\n response => {\r\n dispatch(success(response.ResponseData));\r\n //history.push('/');\r\n if (response && response.ResponseCode) {\r\n if (response.ResponseCode === \"200\") {\r\n dispatch(onHideShow(false));\r\n dispatch(alertActions.success(response.ResponseMessage));\r\n } else if (response.ResponseCode === \"400\") {\r\n dispatch(alertActions.warning(response.ResponseMessage))\r\n } else {\r\n dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: demappingConstants.CREATE_REQUEST, data } }\r\n function success(data) { return { type: demappingConstants.CREATE_SUCCESS, data } }\r\n function failure(error) { return { type: demappingConstants.CREATE_FAILURE, error } }\r\n};\r\n\r\nfunction getFromNumber(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n demappingService.fetchFromNumbersData(obj).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: demappingConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: demappingConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: demappingConstants.GETALL_FAILURE, error } }\r\n}\r\nfunction onHideShow(isbool) {\r\n return {\r\n type: demappingConstants.DIALOG_REQUEST, isbool\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","import { productAuthenticationService } from '../services';\r\nimport { productAuthenticationConstants } from '../constants';\r\nimport { alertActions } from '.';\r\nimport { history } from '../helpers';\r\n\r\nexport const productAuthenticationActions = {\r\n verifyProduct,\r\n UpdateFeedback\r\n};\r\n\r\nfunction verifyProduct(data) {\r\n \r\n return dispatch => {\r\n dispatch(request(data));\r\n \r\n productAuthenticationService.verifyProduct(data).then(\r\n response => {\r\n dispatch(success(response.ResponseData));\r\n //history.push('/');\r\n if (response && response.ResponseCode) {\r\n // response.ResponseCode == \"200\" ? dispatch(alertActions.success(response.ResponseMessage))\r\n // : response.ResponseCode == \"400\" ? dispatch(alertActions.warning(response.ResponseMessage))\r\n // : dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: productAuthenticationConstants.CREATE_REQUEST, data } }\r\n function success(data) { return { type: productAuthenticationConstants.CREATE_SUCCESS, data } }\r\n function failure(error) { return { type: productAuthenticationConstants.CREATE_FAILURE, error } }\r\n};\r\n\r\nfunction UpdateFeedback(data) {\r\n \r\n return dispatch => {\r\n \r\n productAuthenticationService.UpdateFeedback(data).then(\r\n response => { \r\n if (response && response.ResponseCode) {\r\n response.ResponseCode == \"200\" ? dispatch(alertActions.success(response.ResponseMessage))\r\n : response.ResponseCode == \"400\" ? dispatch(alertActions.warning(response.ResponseMessage))\r\n : dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n },\r\n error => {\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { productConfigurationService } from '../services'\r\nimport { productConfigurationConstants } from '../constants';\r\nimport { alertActions } from '.';\r\n//import { history } from '../helpers';\r\n\r\nexport const productConfigActions = {\r\n getAll,\r\n updateproductConfiguration,\r\n getconfigDDL,\r\n onHideShow,\r\n onreset,\r\n};\r\n\r\nfunction getAll(productId) {\r\n \r\n return dispatch => {\r\n dispatch(request());\r\n\r\n productConfigurationService.fetchProductConfigData(productId).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request() { return { type: productConfigurationConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: productConfigurationConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: productConfigurationConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction updateproductConfiguration(data) {\r\n return dispatch => {\r\n dispatch(request(data));\r\n\r\n productConfigurationService.updateProductConfig(data).then(\r\n response => {\r\n dispatch(success(data));\r\n //history.push('/'); \r\n if (response && response.ResponseCode) {\r\n response.ResponseCode == \"200\" ? dispatch(alertActions.success(response.ResponseMessage))\r\n : response.ResponseCode == \"400\" ? dispatch(alertActions.warning(response.ResponseMessage))\r\n : dispatch(alertActions.error(response.ResponseMessage))\r\n }\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };\r\n\r\n function request(data) { return { type: productConfigurationConstants.UPDATE_REQUEST, data } }\r\n function success(data) { return { type: productConfigurationConstants.UPDATE_SUCCESS, data } }\r\n function failure(error) { return { type: productConfigurationConstants.UPDATE_FAILURE, error } }\r\n};\r\n\r\nfunction getconfigDDL(productid) {\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n productConfigurationService.sp_getconfigDDL(productid).then(response => { \r\n dispatch(success(response.ResponseData.ProductConfiguration))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n );\r\n };;\r\n\r\n function request() { return { type: productConfigurationConstants.GETCONFIGDDL_REQUEST } }\r\n function success(datas) { return { type: productConfigurationConstants.GETCONFIGDDL_SUCCESS, datas } }\r\n function failure(error) { return { type: productConfigurationConstants.GETCONFIGDDL_FAILURE, error } }\r\n};\r\n\r\nfunction onHideShow(isbool) {\r\n return {\r\n type: productConfigurationConstants.DIALOG_REQUEST, isbool\r\n }\r\n}\r\n\r\nfunction onreset(isbool){\r\n return{\r\n type: productConfigurationConstants.RESET_REQUEST, isbool\r\n }\r\n}\r\n\r\n","import { NumberGenerationService } from '../services';\r\nimport { NumberGenerationRptConstants } from '../constants';\r\nimport { alertActions } from '.';\r\n\r\nexport const NumberGenerationRptActions = {\r\n getAll\r\n};\r\n\r\nfunction getAll(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n NumberGenerationService.fetchNumberGenerationData(obj).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n\r\n );\r\n };\r\n function request() { return { type: NumberGenerationRptConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: NumberGenerationRptConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: NumberGenerationRptConstants.GETALL_FAILURE, error } }\r\n\r\n}","import { NumberTrackingService } from '../services';\r\nimport { NumberTrackingRptConstants } from '../constants';\r\nimport { alertActions } from '.';\r\n\r\nexport const NumberTrackingRptActions = {\r\n getAll\r\n};\r\n\r\nfunction getAll(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n NumberTrackingService.fetchNumberTrackingData(obj).then(response => {\r\n dispatch(success(response.ResponseData))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n\r\n );\r\n };\r\n function request() { return { type: NumberTrackingRptConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: NumberTrackingRptConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: NumberTrackingRptConstants.GETALL_FAILURE, error } }\r\n\r\n}","import { DamageRptService } from '../services/DamageRptService';\r\nimport { DamageRptConstants } from '../constants/DamageRptConstants';\r\nimport {alertActions} from '.';\r\n\r\nexport const DamageRptActions = {\r\n getAll,\r\n loadingData,\r\n exportData\r\n};\r\n\r\nfunction getAll(obj)\r\n{\r\n return dispatch =>{\r\n dispatch(request());\r\n\r\n DamageRptService.fetchDamageData(obj).then(response => {\r\n dispatch(loadingData(false));\r\n dispatch(success(response.ResponseData))\r\n\r\n\r\n var data = response.ResponseData;\r\n if (data != null) {\r\n data.forEach(function (v) { delete v.TotalRows; delete v.CreatedBy; \r\n delete v.DocURL; delete v.DamageId; delete v.ProductID;\r\n delete v.CreatedDt;\r\n delete v.CreatedName;\r\n delete v.UpdatedBy;\r\n delete v.UpdatedDt;\r\n delete v.DeMappingId;\r\n delete v.ProductId;\r\n delete v.ProductName;\r\n delete v.MappingId;\r\n\r\n\r\n });\r\n } \r\n dispatch(successExport(data))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n \r\n );\r\n };\r\n function request() { return { type : DamageRptConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: DamageRptConstants.GETALL_SUCCESS, datas } }\r\n function successExport(datas) { return { type: DamageRptConstants.GETEXPORT_SUCCESS, datas } }\r\n function failure(error) { return { type: DamageRptConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction exportData(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n DamageRptService.fetchDamageData(obj).then(response => {\r\n dispatch(loadingData(false));\r\n var data = response.ResponseData;\r\n if (data != null) {\r\n data.forEach(function (v) { delete v.TotalRows; delete v.CreatedBy; \r\n delete v.DocURL; delete v.DamageId; delete v.ProductID\r\n });\r\n }\r\n dispatch(success(data))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n });\r\n };\r\n function request() { return { type: DamageRptConstants.GETEXPORT_REQUEST } }\r\n function success(datas) { return { type: DamageRptConstants.GETEXPORT_SUCCESS, datas } }\r\n function failure(error) { return { type: DamageRptConstants.GETEXPORT_FAILURE, error } }\r\n}\r\n\r\nfunction loadingData(isbool) {\r\n return {\r\n type: DamageRptConstants.LOADING_REQUEST, isbool\r\n }\r\n}\r\n\r\n","import { QRDetailsRptService } from '../services';\r\nimport { QRDetailsRptConstants } from '../constants';\r\nimport { alertActions } from '.';\r\n\r\nexport const QRDetailsRptActions = {\r\n\r\n exportData,\r\n lodingData,\r\n getReport\r\n};\r\n\r\nfunction getReport(obj) {\r\n debugger\r\n return dispatch => {\r\n dispatch(request());\r\n\r\n QRDetailsRptService.getReport(obj).then(response => {\r\n debugger\r\n dispatch(lodingData(false));;\r\n dispatch(success(response.ResponseData))\r\n //console.log(response.ResponseData);\r\n },\r\n error => {\r\n dispatch(lodingData(false));\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n }\r\n\r\n );\r\n };\r\n function request() { return { type: QRDetailsRptConstants.GETALL_REQUEST } }\r\n function success(datas) { return { type: QRDetailsRptConstants.GETALL_SUCCESS, datas } }\r\n function failure(error) { return { type: QRDetailsRptConstants.GETALL_FAILURE, error } }\r\n}\r\n\r\nfunction exportData(obj) {\r\n return dispatch => {\r\n dispatch(request());\r\n QRDetailsRptService.getReport(obj).then(response => {\r\n dispatch(lodingData(false));\r\n var data = response.ResponseData;\r\n if (data != null) {\r\n data.forEach(function (v) {\r\n delete v.TotalRows;\r\n });\r\n }\r\n dispatch(success(data))\r\n },\r\n error => {\r\n dispatch(failure(error.toString()));\r\n dispatch(alertActions.error(error.toString()));\r\n });\r\n };\r\n function request() { return { type: QRDetailsRptConstants.GETEXPORT_REQUEST } }\r\n function success(datas) { return { type: QRDetailsRptConstants.GETEXPORT_SUCCESS, datas } }\r\n function failure(error) { return { type: QRDetailsRptConstants.GETEXPORT_FAILURE, error } }\r\n}\r\n\r\nfunction lodingData(isbool) {\r\n return {\r\n type: QRDetailsRptConstants.LODING_REQUEST, isbool\r\n }\r\n}\r\n\r\n","export default __webpack_public_path__ + \"static/media/Honda_logo.b81f0fe3.png\";","export default __webpack_public_path__ + \"static/media/HondaCarLogo.999054e0.png\";","export default __webpack_public_path__ + \"static/media/honda-large-logo.7a32d791.svg\";","import React, { Component } from \"react\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport { Button } from \"primereact/button\";\r\nimport { connect } from \"react-redux\";\r\nimport { loginActions, alertActions, changePasswordActions } from \"../actions\";\r\nimport logo from \"./../assets/images/Honda_logo.png\";\r\nimport largeLogo from \"./../assets/images/honda-large-logo.svg\";\r\nimport carLogo from \"./../assets/images/HondaCarLogo.png\";\r\nclass Login extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n UserName: null,\r\n Password: null,\r\n loggedIn: false,\r\n eyeToggle: true,\r\n forgotModal: false,\r\n formError: {\r\n UserName: \"\",\r\n Password: \"\",\r\n },\r\n formForgotHeading: \"Forgot Password\",\r\n buttonLabel: \"Submit\",\r\n Email: \"\",\r\n forgotFormError: {\r\n Email: null,\r\n },\r\n };\r\n this.formHandle = this.formHandle.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.passwordToggle = this.passwordToggle.bind(this);\r\n this.hideFunc = this.hideFunc.bind(this);\r\n this.handleForgotChange = this.handleForgotChange.bind(this);\r\n this.openDialog = this.openDialog.bind(this);\r\n this.submitForgotForm = this.submitForgotForm.bind(this);\r\n }\r\n\r\n handleChange(event) {\r\n let { name, value } = event.target;\r\n let errors = this.state.formError;\r\n switch (name) {\r\n case \"IsActive\":\r\n value = event.target.checked;\r\n break;\r\n default:\r\n break;\r\n }\r\n this.formHandle(value, name);\r\n this.setState({ errors, [name]: value });\r\n }\r\n formHandle(value, name) {\r\n let errors = this.state.formError;\r\n let IsValid = true;\r\n switch (name) {\r\n case \"UserName\":\r\n if (value === null || value.length < 1) {\r\n errors.UserName = \"Please enter your email-id.\";\r\n } else if (value.length >= 1) {\r\n /* eslint-disable */\r\n if (!value.match(/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/)) {\r\n errors.userName = \"Please enter valid email-id.\";\r\n } else errors.UserName = null;\r\n /* eslint-enable */\r\n } else errors.UserName = null;\r\n break;\r\n case \"Password\":\r\n errors.Password = value.length < 1 ? \"Please enter password\" : null;\r\n break;\r\n default:\r\n break;\r\n }\r\n return IsValid;\r\n }\r\n passwordToggle() {\r\n this.setState({ eyeToggle: !this.state.eyeToggle });\r\n }\r\n // submitForm(event) {\r\n // event.preventDefault();\r\n // const formdata = {\r\n // Email: this.state.UserName,\r\n // Password: this.state.Password\r\n // }\r\n // this.props.checkUser(formdata);\r\n\r\n // }\r\n submitForm(event) {\r\n event.preventDefault();\r\n let isfrmvalid = true;\r\n let checkerror = this.state.formError;\r\n\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key];\r\n let valid = this.formHandle(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfrmvalid });\r\n isfrmvalid = false;\r\n }\r\n return isfrmvalid;\r\n });\r\n\r\n if (isfrmvalid) {\r\n const formData = {\r\n Email: this.state.UserName,\r\n Password: this.state.Password,\r\n };\r\n this.props.checkUser(formData);\r\n }\r\n }\r\n\r\n //to reset form\r\n formForgotReset() {\r\n this.setState({ Email: null });\r\n let errors = this.state.forgotFormError;\r\n Object.entries(errors).map(([key, value]) => {\r\n errors[key] = \"\";\r\n return errors[key];\r\n });\r\n }\r\n //to open dialog\r\n openDialog() {\r\n this.setState({ visible: true });\r\n this.formForgotReset();\r\n }\r\n //to hide function\r\n hideFunc() {\r\n this.setState({\r\n visible: false,\r\n buttonLabel: \"Submit\",\r\n });\r\n this.formForgotReset();\r\n }\r\n //to submit form\r\n submitForgotForm(event) {\r\n event.preventDefault();\r\n\r\n let isfrmvalid = true;\r\n let checkerror = this.state.forgotFormError;\r\n\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key];\r\n let valid = this.validateForgotForm(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfrmvalid });\r\n isfrmvalid = false;\r\n }\r\n return isfrmvalid;\r\n });\r\n\r\n if (isfrmvalid) {\r\n const formData = {\r\n Email: this.state.Email,\r\n };\r\n\r\n this.props.forgotPassword(formData);\r\n }\r\n }\r\n //to handle change\r\n handleForgotChange(event) {\r\n const { name, value } = event.target;\r\n let errors = this.state.forgotFormError;\r\n\r\n this.validateForgotForm(value, name);\r\n this.setState({ errors, [name]: value });\r\n }\r\n //to validate form\r\n validateForgotForm(value, name) {\r\n let errors = this.state.forgotFormError;\r\n let IsValid = true;\r\n\r\n switch (name) {\r\n case \"Email\":\r\n if (value == null || value.length < 1) {\r\n IsValid = false;\r\n errors.Email = \"Please enter your email-id.\";\r\n } else if (value.length >= 1) {\r\n /* eslint-disable */\r\n if (!value.match(/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/)) {\r\n IsValid = false;\r\n errors.Email = \"Please enter valid email-id.\";\r\n } else errors.Email = \"\";\r\n /* eslint-enable */\r\n } else errors.Email = \"\";\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return IsValid;\r\n }\r\n render() {\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Authentication Solution for Honda Car India

\r\n

Powered by Holostik India Limited

\r\n
\r\n
\r\n
\r\n {/*
*/}\r\n
\r\n
Sign In
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {this.state.formError.UserName != null ? (\r\n
{this.state.formError.UserName}
\r\n ) : null}\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.formError.Password != null ? (\r\n
{this.state.formError.Password}
\r\n ) : null}\r\n
\r\n\r\n {/* this.setState({ forgotModal: true })}\r\n >\r\n Forgot Password\r\n
*/}\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n this.setState({ forgotModal: false })}\r\n >\r\n
Reset Password For C&S Electric
\r\n

Enter your Email and instructions will be sent to you!

\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {};\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n checkUser: (login) => dispatch(loginActions.checkUser(login)),\r\n forgotPassword: (data) =>\r\n dispatch(changePasswordActions.forgotPassword(data)),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Login);\r\n","////to get verify product model\r\n\r\nexport default class VerifyProduct {\r\n VerificationMode = \"\";\r\n QrData = \"\";\r\n VerificationType = 0;\r\n CompanyPrefix=\"\";\r\n Userlatitude = 0;\r\n Userlongitude = 0;\r\n UserCity = \"\";\r\n UserState = \"\";\r\n UserCountry = \"\";\r\n UserZip = \"\";\r\n UserAddress = \"\";\r\n ScratchCode = \"\";\r\n}","export default __webpack_public_path__ + \"static/media/app.09efcc35.png\";","export default __webpack_public_path__ + \"static/media/sucess-code.5212bc0e.png\";","import React, { Component } from \"react\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport { Button } from \"primereact/button\";\r\nimport { connect } from \"react-redux\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport VerifyProduct from \"../models/VerifyProduct\";\r\nimport { productAuthenticationActions } from \"../actions\";\r\nimport { handleResponse } from \"../helpers\";\r\nimport reviewIcon from \"./../assets/images/write-review-icon.png\";\r\nimport appHome from \"./../assets/images/app.png\";\r\nimport shareIcon from \"./../assets/images/share-icon.png\";\r\nimport sucessIcon from \"./../assets/images/sucess-code.png\";\r\nimport fakeIcon from \"./../assets/images/wrong-code.png\";\r\nimport logo from \"./../assets/images/Honda_logo.png\";\r\nimport { Rating } from \"primereact/rating\";\r\n\r\nexport class ProductAuthentication extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.clsVerifyProduct = new VerifyProduct();\r\n this.state = {\r\n formIsValid: false,\r\n IsLocation: false,\r\n ratingBox: false,\r\n shareBox: false,\r\n VerifyProduct: {},\r\n rating: null,\r\n showDialog: false,\r\n VerificationMode: \"Web\",\r\n QrData: window.location.href,\r\n VerificationType: 2,\r\n VerificationId: 0,\r\n displayBasic: false,\r\n UserId: \"\",\r\n SeqNo: \"\",\r\n Name: \"\",\r\n email: \"\",\r\n MobileNo: \"\",\r\n UserFeedback: \"\",\r\n formError: {\r\n Name: null,\r\n email: null,\r\n MobileNo: null,\r\n UserFeedback: null,\r\n },\r\n };\r\n\r\n this.submitForm = this.submitForm.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.hideFunc = this.hideFunc.bind(this);\r\n this.onHide = this.onHide.bind(this);\r\n this.reverseGeocodeLatLngAndVerifyProduct =\r\n this.reverseGeocodeLatLngAndVerifyProduct.bind(this);\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const parmUid = urlParams.get(\"uid\");\r\n //const curl = window.location.href;\r\n this.clsVerifyProduct.QrData = this.state.QrData;\r\n this.clsVerifyProduct.VerificationType = this.state.VerificationType;\r\n this.clsVerifyProduct.VerificationMode = this.state.VerificationMode;\r\n //this.findMe();\r\n }\r\n\r\n //get reverse geo code\r\n reverseGeoCode(lat, long) {\r\n // tslint:disable-next-line:max-line-length\r\n const requestOptions = {\r\n method: \"GET\",\r\n };\r\n return fetch(\r\n `https://nominatim.openstreetmap.org/reverse?format=json&lat=${lat}&lon=${long}&zoom=18&addressdetails=1`,\r\n requestOptions\r\n ).then(handleResponse);\r\n // return fetch(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${lat}&lon=${long}&zoom=18&addressdetails=1`);\r\n }\r\n\r\n //to trigger api on page call\r\n componentDidMount() {\r\n const caches = window.caches;\r\n if (window.caches) {\r\n window.caches.keys().then(async function (names) {\r\n await Promise.all(names.map((name) => window.caches.delete(name)));\r\n });\r\n }\r\n\r\n // const urlParams = new URLSearchParams(window.location.search);\r\n // const parmUid = urlParams.get('uid');\r\n\r\n // const curl = window.location.href;\r\n\r\n // this.clsVerifyProduct.verificationMode = this.state.verificationMode;\r\n // this.clsVerifyProduct.qrData = this.state.qrData;\r\n // this.clsVerifyProduct.verificationType = this.state.verificationType;\r\n // this.clsVerifyProduct.UID = parmUid;\r\n\r\n // setTimeout(() => {\r\n // // this.findMe();\r\n // }, 1000);\r\n // this.findMe();\r\n }\r\n\r\n // get verify product list data\r\n GetVerifyProduct(productAuthReq) {\r\n this.setState({\r\n IsLocation: false,\r\n });\r\n\r\n this.props.verifyProduct(productAuthReq);\r\n }\r\n //to hide function\r\n hideFunc() {\r\n this.setState({\r\n displayBasic: false,\r\n });\r\n }\r\n\r\n //to validate feedback form\r\n validateFeedback(value, name) {\r\n let errors = this.state.formError;\r\n let IsValid = true;\r\n switch (name) {\r\n case \"Name\":\r\n if (!value || value.length < 1) {\r\n IsValid = false;\r\n errors.Name = \"Please enter your name.\";\r\n } else if (value.length >= 1) {\r\n if (!value.match(/^[a-zA-Z-,]+(\\s{0,1}[a-zA-Z-, ])*$/)) {\r\n IsValid = false;\r\n errors.Name = \"Please enter only alphabet.\";\r\n } else errors.Name = \"\";\r\n } else errors.Name = \"\";\r\n break;\r\n case \"email\":\r\n if (!value || value.length < 1) {\r\n IsValid = false;\r\n errors.email = \"Please enter your email-id.\";\r\n } else if (value && value.length > 1) {\r\n if (!value.match(/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/)) {\r\n IsValid = false;\r\n errors.email = \"Please enter valid email-id.\";\r\n } else errors.email = \"\";\r\n } else errors.email = \"\";\r\n break;\r\n case \"MobileNo\":\r\n if (!value || value.length < 1) {\r\n IsValid = false;\r\n errors.MobileNo = \"Please enter your mobile no.\";\r\n } else if (value && value.length > 1) {\r\n if (!value.match(/^[6-9]\\d{9}$/)) {\r\n IsValid = false;\r\n errors.MobileNo = \"Please enter valid mobile no.\";\r\n } else errors.MobileNo = null;\r\n } else errors.MobileNo = \"\";\r\n break;\r\n case \"UserFeedback\":\r\n if (!value || value.length < 1) {\r\n IsValid = false;\r\n errors.UserFeedback = \"Please enter your feedback.\";\r\n } else errors.UserFeedback = \"\";\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n return IsValid;\r\n\r\n // let errors = this.state.formError;\r\n // let formFeedIsValid = true;\r\n\r\n // switch (name) {\r\n // case 'Name':\r\n // if (value === null || value.length < 1) {\r\n // formFeedIsValid = false;\r\n // errors.Name = \"Please enter your name.\";\r\n // } else if (value.length >= 1) {\r\n // if (!value.match(/^[a-zA-Z-,]+(\\s{0,1}[a-zA-Z-, ])*$/)) {\r\n // formFeedIsValid = false;\r\n // errors.Name = \"Please enter only alphabet.\";\r\n // } else errors.Name = null\r\n // } else errors.Name = null\r\n // break;\r\n // case 'email':\r\n // if (value === null || value === '' || value.length >= 1) {\r\n // /* eslint-disable */\r\n // if (!value.match(/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/)) {\r\n // formFeedIsValid = false;\r\n // errors.email = \"Please enter valid email-id.\";\r\n // } else errors.email = null\r\n // /* eslint-enable */\r\n // } else errors.email = null\r\n // break;\r\n // case 'MobileNo':\r\n // if (value === null || value.length < 1) {\r\n // formFeedIsValid = false;\r\n // errors.MobileNo = \"Please enter your mobile no.\";\r\n // }\r\n // else if (value.length >= 1) {\r\n // if (!value.match(/^[6-9]\\d{9}$/)) {\r\n // formFeedIsValid = false;\r\n // errors.MobileNo = \"Please enter valid mobile no.\";\r\n // } else errors.MobileNo = null\r\n // } else errors.MobileNo = null\r\n // break;\r\n // case 'UserFeedback':\r\n // if (value === null || value.length < 1) {\r\n // formFeedIsValid = false;\r\n // errors.UserFeedback = \"Please enter your feedback.\";\r\n // } else errors.UserFeedback = null\r\n // break;\r\n // default:\r\n // break;\r\n // }\r\n\r\n // return formFeedIsValid;\r\n }\r\n\r\n submitForm(event) {\r\n // const { name, value } = event.target;\r\n event.preventDefault();\r\n\r\n let isfeedfrmvalid = true;\r\n let checkerror = this.state.formError;\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key];\r\n let valid = this.validateFeedback(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfeedfrmvalid });\r\n isfeedfrmvalid = false;\r\n }\r\n\r\n return isfeedfrmvalid;\r\n });\r\n\r\n const feedbackData = {\r\n Name: this.state.Name,\r\n email: this.state.email,\r\n MobileNo: this.state.MobileNo,\r\n UserFeedback: this.state.UserFeedback,\r\n VerificationId: this.props.ProductAuthenticationData.VerificationId,\r\n };\r\n\r\n if (isfeedfrmvalid) {\r\n this.props.UpdateFeedback(feedbackData);\r\n }\r\n\r\n this.setState({ [feedbackData]: \"\" });\r\n }\r\n\r\n formReset() {\r\n this.setState({\r\n Name: \"\",\r\n email: \"\",\r\n MobileNo: \"\",\r\n UserFeedback: \"\",\r\n formError: {\r\n Name: null,\r\n email: null,\r\n MobileNo: null,\r\n UserFeedback: null,\r\n },\r\n });\r\n let errors = this.state.formError;\r\n Object.entries(errors).map(([key, value]) => {\r\n errors[key] = \"\";\r\n });\r\n }\r\n\r\n handleChange(event) {\r\n const { name, value } = event.target;\r\n let errors = this.state.scratchError;\r\n\r\n this.validateFeedback(value, name);\r\n this.setState({ errors, [name]: value });\r\n }\r\n onHide() {\r\n this.setState({ showDialog: false });\r\n }\r\n //to find location\r\n findMe() {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(\r\n (position) => {\r\n this.showPosition(position);\r\n },\r\n (denied) => {\r\n // alert(JSON.stringify(denied));\r\n this.GetVerifyProduct(this.clsVerifyProduct);\r\n },\r\n { enableHighAccuracy: true, maximumAge: 10000 }\r\n );\r\n } else {\r\n this.GetVerifyProduct(this.clsVerifyProduct);\r\n }\r\n }\r\n //to get exact longitude and latitude\r\n showPosition(position) {\r\n this.clsVerifyProduct.Userlongitude = position.coords.longitude;\r\n this.clsVerifyProduct.Userlatitude = position.coords.latitude;\r\n this.reverseGeocodeLatLngAndVerifyProduct();\r\n }\r\n //to get location\r\n reverseGeocodeLatLngAndVerifyProduct() {\r\n // tslint:disable-next-line: max-line-length\r\n this.reverseGeoCode(\r\n this.clsVerifyProduct.Usrlatitude,\r\n this.clsVerifyProduct.Usrlongitude\r\n ).then(\r\n (response) => {\r\n const res = response;\r\n this.clsVerifyProduct.UserCity = res.address.state_district;\r\n this.clsVerifyProduct.UserState = res.address.state;\r\n this.clsVerifyProduct.UserCntry = res.address.country;\r\n this.clsVerifyProduct.UserZip = res.address.postcode;\r\n this.clsVerifyProduct.UserAddress = res.display_name;\r\n this.setState({\r\n Location: res.display_name,\r\n });\r\n this.GetVerifyProduct(this.clsVerifyProduct);\r\n },\r\n (error) => {\r\n // alert(JSON.stringify(error))\r\n this.GetVerifyProduct(this.clsVerifyProduct);\r\n }\r\n );\r\n }\r\n\r\n render() {\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
Please Download and Use the H2WP App for Scanning
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n {this.props.ProductAuthenticationData != null ? (\r\n
\r\n {(this.props.ProductAuthenticationData.GenuineAudio != null) ===\r\n true ? (\r\n \r\n ) : (\r\n //
\r\n // \r\n //
\r\n \"\"\r\n )}\r\n \r\n {/*
\r\n
\r\n
\r\n
*/}\r\n \r\n
{\" \"}\r\n
\r\n {this.props.ProductAuthenticationData.ResponseCode == \"200\" ? (\r\n
\r\n {\" \"}\r\n \r\n

\r\n Thanks for buying genuine Honda parts.\r\n

\r\n

असली होंडा पार्ट खरीदने के लिए धन्यवाद |

{\" \"}\r\n
\r\n ) : this.props.ProductAuthenticationData.ResponseCode == \"400\" ? (\r\n
\r\n {\" \"}\r\n \r\n

\r\n Thanks for buying genuine Honda parts.\r\n {/* The part you have scanned is already verified. */}\r\n

\r\n

\r\n असली होंडा पार्ट खरीदने के लिए धन्यवाद |\r\n {/* आपके द्वारा स्कैन किया गया होंडा पार्ट पहले ही सत्यापित हो\r\n चुका है | */}\r\n

{\" \"}\r\n
\r\n ) : this.props.ProductAuthenticationData.ResponseCode == \"-1\" ? (\r\n
\r\n {\" \"}\r\n \r\n

\r\n Seems like this part may be counterfeited or fake.{\" \"}\r\n

\r\n

खरीदा गया ये पार्ट नकली हो सकता है |

{\" \"}\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {/*
\r\n

Product Name

\r\n {this.state.ratingBox ?
\r\n this.setState({ rating: e.value })} />\r\n
: null}\r\n this.setState({ showDialog: true })}>\r\n Feedback\r\n \r\n this.setState({ shareBox: !this.state.shareBox })}>\r\n \r\n share\r\n \r\n {this.state.shareBox ?
\r\n \r\n \r\n \r\n \r\n
: null}\r\n
\r\n
\r\n {this.props.ProductAuthenticationData.ProductSpecification == (undefined || null) ? null : this.props.ProductAuthenticationData.ProductSpecification.map((x, i) => {\r\n return (\r\n <>\r\n
{x.Key}:
\r\n
{x.Value}
\r\n \r\n )\r\n\r\n })}\r\n
*/}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n ;\r\n {/* \r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n {this.state.formError.Name !== '' ?\r\n
{this.state.formError.Name}
: ''}\r\n
\r\n\r\n
\r\n \r\n {this.state.formError.email !== '' ?\r\n
{this.state.formError.email}
: ''}\r\n
\r\n
\r\n \r\n {this.state.formError.MobileNo !== '' ?\r\n
{this.state.formError.MobileNo}
: ''}\r\n
\r\n
\r\n \r\n {this.state.formError.UserFeedback !== '' ?\r\n
{this.state.formError.UserFeedback}
: ''}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n */}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n //console.log(\"state.productAuthentication.items\", state.productAuthentication.items);\r\n //console.log(\"state.productAuthentication.items[0]\", (state.productAuthentication.items && state.productAuthentication.items.length) > 0 ? state.productAuthentication.items[0] : null);\r\n return {\r\n ProductAuthenticationData:\r\n (state.productAuthentication.items &&\r\n state.productAuthentication.items.length) > 0\r\n ? state.productAuthentication.items[0]\r\n : null,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n verifyProduct: (productAuth) =>\r\n dispatch(productAuthenticationActions.verifyProduct(productAuth)),\r\n UpdateFeedback: (feedback) =>\r\n dispatch(productAuthenticationActions.UpdateFeedback(feedback)),\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ProductAuthentication);\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUI0MTIwRENBMjNBMTFFOUIxRDVFRUIyOUQ4RTMxN0YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUI0MTIwRERBMjNBMTFFOUIxRDVFRUIyOUQ4RTMxN0YiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQjQxMjBEQUEyM0ExMUU5QjFENUVFQjI5RDhFMzE3RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQjQxMjBEQkEyM0ExMUU5QjFENUVFQjI5RDhFMzE3RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpHOSxUAABIcSURBVHja7F0JcFTV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\"","import React, { Component } from \"react\";\r\nimport Avtar from \"./../assets/images/avatar.jpg\";\r\nimport { Menubar } from \"primereact/menubar\";\r\nimport { BrowserRouter as Router, Link } from \"react-router-dom\";\r\nimport logo from \"./../assets/images/Honda_logo.png\";\r\nimport { connect } from \"react-redux\";\r\nimport { menuActions } from \"../../src/actions\";\r\n\r\nclass Header extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n nav: false,\r\n UserName: \"\",\r\n };\r\n\r\n this.navigation = [\r\n {\r\n label: \"Dashboard\",\r\n icon: \"pi pi-palette\",\r\n url: \"/\",\r\n },\r\n {\r\n label: \"Masters\",\r\n icon: \"pi pi-user\",\r\n items: [\r\n {\r\n label: \"Company Master\",\r\n url: \"/masters/company-master\",\r\n icon: \"pi pi-angle-right\",\r\n },\r\n {\r\n label: \"User Master\",\r\n url: \"/masters/user-master\",\r\n icon: \"pi pi-angle-right\",\r\n },\r\n {\r\n label: \"Product Master\",\r\n url: \"/masters/product-master\",\r\n icon: \"pi pi-angle-right\",\r\n },\r\n {\r\n label: \"Product Configuration\",\r\n url: \"/masters/product-configuration\",\r\n icon: \"pi pi-angle-right\",\r\n },\r\n {\r\n label: \"Role Master / Access Right\",\r\n url: \"/masters/role-master\",\r\n icon: \"pi pi-angle-right\",\r\n },\r\n ],\r\n },\r\n {\r\n label: \"Activation\",\r\n icon: \"pi pi-fw pi-pencil\",\r\n items: [\r\n {\r\n label: \"Issue Number\",\r\n url: \"/activation/issue-number\",\r\n icon: \"pi pi-angle-right\",\r\n },\r\n ],\r\n },\r\n {\r\n label: \"Transactions\",\r\n icon: \"pi pi-fw pi-pencil\",\r\n items: [\r\n {\r\n label: \"Mapping\",\r\n url: \"/transactions/mapping\",\r\n icon: \"pi pi-angle-right\",\r\n },\r\n {\r\n label: \"De-mapping\",\r\n url: \"/transactions/de-mapping\",\r\n icon: \"pi pi-angle-right\",\r\n },\r\n {\r\n label: \"Damage\",\r\n url: \"/transactions/damage\",\r\n icon: \"pi pi-angle-right\",\r\n },\r\n ],\r\n },\r\n {\r\n label: \"Reports\",\r\n icon: \"pi pi-chart-bar\",\r\n items: [\r\n {\r\n label: \"Verification Log\",\r\n url: \"/reports/verification-log\",\r\n icon: \"pi pi-angle-right\",\r\n },\r\n {\r\n label: \"Mapping Report\",\r\n url: \"/reports/mapping-report\",\r\n icon: \"pi pi-angle-right\",\r\n },\r\n {\r\n label: \"Feedback Report\",\r\n url: \"/reports/\",\r\n icon: \"pi pi-angle-right\",\r\n },\r\n ],\r\n },\r\n ];\r\n }\r\n listener = null;\r\n\r\n componentDidMount() {\r\n window.addEventListener(\"scroll\", this.handleScroll);\r\n let roleId = sessionStorage.getItem(\"UserRole\");\r\n this.props.fetchApi(roleId);\r\n let userNameCollector = sessionStorage.getItem(\"UserNameData\");\r\n this.setState({ UserName: userNameCollector });\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener(\"scroll\", null);\r\n }\r\n\r\n handleScroll = () => {\r\n if (window.pageYOffset > 74) {\r\n if (!this.state.nav) {\r\n this.setState({ nav: true });\r\n }\r\n } else {\r\n if (this.state.nav) {\r\n this.setState({ nav: false });\r\n }\r\n }\r\n };\r\n\r\n render() {\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 Welcome, {this.state.UserName}\r\n \r\n \r\n
\r\n (window.location = \"/profile\")}\r\n >\r\n Change Password\r\n
\r\n {\r\n sessionStorage.removeItem(\"LoggedInUser\");\r\n window.location = \"/login\";\r\n }}\r\n >\r\n Logout\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n MenuData: state.menu.items,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchApi: (roleId) => {\r\n dispatch(menuActions.getMenu(roleId));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Header);\r\n","export default \"data:image/jpeg;base64,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\"","import React, { Component } from \"react\";\r\n\r\nexport default class Footer extends Component {\r\n render() {\r\n return (\r\n
\r\n Copyright 2024 Honda Car India - All Rights Reserved.\r\n
\r\n );\r\n }\r\n}\r\n","// request for lazy loading for all pages\r\nexport default class tableRequest {\r\n IsActive = true;\r\n PageNo = 1;\r\n First = 1;\r\n SearchValue = \"\";\r\n PageSize = 10;\r\n SortColumn = \"CreatedDt\";\r\n SortOrder = \"DESC\";\r\n FromDate = \"\";\r\n ToDate = \"\";\r\n VM = 0;\r\n}","import React, { Component } from \"react\";\r\nimport { Chart } from \"primereact/chart\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { connect } from \"react-redux\";\r\nimport { Button } from \"primereact/button\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { dashboardActions, issueNoActions, mappingActions } from \"../actions\";\r\nimport tableRequest from \"../models/tableRequest.js\";\r\n\r\nclass Dashboard extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n this.state = {\r\n globalFilter: null,\r\n };\r\n this.production = [\r\n {\r\n code: \"TCDP253U5(3P)\",\r\n name: \"Holographic\",\r\n mfgDate: \"20-2-2019\",\r\n expDate: \"29-4-2020\",\r\n mrp: 200,\r\n photo: \"/static/media/logo.d18e70fa.png\",\r\n },\r\n {\r\n code: \"TCDP253U5(3P)\",\r\n name: \"Holographic\",\r\n mfgDate: \"20-2-2019\",\r\n expDate: \"29-4-2020\",\r\n mrp: 123,\r\n photo: \"null\",\r\n },\r\n {\r\n code: \"TCDP253U5(3P)\",\r\n name: \"Holographic\",\r\n mfgDate: \"20-2-2019\",\r\n expDate: \"29-4-2020\",\r\n mrp: 866,\r\n photo: \"null\",\r\n },\r\n {\r\n code: \"TCDP253U5(3P)\",\r\n name: \"Holographic\",\r\n mfgDate: \"20-2-2019\",\r\n expDate: \"29-4-2020\",\r\n mrp: 343,\r\n photo: \"null\",\r\n },\r\n {\r\n code: \"TCDP253U5(3P)\",\r\n name: \"Holographic\",\r\n mfgDate: \"20-2-2019\",\r\n expDate: \"29-4-2020\",\r\n mrp: 343,\r\n photo: \"null\",\r\n },\r\n {\r\n code: \"TCDP253U5(3P)\",\r\n name: \"Holographic\",\r\n mfgDate: \"20-2-2019\",\r\n expDate: \"29-4-2020\",\r\n mrp: 343,\r\n photo: \"null\",\r\n },\r\n {\r\n code: \"TCDP253U5(3P)\",\r\n name: \"Holographic\",\r\n mfgDate: \"20-2-2019\",\r\n expDate: \"29-4-2020\",\r\n mrp: 343,\r\n photo: \"null\",\r\n },\r\n ];\r\n this.basicData = {\r\n labels: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\"],\r\n datasets: [\r\n {\r\n label: \"Pending\",\r\n data: [65, 59, 80, 81, 56, 55, 40],\r\n fill: false,\r\n borderColor: \"#42A5F5\",\r\n },\r\n {\r\n label: \"Active\",\r\n data: [28, 48, 40, 19, 86, 27, 90],\r\n fill: false,\r\n borderColor: \"#FFA726\",\r\n },\r\n ],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.props.fetchApi(this.tblResponse);\r\n this.props.fetchMappingApi(this.tblResponse);\r\n }\r\n\r\n getLazyLoadingValues(event) {\r\n this.setState({ rows: event.rows });\r\n this.tblResponse.PageSize = event.rows;\r\n this.tblResponse.First = event.first + 1;\r\n this.tblResponse.IsActive = true;\r\n this.tblResponse.SearchValue = event.globalFilter ? event.globalFilter : \"\";\r\n //this.tblResponse.SortColumn = event.sortField;\r\n this.tblResponse.SortOrder = event.sortOrder === 1 ? \"ASC\" : \"DESC\";\r\n }\r\n onPage(event) {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n this.getLazyLoadingValues(event);\r\n this.props.fetchApi(this.tblResponse);\r\n }, 250);\r\n }\r\n render() {\r\n const chartdata = {\r\n labels: this.props.Months,\r\n datasets: [\r\n {\r\n label: \"Issue\",\r\n data: this.props.MappingChart,\r\n fill: false,\r\n borderColor: \"#4bc0c0\",\r\n },\r\n {\r\n label: \"Damage\",\r\n data: this.props.DeMappingChart,\r\n fill: false,\r\n borderColor: \"#9bc0c9\",\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 Number Issue\r\n

\r\n
\r\n
\r\n
\r\n {this.props.TotalIssue ? this.props.TotalIssue : 0}\r\n
\r\n {/*
RM
*/}\r\n
\r\n {/*
\r\n
120
\r\n
RM
\r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Damage\r\n

\r\n
\r\n
\r\n
\r\n {this.props.TotalDamage ? this.props.TotalDamage : 0}\r\n
\r\n {/*
Active
*/}\r\n
\r\n {/*
\r\n
142
\r\n
Pending
\r\n \r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/*

Dispatch

*/}\r\n \r\n {/* */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Number Issued

\r\n {\r\n this.dt = el;\r\n }}\r\n className=\"p-datatable-customers\"\r\n rowHover={true}\r\n loading={this.state.loading}\r\n emptyMessage=\"No customers found.\"\r\n sortMode=\"multiple\"\r\n paginator\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rows={5}\r\n rowsPerPageOptions={[5, 10, 20, 50]}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {/*
\r\n
\r\n

Mapping

\r\n
\r\n
\r\n
\r\n {this.props.TotalMapping ? this.props.TotalMapping : 0}\r\n
\r\n {/*
FG
\r\n
\r\n {/*
\r\n
120
\r\n
RM
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

DeMapping

\r\n
\r\n
\r\n
\r\n {this.props.TotalDeMapping ? this.props.TotalDeMapping : 0}\r\n
\r\n
RM
\r\n
\r\n
\r\n
420
\r\n
Registered
\r\n
\r\n
\r\n\r\n
\r\n
*/}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n DashboardList: state.dashboard?.items?.DashboardListData,\r\n TotalMapping: state.dashboard?.items?.DashboardCount?.TotalMapping,\r\n TotalDeMapping: state.dashboard?.items?.DashboardCount?.TotalDeMapping,\r\n TotalDamage: state.dashboard?.items?.DashboardCount?.TotalDamage,\r\n TotalIssue: state.dashboard?.items?.DashboardCount?.TotalIssue,\r\n DeMappingChart: state.dashboard?.items?.DeMappingList,\r\n MappingChart: state.dashboard?.items?.MappingList,\r\n // FGChart: state.dashboard?.items?.FGList,\r\n Months: state.dashboard?.items?.MonthName,\r\n MappingData: state.mapping.items,\r\n IssueData: state.issueNo.items,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchApi: (obj) => {\r\n dispatch(dashboardActions.fetchData(obj));\r\n },\r\n fetchMappingApi: (obj) => {\r\n dispatch(issueNoActions.getAll(obj));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Dashboard);\r\n","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport Select from '@material-ui/core/Select';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport { connect } from 'react-redux';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport MuiAlert from '@material-ui/lab/Alert';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport { productMasterActions } from '../../actions';\r\nimport Switch from '@material-ui/core/Switch';\r\nimport { TabView, TabPanel } from 'primereact/tabview';\r\nimport Moment from 'react-moment';\r\nimport tableRequest from '../../models/tableRequest';\r\n\r\nfunction Alert(props) {\r\n return ;\r\n}\r\nclass productMaster extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n this.photoBodyTemplate = this.photoBodyTemplate.bind(this);\r\n this.statusBodyTemplate = this.statusBodyTemplate.bind(this);\r\n this.actionBodyTemplate = this.actionBodyTemplate.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.resetForm = this.resetForm.bind(this);\r\n this.setImagePath = this.setImagePath.bind(this);\r\n this.setGenuineAudioPath = this.setGenuineAudioPath.bind(this);\r\n this.setAlreadyAudioPath = this.setAlreadyAudioPath.bind(this);\r\n this.CreatedDtTemplate = this.CreatedDtTemplate.bind(this);\r\n this.UpdatedDtTemplate = this.UpdatedDtTemplate.bind(this);\r\n this.resetForm = this.resetForm.bind(this);\r\n this.switchToggleConfirm = this.switchToggleConfirm.bind(this);\r\n this.onHide = this.onHide.bind(this);\r\n this.openDialog = this.openDialog.bind(this);\r\n this.state = {\r\n loading: false,\r\n confirm: false,\r\n // productSpecItem: [{ key: \"\", value: \"\" }],\r\n activeIndex: 1,\r\n buttonLabel: 'Submit',\r\n switchAction: false,\r\n displayConfirmation: false,\r\n formHeading: 'Add Product',\r\n displayModal: false,\r\n // productCode: '',\r\n productName: '',\r\n productDescription: '',\r\n promotionalMessage: '',\r\n permissibleScan: '',\r\n genuineMessage: '',\r\n shareMessage: '',\r\n shareurl: '',\r\n alreadyScannedMsg: '',\r\n warranty: '',\r\n productImage: '',\r\n genuineAudio: '',\r\n alreadyScannedAudio: '',\r\n isActive: true,\r\n productSpecification: [{ key: \"\", value: \"\" }],\r\n createdDate: null,\r\n updatedDate: null,\r\n formError: {\r\n // productCode: '',\r\n productName: '',\r\n // productDescription: '',\r\n // promotionalMessage:'',\r\n // permissibleScan: '',\r\n genuineMessage: '',\r\n // shareMessage:'',\r\n alreadyScannedMsg: '',\r\n // warranty:'',\r\n // shareurl:'',\r\n productImage: '',\r\n genuineAudio: '',\r\n alreadyScannedAudio: '',\r\n }\r\n };\r\n }\r\n componentDidMount() {\r\n this.props.fetchProducts(this.tblResponse);\r\n }\r\n\r\n switchToggleConfirm = (e) => {\r\n this.setState({ confirm: true, displayConfirmation: false })\r\n const formData = {\r\n productId: this.state.productId\r\n }\r\n this.props.inActiveRow(this.state.productId);\r\n }\r\n\r\n // handle input change\r\n handleInputChange = (e, index) => {\r\n ;\r\n const { name, value } = e.target;\r\n const list = [...this.state.productSpecification];\r\n list[index][name] = value;\r\n this.setState({ productSpecification: list });\r\n };\r\n // handle click event of the Remove button\r\n handleRemoveClick = index => {\r\n const list = [...this.state.productSpecification];\r\n list.splice(index, 1);\r\n this.setState({ productSpecifiation: list });\r\n };\r\n\r\n // handle click event of the Add button\r\n handleAddClick = () => {\r\n \r\n this.setState({ productSpecification: [...this.state.productSpecification, { key: \"\", value: \"\" }] });\r\n }\r\n getCurrentDateMMDDYYY() {\r\n var today = new Date();\r\n var dd = String(today.getDate()).padStart(2, '0');\r\n var mm = String(today.getMonth() + 1).padStart(2, '0');\r\n var yyyy = today.getFullYear();\r\n today = mm + '/' + dd + '/' + yyyy;\r\n return today;\r\n }\r\n UpdatedDtTemplate(rowData) {\r\n if (rowData.UpdatedDt !== null) {\r\n return (\r\n {rowData.UpdatedDate}\r\n )\r\n }\r\n }\r\n\r\n CreatedDtTemplate(rowData) {\r\n return (\r\n {rowData.CreatedDate}\r\n )\r\n }\r\n handleChange(event) {\r\n let { name, value } = event.target;\r\n let errors = this.state.formError;\r\n switch (name) {\r\n case 'isActive':\r\n value = event.target.checked;\r\n break;\r\n default:\r\n break;\r\n }\r\n this.validateForm(value, name);\r\n this.setState({ errors, [name]: value });\r\n }\r\n validateForm(value, name) {\r\n let errors = this.state.formError;\r\n let IsValid = true;\r\n switch (name) {\r\n // case 'productCode':\r\n // if (!value || value.length < 1) {\r\n // IsValid = false;\r\n // errors.productCode = \"Please enter your product code.\";\r\n // } else errors.productCode = ''\r\n // break;\r\n case 'productName':\r\n if (!value || value.length < 1) {\r\n IsValid = false;\r\n errors.productName = \"Please enter your product name.\";\r\n } else errors.productName = ''\r\n break;\r\n // case 'productDescription':\r\n // if (!value || value.length < 1) {\r\n // IsValid = false;\r\n // errors.productDescription = \"Please enter product description.\";\r\n // } else errors.productDescription = ''\r\n // break;\r\n // case 'permissibleScan':\r\n // if (!value || value.length < 1) {\r\n // IsValid = false;\r\n // errors.permissibleScan = \"Please enter permissible scan\";\r\n // }\r\n // else errors.permissibleScan = ''\r\n // break;\r\n case 'genuineMessage':\r\n if (!value || value < 1) {\r\n IsValid = false;\r\n errors.genuineMessage = \"Please enter genuine message.\";\r\n } else errors.genuineMessage = ''\r\n break;\r\n // case 'shareMessage':\r\n // if (!value || value < 1) {\r\n // IsValid = false;\r\n // errors.shareMessage = \"Please enter genuine message.\";\r\n // } else errors.shareMessage = ''\r\n // break;\r\n // case 'shareurl':\r\n // if (!value || value < 1) {\r\n // IsValid = false;\r\n // errors.shareurl = \"Please enter Share URL.\";\r\n // } else errors.shareurl = ''\r\n // break;\r\n case 'alreadyScannedMsg':\r\n if (!value || value.toString().length < 1) {\r\n IsValid = false;\r\n errors.alreadyScannedMsg = \"Please enter already scanne message.\";\r\n } else errors.alreadyScannedMsg = ''\r\n break;\r\n case 'warranty':\r\n // if (value.length < 1) {\r\n // IsValid = false;\r\n // errors.warranty = \"Please enter warranty\";\r\n // }\r\n // else \r\n if (value.length >= 1) {\r\n if (!value.match(/^([1-9]|1[012])$/)) {\r\n IsValid = false;\r\n errors.warranty = \"Please enter valid warranty.\";\r\n } else errors.warranty = ''\r\n } else errors.warranty = ''\r\n break;\r\n case 'productImage':\r\n if (!value || value.toString().length < 1) {\r\n IsValid = false;\r\n errors.productImage = \"Please upload product image.\";\r\n } else errors.productImage = ''\r\n break;\r\n case 'genuineAudio':\r\n if (!value || value.length < 1) {\r\n IsValid = false;\r\n errors.genuineAudio = \"Please upload genuine audio.\";\r\n } else errors.genuineAudio = ''\r\n break;\r\n // case 'alreadyScannedAudio':\r\n // if (!value || value.length < 1) {\r\n // IsValid = false;\r\n // errors.alreadyScannedAudio = \"Please upload already scanne audio.\";\r\n // } else errors.alreadyScannedAudio = ''\r\n // break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n return IsValid;\r\n }\r\n resetForm() {\r\n this.setState({\r\n productId: 0,\r\n // productCode: '',\r\n productDescription: '',\r\n permissibleScan: '',\r\n genuineMessage: '',\r\n alreadyScannedMsg: '',\r\n warranty: '',\r\n shareMessage: '',\r\n shareurl: '',\r\n productImage: '',\r\n genuineAudio: '',\r\n alreadyScannedAudio: '',\r\n isActive: true,\r\n productSpecification: [],\r\n formError: {\r\n // productCode: '',\r\n productName: '',\r\n productDescription: '',\r\n permissibleScan: '',\r\n genuineMessage: '',\r\n alreadyScannedMsg: '',\r\n warranty: '',\r\n shareMessage: '',\r\n shareurl: '',\r\n productImage: '',\r\n genuineAudio: '',\r\n alreadyScannedAudio: '',\r\n }\r\n });\r\n\r\n let errors = this.state.formError;\r\n Object.entries(errors).map(([key]) => {\r\n errors[key] = '';\r\n return errors[key];\r\n });\r\n }\r\n onHide() {\r\n this.resetForm();\r\n this.props.onHideShow(false);\r\n }\r\n\r\n openDialog() {\r\n this.props.onHideShow(true);\r\n this.resetForm();\r\n this.setState({ buttonLabel: 'Submit', formHeading: 'Add Product'})\r\n }\r\n\r\n submitForm(event) {\r\n event.preventDefault();\r\n let isfrmvalid = true;\r\n let checkerror = this.state.formError;\r\n\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key]\r\n let valid = this.validateForm(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfrmvalid });\r\n isfrmvalid = false;\r\n }\r\n return isfrmvalid;\r\n });\r\n\r\n ;\r\n if (isfrmvalid) {\r\n const formData = {\r\n ProductId: this.state.productId,\r\n // ProductCode: this.state.productCode,\r\n ProductName: this.state.productName,\r\n ProductDescription: this.state.productDescription,\r\n PermissibleScan: this.state.permissibleScan == '' ? 0 : this.state.permissibleScan,\r\n GenuineMessage: this.state.genuineMessage,\r\n AlreadyScannedMsg: this.state.alreadyScannedMsg,\r\n warranty: this.state.warranty,\r\n shareMessage: this.state.shareMessage,\r\n ShareURL: this.state.shareurl,\r\n ProductImage: this.state.productImage,\r\n GenuineAudio: this.state.genuineAudio,\r\n AlreadyScannedAudio: this.state.alreadyScannedAudio,\r\n ProductSpecification: JSON.stringify(this.state.productSpecification),\r\n IsActive: this.state.isActive,\r\n CreatedDate: this.state.ProductId > 0 ? this.state.CreatedDate : this.getCurrentDateMMDDYYY(),\r\n UpdatedDate: this.state.ProductId > 0 ? this.getCurrentDateMMDDYYY() : null\r\n }\r\n\r\n if (this.state.productId == 0) {\r\n this.props.createProduct(formData);\r\n }\r\n else {\r\n this.props.updateProduct(formData);\r\n }\r\n\r\n if (!this.props.showDialog) {\r\n this.resetForm();\r\n }\r\n }\r\n }\r\n resetForm() {\r\n this.setState({\r\n productId: 0,\r\n // productCode: '',\r\n productDescription: '',\r\n permissibleScan: '',\r\n genuineMessage: '',\r\n alreadyScannedMsg: '',\r\n warranty: '',\r\n shareMessage: '',\r\n shareurl: '',\r\n productImage: '',\r\n genuineAudio: '',\r\n alreadyScannedAudio: '',\r\n isActive: true\r\n })\r\n }\r\n photoBodyTemplate(e) {\r\n if (e.ProductImage) {\r\n return \r\n }\r\n\r\n }\r\n statusBodyTemplate(rowData) {\r\n return (\r\n \r\n )\r\n }\r\n // set Product Image Path\r\n setImagePath(event) {\r\n let errors = this.state.formError;\r\n errors.productImage = \"\";\r\n if (event.xhr) {\r\n if (event.xhr.response) {\r\n const response = JSON.parse(event.xhr.response);\r\n if (response) {\r\n if (response.ResponseCode === \"200\") {\r\n this.setState({\r\n productImage: response.Source,\r\n });\r\n } else if (response.ResponseCode === \"400\") {\r\n errors.productImage = \"Only image format is accepted.\";\r\n this.setState({\r\n productImage: \"\",\r\n });\r\n } else {\r\n // this.messageService.add({ severity: 'error', summary: 'Oops', detail: response.ResponseMessage });\r\n }\r\n } else {\r\n //this.messageService.add({ severity: 'error', summary: 'Oops', detail: 'Something went wrong' });\r\n }\r\n } else {\r\n //this.messageService.add({ severity: 'error', summary: 'Oops', detail: 'Something went wrong' });\r\n }\r\n } else {\r\n //this.messageService.add({ severity: 'error', summary: 'Oops', detail: 'Something went wrong' });\r\n }\r\n }\r\n\r\n // set Genuine Audio Path\r\n setGenuineAudioPath(event) {\r\n let errors = this.state.formError;\r\n errors.genuineAudio = \"\";\r\n if (event.xhr) {\r\n if (event.xhr.response) {\r\n const response = JSON.parse(event.xhr.response);\r\n if (response) {\r\n if (response.ResponseCode === \"200\") {\r\n this.setState({\r\n genuineAudio: response.Source,\r\n });\r\n } else if (response.ResponseCode === \"400\") {\r\n errors.genuineAudio = \"Only audio format is accepted.\";\r\n this.setState({\r\n genuineAudio: \"\",\r\n });\r\n } else {\r\n // this.messageService.add({ severity: 'error', summary: 'Oops', detail: response.ResponseMessage });\r\n }\r\n } else {\r\n //this.messageService.add({ severity: 'error', summary: 'Oops', detail: 'Something went wrong' });\r\n }\r\n } else {\r\n //this.messageService.add({ severity: 'error', summary: 'Oops', detail: 'Something went wrong' });\r\n }\r\n } else {\r\n //this.messageService.add({ severity: 'error', summary: 'Oops', detail: 'Something went wrong' });\r\n }\r\n }\r\n\r\n // set Already Audio Path\r\n setAlreadyAudioPath(event) {\r\n let errors = this.state.formError;\r\n errors.alreadyScannedAudio = \"\";\r\n if (event.xhr) {\r\n if (event.xhr.response) {\r\n const response = JSON.parse(event.xhr.response);\r\n if (response) {\r\n if (response.ResponseCode === \"200\") {\r\n this.setState({\r\n alreadyScannedAudio: response.Source,\r\n });\r\n } else if (response.ResponseCode === \"400\") {\r\n errors.alreadyScannedAudio = \"Only audio format is accepted.\";\r\n this.setState({\r\n alreadyScannedAudio: \"\",\r\n });\r\n } else {\r\n // this.messageService.add({ severity: 'error', summary: 'Oops', detail: response.ResponseMessage });\r\n }\r\n } else {\r\n //this.messageService.add({ severity: 'error', summary: 'Oops', detail: 'Something went wrong' });\r\n }\r\n } else {\r\n //this.messageService.add({ severity: 'error', summary: 'Oops', detail: 'Something went wrong' });\r\n }\r\n } else {\r\n //this.messageService.add({ severity: 'error', summary: 'Oops', detail: 'Something went wrong' });\r\n }\r\n }\r\n\r\n\r\n actionBodyTemplate(rowData) {\r\n const editMode = (e) => {\r\n this.props.onHideShow(true);\r\n this.setState({\r\n buttonLabel: 'Update',\r\n formHeading: 'Update Product',\r\n productId: rowData.ProductId,\r\n // productCode: rowData.ProductCode,\r\n productName: rowData.ProductName,\r\n productDescription: rowData.ProductDescription,\r\n permissibleScan: rowData.PermissibleScan,\r\n genuineMessage: rowData.GenuineMessage,\r\n alreadyScannedMsg: rowData.AlreadyScannedMsg,\r\n warranty: rowData.warranty,\r\n shareMessage: rowData.shareMessage,\r\n shareurl: rowData.shareurl,\r\n productImage: rowData.ProductImage,\r\n genuineAudio: rowData.GenuineAudio,\r\n alreadyScannedAudio: rowData.AlreadyScannedAudio,\r\n productSpecification: rowData.ProductSpecification != null ? JSON.parse(rowData.ProductSpecification) : [{ key: \"\", value: \"\" }],\r\n isActive: rowData.IsActive,\r\n createdDate: rowData.CreatedDate\r\n });\r\n }\r\n\r\n const switchHandleChange = (e) => {\r\n this.setState({\r\n switchAction: !this.state.switchAction,\r\n productId: rowData.ProductId\r\n })\r\n if (!this.state.switchAction) {\r\n this.setState({\r\n displayConfirmation: true,\r\n MachineId: rowData.MachineId\r\n });\r\n }\r\n }\r\n\r\n if (rowData.IsActive == true) {\r\n return (\r\n <>\r\n \r\n\r\n \r\n \r\n {this.state.productSpecification.map((x, i) => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n this.handleInputChange(e, i)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n this.handleInputChange(e, i)}\r\n />\r\n
\r\n
\r\n
\r\n {this.state.productSpecification.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 this.setState({ displayConfirmation: false })}>\r\n
\r\n \r\n Are you sure you want to InActive?\r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n ProductData: state.product.items,\r\n showDialog: state.role.showDialog\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchProducts: (obj) => {\r\n dispatch(productMasterActions.getAll(obj))\r\n },\r\n createProduct: product => dispatch(productMasterActions.createProduct(product)),\r\n updateProduct: product => dispatch(productMasterActions.updateProduct(product)),\r\n inActiveRow: product => dispatch(productMasterActions.inActiveRow(product)),\r\n onHideShow: isbool => dispatch(productMasterActions.onHideShow(isbool))\r\n\r\n }\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(productMaster)","import React, { useState, useEffect } from 'react';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Switch from '@material-ui/core/Switch';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport { connect } from 'react-redux';\r\nimport Moment from 'react-moment';\r\nimport { roleMasterActions, alertActions } from \"../../actions\";\r\n\r\nclass roleMaster extends React.Component {\r\n constructor(props) {\r\n super();\r\n //this.statusBodyTemplate = this.statusBodyTemplate.bind(this);\r\n this.actionBodyTemplate = this.actionBodyTemplate.bind(this);\r\n this.editPermission = this.editPermission.bind(this);\r\n this.createdDateTemplate = this.createdDateTemplate.bind(this);\r\n this.updatedDateTemplate = this.updatedDateTemplate.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.resetForm = this.resetForm.bind(this);\r\n this.onHide = this.onHide.bind(this);\r\n this.openDialog = this.openDialog.bind(this);\r\n this.checkboxIsView = this.checkboxIsView.bind(this);\r\n this.checkboxIsAdd = this.checkboxIsAdd.bind(this);\r\n this.checkboxIsEdit = this.checkboxIsEdit.bind(this);\r\n this.switchToggleConfirm = this.switchToggleConfirm.bind(this);\r\n this.onchangeCheckbox = this.onchangeCheckbox.bind(this);\r\n\r\n this.state = {\r\n loading: false,\r\n switchAction: false,\r\n node: [],\r\n confirm: false,\r\n formHeading: 'Add Role',\r\n buttonLabel: 'Submit',\r\n displayConfirmation: false,\r\n switchAction: false,\r\n RoleId: 0,\r\n RoleName: '',\r\n RoleDesc: '',\r\n Address: '',\r\n IsActive: true,\r\n CreatedDate: null,\r\n allViewCheck: false,\r\n allAddCheck: false,\r\n allEditCheck: false,\r\n formError: {\r\n RoleName: '',\r\n RoleDesc: ''\r\n }\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.props.fetchApi();\r\n }\r\n\r\n switchToggleConfirm = (e) => {\r\n this.setState({ confirm: true, displayConfirmation: false })\r\n const formData = {\r\n RoleId: this.state.RoleId\r\n }\r\n this.props.inActiveRow(this.state.RoleId);\r\n }\r\n\r\n handleChange(event) {\r\n let { name, value } = event.target;\r\n let errors = this.state.formError;\r\n switch (name) {\r\n case 'IsActive':\r\n value = event.target.checked;\r\n break;\r\n default:\r\n break;\r\n }\r\n this.validateForm(value, name);\r\n this.setState({ errors, [name]: value });\r\n }\r\n\r\n updateRolePermission(event) {\r\n event.preventDefault();\r\n let permissionPage = [];\r\n const permissionArray = this.props.Pages;\r\n\r\n if (permissionArray.length > 0) {\r\n this.props.updateRolePermission(permissionArray);\r\n } else {\r\n this.props.warning(\"No page is selected\")\r\n }\r\n }\r\n\r\n getCurrentDateMMDDYYY() {\r\n var today = new Date();\r\n var dd = String(today.getDate()).padStart(2, '0');\r\n var mm = String(today.getMonth() + 1).padStart(2, '0');\r\n var yyyy = today.getFullYear();\r\n\r\n today = mm + '/' + dd + '/' + yyyy;\r\n return today;\r\n }\r\n validateForm(value, name) {\r\n let errors = this.state.formError;\r\n let IsValid = true;\r\n\r\n switch (name) {\r\n case 'RoleName':\r\n if (value.length < 1) {\r\n IsValid = false;\r\n errors.RoleName = \"Please enter role name.\";\r\n } else errors.RoleName = ''\r\n break;\r\n case 'RoleDesc':\r\n if (value.length < 1) {\r\n IsValid = false;\r\n errors.RoleDesc = \"Please enter role remarks.\";\r\n } else errors.RoleDesc = ''\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return IsValid;\r\n }\r\n\r\n updatedDateTemplate(rowData) {\r\n if (rowData.UpdatedDate !== null) {\r\n return (\r\n {rowData.UpdatedDate}\r\n )\r\n }\r\n\r\n }\r\n\r\n createdDateTemplate(rowData) {\r\n return (\r\n {rowData.CreatedDate}\r\n )\r\n }\r\n\r\n submitForm(event) {\r\n\r\n event.preventDefault();\r\n let isfrmvalid = true;\r\n let checkerror = this.state.formError;\r\n\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key]\r\n let valid = this.validateForm(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfrmvalid });\r\n isfrmvalid = false;\r\n }\r\n return isfrmvalid;\r\n });\r\n\r\n if (isfrmvalid) {\r\n const formData = {\r\n RoleId: this.state.RoleId,\r\n RoleName: this.state.RoleName,\r\n RoleDesc: this.state.RoleDesc,\r\n IsActive: this.state.IsActive,\r\n CreatedDate: this.state.RoleId > 0 ? this.state.CreatedDate : this.getCurrentDateMMDDYYY(),\r\n UpdatedDate: this.state.RoleId > 0 ? this.getCurrentDateMMDDYYY() : null\r\n }\r\n\r\n if (this.state.RoleId == 0) {\r\n this.props.createRole(formData);\r\n }\r\n else {\r\n this.props.updateRole(formData);\r\n }\r\n\r\n if (!this.props.showDialog) {\r\n this.resetForm();\r\n }\r\n }\r\n }\r\n\r\n resetForm() {\r\n this.setState({\r\n RoleId: 0,\r\n RoleName: '',\r\n RoleDesc: '',\r\n IsActive: true,\r\n formError: {\r\n RoleName: '',\r\n RoleDesc: ''\r\n }\r\n });\r\n\r\n let errors = this.state.formError;\r\n Object.entries(errors).map(([key]) => {\r\n errors[key] = '';\r\n return errors[key];\r\n });\r\n }\r\n checkAll(event) {\r\n this.props.updatePageStore(null);\r\n var ischecked = event.currentTarget.checked;\r\n var name = event.currentTarget.name;\r\n var pagelist = this.props.Pages;\r\n\r\n for (let i = 0; i < pagelist.length; i++) {\r\n pagelist[i][name] = ischecked;\r\n }\r\n if (name === 'IsView') {\r\n this.setState({ allViewCheck: ischecked });\r\n } else if (name === 'IsAdd') {\r\n this.setState({ allAddCheck: ischecked });\r\n } else if (name === 'IsEdit') {\r\n this.setState({ allEditCheck: ischecked });\r\n }\r\n\r\n this.props.updatePageStore(pagelist);\r\n }\r\n onchangeCheckbox(rowdate, event, key) {\r\n ;\r\n this.props.updatePageStore(null);\r\n var ischecked = event.currentTarget.checked;\r\n var name = event.currentTarget.id;\r\n var pagelist = this.props.Pages;\r\n\r\n for (let i = 0; i < pagelist.length; i++) {\r\n if (pagelist[i].PageId === parseInt(name)) {\r\n pagelist[i][key] = ischecked;\r\n }\r\n }\r\n\r\n this.props.updatePageStore(pagelist);\r\n }\r\n\r\n checkboxIsView(rowData) {\r\n //console.log('test');\r\n return (\r\n this.onchangeCheckbox(rowData, e, 'IsView')}\r\n id={rowData.PageId}\r\n color=\"primary\"\r\n inputProps={{ 'aria-label': 'first checkbox' }}\r\n />\r\n )\r\n }\r\n checkboxIsAdd(rowData) {\r\n return (\r\n this.onchangeCheckbox(rowData, e, 'IsAdd')}\r\n checked={rowData.IsAdd}\r\n id={rowData.PageId}\r\n color=\"primary\"\r\n inputProps={{ 'aria-label': 'secondary checkbox' }}\r\n />\r\n )\r\n }\r\n checkboxIsEdit(rowData) {\r\n return (\r\n this.onchangeCheckbox(rowData, e, 'IsEdit')}\r\n checked={rowData.IsEdit}\r\n id={rowData.PageId}\r\n color=\"primary\"\r\n inputProps={{ 'aria-label': 'thirds checkbox' }}\r\n />\r\n )\r\n }\r\n statusBodyTemplate(rowData) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n onHide() {\r\n this.props.onHideShow(false);\r\n this.resetForm();\r\n }\r\n openDialog() {\r\n this.props.onHideShow(true);\r\n this.setState({ buttonLabel: 'Submit', formHeading: 'Add Role' })\r\n }\r\n\r\n editPermission(rowData, RoleName) {\r\n const roleId = rowData.currentTarget.value;\r\n\r\n if (rowData.currentTarget.value) {\r\n this.setState({RoleName: RoleName})\r\n this.props.getPages(rowData.currentTarget.value);\r\n }\r\n }\r\n actionBodyTemplate(rowData) {\r\n const editMode = (e) => {\r\n this.props.onHideShow(true);\r\n this.setState({\r\n formHeading: 'Update Role',\r\n buttonLabel: 'Update',\r\n RoleId: rowData.RoleId,\r\n RoleName: rowData.RoleName,\r\n RoleDesc: rowData.RoleDesc,\r\n IsActive: rowData.IsActive,\r\n CreatedDate: rowData.CreatedDate\r\n })\r\n }\r\n const switchHandleChange = (e) => {\r\n\r\n this.setState({\r\n switchAction: !this.state.switchAction\r\n })\r\n if (!this.state.switchAction) {\r\n this.setState({\r\n displayConfirmation: true,\r\n RoleId: rowData.RoleId\r\n });\r\n }\r\n }\r\n\r\n if (rowData.IsActive == true) {\r\n return (\r\n <>\r\n \r\n */}\r\n \r\n\r\n \r\n );\r\n const header2 = (\r\n
\r\n
\r\n

Build Menus List

\r\n
\r\n
\r\n {this.state.RoleName}\r\n
\r\n\r\n
\r\n )\r\n // this.setState({ permissionModal: false })}>\r\n // Test\r\n // \r\n const viewHeading = (
View { this.checkAll(e) }}\r\n name='IsView'\r\n color=\"primary\"\r\n inputProps={{ 'aria-label': 'secondary checkbox' }}\r\n />
)\r\n const addHeading = (
Add { this.checkAll(e) }}\r\n name='IsAdd'\r\n color=\"primary\"\r\n inputProps={{ 'aria-label': 'secondary checkbox' }}\r\n />
)\r\n const updateHeading = (
Update { this.checkAll(e) }}\r\n name='IsEdit'\r\n color=\"primary\"\r\n inputProps={{ 'aria-label': 'secondary checkbox' }}\r\n />
)\r\n return (\r\n
\r\n
\r\n
\r\n\r\n
\r\n { this.dt = el; }} header={header} globalFilter={this.state.globalFilter} className=\"p-datatable-customers\" rowHover={true} loading={this.state.loading} emptyMessage=\"No data found.\" sortMode=\"multiple\" paginator\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\" rows={5} rowsPerPageOptions={[5, 10, 20, 50]} >\r\n \r\n \r\n \r\n {/* \r\n */}\r\n {/* */}\r\n \r\n {/* {dynamicColumns} */}\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n { this.dt = el; }} header={header2} globalFilter={this.state.globalFilter}\r\n className=\"p-datatable-customers\" scrollable scrollHeight=\"200px\" rowHover={true} loading={this.state.loading}\r\n emptyMessage=\"No data found.\" sortMode=\"multiple\">\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n {this.state.formError.RoleName !== '' ?\r\n
{this.state.formError.RoleName}
: ''}\r\n
\r\n\r\n
\r\n \r\n {this.state.formError.RoleDesc !== '' ?\r\n
{this.state.formError.RoleDesc}
: ''}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Note: Fields marked as (*) are required\r\n
\r\n {/*
\r\n
*/}\r\n
\r\n
\r\n
\r\n this.setState({ displayConfirmation: false })}>\r\n
\r\n \r\n Are you sure you want to InActive?\r\n
\r\n
\r\n
\r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n RoleData: state.role.items,\r\n showDialog: state.role.showDialog,\r\n Pages: state.role.pages\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchApi: () => {\r\n dispatch(roleMasterActions.getAll())\r\n },\r\n openPermissionDialog: data => dispatch(roleMasterActions.openDialog(data)),\r\n createRole: data => dispatch(roleMasterActions.createRole(data)),\r\n updateRole: data => dispatch(roleMasterActions.updateRole(data)),\r\n inActiveRow: data => dispatch(roleMasterActions.inActiveRow(data)),\r\n onHideShow: isbool => dispatch(roleMasterActions.onHideShow(isbool)),\r\n getPages: (roleId) => dispatch(roleMasterActions.getPages(roleId)),\r\n updatePageStore: (pagelist) => dispatch(roleMasterActions.updatePageStore(pagelist)),\r\n warning: message => dispatch(alertActions.warning(message)),\r\n updateRolePermission: data => dispatch(roleMasterActions.updateRolePermission(data)),\r\n\r\n }\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(roleMaster)","import React, { Component } from 'react'\r\nimport Avtar from './../assets/images/avatar.jpg';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Button } from 'primereact/button';\r\nimport { connect } from 'react-redux';\r\nimport { changePasswordActions,alertActions } from '../actions';\r\n\r\n\r\n\r\nclass Profile extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n UserName: '',\r\n Email:'',\r\n MobileNo:'',\r\n OldPassword: '',\r\n NewPassword: '',\r\n UserId: 0,\r\n\r\n formError: {\r\n OldPassword: null,\r\n NewPassword: null\r\n }\r\n }\r\n this.handleChange=this.handleChange.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n }\r\n \r\n// submit form and create or update user\r\nsubmitForm(event) {\r\n \r\n event.preventDefault();\r\n\r\n let isfrmvalid = true;\r\n let checkerror = this.state.formError;\r\n\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key]\r\n let valid = this.validateForm(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfrmvalid });\r\n isfrmvalid = false;\r\n }\r\n\r\n return isfrmvalid;\r\n });\r\n\r\n if (isfrmvalid) {\r\n let userCollector = JSON.parse(sessionStorage.getItem(\"UserData\"));\r\n\r\n const formData = {\r\n // UserName: this.state.UserName,\r\n OldPassword: this.state.OldPassword,\r\n NewPassword: this.state.NewPassword,\r\n UserId: userCollector\r\n }\r\n\r\n this.props.changePassword(formData);\r\n }\r\n}\r\n\r\n//to validate form\r\nvalidateForm(value, name) {\r\n let errors = this.state.formError;\r\n let IsValid = true;\r\n switch (name) {\r\n case 'OldPassword':\r\n if (value.length < 1) {\r\n IsValid = false;\r\n errors.OldPassword = \"Please enter old password.\";\r\n } else if (value.length >= 1 && this.state.NewPassword.length >= 1) {\r\n errors.OldPassword = '';\r\n errors.NewPassword = '';\r\n if (value === this.state.NewPassword) {\r\n IsValid = false;\r\n errors.OldPassword = \"Old password and new password should not be same.\";\r\n }\r\n } else errors.OldPassword = ''\r\n break;\r\n\r\n case 'NewPassword':\r\n if (value.length < 1) {\r\n IsValid = false;\r\n errors.NewPassword = \"Please enter new password.\";\r\n } else if (!value.match(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).{4,10}$/)) {\r\n IsValid = false;\r\n errors.NewPassword = \"Password should be minimum 4 characters long, 1 uppercase & 1 lowercase character with 1 number.\";\r\n } else if (value.length >= 1 && this.state.OldPassword.length >= 1) {\r\n errors.OldPassword = '';\r\n errors.NewPassword = '';\r\n if (value === this.state.OldPassword) {\r\n IsValid = false;\r\n errors.NewPassword = \"New password and old password should not be same.\";\r\n }\r\n } else errors.NewPassword = ''\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return IsValid;\r\n}\r\n// call every change of form and validation part also\r\nhandleChange(event) {\r\n\r\n const { name, value } = event.target;\r\n let errors = this.state.formError;\r\n\r\n this.validateForm(value, name);\r\n this.setState({ errors, [name]: value });\r\n}\r\n\r\n\r\n componentDidMount()\r\n {\r\n \r\n let userNameCollector = (sessionStorage.getItem(\"UserNameData\"));\r\n let userEmailCollector = (sessionStorage.getItem(\"UserEmailData\"));\r\n let userMobileCollector = (sessionStorage.getItem(\"UserMobileData\"));\r\n\r\n this.setState({ UserName: userNameCollector,Email:userEmailCollector,MobileNo:userMobileCollector });\r\n\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n

Change 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
Name
\r\n
\r\n
Email
\r\n
\r\n
MobileNo
\r\n
\r\n {/*
Role
\r\n
\r\n
Created Date
\r\n
*/}\r\n
Old Password
\r\n
\r\n \r\n {this.state.formError.OldPassword !== '' ?\r\n
{this.state.formError.OldPassword}
: ''}\r\n
\r\n
New Password
\r\n
\r\n \r\n {this.state.formError.NewPassword !== '' ?\r\n
{this.state.formError.NewPassword}
: ''}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n UserName:state.changePassword.items?.filter(x=>x.UserName!==null)[0]?.UserName,\r\n Email:state.changePassword.items?.filter(x=>x.Email!==null)[0]?.Email,\r\n MobileNo:state.changePassword.items?.filter(x=>x.MobileNo!==null)[0].MobileNo\r\n }\r\n } \r\n \r\n const mapDispatchToProps = (dispatch) => {\r\n return { \r\n fetchUserApi:() =>{\r\n dispatch(changePasswordActions.fetchUserData())\r\n },\r\n changePassword: changePassword => dispatch(changePasswordActions.changePassword(changePassword)) \r\n }\r\n }\r\n \r\n export default connect(mapStateToProps, mapDispatchToProps)(Profile)\r\n ","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport Select from '@material-ui/core/Select';\r\nimport { connect } from 'react-redux';\r\nimport Moment from 'react-moment';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport { issueNoActions, demappingActions } from '../../actions';\r\nimport tableRequest from '../../models/tableRequest.js';\r\n// import Loaders from '../../templates/Loaders';\r\nimport Switch from '@material-ui/core/Switch';\r\n\r\nclass IssueNumber extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n // this.statusBodyTemplate = this.statusBodyTemplate.bind(this);\r\n // this.actionBodyTemplate = this.actionBodyTemplate.bind(this);\r\n this.getLazyLoadingValues = this.getLazyLoadingValues.bind(this)\r\n this.exportCSV = this.exportCSV.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.resetForm = this.resetForm.bind(this);\r\n this.CreatedDtTemplate = this.CreatedDtTemplate.bind(this);\r\n this.UpdatedDtTemplate = this.UpdatedDtTemplate.bind(this);\r\n this.switchToggleConfirm = this.switchToggleConfirm.bind(this);\r\n this.onHide = this.onHide.bind(this);\r\n this.onPage = this.onPage.bind(this);\r\n this.onSort = this.onSort.bind(this);\r\n this.state = {\r\n rows: 10,\r\n loading: false,\r\n confirm: false,\r\n buttonLabel: 'Submit',\r\n formHeading: 'Add Issue No',\r\n displayModal: false,\r\n switchAction: false,\r\n showSnackbar: false,\r\n displayConfirmation: false,\r\n Name: '',\r\n updateLoader: false,\r\n IssueId: 0,\r\n CreatedDt: null,\r\n UpdatedDt: null,\r\n PlantId: 0,\r\n BatchNo: '',\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n SupplierId: '',\r\n IsActive: true,\r\n totalRecords: 0,\r\n refrenceFromNo: '',\r\n refrenceToNo: '',\r\n formError: {\r\n PlantId: null,\r\n BatchNo: null,\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n CreatedDt: null,\r\n UpdatedDt: null\r\n }\r\n };\r\n }\r\n //to trigger api on page call\r\n componentDidMount() {\r\n this.props.fetchApi(this.tblResponse);\r\n //this.props.fetchFromNumberApi(this.tblResponse);\r\n this.setState({ updateLoader: true })\r\n this.props.getBatchNoDDL();\r\n this.props.getPlantDDL();\r\n\r\n }\r\n onChangeBatch(event) {\r\n this.props.getBatchDetails(event.target.value);\r\n }\r\n\r\n getLazyLoadingValues(event) {\r\n this.setState({ rows: event.rows, first: event.first });\r\n this.tblResponse.PageSize = event.rows;\r\n this.tblResponse.First = event.first + 1;\r\n this.tblResponse.IsActive = true;\r\n this.tblResponse.SearchValue = event.globalFilter ? event.globalFilter : \"\";\r\n //this.tblResponse.SortColumn = event.sortField;\r\n this.tblResponse.SortOrder = event.sortOrder === 1 ? 'ASC' : 'DESC';\r\n }\r\n searchFilter(e) {\r\n this.tblResponse.SearchValue = e.target.value;\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n onPage(event) {\r\n this.setState({\r\n loading: true\r\n });\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n this.getLazyLoadingValues(event);\r\n this.props.fetchApi(this.tblResponse);\r\n setTimeout(() => {\r\n this.setState({\r\n loading: false\r\n });\r\n }, 500);\r\n }, 250);\r\n }\r\n\r\n getDropValue() {\r\n let productId = '';\r\n this.props.ProductData.filter(x => {\r\n if (x.ProductId === this.state.ProductId) {\r\n productId = x.ProductId;\r\n }\r\n });\r\n\r\n return productId;\r\n }\r\n //to manage switch toggle confirm box\r\n switchToggleConfirm = (e) => {\r\n\r\n this.setState({ confirm: true, displayConfirmation: false })\r\n const formData = {\r\n MachineId: this.state.MachineId\r\n }\r\n this.props.inActiveRow(this.state.MachineId);\r\n }\r\n\r\n //to handle form\r\n handleChange(event) {\r\n let { name, value } = event.target;\r\n let errors = this.state.formError;\r\n // switch (name) {\r\n // case 'IsActive':\r\n // value = event.target.checked;\r\n // break;\r\n // default:\r\n // break;\r\n // }\r\n this.validateForm(value, name);\r\n this.setState({ errors, [name]: value });\r\n }\r\n //to validate form data\r\n validateForm(value, name) {\r\n let errors = this.state.formError;\r\n let IsValid = true;\r\n ;\r\n switch (name) {\r\n case 'BatchNo':\r\n if (!value) {\r\n IsValid = false;\r\n errors.BatchNo = \"Please select batch number.\";\r\n } else errors.BatchNo = ''\r\n break;\r\n case 'PlantId':\r\n if (!value) {\r\n IsValid = false;\r\n errors.PlantId = \"Please select plant.\";\r\n } else errors.PlantId = ''\r\n break;\r\n // case 'FrmNo':\r\n // if (value.length < 1) {\r\n // IsValid = false;\r\n // errors.FrmNo = \"Please enter FrmNo.\";\r\n // } else errors.FrmNo = ''\r\n // break;\r\n\r\n // case 'ToNo':\r\n // if (value.length < 1) {\r\n // IsValid = false;\r\n // errors.ToNo = \"Please enter ToNo.\";\r\n // } else errors.ToNo = ''\r\n // break;\r\n // case 'IssueQty':\r\n // if (value.trim().length < 1) {\r\n // IsValid = false;\r\n // errors.IssueQty = \"Please enter your quantity.\";\r\n // }\r\n // else {\r\n // if (!value.match(/^[0-9]+$/)) {\r\n // IsValid = false;\r\n // errors.IssueQty = \"Please enter only number.\";\r\n // this.setState({ IssueQty: 0 })\r\n // } else {\r\n\r\n // errors.ToNo = null;\r\n // errors.IssueQty = null;\r\n // errors.FromNo = null;\r\n // const qty = value.trim() === '' ? 0 : parseInt(value.trim());\r\n // const fromNumber = this.props.MaxFromNo.toString().trim() === '' ? 0 : parseInt(this.props.MaxFromNo.toString().trim());\r\n // if (fromNumber >= 1 && qty >= 1) {\r\n // const toNumber = (qty + fromNumber) - 1;\r\n // if (toNumber >= 0) {\r\n // this.setState({ ToNo: toNumber })\r\n // } else {\r\n // IsValid = false;\r\n // errors.IssueQty = \"To number should be greater than or equal to from number.\";\r\n // this.setState({ ToNo: 0 })\r\n // }\r\n\r\n // } else {\r\n // // IsValid = false;\r\n // // errors.ToNo = \"To number should be greater than from number.\";\r\n // this.setState({ ToNo: 0 })\r\n // }\r\n // }\r\n // }\r\n // break;\r\n // case 'SalesOrderNo':\r\n // if (value.length < 1) {\r\n // IsValid = false;\r\n // errors.SalesOrderNo = \"Please enter sales order no.\";\r\n // } else errors.SalesOrderNo = ''\r\n // break; \r\n case 'FromNo':\r\n if (value < 1) {\r\n IsValid = false;\r\n errors.FromNo = \"Please enter your from number.\";\r\n } else {\r\n if (!value.toString().match(/^[0-9]+$/)) {\r\n IsValid = false;\r\n errors.FromNo = \"Please enter only number.\";\r\n this.setState({ Qty: 0 })\r\n } else {\r\n errors.FromNo = null;\r\n errors.ToNo = null;\r\n errors.Qty = null;\r\n const fromNumber = value.toString() === '' ? 0 : parseInt(value.toString());\r\n const toNumber = this.state.ToNo === '' ? 0 : parseInt(this.state.ToNo);\r\n if (fromNumber >= this.state.refrenceFromNo && fromNumber <= this.state.refrenceToNo && toNumber >= this.state.refrenceFromNo && toNumber <= this.state.refrenceToNo) {\r\n if (fromNumber <= toNumber) {\r\n const qty = (toNumber - fromNumber) + 1;\r\n if (qty >= 0) {\r\n this.setState({ Qty: qty })\r\n } else {\r\n IsValid = false;\r\n errors.FromNo = \"From No. should be less than to number.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n } else {\r\n IsValid = false;\r\n errors.FromNo = \"From No. should be less than to number.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n } else {\r\n IsValid = false;\r\n errors.FromNo = \"From No. should be less than To no. and numbers must exist between mapped series\";\r\n this.setState({ Qty: 0 })\r\n }\r\n }\r\n }\r\n break;\r\n case 'ToNo':\r\n\r\n if (value < 1) {\r\n IsValid = false;\r\n errors.ToNo = \"Please enter your to number.\";\r\n } else {\r\n if (!value.toString().match(/^[0-9]+$/.exec(value))) {\r\n IsValid = false;\r\n errors.FromNo = \"Please enter only number.\";\r\n this.setState({ Qty: 0 })\r\n } else {\r\n errors.FromNo = null;\r\n errors.ToNo = null;\r\n errors.Qty = null;\r\n const toNumber = value.toString() === '' ? 0 : parseInt(value.toString());\r\n const fromNumber = this.state.FromNo === '' ? 0 : parseInt(this.state.FromNo);\r\n if (fromNumber >= this.state.refrenceFromNo && fromNumber <= this.state.refrenceToNo && toNumber >= this.state.refrenceFromNo && toNumber <= this.state.refrenceToNo) {\r\n if (fromNumber <= toNumber) {\r\n const qty = (toNumber - fromNumber) + 1;\r\n if (qty >= 0) {\r\n this.setState({ Qty: qty })\r\n } else {\r\n IsValid = false;\r\n errors.ToNo = \"To No. should be greater than from number.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n } else {\r\n IsValid = false;\r\n errors.ToNo = \"To No. should be greater than from number.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n } else {\r\n IsValid = false;\r\n errors.ToNo = \"To No. should be greater than from no. and numbers must exist between mapped series.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n }\r\n }\r\n break;\r\n case 'Qty':\r\n if (value < 1) {\r\n IsValid = false;\r\n errors.Qty = \"Please enter your quantity\";\r\n }\r\n else errors.Qty = null;\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n return IsValid;\r\n }\r\n //to get current date\r\n getCurrentDateMMDDYYY() {\r\n var today = new Date();\r\n var dd = String(today.getDate()).padStart(2, '0');\r\n var mm = String(today.getMonth() + 1).padStart(2, '0');\r\n var yyyy = today.getFullYear();\r\n\r\n today = mm + '/' + dd + '/' + yyyy;\r\n return today;\r\n }\r\n //to submit form data\r\n submitForm(event) {\r\n\r\n event.preventDefault();\r\n let isfrmvalid = true;\r\n let checkerror = this.state.formError;\r\n\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key]\r\n let valid = this.validateForm(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfrmvalid });\r\n isfrmvalid = false;\r\n }\r\n return isfrmvalid;\r\n });\r\n\r\n if (isfrmvalid) {\r\n const formData = {\r\n IssueId: this.state.IssueId,\r\n FromNo: this.state.FromNo,\r\n ToNo: this.state.ToNo,\r\n IssueQty: this.state.Qty,\r\n PlantId: this.state.PlantId,\r\n BatchNo: this.state.BatchNo,\r\n SupplierId: this.state.SupplierId,\r\n CreatedDt: this.state.IssueId > 0 ? this.state.CreatedDt : this.getCurrentDateMMDDYYY(),\r\n UpdatedDt: this.state.IssueId > 0 ? this.getCurrentDateMMDDYYY() : null\r\n }\r\n this.setState({ updateLoader: false })\r\n\r\n\r\n //console.log('formData', formData);\r\n if (this.state.IssueId == 0) {\r\n this.props.createIssueNo(formData);\r\n this.props.fetchApi();\r\n\r\n this.setState({\r\n updateLoader: true\r\n });\r\n }\r\n }\r\n }\r\n //to reset form\r\n resetForm() {\r\n this.setState({\r\n Qty: '',\r\n IssueId: 0,\r\n FromNo: '',\r\n ToNo: '',\r\n BatchNo: '',\r\n PlantId: '',\r\n SupplierId: '',\r\n refrenceFromNo: '',\r\n refrenceToNo: '',\r\n formError: {\r\n FrmNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n BatchNo: '',\r\n PlantId: '',\r\n }\r\n });\r\n\r\n let errors = this.state.formError;\r\n Object.entries(errors).map(([key]) => {\r\n errors[key] = '';\r\n return errors[key];\r\n });\r\n }\r\n //to hide function\r\n onHide() {\r\n this.resetForm();\r\n this.props.onHideShow(false);\r\n }\r\n\r\n openDialog() {\r\n this.props.onHideShow(true);\r\n this.resetForm();\r\n this.setState({ buttonLabel: 'Submit', formHeading: 'Add Issue No' })\r\n }\r\n\r\n //to get format of date\r\n UpdatedDtTemplate(rowData) {\r\n if (rowData.UpdatedDt !== null) {\r\n return (\r\n {rowData.UpdatedDt}\r\n )\r\n }\r\n }\r\n //to get format of date\r\n CreatedDtTemplate(rowData) {\r\n if (rowData.CreatedDt !== null) {\r\n\r\n return (\r\n {rowData.CreatedDate}\r\n )\r\n }\r\n }\r\n //to disable checkbox\r\n // statusBodyTemplate(rowData) {\r\n // return (\r\n // \r\n // )\r\n // } \r\n //to edit rowdata\r\n\r\n //to export data\r\n exportCSV() {\r\n this.dt.exportCSV();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.IssueData) {\r\n if (prevProps.IssueData !== this.props.IssueData) {\r\n // this.props.myProp has a different value\r\n if (this.props.IssueData) {\r\n var e = this.props.IssueData;\r\n this.setState({\r\n totalRecords: e[0].TotalRows\r\n });\r\n }\r\n }\r\n } else {\r\n if (this.state.totalRecords !== 0)\r\n this.setState({\r\n totalRecords: 0,\r\n first: 0\r\n });\r\n }\r\n }\r\n\r\n onSort(event) {\r\n this.setState({ sortOrder: this.state?.sortOrder === 1 ? 2 : 1 });\r\n const sortField = event.multiSortMeta[0].field === \"CreatedDate\" ? \"CreatedDate\" : event.multiSortMeta[0].field;\r\n this.tblResponse.SortColumn = sortField ? sortField : \"\";\r\n this.tblResponse.SortOrder = this.state?.sortOrder === 1 ? 'DESC' : 'ASC';//this.state.sortOrder === 1 ? 'DESC' : 'ASC';\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n\r\n //to render html\r\n render() {\r\n const renderFooter = (name) => {\r\n return (\r\n
\r\n {/*
\r\n );\r\n }\r\n\r\n const header = (\r\n
\r\n
\r\n

Issue Number

\r\n
\r\n
\r\n \r\n \r\n this.setState({ globalFilter: e.target.value })} placeholder=\"Global Search\" />\r\n \r\n {/* */}\r\n
\r\n
\r\n );\r\n\r\n return (\r\n
\r\n {/* */}\r\n \r\n
\r\n { this.dt = el; }} header={header} globalFilter={this.state.globalFilter} className=\"p-datatable-customers\" rowHover={true} loading={this.state.loading} emptyMessage=\"No data found.\" sortMode=\"multiple\" paginator\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\"\r\n rows={this.state.rows} style={{ width: '100%' }}\r\n rowsPerPageOptions={[10, 20, 50]}\r\n totalRecords={parseInt(this.state.totalRecords)}\r\n lazy={true} first={this.state.first}\r\n onPage={this.onPage} onSort={this.onSort}>\r\n\r\n {/* */}\r\n {/* \r\n */}\r\n \r\n \r\n \r\n {/* */}\r\n \r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Select Batch Number\r\n \r\n \r\n {this.state.formError.BatchNo !== '' ?\r\n
{this.state.formError.BatchNo}
: ''}\r\n
\r\n
\r\n \r\n Select Plant\r\n \r\n \r\n {this.state.formError.PlantId !== '' ?\r\n
{this.state.formError.PlantId}
: ''}\r\n
\r\n {/*
\r\n \r\n {this.state.formError.SalesOrderNo !== '' ?\r\n
{this.state.formError.SalesOrderNo}
: ''}\r\n
*/}\r\n
\r\n \r\n {this.state.formError.FromNo !== '' ?\r\n
{this.state.formError.FromNo}
: ''}\r\n
\r\n
\r\n \r\n {this.state.formError.ToNo !== '' ?\r\n
{this.state.formError.ToNo}
: ''}\r\n
\r\n
\r\n \r\n {this.state.formError.Qty !== '' ?\r\n
{this.state.formError.Qty}
: ''}\r\n
\r\n
\r\n
\r\n
\r\n Note: Fields marked as (*) are required\r\n
\r\n
\r\n
\r\n
\r\n this.setState({ displayConfirmation: false })}>\r\n
\r\n \r\n Are you sure you want to InActive?\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n IssueData: state.issueNo.items,\r\n MaxFromNo: state.demapping?.items?.FrmNo,\r\n BatchData: state.issueNo.batchddl,\r\n PlantData: state.issueNo.plantddl,\r\n BatchDetails: state.issueNo.batchDetails,\r\n showDialog: state.issueNo.showDialog\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchApi: (obj) => {\r\n dispatch(issueNoActions.getAll(obj))\r\n },\r\n fetchFromNumberApi: (obj) => {\r\n dispatch(demappingActions.getFromNumber(obj))\r\n },\r\n createIssueNo: machine => dispatch(issueNoActions.createIssueNo(machine)),\r\n getBatchNoDDL: () => dispatch(issueNoActions.getBatchNumberDDL()),\r\n getPlantDDL: () => dispatch(issueNoActions.getPlantDDL()),\r\n getBatchDetails: (BatchNo) => dispatch(issueNoActions.getBatchDetails(BatchNo)),\r\n onHideShow: isbool => dispatch(issueNoActions.onHideShow(isbool))\r\n }\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(IssueNumber)","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport Select from '@material-ui/core/Select';\r\nimport { connect } from 'react-redux';\r\nimport Moment from 'react-moment';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport { mappingActions, productMasterActions } from '../../actions';\r\nimport tableRequest from '../../models/tableRequest.js';\r\n// import Loaders from '../../templates/Loaders';\r\nimport Switch from '@material-ui/core/Switch';\r\nimport isThisHour from 'date-fns/isThisHour';\r\n\r\nclass Mapping extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n // this.statusBodyTemplate = this.statusBodyTemplate.bind(this);\r\n this.actionBodyTemplate = this.actionBodyTemplate.bind(this);\r\n this.exportCSV = this.exportCSV.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.resetForm = this.resetForm.bind(this);\r\n this.CreatedDtTemplate = this.CreatedDtTemplate.bind(this);\r\n this.UpdatedDtTemplate = this.UpdatedDtTemplate.bind(this);\r\n this.switchToggleConfirm = this.switchToggleConfirm.bind(this);\r\n this.onHide = this.onHide.bind(this);\r\n this.openDialog = this.openDialog.bind(this);\r\n this.resetFormHide = this.resetFormHide.bind(this);\r\n\r\n this.state = {\r\n loading: false,\r\n confirm: false,\r\n buttonLabel: 'Submit',\r\n formHeading: 'Add Mapping',\r\n displayModal: false,\r\n switchAction: false,\r\n showSnackbar: false,\r\n displayConfirmation: false,\r\n ProductName: '',\r\n updateLoader: false,\r\n MappingId: 0,\r\n CreatedDt: null,\r\n UpdatedDt: null,\r\n ProductId: 0,\r\n ProductName: '',\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n IsActive: true,\r\n formError: {\r\n ProductId: '',\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: ''\r\n }\r\n };\r\n }\r\n //to trigger api on page call\r\n componentDidMount() {\r\n \r\n this.props.fetchApi(this.tblResponse);\r\n this.props.getPrdctDDL();\r\n this.props.getToNumber();\r\n this.setState({ updateLoader: true })\r\n\r\n }\r\n\r\n getLazyLoadingValues(event) {\r\n this.setState({ rows: event.rows });\r\n this.tblResponse.PageSize = event.rows;\r\n this.tblResponse.First = event.first + 1;\r\n this.tblResponse.IsActive = true;\r\n this.tblResponse.SearchValue = event.globalFilter ? event.globalFilter : \"\";\r\n //this.tblResponse.SortColumn = event.sortField;\r\n this.tblResponse.SortOrder = event.sortOrder === 1 ? 'ASC' : 'DESC';\r\n }\r\n onPage(event) {\r\n this.setState({\r\n loading: true\r\n });\r\n\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n this.getLazyLoadingValues(event);\r\n this.props.fetchApi(this.tblResponse);\r\n }, 250);\r\n }\r\n\r\n getDropValue() {\r\n let productId = '';\r\n this.props.ProductData.filter(x => {\r\n if (x.ProductId === this.state.ProductId) {\r\n productId = x.ProductId;\r\n }\r\n });\r\n\r\n return productId;\r\n }\r\n //to manage switch toggle confirm box\r\n switchToggleConfirm = (e) => {\r\n \r\n this.setState({ confirm: true, displayConfirmation: false })\r\n const formData = {\r\n MachineId: this.state.MachineId\r\n }\r\n this.props.inActiveRow(this.state.MachineId);\r\n }\r\n //to handle form\r\n handleChange(event) {\r\n let { name, value } = event.target;\r\n let errors = this.state.formError;\r\n // switch (name) {\r\n // case 'IsActive':\r\n // value = event.target.checked;\r\n // break;\r\n // default:\r\n // break;\r\n // }\r\n this.validateForm(value, name);\r\n this.setState({ errors, [name]: value });\r\n }\r\n //to validate form data\r\n validateForm(value, name) {\r\n let errors = this.state.formError;\r\n let IsValid = true;\r\n\r\n switch (name) {\r\n case 'ProductId':\r\n if (value === 0) {\r\n IsValid = false;\r\n errors.ProductId = \"Please select Product\";\r\n } else errors.ProductId = null\r\n break;\r\n // case 'FromNo':\r\n // if (value.trim().length < 1) {\r\n // IsValid = false;\r\n // errors.FromNo = \"Please enter your from number.\";\r\n // } else if (!value.match(/^[0-9]+$/)) {\r\n // IsValid = false;\r\n // errors.FromNo = \"Please enter only number.\";\r\n // this.setState({ Qty: 0 })\r\n // } else {\r\n // errors.FromNo = null;\r\n // errors.ToNo = null;\r\n // errors.Qty = null;\r\n // const fromNumber = value.trim() === '' ? 0 : parseInt(value.trim());\r\n // const toNumber = this.state.ToNo.trim() === '' ? 0 : parseInt(this.state.ToNo.trim());\r\n // if (fromNumber >= 1 && toNumber >= 1) {\r\n // if (fromNumber <= toNumber) {\r\n // const qty = (toNumber - fromNumber) + 1;\r\n // if (qty >= 0) {\r\n // this.setState({ Qty: qty })\r\n // } else {\r\n // IsValid = false;\r\n // errors.FromNo = \"From number should be less than to number.\";\r\n // this.setState({ Qty: 0 })\r\n // }\r\n // } else {\r\n // IsValid = false;\r\n // errors.FromNo = \"From number should be less than to number.\";\r\n // this.setState({ Qty: 0 })\r\n // }\r\n // } else {\r\n // // IsValid = false;\r\n // // errors.FromNo = \"From number should be less than to number.\";\r\n // this.setState({ Qty: 0 })\r\n // }\r\n // }\r\n // break;\r\n case 'Qty':\r\n if (value.trim().length < 1) {\r\n IsValid = false;\r\n errors.Qty = \"Please enter your quantity.\";\r\n }\r\n else {\r\n if (!value.match(/^[0-9]+$/)) {\r\n IsValid = false;\r\n errors.Qty = \"Please enter only number.\";\r\n this.setState({ Qty: 0 })\r\n } else {\r\n\r\n errors.ToNo = null;\r\n errors.Qty = null;\r\n errors.FromNo = null;\r\n const qty = value.trim() === '' ? 0 : parseInt(value.trim());\r\n const fromNumber = this.props.MaxFromNo.toString().trim() === '' ? 0 : parseInt(this.props.MaxFromNo.toString().trim());\r\n if (fromNumber >= 1 && qty >= 1) {\r\n const toNumber = (qty + fromNumber) - 1;\r\n if (toNumber >= 0) {\r\n this.setState({ ToNo: toNumber })\r\n } else {\r\n IsValid = false;\r\n errors.Qty = \"To number should be greater than or equal to from number.\";\r\n this.setState({ ToNo: 0 })\r\n }\r\n\r\n } else {\r\n // IsValid = false;\r\n // errors.ToNo = \"To number should be greater than from number.\";\r\n this.setState({ ToNo: 0 })\r\n }\r\n }\r\n }\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n return IsValid;\r\n }\r\n //to get current date\r\n getCurrentDateMMDDYYY() {\r\n var today = new Date();\r\n var dd = String(today.getDate()).padStart(2, '0');\r\n var mm = String(today.getMonth() + 1).padStart(2, '0');\r\n var yyyy = today.getFullYear();\r\n\r\n today = mm + '/' + dd + '/' + yyyy;\r\n return today;\r\n }\r\n //to submit form data\r\n submitForm(event) {\r\n \r\n event.preventDefault();\r\n let isfrmvalid = true;\r\n let checkerror = this.state.formError;\r\n\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key]\r\n let valid = this.validateForm(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfrmvalid });\r\n isfrmvalid = false;\r\n }\r\n return isfrmvalid;\r\n });\r\n\r\n if (isfrmvalid) {\r\n const ddlValu = this.getDropValue();\r\n\r\n const formData = {\r\n MappingId: this.state.MappingId,\r\n ProductId: this.state.ProductId,\r\n FromNo: this.props.MaxFromNo,\r\n ToNo: this.state.ToNo,\r\n Qty: this.state.Qty,\r\n CreatedDt: this.state.MappingId > 0 ? this.state.CreatedDt : this.getCurrentDateMMDDYYY(),\r\n UpdatedDt: this.state.MappingId > 0 ? this.getCurrentDateMMDDYYY() : null,\r\n ProductName: ddlValu != null ? ddlValu : \"\"\r\n\r\n }\r\n this.setState({ updateLoader: false })\r\n\r\n if (this.state.MappingId == 0) {\r\n this.props.createMapping(formData);\r\n this.props.fetchApi();\r\n\r\n this.setState({\r\n updateLoader: true\r\n });\r\n }\r\n else {\r\n this.props.updateMapping(formData);\r\n this.props.fetchApi();\r\n\r\n this.setState({\r\n updateLoader: true\r\n });\r\n }\r\n }\r\n }\r\n\r\n //to reset form\r\n resetForm() {\r\n this.setState({\r\n ProductId: 0,\r\n MappingId: 0,\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n formError: {\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n ProductId: ''\r\n }\r\n });\r\n\r\n let errors = this.state.formError;\r\n Object.entries(errors).map(([key]) => {\r\n errors[key] = '';\r\n return errors[key];\r\n });\r\n }\r\n\r\n //to reset form on hide\r\n resetFormHide() {\r\n this.setState({\r\n ProductId: 0,\r\n MappingId: 0,\r\n ToNo: '',\r\n Qty: '',\r\n formError: {\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n ProductId: ''\r\n }\r\n });\r\n\r\n let errors = this.state.formError;\r\n Object.entries(errors).map(([key]) => {\r\n errors[key] = '';\r\n return errors[key];\r\n });\r\n }\r\n //to hide function\r\n onHide() {\r\n this.props.onHideShow(false);\r\n this.resetFormHide();\r\n }\r\n openDialog() {\r\n this.props.onHideShow(true);\r\n this.setState({ buttonLabel: 'Submit', formHeading: 'Add Mapping' })\r\n\r\n this.props.getToNumber();\r\n }\r\n\r\n //to get format of date\r\n UpdatedDtTemplate(rowData) {\r\n if (rowData.UpdatedDt !== null) {\r\n return (\r\n {rowData.UpdatedDt}\r\n )\r\n }\r\n }\r\n //to get format of date\r\n CreatedDtTemplate(rowData) {\r\n if (rowData.CreatedDt !== null) {\r\n\r\n return (\r\n {rowData.CreatedDt}\r\n )\r\n }\r\n }\r\n //to disable checkbox\r\n // statusBodyTemplate(rowData) {\r\n // return (\r\n // \r\n // )\r\n // } \r\n //to edit rowdata\r\n actionBodyTemplate(rowData) {\r\n const editMode = (e) => {\r\n this.setState({\r\n buttonLabel: 'Update',\r\n formHeading: 'Update Mapping',\r\n displayModal: true,\r\n ProductId: rowData.ProductId,\r\n MappingId: rowData.MappingId,\r\n FromNo: rowData.FromNo,\r\n ToNo: rowData.ToNo,\r\n Qty: rowData.Qty,\r\n CreatedDt: rowData.CreatedDt\r\n\r\n });\r\n }\r\n return (\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 { this.dt = el; }} header={header} globalFilter={this.state.globalFilter} className=\"p-datatable-customers\" rowHover={true} loading={this.state.loading} emptyMessage=\"No data found.\" sortMode=\"multiple\" paginator\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\" rows={10} rowsPerPageOptions={[10, 20, 50]} >\r\n {/* */}\r\n \r\n \r\n \r\n \r\n\r\n {/* \r\n */}\r\n {/* */}\r\n {/* */}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Select Product*\r\n \r\n \r\n {this.state.formError.ProductId !== '' ?\r\n
{this.state.formError.ProductId}
: ''}\r\n
\r\n\r\n {/*
\r\n \r\n {this.state.formError.FromNo !== '' ?\r\n
{this.state.formError.FromNo}
: ''}\r\n
*/}\r\n
\r\n \r\n {/* {this.state.formError.FrmNo !== '' ?\r\n
{this.state.formError.FrmNo}
: ''} */}\r\n
\r\n {/*
\r\n \r\n {this.state.formError.ToNo !== '' ?\r\n
{this.state.formError.ToNo}
: ''}\r\n
*/}\r\n
\r\n \r\n {/* {this.state.formError.ToNo !== '' ?\r\n
{this.state.formError.ToNo}
: ''} */}\r\n
\r\n
\r\n \r\n {this.state.formError.Qty !== '' ?\r\n
{this.state.formError.Qty}
: ''}\r\n
\r\n
\r\n
\r\n
\r\n Note: Fields marked as (*) are required\r\n
\r\n
\r\n
\r\n
\r\n\r\n this.setState({ displayConfirmation: false })}>\r\n
\r\n \r\n Are you sure you want to InActive?\r\n
\r\n
\r\n\r\n
\r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n MappingData: state.mapping.items,\r\n ProductData: (typeof (state.product.prdctddl) !== \"undefined\" && state.product.prdctddl !== null) === true ? state.product?.prdctddl : null,\r\n\r\n MaxFromNo: state.mapping?.issueData?.ToNo == null ? 1 : (state.mapping?.issueData?.ToNo + 1),\r\n showDialog: state.mapping.showDialog\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchApi: (obj) => {\r\n dispatch(mappingActions.getAll(obj))\r\n },\r\n fetchProductApi: (obj) => {\r\n dispatch(productMasterActions.getProductName(obj))\r\n },\r\n getToNumber: () => {\r\n dispatch(mappingActions.GetToNo())\r\n },\r\n createMapping: machine => dispatch(mappingActions.createMapping(machine)),\r\n updateMapping: machine => dispatch(mappingActions.updateMapping(machine)),\r\n onHideShow: isbool => dispatch(mappingActions.onHideShow(isbool)),\r\n getPrdctDDL: () => dispatch(productMasterActions.getPrdctDDL())\r\n }\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Mapping)","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport Select from '@material-ui/core/Select';\r\nimport { connect } from 'react-redux';\r\nimport Moment from 'react-moment';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport { demappingActions, mappingActions, productMasterActions } from '../../actions';\r\nimport tableRequest from '../../models/tableRequest.js';\r\n// import Loaders from '../../templates/Loaders';\r\nimport Switch from '@material-ui/core/Switch';\r\n\r\nclass DeMapping extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n // this.statusBodyTemplate = this.statusBodyTemplate.bind(this);\r\n this.actionBodyTemplate = this.actionBodyTemplate.bind(this);\r\n this.exportCSV = this.exportCSV.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.resetForm = this.resetForm.bind(this);\r\n this.CreatedDtTemplate = this.CreatedDtTemplate.bind(this);\r\n this.UpdatedDtTemplate = this.UpdatedDtTemplate.bind(this);\r\n this.switchToggleConfirm = this.switchToggleConfirm.bind(this);\r\n this.onHide = this.onHide.bind(this);\r\n this.openDialog = this.openDialog.bind(this);\r\n this.state = {\r\n loading: false,\r\n confirm: false,\r\n buttonLabel: 'Submit',\r\n formHeading: 'Add Mapping',\r\n displayModal: false,\r\n switchAction: false,\r\n showSnackbar: false,\r\n displayConfirmation: false,\r\n ProductName: '',\r\n refrenceFromNo: 0,\r\n refrenceToNo: 0,\r\n updateLoader: false,\r\n MappingId: 0,\r\n CreatedDt: null,\r\n UpdatedDt: null,\r\n ProductId: 0,\r\n DamageId: 0,\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n Reason: '',\r\n IsActive: true,\r\n formError: {\r\n ProductName: '',\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n Reason: '',\r\n CreatedDt: null,\r\n UpdatedDt: null,\r\n\r\n }\r\n };\r\n }\r\n //to trigger api on page call\r\n componentDidMount() {\r\n \r\n this.props.fetchApi(this.tblResponse);\r\n this.setState({ updateLoader: true })\r\n\r\n }\r\n\r\n getLazyLoadingValues(event) {\r\n \r\n this.setState({ rows: event.rows });\r\n this.tblResponse.PageSize = event.rows;\r\n this.tblResponse.First = event.first + 1;\r\n this.tblResponse.IsActive = true;\r\n this.tblResponse.SearchValue = event.globalFilter ? event.globalFilter : \"\";\r\n //this.tblResponse.SortColumn = event.sortField;\r\n this.tblResponse.SortOrder = event.sortOrder === 1 ? 'ASC' : 'DESC';\r\n }\r\n onPage(event) {\r\n this.setState({\r\n loading: true\r\n });\r\n\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n this.getLazyLoadingValues(event);\r\n this.props.fetchApi(this.tblResponse);\r\n }, 250);\r\n }\r\n\r\n getDropValue() {\r\n // let productId = '';\r\n // this.props.ProductData.filter(x => {\r\n // if (x.ProductId === this.state.ProductId) {\r\n // productId = x.ProductId;\r\n // }\r\n // });\r\n\r\n // return productId;\r\n }\r\n //to manage switch toggle confirm box\r\n switchToggleConfirm = (e) => {\r\n \r\n this.setState({ confirm: true, displayConfirmation: false })\r\n const formData = {\r\n MachineId: this.state.MachineId\r\n }\r\n this.props.inActiveRow(this.state.MachineId);\r\n }\r\n //to handle form\r\n handleChange(event) {\r\n let { name, value } = event.target;\r\n let errors = this.state.formError;\r\n // switch (name) {\r\n // case 'IsActive':\r\n // value = event.target.checked;\r\n // break;\r\n // default:\r\n // break;\r\n // }\r\n this.validateForm(value, name);\r\n this.setState({ errors, [name]: value });\r\n }\r\n //to validate form data\r\n validateForm(value, name) {\r\n \r\n let errors = this.state.formError;\r\n let IsValid = true;\r\n\r\n switch (name) {\r\n case 'FromNo':\r\n if (value < 1) {\r\n IsValid = false;\r\n errors.FromNo = \"Please enter your from number.\";\r\n } else {\r\n if (!value.toString().match(/^[0-9]+$/)) {\r\n IsValid = false;\r\n errors.FromNo = \"Please enter only number.\";\r\n this.setState({ Qty: 0 })\r\n } else {\r\n errors.FromNo = null;\r\n errors.ToNo = null;\r\n errors.Qty = null;\r\n const fromNumber = value.toString() === '' ? 0 : parseInt(value.toString());\r\n const toNumber = this.state.ToNo === '' ? 0 : parseInt(this.state.ToNo);\r\n if (fromNumber >= this.state.refrenceFromNo && fromNumber <= this.state.refrenceToNo && toNumber >= this.state.refrenceFromNo && toNumber <= this.state.refrenceToNo) {\r\n if (fromNumber <= toNumber) {\r\n const qty = (toNumber - fromNumber) + 1;\r\n if (qty >= 0) {\r\n this.setState({ Qty: qty })\r\n } else {\r\n IsValid = false;\r\n errors.FromNo = \"From No. should be less than to number.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n } else {\r\n IsValid = false;\r\n errors.FromNo = \"From No. should be less than to number.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n } else {\r\n IsValid = false;\r\n errors.FromNo = \"From No. should be less than To no. and numbers must exist between mapped series\";\r\n this.setState({ Qty: 0 })\r\n }\r\n }\r\n }\r\n break;\r\n case 'ToNo':\r\n\r\n if (value < 1) {\r\n IsValid = false;\r\n errors.ToNo = \"Please enter your to number.\";\r\n } else {\r\n if (!value.toString().match(/^[0-9]+$/.exec(value))) {\r\n IsValid = false;\r\n errors.FromNo = \"Please enter only number.\";\r\n this.setState({ Qty: 0 })\r\n } else {\r\n errors.FromNo = null;\r\n errors.ToNo = null;\r\n errors.Qty = null;\r\n const toNumber = value.toString() === '' ? 0 : parseInt(value.toString());\r\n const fromNumber = this.state.FromNo === '' ? 0 : parseInt(this.state.FromNo);\r\n if (fromNumber >= this.state.refrenceFromNo && fromNumber <= this.state.refrenceToNo && toNumber >= this.state.refrenceFromNo && toNumber <= this.state.refrenceToNo) {\r\n if (fromNumber <= toNumber) {\r\n const qty = (toNumber - fromNumber) + 1;\r\n if (qty >= 0) {\r\n this.setState({ Qty: qty })\r\n } else {\r\n IsValid = false;\r\n errors.ToNo = \"To No. should be greater than from number.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n } else {\r\n IsValid = false;\r\n errors.ToNo = \"To No. should be greater than from number.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n } else {\r\n IsValid = false;\r\n errors.ToNo = \"To No. should be greater than from no. and numbers must exist between mapped series.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n }\r\n }\r\n break;\r\n case 'Qty':\r\n if (value < 1) {\r\n IsValid = false;\r\n errors.Qty = \"Please enter your quantity\";\r\n }\r\n else errors.Qty = null;\r\n break;\r\n\r\n\r\n\r\n default:\r\n break;\r\n }\r\n\r\n return IsValid;\r\n }\r\n //to get current date\r\n getCurrentDateMMDDYYY() {\r\n var today = new Date();\r\n var dd = String(today.getDate()).padStart(2, '0');\r\n var mm = String(today.getMonth() + 1).padStart(2, '0');\r\n var yyyy = today.getFullYear();\r\n\r\n today = mm + '/' + dd + '/' + yyyy;\r\n return today;\r\n }\r\n //to submit form data\r\n submitForm(event) {\r\n \r\n event.preventDefault();\r\n let isfrmvalid = true;\r\n let checkerror = this.state.formError;\r\n\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key]\r\n let valid = this.validateForm(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfrmvalid });\r\n isfrmvalid = false;\r\n }\r\n return isfrmvalid;\r\n });\r\n\r\n if (isfrmvalid) {\r\n const ddlValu = this.getDropValue();\r\n\r\n const formData = {\r\n MappingId: this.state.MappingId,\r\n FromNo: this.state.FromNo,\r\n ToNo: this.state.ToNo,\r\n Qty: this.state.Qty,\r\n CreatedBy: JSON.parse(sessionStorage.getItem(\"UserData\")),\r\n\r\n }\r\n this.setState({ updateLoader: false })\r\n\r\n if (this.state.MappingId == 0) {\r\n this.props.createDemapping(formData);\r\n this.props.fetchApi();\r\n\r\n this.setState({\r\n displayModal: false,\r\n updateLoader: true\r\n });\r\n this.resetForm();\r\n }\r\n else {\r\n \r\n this.props.createDemapping(formData);\r\n this.props.fetchApi();\r\n\r\n this.setState({\r\n displayModal: false,\r\n updateLoader: true\r\n\r\n });\r\n this.resetForm();\r\n }\r\n }\r\n }\r\n\r\n //to reset form\r\n resetForm() {\r\n this.setState({\r\n DamageId: 0,\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n Reason: '',\r\n formError: {\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n Reason: ''\r\n }\r\n });\r\n\r\n let errors = this.state.formError;\r\n Object.entries(errors).map(([key]) => {\r\n errors[key] = '';\r\n return errors[key];\r\n });\r\n }\r\n //to hide function\r\n onHide() {\r\n this.resetForm();\r\n //this.setState({ displayModal: false })\r\n this.props.onHideShow(false);\r\n }\r\n openDialog() {\r\n this.props.onHideShow(true);\r\n this.setState({ buttonLabel: 'Demap', formHeading: 'Demap'})\r\n }\r\n\r\n //to get format of date\r\n UpdatedDtTemplate(rowData) {\r\n if (rowData.UpdatedDt !== null) {\r\n return (\r\n {rowData.UpdatedDt}\r\n )\r\n }\r\n }\r\n //to get format of date\r\n CreatedDtTemplate(rowData) {\r\n if (rowData.CreatedDt !== null) {\r\n\r\n return (\r\n {rowData.CreatedDt}\r\n )\r\n }\r\n }\r\n //to disable checkbox\r\n // statusBodyTemplate(rowData) {\r\n // return (\r\n // \r\n // )\r\n // } \r\n //to edit rowdata\r\n actionBodyTemplate(rowData) {\r\n const editMode = (e) => {\r\n this.setState({ \r\n ProductId: rowData.ProductId,\r\n ProductName: rowData.ProductName,\r\n MappingId: rowData.MappingId,\r\n FromNo: rowData.FromNo,\r\n ToNo: rowData.ToNo,\r\n Qty: rowData.Qty,\r\n refrenceFromNo: rowData.FromNo,\r\n refrenceToNo: rowData.ToNo\r\n });\r\n }\r\n return (\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 { this.dt = el; }} header={header} globalFilter={this.state.globalFilter} className=\"p-datatable-customers\" rowHover={true} loading={this.state.loading} emptyMessage=\"No data found.\" sortMode=\"multiple\" paginator\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\" rows={10} rowsPerPageOptions={[10, 20, 50]} >\r\n {/* */}\r\n \r\n \r\n \r\n \r\n\r\n\r\n {/* \r\n */}\r\n {/* */}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {/*
\r\n \r\n Select Product\r\n \r\n \r\n {this.state.formError.ProductId !== '' ?\r\n
{this.state.formError.ProductId}
: ''}\r\n
*/}\r\n\r\n
\r\n \r\n {this.state.formError.FromNo !== '' ?\r\n
{this.state.formError.FromNo}
: ''}\r\n
\r\n
\r\n \r\n {this.state.formError.ToNo !== '' ?\r\n
{this.state.formError.ToNo}
: ''}\r\n
\r\n
\r\n \r\n {this.state.formError.Qty !== '' ?\r\n
{this.state.formError.Qty}
: ''}\r\n
\r\n\r\n
\r\n
\r\n
\r\n Note: Fields marked as (*) are required\r\n
\r\n
\r\n
\r\n
\r\n\r\n this.setState({ displayConfirmation: false })}>\r\n
\r\n \r\n Are you sure you want to InActive?\r\n
\r\n
\r\n\r\n
\r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n MappingData: state.demapping.items,\r\n ProductData: state.product.items,\r\n showDialog: state.demapping.showDialog\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchApi: (obj) => {\r\n dispatch(demappingActions.getAll(obj))\r\n },\r\n fetchProductApi: () => {\r\n dispatch(productMasterActions.getProductName())\r\n },\r\n createDemapping: machine => dispatch(demappingActions.createDemapping(machine)),\r\n onHideShow: isbool => dispatch(demappingActions.onHideShow(isbool))\r\n\r\n }\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DeMapping)","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport Select from '@material-ui/core/Select';\r\nimport { connect } from 'react-redux';\r\nimport Moment from 'react-moment';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport { damageActions, mappingActions, productMasterActions } from '../../actions';\r\nimport tableRequest from '../../models/tableRequest.js';\r\n// import Loaders from '../../templates/Loaders';\r\nimport Switch from '@material-ui/core/Switch';\r\n\r\nclass Damage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n // this.statusBodyTemplate = this.statusBodyTemplate.bind(this);\r\n this.actionBodyTemplate = this.actionBodyTemplate.bind(this);\r\n this.exportCSV = this.exportCSV.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.resetForm = this.resetForm.bind(this);\r\n this.CreatedDtTemplate = this.CreatedDtTemplate.bind(this);\r\n this.UpdatedDtTemplate = this.UpdatedDtTemplate.bind(this);\r\n this.switchToggleConfirm = this.switchToggleConfirm.bind(this);\r\n this.onHide = this.onHide.bind(this);\r\n this.state = {\r\n loading: false,\r\n confirm: false,\r\n buttonLabel: 'Submit',\r\n formHeading: 'Add Mapping',\r\n displayModal: false,\r\n switchAction: false,\r\n showSnackbar: false,\r\n displayConfirmation: false,\r\n updateLoader: false,\r\n IssueId: 0,\r\n PlantId: '',\r\n BatchNo: '',\r\n CreatedDt: null,\r\n UpdatedDt: null,\r\n DamageId: 0,\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n refrenceFromNo: 0,\r\n refrenceToNo: 0,\r\n Reason: '',\r\n IsActive: true,\r\n formError: {\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n Reason: '',\r\n CreatedDt: null,\r\n UpdatedDt: null,\r\n\r\n }\r\n };\r\n }\r\n //to trigger api on page call\r\n componentDidMount() {\r\n\r\n this.props.fetchApi(this.tblResponse);\r\n this.setState({ updateLoader: true })\r\n\r\n }\r\n\r\n getLazyLoadingValues(event) {\r\n\r\n this.setState({ rows: event.rows });\r\n this.tblResponse.PageSize = event.rows;\r\n this.tblResponse.First = event.first + 1;\r\n this.tblResponse.IsActive = true;\r\n this.tblResponse.SearchValue = event.globalFilter ? event.globalFilter : \"\";\r\n //this.tblResponse.SortColumn = event.sortField;\r\n this.tblResponse.SortOrder = event.sortOrder === 1 ? 'ASC' : 'DESC'\r\n }\r\n onPage(event) {\r\n this.setState({\r\n loading: true\r\n });\r\n\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n this.getLazyLoadingValues(event);\r\n this.props.fetchApi(this.tblResponse);\r\n }, 250);\r\n }\r\n\r\n\r\n getDropValue() {\r\n // let productId = '';\r\n // this.props.ProductData.filter(x => {\r\n // if (x.ProductId === this.state.ProductId) {\r\n // productId = x.ProductId;\r\n // }\r\n // });\r\n\r\n // return productId;\r\n }\r\n //to manage switch toggle confirm box\r\n switchToggleConfirm = (e) => {\r\n\r\n this.setState({ confirm: true, displayConfirmation: false })\r\n const formData = {\r\n MachineId: this.state.MachineId\r\n }\r\n this.props.inActiveRow(this.state.MachineId);\r\n }\r\n //to handle form\r\n handleChange(event) {\r\n let { name, value } = event.target;\r\n let errors = this.state.formError;\r\n // switch (name) {\r\n // case 'IsActive':\r\n // value = event.target.checked;\r\n // break;\r\n // default:\r\n // break;\r\n // }\r\n this.validateForm(value, name);\r\n this.setState({ errors, [name]: value });\r\n }\r\n //to validate form data\r\n validateForm(value, name) {\r\n let errors = this.state.formError;\r\n let IsValid = true;\r\n\r\n switch (name) {\r\n case 'Reason':\r\n if (!value) {\r\n IsValid = false;\r\n errors.Reason = \"Please enter Reason\";\r\n } else errors.Reason = ''\r\n break;\r\n case 'FromNo':\r\n if (value < 1) {\r\n IsValid = false;\r\n errors.FromNo = \"Please enter your from number.\";\r\n } else {\r\n if (!value.toString().match(/^[0-9]+$/)) {\r\n IsValid = false;\r\n errors.FromNo = \"Please enter only number.\";\r\n this.setState({ Qty: 0 })\r\n } else {\r\n errors.FromNo = null;\r\n errors.ToNo = null;\r\n errors.Qty = null;\r\n const fromNumber = value.toString() === '' ? 0 : parseInt(value.toString());\r\n const toNumber = this.state.ToNo === '' ? 0 : parseInt(this.state.ToNo);\r\n if (fromNumber >= this.state.refrenceFromNo && fromNumber <= this.state.refrenceToNo && toNumber >= this.state.refrenceFromNo && toNumber <= this.state.refrenceToNo) {\r\n if (fromNumber <= toNumber) {\r\n const qty = (toNumber - fromNumber) + 1;\r\n if (qty >= 0) {\r\n this.setState({ Qty: qty })\r\n } else {\r\n IsValid = false;\r\n errors.FromNo = \"From No. should be less than to number.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n } else {\r\n IsValid = false;\r\n errors.FromNo = \"From No. should be less than to number.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n } else {\r\n IsValid = false;\r\n errors.FromNo = \"From No. should be less than To no. and numbers must exist between mapped series\";\r\n this.setState({ Qty: 0 })\r\n }\r\n }\r\n }\r\n break;\r\n case 'ToNo':\r\n\r\n if (value < 1) {\r\n IsValid = false;\r\n errors.ToNo = \"Please enter your to number.\";\r\n } else {\r\n if (!value.toString().match(/^[0-9]+$/.exec(value))) {\r\n IsValid = false;\r\n errors.FromNo = \"Please enter only number.\";\r\n this.setState({ Qty: 0 })\r\n } else {\r\n errors.FromNo = null;\r\n errors.ToNo = null;\r\n errors.Qty = null;\r\n const toNumber = value.toString() === '' ? 0 : parseInt(value.toString());\r\n const fromNumber = this.state.FromNo === '' ? 0 : parseInt(this.state.FromNo);\r\n if (fromNumber >= this.state.refrenceFromNo && fromNumber <= this.state.refrenceToNo && toNumber >= this.state.refrenceFromNo && toNumber <= this.state.refrenceToNo) {\r\n if (fromNumber <= toNumber) {\r\n const qty = (toNumber - fromNumber) + 1;\r\n if (qty >= 0) {\r\n this.setState({ Qty: qty })\r\n } else {\r\n IsValid = false;\r\n errors.ToNo = \"To No. should be greater than from number.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n } else {\r\n IsValid = false;\r\n errors.ToNo = \"To No. should be greater than from number.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n } else {\r\n IsValid = false;\r\n errors.ToNo = \"To No. should be greater than from no. and numbers must exist between mapped series.\";\r\n this.setState({ Qty: 0 })\r\n }\r\n }\r\n }\r\n break;\r\n case 'Qty':\r\n if (value < 1) {\r\n IsValid = false;\r\n errors.Qty = \"Please enter your quantity\";\r\n }\r\n else errors.Qty = null;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return IsValid;\r\n }\r\n //to get current date\r\n getCurrentDateMMDDYYY() {\r\n var today = new Date();\r\n var dd = String(today.getDate()).padStart(2, '0');\r\n var mm = String(today.getMonth() + 1).padStart(2, '0');\r\n var yyyy = today.getFullYear();\r\n\r\n today = mm + '/' + dd + '/' + yyyy;\r\n return today;\r\n }\r\n //to submit form data\r\n submitForm(event) {\r\n\r\n event.preventDefault();\r\n let isfrmvalid = true;\r\n let checkerror = this.state.formError;\r\n\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key]\r\n let valid = this.validateForm(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfrmvalid });\r\n isfrmvalid = false;\r\n }\r\n return isfrmvalid;\r\n });\r\n\r\n if (isfrmvalid) {\r\n const ddlValu = this.getDropValue();\r\n\r\n const formData = {\r\n PlantId: this.state.PlantId,\r\n BatchNo: this.state.BatchNo,\r\n IssueId: this.state.IssueId,\r\n FromNo: this.state.FromNo,\r\n ToNo: this.state.ToNo,\r\n Qty: this.state.Qty,\r\n Reason: this.state.Reason,\r\n CreatedBy: JSON.parse(sessionStorage.getItem(\"UserData\")),\r\n UpdatedBy: JSON.parse(sessionStorage.getItem(\"UserData\"))\r\n }\r\n this.setState({ updateLoader: false })\r\n\r\n if (this.state.IssueId == 0) {\r\n this.props.createDamage(formData);\r\n this.props.fetchApi();\r\n\r\n this.setState({\r\n updateLoader: true\r\n });\r\n }\r\n else {\r\n this.props.createDamage(formData);\r\n this.props.fetchApi();\r\n\r\n this.setState({\r\n updateLoader: true\r\n });\r\n }\r\n }\r\n }\r\n\r\n //to reset form\r\n resetForm() {\r\n this.setState({\r\n IssueId: 0,\r\n DamageId: 0,\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n Reason: '',\r\n formError: {\r\n FromNo: '',\r\n ToNo: '',\r\n Qty: '',\r\n Reason: ''\r\n }\r\n });\r\n\r\n let errors = this.state.formError;\r\n Object.entries(errors).map(([key]) => {\r\n errors[key] = '';\r\n return errors[key];\r\n });\r\n }\r\n //to hide function\r\n\r\n onHide() {\r\n this.resetForm();\r\n //this.setState({ displayModal: false })\r\n this.props.onHideShow(false);\r\n }\r\n openDialog(batchNo) {\r\n this.props.onHideShow(true);\r\n //console.log(this.state.BatchNo);\r\n var formheadings = (
Damage
)\r\n //var formheadings = (
Damage
Batch No- {batchNo}
)\r\n this.setState({ buttonLabel: 'Damage', formHeading: formheadings })\r\n }\r\n\r\n //to get format of date\r\n UpdatedDtTemplate(rowData) {\r\n if (rowData.UpdatedDt !== null) {\r\n return (\r\n {rowData.UpdatedDt}\r\n )\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.BatchDetails !== this.props.BatchDetails) {\r\n // this.props.myProp has a different value\r\n if (this.props.BatchDetails) {\r\n var e = this.props.BatchDetails;\r\n this.setState({\r\n PlantId: e.PlantId,\r\n BatchNo: e.Batch,\r\n FromNo: e.FromNo,\r\n ToNo: e.ToNo,\r\n Qty: e.Qty,\r\n refrenceFromNo: e.FromNo,\r\n refrenceToNo: e.ToNo\r\n });\r\n }\r\n }\r\n }\r\n\r\n //to get format of date\r\n CreatedDtTemplate(rowData) {\r\n if (rowData.CreatedDt !== null) {\r\n\r\n return (\r\n {rowData.CreatedDate}\r\n )\r\n }\r\n }\r\n //to disable checkbox\r\n // statusBodyTemplate(rowData) {\r\n // return (\r\n // \r\n // )\r\n // } \r\n //to edit rowdata\r\n actionBodyTemplate(rowData) {\r\n const editMode = (e) => {\r\n this.setState({\r\n PlantId: rowData.PlantId,\r\n BatchNo: rowData.BatchNo,\r\n IssueId: rowData.IssueId,\r\n FromNo: rowData.FromNo,\r\n ToNo: rowData.ToNo,\r\n Qty: rowData.IssueQty,\r\n Reason: rowData.Reason,\r\n refrenceFromNo: rowData.FromNo,\r\n refrenceToNo: rowData.ToNo\r\n\r\n });\r\n }\r\n return (\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 { this.dt = el; }} header={header} globalFilter={this.state.globalFilter} className=\"p-datatable-customers\" rowHover={true} loading={this.state.loading} emptyMessage=\"No data found.\" sortMode=\"multiple\" paginator\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\" rows={10} rowsPerPageOptions={[10, 20, 50]} >\r\n {/* */}\r\n {/* */}\r\n \r\n \r\n \r\n \r\n {/* */}\r\n {/* */}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {/*
\r\n \r\n Select Product\r\n \r\n \r\n {this.state.formError.ProductId !== '' ?\r\n
{this.state.formError.ProductId}
: ''}\r\n
*/}\r\n\r\n
\r\n \r\n {this.state.formError.FromNo !== '' ?\r\n
{this.state.formError.FromNo}
: ''}\r\n
\r\n
\r\n \r\n {this.state.formError.ToNo !== '' ?\r\n
{this.state.formError.ToNo}
: ''}\r\n
\r\n
\r\n \r\n {this.state.formError.Qty !== '' ?\r\n
{this.state.formError.Qty}
: ''}\r\n
\r\n
\r\n \r\n {this.state.formError.Reason !== '' ?\r\n
{this.state.formError.Reason}
: ''}\r\n
\r\n
\r\n
\r\n
\r\n Note: Fields marked as (*) are required\r\n
\r\n
\r\n
\r\n
\r\n\r\n this.setState({ displayConfirmation: false })}>\r\n
\r\n \r\n Are you sure you want to InActive?\r\n
\r\n
\r\n\r\n
\r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n //console.log('state.damage.items', state.damage.items);\r\n return {\r\n MappingData: state.damage.items,\r\n ProductData: state.product.items,\r\n showDialog: state.damage.showDialog\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchApi: (obj) => {\r\n dispatch(damageActions.getAll(obj))\r\n },\r\n fetchProductApi: () => {\r\n dispatch(productMasterActions.getProductName())\r\n },\r\n createDamage: machine => dispatch(damageActions.createDamage(machine)),\r\n updateDamage: machine => dispatch(damageActions.updateDamage(machine)),\r\n onHideShow: isbool => dispatch(damageActions.onHideShow(isbool))\r\n\r\n }\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Damage)","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport Select from '@material-ui/core/Select';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport { connect } from 'react-redux';\r\nimport Moment from 'react-moment';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport { roleMasterActions, userMasterActions } from '../../actions';\r\nimport tableRequest from '../../models/tableRequest';\r\n// import { userTypeMasterActions } from '../../actions';\r\nimport Switch from '@material-ui/core/Switch';\r\n\r\nclass userMaster extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n this.statusBodyTemplate = this.statusBodyTemplate.bind(this);\r\n this.actionBodyTemplate = this.actionBodyTemplate.bind(this);\r\n this.switchToggleConfirm = this.switchToggleConfirm.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.openDialog = this.openDialog.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.CreatedDateTemplate = this.CreatedDateTemplate.bind(this);\r\n this.UpdatedDateTemplate = this.UpdatedDateTemplate.bind(this)\r\n this.resetForm = this.resetForm.bind(this);\r\n this.onHide = this.onHide.bind(this);\r\n this.getRoleDDL = this.getRoleDDL.bind(this);\r\n this.state = {\r\n loading: false,\r\n buttonLabel: 'Submit',\r\n switchAction: false,\r\n formHeading: 'Add User Master',\r\n UserId: 0,\r\n RoleId: 0,\r\n UserTypeId: '',\r\n UserName: '',\r\n Email: '',\r\n MobileNo: '',\r\n Password: '',\r\n ConfirmPassword: '',\r\n IsActive: true,\r\n CreatedDate: null,\r\n UpdatedDate: null,\r\n formError: {\r\n UserName: '',\r\n UserTypeId: '',\r\n Email: '',\r\n MobileNo: '',\r\n Password: '',\r\n ConfirmPassword: '',\r\n RoleId: ''\r\n }\r\n };\r\n }\r\n componentDidMount() {\r\n this.props.fetchApi(this.tblResponse);\r\n this.props.getRoleDDL();\r\n }\r\n\r\n switchToggleConfirm = (e) => {\r\n this.setState({ confirm: true, displayConfirmation: false })\r\n const formData = {\r\n UserId: this.state.UserId\r\n }\r\n this.props.inActiveRow(this.state.UserId);\r\n }\r\n handleChange(event) {\r\n let { name, value } = event.target;\r\n let errors = this.state.formError;\r\n switch (name) {\r\n case 'IsActive':\r\n value = event.target.checked;\r\n break;\r\n default:\r\n break;\r\n }\r\n this.validateForm(value, name);\r\n this.setState({ errors, [name]: value });\r\n }\r\n UpdatedDateTemplate(rowData) {\r\n if (rowData.UpdatedDate !== null) {\r\n return (\r\n {rowData.UpdatedDate}\r\n )\r\n }\r\n else {\r\n\r\n }\r\n }\r\n\r\n CreatedDateTemplate(rowData) {\r\n if (rowData.UpdatedDate !== null) {\r\n\r\n return (\r\n {rowData.CreatedDate}\r\n )\r\n }\r\n }\r\n validateForm(value, name) {\r\n let errors = this.state.formError;\r\n let IsValid = true;\r\n switch (name) {\r\n case 'UserName':\r\n if (value.length < 1) {\r\n IsValid = false;\r\n errors.UserName = \"Please enter user name.\";\r\n } else errors.UserName = ''\r\n break;\r\n // case 'UserTypeId':\r\n // if (value.length < 1) {\r\n // IsValid = false;\r\n // errors.UserTypeId = \"Please select user type.\";\r\n // } else errors.UserTypeId = ''\r\n // break;\r\n case 'RoleId':\r\n if (!value) {\r\n IsValid = false;\r\n errors.RoleId = \"Please select user role.\";\r\n } else errors.RoleId = ''\r\n break;\r\n // case 'FirstName':\r\n // if (value.length < 1) {\r\n // IsValid = false;\r\n // errors.FirstName = \"Please enter your first name.\";\r\n // }\r\n // else if (value.length >= 1) {\r\n // if (!value.match(/^[A-Za-z]+$/)) {\r\n // IsValid = false;\r\n // errors.FirstName = \"FirstName should be alpha only.\"\r\n // } else errors.FirstName = ''\r\n // }\r\n // else errors.FirstName = ''\r\n // break;\r\n // case 'LastName':\r\n // if (value.length < 1) {\r\n // IsValid = false;\r\n // errors.LastName = \"Please enter your last name.\";\r\n // }\r\n // else if (value.length >= 1) {\r\n // if (!value.match(/^[A-Za-z]+$/)) {\r\n // IsValid = false;\r\n // errors.LastName = \"LastName should be alpha only.\"\r\n // } else errors.LastName = ''\r\n // }\r\n // else errors.LastName = ''\r\n // break;\r\n case 'Email':\r\n if (value.length < 1) {\r\n IsValid = false;\r\n errors.Email = \"Please enter email-id.\";\r\n }\r\n else if (value.length >= 1) {\r\n /* eslint-disable */\r\n if (!value.match(/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/)) {\r\n IsValid = false;\r\n errors.Email = \"Please enter valid email-id.\";\r\n } else errors.Email = ''\r\n /* eslint-enable */\r\n } else errors.Email = ''\r\n break;\r\n case 'MobileNo':\r\n if (value.length < 1) {\r\n IsValid = false;\r\n errors.MobileNo = \"Please enter mobile no.\";\r\n }\r\n else if (value.length >= 1) {\r\n if (!value.match(/^[6-9]\\d{9}$/)) {\r\n IsValid = true;\r\n errors.MobileNo = \"Please enter valid mobile no.\";\r\n } else errors.MobileNo = ''\r\n } else errors.MobileNo = ''\r\n break;\r\n case 'Password':\r\n if (value.length < 1) {\r\n IsValid = false;\r\n errors.Password = \"Please enter password.\";\r\n }\r\n else if (!value.match(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).{4,20}$/)) {\r\n IsValid = false;\r\n errors.Password = \"Password should be minimum 4 characters long, 1 uppercase & 1 lowercase character with 1 number.\";\r\n }\r\n else if (value.length >= 1 && this.state.ConfirmPassword.length >= 1) {\r\n errors.Password = '';\r\n errors.ConfirmPassword = '';\r\n if (!(value === this.state.ConfirmPassword)) {\r\n IsValid = false;\r\n errors.Password = \"password does not match\";\r\n } else errors.Password = ''\r\n } else errors.Password = ''\r\n break;\r\n\r\n case 'ConfirmPassword':\r\n if (value.length < 1) {\r\n IsValid = false;\r\n errors.ConfirmPassword = \"Please enter confirm password.\";\r\n }\r\n else if (!value.match(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).{4,20}$/)) {\r\n IsValid = false;\r\n errors.ConfirmPassword = \"Password should be minimum 4 characters long, 1 uppercase & 1 lowercase character with 1 number.\";\r\n }\r\n else if (value.length >= 1 && this.state.Password.length >= 1) {\r\n errors.Password = '';\r\n errors.ConfirmPassword = '';\r\n if (!(value === this.state.Password)) {\r\n IsValid = false;\r\n errors.ConfirmPassword = \"Confirm password does not match\";\r\n } else errors.ConfirmPassword = ''\r\n } else errors.ConfirmPassword = ''\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return IsValid;\r\n }\r\n\r\n getDropValueOfRole() {\r\n let roleName = '';\r\n this.props.UserRoleData.filter(x => {\r\n if (x.value === this.state.RoleId.toString()) {\r\n roleName = x.label;\r\n }\r\n });\r\n\r\n return roleName;\r\n }\r\n\r\n submitForm(event) {\r\n ;\r\n event.preventDefault();\r\n let isfrmvalid = true;\r\n let checkerror = this.state.formError;\r\n\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key]\r\n let valid = this.validateForm(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfrmvalid });\r\n isfrmvalid = false;\r\n }\r\n return isfrmvalid;\r\n });\r\n\r\n if (isfrmvalid) {\r\n ;\r\n const ddlValuRole = this.getDropValueOfRole();\r\n const formData = {\r\n UserId: this.state.UserId,\r\n RoleId: this.state.RoleId,\r\n UserName: this.state.UserName,\r\n Email: this.state.Email,\r\n MobileNo: this.state.MobileNo,\r\n Password: this.state.Password,\r\n IsActive: this.state.IsActive,\r\n CreatedDate: this.state.UserId > 0 ? this.state.CreatedDate : this.getCurrentDateMMDDYYY(),\r\n UpdatedDate: this.state.UserId > 0 ? this.getCurrentDateMMDDYYY() : null,\r\n RoleName: ddlValuRole != null ? ddlValuRole : \"\"\r\n }\r\n if (formData.UserId > 0) {\r\n this.props.updateUser(formData);\r\n }\r\n else {\r\n this.props.createUser(formData);\r\n }\r\n\r\n if (!this.props.showDialog) {\r\n this.resetForm();\r\n }\r\n }\r\n }\r\n\r\n getRoleDDL(event) {\r\n this.props.getRoleDDL();\r\n }\r\n resetForm() {\r\n this.setState({\r\n UserId: '',\r\n UserTypeId: '',\r\n UserName: '',\r\n Email: '',\r\n MobileNo: '',\r\n Password: '',\r\n ConfirmPassword: '',\r\n IsActive: true,\r\n formError: {\r\n UserName: '',\r\n UserTypeId: '',\r\n Email: '',\r\n MobileNo: '',\r\n Password: '',\r\n ConfirmPassword: '',\r\n }\r\n });\r\n\r\n let errors = this.state.formError;\r\n Object.entries(errors).map(([key]) => {\r\n errors[key] = '';\r\n return errors[key];\r\n });\r\n }\r\n\r\n onHide() {\r\n this.props.onHideShow(false);\r\n this.resetForm();\r\n }\r\n openDialog() {\r\n this.props.onHideShow(true);\r\n this.setState({ buttonLabel: 'Submit', formHeading: 'Add User' })\r\n }\r\n statusBodyTemplate(rowData) {\r\n\r\n if (rowData) {\r\n return (\r\n \r\n )\r\n }\r\n }\r\n getCurrentDateMMDDYYY() {\r\n var today = new Date();\r\n var dd = String(today.getDate()).padStart(2, '0');\r\n var mm = String(today.getMonth() + 1).padStart(2, '0');\r\n var yyyy = today.getFullYear();\r\n\r\n today = mm + '/' + dd + '/' + yyyy;\r\n return today;\r\n }\r\n actionBodyTemplate(rowData) {\r\n const editMode = (e) => {\r\n this.props.onHideShow(true);\r\n this.setState({\r\n buttonLabel: 'Update',\r\n formHeading: 'Update User Master',\r\n UserId: rowData.UserId,\r\n UserName: rowData.UserName,\r\n Email: rowData.Email,\r\n MobileNo: rowData.MobileNo,\r\n RoleId: rowData.RoleId,\r\n IsActive: rowData.IsActive,\r\n Password: rowData.Password,\r\n ConfirmPassword: rowData.Password,\r\n CreatedDate: rowData.CreatedDate\r\n });\r\n }\r\n const switchHandleChange = (e) => {\r\n this.setState({\r\n switchAction: !this.state.switchAction,\r\n UserId: rowData.UserId\r\n });\r\n if (!this.state.switchAction) {\r\n this.setState({\r\n displayConfirmation: true\r\n })\r\n }\r\n }\r\n if (rowData) {\r\n if (rowData.IsActive == true) {\r\n return (\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
\r\n { this.dt = el; }} header={header} globalFilter={this.state.globalFilter} className=\"p-datatable-customers\" rowHover={true} loading={this.state.loading} emptyMessage=\"No data found.\" sortMode=\"multiple\" paginator\r\n paginatorTemplate=\"CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\" rows={5} rowsPerPageOptions={[5, 10, 20, 50]} >\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n */}\r\n {/* */}\r\n \r\n {/* {dynamicColumns} */}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {this.state.formError.UserName !== '' ?\r\n
{this.state.formError.UserName}
: ''}\r\n
\r\n
\r\n \r\n Select User Role*\r\n \r\n \r\n {this.state.formError.RoleId !== '' ?\r\n
{this.state.formError.RoleId}
: ''}\r\n
\r\n
\r\n \r\n {this.state.formError.Email !== '' ?\r\n
{this.state.formError.Email}
: ''}\r\n
\r\n {/*
\r\n \r\n {this.state.formError.MobileNo !== '' ?\r\n
{this.state.formError.MobileNo}
: ''}\r\n
*/}\r\n
\r\n \r\n {this.state.formError.MobileNo !==\r\n '' ?\r\n
{this.state.formError.MobileNo}
: ''}\r\n
\r\n
\r\n \r\n {this.state.formError.Password !== '' ?\r\n
{this.state.formError.Password}
: ''}\r\n
\r\n
\r\n \r\n {this.state.formError.ConfirmPassword !== '' ?\r\n
{this.state.formError.ConfirmPassword}
: ''}\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n Note: Fields marked as (*) are required\r\n
\r\n
\r\n
\r\n
\r\n this.setState({ displayConfirmation: false })}>\r\n
\r\n \r\n Are you sure you want to InActive?\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n UserData: state.user.items,\r\n UserRoleData: state.role.rollddl,\r\n showDialog: state.role.showDialog\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchApi: (obj) => {\r\n dispatch(userMasterActions.getAll(obj))\r\n },\r\n fetchUserRole: () => {\r\n dispatch(roleMasterActions.getAll())\r\n },\r\n createUser: user => dispatch(userMasterActions.createUser(user)),\r\n updateUser: user => dispatch(userMasterActions.updateUser(user)),\r\n inActiveRow: user => dispatch(userMasterActions.inActiveRow(user)),\r\n onHideShow: isbool => dispatch(userMasterActions.onHideShow(isbool)),\r\n getRoleDDL: () => dispatch(roleMasterActions.getRoleDDL())\r\n }\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(userMaster)","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { Button } from \"primereact/button\";\r\nimport { alertActions, verificationLogActions } from \"../../actions\";\r\nimport { connect } from 'react-redux';\r\nimport tableRequest from '../../models/tableRequest.js';\r\nimport { Toast } from 'primereact/toast';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport Select from '@material-ui/core/Select';\r\nimport CsvDownloader from 'react-csv-downloader';\r\nimport { CSVLink } from \"react-csv\";\r\nimport { el } from 'date-fns/locale';\r\nimport ExcelFile from \"react-export-excel/dist/ExcelPlugin/components/ExcelFile\";\r\nimport ExcelSheet from \"react-export-excel/dist/ExcelPlugin/elements/ExcelSheet\";\r\nimport ExcelColumn from \"react-export-excel/dist/ExcelPlugin/elements/ExcelColumn\";\r\n\r\n\r\nclass VerificationLog extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.csvLink = React.createRef();\r\n this.tblResponse = new tableRequest();\r\n this.onPage = this.onPage.bind(this);\r\n this.onSort = this.onSort.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.FilterData = this.FilterData.bind(this);\r\n this.exportCSV = this.exportCSV.bind(this);\r\n this.searchFilter = this.searchFilter.bind(this);\r\n this.state = {\r\n loading: false,\r\n FromDate: new Date(),\r\n ToDate: new Date(),\r\n first: 0,\r\n rows: 10,\r\n totalRecords: 0,\r\n globalFilter: null,\r\n visible: false,\r\n sortOrder: '',\r\n datalist: [],\r\n headers: [\r\n { label: \"Part Number\", key: \"PartNo\" },\r\n { label: \"Part Description\", key: \"PartDescription\" },\r\n { label: \"Sequence No\", key: \"SeqNo\" },\r\n { label: \"Result Message\", key: \"StatusResult\" },\r\n { label: \"Scan Count\", key: \"ScanCount\" },\r\n { label: \"Mobile Number\", key: \"MobileNo\" },\r\n { label: \"Verification Mode\", key: \"VerificationMode\" },\r\n { label: \"Verified Date\", key: \"VerifiedDate\" },\r\n ]\r\n }\r\n }\r\n componentDidMount() {\r\n this.props.lodingData(true);\r\n var date = new Date();\r\n date.setDate(date.getDate() - 7);\r\n this.tblResponse.FromDate = date.toLocaleDateString();\r\n this.tblResponse.ToDate = new Date().toLocaleDateString();\r\n this.tblResponse.SortColumn = \"VerifiedDate\";\r\n this.setState({\r\n FromDate: date,\r\n ToDate: new Date()\r\n });\r\n this.props.fetchApi(this.tblResponse);\r\n\r\n }\r\n\r\n onChange = date => this.setState({ FromDate: '', ToDate: '' })\r\n\r\n FilterData() {\r\n debugger\r\n this.props.lodingData(true);\r\n this.tblResponse.FromDate = this.state.FromDate.toLocaleDateString();\r\n this.tblResponse.ToDate = this.state.ToDate.toLocaleDateString();\r\n this.props.fetchApi(this.tblResponse);\r\n\r\n }\r\n\r\n getCurrentDateYYYYMMDD(dt) {\r\n var dd = String(dt.getDate()).padStart(2, '0');\r\n var mm = String(dt.getMonth() + 1).padStart(2, '0');\r\n var yyyy = dt.getFullYear();\r\n\r\n dt = yyyy + '/' + mm + '/' + dd;\r\n return dt;\r\n }\r\n\r\n handleChange(event) {\r\n const { name, value } = event.target;\r\n switch (name) {\r\n case 'FromDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"Please select from date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select from date.', life: 3000 });\r\n\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.ToDate instanceof Date)) {\r\n const startDate = value;\r\n const endDate = this.state.ToDate;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'From date must be less than to date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"From date must be less than to date.\");\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n case 'ToDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select to date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please select to date.\");\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.FromDate instanceof Date)) {\r\n const startDate = this.state.FromDate;\r\n const endDate = value;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'To date must be greater than from date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"To date must be greater than from date.\");\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n this.setState({ [name]: value });\r\n }\r\n\r\n //to lazy load\r\n getLazyLoadingValues(event) {\r\n\r\n this.setState({ rows: event.rows, first: event.first });\r\n this.tblResponse.PageSize = event.rows;\r\n this.tblResponse.First = event.first + 1;\r\n this.tblResponse.IsActive = true;\r\n this.tblResponse.SearchValue = event.globalFilter ? event.globalFilter : \"\";\r\n this.tblResponse.SortColumn = event.sortField == undefined ? \"VerifiedDate\" : event.sortField;\r\n this.tblResponse.SortOrder = event.sortOrder === 1 ? 'ASC' : 'DESC';\r\n this.tblResponse.FromDate = this.state.FromDate.toLocaleDateString();\r\n this.tblResponse.ToDate = this.state.ToDate.toLocaleDateString();\r\n }\r\n\r\n onPage(event) {\r\n this.props.lodingData(true);\r\n\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n this.getLazyLoadingValues(event);\r\n this.props.fetchApi(this.tblResponse);\r\n\r\n }, 250);\r\n }\r\n\r\n //to search\r\n searchFilter(e) {\r\n this.props.lodingData(true);\r\n this.tblResponse.SearchValue = e.target.value;\r\n this.props.fetchApi(this.tblResponse);\r\n\r\n }\r\n onModeChange(e) {\r\n this.tblResponse.VM = e.target.value;\r\n }\r\n\r\n //to sort\r\n onSort(event) {\r\n this.props.lodingData(true);\r\n this.setState({ sortOrder: this.state.sortOrder === 1 ? 2 : 1 });\r\n const sortField = event.multiSortMeta[0].field === \"VerifiedDate\" ? \"VerifiedDate\" : event.multiSortMeta[0].field;\r\n this.tblResponse.SortColumn = sortField ? sortField : \"\";\r\n this.tblResponse.SortOrder = this.state.sortOrder === 1 ? 'DESC' : 'ASC';//this.state.sortOrder === 1 ? 'DESC' : 'ASC';\r\n this.props.fetchApi(this.tblResponse);\r\n\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.verificationList !== this.props.verificationList) {\r\n // this.props.myProp has a different value\r\n if (this.props.verificationList) {\r\n var e = this.props.verificationList;\r\n this.setState({\r\n totalRecords: e[0].TotalRows\r\n });\r\n } else {\r\n this.setState({\r\n totalRecords: 0\r\n });\r\n }\r\n }\r\n }\r\n\r\n exportCSV() {\r\n this.tblResponse.FromDate = this.state.FromDate;\r\n this.tblResponse.ToDate = this.state.ToDate;\r\n this.tblResponse.First = -1;\r\n this.tblResponse.PageSize = -1;\r\n this.props.exportData(this.tblResponse);\r\n setTimeout(() => {\r\n this.csvLink.current.element.click();\r\n }, 10000);\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n
\r\n {/* */}\r\n this.toast = el} />\r\n
\r\n
\r\n

Verification Report

\r\n
\r\n
\r\n
\r\n
\r\n \r\n Select Scan Type\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n {/* */}\r\n \r\n {/* */}\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n { this.dt = el; }}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n verificationList: state.verification.items,\r\n List: state.verification.exportitems == undefined ? [] : state.verification.exportitems,\r\n loding: state.verification.loding\r\n }\r\n\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n // fetchProductDetails: (ProductCode) => {\r\n // dispatch(fgTraceabilityReportActions.getFGTraceabilityReport(ProductCode))\r\n // },\r\n // fetchIntermediateDetails: (ProductCode) => {\r\n // dispatch(fgTraceabilityReportActions.getIntermediateTraceability(ProductCode))\r\n // },\r\n fetchApi: (obj) => {\r\n dispatch(verificationLogActions.getAll(obj))\r\n },\r\n exportData: (obj) => dispatch(verificationLogActions.exportData(obj)),\r\n lodingData: (isLoding) => dispatch(verificationLogActions.lodingData(isLoding))\r\n\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(VerificationLog)\r\n","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { alertActions, mappingRptActions } from \"../../actions\";\r\nimport { connect } from 'react-redux';\r\nimport tableRequest from '../../models/tableRequest.js';\r\nimport { Toast } from 'primereact/toast';\r\nimport { CSVLink } from \"react-csv\";\r\n\r\nclass MappingRpt extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n this.onPage = this.onPage.bind(this);\r\n this.onSort = this.onSort.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.FilterData = this.FilterData.bind(this);\r\n this.searchFilter = this.searchFilter.bind(this);\r\n this.state = {\r\n loading: false,\r\n FromDate: new Date(),\r\n ToDate: new Date(),\r\n first: 0,\r\n rows: 5,\r\n totalRecords: 0,\r\n globalFilter: null,\r\n visible: false,\r\n sortOrder: '',\r\n datalist: [],\r\n }\r\n }\r\n componentDidMount() {\r\n var date = new Date();\r\n date.setDate(date.getDate() - 7);\r\n this.tblResponse.FromDate = date.toLocaleDateString();\r\n this.tblResponse.ToDate = new Date().toLocaleDateString();\r\n this.setState({\r\n FromDate: date,\r\n ToDate: new Date()\r\n });\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n GetMapping() {\r\n let ToDt = new Date();\r\n let FrmDt = new Date();\r\n FrmDt.setDate(ToDt.getDate() - 7);\r\n\r\n const myFmDt = this.getCurrentDateYYYYMMDD(FrmDt);\r\n const myToDt = this.getCurrentDateYYYYMMDD(ToDt);\r\n\r\n this.tblResponse.FromDate = myFmDt;\r\n this.tblResponse.ToDate = myToDt;\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n FilterData() {\r\n\r\n this.tblResponse.FromDate = this.state.FromDate;\r\n this.tblResponse.ToDate = this.state.ToDate;\r\n\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n getCurrentDateYYYYMMDD(dt) {\r\n var dd = String(dt.getDate()).padStart(2, '0');\r\n var mm = String(dt.getMonth() + 1).padStart(2, '0');\r\n var yyyy = dt.getFullYear();\r\n\r\n dt = yyyy + '/' + mm + '/' + dd;\r\n return dt;\r\n }\r\n handleChange(event) {\r\n const { name, value } = event.target;\r\n switch (name) {\r\n case 'FromDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select from date.', life: 3000 });\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.ToDate instanceof Date)) {\r\n const startDate = value;\r\n const endDate = this.state.ToDate;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"From date must be less than to date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'From date must be less than to date.', life: 3000 });\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n case 'ToDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select to date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please select to date.\");\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.FromDate instanceof Date)) {\r\n const startDate = this.state.FromDate;\r\n const endDate = value;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'To date must be greater than from date.', life: 3000 });\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n this.setState({ [name]: value });\r\n }\r\n //to lazy load\r\n getLazyLoadingValues(event) {\r\n this.setState({ rows: event.rows });\r\n this.tblResponse.PageSize = event.rows;\r\n this.tblResponse.First = event.first + 1;\r\n this.tblResponse.IsActive = true;\r\n this.tblResponse.SearchValue = event.globalFilter ? event.globalFilter : \"\";\r\n //this.tblResponse.SortColumn = event.sortField;\r\n this.tblResponse.SortOrder = event.sortOrder === 1 ? 'ASC' : 'DESC';\r\n this.tblResponse.FromDate = this.state.FromDate;\r\n this.tblResponse.ToDate = this.state.ToDate;\r\n }\r\n onPage(event) {\r\n this.setState({\r\n loading: true\r\n });\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n this.getLazyLoadingValues(event);\r\n this.props.fetchApi(this.tblResponse);\r\n }, 250);\r\n }\r\n //to search\r\n searchFilter(e) {\r\n \r\n this.tblResponse.SearchValue = e.target.value;\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n //to sort\r\n onSort(event) {\r\n ;\r\n this.setState({ sortOrder: this.state.sortOrder === 1 ? 2 : 1 });\r\n const sortField = event.multiSortMeta[0].field === \"CreatedDate\" ? \"CreatedDt\" : event.multiSortMeta[0].field;\r\n this.tblResponse.SortColumn = sortField ? sortField : \"\";\r\n this.tblResponse.SortOrder = this.state.sortOrder === 1 ? 'DESC' : 'ASC';//this.state.sortOrder === 1 ? 'DESC' : 'ASC';\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n handleClick(rowData) {\r\n const { FromNo, ToNo } = rowData; \r\n const dataToSend = { FromNo, ToNo, tblResponse: this.tblResponse };\r\n \r\n this.props.fetchData(dataToSend);\r\n }\r\n render() {\r\n return (\r\n
\r\n this.toast = el} />\r\n
\r\n
\r\n

Mapping Report

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n { this.dt = el; }}>\r\n {/* rowIndex + 1}> */}\r\n (\r\n this.handleClick(rowData)}> {rowData.FromNo} \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 Mapped Quantity: {this.props.mappingList && this.props.mappingList.length > 0 ? \r\n (this.props.mappingList[0].TotalMappedQty > 0 ? this.props.mappingList[0].TotalMappedQty : 'No data') : 'No data'}, \r\n Total Consumed Quantity: {this.props.mappingList && this.props.mappingList.length > 0 ? \r\n (this.props.mappingList[0].TotalConsumedQty > 0 ? this.props.mappingList[0].TotalConsumedQty : 'No data') : 'No data'}\r\n

\r\n

\r\n \r\n

\r\n {/*
\r\n { this.dt = el; }}>\r\n {/* rowIndex + 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\nconst mapStateToProps = (state) => {\r\n return {\r\n mappingList: state.mappingRpt.items,\r\n List: state.mappingRpt.items == undefined ? [] : state.mappingRpt.items,\r\n OutboundData:state.mappingRpt.OUT,\r\n\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchApi: (obj) => {\r\n dispatch(mappingRptActions.getAll(obj))\r\n },\r\n fetchData: (rowData) => {\r\n dispatch(mappingRptActions.getData(rowData))\r\n }\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MappingRpt)\r\n","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { Button } from \"primereact/button\";\r\nimport { alertActions, FeedbackRptActions } from \"../../actions\";\r\nimport { connect } from 'react-redux';\r\nimport tableRequest from '../../models/tableRequest.js';\r\nimport { Toast } from 'primereact/toast';\r\nimport { CSVLink } from \"react-csv\";\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport Select from '@material-ui/core/Select';\r\n\r\nimport ExcelFile from \"react-export-excel/dist/ExcelPlugin/components/ExcelFile\";\r\nimport ExcelSheet from \"react-export-excel/dist/ExcelPlugin/elements/ExcelSheet\";\r\nimport ExcelColumn from \"react-export-excel/dist/ExcelPlugin/elements/ExcelColumn\";\r\n\r\nclass FeedbackRpt extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n this.onPage = this.onPage.bind(this);\r\n this.onSort = this.onSort.bind(this);\r\n this.exportCSV = this.exportCSV.bind(this);\r\n this.csvLink = React.createRef();\r\n this.handleChange = this.handleChange.bind(this);\r\n this.FilterData = this.FilterData.bind(this);\r\n this.searchFilter = this.searchFilter.bind(this);\r\n this.state = {\r\n loading: false,\r\n FromDate: new Date(),\r\n ToDate: new Date(),\r\n first: 0,\r\n rows: 10,\r\n totalRecords: 0,\r\n globalFilter: null,\r\n visible: false,\r\n sortOrder: '',\r\n datalist: [],\r\n headers: [\r\n { label: \"QR Data\", key: \"QrData\" },\r\n { label: \"Name\", key: \"UserName\" },\r\n { label: \"Mobile Number\", key: \"MobileNo\" },\r\n { label: \"Part Image 1\", key: \"PartImageURL1\" },\r\n { label: \"Part Image 2\", key: \"PartImageURL2\" },\r\n { label: \"Feedback Updated On\", key: \"FeedbackUpdatedOn\" },\r\n { label: \"Shop Name\", key: \"ShopName\" },\r\n { label: \"City\", key: \"UserCity\" },\r\n { label: \"State\", key: \"UserState\" },\r\n { label: \"Address\", key: \"UserAddress\" },\r\n { label: \"Verification Mode\", key: \"VerificationMode\" },\r\n { label: \"Verified Date\", key: \"VerifiedDate\" },\r\n ]\r\n }\r\n }\r\n componentDidMount() {\r\n var date = new Date();\r\n date.setDate(date.getDate() - 7);\r\n this.tblResponse.FromDate = date.toLocaleDateString();\r\n this.tblResponse.ToDate = new Date().toLocaleDateString();\r\n this.tblResponse.SortColumn = \"VerifiedDate\";\r\n this.setState({\r\n FromDate: date,\r\n ToDate: new Date()\r\n });\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n GetFeedback() {\r\n this.props.lodingData(true);\r\n let ToDt = new Date();\r\n let FrmDt = new Date();\r\n FrmDt.setDate(ToDt.getDate() - 7);\r\n\r\n const myFmDt = this.getCurrentDateYYYYMMDD(FrmDt);\r\n const myToDt = this.getCurrentDateYYYYMMDD(ToDt);\r\n\r\n this.tblResponse.FromDate = myFmDt.toLocaleDateString();\r\n this.tblResponse.ToDate = myToDt.toLocaleDateString();\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n FilterData() {\r\n this.props.lodingData(true);\r\n this.tblResponse.FromDate = this.state.FromDate.toLocaleDateString();\r\n this.tblResponse.ToDate = this.state.ToDate.toLocaleDateString();\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n getCurrentDateYYYYMMDD(dt) {\r\n var dd = String(dt.getDate()).padStart(2, '0');\r\n var mm = String(dt.getMonth() + 1).padStart(2, '0');\r\n var yyyy = dt.getFullYear();\r\n\r\n dt = yyyy + '/' + mm + '/' + dd;\r\n return dt;\r\n }\r\n\r\n handleChange(event) {\r\n const { name, value } = event.target;\r\n switch (name) {\r\n case 'FromDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select from date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please select from date.\");\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.ToDate instanceof Date)) {\r\n const startDate = value;\r\n const endDate = this.state.ToDate;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"From date must be less than to date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'From date must be less than to date.', life: 3000 });\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n case 'ToDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select to date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please select to date.\");\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.FromDate instanceof Date)) {\r\n const startDate = this.state.FromDate;\r\n const endDate = value;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'To date must be greater than from date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"To date must be greater than from date.\");\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n this.setState({ [name]: value });\r\n }\r\n\r\n //to lazy load\r\n getLazyLoadingValues(event) {\r\n this.setState({ rows: event.rows });\r\n this.tblResponse.PageSize = event.rows;\r\n this.tblResponse.First = event.first + 1;\r\n this.tblResponse.IsActive = true;\r\n this.tblResponse.SearchValue = event.globalFilter ? event.globalFilter : \"\";\r\n this.tblResponse.SortColumn = event.sortField == undefined ? \"VerifiedDate\" : event.sortField;\r\n this.tblResponse.SortOrder = event.sortOrder === 1 ? 'ASC' : 'DESC';\r\n this.tblResponse.FromDate = this.state.FromDate.toLocaleDateString();\r\n this.tblResponse.ToDate = this.state.ToDate.toLocaleDateString();\r\n }\r\n\r\n onPage(event) {\r\n this.props.lodingData(true);\r\n\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n this.getLazyLoadingValues(event);\r\n this.props.fetchApi(this.tblResponse);\r\n }, 250);\r\n }\r\n\r\n //to search\r\n searchFilter(e) {\r\n this.props.lodingData(true);\r\n this.tblResponse.SearchValue = e.target.value;\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n //to sort\r\n onSort(event) {\r\n this.props.lodingData(true);\r\n this.setState({ sortOrder: this.state.sortOrder === 1 ? 2 : 1 });\r\n const sortField = event.multiSortMeta[0].field === \"VerifiedDate\" ? \"VerifiedDate\" : event.multiSortMeta[0].field;\r\n this.tblResponse.SortColumn = sortField ? sortField : \"\";\r\n this.tblResponse.SortOrder = this.state.sortOrder === 1 ? 'DESC' : 'ASC';//this.state.sortOrder === 1 ? 'DESC' : 'ASC';\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n onModeChange(e) {\r\n this.tblResponse.VM = e.target.value;\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.FeedbackList !== this.props.FeedbackList) {\r\n // this.props.myProp has a different value\r\n if (this.props.FeedbackList) {\r\n var e = this.props.FeedbackList;\r\n this.setState({\r\n totalRecords: e[0].TotalRows\r\n });\r\n } else {\r\n this.setState({\r\n totalRecords: 0\r\n });\r\n }\r\n }\r\n }\r\n\r\n exportCSV() {\r\n debugger\r\n this.tblResponse.FromDate = this.state.FromDate;\r\n this.tblResponse.ToDate = this.state.ToDate;\r\n this.tblResponse.First = -1;\r\n this.tblResponse.PageSize = -1;\r\n this.props.exportData(this.tblResponse);\r\n setTimeout(() => {\r\n this.csvLink.current.element.click();\r\n }, 10000);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n this.toast = el} />\r\n
\r\n
\r\n

Feedback Report

\r\n
\r\n
\r\n
\r\n
\r\n \r\n Select Scan Type\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n { this.dt = el; }}>\r\n \r\n \r\n \r\n {\r\n if (data.PartImageURL1 != null) return (View)\r\n }} disabled header=\"Part Image 1\" sortable>\r\n {\r\n if (data.PartImageURL2 != null) return (View)\r\n }} disabled header=\"Part Image 2\" sortable>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n FeedbackList: state.FeedbackRpt.items,\r\n List: state.FeedbackRpt.exportitems == undefined ? [] : state.FeedbackRpt.exportitems,\r\n loding: state.FeedbackRpt.loding\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n // fetchProductDetails: (ProductCode) => {\r\n // dispatch(fgTraceabilityReportActions.getFGTraceabilityReport(ProductCode))\r\n // },\r\n // fetchIntermediateDetails: (ProductCode) => {\r\n // dispatch(fgTraceabilityReportActions.getIntermediateTraceability(ProductCode))\r\n // },\r\n fetchApi: (obj) => {\r\n dispatch(FeedbackRptActions.getAll(obj))\r\n },\r\n exportData: (obj) => dispatch(FeedbackRptActions.exportData(obj)),\r\n lodingData: (isLoding) => dispatch(FeedbackRptActions.lodingData(isLoding))\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FeedbackRpt)\r\n","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport Select from '@material-ui/core/Select';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport { connect } from 'react-redux';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport MuiAlert from '@material-ui/lab/Alert';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport { productConfigActions, productMasterActions } from '../../actions';\r\nimport Switch from '@material-ui/core/Switch';\r\nimport { TabView, TabPanel } from 'primereact/tabview';\r\nimport Moment from 'react-moment';\r\n\r\n\r\nfunction Alert(props) {\r\n return ;\r\n}\r\nclass ProductConfiguration extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.photoBodyTemplate = this.photoBodyTemplate.bind(this);\r\n this.statusBodyTemplate = this.statusBodyTemplate.bind(this);\r\n this.actionBodyTemplate = this.actionBodyTemplate.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.resetForm = this.resetForm.bind(this);\r\n this.CreatedDtTemplate = this.CreatedDtTemplate.bind(this);\r\n this.UpdatedDtTemplate = this.UpdatedDtTemplate.bind(this);\r\n this.switchToggleConfirm = this.switchToggleConfirm.bind(this);\r\n this.onHide = this.onHide.bind(this);\r\n this.getProductList = this.getProductList.bind(this);\r\n this.singleCheck = this.singleCheck.bind(this);\r\n this.getConfigurationList = this.getConfigurationList.bind(this);\r\n this.configureField2 = this.configureField2.bind(this);\r\n this.configureField = this.configureField.bind(this);\r\n this.state = {\r\n loading: false,\r\n confirm: false,\r\n productSpecItem: [{ productSpec: '', value: '' }],\r\n ConfigurationData: [{\r\n ConfigureItem: 'Company Logo', Value: \"CompanyLogo\",\r\n ConfigureItem1: 'Product Image', Value1: \"ProductImage\"\r\n },\r\n //{ ConfigureItem: 'Product Image', Value: \"ProductImage\" },\r\n\r\n {\r\n ConfigureItem: 'Product Information', Value: \"ProductInformation\",\r\n ConfigureItem1: 'Product Rating', Value1: \"ProductRating\"\r\n },\r\n // { ConfigureItem: 'Product Rating', Value: \"ProductRating\" },\r\n {\r\n ConfigureItem: 'Share', Value: \"Share\",\r\n ConfigureItem1: 'Feedback', Value1: \"Feedback\"\r\n },\r\n // { ConfigureItem: 'Feedback', Value: \"Feedback\" },\r\n { ConfigureItem: 'Genuine Audio', Value: \"GenuineAudio\", ConfigureItem1: 'Already Scanned Audio', Value1: \"AlreadyScannedAudio\" },\r\n // { ConfigureItem: 'Already Scanned Audio', Value: \"AlreadyScannedAudio\" },\r\n { ConfigureItem: 'Genuine Message', Value: \"GenuineMessage\", ConfigureItem1: 'Already Scanned Message', Value1: \"AlreadyScannedMessage\" },\r\n // { ConfigureItem: 'Already Scanned Message', Value: \"AlreadyScannedMessage\" },\r\n {\r\n ConfigureItem: 'Promotional Messages', Value: \"PromotionalMessages\",\r\n ConfigureItem1: 'Similar Products', Value1: \"SimilarProducts\"\r\n },\r\n // { ConfigureItem: 'Similar Products', Value: \"SimilarProducts\" },\r\n { ConfigureItem: 'Similar Products Rating', Value: \"SimilarProductsRating\" }\r\n ],\r\n selectedProduct: '',\r\n activeIndex: 1,\r\n buttonLabel: 'Submit',\r\n switchAction: false,\r\n displayConfirmation: false,\r\n formHeading: 'Add Product',\r\n displayModal: false,\r\n\r\n UpdatedDt: null,\r\n productId: '',\r\n IsCheckedAll: false,\r\n productConfiguration: '',\r\n formError: {\r\n productId: '',\r\n productConfiguration: '',\r\n }\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n singleCheck() {\r\n ;\r\n let obj = {};\r\n const checkboxes = document.getElementsByName('childCheck');\r\n for (var checkbox of checkboxes) {\r\n if (checkbox.checked) {\r\n obj[checkbox.value] = true;\r\n } else {\r\n obj[checkbox.value] = false;\r\n }\r\n }\r\n\r\n return JSON.stringify(obj);\r\n }\r\n\r\n switchToggleConfirm = (event) => {\r\n this.setState({ confirm: true, displayConfirmation: false })\r\n // const formData = {\r\n // productId: this.state.productId\r\n // }\r\n // this.props.inActiveRow(this.state.productId);\r\n }\r\n\r\n getProductList(event) {\r\n this.props.getProductDDL();\r\n }\r\n\r\n getConfigurationList(event) {\r\n ;\r\n this.setState({ productId: event.target.value })\r\n this.props.getconfigDDL(event.target.value);\r\n }\r\n\r\n allCheck(event) {\r\n ;\r\n this.setState({ IsCheckedAll: event.target.checked })\r\n }\r\n\r\n\r\n // handle input change\r\n handleInputChange = (event, index) => {\r\n const { name, value } = event.target;\r\n const list = [...this.state.productSpecItem];\r\n list[index][name] = value;\r\n this.setState({ productSpecItem: list });\r\n\r\n\r\n };\r\n // handle click event of the Remove button\r\n handleRemoveClick = index => {\r\n const list = [...this.state.productSpecItem];\r\n list.splice(index, 1);\r\n this.setState({ productSpecItem: list });\r\n };\r\n\r\n // handle click event of the Add button\r\n handleAddClick = () => {\r\n \r\n this.setState({ productSpecItem: [...this.state.productSpecItem, { productSpec: \"\", value: \"\" }] });\r\n }\r\n getCurrentDateMMDDYYY() {\r\n var today = new Date();\r\n var dd = String(today.getDate()).padStart(2, '0');\r\n var mm = String(today.getMonth() + 1).padStart(2, '0');\r\n var yyyy = today.getFullYear();\r\n\r\n today = mm + '/' + dd + '/' + yyyy;\r\n return today;\r\n }\r\n UpdatedDtTemplate(rowData) {\r\n if (rowData.UpdatedDt !== null) {\r\n return (\r\n {rowData.UpdatedDt}\r\n )\r\n }\r\n }\r\n\r\n CreatedDtTemplate(rowData) {\r\n return (\r\n {rowData.CreatedDt}\r\n )\r\n }\r\n handleChange(event) {\r\n let { name, value } = event.target;\r\n let errors = this.state.formError;\r\n switch (name) {\r\n case 'isActive':\r\n value = event.target.checked;\r\n break;\r\n default:\r\n break;\r\n }\r\n this.validateForm(value, name);\r\n this.setState({ errors, [name]: value });\r\n\r\n let checked = event.target.checked;\r\n this.setState(prevState => {\r\n let { list, allChecked } = prevState;\r\n if (name === \"checkAll\") {\r\n allChecked = checked;\r\n list = list.map(item => ({ ...item, isChecked: checked }));\r\n } else {\r\n list = list.map(item =>\r\n item.name === name ? { ...item, isChecked: checked } : item\r\n );\r\n allChecked = list.every(item => item.isChecked);\r\n }\r\n return { list, allChecked };\r\n });\r\n };\r\n\r\n validateForm(value, name) {\r\n let errors = this.state.formError;\r\n let IsValid = true;\r\n switch (name) {\r\n case 'productId':\r\n if (value.length < 1) {\r\n IsValid = false;\r\n errors.productId = \"Please select Product.\";\r\n } else errors.productId = ''\r\n break;\r\n\r\n\r\n\r\n default:\r\n break;\r\n }\r\n\r\n return IsValid;\r\n }\r\n resetForm() {\r\n this.setState({\r\n productId: '',\r\n productConfiguration: '',\r\n IsCheckedAll: '',\r\n\r\n formError: {\r\n productId: '',\r\n productConfiguration: '',\r\n IsCheckedAll: ''\r\n\r\n }\r\n });\r\n\r\n let errors = this.state.formError;\r\n Object.entries(errors).map(([key]) => {\r\n errors[key] = '';\r\n return errors[key];\r\n });\r\n }\r\n\r\n\r\n onHide() {\r\n this.setState({ displayModal: false })\r\n //this.props.onHideShow(false);\r\n this.resetForm();\r\n }\r\n\r\n // onreset() {\r\n // this.state.onreset(false);\r\n // }\r\n\r\n // CheckAll(chk)\r\n // {\r\n // for (i = 0; i < chk.length; i++)\r\n // chk[i].checked = true ;\r\n // }\r\n\r\n // UnCheckAll(chk)\r\n // {\r\n // for (i = 0; i < chk.length; i++)\r\n // chk[i].checked = false ;\r\n // }\r\n\r\n submitForm(event) {\r\n \r\n event.preventDefault();\r\n let isfrmvalid = true;\r\n let checkerror = this.state.formError;\r\n\r\n Object.entries(checkerror).map(([key, value]) => {\r\n const val = this.state[key]\r\n let valid = this.validateForm(val, key);\r\n if (!valid) {\r\n this.setState({ checkerror: isfrmvalid });\r\n isfrmvalid = false;\r\n\r\n }\r\n return isfrmvalid;\r\n });\r\n\r\n\r\n if (isfrmvalid) {\r\n var confg = this.singleCheck();\r\n var products = [];\r\n //this.state.productId.forEach(element => {\r\n ;\r\n var obj = new Object();\r\n obj.productId = this.state.productId;\r\n obj.ProductConfiguration = confg;\r\n products.push(obj);\r\n //});\r\n\r\n var formdata = {\r\n IsCheckedAll: this.state.IsCheckedAll,\r\n ProductMasters: products,\r\n //ProductConfiguration: this.state.ProductConfiguration\r\n }\r\n this.props.updateproductConfiguration(formdata);\r\n }\r\n this.resetForm();\r\n\r\n }\r\n\r\n photoBodyTemplate(e) {\r\n return \r\n }\r\n statusBodyTemplate(rowData) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n // set Image Path\r\n // setImagePath(event) {\r\n // let errors = this.state.formError;\r\n // errors.ProductImg = \"\";\r\n // if (event.xhr) {\r\n // if (event.xhr.response) {\r\n // const response = JSON.parse(event.xhr.response);\r\n // if (response) {\r\n // if (response.ResponseCode === \"200\") {\r\n // this.setState({\r\n // productImg: response.Source,\r\n // });\r\n // } else if (response.ResponseCode === \"400\") {\r\n // errors.ProductImg = \"Only image format is accepted.\";\r\n // this.setState({\r\n // productImg: \"\",\r\n // });\r\n // } else {\r\n // // this.messageService.add({ severity: 'error', summary: 'Oops', detail: response.ResponseMessage });\r\n // }\r\n // } else {\r\n // //this.messageService.add({ severity: 'error', summary: 'Oops', detail: 'Something went wrong' });\r\n // }\r\n // } else {\r\n // //this.messageService.add({ severity: 'error', summary: 'Oops', detail: 'Something went wrong' });\r\n // }\r\n // } else {\r\n // //this.messageService.add({ severity: 'error', summary: 'Oops', detail: 'Something went wrong' });\r\n // }\r\n // }\r\n\r\n changevalue(event) {\r\n\r\n ;\r\n var ischeck = event.currentTarget.checked;\r\n var id = event.currentTarget.id;\r\n setTimeout(() => {\r\n this.checkCheckBox(ischeck, id);\r\n }, 500);\r\n\r\n }\r\n\r\n checkCheckBox(ischeck, id) {\r\n document.getElementById(id).checked = ischeck;\r\n }\r\n\r\n configureField2(rowData) {\r\n ;\r\n return (\r\n
{rowData.ConfigureItem1}
\r\n )\r\n }\r\n configureField(rowData) {\r\n return (\r\n
{rowData.ConfigureItem}
\r\n )\r\n }\r\n\r\n actionBodyTemplate(rowData, i) {\r\n if (i.field == '1') {\r\n if (rowData.hasOwnProperty('Value')) {\r\n return (\r\n <>\r\n {\r\n this.changevalue(e)} color=\"primary\" name=\"childCheck\" resetFilterOnHide=\"true\" inputProps={{ 'aria-label': 'primary checkbox' }} />\r\n // this.changevalue(e)} name=\"childCheck\" value={rowData.Value} resetFilterOnHide=\"true\" />\r\n }\r\n \r\n )\r\n }\r\n\r\n\r\n } else if (i.field == '2') {\r\n if (rowData.hasOwnProperty('Value1')) {\r\n return (\r\n <>\r\n { this.changevalue(e)} color=\"primary\" name=\"childCheck\" resetFilterOnHide=\"true\" inputProps={{ 'aria-label': 'primary checkbox' }} />\r\n // this.changevalue(e)} name=\"childCheck\" value={rowData.Value} resetFilterOnHide=\"true\" />\r\n }\r\n \r\n )\r\n }\r\n }\r\n\r\n\r\n }\r\n actionBodyTemplate2(rowData) {\r\n ;\r\n return (\r\n <>\r\n {\r\n this.changevalue(e)} color=\"primary\" name=\"childCheck\" resetFilterOnHide=\"true\" inputProps={{ 'aria-label': 'primary checkbox' }} />\r\n // this.changevalue(e)} name=\"childCheck\" value={rowData.Value} resetFilterOnHide=\"true\" />\r\n }\r\n\r\n \r\n )\r\n\r\n }\r\n // exportCSV() {\r\n // this.dt.exportCSV();\r\n // }\r\n\r\n render() {\r\n ;\r\n const configur = this.props.configddl;\r\n const checkboxes = document.getElementsByName('childCheck');\r\n if (configur) {\r\n const obj = JSON.parse(configur);\r\n Object.entries(obj).map(([key, value]) => {\r\n ;\r\n if (key) {\r\n for (var checkbox of checkboxes) {\r\n if (key === checkbox.value) {\r\n const keyval = value;\r\n if (keyval) {\r\n document.getElementById(key).checked = true;\r\n } else {\r\n checkbox.checked = false;\r\n }\r\n }\r\n }\r\n } else {\r\n checkbox.checked = false;\r\n }\r\n\r\n })\r\n } else {\r\n for (let checkbox of checkboxes) {\r\n checkbox.checked = false;\r\n }\r\n }\r\n\r\n\r\n const renderFooter = (name) => {\r\n return (\r\n
\r\n
\r\n );\r\n }\r\n const header = (\r\n
\r\n
\r\n

Product Configuration

\r\n
\r\n\r\n
\r\n \r\n\r\n this.getConfigurationList(e)}\r\n placeholder=\"Select Product\" />\r\n {this.state.formError.productId !== '' ?\r\n
{this.state.formError.productId}
: ''}\r\n\r\n
\r\n this.allCheck(e)}\r\n color=\"primary\"\r\n inputProps={{ 'aria-label': 'primary checkbox' }}\r\n />\r\n {/* this.allCheck(e)}> */}\r\n Configure for all products\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 { this.dt = el; }}\r\n header={header} globalFilter={this.state.globalFilter} className=\"p-datatable-customers\"\r\n rowHover={true} loading={this.state.loading} emptyMessage=\"No data found.\" singleCheck={false} sortMode=\"multiple\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords}\">\r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n this.setState({ displayConfirmation: false })}>\r\n
\r\n \r\n
\r\n
\r\n\r\n {/* this.setState({ Checked: false })}> */}\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n )\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n productData: state.product.prdctddl,\r\n configddl: state.productConfiguration.configddl\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n getProductDDL: () => {\r\n ;\r\n dispatch(productMasterActions.getPrdctDDL())\r\n },\r\n\r\n getconfigDDL: (productid) => {\r\n dispatch(productConfigActions.getconfigDDL(productid))\r\n },\r\n // createProduct: product => dispatch(productMasterActions.createProduct(product)),\r\n updateproductConfiguration: data => dispatch(productConfigActions.updateproductConfiguration(data)),\r\n // inActiveRow: product => dispatch(productMasterActions.inActiveRow(product))\r\n onHideShow: isbool => dispatch(productConfigActions.onHideShow(isbool)),\r\n onreset: isbool => dispatch(productConfigActions.onreset(isbool))\r\n\r\n }\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ProductConfiguration)","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { alertActions, FeedbackRptActions, NumberGenerationRptActions } from \"../../actions\";\r\nimport { connect } from 'react-redux';\r\nimport tableRequest from '../../models/tableRequest.js';\r\nimport { Toast } from 'primereact/toast';\r\nimport { CSVLink } from \"react-csv\";\r\n\r\nclass NumberGenerationRpt extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n this.onPage = this.onPage.bind(this);\r\n this.onSort = this.onSort.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.FilterData = this.FilterData.bind(this);\r\n this.searchFilter = this.searchFilter.bind(this);\r\n this.state = {\r\n loading: false,\r\n FromDate: new Date(),\r\n ToDate: new Date(),\r\n first: 0,\r\n rows: 5,\r\n totalRecords: 0,\r\n globalFilter: null,\r\n visible: false,\r\n sortOrder: '',\r\n datalist: [],\r\n }\r\n }\r\n componentDidMount() {\r\n var date = new Date();\r\n date.setDate(date.getDate() - 7);\r\n this.tblResponse.FromDate = date.toLocaleDateString();\r\n this.tblResponse.ToDate = new Date().toLocaleDateString();\r\n this.setState({\r\n FromDate: date,\r\n ToDate: new Date()\r\n });\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n GetFeedback() {\r\n let ToDt = new Date();\r\n let FrmDt = new Date();\r\n FrmDt.setDate(ToDt.getDate() - 7);\r\n\r\n const myFmDt = this.getCurrentDateYYYYMMDD(FrmDt);\r\n const myToDt = this.getCurrentDateYYYYMMDD(ToDt);\r\n\r\n this.tblResponse.FromDate = myFmDt;\r\n this.tblResponse.ToDate = myToDt;\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n FilterData() {\r\n \r\n this.tblResponse.FromDate = this.state.FromDate;\r\n this.tblResponse.ToDate = this.state.ToDate;\r\n\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n getCurrentDateYYYYMMDD(dt) {\r\n var dd = String(dt.getDate()).padStart(2, '0');\r\n var mm = String(dt.getMonth() + 1).padStart(2, '0');\r\n var yyyy = dt.getFullYear();\r\n\r\n dt = yyyy + '/' + mm + '/' + dd;\r\n return dt;\r\n }\r\n handleChange(event) {\r\n const { name, value } = event.target;\r\n switch (name) {\r\n case 'FromDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select from date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please select from date.\");\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.ToDate instanceof Date)) {\r\n const startDate = value;\r\n const endDate = this.state.ToDate;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"From date must be less than to date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'From date must be less than to date.', life: 3000 });\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n case 'ToDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select to date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please select to date.\");\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.FromDate instanceof Date)) {\r\n const startDate = this.state.FromDate;\r\n const endDate = value;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'To date must be greater than from date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"To date must be greater than from date.\");\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n this.setState({ [name]: value });\r\n }\r\n //to lazy load\r\n getLazyLoadingValues(event) {\r\n this.setState({ rows: event.rows });\r\n this.tblResponse.PageSize = event.rows;\r\n this.tblResponse.First = event.first + 1;\r\n this.tblResponse.IsActive = true;\r\n this.tblResponse.SearchValue = event.globalFilter ? event.globalFilter : \"\";\r\n //this.tblResponse.SortColumn = event.sortField;\r\n this.tblResponse.SortOrder = event.sortOrder === 1 ? 'ASC' : 'DESC';\r\n this.tblResponse.FromDate = this.state.FromDate;\r\n this.tblResponse.ToDate = this.state.ToDate;\r\n }\r\n\r\n onPage(event) {\r\n this.setState({\r\n loading: true\r\n });\r\n\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n this.getLazyLoadingValues(event);\r\n this.props.fetchApi(this.tblResponse);\r\n }, 250);\r\n }\r\n\r\n //to search\r\n searchFilter(e) {\r\n // this.setState({\r\n // loading: true\r\n // });\r\n this.tblResponse.SearchValue = e.target.value;\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n //to sort\r\n onSort(event) {\r\n ;\r\n this.setState({ sortOrder: this.state.sortOrder === 1 ? 2 : 1 });\r\n const sortField = event.multiSortMeta[0].field === \"CreatedDate\" ? \"CreatedDt\" : event.multiSortMeta[0].field;\r\n this.tblResponse.SortColumn = sortField ? sortField : \"\";\r\n this.tblResponse.SortOrder = this.state.sortOrder === 1 ? 'DESC' : 'ASC';//this.state.sortOrder === 1 ? 'DESC' : 'ASC';\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n
\r\n this.toast = el} />\r\n
\r\n
\r\n

Number Generation Report

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n { this.dt = el; }}>\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n NumberGenerationList: state.NumberGenerationRpt.items,\r\n List: state.FeedbackRpt.items == undefined ? [] : state.FeedbackRpt.items\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchApi: (obj) => {\r\n dispatch(NumberGenerationRptActions.getAll(obj))\r\n }\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(NumberGenerationRpt)\r\n","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { alertActions, NumberTrackingRptActions } from \"../../actions\";\r\nimport { connect } from 'react-redux';\r\nimport tableRequest from '../../models/tableRequest.js';\r\nimport { Toast } from 'primereact/toast';\r\nimport { CSVLink } from \"react-csv\";\r\nimport { TreeTable } from 'primereact/treetable';\r\nimport { Button } from 'primereact/button';\r\nclass NumberTrackingRpt extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n this.onPage = this.onPage.bind(this);\r\n this.onSort = this.onSort.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.FilterData = this.FilterData.bind(this);\r\n this.searchFilter = this.searchFilter.bind(this);\r\n this.state = {\r\n loading: false,\r\n node: [],\r\n FromDate: new Date(),\r\n ToDate: new Date(),\r\n first: 0,\r\n rows: 5,\r\n totalRecords: 0,\r\n globalFilter: null,\r\n visible: false,\r\n sortOrder: '',\r\n datalist: [],\r\n }\r\n }\r\n componentDidMount() {\r\n var date = new Date();\r\n date.setDate(date.getDate() - 7);\r\n this.tblResponse.FromDate = date.toLocaleDateString();\r\n this.tblResponse.ToDate = new Date().toLocaleDateString();\r\n this.setState({\r\n FromDate: date,\r\n ToDate: new Date()\r\n });\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n GetFeedback() {\r\n let ToDt = new Date();\r\n let FrmDt = new Date();\r\n FrmDt.setDate(ToDt.getDate() - 7);\r\n\r\n const myFmDt = this.getCurrentDateYYYYMMDD(FrmDt);\r\n const myToDt = this.getCurrentDateYYYYMMDD(ToDt);\r\n\r\n this.tblResponse.FromDate = myFmDt;\r\n this.tblResponse.ToDate = myToDt;\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n FilterData() {\r\n \r\n this.tblResponse.FromDate = this.state.FromDate;\r\n this.tblResponse.ToDate = this.state.ToDate;\r\n\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n getCurrentDateYYYYMMDD(dt) {\r\n var dd = String(dt.getDate()).padStart(2, '0');\r\n var mm = String(dt.getMonth() + 1).padStart(2, '0');\r\n var yyyy = dt.getFullYear();\r\n\r\n dt = yyyy + '/' + mm + '/' + dd;\r\n return dt;\r\n }\r\n handleChange(event) {\r\n const { name, value } = event.target;\r\n switch (name) {\r\n case 'FromDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select from date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please select from date.\");\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.ToDate instanceof Date)) {\r\n const startDate = value;\r\n const endDate = this.state.ToDate;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"From date must be less than to date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'From date must be less than to date.', life: 3000 });\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n case 'ToDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select to date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please select to date.\");\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.FromDate instanceof Date)) {\r\n const startDate = this.state.FromDate;\r\n const endDate = value;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'To date must be greater than from date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"To date must be greater than from date.\");\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n this.setState({ [name]: value });\r\n }\r\n\r\n //to lazy load\r\n getLazyLoadingValues(event) {\r\n this.setState({ rows: event.rows });\r\n this.tblResponse.PageSize = event.rows;\r\n this.tblResponse.First = event.first + 1;\r\n this.tblResponse.IsActive = true;\r\n this.tblResponse.SearchValue = event.globalFilter ? event.globalFilter : \"\";\r\n //this.tblResponse.SortColumn = event.sortField;\r\n this.tblResponse.SortOrder = event.sortOrder === 1 ? 'ASC' : 'DESC';\r\n this.tblResponse.FromDate = this.state.FromDate;\r\n this.tblResponse.ToDate = this.state.ToDate;\r\n }\r\n\r\n onPage(event) {\r\n this.setState({\r\n loading: true\r\n });\r\n\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n this.getLazyLoadingValues(event);\r\n this.props.fetchApi(this.tblResponse);\r\n }, 250);\r\n }\r\n\r\n //to search\r\n searchFilter(e) {\r\n // this.setState({\r\n // loading: true\r\n // });\r\n this.tblResponse.SearchValue = e.target.value;\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n //to sort\r\n onSort(event) {\r\n ;\r\n this.setState({ sortOrder: this.state.sortOrder === 1 ? 2 : 1 });\r\n const sortField = event.multiSortMeta[0].field === \"CreatedDate\" ? \"CreatedDt\" : event.multiSortMeta[0].field;\r\n this.tblResponse.SortColumn = sortField ? sortField : \"\";\r\n this.tblResponse.SortOrder = this.state.sortOrder === 1 ? 'DESC' : 'ASC';//this.state.sortOrder === 1 ? 'DESC' : 'ASC';\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n render() {\r\n let nodes = [\r\n {\r\n \"key\": \"0\",\r\n \"data\": {\r\n \"poNo\": \"PO-001\",\r\n \"supplier\": \"Holostik\",\r\n \"qty\": \"3000\",\r\n \"useQty\": \"1000\",\r\n \"remainingQty\": \"2000\",\r\n \"poDate\": \"17-08-2021\",\r\n },\r\n \"children\": [\r\n {\r\n \"key\": \"0-0\",\r\n \"data\": {\r\n \"batchNo\": \"Bt-001\",\r\n \"qty\": \"2000\",\r\n \"issueQrCode\": \"100\",\r\n \"remaningQrCode\": \"1900\",\r\n \"batchDate\": \"17-08-2021\",\r\n },\r\n \"children\": [\r\n {\r\n \"key\": \"0-0-0\",\r\n \"data\": {\r\n \"qtyFrom\": \"10\",\r\n \"qtyTo\": \"100\"\r\n }\r\n }\r\n\r\n ]\r\n }\r\n ]\r\n },\r\n ]\r\n return (\r\n
\r\n this.toast = el} />\r\n
\r\n
\r\n

Number Tracking Report

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n {/* { this.dt = el; }}>\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n */}\r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
PO No.SupplierQuantityUse QuantityRemaining QuantityPO Date
PO-001Holostik50004000100017-08-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
Batch No.QuantityIssue QR CodeRemaining QR CodeBatch Date
BT-001100080020017-08-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
Quantity FromQuantity ToQuantityPlant
001800800Tapukhera Plant3
\r\n
BT-00230003000017-08-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
Quantity FromQuantity ToQuantityPlant
100130003000Tapukhera Plant1
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n NumberTrackingList: state.NumberTrackingRpt.items,\r\n List: state.FeedbackRpt.items == undefined ? [] : state.FeedbackRpt.items\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchApi: (obj) => {\r\n dispatch(NumberTrackingRptActions.getAll(obj))\r\n }\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(NumberTrackingRpt)\r\n","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { alertActions, DamageRptActions } from '../../actions/DamageRptActions';\r\nimport { connect } from 'react-redux';\r\nimport tableRequest from '../../models/tableRequest.js';\r\nimport { Toast } from 'primereact/toast';\r\nimport { CSVLink } from \"react-csv\";\r\nimport { InputText } from 'primereact/inputtext';\r\n\r\nclass DamageRpt extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n this.onPage = this.onPage.bind(this);\r\n this.onSort = this.onSort.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.FilterData = this.FilterData.bind(this);\r\n this.searchFilter = this.searchFilter.bind(this);\r\n this.state = {\r\n loading: false,\r\n FromDate: new Date(),\r\n ToDate: new Date(),\r\n first: 0,\r\n rows: 5,\r\n totalRecords: 0,\r\n globalFilter: null,\r\n visible: false,\r\n sortOrder: '',\r\n datalist: [],\r\n }\r\n }\r\n componentDidMount() {\r\n var date = new Date();\r\n date.setHours(0, 0, 0, 0);\r\n date.setDate(date.getDate() - 7);\r\n this.tblResponse.FromDate = date.toLocaleDateString();\r\n this.tblResponse.ToDate = new Date().toLocaleDateString();\r\n this.setState({\r\n FromDate: date,\r\n ToDate: new Date()\r\n });\r\n this.props.fetchApi(this.tblResponse);\r\n this.props.exportingData(this.tblResponse);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.DamageRptList !== this.props.DamageRptList) {\r\n // this.props.myProp has a different value\r\n if (this.props.DamageRptList) {\r\n var e = this.props.DamageRptList;\r\n this.setState({\r\n totalRecords: e[0].TotalRows\r\n });\r\n }\r\n }\r\n }\r\n\r\n GetDamage() {\r\n let ToDt = new Date();\r\n let FrmDt = new Date();\r\n FrmDt.setDate(ToDt.getDate() - 7);\r\n\r\n const myFmDt = this.getCurrentDateYYYYMMDD(FrmDt);\r\n const myToDt = this.getCurrentDateYYYYMMDD(ToDt);\r\n\r\n this.tblResponse.FromDate = myFmDt;\r\n this.tblResponse.ToDate = myToDt;\r\n this.props.fetchApi(this.tblResponse);\r\n this.props.exportingData(this.tblResponse);\r\n }\r\n\r\n FilterData() {\r\n this.tblResponse.FromDate = this.state.FromDate;\r\n this.tblResponse.ToDate = this.state.ToDate;\r\n this.props.exportingData(this.tblResponse);\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n getCurrentDateYYYYMMDD(dt) {\r\n var dd = String(dt.getDate()).padStart(2, '0');\r\n var mm = String(dt.getMonth() + 1).padStart(2, '0');\r\n var yyyy = dt.getFullYear();\r\n\r\n dt = yyyy + '/' + mm + '/' + dd;\r\n return dt;\r\n }\r\n\r\n handleChange(event) {\r\n const { name, value } = event.target;\r\n switch (name) {\r\n case 'FromDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"Please select from date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select from date.', life: 3000 });\r\n\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.ToDate instanceof Date)) {\r\n const startDate = value;\r\n const endDate = this.state.ToDate;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'From date must be less than to date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"From date must be less than to date.\");\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n case 'ToDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select to date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please select to date.\");\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.FromDate instanceof Date)) {\r\n const startDate = this.state.FromDate;\r\n const endDate = value;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'To date must be greater than from date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"To date must be greater than from date.\");\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n this.setState({ [name]: value });\r\n }\r\n //to lazy load\r\n getLazyLoadingValues(event) {\r\n this.setState({ rows: event.rows, first: event.first });\r\n this.tblResponse.PageSize = event.rows;\r\n this.tblResponse.First = event.first + 1;\r\n this.tblResponse.IsActive = true;\r\n this.tblResponse.SearchValue = event.globalFilter ? event.globalFilter : \"\";\r\n //this.tblResponse.SortColumn = event.sortField;\r\n this.tblResponse.SortOrder = event.sortOrder === 1 ? 'ASC' : 'DESC';\r\n this.tblResponse.FromDate = this.state.FromDate.toLocaleDateString();\r\n this.tblResponse.ToDate = this.state.ToDate.toLocaleDateString();\r\n }\r\n\r\n onPage(event) {\r\n ;\r\n this.props.loadingData(true);\r\n \r\n\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n this.getLazyLoadingValues(event);\r\n this.props.fetchApi(this.tblResponse);\r\n this.props.exportingData(this.tblResponse);\r\n }, 250);\r\n }\r\n\r\n //to search\r\n searchFilter(e) {\r\n this.props.loadingData(true);\r\n this.tblResponse.SearchValue = e.target.value;\r\n this.props.fetchApi(this.tblResponse);\r\n this.props.exportingData(this.tblResponse);\r\n }\r\n\r\n //to sort\r\n onSort(event) {\r\n this.props.loadingData(true);;\r\n this.setState({ sortOrder: this.state.sortOrder === 1 ? 2 : 1 });\r\n const sortField = event.multiSortMeta[0].field === \"CreatedDate\" ? \"CreatedDate\" : event.multiSortMeta[0].field;\r\n this.tblResponse.SortColumn = sortField ? sortField : \"\";\r\n this.tblResponse.SortOrder = this.state.sortOrder === 1 ? 'DESC' : 'ASC';//this.state.sortOrder === 1 ? 'DESC' : 'ASC';\r\n this.props.fetchApi(this.tblResponse);\r\n this.props.exportingData(this.tblResponse);\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n
\r\n this.toast = el} />\r\n
\r\n
\r\n

Damage Report

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n  \r\n \r\n
\r\n
\r\n \r\n \r\n this.searchFilter(e)} placeholder=\"Global Search\" />\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n { this.dt = el; }}>\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n ////console.log('DamageRptList', state.DamageRpt.items)\r\n return {\r\n DamageRptList: state.DamageRpt.items,\r\n List: state.DamageRpt.exportitems == undefined ? [] : state.DamageRpt.exportitems,\r\n loading: state.verification.loding\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchApi: (obj) => {\r\n dispatch(DamageRptActions.getAll(obj))\r\n },\r\n loadingData: (isLoding) => dispatch(DamageRptActions.loadingData(isLoding)),\r\n exportingData: (obj) => dispatch(DamageRptActions.exportData(obj))\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DamageRpt)\r\n","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Button } from \"primereact/button\";\r\nimport { Column } from 'primereact/column';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { alertActions, mappingRptActions } from \"../../actions/index.js\";\r\nimport { connect } from 'react-redux';\r\nimport tableRequest from '../../models/tableRequest.js';\r\nimport { Toast } from 'primereact/toast';\r\nimport { CSVLink } from \"react-csv\";\r\nimport ExcelFile from \"react-export-excel/dist/ExcelPlugin/components/ExcelFile\";\r\nimport ExcelSheet from \"react-export-excel/dist/ExcelPlugin/elements/ExcelSheet\";\r\nimport ExcelColumn from \"react-export-excel/dist/ExcelPlugin/elements/ExcelColumn\";\r\n\r\nclass Out extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n this.onPage = this.onPage.bind(this);\r\n this.exportCSV = this.exportCSV.bind(this);\r\n this.csvLink = React.createRef();\r\n this.onSort = this.onSort.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.FilterData = this.FilterData.bind(this);\r\n this.searchFilter = this.searchFilter.bind(this);\r\n this.state = {\r\n loading: false,\r\n FromDate: new Date(),\r\n ToDate: new Date(),\r\n first: 0,\r\n rows: 5,\r\n totalRecords: 0,\r\n globalFilter: null,\r\n visible: false,\r\n sortOrder: '',\r\n datalist: [],\r\n headers: [\r\n { label: \"From No\", key: \"FromNo\" },\r\n { label: \"To No\", key: \"ToNo\" },\r\n { label: \"Issued Qty\", key: \"Qty\" },\r\n { label: \"Issued On\", key: \"CreatedDt\" },\r\n { label: \"Consumed Qty\", key: \"ConsumedQty\" }\r\n ]\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.props.lodingData(true);\r\n var date = new Date();\r\n date.setDate(date.getDate() - 7);\r\n this.tblResponse.FromDate = date.toLocaleDateString();\r\n this.tblResponse.ToDate = new Date().toLocaleDateString();\r\n this.setState({\r\n FromDate: date,\r\n ToDate: new Date()\r\n });\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n GetMapping() {\r\n this.props.lodingData(true);\r\n let ToDt = new Date();\r\n let FrmDt = new Date();\r\n FrmDt.setDate(ToDt.getDate() - 7);\r\n\r\n const myFmDt = this.getCurrentDateYYYYMMDD(FrmDt);\r\n const myToDt = this.getCurrentDateYYYYMMDD(ToDt);\r\n\r\n this.tblResponse.FromDate = myFmDt.toLocaleDateString();\r\n this.tblResponse.ToDate = myToDt.toLocaleDateString();\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n FilterData() {\r\n this.props.lodingData(true);\r\n this.tblResponse.FromDate = this.state.FromDate.toLocaleDateString();\r\n this.tblResponse.ToDate = this.state.ToDate.toLocaleDateString();\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n getCurrentDateYYYYMMDD(dt) {\r\n var dd = String(dt.getDate()).padStart(2, '0');\r\n var mm = String(dt.getMonth() + 1).padStart(2, '0');\r\n var yyyy = dt.getFullYear();\r\n\r\n dt = yyyy + '/' + mm + '/' + dd;\r\n return dt;\r\n }\r\n\r\n handleChange(event) {\r\n const { name, value } = event.target;\r\n switch (name) {\r\n case 'FromDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select from date.', life: 3000 });\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.ToDate instanceof Date)) {\r\n const startDate = value;\r\n const endDate = this.state.ToDate;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"From date must be less than to date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'From date must be less than to date.', life: 3000 });\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n case 'ToDate':\r\n if (value === null || !(value instanceof Date)) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please select to date.', life: 3000 });\r\n // this.refs.Messchild.showError(\"Please select to date.\");\r\n return;\r\n }\r\n else if (!(value.toLocaleDateString().match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/))) {\r\n this.formIsValid = false;\r\n // this.refs.Messchild.showError(\"Please enter only date.\");\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'Please enter only date.', life: 3000 });\r\n return;\r\n }\r\n else if ((value instanceof Date) && (this.state.FromDate instanceof Date)) {\r\n const startDate = this.state.FromDate;\r\n const endDate = value;\r\n if (!(Date.parse(startDate) <= Date.parse(endDate))) {\r\n this.formIsValid = false;\r\n this.toast.show({ severity: 'error', summary: 'Error Message', detail: 'To date must be greater than from date.', life: 3000 });\r\n return;\r\n }\r\n }\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n this.setState({ [name]: value });\r\n }\r\n\r\n //to lazy load\r\n getLazyLoadingValues(event) {\r\n this.setState({ rows: event.rows });\r\n this.tblResponse.PageSize = event.rows;\r\n this.tblResponse.First = event.first + 1;\r\n this.tblResponse.IsActive = true;\r\n this.tblResponse.SearchValue = event.globalFilter ? event.globalFilter : \"\";\r\n this.tblResponse.SortOrder = event.sortOrder === 1 ? 'ASC' : 'DESC';\r\n this.tblResponse.FromDate = this.state.FromDate.toLocaleDateString();\r\n this.tblResponse.ToDate = this.state.ToDate.toLocaleDateString();\r\n }\r\n\r\n onPage(event) {\r\n this.props.lodingData(true);\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n this.getLazyLoadingValues(event);\r\n this.props.fetchApi(this.tblResponse);\r\n }, 250);\r\n }\r\n\r\n //to search\r\n searchFilter(e) {\r\n this.props.lodingData(true);\r\n this.tblResponse.SearchValue = e.target.value;\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n //to sort\r\n onSort(event) {\r\n this.props.lodingData(true);\r\n this.setState({ sortOrder: this.state.sortOrder === 1 ? 2 : 1 });\r\n const sortField = event.multiSortMeta[0].field === \"CreatedDate\" ? \"CreatedDt\" : event.multiSortMeta[0].field;\r\n this.tblResponse.SortColumn = sortField ? sortField : \"\";\r\n this.tblResponse.SortOrder = this.state.sortOrder === 1 ? 'DESC' : 'ASC';//this.state.sortOrder === 1 ? 'DESC' : 'ASC';\r\n this.props.fetchApi(this.tblResponse);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.mappingList !== this.props.mappingList) {\r\n // this.props.myProp has a different value\r\n if (this.props.mappingList) {\r\n var e = this.props.mappingList;\r\n this.setState({\r\n totalRecords: e[0].TotalRows\r\n });\r\n } else {\r\n this.setState({\r\n totalRecords: 0\r\n });\r\n }\r\n }\r\n debugger\r\n if (prevProps.ExportList !== this.props.ExportList) {\r\n if (this.props.ExportList.length > 0) {\r\n if (this.state.exportitems) {\r\n this.csvLink.current.element.click();\r\n this.setState({ exportitems: false });\r\n }\r\n }\r\n }\r\n }\r\n\r\n exportCSV() {\r\n debugger\r\n this.tblResponse.FromDate = this.state.FromDate.toLocaleDateString();\r\n this.tblResponse.ToDate = this.state.ToDate.toLocaleDateString();\r\n this.tblResponse.First = -1;\r\n this.tblResponse.PageSize = -1;\r\n this.setState({ exportitems: true });\r\n this.props.exportData(this.tblResponse);\r\n }\r\n render() {\r\n return (\r\n
\r\n this.toast = el} />\r\n
\r\n
\r\n

Issued Vs Consumed Report

\r\n \r\n Total Issued Quantity: {this.props.mappingList && this.props.mappingList.length > 0 ?\r\n (this.props.mappingList[0].TotalMappedQty > 0 ? this.props.mappingList[0].TotalMappedQty : '0') : '0'}\r\n \r\n Total Consumed Quantity: {this.props.mappingList && this.props.mappingList.length > 0 ?\r\n (this.props.mappingList[0].TotalConsumedQty > 0 ? this.props.mappingList[0].TotalConsumedQty : '0') : '0'}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n {/*
\r\n \r\n
*/}\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n { this.dt = el; }}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n mappingList: state.mappingRpt.items,\r\n ExportList: state.mappingRpt.exportitems == undefined ? [] : state.mappingRpt.exportitems,\r\n loading: state.mappingRpt.loading\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchApi: (obj) => {\r\n dispatch(mappingRptActions.getOUT(obj))\r\n },\r\n exportData: (obj) => dispatch(mappingRptActions.exportData(obj)),\r\n lodingData: (isLoding) => dispatch(mappingRptActions.lodingData(isLoding))\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Out)\r\n","import React, { Component } from 'react'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { Button } from \"primereact/button\";\r\nimport { alertActions, QRDetailsRptActions } from \"../../actions/index.js\";\r\nimport { connect } from 'react-redux';\r\nimport tableRequest from '../../models/tableRequest.js';\r\nimport { Toast } from 'primereact/toast';\r\nimport { CSVLink } from \"react-csv\";\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport Select from '@material-ui/core/Select';\r\nimport { TabMenu } from 'primereact/tabmenu';\r\nimport ExcelFile from \"react-export-excel/dist/ExcelPlugin/components/ExcelFile\";\r\nimport ExcelSheet from \"react-export-excel/dist/ExcelPlugin/elements/ExcelSheet\";\r\nimport ExcelColumn from \"react-export-excel/dist/ExcelPlugin/elements/ExcelColumn\";\r\n\r\nclass QRDetailsRpt extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.tblResponse = new tableRequest();\r\n this.exportCSV = this.exportCSV.bind(this);\r\n this.csvLink = React.createRef();\r\n\r\n this.state = {\r\n loading: false,\r\n FromDate: new Date(),\r\n ToDate: new Date(),\r\n first: 0,\r\n rows: 10,\r\n totalRecords: 0,\r\n globalFilter: null,\r\n visible: false,\r\n sortOrder: '',\r\n datalist: [],\r\n headers: [\r\n { label: \"QR Data\", key: \"QrData\" },\r\n { label: \"Name\", key: \"UserName\" },\r\n { label: \"Mobile Number\", key: \"MobileNo\" },\r\n { label: \"Part Image 1\", key: \"PartImageURL1\" },\r\n { label: \"Part Image 2\", key: \"PartImageURL2\" },\r\n { label: \"Feedback Updated On\", key: \"FeedbackUpdatedOn\" },\r\n { label: \"Shop Name\", key: \"ShopName\" },\r\n { label: \"City\", key: \"UserCity\" },\r\n { label: \"State\", key: \"UserState\" },\r\n { label: \"Address\", key: \"UserAddress\" },\r\n { label: \"Verification Mode\", key: \"VerificationMode\" },\r\n { label: \"Verified Date\", key: \"VerifiedDate\" },\r\n ],\r\n items: [\r\n { label: 'Honda Outbound', icon: 'pi pi-fw pi-arrow-up', command: () => { this.setState({ activeItem: 'home' }); } },\r\n { label: 'Holostik Issue Details', icon: 'pi pi-fw pi-arrow-down', command: () => { this.setState({ activeItem: 'settings' }); } },\r\n { label: 'Scan Log', icon: 'pi pi-fw pi-align-center', command: () => { this.setState({ activeItem: 'contact' }); } }\r\n ],\r\n activeItem: null // initially no active item\r\n }\r\n }\r\n componentDidMount() {\r\n var date = new Date();\r\n date.setDate(date.getDate() - 7);\r\n this.tblResponse.FromDate = date.toLocaleDateString();\r\n this.tblResponse.ToDate = new Date().toLocaleDateString();\r\n this.tblResponse.SortColumn = \"VerifiedDate\";\r\n this.setState({\r\n FromDate: date,\r\n ToDate: new Date()\r\n });\r\n\r\n }\r\n GetFeedback() {\r\n this.props.lodingData(true);\r\n let ToDt = new Date();\r\n let FrmDt = new Date();\r\n FrmDt.setDate(ToDt.getDate() - 7);\r\n\r\n const myFmDt = this.getCurrentDateYYYYMMDD(FrmDt);\r\n const myToDt = this.getCurrentDateYYYYMMDD(ToDt);\r\n\r\n this.tblResponse.FromDate = myFmDt.toLocaleDateString();\r\n this.tblResponse.ToDate = myToDt.toLocaleDateString();\r\n\r\n }\r\n\r\n\r\n\r\n getCurrentDateYYYYMMDD(dt) {\r\n var dd = String(dt.getDate()).padStart(2, '0');\r\n var mm = String(dt.getMonth() + 1).padStart(2, '0');\r\n var yyyy = dt.getFullYear();\r\n\r\n dt = yyyy + '/' + mm + '/' + dd;\r\n return dt;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n onModeChange(e) {\r\n this.tblResponse.VM = e.target.value;\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.Data !== this.props.Data) {\r\n // this.props.myProp has a different value\r\n if (this.props.Data) {\r\n var e = this.props.Data;\r\n } else {\r\n this.setState({\r\n totalRecords: 0\r\n });\r\n }\r\n }\r\n }\r\n\r\n exportCSV() {\r\n debugger\r\n this.tblResponse.FromDate = this.state.FromDate;\r\n this.tblResponse.ToDate = this.state.ToDate;\r\n this.tblResponse.First = -1;\r\n this.tblResponse.PageSize = -1;\r\n this.props.exportData(this.tblResponse);\r\n setTimeout(() => {\r\n this.csvLink.current.element.click();\r\n }, 5000);\r\n }\r\n\r\n renderContent() {\r\n // ramesh\r\n switch (this.state.activeItem) {\r\n case 'home':\r\n return
\r\n
\r\n { this.dt = el; }}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
;\r\n case 'settings':\r\n return
\r\n
\r\n { this.dt = el; }}>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
;\r\n case 'contact':\r\n return
\r\n\r\n
\r\n { this.dt = el; }}>\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n
\r\n\r\n
;\r\n default:\r\n return
\r\n
\r\n { this.dt = el; }}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
;\r\n }\r\n }\r\n\r\n handleInputChange = (event) => {\r\n // Dispatch action to set qrCodeData in Redux store\r\n const qrdata = event.target.value;\r\n this.props.setQRCodeData(qrdata);\r\n }\r\n render() {\r\n return (\r\n
\r\n this.toast = el} />\r\n
\r\n
\r\n

QR Details Report

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n {/*
\r\n { this.dt = el; }}>\r\n \r\n \r\n \r\n {\r\n if (data.PartImageURL1 != null) return (View)\r\n }} disabled header=\"Part Image 1\" sortable>\r\n {\r\n if (data.PartImageURL2 != null) return (View)\r\n }} disabled header=\"Part Image 2\" sortable>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
*/}\r\n\r\n
\r\n \r\n
\r\n {this.renderContent()}\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n Data: state.QRDetailsRpt?.items,\r\n List: state.QRDetailsRpt.exportitems == undefined ? [] : state.QRDetailsRpt.exportitems,\r\n loding: state.QRDetailsRpt.loding\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n // fetchProductDetails: (ProductCode) => {\r\n // dispatch(fgTraceabilityReportActions.getFGTraceabilityReport(ProductCode))\r\n // },\r\n // fetchIntermediateDetails: (ProductCode) => {\r\n // dispatch(fgTraceabilityReportActions.getIntermediateTraceability(ProductCode))\r\n // },\r\n setQRCodeData: (qrdata) => {\r\n dispatch(QRDetailsRptActions.getReport(qrdata))\r\n },\r\n // fetchApi: (obj) => {\r\n // dispatch(QRDetailsRptActions.getAll(obj))\r\n // },\r\n exportData: (obj) => dispatch(QRDetailsRptActions.exportData(obj)),\r\n lodingData: (isLoding) => dispatch(QRDetailsRptActions.lodingData(isLoding))\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(QRDetailsRpt)\r\n","import React, { Component } from 'react'\r\nimport Header from './Header';\r\nimport Footer from './Footer';\r\n\r\nimport { BrowserRouter as Router, Switch, Route } from 'react-router-dom';\r\nimport Dashboard from './../views/Dashboard';\r\nimport ProductMaster from './../components/masters/productMaster';\r\nimport roleMaster from './../components/masters/roleMaster';\r\nimport Profile from './../views/Profile';\r\nimport IssueNumber from '../components/mapping/IssueNumber';\r\nimport Mapping from './../components/transactions/Mapping';\r\nimport DeMapping from './../components/transactions/DeMapping';\r\nimport Damage from './../components/transactions/Damage';\r\nimport UserMaster from './../components/masters/userMaster';\r\nimport VerificationLog from './../components/reports/VerificationLog';\r\nimport MappingRpt from './../components/reports/MappingRpt';\r\nimport FeedbackRpt from './../components/reports/FeedbackRpt';\r\nimport ProductConfiguration from '../components/masters/ProductConfiguration';\r\nimport numberGenerationRpt from '../components/reports/numberGenerationRpt';\r\nimport numberTrackingRpt from '../components/reports/numberTrackingRpt';\r\nimport DamageRpt from \"../components/reports/DemageRpt\";\r\nimport Out from '../components/reports/Out';\r\nimport QRDetailsRpt from '../components/reports/QRDetailsRpt';\r\nexport default class Template extends Component {\r\n render() {\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","import React, { Component } from 'react';\nimport './App.css';\n// import './DataTableDemo.css';\nimport Login from './views/Login';\nimport ProductAuthentication from './views/Pa';\nimport Template from './templates/Template';\nimport { BrowserRouter as Router, Switch, Route } from 'react-router-dom';\nimport 'primereact/resources/themes/saga-blue/theme.css';\nimport 'primereact/resources/primereact.min.css';\nimport 'primeicons/primeicons.css';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { makeStyles } from '@material-ui/core/styles';\n\nimport { connect } from 'react-redux';\nimport { alertActions } from '../src/actions';\nimport Dashboard from './views/Dashboard';\n\nclass App extends Component {\n constructor(props) {\n super(props)\n this.state = {\n login: false,\n show:true,\n authPage: ' ',\n alertHeading:'',\n urlParams:'',\n showToaster:false,\n }\n }\n\n componentDidMount() {\n //console.log(this.props.alert);\n this.props.clear();\n this.setState({urlParams:window.location.pathname});\n // if (urlParams === '/dashboard') {\n // this.setState({\n // authPage: 'login'\n // })\n // }\n // if (this.state.authPage === 'login')\n // {\n\n let storeCollector = JSON.parse(sessionStorage.getItem(\"LoggedInUser\"));\n // //console.log(storeCollector); \n if (storeCollector && storeCollector.login) {\n this.setState({\n login: true\n })\n } else {\n this.setState({\n login: false\n })\n } \n }\n \n\n componentWillUnmount () {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n }\n }\n\n render() {\n \n if(Object.keys(this.props.alert).length > 0) {\n setTimeout(()=>this.props.clear(),6000)\n }\n\n return (\n <> \n {this.props.alert.message && \n
\n
\n {this.props.alert.type == 'alert-warning' ? : this.props.alert.type == 'alert-success' ? : this.props.alert.type == 'alert-danger'? : null}\n
\n
\n
{this.props.alert.type == 'alert-warning' ? 'Warn Message' : this.props.alert.type == 'alert-success' ? 'Success Message' : this.props.alert.type == 'alert-danger'? 'Error Message' : null}
\n {this.props.alert.message}\n
\n {/* this.props.clear()}>X */}\n
\n }\n \n \n \n \n \n \n \n \n {this.state.login ? (this.state.urlParams == '/pa' ? null :