{"version":3,"sources":["assets/images/logo.png","assets/images/unwt.JPG","assets/images/nrm.JPG","assets/images/ov.JPG","assets/images/obs.JPG","assets/images/MapIcon.png","assets/images/pending.png","assets/images/website/benefits1.png","assets/images/website/benefits2.png","assets/images/website/benefits4.png","assets/images/website/benefits3.png","assets/images/website/benefits5.png","assets/images/website/benefits6.png","assets/images/website/237.jpg","assets/images/website/image3.png","assets/images/website/Group2.png","assets/images/website/mission 1.png","assets/images/website/232.jpg","assets/images/website/236.png","assets/images/website/nurse.jpg","assets/images/website/image2.png","assets/images/website/image1.png","assets/images/website/Rectangle1.png","assets/images/website/234.png","assets/images/website/Frame1.png","assets/images/website/Frame.png","assets/images/website/doctor1.png","assets/images/website/doctor2.png","assets/images/website/doctor5.png","assets/images/website/doctor4.png","assets/images/website/229.jpg","assets/images/website/patient12.jpg","assets/images/website/doctors10.jpg","assets/images/website/223.jpg","assets/images/website/pharmacy1.jpg","assets/images/website/blackarrow.png","assets/images/website/225.jpg","assets/images/website/239.png","assets/images/website/rest4.png","assets/images/website/rest5.png","assets/images/website/rest1.png","assets/images/website/calender.png","assets/images/website/online.png","assets/images/website/Group 75.png","assets/images/vitaldetails5.png","assets/images/banner1.jpg","assets/images/banner2.jpg","assets/images/banner3.jpg","assets/images/banner4.jpg","assets/images/banner5.jpg","assets/images/banner6.jpg","assets/images/vitaldetails4.png","../node_modules/yargs-parser sync","../node_modules/require-main-filename sync","assets/images/website/ProductFeature6.png","assets/images/website/ProductFeature9.png","assets/images/website/ProductFeature11.png","assets/images/website/ProductFeature7.png","assets/images/website/Benifits8.png","assets/images/website/Benifits9.png","assets/images/website/Benifits10.png","assets/images/website/Benifits11.png","assets/images/website/Benifits5.png","assets/images/website/book1.svg","assets/images/website/book2.svg","assets/images/website/book3.svg","assets/images/website/Patientmang1.png","assets/images/website/Patientmang2.png","assets/images/website/Patientmang3.png","assets/images/website/Patientmang4.png","assets/images/website/Hospitalmang1.png","assets/images/website/Hospitalmang2.png","assets/images/website/Hospitalmang3.png","assets/images/website/Hospitalmang4.png","assets/images/website/Doctormang1.png","assets/images/website/Doctormang2.png","assets/images/website/Doctormang3.png","assets/images/website/Doctormang4.png","assets/images/vitaldetails1.png","assets/images/vitaldetails2.png","assets/images/vitaldetails3.png","assets/images/website/product4.png","config/data.js","components/UI/StarField.js","components/UI/InputField.js","components/UI/SpanField.js","views/Headerweb.js","actions/Validation.js","components/UI/ErrorAlert.js","components/UI/Spinner.js","components/UI/Dnaspinner.js","views/login/login.js","components/UI/LogoSection.js","components/UI/FooterSection.js","components/UI/GenderField.js","components/UI/Button.jsx","components/UI/Label.js","components/UI/CheckboxField.js","components/container/ClientSignup.jsx","components/container/BusinessSignup.jsx","components/container/ConsumerSignup.jsx","components/UI/Heading4.js","components/container/PharmacySignup.jsx","views/Footerweb.js","views/register/Register.js","views/register/VerificationPage.js","views/NotFound/index.js","components/UI/FooterAds.js","views/ForgetPassword.js","components/UI/ProfileLogo.js","components/UI/TextArea.js","components/UI/CheckboxOrRadioGroup.js","components/UI/MonthPick.js","components/UI/YearPick.js","components/UI/ProfilePicModel.js","constants/config/data.js","constants/globalLevelFunctions.js","components/container/layout/business/Header.jsx","components/container/SideBar.jsx","components/UI/Footerad.js","components/container/modal/IdleModal.js","components/UI/Popupinfo.js","components/UI/Popup.js","views/BusinessProfile.js","components/container/layout/business_user/Header.jsx","views/BusinessUserProfile.js","components/container/layout/client/Header.jsx","components/container/layout/client/SideBar.jsx","components/UI/ToggleButton.js","views/ClientProfile.js","views/Profile.js","views/video.js","components/UI/ExpirePopup.js","components/UI/DoctorPopup.js","views/BusinessUserList.js","components/GuestRoute.js","components/AuthRoute.js","components/container/layout/pharmacy/Header.jsx","components/UI/Heartrate.js","components/container/layout/business/Dashboard.js","components/container/layout/business_user/Dashboard.js","components/container/layout/client/Dashboard.js","components/container/layout/pharmacy/Dashboard.js","views/Dashboard.js","views/QueueList.js","views/AppointmentList.js","views/Search.js","views/ScheduleConfirmation.js","components/UI/CheckboxGroup.js","views/ClientFamilyDetails.js","views/SearchFilter.js","views/ClientFavourites.js","views/ClientAppointments.js","components/container/BusinessSignup1.js","components/container/BusinessUserSignup1.jsx","components/container/ClientSignup1.jsx","components/container/PharmacySignup1.jsx","views/UpdateProfile.js","components/UI/LoadingSpinner.js","views/ClientsExport.js","views/Clients.js","views/DiseasesExport.js","views/Diseases.js","views/DrugsExport.js","views/DrugTemplate.js","views/Drugs.js","views/AddDrugs.js","views/DrugList.js","views/ClientCheckin.js","views/Business/LabListExport.js","views/Business/LabTemplate.js","views/Business/LabList.js","views/Business/PharmacyListExport.js","views/Business/PharmacyListTemplate.js","views/Business/PharmacyList.js","views/Business/FacilityList.js","views/Business/Rooms.js","views/Business/httpcommon.js","views/Business/UploadFilesservice.js","views/Business/PatientCheckin.js","views/Business/ReferralDetails.js","views/Business/BusinessuserProfile.js","views/Business/ClientProfile.js","views/MedicineSuppliesExport.js","views/MedicineSuppliesTemplate.js","views/MedicineSupplies.js","views/Business/PharmacyProfile.js","views/AppointmentCheckin.js","views/Business/BusinessLayout.js","components/container/layout/admin/SideBar.js","components/container/layout/admin/Header.js","views/Promocode.js","views/FooterAdverdisement.js","views/Business/ViewBusinessProfile.js","views/Business/ViewBusinessUserProfile.js","views/Business/ViewClientProfile.js","views/Business/ViewProfile.js","views/SymptomsExport.js","views/Symptoms.js","components/container/layout/ConsultHeader.js","views/FollowupDetails.js","views/ReferralDoctor.js","views/ConsultationHistory.js","views/CaseHistorypsychiatrist.js","views/Consult.js","views/DoctorConsultation.js","views/Prescription.js","views/ClientPrescription.js","views/ClientMedicineScheduling.js","views/ClientConsultation.js","views/Consultationsummary.js","views/ClientApptConsultation.js","views/ClientApptPrescription.js","views/Referrals.js","views/QueueAssignment.js","views/PrintPrescription.js","views/QrReader.js","views/QRCode.js","views/Topmove.js","views/Percentage.js","views/Slideklinicq.js","views/Website.js","views/Simpleslider.js","views/LogoSlider.js","views/Whatsapp.js","views/Webadslider.js","views/Webblog.js","views/Webbenifits.js","views/ManagmentSlider.js","views/HospitalSearch.js","views/TestHome.js","views/Support.js","views/SupportDefault.js","views/VendorForm.js","views/UpdateVendorForm.js","views/ClientBookAppointments.js","components/UI/withDnDContext.js","views/Business/ShiftPlanner.js","views/Business/DoctorShiftPlanner.js","views/Business/AddPrescription.js","views/Business/InPatientPrescription.js","components/UI/TextEditor.js","views/AdminDashboard.js","views/NewsFeeds.js","views/Notification.js","views/DoctorListExport.js","views/DoctorList.js","views/HospitallistExport.js","views/HospitalList.js","views/PatientListExport.js","views/PatientList.js","views/SalesNvoice.js","views/AdminPharmacyListExport.js","views/AdminPharmacyTemplate.js","views/AdminPharmacyList.js","views/LabExport.js","views/AdminLabTemplate.js","views/AdminLabList.js","views/Inventory/SupplierList.js","views/Inventory/StorageBin.js","views/Inventory/PurchaseInfo.js","views/Inventory/StockReport.js","views/AdminDrugTemplate.js","views/DrugImport.js","views/SymptomImport.js","views/SpecialityList.js","views/SubscriptionPlan.js","views/ShowSubscription.js","views/ShowSubscriptionClient.js","views/Timeout.js","views/DoctorCountBySubscription.js","views/InboxController.js","views/PrivacyPolicy.js","views/TermsAndCondition.js","views/Faq.js","views/FaqWeb.js","views/Offers.js","views/ViewOffers.js","views/OffersWeb.js","views/Videoupload.js","views/DoctorAppointment.js","views/QueueCompletedReport.js","views/QueueReport.js","views/Business/VisitListExport.js","views/Business/VisitList.js","views/AppointmentCompletedReport.js","views/AppointmentReport.js","views/ApptCheckout.js","views/Business/Addapptprescription.js","views/Printapptprescription.js","views/Business/VisitApptListExport.js","views/Business/VisitApptList.js","views/ResetPassword.js","views/Video/Track.js","views/Video/Participant.js","views/Video/Room.js","views/Video/JoinRoom.js","views/Feeds.js","views/Inventory/RequirementList.js","views/Inventory/MaterialMovement.js","views/Transfertype.js","views/help.js","views/Hospitalprintprescription.js","views/InpatientModule/InPatientCheckin.js","views/InpatientModule/InpFacilityList.js","views/InpatientModule/InpRoomTransfer.js","views/InpatientModule/InpatientList.js","views/InpatientModule/InpatientConsultation.js","views/InpatientModule/InPatientBilling.js","views/InpatientModule/AmbulanceManagement.js","views/SupportNew.js","views/SupportLatest.js","views/ServiceCharges.js","views/Canvas.js","views/PrescriptionTemplate.js","views/PrintPrescriptionnew.js","views/PrescriptionList.js","views/ViewPatientPrescription.js","views/ItemsExport.js","views/ItemTemplate.js","views/PharmacyDruglist.js","views/PharmacyDrugslist.js","views/OpeningStockTemplate.js","views/PurchaseEntryVoucher.js","views/ManufacturerExport.js","views/ManufacturerTemplate.js","views/Manufacturerlist.js","views/VendorList.js","views/Createlogin.js","views/Createlogin2.js","views/Webproduct.js","views/Webcontact.js","views/Webhospital.js","views/Webpatient.js","views/Webphysician.js","views/Solution.js","views/Benifits.js","views/BookDemo.js","views/PatientManagment.js","views/HospitalManagment.js","views/WebdoctorSlider.js","views/DoctorManagment.js","views/ListOfService.js","views/PurchaseRegister.js","views/ViewPurchaseEntryVoucher.js","views/PurchaseReport.js","views/CustomerList.js","components/UI/Quantitypopupinfo.js","views/BatchSelectModal.js","views/SaleEntryVoucher.js","views/SaleEntryVoucherForBusiness.js","views/SaleRegister.js","views/ViewSaleEntryVoucher.js","views/StockandSaleReport.js","views/BatchwiseStockReport.js","views/OpeningStockUpload.js","views/ViewSaleEntryVoucherb2b.js","components/SaleNvoiceb2b.js","views/PurchaseReturnSelectModal.js","views/PurchaseReturnVoucher.js","views/PurchaseReturnInvoice.js","views/SaleReturnVoucher.js","views/SaleReturnVoucherForBusiness.js","views/CustomerDetails.js","views/PatientDetails.js","views/Creditnoteinvoice.js","views/CreditNoteRegister.js","views/ViewSaleReturnVoucher.js","views/ViewSaleReturnVoucherb2b.js","views/DebitNoteRegister.js","views/ViewPurchaseReturnVoucher.js","views/ExpiryBreakageDNVoucher.js","views/ExpiryBreakageReturnInvoice.js","App.js","actions/appdata.js","reducers/AppDataReducer.js","reducers/AuthReducer.js","reducers/SearchReducer.js","reducers/ValidityReducer.js","reducers/index.js","reducers/ErrosReducer.js","reducers/UserReducer.js","store.js","index.js","actions/errors.js","assets/images/support.png","assets/images/bmi_icon.png","assets/images/phone.png","assets/images/website/product1.png","assets/images/website/product2.png","assets/images/website/product3.png","assets/images/website/Hospitalslide1.png","assets/images/website/profile3.png","assets/images/logo.jpg","assets/images/profile-strength.png","assets/images/website/arrowup.png","assets/images/website/feature-2.png","assets/images/website/feature-6.png","assets/images/website/219.png","assets/images/website/Group8.png","assets/images/user1.jpg","assets/images/map-pin.png","assets/images/website/Benifits4.png","assets/images/website/Benifits2.png","assets/images/website/Benifits3.png","assets/images/website/Benifits6.png","../node_modules/yargs sync","assets/images/website/product5.png","assets/images/website/patient8.png","assets/images/website/profile1.webp","assets/images/hospital.png","assets/images/user.png","assets/images/website/Benifits1.png","assets/images/website/Benifits7.png","assets/images/website/doctor6.png","assets/images/website/doctor3.png","assets/images/website/rest3.png","../node_modules/yargs/lib sync","assets/images/website/ProductFeature1.png","assets/images/website/ProductFeature2.png","assets/images/website/ProductFeature3.png","assets/images/website/ProductFeature4.png","assets/images/website/ProductFeature5.png","assets/images/website/ProductFeature8.png","assets/images/website/ProductFeature10.png","assets/images/website/ProductFeature12.png","assets/images/website/feature-3.png","assets/images/website/feature-4.png","assets/images/website/feature-5.png","assets/images/website/profile.png","assets/images/website/issue1.png","assets/images/website/issue2.png","assets/images/website/issue3.png","assets/images/website/issue4.png","assets/images/website/issue5.png","assets/images/website/issue6.png","assets/images/website/issue7.png","assets/images/website/issue8.png","assets/images/website/242.jpg","assets/images/website/243.jpg","assets/images/website/Hospitalslide2.png","assets/images/website/Hospitalslide3.png","assets/images/website/footerlogo.png","assets/images/website/social1.png","assets/images/website/social2.png","assets/images/website/social3.png","assets/images/website/social4.png","assets/images/website/apple.svg","assets/images/website/android1.png","assets/images/media1.png","assets/images/media2.png","assets/images/media3.png","assets/images/media4.png","assets/images/media5.png","assets/images/media6.png","assets/images/play1.png","assets/images/play2.png","assets/images/advertismenttop2.jpg"],"names":["module","exports","webpackEmptyContext","req","e","Error","code","keys","resolve","id","imageconfig","bucketName","region","clientmedimageconfig","dirName","videoconfig","axios","post","getCredentials","then","res","console","log","data","accessKeyId","value","secretAccessKey","catch","nationalityArray","blood_group","label","gender","category","time_limit","payment_status","language","relationship","employee_status","marital_status","maritial_status","designation","CONFIG","headers","Razor_CONFIG","token","localStorage","getItem","AUTH_CONFIG","card_type","support_categories","issue_description","vendor_category","categorylist","StarField","props","className","InputField","React","createElement","Fragment","title","isMandatory","name","type","inputType","content","max","min","step","onChange","controlFunc","placeholder","disabled","isvisible","readOnly","SpanField","classname","onClick","Headerweb","Component","constructor","super","handleScroll","window","scrollY","this","setState","isSticky","toggleMenu","prevState","showMenu","toggleDropdownAbout","isExpanded","isAboutView","toggleDropdownProduct","isProductView","toggleDropdownBenifit","isBenifitView","toggleDropdownContact","isContactView","toggleDropdownSolution","event","preventDefault","isSolutionView","toggleDropdownClinical","isSolutionClinical","toggleDropdownAppointment","isSolutionAppointment","userAuth","history","push","bookademo","state","componentDidMount","addEventListener","componentWillUnmount","removeEventListener","render","isClass1Show","href","src","require","alt","data-bs-toggle","data-bs-target","aria-controls","aria-expanded","aria-label","concat","NavLink","exact","to","pathname","class","data-toggle","role","aria-haspopup","style","padding","hash","textDecoration","color","backgroundColor","border","fontSize","Validations","errors","formIsValid","page","room_id","is_available","price_per_day","facilities","status","supplier_id","drug_id","order_unit","manufacturer","min_lot","max_lot","discount","gst","price_per_unit","match","supplier_name","payment_terms","address","phone_number","storagebin_id","storage_type","capacity","stock_placement","stock_removal","rack","aisle","Transfer_type","generic_name","mrp","expiry_date","stock_keeping_unit","ordering_unit","tax_category","drug_name","supplies_id","supplies_name","supplies_category","amount","promo_code","percentage","expires_at","months","subscription_id","vendor_name","address1","city","country","zipcode","isValidPhoneNumber","vendor_subscription","email","RegExp","test","zip_code","pan","gstreg_type","user_type","first_name","last_name","password","date_of_birth","agreedOption","includes","agreeTC","nationality","length","category_array","business_name","schedule_type","fax_number","working_days","working_hours","morning_opens_at","morning_close_at","evening_opens_at","evening_close_at","working_hours_morning","working_hours_evening","speciality","pharmacy_name","pharm_address1","otp","confirm_password","image","undefined","licence_id","qualification","morning_shift_start","moring_shift_end","evening_shift_start","evening_shift_end","employee_id","Object","toLowerCase","consulting_fees","disease_id","disease_name","disease_category","searchdisease_id","diseaseid_error","subscription","unit_of_measure","active_ingredients","hsn_code","igst","cgst","sgst","storage_bin","storage_condition","rx_category","facility_id","facility_name","facility_category_obj","facility_category","facility_availability","availability","occupied","total","pharmacy_id","online_prescription_obj","online_prescription","laboratory_id","laboratory_name","laboratory_location","symptom_id","symptom_name","symptom_category","Fromdate","Todate","education","specialization","university","completion_month","completion_year","organization","certification_completion_month","certification_completion_year","valid_upto_month","valid_upto_year","hospital","ex_address","ex_city","ex_state","ex_country","experience_from","experience_to","licence_Id","expiration_date","education_level","occupation","living_situation","cycle_time","reschedule_time","daily_info_open_time","password_confirmation","matchPassword","securePassword","selectedDoc","from","morning_shift_end","shift","n_client_id","n_business_id","n_business_user_id","other_comments","n_schedule_day_id","payment_mode","payment_type_error","clientList","ErrorAlert","message","Spinner","loading","Dnaspinner","visible","height","width","ariaLabel","wrapperStyle","wrapperClass","FadeStyle","styled","div","_templateObject","keyframes","_templateObject2","fadeInDown","login","handleInput","target","handlepassword","$","toggleClass","input","attr","handleForgotPasswordSubmit","registered_detail","email_phonenumber","defaults","common","access_token","forgotPasswordClient","result","resultData","error","clearErrorMessage","user","forgotuser","reqdata","notificationdata","phone_code","sendemail","sendsms","err","unique_id","isOTPField","issubmitted","temp","setTimeout","resendsuccess","handleForgotPasswordCancel","isverified","isForgotPasswordClicked","handleOtp","otp_data","resendotpvalue","verifyOTPClient","clearForm","resendOtp","url","Notificationdata","textNotificationURL","phoneNumber","emailNotificationURL","resendOTPClient","resultdata","Promise","setUserData","data1","response","handleSubmit","Validation","LoginUrl","otp_verified","setItem","setLogin","setAuthToken","location","replace","bind","borderRadius","maxWidth","fontFamily","background","OtpTimer","seconds","minutes","resend","toggle","htmlFor","cursor","withRouter","connect","userdata","AuthReducer","dispatch","payload","LogoSection","FooterSection","currentYear","Date","getFullYear","GenderField","labelcls","spanclass","Button","btntype","clsname","marginRight","marginLeft","action","Label","defaultProps","CheckboxField","options","map","option","key","checked","selectedOptions","indexOf","agreeOptions","ClientSignup","ClientData","validateMaxLength","handleCheck","newSelection","parseInt","splice","handleDOBChange","date","clientData","offsetDate","getTime","getTimezoneOffset","handlePhoneInput","handleAddressInput","user_type_id","genderoptions","handleFormSubmit","value1","slice","validateEmail","parsePhoneNumber","countryCallingCode","nationalNumber","RegisterUrl","ref","onSubmit","ToastContainer","position","hideProgressBar","autoClose","closeOnClick","pauseOnHover","PhoneInput","international","defaultCountry","DatePicker","format","yearPlaceholder","monthPlaceholder","dayPlaceholder","setName","rel","google","BusinessSignup","businessData","handleselectChange","address2","latitude","longitude","google_loc_id","google_address","handlePlaceSelect","autocomplete","place","getPlace","componentForm","street_number","administrative_area_level_1","locality","sublocality_level_1","postal_code","lat","geometry","lng","toString","i","address_components","addressType","types","val","maps","places","Autocomplete","document","getElementById","addListener","selectCountry","selectState","p","appdata","forEach","element","index","category_name","Select","maxMenuHeight","styles","control","provided","boxShadow","CountryDropdown","RegionDropdown","defaultOptionLabel","AppData","ConsumerSignup","consumerData","isPossiblePhoneNumber","Heading4","PharmacySignup","pharmacyData","pharm_address2","pharmacy_location","handlePharmacyPlaceSelect","autocomplete_pharmacy","formatted_address","FooterWeb","Register","changeUsertype","getElementsByName","search","referral_code","values","queryString","parse","ref_value","params","setReferralData","VerificationPage","toast","success","requestData","sendotp","aria-labelledby","Index","FooterAds","specialCharacterRegx","upperCaseRegx","lowerCaseRegx","isNumberRegx","ForgetPassword","passValidity","maxlength","number","specialchar","uppercase","lowercase","changePassword","resetpasswordClient","cancel","handleresetpassword","formSuccess","data-target","ProfileLogo","TextArea","resize","rows","maxLength","CheckboxOrRadioGroup","MonthPick","defaultValue","short","caps","endYearGiven","year","selectedOption","classes","optionClasses","YearPick","start","startyear","end","endyear","reverse","ProfilePicModel","editImage","startcamera","hiddenProfileImageInput","current","click","imageSelectHandler","files","profile_img","URL","createObjectURL","createRef","headerinfo","Modal","centered","backdrop","Header","closeButton","Title","Body","startWebCamera","imageSelection","hidden","accept","openWebCamera","onTakePhoto","dataUri","takePicture","onCameraError","handleCameraError","idealFacingMode","FACING_MODES","ENVIRONMENT","idealResolution","imageType","IMAGE_TYPES","JPG","imageCompression","isMaxResolution","isImageMirror","isSilentMode","isDisplayStartCameraError","isFullscreen","sizeFactor","onCameraStart","stream","onCameraStop","Footer","movement_type","stock_type","SOCIAL_HISTORY","checkin_category","Map","set","MONTH_PAIR","VISIT_TYPE","shift_series","monthNumList","formatDate","dateString","day","String","getDate","padStart","month","getMonth","stringToLabelValue","convertedlanguage","getKeyFromValue","mapData","entries","filter","1","v","k","getMaxIdOfRecords","records","returnId","Math","apply","o","calculate_age","today","birthDate","age_now","m","getAppointmentStatus","record","columnType","returnStatus","appt_status","getQueueStatus","getTimeFormat","time","TimeFormatValue","getTimeFormatToUI","time_Ui_Data","arrayTime","split","Type","Time","getDateISOFormat","givenDate","dd","mm","getShiftSymbol","shiftSymbol","getGivenDateStringFormat","toDateString","getFrequencyFromDays","getPatientProfileColor","queue_data","getPatientAppointmentColor","getPatientsubstring","substring","gethhmmss","morning_shift","evening_shift","dt","startDate","setDate","endDate","a","b","toISOString","substr","getProfilePercentage","setDaysoftheWeek","createShift","s","d","getDay","renameKey","obj","oldKey","newKey","toBase64","file","reject","reader","FileReader","readAsDataURL","onload","onerror","dataTransfer","newfileName","reacts3client","S3","uploadFile","updateavatar","addPopup","autoplay","loop","nav","items","dots","adverdisement","profile_name","work_place","languages_known","profile_percentage","rating","profile_percentage_style","speciality_detail","selectedFile","handleTakePhotoAnimationDone","onloadend","imagePreviewUrl","fd","FormData","append","request","XMLHttpRequest","onreadystatechange","readyState","alert","open","uploadImage","send","loggedInuserId","user_id","getBusinessShortDetail","business_id","short_details","info","avatar","setBusinessShortData","getAdvertisementData","show","onHide","marginBottom","loggedIn","message_count","logout","setClick","useState","aria-hidden","data-simplebar","speciality_name","borderbottom","removeItem","Footerad","getallfooterad","margin","footer_adverdisement","IdleTimeOutModal","showModal","handleClose","handleLogout","remainingTime","variant","Popupinfo","Popup","onConfirm","scuedueType","paymenttype","BusinessProfile","_onIdle","isTimedOut","timeout","idleTimer","reset","clearMessage","handleSechduleType","handleWorkingDays","working_all_days_data","working_all_days","newSelectionArray","wd","handlePaymentSelect","payment_type","getBusinessById","specialities_array","specialities","e1","payment_details","facility","facilities_array","hours_24","updateProfile","put","UpdateBusiness","DeleteAccount","deletePopup","confirmedDelete","enableEditable","editable","hospitaltimeout","adminstatus","website","year_of_build","profile_summary","payment_details_error","reviewinfo","friendliness","value_of_money","less_wait_time","best_treatment","easy_explanation","good_facility","commentsinfo","commenter","overall_rating","comment_text","reviewed_on","commentsArr","onAction","_onAction","onActive","_onActive","onIdle","handleWorkhoursChange","field","working_hours_data","getTimeoutbycategory","getReviwes","reviewResult","reviewResultData","commentsData","comments","friendlyness","addPaymentDetail","removePaymentDetail","handlePaymentDetailChange","fields","editProfile","cancelEdit","debounce","hospitalpopup","switch","data-on-label","data-off-label","isMulti","el","credit_card","isDisable","card_name","expiry_month","expiry_year","cvv","payment_option","starRatedColor","starDimension","starSpacing","numberOfStars","starEmptyColor","ReviewBy","ReviewOn","over_all_review","doctor_id","getBusinessuserShortDetail","business_user_id","showToast","eq_record","cert_record","valid_URL","experience_record","ex_zipcode","medical_licence_record","BusinessUserProfile","autocomplete_ex_address","handleExperiencePlaceSelect","getBusinessUserById","userData","details","businessUserData","age","sex","bg","moment","toDate","business_user_type","business_user_type_id","educational_qualification","certification","experience","medical_licence_details","getBusinessUserdetails","commentinfo","submitData","pageAction","Specialities","lang","updateBusinessUser","handleInputChange","handlePhoneInputChange","handleCertificateInputChange","certifications_formData","validateMaxLengthforcertificates","handleExperienceInputChange","experiences_formData","validateMaxLengthforexperiences","handleMedicalLicenceInputChange","medical_licence_formData","validateMaxLengthformedicallicence","handleDatePickerChange","formName","handleExDateChange","perandspeDisabled","expandmemDisabled","hoursdisabled","alldaysbtnClicked","checkalldays","edEdit","exEdit","certEdit","medEdit","profile_pic","medical_licence_id","certifications","specilization","certification_type","educational_qualification_formData","educational_qualification_errors","completion_year_month","medical_licence_error","certificate_errors","experiences_errors","education_columns","text","align","sortable","TrOnlyClassName","cell","edAction","editEqucationRecord","onDeleteClick","certificateColumns","certAction","editCertificateRecord","experienceColumns","exAction","editExperienceRecord","medical_licence_columns","medAction","editMedicalRecord","config","show_pagination","show_filter","show_length_menu","show_info","button","excel","print","enableHours","handleCertificationChange","addCertificationDetail","formData","assign","s_no","updateRecordIndex","item","get","valid_date","initalData","addExperienceDetail","maxId","dataObj","completion","validity","handleExperienceChange","addMedicalLicenceDetail","cancelAddEdit","tableName","handleEducationDetailChange","addEducationDetail","education_id","specialization_id","deleteRecord","deleteIndex","completionObj","getMonthValue","removeCertificationDetail","specializations_array","specializations","display","trim","paddingBottom","columns","headerInfo","full_name","registeration_id","getClientShortDetail","client_id","patient_id","ToggleButton","data-on","dataOn","data-off","dataOff","ClientProfile","addDisResponseMessage","searchformSuccess","handlenationalityselectChange","handlegenderselectChange","handlemaritalstatusselectChange","emergency_contact","vehicle_details","employment_details","insurance_details","medical_history","family_medical_history","family_details","updateClient","editEnabled","editDisabled","employer_name","vehicle_make","vehicle_model","vehicle_registration","year_of_make","vin_number","insurance_provider","policy_id_number","health_insurance_confirmation","patient_policy_holder","family_details_errors","handleEmployeePlaceSelect","autocomplete_address1","getClientById","ExistingvehicleDetails","ExistingPaymentDetails","Array","isArray","JSON","stringify","yourDate","convertedblood","convertedgender","convertedmaritial_status","convertednationality","addVehicleDetail","removeVehicleDetail","handleVehicleDetailChange","newplace","handleEmploymentDetails","isValid","handleInsuranceDetails","handelVehicleDetails","handelPaymentDetails","handelEmergencyContact","disease_array","diseases","disease","tabIndex","Profile","video","ExpirePopup","DoctorPopup","onlineOptions","BusinessUserList","handleStatusColumnChange","doc_status","UpdatestatusColumnChange","user_status","inactiveBusinessUser","list","recIndex","findWithAttr","professional_id","dob","mobile_number","tableSuccess","addRecord","_searchRecords","searchrecords","emergency_number","checkadddoctorvalidity","adddoctorvalidity","doctorvalidity","showadddoctorPopup","actions","requestdata","addBusinessUserToBusiness","resData","searchTableSuccess","getAllBusinessUserList","users","userlist","sort","createEvent","employeeData","handlesearchselectChange","searchData","showDocFields","handlespecialityselectChange","handlespcialityColumnChange","UpdateColumnChange","handleEmergencyPhoneInputChange","handleSearchInput","handleSearchPhoneInputChange","handleSearchSelectChange","handleInputsearch","clearsearch","search_action","searchErrorMessage","saveEmployee","editRecord","checkdata","addEmployee","errorMessage","addEmployeeSuccess","empdata","phncode","updateEmployee","existingRecords","findIndex","Tooltip","searchcolumns","page_size","length_menu","showexpirePopup","successMessage","hospitalData","businessUserid","businessId","future","isAllDayEvent","frequency","scheduleType","sessions","createApiCall","BaseUrl","resdata","error_type","createShiftPlanner","customMsg","removeBusinessUserFromBusiness","removedata","removeshiftplanner","handledobsearch","searchAndShowEmployee","searchEmployee","searchres","countOfRecords","classNameName","searchconfig","ValidityReducer","array","component","rest","_isMounted","getPharmacyShortDetail","setPharmacyShortData","PopupClose","LoadingHeartrate","version","xmlns","x","y","viewBox","enable-background","fill","stroke","stroke-width","stroke-miterlimit","points","time_break","domain","Dashboard","admin_data","cycle_time_break","reschedule_time_break","handleArrayInput","selectoption","doctors_list_data","doctor_exactarrivaltime","handleTimingSelect","j","selected_schedule_day_id","getAllHospitalQueueReport","queue_report_today","queue_report_yesterday","yesterday","getAllReviewsReporturl","getAllReviewsReport","reviews_data","getCharturldata","getCharturl","chart_data","labels","datasets","borderWidth","getDocByBusiness","n_currentdate","doctorList","doctor","doctor_name","is_doctor_arrived","doctor_Appointments","schedule_day_id","currentTime","responseData","daily_info_is_open","open_exacttime","daily_info_cycle_time","cycleTime_UI_Data","daily_info_reschedule_time","rescheduleTime_UI_Data","handleToggle","checkedData","updateDoctorDetails","doc_list","doctorRecord","doctorStatus","updateDoctorStatus","doctorStatusSuccess","datas","UpdateQueueDrOfficeScheduleChange","dynamichandleToggle","utc","updateAdminDetails","is_open","open_time","displayRazorpay","script","body","appendChild","loadScript","currency","order_id","description","handler","razorpay_payment_id","razorpay_order_id","razorpay_signature","prefill","Razorpay","getHours","getMinutes","getSeconds","handleclose","showPopupModal","handleUsehere","idleTimeout","queuein","checkin","cancelled","visits","marginTop","event_name","starttime","endtime","legend","reviewLike","getscheduletypeforbusinessuser","getbasicscheduletypeinfoforbusinessuser","basicscheduletypefordoctor","getvideopathbyguidevideo","videopath","myVid","setAttribute","play","urlbu","getBusinessforBusinessUser","getdata","getAppointmentdata","doctorUpcomingappointment","doctorupcoming","getAllQueueReport","borderColor","getAllAppointmentReport","appointment_report_today","appointment_report_yesterday","updateQueueDetails","updateQueueManagement","hospital_open_time","doctor_arrival_time","doctor_arrival_date","doctor_arrived","hospital_opened","hospital_opened_data","doctor_arrived_data","hospital_open_date","scheduled","appt_time","patient_name","client_appt_id","gotoappointment","marks","selected_queue","getNewsFeeds","newsfeedslist","allnewsFeeds","getReferralDetails","referral_details","getupcomingappointment","famiy_data","upcomingAppointment","upcomingfamilyAppointment","postData1","GetHistoryVitals","consultantHistory","with_in_30","weight","bp","pulse","temperature","bmi","with_in_week","with_in_3_months","with_in_6_months","with_in_year","with_in_2_years","Historyheight","Historyweight","Historytemperature","Historybmi","Historybp","Historypulse","getClientQueueData","appt_start_time","appt_end_time","navigator","geolocation","getCurrentPosition","LatLng","coords","dest","DistanceMatrixService","getDistanceMatrix","origins","destinations","travelMode","distance","duration","results","elements","gotofeeds","start_date","doc_name","client_details","toFixed","joinroom","doctor_reg_id","patient_first_name","patient_last_name","vitalDetails","prescription_count","inputId","preference","expected_time","Moment","waitTime","asMinutes","q_id","Slider","valueLabelDisplay","feeds","short_description","dangerouslySetInnerHTML","__html","total_credits","numberofreferrals","total_coupons","numberofrewards","getPharmacyByUserId","IdleTimer","Bar","BusinessHeader","BusinessUserHeader","PharmacyHeader","BusinessUserSideBar","ClientSideBar","BusinessDashboard","BusinessUserDashboard","PharmacyDashboard","ClientDashboard","QueueList","doctor_shift","doc","doctor_appointment","selected_doctor","selected_shift","getQueueEntries","refreshData","componentDidCatch","async","selectedoption","timestamp","queue","actual_checkin_time","queueList","selectedQueue","parent_phone_number","GetallQEntries","qdata","reload","AppointmentList","getAppointments","GetHospitalAppointmentList","doctorupcomingarray","mapStyles","Search","showFamilydetail","queuein_data","expected_wait_time","doctor_appointment_detail_list","docList","doctor_obj","schedule_id","appt_id","doctor_list","getdoctordetails","doctor_details","selected_doc","selected_appointment","selected_doc_schedule_type","selected_doctor_appointment_detail_list","openModal","getpaymenttypeforbusiness","paymenttypeforhospital","getDocByBusinesswithspeciality","closePopup","listofClientForQueue","closebookPopup","bookModel","rebookModel","editModel","bookQueueappointment","qId","selectedHours","service_charges","directservice_charges","total_charges","payable_amt","razorpay_key","RazorPayPayment","updateclientqueuestatus","req_data","scharges_paymentstatus","contact","modal","confirm_close","ondismiss","reason","paymentReason","cancel_data","handlePayment","queuedata","UpdateQueueRemove","cancelData","CancelQueue","theme","paymentObject","on","openbookQueueAppointment","n_status","n_isActive","n_savedtime","listofClientIdForQueue","addQueue_modified","Checkindata","message_from","message_to","link","addCheckinURL","createNotification","openbookAppointment","handleselectUpdateChange","selected","visit_type","handleQueueInput","handleselectDocChange","appointmentDetails","searchBusiness","handleDistanceChange","getmyLocation","getData","enableHighAccuracy","maximumAge","getServiceChargesbycategory","onlineservice_charges","getAllBusinessList","business","business_list","loggedInClient","getClientFamilyDetails","client_family","unshift","family_list","dataArr","family_member","client_name","enableqin","clearSearchData","distance_type","setSearchData","searchresults","reviews","onMapClicked","showingInfoWindow","activeMarker","displayInfo","InfoWindow","marker","mapCenter","onMarkerClick","selectedPlace","onClose","getCenterValue","mapProps","center","ll","mapUrl","searchParams","displayMarkersnew","icon","scaledSize","Size","Marker","displayMarkers","mapImage","iconMarker","MarkerImage","waitingtime","disableDefaultUI","thisday","wait_time","kilometer","currentdate","createAppointmentandAddQueue","createAppointment","selectMemberForQueueIn","selectedClientId","reviewChange","searchReviewId","children","classList","add","remove","facility_list","Todaydate","SideBar","isClearable","zoom","onDragend","ReactDatatable","other_comments_error","reschedule","beforerescheduleclose","cancelAppointment","Onreschedule","SearchReducer","GoogleApiWrapper","apiKey","ScheduleConfirmation","markAsFavourite","fav_class","getDirections","cancelModel","conformCancelAppointment","appointment_time","direction_link","business_address","clientapppointmentId","getQEntryById","appt","apptdata","checkFavorite","cancelAppointmentandQueue","appointment_datetimeStr","cancelRecord","CheckboxGroup","islabel","pop","family_details_form","medicine_history","current_intake_medicine","intake_medicine_notes","medicin_alergy","medicine_alergy_notes","social_habits","ClientFamilyDetails","memberlist","members","member","medicine_history_form","primary","addMemberSuccess","getFamilyMedicalHistoryDetails","selectedFamilyDiseases","fatherDiseases","motherDiseases","getInitalLoadFamilyMedicalHistory","FamilyhistoryData","handleMedicalHistory","handleSocialHabitSelection","selectedSocialHabits","isExist","handleParentMedicalHistory","fmh","handleMedicineIntake","handleMedicinealergy","showDeleteConfirmPopup","emp_action","enableAddMemberbtn","newselectedSocialHabits","recordToDelete","cancelDelete","currentValue","relation","userId","delete","removeFamilyDetails","handleFamilyDetailChange","addFamilyMember","addFamilyDetails","clearAll","updateFamilyMember","newdata","updateFamilyDetails","updateResponse","updateMemberSuccess","currentRecord","okDelete","diseasesArr","oddDiseaseArr","evenDiseaseArr","medicalHistorydiseasesArr","parent_disease_array","medicalHisgroup1","medicalHisgroup2","ceil","SearchFilter","ClientFavourites","loggedInuserName","getallFavouritesbyclientId","favouritesList","favourite","Address","no_of_additional_persion","handlequeueIn","getBusinessScheduleDayId","schedules","ClientAppointments","businessuser_id","businessuser_name","business_user_name","fees","feedback_percentage","no_of_feedback","users_list","handleBookAppointment","BusinessSignup1","selected_category","imageUpload","selectedSchedule","fromMonth","blood_group_options","BusinessUserSignup1","clear","sigPad","trimmedDataURL","getTrimmedCanvas","toDataURL","updatedigitalsignature","is_clear","selectFile","currentFile","getbase64","previewImage","onLoad","base64code","updateData","is_addeducation","handlebloodgroupselectChange","handleYearMonthChange","handleEducationInputChange","validateMaxLengthforeducation","handleEductionCompletionYearMonthChange","experiences","canvasProps","ClientSignup1","handleEmploymentDetailsInput","validateMaxLengthemploymentdetails","family_medical_history_SelectedOptions","newSocialHabits","handleFamilyMedicalHistory","handleInsuranceDetailsInput","validateMaxLengthinsurancedetails","handleEmergencyContactInput","validateMaxLengthemergencycontact","handleFamilyDetailChangeInput","validateMaxLengthfamilydetails","onUploadChange","insurance_details_errors","empautocomplete","convertedmarital_status","encType","addFamilyDetail","removeFamilyDetail","PharmacySignup1","pharmacist_license","pharmacist_license_expirydate","shopact_license","shopact_license_expirydate","food_licence","food_expirydate","drug_licence1","licence1_expirydate","drug_licence2","licence2_expirydate","drug_licence3","licence3_expirydate","pharmacist_name","pharmacist_owner","selected_firm","cin","gst_no","gst_country","gst_state","updateProfilePharmacy","selectgstCountry","selectgstState","formatDateToDDMMYYYY","gst_type","UpdateProfile","logo","LoadingSpinner","header","workbook","Excel","Workbook","App","saveExcel","fileName","worksheet","addWorksheet","getRow","font","bold","column","alignment","horizontal","singleData","addRow","eachRow","includeEmpty","row","_cells","singleCell","cellAddress","_address","getCell","top","left","bottom","right","xlsx","writeBuffer","buf","saveAs","Blob","removeWorksheet","Clients","getallclientbyBusiness","clientDataArr","queue_id","registration_id","edit_clicked","nameArr","join","handlePatientChange","newClientId","removeClientFromBusiness","updateClientRec","Diseases","handleColumnChange","handleCategoryColumnChange","UpdateDisease","diseaseData","addDisease","diseaseRes","updateDisease","getDiseaseNameandCategory","getAllMasterDisease","masterDiseasesResponse","masterDiseaseList","masterDiseases","handlesearchInput","adddiseaseFailiure","newDatatoAdd","diseaseCategory","createDisease","getAllDisease","diseaselist","getAllDiseaseCategory","diseaseCategorylist","deleteDisease","searchandshowDisease","searchDisease","disease_name_hide","disease_category_hide","Drugs","drugid_error","drug_category","drug_type","getAllMasterDrug","drugMasterRespons","masterdrugNameList","masterdrugNames","active_incredient","getAllDrugTypes","drugTypeResponse","drugTypeList","drugTypes","getAllDrugCategories","drugCategoryResponse","drugCategories","getAllDrugs","drugList","drugDataArr","drugData","getAllDrugMeasures","masterdrugmeasureList","masterdrugmeasure","formvalid","searchdrug_id","drugname_error","generic_name_error","drugcategory_error","drugtype_error","drug_action","selectedData","addDrug","addDrugResponse","drug","handlesearchinputChange","eve","editformSuccess","clearimport","onFileChange","readXlsxFile","onFileUpload","hospitaldrugimport","addDrugSuccess","addorupdateDrug","updateDrug","updateDrugResponse","deleteDrug","searchandshowDrug","searchDrug","drug_name_hide","drug_category_hide","drug_type_hide","manufacturer_error","active_incredients_error","modalVar","isOpen","ModalHeader","ModalBody","AddDrugs","getDrugPlanningDetailsbyid","drugres","drugRespons","batch_number","batch_management","serial_number","serial_management","handleExpiryDate","getsuppliescategory","suppliescategorylist","suppliescategory","tax_percentage","suppliers_category","mastergeneric_names","drug_status","vendor_drug_id","remarks","safety_stock","maximum_stock_level","minimum_lot_size","maximum_lot_size","re_order_point","rake","asile","costing_details","discount_percentage","gst_tax_percentage","measure_error","updateDrugplanningdetails","updateDrugPlanningDetails","saveDrugplanningdetails","addDrugPlanningDetails","handleDrugstatus","handleBatchManagement","handletaxcategorychange","PharDrugList","getDrugPlanningDetails","ClientCheckin","onclick","for","borderCollapse","borderSpacing","LabList","updateLab","UpdateLab","labData","addLab","formaddSuccess","getLabList","labList","lab","clearErrors","handleIOnlineOption","hospitallabimport","tableaddSuccess","deleteLab","PharmacyList","pharmacyid_error","UpdateSearchColumnChange","pharmacyuser_id","addPharmacy","addPharmacyResponse","pharmacy","getPharmacyList","pharmacyList","pharmacy_verification","UpdatePharmacy","updatePharmacy","addr","Geocoder","geocode","GeocoderStatus","OK","pharmacy_action","hospitalpharmacyimport","searchpharmacy_id","placement","city_error","state_error","country_error","zip_code_error","deletePharmacy","searchandshowPharmacy","searchPharmacy","pharmacy_name_error","address_error","phone_number_error","PopupHospitalClose","PharmacyListExport","PopupConfirm","PharmacyListTemplate","availabilityOptions","FacilityList","updateFacility","facility_category_id","available","UpdateFacility","facilityData","addFacility","getAllFacilities","facilitieslist","FacilityId","FacilityName","FacilityCategory","FacilityCategoryId","getAllFacilityCategory","facilityCategory","facilityCategorylist","handleselectavailabilityChange","deleteFacility","roomStatus","initalValue","totalDays","Rooms","deleteConfirm","updateRoomAvailability","consultPatient","selectedRoom","admitpatient","admitdata","selectedPerson","nurse_id","selected_nurse","admit_date","discharge_date","action_type","admitPatient","getAllrooms","is_patient_available","roomData","addRoom","updateRoom","room_data","fac","facilities_name","getAllRooms","nurse_name","inpatient_id","all_nurse","businessdata","getPatientDetail","getclientbyphonenumber","client","reason_for_visit","is_add_btn","patientBasicData","is_queued","is_check_in","q_doctor_id","queue_number","symptoms","queue_type","diff","diffDuration","isNaN","days","handleChange","newValue","dischargePatient","handleselectnurseChange","float","deleteRoom","reloadPage","BottomNavigation","paddingLeft","showLabels","BottomNavigationAction","minDate","create","baseURL","onUploadProgress","http","PatientCheckin","fileObj","fileArray","handleReset","getQueueList","searchSuccess","GetQueueDetailsByScheduleDay","emergency_queue_data","queueID","clientID","emergency_schedule","UploadService","getFiles","fileInfos","getMasterSymptoms","symptomCategory","symptomCategorylist","reduce","unique","some","disable_insert_queue","selectedSymptoms","selectedFiles","selectCheckin","handleCheckin","q_status","updateQData","selectedClientid","is_active","updatedata","n_q_id","n_schedule_type","n_preference","updateQueueStatus","saveCheckInData","emergencyUrl","createQueueSaveCheckIn","timing","createQData","old","getQEntryByClientId","n_savefor","addPatient","addTempClient","detail","handleSymptomSearch","cloneSymptoms","filteredSymptopms","symptom","selectSymptom","consult","activeIndex","progressInfos","fileUploaded","uploadedUser_id","selectFiles","upload","uploadFiles","searchAndShowSymptom","getSymptomByCategory","addMedicalrecordspath","idx","_progressInfos","round","loaded","prev","nextMessage","htmlColor","isDisabled","multiple","symptomSearch","ReferralDetails","updateReferralDetails","credit_amount","getAllReferralDetails","Referrals","points_redeemed_status","BusinessuserProfile","viewProfile","datePart","listdata","MedicineSupplies","suppliesData","updatesupplies","updateSupplies","addsupplies","supplies_category_label","getsupplies","supplieslist","supplies","re","handleExpiresatChange","suppliesimport","deletesupplies","PharmacyProfile","phone_no","hospital_location","AppointmentCheckin","saveClientAppointment","updateclientappointmentstatus","getTodayAppointmentbyphonenumber","BusinessLayout","getPage","Promocode","updatepromocode","Updatepromocode","promocodeData","addpromocode","promocode_id","getAllPromocode","promocodelist","promocode","deletepromocode","FooterAdverdisement","updatefooterad","footerData","addfooterad","footeradlist","footerad","img","vendor_image_url","ViewBusinessProfile","ViewBusinessUserProfile","handleback","ViewClientProfile","ViewProfile","Symptoms","masterlist","masterlists","masterSymptoms","masterSymptomCategory","masterSymptomCategory1","getAllSymptom","symptomlist","getAllSymptomCategory","UpdateSymptom","symptomData","method","addSymptom","updateSymptom","handleselectsymptom_categoryChange","symptomid_error","searchsymptom_id","symptomname_error","symptomcategory_error","deleteSymptom","searchSymptom","symptom_category_hide","ConsultHeader","checkinData","updateCheckin","getCheckinDetails","FollowupDetails","Reg_id","followupData","pharmacy_details","hospital_address","hospital_city","hospital_state","hospital_zipcode","writtenprescriptionimage","CheckOut","checkindetails","msgreqdata","follow_up_details","appointment_type","UpdateQueueForCheckOut","updatePrescription","handleCheckbox","consultation_fee","consultDoctor","handleconsultationfeeInput","updateconsultationfee","getPharmacydetailsbyid","followup","fee","prescription","pharmacy_array","getMasterPharmacy","hospital_details","getconsultingfeesforbusinessuser","getwrittenprescriptionbyid","onPreviousClick","onNextClick","ReferralDoctor","speciality_error","notification_message","notificationdata1","ConsultationHistory","getReport","handlePrescriptionChange","show_prescriptions","created_at","handlefilterSelect","handleFromChange","handleToChange","end_date","getPrescriptionHistory","photoIndex","noImage","before_food","getClientspreviousmedicalrecords","ImageurlRespons","ImageurldataList","ImageurlList","image_url","stringnew","imageSrc","medicine_description","mainSrc","nextSrc","prevSrc","onCloseRequest","onMovePrevRequest","onMoveNextRequest","data-parent","socio_demographic_record","CaseHistorypsychiatrist","handleEducationLevel","socio_demographic_formData","handleOccupation","handleSocioDemographicInputChange","validateMaxLengthforsociodemographic","show_first","show_last","socio_demographic_details","socio_demographic_error","socio_demographic_columns","addSocioDemographicDetail","submitPrescription","postData","consultPsychiatristDoctor","PrescriptionsuccessMessage","PrescriptionerrorMessage","activeTab","Consult","handleTableCheckboxChange","handleTableInput","searchRecords","handleSearchSelect","checkinDetails","getAllActiveingredientsforDrugs","ActiveIngredientdrugRespons","ActiveIngredientNameList","ActiveIngredientList","handleSearchGenericNameselect","handleSearchactiveingredientsSelect","activeselectedOptions","getAllgenericnameforactiveingredients","GenericNameRespons","GenericNameFullList","GenericNameList","diseaseList","getPrescription","consultData","getAllHospitalDrug","drugNameList","getAllActiveingredientsforhospital","getAllgenericnameforhospital","consultsymp","uniqueoptions","c","Back","handleSelect","diagnosis","drug_unit","drugUnits","QueuesuccessMsg","minWidth","incOrDecValue","defaultChecked","morning","noon","paddingRight","night","unit","isDecrement","searchAndShowDrug","isMedicineExist","checkedvalue","medicine_id","selectedDrugs","isSelected","submitAssesment","activateTab","minHeight","DoctorConsultation","handleAction","hanldeAction","checkin_id","getConsultingDoctors","GetFollowupData","btndisabled","handleselecthospitalChange","appointmentcolumns","appt_date","Prescription","borderLeft","ClientPrescription","selected_familymember","FamilyData","member_name","getClientEntireFamilyDetails","FamilyDataRespons","FamilyDataList","FamilymemberList","medicine_details","family_data","ClientMedicineScheduling","pad2","n","toLocaleDateString","formattedDate","MedicineFrom","MedicineDays","MedicineTo","ClientConsultation","postData2","NoImage","Historyfamilyheight","Consultationsummary","dataindex","ClientApptConsultation","getPrescriptionHistoryforAppt","GetHistoryVitalsforAppt","ClientApptPrescription","submitReferrals","referralData","sendReferralemail","redeemReferralpoints","referraldata","points_redeemed","redeemReferralPoints","pointstoberedeemed","handleRedeemInput","tableerror","copied","numberofreferrals_accepted","business_professional_credit","client_credit","QueueAssignment","cancelSelRecord","queueAssignmentList","queue_no","app_time","isfee","isprescription","isfollowup","clearActionForm","actionFormData","registrationId","selectedDaysType","selectedRecord","performAction","actionType","completion_data","sendPrescriptionmail","business_short_detail","completeAction","conformCompleteAction","getQueueDatabyselecteddoctor","printOrder","orderHTML","innerHTML","oldPage","handleselectPharmacy","QueueAssignmentListbySelectedDoctor","TokenDate","TokenTime","admin_working_hours_detail","selrecord","temp_array","PrintPrescription","orderHtml","cellPadding","QRScanner","handleScan","scanning","handleError","resetScanner","QrScanner","onScan","onError","QR_Code","Topmove","isVisible","scrollToTop","scrollTo","behavior","Percentage","setActiveIndex","handleClick","getColor","benefitsData","SlidingBenefits","nextSlide","currentIndex","prevSlide","interval","setInterval","clearInterval","benefit","FaArrowLeft","_","FaArrowRight","About","handleMouseEnter","handleMouseLeave","handleReadMore","showMore","backgroundImage","backgroundSize","backgroundPosition","backgroundRepeat","onMouseEnter","onMouseLeave","alignItems","Slideklinicq","SimpleSlider","owlOptions","autoplayTimeout","responsive","0","600","800","1000","hospitals","OwlCarousel","LogoSlider","handleSpecialitySelectChange","showFamilyDetail","specialityValue","handleLogoClick","selectedBusiness","logos","issue1","issue2","issue3","issue4","issue5","issue6","issue7","issue8","autoplayHoverPause","Whatsapp","handleRedirect","whatsappURL","whatsappNumber","container","whatsappButton","transform","zIndex","currentImage","Webblog","textAlign","handleLeftClick","handleRightClick","ImageCarousel","images","ManagmentSlider","fontWeight","HospitalSearch","Home","typingWords","currentWordIndex","displayedText","isTyping","charAt","erase","staticText","isErasing","clearTimeout","timer","justifyContent","Webadslider","Webbenifits","beat","Support","supportData","sendData","supportApi","sendsupportmail","others","useremail","support","SupportDefault","VendorForm","onEditClick","vendorData","vendor_subscription_label","addVendor","handlevendorcategoryselectChange","handlevendorsubscriptionselectChange","vendor_photo","vendor_website","vendor_subscription_list","removeVendorFromVendorlist","getallVendor","getAllSubscriptions","subscription_name","place_url","UpdateVendorForm","paymentForm","displayPromo","handlePaymentFormselectChange","handlePaymentInput","updateVendor","isEditable","editform","applyPromo","checkPromoCode","coupon_amt","cancelPaymentForm","vendor_url","clickPay","number_of_months","completePayment","callgetVendorById","getVendorbyid","converter","getTwentyFourHourTime","amPmString","ClientBookAppointments","presenttime","currenttime","startdate","enddate","preferredDate","client_personal_details","searchApppointment","getGivenDocAvailability","appointmentsSourceData","appointmentsData","appointmentTimings","appointmentHours","hours","oldtime","handleNext","sourceData","currentPage","appointmentDate","subtract","displayData","showNextBtn","searchBookAppointment","rescheduleObj","process","timeClicked","date1","is_expired","selectedDate","appointmentdate","doc_firstname","doc_lastname","bookAppointment","checkin_data","sendBillingmail","feesinwords","toWords","TodayDate","OnConfirmreschedule","limit","displayDates","form","showPrevBtn","is_sametime","toLocaleString","hour","hour12","minute","TextField","InputLabelProps","shrink","data-ride","data-interval","count","isAvailable","getAvaliableCount","appoimentTime","timingName","hoursData","data-slide","DragDropContext","HTML5Backend","initalUpdateShift","doctorName","shift_start","shift_end","shiftOccurence","event_id","ShiftPlanner","deleteEvent","conformDeleteEvent","updateShift","udpateObj","entireEventUpdate","appointment","singleEventUpdate","searchEvents","finally","updateEvent","getAllEventSeriesObj","getSingleEventObj","updateshiftplanner","schedulerData","viewModel","events","eventItem","bgColor","setEvents","appt_start_end","appt_next_available","sessionArray","start_date_time","end_date_time","sessionObj","prevClick","viewType","nextClick","next","onViewChange","view","setViewType","showAgenda","isEventPerspective","onSelectDate","eventClicked","isActive","resourceId","ops1","ops2","newEvent","slotId","slotName","newFreshId","addEvent","updateEventStart","newStart","updateEventEnd","newEnd","moveEvent","onScrollRight","schedulerContent","maxScrollLeft","ViewTypes","Day","scrollLeft","onScrollLeft","onScrollTop","maxScrollTop","onScrollBottom","toggleExpandFunc","toggleExpandStatus","getBusinessUserbyBusiness","doctors_list","From","To","loadEventsData","calenderConfig","SchedulerData","Week","localeMoment","locale","resourceName","views","viewName","Month","schedulerWidth","setResources","enableLoader","businessShiftPlannerView","resources","ui_event_id","doctorDetail","firstName","lastName","appointments","appoint","showPopover","disableLoader","addNewShiftPlanner","createEventData","handleUpdateDateChange","ndate1","ndate2","diffTime","abs","diffDays","handleShiftOccurence","calendarPopoverEnabled","handleMorningWorkhoursStartChange","handleMorningWorkhoursEndChange","handleEveningWorkhoursStartChange","handleEveningWorkhoursEndChange","handleUpdateWorkhoursChange","initVal","eventItemClick","DoctorShiftPlanner","ListBusinessbyBusinessuser","BusinessUserId","businessUserShiftPlannerView","disc","taxable_value","gst_rate","gst_amount","total_amount","AddPrescription","generatetagforcolumn","billing_record","openMenuOnClick","selectedSearchBoxValue","Number","default_rec","calculateSection","totalAmtSec","amt","taxAmt","taxVal","totalAmt","totalAmtWords","consultation_fee_record","defaultEnterSize","printData","win","tableHtml","write","close","actionComplete","extraButtons","onDoubleClick","tHeadClassName","colSpan","InPatientPrescription","getInpatientconsultingDetails","inpatientdetails","med_history","medicine","vitals","tablets","tablet","TextEditor","editor","useRef","setContent","readonly","onBlur","AdminDashboard","support_email_id","support_phone_number","updateSettingsData","saveData","privacy_policy","terms","faq","offers","getSettingsData","NewsFeeds","handletexteditor","newsFeeds","ChangeNewsFeeds","updatenewsfeeds","addnewsfeeds","newsfeed","Notification","DoctorList","updateDoctorStatus1","doctordata","updateDoctor","updateDoctorbyAdmin","defaultFormat","handleDoctorChange","Doctordata","getAllBusinessUserListByAdmin","getAllUserSubscriptions","usersubscriptionlist","removeDoctorFromDoctorlist","HospitalList","updateHospitalStatus","hospitaldata","Hospitaldata","handleHospitalChange","updateHospital","removeBusinessFromBusinesslist","PatientList","patientdata","updatePatient","updatePatientbyAdmin","getAllClientList","removePatientFromPatientlist","SalesNvoice","Printpage","foodlicence","foodlicenceparsed","druglicence1","druglicence1parsed","druglicence2","druglicence2parsed","druglicence3","druglicence3parsed","pharmacyaddress","gstin","foodLicense","getAllSaleEntryListbybillno","bill_no","saleList","sale","pack","batch_no","exp_date","quantity","rate","sub_total","bill_date","patient_address","doctorreg_no","gstAmt","discAmt","rounddiff","roundtotal","sub_total5","cgstAmt5","sgstAmt5","taxAmt5","sub_total12","cgstAmt12","sgstAmt12","taxAmt12","sub_total18","cgstAmt18","sgstAmt18","taxAmt18","AdminPharmacyList","pharmacyimport","getallMasterPharmacyList","addMasterPharmacy","updatePharmacyStatus","AdminLabList","labimport","getallMasterLabList","addMasterLab","lab_id","updateLabStatus","exportdataone","SupplierList","supplierData","updateSupplier","status_obj","addSupplier","addsupplier","getAllSupplierList","supplierlist","deleteSupplier","stockplacement","stockremoval","StorageBin","updateStorageBin","StorageData","stock_placement_obj","stock_removal_obj","addStorageBin","addstorage","handleStockplacementColumnChange","handleStockremovalChange","getAllStorageBinList","StorageBinList","StorageBinData","storagebin_action","deleteStorageBin","PurchaseInfo","updatePurchaseInfo","drug_id_list","SupplierDataArr","supplier_id_list","getPurchaseInfoRecord","purchaseinfo","purchaseinfoArr","purchaseinfoData","cancelPurchaseinfo","pir","changepurchaseinfo","purchase_action","addPurchaseInfo","addPurchaseResponse","addpurchaseinfo","deletePurchaseInfo","StockReport","getAllTransfertypedata","Transfertype","TransferTypeData","batch_Serial_id1","batch_Serial_id2","storage_binfrom","storage_binto","rackfrom","rackto","asilefrom","asileto","DrugImport","drugimport","getmaster","SymptomImport","symptomimport","SymptomMasterRespons","MasterSymptomList","SpecialityList","specialityData","getAllSpecialities","Response","allspeciality","updateSpeciality","addSpeciality","deleteSpeciality","SubscriptionPlan","subscriptionplan","getAllSubscriptionPlanList","getAllBasicSubscriptionPlanList","basicrecords","subscription_type","price","handleSubscriptionPlanChange","basiceditRecord","basicsubscriptionplan","trial_period","handleBasicSubscriptionPlanChange","updateSubscriptionplan","updateBasicSubscriptionplan","basicclearAll","basiccolumns","Showsubscription","showsubscription","showdetails","handledropdownchange","dopayment","getsubscription","expiresat","subscription_status","completepayment","addSubscription","calculate","getPriceandDiscountforsubscription","currentDate","setMonth","setFullYear","getTrialPeriodbyBasicsubscription","getsubscriptionplanbyuserid","subscriptionlist","subscriptionArr","onValueChange","formSubmit","ShowsubscriptionClient","getclientsubscriptionplanbyuserid","Timeout","timeoutdata","getAllTimeoutdata","handleTimeoutChange","updateTimeout","DoctorCountBySubscription","getAllDoctorSubscriptiondata","doctorcountdata","doctor_count","patient_visit_count","handleDoctorCountChange","updateDoctorcount","InboxController","markasread","notification","read","notifications","getNotification","readAllMessages","sx","bgcolor","ListItem","ListItemAvatar","Avatar","msf_first_name","ListItemText","secondary","Typography","Divider","PrivacyPolicy","settingsData","renderHTML","TermsAndCondition","Faq","FaqWeb","Offers","ChangeOffers","getOffers","ViewOffers","offer","OffersWeb","Videoupload","updateguidevideo","DoctorAppointment","QueueCompletedReport","hospitalreport","handleFromDOBChange","Hospitalreport","handleToDOBChange","reportList","getHospitalReport","GetQueueCompletedReport","report","Patient_id","ActualCheckIndate","ActualCheckIntime","Checkouttime","current_date","QueueReport","monthControl","querySelector","GetQueueReport","checkout","completed","queue_in","consulting","previouscheckout","beforepreviouscheckout","hospital_name","onMonthChange","VisitList","showcomponent","AppointmentCompletedReport","GetAppointmentCompletedReport","ApptDate","ApptTime","ApptEndTime","AppointmentReport","GetAppointmentReport","ApptCheckout","Patientfirstname","Patientlastname","getApptDatabyselecteddoctor","ApptassignmentListbydoctor","Addapptprescription","patient_firstname","patient_lastname","doctor_firstname","doctor_lastname","getpaymentstatusfromclientappointment","paymentstatus","Printapptrescription","goBack","VisitApptList","ResetPassword","GetEmailphnumberforDoctor","data-slide-to","Track","track","child","attach","kind","Participant","nonNullTracks","participant","tracks","publication","localParticipant","addTrack","identity","Room","remoteParticipants","room","participants","leaveRoom","addParticipant","removeParticipant","disconnect","returnToLobby","connect1","JoinRoom","inputRef","roomName","joinRoom","updateIdentity","removePlaceholderText","endpoint","validateVideoData","reqBody","fetch","rawResponse","json","requestOptions","audio","Feeds","getNewsFeedsById","RequirementList","MaterialMovement","getGeoInfo","countryName","country_name","countryCode","country_calling_code","Materialmovement","supplierListRespons","supplierList","supplier","storagebinListRespons","storagebinList","storagebin","getcountrybyhospital","getcurrencybycountryname","updateMaterialmovement","materialmovement_name","document_date","manufacture_date","order_number","customer","cost_center","cost","reference","receiving_person","addMaterialMovement","materialmovementData","materialmovement_id","handledrugIdInput","getDrugNamebyDrugId","DrugNames","batch_management_value","handlestoragebinInput","handleDocumentdateChange","handleManufacturedateChange","handleExpirationdateChange","handleTransfertypeChange","updateTransfertype","addTransfertype","deleteTransfertype","phnumber","query","steps","headerBgColor","headerFontColor","headerFontSize","botBubbleColor","botFontColor","userBubbleColor","userFontColor","floating","SimpleForm","headerTitle","bubbleOptionStyle","bubbleStyle","trigger","validator","handleEnd","Hospitalprintprescription","InPatientCheckin","admit_data","is_admit_in","handleAdmissionChange","admission_date","addInpatientCheckinURL","tentative_days","admission_ward","room_category","floor","room_type","room_no","physician_name","referred_by","_this$state$clientDat","_this$state$clientDat2","_this$state$clientDat3","_this$state$clientDat4","PersonIcon","PersonAddIcon","aadhar_no","InpFacilityList","InpRoomTransfer","InpatientList","InpatientConsultation","InPatientBilling","AmbulanceManagement","SupportNew","SupportLatest","ServiceCharges","servicechargesdata","getAllServiceChargesdata","handleServiceChargesChange","updateServiceCharges","Canvas","startPosition","nativeEvent","isDrawing","draw","handlePointerDown","pointerType","ctx","beginPath","moveTo","clientX","canvasRef","offsetLeft","clientY","offsetTop","finishedPosition","lastX","lastY","canvas","getContext","lineWidth","size","lineCap","strokeStyle","lineTo","base64ImageData","clearCanvas","context","fillStyle","fillRect","innerHeight","innerWidth","columnWidths","totalWidth","scaleFactor","strokeRect","showHeaders","textBaseline","col","columnWidth","headerX","fillText","getPen","eraseCanvas","trimcanvas","updatewrittenprescriptionimage","offsetX","offsetY","startX","startY","canvasimg","Image","drawImage","handlePointerMove","handlePointerUp","onMouseDown","onMouseUp","onMouseMove","PrescriptionTemplate","prescriptionData","hospitalName","hospitalAddress","medicines","dosage","doctorSignature","PrescriptionList","getPharmacyPrescriptionList","prescriptionList","DoctorFirstname","DoctorLastname","getprescriptionbyphonenumber","searchprescription","searchprescriptionList","ViewPatientPrescription","onafterprint","getdigitalsignatureforbusinessuser","PharmacyDruglist","handledrugstatus","pharmacydrugData","handlestorageconditionChange","handlecategoryChange","disable_drug_name","getAllPharmacyDrugs","uniqueDrugNames","Set","has","getAllPharmacyItemList","conversion_factor","minimum_quantity","maximum_quantity","reorder_quantity","masterdrugList","mastermanufaturerNames","getAllActiveingredientsforPharmacyDrugs","handleactiveingredientsSelect","getAllgenericnameforPharmacyactiveingredients","handlemanufacturerselect","pharmacyitemimport","addPharmacyDrugPlanning","updatePharmacyDrugPlanning","deleteItem","ItemsExport","ItemTemplate","PharmacyDrugslist","addPharmacyDrug","pharmacydrugimport","updatePharmacyDrug","deletePharmacyDrug","DrugsExport","DrugTemplate","manu_date","free","p_rate","PurchaseEntryVoucher","handleAdd","purchaseEntryData","updatedData","parseFloat","calculateSubTotal","calculateTotal","calculateDiscountAmount","calculateIgstAmount","calculateCgstAmount","calculateSgstAmount","cgstAmt","sgstAmt","igstAmt","created_by","voucher_no","voucher_date","invoice_date","vendorinvoice_no","poref_no","getAllPharmacyVendorList","mastervendorNameList","mastervendorNames","vendor_id","Respons","State_value","OpeningStockData","openingstockimport","fetchItemDetails","getitemlistforPharmacyDrug","drugResponse","itemList","find","handlevendorselectChange","getgststatebyVendorname","purchaseEntryVoucher","transaction_type","transaction_date","customer_name","notes","purchaseentry_id","addPurchaseEntryData","addVendorResponse","overflowY","Manufacturerlist","getAllManufacturers","manufacturer_id","manufacturer_name","abbreviation","ManufacturerData","manufacturerimport","addManufacturer","updateManufacturer","deleteManufacturer","ManufacturerExport","ManufacturerTemplate","vendor_status","VendorList","handledrugType","vendorid_error","vendorpharmacyData","hold_payment","creditDaysChecked","vendor_type","contact_name","credit_days","isGstFieldsEnabled","handleVendorStatusChange","handleGstType","handleselect","vendor_action","expiry1_date","expiry2_date","expiry3_date","expiry4_date","holdpaymentreason","addVendorSuccess","searchvendor_id","addorupdateVendor","addPharmacyVendor","updatePharmacyVendor","updateVendorResponse","vendorpharmacyDataArr","Createlogin","maxHeight","required","Createlogin2","Webproduct","Webcontact","allowfullscreen","referrerpolicy","Webhospital","Webpatient","Webphysician","Solution","Benifits","BookDemo","PatientManagment","HospitalManagment","WebdoctorSlider","300","DoctorManagment","ListOfService","PurchaseRegister","purchaseRegister","purchaseregister","FromDate","ToDate","getAllPurchaseEntryList","getAllUniquePurchaseEnryList","DataArr","purchaseData","handleDeleteVoucher","voucherDate","updatePopup","viewRecord","view_page","searchpurchaseRegister","searchPurchaseEntries","addpurchase","deletePurchaseByVouchernumber","ViewPurchaseEntryVoucher","handleDateChange","calculateAllIgstAmounts","calculateAllDiscountAmounts","handleUpdateVoucher","updatePurchaseEntryData","fetchMasterVendorNames","fetchPharmacyDrugs","fetchPurchaseEntryData","formatDateForInput","List","getAllPurchaseEntryDataByVoucherNumber","extraRows","selectedVendor","handleVendorSelectChange","showPopup","PurchaseReport","getAllPurchaseEnryList","customer_status","CustomerList","customerpharmacyData","getAllPharmacyCustomerList","customer_id","handleCustomerStatusChange","addPharmacyCustomer","updatePharmacyCustomer","QuantityPopupinfo","BatchSelectionModal","handleCheckboxChange","newSelectedBatches","selectedBatches","newSelectedExpdates","selectedExpdates","newSelectedQuantities","selectedQuantities","qty","selectBatch","handleBatchCheck","batchNo","handleBatchClose","batches","handleSelectBatchClick","ListGroup","batch","Item","Form","Check","loose","cummulative_quantity","taxrate","SaleEntryVoucher","saleEntryData","SalesB2B","SearchPatient","add_btn","getMaxAllowedQuantity","genericName","batchno","getQuantityBygenericnameandbatchno","specified_date","maxAllowedQuantity","handleQuantityInputChange","newQuantity","drugName","quantitypopup","popupMessage","calculateRate","calculateCummulativeQuantity","discountPercentage","calculateDiscountAmounts","updatedRecords","calculateTotals","calculateSubTotals","calculateGstAmount","calculateTaxAmounts","calculateTaxAmountSection","totalTaxAmtSec","taxSummary","5","12","18","taxRate","refreshSelectedBatches","handlepaymentselectChange","drugNameToSet","getBatchandExpDateBydrugname","handleShow","currentBatchInRow","currentRow","selectedBatch","showModel","clearBatches","expdates","quantities","selectedIndex","_updatedRecords$this$","_updatedRecords$this$2","_updatedRecords$this$3","_updatedRecords$this$4","_updatedRecords$this$5","_updatedRecords$this$6","_updatedRecords$this$7","_updatedRecords$this$8","_updatedRecords$this$9","batcheslength","packToSet","deleteElementsUpToIndex","getBatchnobyDrugname","getBatchnobydrugnameandExpDate","batchResponse","currentBatchinrow","Link","generate","addSaleEntryData","discPercent","subtotalAmount","totalAmount","discountAmt","customer_type","formattedSubTotal12","PopupQuantityClose","SaleEntryVoucherForBusiness","fetchMasterCustomerNames","mastercustomerNameList","uniquecustomerNames","mastercustomerNames","handlecustomerselectChange","customer_address","SalesPatient","addSaleEntryDataB2B","SaleRegister","saleRegister","getAllSalePatientList","bll_date","BillDate","handlepatientselectChange","searchsaleRegister","searchSaleEntries","createinvoice","deleteSaleByBillnumber","ViewSaleEntryVoucher","setInitialPaymentMode","matchedOption","selectedPaymentMode","fetchSaleEntryData","getAllSaleEntryDataByBillNumber","updateSaleEntryData","componentDidUpdate","prevProps","StockandSalesReport","StockandsaleReport","handlecategoryselectChange","from_date","to_date","Generate","getSalesandStockReport","Data","opening_stock","purchases","sales","closing_stock","searchStockandSalesReport","BatchwiseStockReport","BatchWiseStock","handleSpecifiedDOBChange","getBatchWiseStockReport","stock_quantity","sortbatchwiseStockReport","getBatchWiseStockReportByExpirydate","searchbatchwiseStockReport","OpeningStockUpload","OpeningStockTemplate","ViewSaleEntryVoucherb2b","_this$props$location$","billDate","selectedCustomer","updateSaleEntryDatab2b","_this$props$location$2","viewPage","_this$props$location$3","SaleNvoiceb2b","PurchaseReturnSelectModal","newSelectedPrates","selectedPrates","newSelectedMRPs","selectedMRPs","newSelectedSubtotals","selectedSubtotals","newSelectedTotals","selectedTotals","prate","mp","subtotal","tot","PurchaseReturnVoucher","purchaseReturnData","prates","mrps","subtotals","totals","_updatedRecords$this$10","_updatedRecords$this$11","_updatedRecords$this$12","igstAmt5","igstAmt12","igstAmt18","getalldetailsBygenericnameandbatchno","getvendorshortdetailsbyVendorname","drug_licence1parsed","drug_licence2parsed","drug_licence3parsed","purchasereturn_no","dn_date","mode","addPurchaseReturnData","dn_type","PurchaseReturnInvoice","getAllPurchaseReturnListbypurchaseReturnno","SaleReturnVoucher","saleReturnData","voucher_type","addSaleReturnData","cn_type","SaleReturnVoucherForBusiness","addSaleReturnDataB2B","CustomerDetails","PatientDetails","Creditnoteinvoice","getAllSaleReturnListbybillno","CreditNoteRegister","getAllSaleReturnCustomerList","userid","searchCreditNoteEntries","deleteSaleReturnByBillnumber","ViewSaleReturnVoucher","fetchsaleReturnData","updatesaleReturnData","updateSaleReturnData","ViewSaleReturnVoucherb2b","updateSaleReturnDatab2b","DebitNoteRegister","getAllPurchaseReturnVendorList","searchDebitNoteEntries","ViewPurchaseReturnVoucher","updatePurchaseReturnData","fetchpurchaseReturnData","expirybreakagereturn_no","updateExpiryBreakageReturnData","ExpiryBreakageDNVoucher","addExpiryBreakageReturnData","ExpiryBreakageReturnInvoice","Routes","Errors","Router","Switch","AuthRoute","path","GuestRoute","Route","Printapptprescription","DrugList","PlabList","TestHome","ShowSubscriptionClient","help","Website","Simpleslider","Footerweb","TestLogin","NotFound","addAppdata","ADD_APP_DATA","pharmacy_short_detail","Reducers","combineReducers","ADD_ERROR","CLEAR_ERROR","CLEAN_ALL_ERRORS","ADD_USER_DETAILS","consoleMessages","store","groupCollapsed","statusNow","getState","groupEnd","initialState","applyMiddleware","thunk","createStore","__REDUX_DEVTOOLS_EXTENSION__","StoreFactory","sampleData","ReactDOM","Provider","jwt","verify","decoded","interceptors","use","AppDataurl","checkvalidity","resp","getReadCount","meData","Authorization","subscribe","saveState"],"mappings":"2FAAAA,EAAOC,QAAU,IAA0B,kC,qBCA3CD,EAAOC,QAAU,IAA0B,kC,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,gC,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,qC,qBCA3CD,EAAOC,QAAU,IAA0B,qC,qBCA3CD,EAAOC,QAAU,IAA0B,uC,qBCA3CD,EAAOC,QAAU,IAA0B,uC,qBCA3CD,EAAOC,QAAU,IAA0B,uC,qBCA3CD,EAAOC,QAAU,IAA0B,uC,qBCA3CD,EAAOC,QAAU,IAA0B,uC,qBCA3CD,EAAOC,QAAU,IAA0B,uC,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,oC,mBCA3CD,EAAOC,QAAU,06D,mBCAjBD,EAAOC,QAAU,05D,qBCAjBD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,mC,qBCA3CD,EAAOC,QAAU,IAA0B,oC,qBCA3CD,EAAOC,QAAU,IAA0B,oC,mBCA3CD,EAAOC,QAAU,85B,qBCAjBD,EAAOC,QAAU,IAA0B,iC,mBCA3CD,EAAOC,QAAU,sS,mBCAjBD,EAAOC,QAAU,sS,qBCAjBD,EAAOC,QAAU,IAA0B,qC,qBCA3CD,EAAOC,QAAU,IAA0B,qC,qBCA3CD,EAAOC,QAAU,IAA0B,qC,qBCA3CD,EAAOC,QAAU,IAA0B,qC,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,uC,qBCA3CD,EAAOC,QAAU,IAA0B,uC,qBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,uC,mBCA3CD,EAAOC,QAAU,0S,qBCAjBD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,iC,mBCA3CD,EAAOC,QAAU,kiQ,mBCAjBD,EAAOC,QAAU,snP,mBCAjBD,EAAOC,QAAU,s1D,mBCAjBD,EAAOC,QAAU,0zB,qBCAjBD,EAAOC,QAAU,IAA0B,oC,qBCA3CD,EAAOC,QAAU,IAA0B,sC,oBCA3CD,EAAOC,QAAU,IAA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SACA,kBACA,aACA,eACA,aACA,WACA,WACA,YACA,WACA,SACA,UACA,cACA,cACA,YACA,UACA,cACA,WACA,UACA,YACA,WACA,UACA,WACA,aACA,WACA,UACA,WACA,gBACA,aACA,WACA,WACA,eACA,iBACA,YACA,QACA,YACA,UACA,aACA,oBACA,aACA,WACA,SACA,aACA,SACA,WACA,UACA,UACA,eACA,aACA,SACA,eACA,aACA,QACA,WACA,aACA,UACA,cACA,iBACA,cACA,YACA,YACA,mBACA,SACA,gBACA,eACA,UACA,aACA,WACA,YACA,QACA,UACA,QACA,SACA,YACA,QACA,YACA,OACA,WACA,SACA,4BACA,WACA,UACA,WACA,UACA,YACA,YACA,cACA,aACA,aACA,QACA,WACA,UACA,cAEWC,EAAc,CACzB,CAAEC,MAAO,KAAML,MAAO,MACtB,CAAEK,MAAO,KAAML,MAAO,MACtB,CAAEK,MAAO,KAAML,MAAO,MACtB,CAAEK,MAAO,KAAML,MAAO,MACtB,CAAEK,MAAO,MAAOL,MAAO,OACvB,CAAEK,MAAO,MAAOL,MAAO,OACvB,CAAEK,MAAO,KAAML,MAAO,MACtB,CAAEK,MAAO,KAAML,MAAO,OAEXM,EAAS,CACpB,CAAED,MAAO,OAAQL,MAAO,QACxB,CAAEK,MAAO,SAAUL,MAAO,UAC1B,CAAEK,MAAO,QAASL,MAAO,UAGdO,EAAW,CACtB,CAAEF,MAAO,WAAYL,MAAO,YAC5B,CAAEK,MAAO,SAAUL,MAAO,UAC1B,CAAEK,MAAO,UAAWL,MAAO,YAIhBQ,EAAa,CACxB,CAAEH,MAAO,QAASL,MAAO,SACzB,CAAEK,MAAO,SAAUL,MAAO,UAC1B,CAAEK,MAAO,UAAWL,MAAO,WAC3B,CAAEK,MAAO,YAAaL,MAAO,aAC7B,CAAEK,MAAO,SAAUL,MAAO,WAUfS,EAAiB,CAC5B,CAAEJ,MAAO,YAAaL,MAAO,aAC7B,CAAEK,MAAO,UAAWL,MAAO,YAQhBU,EAAW,CACtB,CAAEL,MAAO,UAAWL,MAAO,WAC3B,CAAEK,MAAO,SAAUL,MAAO,UAC1B,CAAEK,MAAO,UAAWL,M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EAAOC,QAAU,8/C,kBCAjBD,EAAOC,QAAU,0lE,kBCAjBD,EAAOC,QAAU,kiG,kBCAjBD,EAAOC,QAAU,k8D,oBCAjBD,EAAOC,QAAU,IAA0B,iC,oBCA3CD,EAAOC,QAAU,IAA0B,iC,sCCA3CD,EAAOC,QAAU,0sE,kBCAjBD,EAAOC,QAAU,k1E,8SCAjBD,EAAOC,QAAU,IAA0B,wC,kBCA3CD,EAAOC,QAAU,s6B,kBCAjBD,EAAOC,QAAU,0c,kBCAjBD,EAAOC,QAAU,0xB,kBCAjBD,EAAOC,QAAU,0mB,oBCAjBD,EAAOC,QAAU,IAA0B,mC,kBCA3CD,EAAOC,QAAU,ssC,kICAjBD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,mC,oBCA3CD,EAAOC,QAAU,IAA0B,mC,oBCA3CD,EAAOC,QAAU,IAA0B,+C","file":"static/js/main.a4a97de6.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.d9522528.png\";","module.exports = __webpack_public_path__ + \"static/media/unwt.7dd0b3d1.JPG\";","module.exports = __webpack_public_path__ + \"static/media/nrm.b7f02324.JPG\";","module.exports = __webpack_public_path__ + \"static/media/ov.ce6d1b9b.JPG\";","module.exports = __webpack_public_path__ + \"static/media/obs.c897582e.JPG\";","module.exports = __webpack_public_path__ + \"static/media/MapIcon.510e628d.png\";","module.exports = __webpack_public_path__ + \"static/media/pending.c3cb0fc4.png\";","module.exports = __webpack_public_path__ + \"static/media/benefits1.ce7ac9ce.png\";","module.exports = __webpack_public_path__ + \"static/media/benefits2.f3f4e358.png\";","module.exports = __webpack_public_path__ + \"static/media/benefits4.ae8141f1.png\";","module.exports = __webpack_public_path__ + \"static/media/benefits3.3f9218d1.png\";","module.exports = __webpack_public_path__ + \"static/media/benefits5.b186d0a0.png\";","module.exports = __webpack_public_path__ + \"static/media/benefits6.78164012.png\";","module.exports = __webpack_public_path__ + \"static/media/237.c482bf43.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image3.766d3b6c.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA2CAYAAACMRWrdAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAVASURBVHgB7VqNlds2DEb6OoA7QdkJ6mygbOCboOoE505gdQK7E8gbOJlA1wnsTKDbQM4ECGGDEUUDJCX5cpf38r3HpzuBxA8BgiAtgJ+YB0Q01OBHhVX+YNtaeH+0rRXel7Zt4a3AKrNQ3neKAa3yXjSYaQYm4heYACtwZR9kQCGQP9lGYfd7Bh9jH0vbngRaaR8ty/o+4PVChjUCbYVXrIP3Nx7jMERJee6PL7IutXBjWsWCy3AMG70T+ofG7rnvInjvDN7BS4Dj/ygZ6BlwVGgLyJOxUOS2kreYdyvJzYbnlVqhr1DIgHPBHlsptAPrVMEccLgQNvDKIB1Yl0Oq77sMZhQqlCSW7ywy+hv7KGz70zYaa7g5nL322baTbc+W9SmDd8fj3tv+Z8iBHbSM0IxG55gvKFx5zUm47G3ctD4t81gl9IgltHJAxz5F15i/6A2HhqZocyNoOBmlt140I80IXY48dhUKOnhMTYJJjUNv7LHfdxqUN+4cpZD1aL3/6wx9XP+d1sllQan0IeM32HuowWsI+owrmAhfNvMsAwM3yjg3KeuUgKU04zQbzODo0z3GFcyEZ1zjvfMNbEPv8eQWMBY8cMEGlwFtEw2BYV+DGWvGm8CwSqlS3ssCDtfdSlG05aZV+jQZNQ4TDP29Tcglnl1EJrJuWYkuZOBCbI9yZiuZXio8Hj1jmsDAJiF/icqaYcN3WmimjHKzUkX6Xbyl0EpPcJEzZiwwSDapzrlGGe5TR3jcCOQxx+CdtvGXqBTgo4xjF2dlOFTOXJ5CYohySF7G8QRsp/BRjJMnwRNSQQKsGKK8LbiEYwTaEod7E0Y8X2hGR4yrNSZZZxyPUSHQGiJExhoeX3sT1EQMqyBPJxdtl9B2dx4nbjSjf8E8nFmQuDZsVU6VfGXb37a5/e8LzADrTAY9c7saxkeAB365w0ilz3jmpxFo//MzxQO89fMkkN3EnBI8SM6edfogHmd4DXTcYseYJbt9J9AW0cU87NtG1uPOD62IHkl9pc6xs5F4f8g0t3YOqN9bRI/4mNjzeA3mGeUN8rOXVlXvtAQS0FvfOOyv7gh70JUmaHctrqrJNypQwBm3xdsrMrdJNxEeN8Zjvz/F6sVGClH29FaasByDlm4WWHn/AFooimt1XRkxrFTGPEreYi+2bjLdRPN7AwmjHNOw7KmwR+0YYV+JIwohMdYw7JNSG8io+X2Ht8cZ/aAZDG4VJX3vfTMQI8lmjGE4TAYG5RO7UfRquc8GBKaIGWccHJ5oO2+mu9BzuYZh76lvyQCHp+YioZNvXBkSY/vFAm8Xcum7H4Uya4RhhfBujbdrepHQce30TF6A8iBac8bu6r8p9MI+KAzo+QTDyiTnHSlMYfzRtk9Wzl6R00GswhgDTFT92N973BNalnVZuE7pHfUYXhdjZdtHO0MPSh9XHXyA+XDX6RCJDqIXpJft86/GKGXYkYWpd+XYX7o8wHyQrMvGbeX9ocijPqTX2fZ5D1OAGb9zYV8X3hPJH9tTemUljwwhBVzD4x54tO1kvXGP0H47wMQJPBe/wh2A172DMpWB+TBwPTjOwqTPIQRQYjEw3TD3AyE9/7PtH3grwMinDRljbyqPubiXxwjP/DQwHsuAx9sB9p9HNBPGNuyxcT8yfC9g/4VBMWKMC+FkmfRqwP4+o8O838LccaPFMcf81wD29/ptLBmwp7qpCSeFu1QeIVhRKosMXBMCHUc+M5m+/1gx7XJRa6uMJ/hRwGG2R/lHCPJU9ZLJ4kU8FgKvp3NnxDnnK5yfUPAV6SGBJOSAxeMAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA2CAYAAACMRWrdAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAU0SURBVHgBzVqBleMmEMV5KUAdhFQQdRDSwaaCUwd2B3YqWHcgXwWbDthUsHsV4FQgdzCBNVqPRgyMZHy5/x5PfmL4zNfAgLA2qjIAoPUX48tvvoTfjS+amJ1jufjyjy+vm83mXf1o8GKML8++DLAezpe9qoSNWgnvRIjE1pdOzSMy4hLLmdwfo9jQBj5ym0KfYRScvdlZ1YbvoGOiE+4dfXnyRQt42mh78uXNl13Gtok2AVbVRHA2kCbE9GE4qgeBiPoYtqoWPNk2EaVjHB4PQ0JUPWFhUhNiKxlqFfpNiaojLA4zjIP6DkgNv1juF0ZEDdJ5FJ0KCSYsAS/IKRedbQXtqSg6v12CtzwtyPBzJWdiGwPz5JJCv1RUrHsp8JqSg1tkPEBhPkVBjulsiHU2Fsc5kBMV61vEQ+femyo4qWGa/Z4ytg3zFK0vO1iYYGA69B3XPvrosCgoDUPS4JCxo+SjIKNWAvENtUV1+Ill7FqYRtVBhQUaCllvlShCDAuemIVKi3RO2D2icLR6xqYh5CdVEZyw1aIIaS5azzhSAk4D07XMQiahEB8cKsNaUUYQrZZ0qgt8FtLomDZ7KEMuKpL2qLFhbGzJuWj3zDjlgIlYQpRLFJsThTh2+KYbCZlGOKJWyR4QRGeM0KERB7UCSMMw3sBDrBc4bAQOivaVtURFriPiacONHbrxxDQaChHViMOB7O15X0tU5MNZfUc3lk2igSSxWGTTCZzY1xQVOfXET+TUwDTIRpQQSpaAfW1RiHscWW940lnGeDp25/WdNFr3ioJrPggjzDD1LvI6VXragIYqU58VvkQU3F5QNcPx9ul4ut7G+gEL+7tgzAk75eqjjS6JIn3ZO4XBT+h+co4tAfDr1QX9/ssfdh4YOx2vEp4sfk6QUvyr8rgQjtkZvBdy8aJ/9T+bwhm9TnBiiLdTIWLnQqPPTrxzvyTqsaNGMQhH0jlRJCF8Y8zGOXxm6kcN5yBsdFwzxtiZPxL1eG5u1Xp8YTg/QBITJ1zH64ew0agRRGSW9cIw85evIzFkzt85wHWZ6EanPOdrwgz3/Zrg0OoWsW9Lt1QDpHcn9ADoixIC5i+RHWNnkY1O1D+h+h3dBB8Z0oNAPH5AAcX/uqIzg6D/4u4Gphv1drxZ2uRi8ez5HXkAH3xwXXBb4uQO5i+ipwxvj+w6xsbNNMB092CYhtiR3P9YNHISHDN8BtlJ3hd7riI3HPBc0xlngu0JyrCQeW8D+fzrkY2hlQ453TAEOBoOCucP0bEwj46x8z7+3oHg7AKmr1R9po9Pn1IGeH4cMp1ZZBf2blo9ACA/7u6zEYXrzhpnKI6Ini26muIivxWKykcLGXbIMHdoQ8d+eCCLF+YEr0k8tNyrkMtGixhbZJzLfhrmKduB4GiAEZTi0pk2e1G0iMN4SJqC/QHmCE71cE0cLdNHqOM+esn+aQ/TXUbx/zvccLekIcjTewkWyg+SPvhlUwCmkXAAoiO1UaADOcaPXoyAvwXh/3ebAtFJ3V4nwi7+T2bnnXRCXXfkoYS3hgbxhBLeKt4X8Bl/eUE8X33bTq0FzIdYtQ+5FviwJT6cVA3APEFYeNDCTPpNZd6Dqgm4JhSawfpHCITrIr2H+Vy8e63kOqQLMxZo1J0A/rtHC99hhIw7lJRAFx0L64xkk4vXsxRfENipFVj9IWZ0rPOXkEw0YxKy3zv6fVG3DzDHawpndT1HOcYzlf8HcQgtXb9S0RGtZxLcFbEU4Pax8+/qFhlNzM7qFs2wnlX/2Pk/PBGOGdKVFZwAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/232.72f60ebc.jpg\";","module.exports = __webpack_public_path__ + \"static/media/236.13cb7e09.png\";","module.exports = __webpack_public_path__ + \"static/media/nurse.67725940.jpg\";","module.exports = __webpack_public_path__ + \"static/media/image2.cd2b8346.png\";","module.exports = __webpack_public_path__ + \"static/media/image1.c859bffc.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARsAAABDCAYAAACsh6EPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAI3SURBVHgB7doxUttAFIDh3WWgw+MjKCdIbhDTpWJyA3KDUKYCQ5UyuUG4AUOVDrgBN4iOwLhi7LEUyQEGCBQk1qu+r/FqLbf/rJ6c0wvGk/1xs739qU3pfc75XbdVJYC/1W2b65Sak8VicXHz82v93E356cYqMqPR5265318mgNeZzs6Oj55uPorN+MOXqtnaOk9OMcD/qefz+c7DU859bIQGWLNHwSl3u0IDrFm11XWlH830F6vYjHYPDpPQAOtXdTPgfv6b8u3j068EMIzrMpu9KcvNzUkCGM7qbzQllbKXAIaU86SUtq0SwLDeltZgGBheVRJAALEBQogNEEJsgBBiA4QQGyCE2AAhxAYIITZACLEBQogNEEJsgBBiA4QQGyCE2AAhxAYIITZACLEBQogNEEJsgBBiA4QQGyCE2AAhxAYIITZACLEBQogNEEJsgBBiA4QQGyCE2AAhxAYIITZACLEBQogNEEJsgBBiA4QQGyCE2AAhxAYIITZACLEBQogNEEJsgBBiA4QQGyBEySnVCWBYdWna9ioBDKhtc92fbC4TwKCak1I2Nn50q+sEMJDFxsZFuT6d9qH5ngCGcXRzOq1Xb6NKKd+SQTGwfvXs7HjaL1ax6U83XXB2kuAA61PP/3RlJT/8ZvxxWjVNc94tqwTw71ah6R+f7jbyc3eNdg+m3cdhAnid1Qy4H83czoPv5Zd+0Z9ylsvlpBvo7OW2rZLTDvC8us35KjfNZf92+2lk7vwGRXl/wGg4hqYAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/234.f199c35c.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABdSURBVHgB7dTBCYAwEETR0Qoswc60A+1AO00p44iXIF6EDElgH+z1754WCF0huWlmOCh88JFQWha/rSgp4tXjv71748eOAW465MyOWuAQS5pekjQTHBTe6XrXweYCiYz6N6gi7CAAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABdSURBVHgB7dTRCYBADAPQ6ASO4Ga6gW6gm94oMeKBgp/XHhT6oL9JvgqkUEjOug0eFDzpCh8HPCh45StLopawza9khK0BlrR4+aw/YSnD+4fXguIWXgvud70jhXIBiOz6N0QhCi8AAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/doctor1.59797679.png\";","module.exports = __webpack_public_path__ + \"static/media/doctor2.20af97c9.png\";","module.exports = __webpack_public_path__ + \"static/media/doctor5.318afe5f.png\";","module.exports = __webpack_public_path__ + \"static/media/doctor4.ffeb9071.png\";","module.exports = __webpack_public_path__ + \"static/media/229.31f4577a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/patient12.72881254.jpg\";","module.exports = __webpack_public_path__ + \"static/media/doctors10.fd1302c3.jpg\";","module.exports = __webpack_public_path__ + \"static/media/223.08fa02e0.jpg\";","module.exports = __webpack_public_path__ + \"static/media/pharmacy1.abd2ee9e.jpg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABfSURBVHgB7Y/JCcAwDAQ3qWRLSP9NpISUkgRsgx++YGXshwb2JZhBgOOoHJ37C9F1YlP470H4MG2KPI9MkdMywIIcVgFW5CYBNuRygB25FOCAXArcA3IpcMUI4ThL+QCNQS2nWMMxHAAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/225.372fdcd2.jpg\";","module.exports = __webpack_public_path__ + \"static/media/239.c7b808c0.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAUBSURBVHgB7Vm9bhtHEJ5b0RKhFJGLIClPgE0SSSMhL0A9QZgigEQXop7AegOKVVrrCUw1pIAUocpUZJ5ABBIEop1Alz6Bz4VliQZvPbMUxdvbuf/zT6EPoMRbzu19szszOzMHcI97fAawGxvq86HkI2BBHlSabZyhhd/s2+lckHIAM3kG//QHd3JEtlTeAiH2wbIaAHJOXsIYP8fwsteFjMimQG3XBk/8indvRUztAngjkPjfT5qHA5a3AxenDqRECbJAWs+jySshJIzE1RJJiIGt5gTYgZQQkBa1ZguJ1ZlfXEgORhbnrO3WISXSKyChrV/LMdxcPYRJ76EyA0ue4KDD3Imk5bGSmctuKh/Q5hLPISXS+QCtvgT9IUSEs121msJW3wUS/as3ZmTQdMSlNubBQRqnTq4ARZK19XO4izhAu9GFF70DyIPaXhftf9834uCOboMzSGSSyUyIVj5IXt3tdSA35FFgwFbPeky+Fo/oHXiEZrCi7NJmHnwMk/4hFIFq8xn+fcr84qBJdaJMildA2SaFNTbazB13+nYn6TbHwm5twOp0GB6a5QiDwwHna7wJSTEMJU8rXyR5gtN1YbpKZ8AxL4Bc6OBkYCqg4jxjMuSwFHHIbIok/21zC6p7QxVlJ71D9QwVigOg3ak0j8zhICpPznGC5VaSuQj5Y5ZjPhZEfmYN1alNZ8L0armzfLrioJKbEKoA2eLa9JU2FhbniyS/QFAJjg8dmj4LiAuj7kcjP2dzppkn+UZMiqIrYN6wkSU/iUQYeQvD5UXvSBt7pJ7tl3OD/mfugMRc3o8ZpcIRSFOYpCFPKIl9nRsMgiKmAkJ29WtrH8JABc3a+iU8/ikmtYb05OeE64GBs6CIqcB1mZIu3Yw4gvNq7Ej9Lh4MI5XIQn5uPrZvxIUX/QQ7QH4QNCN4oJMjv5iTXyBciSzkCaXbTPYO3u+cGB+FLOtLiMLF6UgR0GEqkZU8ByleccNhYbSuXa14jiFBBKKUyEt+9m4cuK/BBQxTgcpeA7TQhdUVrTiHKCXyrvzLX0xfLJe34hUQ1g/atbRGEIUwJYowGwA9J/KEERGZcwD0uC88M7EKgldiiWzkKY0ZBOZpmFP7YeYerirAk6KG2WKw6M9KfoFqk/gsd3OKofWy9+/iMi4XStcCDO5EXvKUkeqpBFrI1Wv/pZlOV5vUJbCXN2CGKLx06XTtNm/PS95Mp8doEdt+MaYeaNIqto1xKmioiP8Q2akfatVFG5/XMn7zPGy5nHb9Q3xNXGmeh9en1jO4edMptCojqLbNF7hw8pAXwHA+6W8GR3kfIJOBsPCJD1hdHxbVHleguWjOcPJU1LN90xVW/r8/Xfj/jxP46jvydtwJKxjTv4HSahllfoMi8PX3P3MhUq26heXs5LSjODFI1pmr7bbwQMPttWz97gLKTa69SMQ92QnaO4dknbkLnOhmbdto2nqiDbkRnAOfcfN2Owl5QsrmLu2ESNbcVVnpbRouMRn8m8mn2OauGWmikP4NTXXvUjMl/zmhWpGUS4kW80bGQdkREjxRyiwcV4t2fKQpVgEqZlTnzpjKjXmNFC+bcvXVTJAF1ScU8upQKDBUTvof4RUTwZodhLyF8cNVpzeoTkL0oUfdP2reZqECeUBO7YmnPjt2VeuDUvDr67F2WlOhJDDWS1VvLMwH4zzm/HlypkLwCV903+MeOfEeDnA9qCPKK28AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHrSURBVHgB7ZdNTsJAFMf/r6lJNSb2BtZd3XkD8QYsTWSBJxBPAJ4Aj8AClJ14AjgCrkA3lBOIO6LS52sLoUBpBxRSE36LyXy8mb7Oe2/eDJASSEnKypua8VX2qi7hBZ3afZy4ZueKAFu+/HDvFk5lgAR0qGAMTYae9+uMlpSxijCQkX/M+I39z5KUiYpoSAkzptFOczfMyC5IMUyRPBvPGEi7jdhV6QzM5rjVWvLhltut3oXaY+xLi6D3sEWYXAudh75XT41pIp2VmZ9Bo0JITHYLTX/M3+rva8RArD9NTCnyFyLvTBfXy0SL5o+OGsI7uvXpZPtyVjQ8FoWdm0YJuT106v3p2NVH1KmhFr7w/oycoMKJochg+bDmYAXUFAl24ASqdGt5rEi6nZWYTLZzGWwA8Y5jqCoi0lmZkMUWSbdpxO8dXnI0/xYKEqIFFUV8Jbq12ENrXdi+qogy1nx/akyTdh8JYWVNGEaQ0ofDAZxGcLJKtoYq4XlrK2IcFsSmRa/KxoHnNxWvTthrTq6DSbBx6N07SnEy/8g07qjNmlYZN5xJd3BV4COo4LrtJJFkRd4eG1I2FvpfqwX8IbvwnScm+64Qnisgax9FPetisq++mey75G2ZzgeWXHpLUp5jG5CEf8IbeseOMD+ZM5DhdKwkLAAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/online.aefd79c3.png\";","module.exports = __webpack_public_path__ + \"static/media/Group 75.44776c67.png\";","module.exports = __webpack_public_path__ + \"static/media/vitaldetails5.b48d3a07.png\";","module.exports = __webpack_public_path__ + \"static/media/banner1.c74c60d1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/banner2.d1b7618f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/banner3.79a6ef03.jpg\";","module.exports = __webpack_public_path__ + \"static/media/banner4.0c535c6b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/banner5.bc154066.jpg\";","module.exports = __webpack_public_path__ + \"static/media/banner6.0c02fe98.jpg\";","module.exports = __webpack_public_path__ + \"static/media/vitaldetails4.2caff306.png\";","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 1512;","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 1556;","module.exports = __webpack_public_path__ + \"static/media/ProductFeature6.b65d6a7d.png\";","module.exports = __webpack_public_path__ + \"static/media/ProductFeature9.e220b087.png\";","module.exports = __webpack_public_path__ + \"static/media/ProductFeature11.d0b5b8b0.png\";","module.exports = __webpack_public_path__ + \"static/media/ProductFeature7.7ba2bc6f.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKHSURBVHgB7ZrtTcMwEIZfEP8pE+ANaCdomKBlgpYJoBMQJqBMQDtBYYJmA7pBswHdAPzqbBrSOClRPhypj3RKE8fhzj7fnS3O4Bc9LUpLX8uN+U0ZoAOstXw75NrV6Rz+sNQy03Kr5UpLpGVn2joxA0meICM/1vKl5REdgv5P5UNz/6nlDR1BadlClLYsUvd/8GkNkJW53iWebSCGeQ/dhK7TTz3vGfEau2in6CBW+RAd5KT8GdrhBZKcniEGcJGOj+gXQzJ0a1BRG22S2VXBXQcl5SChXaA5FCTO83oPSVBpGP83jv6rrIdNGRAYBVicsVhzKcl2605z7Is5pH7/0kQmpr+zVKbSA7iVtygtEy2XaBkFqWHS/u56l+8FOe9wEA7WQF0zwBBJ5ekOdJk5aqJqAwJINRlCNih0mQg1UpUBAWSKKTFEcbrNDp6jsI/rHPljklHet/KqzkrXQGA+aJVmRuWov6McVHyKmstmfpxuYU8Ptua+ij+qUDIKFSUyKscNBuPy2NxHkMgSwQOyDFAQZYeQEaHSTD6vOMyOadhelIDYf4aKsAZQ4RFEYWWeRRClIxw/2iNzjR3tylwrN8C6ygf2CpcNgYz/oaONzyeoEGvAAtnVYVkUZNHlVZeVUFcpwdlbooFEVlc5TcVDNEDWDCxw3O7oGh7gmgEbNrPgYn+AJ7gMoAssIMryd5xoC+CRAUWLmNvAKTymaBGzZPC6JC4yIIbn+Ha8/m/K5IEI7Z3oHVBmBhT2x4GtU9YAnjq0fm5DOr8GTga0zcmAtmEeCCGxnRUoj0n4XyI9uOt5W0ZzX5suM9hvmNN36Pi2DcncbgaOviqrLxMSz3dYOvNQao2O8QNy0ZbL6v6DYAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQnSURBVHgB1VntcdswDH1pM4A6QdgJ7P7rvyoT1BtEG9QbWJkg6QRWJ3A6gdMJnE4QdwK5E6RCCJQQRerDlu7id8cTTVLgAwgQpAycOd5jWtxV5XNVfuEMMa/KC5cUE+EC0+GZn/uqmKp8xBlhBWt5A2t9quc4ExhYwveqjeol9715rGHdx6i2hNu2eOPIYK2fBfoWmDigu5B0TC5WXreM2fKYpGVMiolcjYhJYIaw6ugH91Es3LX0k4zRXS1jwWVEuOH+NeIKJNx3x2PngTEbnmN0V6Nl38FtiYvAxC+qPCBMrm1MBhc/fVytN3zXCAmnvpTLDuFV2sIZIfXe9+NHsniOE2HQ3NOprWwRvkVcgZhvh+JnlNwR2tMJOeIBO1QBg7C1aVViMdcLGeJ7eltiGqrABu7cFOOQ4gg888v0XKp2w22x3WKIApLcSBbFh46LpcchiEvE8b0qM55khroCVGgXOcCeNv33DhF5fvsTt1/xPBS8j9wn22xRld84AWS1tfqdwlrlCuPBoLmaBXr4/yWGg6z2WJW/XvucCVzBrZK4xF69+0fJEBz49x4DcYwCNNk119Oq3MAuvyb7xEXD8Pi5kkNu+AOW/DUmAu0SOg8QUdq3JYgpwHI0k1MbUpapgzTzxhSY4Ey0UJNuUffZhEnQWWcDl7ElM2+4j2QY9V7KZGOKjIIE7iyzVQRkNbZwZ5xnHrv2Co0p1bgdkxVZRinSdigcjDncvr/wiJdKqQz9XMjwWH2404Qzni90AhiMBVySMdz2jdvkPNRGmpRctvQbliGEM9XuG20wJEsWTFK70T0ccdNCsu0At/RkFKivhp7vBgNBblOyUEHMInL0TQNyJBZ8pJF3MjTdp+B5QxegIAzc7pF4wk3kHT9bd0G20Lb5RYmEufSOia0aTIWs2KW9wbDbU9d4A6dEon535oUM9SO0VoZAVh7sjwNAsuXCb1C/D6TMLbop0AtEVlxhheb9t0D4TjwGbtC8/aWoky5glQqunhA2CF8lBdQ2tgJCvkB4vlLxil5ntfXXGCmR9EAbeYJcLYVbjsAqZGhaP8P06CIvyNHkV4sFnXDE+gRJYFOgD/lEFe06mu9rp7a4dqUCLjuOiT7kaTfSriOxQFjy+6/GlSODQTNDUlsOmwvGWom+lt+hftZKFTcDZXSdFUmzEtOhr8/HQNzE94nzPV0pZ3B30S9oXgWPRQq3ko+wd+UC9gqZ4TgQt5mqG6rQUsl+r+unYAX3vUdfYgqchgLOW1495x2sFgdu1PVjkcH67m1VPnC5VQROwR4uJohnQn+zkmUeYD8erVT9WHzl5yevfcfPnzge8qHtVuoXaB6bTwXJ2qOpAO3bc5y+whpjyvqPHM3P4lSfJLtfYHzIHk5P+X6a8fNs/q03sAErN6kc0x1Jzhv/AFhpfYh7tD54AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAASDSURBVHgB1VnbketEED0UBGD++NsOwTeDIQI2gxURrDLwEIE3AysDk8FCBCYDF3/8+WYAatRd0xrPSC1Zey+cqilLmle/u2f8LT4G1Le9PH+W5x/69hf+owh9O/TtvW+3vv0t7dS3Z/PO7WK+f1Xs+tZiIEiJYwbe+tZgYOQkz9z32reIMZNXGUP4CohIEmVGdlm/EtfIuKesP/StQ2L+UFhjcxAGCR5ls5u82/5W+nMNnKUvFNbskDSyxwdhLxuoxAKSFk5ZHxPPmnmWeblvlEyHzBoHbIwXIeBqGGECd2ZTJrLFtD3zeGaqw9jRyfSfsTETeyRbJ/mmkaWRbwHLQRibTmP6IjZigpAkrw72jLE2ttijZDpv8q3FA7hKI3l/wb02aggYzIrnq7M3E+OVYMuE+g5hBdR0VL2ERPxcuDsgOfNJiFMpnyfmR4yZINxHOjd2QvjVEGO1UcOrjH8r9LXSd5yY3yFFOSCF4QYLoGHxYBbxmA2QQmQNaio1LWhks36npugCIZlOKUJMIWAsvan1W8c6MXt31U+NDCaMI86SuU8z4yxxNagDqxbcvsCDLvJMSMnGA3X8KUkRfOExYGz7EdOm9y92GEunkfcl8X5OUkckDS9ZK8DhzDooyDuHPLfzCDTSHAp9Gl7f4AOPu5n329xc3VzVxKb0K5YjIgUAFoJGNf7WwY8GY5+apUdDXDRERPjBjLOUbeV5K7wzQ+RYL/epDjMW0WJ8/HOHLoxrGrbbgHuHCxgXcHNrE8Z232G5SbtASOE2OMcrsy8z40qRqIqSBgJ8xHjKDAvWDts0M16LcgFlDVBl/CofOMEfFnNo2VAKuxpucx/Qb0VnzqPQXF1DWJboSmhQ1nTEfcglJCEX93zGsjygDBMeg0YmC9WOPQ8QskLvu2zSb/Ib5Pl3DEw99e1P3OMnDDdvAY/hD9nnZ/ON1/0Rg5+c5VnPEp+kv4h3JJvMS4sc9lJri1aCWoXu1djObwoTIoZk9AnploDxfWHsDttdRn1GXapRaPoFjsSqUr+innD0tHaU5k12j2CRoDoMzhOziXmpYMsEjVgB68H5gAVyQboEJqxEqQzISwXb1+GeGb2Z8+yl+URL6LPZy02wle6LfNerwRLhJejNmy3gpm4idM+SxjVMP2EG9t6TidQUr9nwhnUXTHtDRMz6QrYnFeY3cB6o3pEKsT1SDaKZ0ONAAXXtsAbsMVU1ep2Y02DBefyMdIDW2kNTNsEHjdM3pKt0FYbWOwczJlbWIYxNluCAHhwikrp2WHYrtkNy5qkEV9Oo9cFVJluSeISvpC6BMGgyytot6qYYkPzhhJXJsSTxqXJ3C9j/A6b8wY2Ie4lrLdJgW7yiHj5Xoybxd6Sylu2UpdZgXZYMWOGkS6ASb7NNrSNes2fNujSxLgvniHp9tSlU4latHcbmRRi0oCFYGboIoUHm87jWjPHmlYcQcJ89CdM3YzyHCVXzyJunDNkUHcrHuYtjruYEZqjBFyZcQUhZ1SaYL1H7bwZ7T8SMEP6H2OMD//5/FP8AM10Dx3zwLJ8AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAP8SURBVHgB1VnNddswDP6S5l53gnCDqhOUmSDewMoEcSewOoGdCawce2oygZ0J0kxg9diT3QlS0QIiiCL1a6vx9x6eLAIkAYIASBk4cZzhOBilNE5J0XtCtMaJIEzp1UGblJbIDeuNDzgMwpSeU3pCvtp/UvqR0mNKLyQXEE3p/QnvBBqZAapGzvAjZJ54bdjnaBgRdYFCpjwb0XWcXjCruPVMzspJiiyZkZBbYmCEyIPShY3g8++VQ24k+BoDgidVNXyQjM8AA13DPzhC1Lu9jQEgXicvXKA9rul5T08uWhKuuFDIjGfsUnqg3ybVaqI1jgwOPFZyAXfRsj3gopBkAnp/QEt08YCZLEG2ggZsSJzSbyGXiOcNivHyFcXtwrKfMQDs7BOj/f6NUPSAa9xG6OIBH2YpTcT7r5TuBE8JXmD1ZS/uMAA4wxwiBjj4NTqm0i4eeCKlNLKgm6IcfEuUa4TxyDfxvqM2A/bIIwaARv1qta0DdYXx4NiiOnDbGBBi4EpsENGkCw+/y1koQAdcOAYc0zNBtkcTR79Leq7hhumnUNwSLw65Hc0l4wEenRTJ+HTCLfKtIWmJ8tGAq3GILEXO0W7/BtRnLMbSKCv+E+7sNbMHnBPDGLAgxcyT3SsvHQr++66d7+FQaubpH1lyG0snk+1iIT9n4VAooBwTPlsTBGLgFQ0cWcqsaIKIaIniJWdL7bFQVMYTL6jrtqZg3SFWKJd124gtkRzENXAsBvd5KfL0lW11aVUTf3WG/FpY9Y1oRZ0Uigc2HwJLKQ7SpGFfs/LrlK4q5IzeuwsxQRWY/wnNDOBs0Qd/G8jsF4i3kK4QtM8/x8QIeZz45uM43NeWKfwBYzBDnk6HAi/q3MGTiSXkRm7YUKOxcCwGcmWoY0Ihr0lm4TTyK6nUtdCBlbXJDNSpzPeEgruw8m4xfJyTMH+zNOCMIa+M1xgeExSz2Bq5TgrZtfTthS1doBgHoeCNMRxC5N7XFi8SPGUaliiXcgmN3G1DoVBpHeBb4EIKy5VXVgeOjzHy7zcah0mrI2vMEO7jt7L6vAWyHdGa2qaiLYb/eDBDd8wqxpVpm1O9TCb7hXfdiRU95eqyyyRGNGCErGou0A4h9TWB+eDg34nfgZizgKaXepOVbhztGvk5qa0BE3peocex49zRxqmqyVcylv2I9mgTP97xXR5YI1PMBKzZh1WHt4lQJkI3mFvXfQX/knRJ4PFUqSwj23Ocnd4DuU4D3iAGWfoFeaqc0O/vaHam7wOj6C2yD2gxylW4BJcHbMSoP3IfChrNTr97D5zjxMFbyGyTsELukp78feaY4LkUqnXaZzFzD37FCcMYEOI//lveEwlOHf8ACTHAu6MSAkcAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/Benifits5.0718671d.png\";","module.exports = __webpack_public_path__ + \"static/media/book1.3a8eadd3.svg\";","module.exports = __webpack_public_path__ + \"static/media/book2.28b116d6.svg\";","module.exports = __webpack_public_path__ + \"static/media/book3.66d0d416.svg\";","module.exports = __webpack_public_path__ + \"static/media/Patientmang1.c04c5263.png\";","module.exports = __webpack_public_path__ + \"static/media/Patientmang2.8005a056.png\";","module.exports = __webpack_public_path__ + \"static/media/Patientmang3.058dc1bb.png\";","module.exports = __webpack_public_path__ + \"static/media/Patientmang4.b238bed7.png\";","module.exports = __webpack_public_path__ + \"static/media/Hospitalmang1.c16a8f97.png\";","module.exports = __webpack_public_path__ + \"static/media/Hospitalmang2.59ba9626.png\";","module.exports = __webpack_public_path__ + \"static/media/Hospitalmang3.653a61d5.png\";","module.exports = __webpack_public_path__ + \"static/media/Hospitalmang4.574a2087.png\";","module.exports = __webpack_public_path__ + \"static/media/Doctormang1.b2819f27.png\";","module.exports = __webpack_public_path__ + \"static/media/Doctormang2.be727952.png\";","module.exports = __webpack_public_path__ + \"static/media/Doctormang3.3b1221cb.png\";","module.exports = __webpack_public_path__ + \"static/media/Doctormang4.41d0f4d7.png\";","module.exports = __webpack_public_path__ + \"static/media/vitaldetails1.f42b759a.png\";","module.exports = __webpack_public_path__ + \"static/media/vitaldetails2.acaf5823.png\";","module.exports = __webpack_public_path__ + \"static/media/vitaldetails3.2b51d183.png\";","module.exports = __webpack_public_path__ + \"static/media/product4.05ffabf0.png\";","import axios from \"axios\";\r\nimport {\r\n \r\n getCredentials\r\n} from \"../config/url.json\";\r\nexport const imageconfig = {\r\n bucketName: 'wtmprofileimagesbucket',\r\n // dirName: props.dirName /* optional */,\r\n region: 'ap-south-1',\r\n // accessKeyId: 'AKIAXFMR4BMA6KP4TTN4',\r\n // secretAccessKey: '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',\r\n};\r\nexport const clientmedimageconfig = {\r\n bucketName: 'wtmprofileimagesbucket',\r\n dirName: 'client_previous_medicalrecords' ,\r\n region: 'ap-south-1',\r\n // accessKeyId: 'AKIAXFMR4BMA6KP4TTN4',\r\n // secretAccessKey: '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',\r\n};\r\n\r\nexport const videoconfig = {\r\n bucketName: 'wtmprofileimagesbucket',\r\n dirName: 'videos' ,\r\n region: 'ap-south-1',\r\n // accessKeyId: 'AKIAXFMR4BMA6KP4TTN4',\r\n // secretAccessKey: '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',\r\n};\r\n\r\naxios\r\n.post(getCredentials, {\r\n \"credential_type\":\"aws\"\r\n})\r\n.then((res) => {\r\n console.log(res.data);\r\n imageconfig.accessKeyId = res.data.data[0].value;\r\n imageconfig.secretAccessKey = res.data.data[1].value;\r\n videoconfig.accessKeyId = res.data.data[0].value;\r\n videoconfig.secretAccessKey = res.data.data[1].value;\r\n clientmedimageconfig.accessKeyId = res.data.data[0].value;\r\n clientmedimageconfig.secretAccessKey = res.data.data[1].value;\r\n\r\n}) \r\n.catch((e) => { \r\n console.log(e)\r\n});\r\nconsole.log(imageconfig)\r\nconsole.log(videoconfig)\r\nexport const nationalityArray = [\r\n \"Afghan\",\r\n \"Albanian\",\r\n \"Algerian\",\r\n \"American\",\r\n \"Andorran\",\r\n \"Angolan\",\r\n \"Antiguans\",\r\n \"Argentinean\",\r\n \"Armenian\",\r\n \"Australian\",\r\n \"Austrian\",\r\n \"Azerbaijani\",\r\n \"Bahamian\",\r\n \"Bahraini\",\r\n \"Bangladeshi\",\r\n \"Barbadian\",\r\n \"Barbudans\",\r\n \"Batswana\",\r\n \"Belarusian\",\r\n \"Belgian\",\r\n \"Belizean\",\r\n \"Beninese\",\r\n \"Bhutanese\",\r\n \"Bolivian\",\r\n \"Bosnian\",\r\n \"Brazilian\",\r\n \"British\",\r\n \"Bruneian\",\r\n \"Bulgarian\",\r\n \"Burkinabe\",\r\n \"Burmese\",\r\n \"Burundian\",\r\n \"Cambodian\",\r\n \"Cameroonian\",\r\n \"Canadian\",\r\n \"Cape Verdean\",\r\n \"Central African\",\r\n \"Chadian\",\r\n \"Chilean\",\r\n \"Chinese\",\r\n \"Colombian\",\r\n \"Comoran\",\r\n \"Congolese\",\r\n \"Costa Rican\",\r\n \"Croatian\",\r\n \"Cuban\",\r\n \"Cypriot\",\r\n \"Czech\",\r\n \"Danish\",\r\n \"Djibouti\",\r\n \"Dominican\",\r\n \"Dutch\",\r\n \"East Timorese\",\r\n \"Ecuadorean\",\r\n \"Egyptian\",\r\n \"Emirian\",\r\n \"Equatorial Guinean\",\r\n \"Eritrean\",\r\n \"Estonian\",\r\n \"Ethiopian\",\r\n \"Fijian\",\r\n \"Filipino\",\r\n \"Finnish\",\r\n \"French\",\r\n \"Gabonese\",\r\n \"Gambian\",\r\n \"Georgian\",\r\n \"German\",\r\n \"Ghanaian\",\r\n \"Greek\",\r\n \"Grenadian\",\r\n \"Guatemalan\",\r\n \"Guinea-Bissauan\",\r\n \"Guinean\",\r\n \"Guyanese\",\r\n \"Haitian\",\r\n \"Herzegovinian\",\r\n \"Honduran\",\r\n \"Hungarian\",\r\n \"I-Kiribati\",\r\n \"Icelander\",\r\n \"Indian\",\r\n \"Indonesian\",\r\n \"Iranian\",\r\n \"Iraqi\",\r\n \"Irish\",\r\n \"Israeli\",\r\n \"Italian\",\r\n \"Ivorian\",\r\n \"Jamaican\",\r\n \"Japanese\",\r\n \"Jordanian\",\r\n \"Kazakhstani\",\r\n \"Kenyan\",\r\n \"Kittian and Nevisian\",\r\n \"Kuwaiti\",\r\n \"Kyrgyz\",\r\n \"Laotian\",\r\n \"Latvian\",\r\n \"Lebanese\",\r\n \"Liberian\",\r\n \"Libyan\",\r\n \"Liechtensteiner\",\r\n \"Lithuanian\",\r\n \"Luxembourger\",\r\n \"Macedonian\",\r\n \"Malagasy\",\r\n \"Malawian\",\r\n \"Malaysian\",\r\n \"Maldivan\",\r\n \"Malian\",\r\n \"Maltese\",\r\n \"Marshallese\",\r\n \"Mauritanian\",\r\n \"Mauritian\",\r\n \"Mexican\",\r\n \"Micronesian\",\r\n \"Moldovan\",\r\n \"Monacan\",\r\n \"Mongolian\",\r\n \"Moroccan\",\r\n \"Mosotho\",\r\n \"Motswana\",\r\n \"Mozambican\",\r\n \"Namibian\",\r\n \"Nauruan\",\r\n \"Nepalese\",\r\n \"New Zealander\",\r\n \"Nicaraguan\",\r\n \"Nigerian\",\r\n \"Nigerien\",\r\n \"North Korean\",\r\n \"Northern Irish\",\r\n \"Norwegian\",\r\n \"Omani\",\r\n \"Pakistani\",\r\n \"Palauan\",\r\n \"Panamanian\",\r\n \"Papua New Guinean\",\r\n \"Paraguayan\",\r\n \"Peruvian\",\r\n \"Polish\",\r\n \"Portuguese\",\r\n \"Qatari\",\r\n \"Romanian\",\r\n \"Russian\",\r\n \"Rwandan\",\r\n \"Saint Lucian\",\r\n \"Salvadoran\",\r\n \"Samoan\",\r\n \"San Marinese\",\r\n \"Sao Tomean\",\r\n \"Saudi\",\r\n \"Scottish\",\r\n \"Senegalese\",\r\n \"Serbian\",\r\n \"Seychellois\",\r\n \"Sierra Leonean\",\r\n \"Singaporean\",\r\n \"Slovakian\",\r\n \"Slovenian\",\r\n \"Solomon Islander\",\r\n \"Somali\",\r\n \"South African\",\r\n \"South Korean\",\r\n \"Spanish\",\r\n \"Sri Lankan\",\r\n \"Sudanese\",\r\n \"Surinamer\",\r\n \"Swazi\",\r\n \"Swedish\",\r\n \"Swiss\",\r\n \"Syrian\",\r\n \"Taiwanese\",\r\n \"Tajik\",\r\n \"Tanzanian\",\r\n \"Thai\",\r\n \"Togolese\",\r\n \"Tongan\",\r\n \"Trinidadian or Tobagonian\",\r\n \"Tunisian\",\r\n \"Turkish\",\r\n \"Tuvaluan\",\r\n \"Ugandan\",\r\n \"Ukrainian\",\r\n \"Uruguayan\",\r\n \"Uzbekistani\",\r\n \"Venezuelan\",\r\n \"Vietnamese\",\r\n \"Welsh\",\r\n \"Yemenite\",\r\n \"Zambian\",\r\n \"Zimbabwean\",\r\n];\r\nexport const blood_group = [\r\n { label: \"A+\", value: \"A+\" },\r\n { label: \"A-\", value: \"A-\" },\r\n { label: \"B+\", value: \"B+\" },\r\n { label: \"B-\", value: \"B-\" },\r\n { label: \"AB+\", value: \"AB+\" },\r\n { label: \"AB-\", value: \"AB-\" },\r\n { label: \"O+\", value: \"O+\" },\r\n { label: \"O-\", value: \"O-\" },\r\n];\r\nexport const gender = [\r\n { label: \"Male\", value: \"Male\" },\r\n { label: \"Female\", value: \"Female\" },\r\n { label: \"Other\", value: \"Other\" },\r\n];\r\n\r\nexport const category = [\r\n { label: \"Hospital\", value: \"Hospital\" },\r\n { label: \"Doctor\", value: \"Doctor\" },\r\n { label: \"Patient\", value: \"Patient\" },\r\n];\r\n\r\n\r\nexport const time_limit = [\r\n { label: \"Daily\", value: \"Daily\" },\r\n { label: \"Weekly\", value: \"Weekly\" },\r\n { label: \"Monthly\", value: \"Monthly\" },\r\n { label: \"Quarterly\", value: \"Quarterly\" },\r\n { label: \"Yearly\", value: \"Yearly\" },\r\n];\r\n\r\nexport const subscription_type = [\r\n { label: \"Silver\", value: \"Silver\" },\r\n { label: \"Gold\", value: \"Gold\" },\r\n { label: \"Platinum\", value: \"Platinum\" },\r\n];\r\n\r\n\r\nexport const payment_status = [\r\n { label: \"Completed\", value: \"Completed\" },\r\n { label: \"Pending\", value: \"Pending\" },\r\n];\r\n\r\nexport const supplier_status = [\r\n { label: \"Active\", value: \"Active\" },\r\n { label: \"Not Active\", value: \"Not Active\" },\r\n];\r\n\r\nexport const language = [\r\n { label: \"English\", value: \"English\" },\r\n { label: \"French\", value: \"French\" },\r\n { label: \"Spanish\", value: \"Spanish\" },\r\n { label: \"Arabic\", value: \"Arabic\" },\r\n { label: \"Mandarin\", value: \"Mandarin\" },\r\n { label: \"Russian\", value: \"Russian\" },\r\n { label: \"Portuguese\", value: \"Portuguese\" },\r\n { label: \"German\", value: \"German\" },\r\n { label: \"Japanese\", value: \"Japanese\" },\r\n { label: \"Hindi\", value: \"Hindi\" },\r\n { label: \"Malay\", value: \"Malay\" },\r\n { label: \"Persian\", value: \"Persian\" },\r\n { label: \"Swahili\", value: \"Swahili\" },\r\n { label: \"Tamil\", value: \"Tamil\" },\r\n { label: \"Telugu\", value: \"Telugu\" },\r\n { label: \"Italian\", value: \"Italian\" },\r\n { label: \"Dutch\", value: \"Dutch\" },\r\n { label: \"Bengali\", value: \"Bengali\" },\r\n { label: \"Turkish\", value: \"Turkish\" },\r\n { label: \"Vietnamese\", value: \"Vietnamese\" },\r\n { label: \"Polish\", value: \"Polish\" },\r\n { label: \"Javanese\", value: \"Javanese\" },\r\n { label: \"Punjabi\", value: \"Punjabi\" },\r\n { label: \"Thai\", value: \"Thai\" },\r\n {\r\n label: \"Korean\",\r\n value: \"Korean\",\r\n },\r\n];\r\nexport const relationship = [\r\n { label: \"Father\", value: \"Father\" },\r\n { label: \"Mother\", value: \"Mother\" },\r\n { label: \"Son\", value: \"Son\" },\r\n { label: \"Daughter\", value: \"Daughter\" },\r\n { label: \"Husband\", value: \"Husband\" },\r\n { label: \"Wife\", value: \"Wife\" },\r\n { label: \"Brother\", value: \"Brother\" },\r\n { label: \"Sister\", value: \"Sister\" },\r\n { label: \"Grandfather\", value: \"Grandfather\" },\r\n { label: \"Grandmother\", value: \"Grandmother\" },\r\n { label: \"Grandson\", value: \"Grandson\" },\r\n { label: \"Granddaughter\", value: \"Granddaughter\" },\r\n];\r\nexport const employee_status = [\r\n { label: \"Employed\", value: \"Employed\" },\r\n { label: \"Unemployed\", value: \"Unemployed\" },\r\n];\r\nexport const marital_status = [\r\n { label: \"Married\", value: \"Married\" },\r\n { label: \"Unmarried\", value: \"Unmarried\" },\r\n];\r\nexport const maritial_status = [\r\n { label: \"Married\", value: \"Married\" },\r\n { label: \"Unmarried\", value: \"Unmarried\" },\r\n];\r\nexport const designation = [\r\n { label: \"Doctor\", value: \"doctor\" },\r\n { label: \"Staff\", value: \"Staff\" },\r\n { label: \"Nurse\", value: \"Nurse\" },\r\n];\r\nexport const CONFIG = {\r\n headers: {\r\n // application_id: \"c86ae3f5-3a96-49f2-af05-94746357d0ec\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n};\r\n\r\nexport const Razor_CONFIG = {\r\n headers: {\r\n // application_id: \"c86ae3f5-3a96-49f2-af05-94746357d0ec\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n }\r\n}\r\nexport const IMAGE_CONFIG = {\r\n headers: {\r\n // application_id: \"c86ae3f5-3a96-49f2-af05-94746357d0ec\",\r\n // \"Content-Type\": \"application/json\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"access-control-allow-methods\": \"GET, POST, PUT, DELETE, OPTIONS\",\r\n\r\n },\r\n};\r\nlet token = localStorage.getItem(\"token\");\r\n\r\nif (token == null) token = localStorage.getItem(\"token\");\r\nexport const AUTH_CONFIG = {\r\n headers: {\r\n // Authorization: `Bearer ${token}`,\r\n // application_id: \"c86ae3f5-3a96-49f2-af05-94746357d0ec\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n};\r\n\r\nexport const card_type = [\r\n { label: \"Visa\", value: \"Visa\" },\r\n { label: \"MasterCard\", value: \"MasterCard\" },\r\n { label: \"American Express\", value: \"American Express\" },\r\n // { label: \"Discover\", value: \"Discover\" },\r\n];\r\n\r\nexport const MonthsForPicker = [\r\n \"JAN\",\r\n \"FEB\",\r\n \"MAR\",\r\n \"APR\",\r\n \"MAY\",\r\n \"JUN\",\r\n \"JUL\",\r\n \"AUG\",\r\n \"SEP\",\r\n \"OCT\",\r\n \"NOV\",\r\n \"DEC\",\r\n];\r\n\r\nexport const socialHabitsData = [\"Daily\", \"Weekly\", \"Monthly\", \"Never\"];\r\n\r\nexport const medicalHistoryDiseases = {\r\n group1: [\"Asthma\", \"Alergy\", \"Hyper tension\", \"Thyroid\", \"Diabities\"],\r\n group2: [\"Blood pressure\", \"Back Pain\", \"Cardiac\", \"Neck Pain\", \"Cold\"],\r\n group3: [\"Fever\", \"Corona\", \"Dengu\", \"Flu\", \"Typhoid\"],\r\n group4: [\"Cancer\", \"Obesity\", \"Pregnancy\", \"Infection\", \"Skin Alergy\"],\r\n};\r\n\r\nexport const referral_categories = [\r\n { label: \"Business\", value: \"Business\" },\r\n { label: \"Professional\", value: \"Professional\" },\r\n { label: \"Client\", value: \"Client\" },\r\n];\r\nexport const support_categories = [\r\n { label: \"Hospital\", value: \"Hospital\" },\r\n { label: \"Doctor\", value: \"Doctor\" },\r\n { label: \"Patient\", value: \"Patient\" },\r\n];\r\n\r\nexport const hospitaltimeout = 600000;\r\nexport const doctortimeout = 600000;\r\nexport const patienttimeout = 60000;\r\n\r\nexport const issue_description = [\r\n { label: \"Password locked\", value: \"Password locked\" },\r\n { label: \"Queue not working\", value: \"Queue not working\" },\r\n { label: \"Not able to sign up\", value: \"Not able to sign up\" },\r\n { label: \"Others\", value: \"Others\" },\r\n];\r\n\r\nexport const limit_times_to = [\r\n { label: \"All Available\", value: \"available\" },\r\n { label: \"All Slot\", value: \"all\" },\r\n];\r\n\r\nexport const vendor_category = [\r\n { label: \"Clinic\", value: \"Clinic\" },\r\n { label: \"Pharmacy\", value: \"Pharmacy\" },\r\n]\r\n\r\nexport const storagecondition = [\r\n { value: 0, label: \"Below 0°C\" },\r\n { value: 1, label: \"2°C-8°C\" },\r\n { value: 2, label: \"20°C-25°C\" },\r\n { value: 3, label: \"Below 30°C\" },\r\n { value: 4, label: \"Room Temperature\" },\r\n];\r\n\r\n\r\nexport const categorylist = [\r\n { value: 0, label: \"Medicines\" },\r\n { value: 1, label: \"Surgical Items\" },\r\n { value: 2, label: \"Consumables\" },\r\n { value: 3, label: \"Personal Care\" },\r\n { value: 4, label: \"Health & Fitness\" },\r\n { value: 5, label: \"Homeopathy Care\" },\r\n { value: 6, label: \"Elderly Care\" },\r\n { value: 7, label: \"Healthcare Devices\" },\r\n { value: 8, label: \"Health Food & Drinks\" },\r\n { value: 9, label: \"Skin Care\" },\r\n { value: 10, label: \"Mother & Baby Care\" },\r\n { value: 11, label: \"Healthcare Accessories\" },\r\n { value: 12, label: \"Ayurvedic Care\" },\r\n { value: 13, label: \"Sexual Wellness\" },\r\n { value: 14, label: \"Room Temperature\" },\r\n { value: 15, label: \"Home Care\" },\r\n { value: 16, label: \"Food & Beverages\" },\r\n { value: 17, label: \"Pet Supplies\" },\r\n { value: 18, label: \"Ortho Belts & Supports\" },\r\n \r\n];\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\r\n\r\nconst StarField = (props) => (\r\n *\r\n\r\n\r\n);\r\n\r\n\r\nexport default StarField;","import React, { Fragment } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport StarField from \"../UI/StarField\";\r\nconst InputField = (props) => (\r\n \r\n {props.title ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n);\r\n\r\nInputField.propTypes = {\r\n inputType: PropTypes.oneOf([\"text\", \"number\", \"password\", \"date\"]).isRequired,\r\n // title: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n controlFunc: PropTypes.func.isRequired,\r\n // content: PropTypes.oneOfType([\r\n // PropTypes.string,\r\n // PropTypes.number,\r\n // ]).isRequired,\r\n placeholder: PropTypes.string,\r\n isMandatory: PropTypes.bool,\r\n};\r\n\r\nexport default InputField;\r\n","import React from 'react';\r\n// import PropTypes from 'prop-types';\r\n\r\nconst SpanField = (props) => (\r\n {props.title}\r\n\r\n\r\n);\r\n\r\n// Label.propTypes = {\r\n// title: PropTypes.string.isRequired,\r\n// isMandatory: PropTypes.bool\r\n\r\n\r\n// };\r\n\r\nexport default SpanField;","import React, { Component } from 'react';\r\nimport { NavLink, withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\n// import logo from '../assets/image/logo.webp';\r\n// import '../assets/css/auth.css';\r\n// import { setClass1Hide } from '../../Redux/CreateSlice';\r\n// import 'bootstrap/dist/css/bootstrap.min.css';\r\n// import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n// import { faArrowRight, faArrowRightArrowLeft, faBars, faChevronDown, faRightLeft, faXmark, faPlus, faMinus, faClose } from '@fortawesome/free-solid-svg-icons';\r\n\r\n\r\n\r\nclass Headerweb extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isSticky: false,\r\n isAboutView: false,\r\n isProductView: false,\r\n isBenifitView: false,\r\n isContactView: false,\r\n isSolutionView: false,\r\n isSolutionClinical: false,\r\n isSolutionAppointment: false,\r\n isExpanded: false,\r\n showMenu: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n window.addEventListener('scroll', this.handleScroll);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('scroll', this.handleScroll);\r\n }\r\n\r\n handleScroll = () => {\r\n if (window.scrollY >= 50) {\r\n this.setState({ isSticky: true });\r\n } else {\r\n this.setState({ isSticky: false });\r\n }\r\n };\r\n\r\n // navButton = () => {\r\n // const { isClass1Show } = this.props;\r\n // this.props.dispatch(setClass1Hide(!isClass1Show));\r\n // };\r\n\r\n toggleMenu = () => {\r\n this.setState(prevState => ({ showMenu: !prevState.showMenu }));\r\n };\r\n\r\n toggleDropdownAbout = () => {\r\n this.setState(prevState => ({\r\n isExpanded: !prevState.isExpanded,\r\n isAboutView: !prevState.isAboutView,\r\n }));\r\n };\r\n\r\n toggleDropdownProduct = () => {\r\n this.setState(prevState => ({\r\n isExpanded: !prevState.isExpanded,\r\n isProductView: !prevState.isProductView,\r\n }));\r\n };\r\n\r\n toggleDropdownBenifit = () => {\r\n this.setState(prevState => ({\r\n isExpanded: !prevState.isExpanded,\r\n isBenifitView: !prevState.isBenifitView,\r\n }));\r\n };\r\n\r\n toggleDropdownContact = () => {\r\n this.setState(prevState => ({\r\n isExpanded: !prevState.isExpanded,\r\n isContactView: !prevState.isContactView,\r\n }));\r\n };\r\n\r\n toggleDropdownSolution = (event) => {\r\n event.preventDefault();\r\n this.setState(prevState => ({\r\n isSolutionView: !prevState.isSolutionView,\r\n }));\r\n };\r\n\r\n toggleDropdownClinical = () => {\r\n this.setState(prevState => ({\r\n isSolutionClinical: !prevState.isSolutionClinical,\r\n }));\r\n };\r\n\r\n toggleDropdownAppointment = () => {\r\n this.setState(prevState => ({\r\n isSolutionAppointment: !prevState.isSolutionAppointment,\r\n }));\r\n };\r\n\r\n userAuth = () => {\r\n this.props.history.push('/login');\r\n };\r\n\r\n bookademo = () => {\r\n this.props.history.push('/bookdemo');\r\n };\r\n\r\n render() {\r\n const { isSticky, showMenu, isExpanded, isAboutView, isProductView, isBenifitView, isContactView, isSolutionView, isSolutionClinical, isSolutionAppointment } = this.state;\r\n const { isClass1Show } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n ) }};\r\n export default Headerweb;","import {\r\n isValidPhoneNumber,\r\n\r\n} from \"react-phone-number-input\";\r\n\r\nexport default function Validations(data, errors) {\r\n \r\n errors = {};\r\n errors.formIsValid = true;\r\n if(data.page === \"Rooms\"){\r\n console.log(data);\r\n if (data.room_id === \"\") {\r\n errors.room_id = \"Please enter Room id\";\r\n errors.formIsValid = false;\r\n } \r\n \r\n if (data.is_available === \"\") {\r\n errors.is_available = \"Please choose availability status\";\r\n errors.formIsValid = false;\r\n } \r\n \r\n if (data.price_per_day === \"\") {\r\n errors.price_per_day = \"Please enter price\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.facilities === \"\") {\r\n errors.facilities = \"Please choose facilities\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.status === \"\") {\r\n errors.status = \"Please choose room status\";\r\n errors.formIsValid = false;\r\n } \r\n }\r\n if(data.page === \"addpurchaseinfo\"){\r\n console.log(data);\r\n if (data.supplier_id === \"\") {\r\n errors.supplier_id = \"Please enter Supplier id\";\r\n errors.formIsValid = false;\r\n } \r\n \r\n if (data.drug_id === \"\") {\r\n errors.drug_id = \"Please enter Drug ID\";\r\n errors.formIsValid = false;\r\n } \r\n \r\n if (data.category === \"\") {\r\n errors.category = \"Please enter category\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.type === \"\") {\r\n errors.type = \"Please enter type\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.order_unit === \"\") {\r\n errors.order_unit = \"Please enter order unit\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.manufacturer === \"\") {\r\n errors.manufacturer = \"Please enter Manufacturer\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.min_lot === \"\") {\r\n errors.min_lot = \"Please enter Min lot\";\r\n errors.formIsValid = false;\r\n } \r\n \r\n if (data.max_lot === \"\") {\r\n errors.max_lot = \"Please enter Max lot\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.discount === \"\") {\r\n errors.discount = \"Please enter discount\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.gst === \"\") {\r\n errors.gst = \"Please enter GST\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.price_per_unit === \"\") {\r\n errors.price_per_unit = \"Please enter Price per unit\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.status === \"\") {\r\n errors.status = \"Please choose status\";\r\n errors.formIsValid = false;\r\n } \r\n \r\n \r\n \r\n\r\n }\r\n if (data.type === 'supplierlist') {\r\n if (data.supplier_id === \"\") {\r\n errors.supplier_id = \"Please enter a Supplier Id\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.supplier_id !== \"undefined\") {\r\n if (!data.supplier_id.match(/^[A-Za-z0-9]+$/)) {\r\n errors.supplier_id = \"Please enter valid supplier ID .\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.supplier_name === \"\") {\r\n errors.supplier_name = \"Please enter a Supplier Name\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.supplier_name !== \"undefined\") {\r\n if (!data.supplier_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.supplier_name = \"Please enter valid Supplier Name .\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.status === \"\") {\r\n errors.status = \"Please choose Supplier status\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.payment_terms === \"\") {\r\n errors.payment_terms = \"Please enter Payment terms\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.address === \"\") {\r\n errors.address = \"Please enter a Address\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.phone_number === \"\") {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.gst === \"\") {\r\n errors.gst = \"Please enter GST percentage\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.discount=== \"\") {\r\n errors.discount = \"Please enter Discount percentage\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.type === 'storageBinlist') {\r\n if (data.storagebin_id === \"\") {\r\n errors.storagebin_id = \"Please enter a storage bin ID\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.storagebin_id !== \"undefined\") {\r\n if (!data.storagebin_id.match(/^[A-Za-z0-9]+$/)) {\r\n errors.storagebin_id = \"Please enter valid storage bin ID .\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.storage_type === \"\") {\r\n errors.storage_type = \"Please enter a storage type Name\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.storage_type !== \"undefined\") {\r\n if (!data.storage_type.match(/^[a-zA-Z ]*$/)) {\r\n errors.storage_type = \"Please enter valid storage type Name .\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.capacity === \"\") {\r\n errors.capacity = \"Please enter a capacity\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.stock_placement === \"\") {\r\n errors.stock_placement = \"Please choose a stock placement\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.stock_removal === \"\") {\r\n errors.stock_removal = \"Please choose a stock removal\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.rack === \"\") {\r\n errors.rack = \"Please enter a rack\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.aisle === \"\") {\r\n errors.aisle = \"Please enter a aisle\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.status=== \"\") {\r\n errors.status = \"Please choose a status\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.type === 'Transfertype') {\r\n \r\n if (data.Transfer_type === \"\") {\r\n errors.Transfer_type = \"Please enter a Transfer type Name\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.Transfer_type !== \"undefined\") {\r\n if (!data.Transfer_type.match(/^[a-zA-Z ]*$/)) {\r\n errors.Transfer_type = \"Please enter valid Transfer type Name .\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n \r\n }\r\n\r\nif(data.type === \"adddrugplanningdata\"){\r\n console.log(data);\r\n if (data.drug_id === \"\") {\r\n errors.drug_id = \"Please enter Drug id\";\r\n errors.formIsValid = false;\r\n } \r\n // if (data.vendor_drug_id === \"\") {\r\n // errors.vendor_drug_id = \"Please enter Vendor Drug id\";\r\n // errors.formIsValid = false;\r\n // } \r\n // if (data.drug_category === \"\") {\r\n // errors.drug_category = \"Please enter Drug category\";\r\n // errors.formIsValid = false;\r\n // } \r\n // if (data.drug_type === \"\") {\r\n // errors.drug_type = \"Please enter Drug type\";\r\n // errors.formIsValid = false;\r\n // } \r\n // if (data.active_ingredients === \"\") {\r\n // errors.active_ingredients = \"Please enter Active Ingredients\";\r\n // errors.formIsValid = false;\r\n // } \r\n // if (data.manufacturer === \"\") {\r\n // errors.manufacturer = \"Please enter Manufacturer\";\r\n // errors.formIsValid = false;\r\n // } \r\n if (data.generic_name === \"\") {\r\n errors.generic_name = \"Please enter Generic name\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.mrp === \"\") {\r\n errors.mrp = \"Please enter MRP\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.expiry_date === \"\") {\r\n errors.expiry_date = \"Please choose Expiry date\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.stock_keeping_unit === \"\") {\r\n errors.stock_keeping_unit = \"Please enter Stock Keeping Unit\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.ordering_unit === \"\") {\r\n errors.ordering_unit = \"Please enter Ordering Unit\";\r\n errors.formIsValid = false;\r\n } \r\n // if (data.safety_stock === \"\") {\r\n // errors.safety_stock = \"Please enter Safety Stock\";\r\n // errors.formIsValid = false;\r\n // } \r\n \r\n \r\n \r\n \r\n \r\n \r\n // if (data.maximum_stock_level === \"\") {\r\n // errors.maximum_stock_level = \"Please enter Maximum Stock Level\";\r\n // errors.formIsValid = false;\r\n // } if (data.minimum_lot_size === \"\") {\r\n // errors.minimum_lot_size = \"Please enter Minimum lot sizw\";\r\n // errors.formIsValid = false;\r\n // } if (data.maximum_lot_size === \"\") {\r\n // errors.maximum_lot_size = \"Please enter Maximum lot size\";\r\n // errors.formIsValid = false;\r\n // } if (data.re_order_point === \"\") {\r\n // errors.re_order_point = \"Please enter Reorder Point\";\r\n // errors.formIsValid = false;\r\n // } if (data.storage_bin === \"\") {\r\n // errors.storage_bin = \"Please enter Storage bin\";\r\n // errors.formIsValid = false;\r\n // } if (data.rake === \"\") {\r\n // errors.rake = \"Please enter Rakename\";\r\n // errors.formIsValid = false;\r\n // } \r\n // if (data.asile === \"\") {\r\n // errors.asile = \"Please enter Asile\";\r\n // errors.formIsValid = false;\r\n // } \r\n // if (data.asile === \"\") {\r\n // errors.asile = \"Please enter Asile\";\r\n // errors.formIsValid = false;\r\n // } \r\n\r\n if (data.price_per_unit === \"\") {\r\n errors.price_per_unit = \"Please enter Price per unit\";\r\n errors.formIsValid = false;\r\n } \r\n // if (data.discount_percentage === \"\") {\r\n // errors.discount_percentage = \"Please enter Discount percentage\";\r\n // errors.formIsValid = false;\r\n // } \r\n if (data.tax_category === \"\") {\r\n errors.tax_category = \"Please Tax category\";\r\n errors.formIsValid = false;\r\n } \r\n}\r\n if(data.type === \"adddrugplanningdata\"){\r\n console.log(data);\r\n if (data.drug_id === \"\") {\r\n errors.drug_id = \"Please enter Drug id\";\r\n errors.formIsValid = false;\r\n } \r\n // if (data.vendor_drug_id === \"\") {\r\n // errors.vendor_drug_id = \"Please enter Vendor Drug id\";\r\n // errors.formIsValid = false;\r\n // } \r\n if (data.drug_name === \"\") {\r\n errors.drug_name = \"Please enter Drug Name\";\r\n errors.formIsValid = false;\r\n } \r\n // if (data.drug_type === \"\") {\r\n // errors.drug_type = \"Please enter Drug type\";\r\n // errors.formIsValid = false;\r\n // } \r\n // if (data.active_ingredients === \"\") {\r\n // errors.active_ingredients = \"Please enter Active Ingredients\";\r\n // errors.formIsValid = false;\r\n // } \r\n // if (data.manufacturer === \"\") {\r\n // errors.manufacturer = \"Please enter Manufacturer\";\r\n // errors.formIsValid = false;\r\n // } \r\n if (data.generic_name === \"\") {\r\n errors.generic_name = \"Please enter Generic name\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.mrp === \"\") {\r\n errors.mrp = \"Please enter MRP\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.expiry_date === \"\") {\r\n errors.expiry_date = \"Please choose Expiry date\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.stock_keeping_unit === \"\") {\r\n errors.stock_keeping_unit = \"Please enter Stock Keeping Unit\";\r\n errors.formIsValid = false;\r\n } \r\n if (data.ordering_unit === \"\") {\r\n errors.ordering_unit = \"Please enter Ordering Unit\";\r\n errors.formIsValid = false;\r\n } \r\n // if (data.safety_stock === \"\") {\r\n // errors.safety_stock = \"Please enter Safety Stock\";\r\n // errors.formIsValid = false;\r\n // } \r\n \r\n \r\n \r\n \r\n \r\n \r\n // if (data.maximum_stock_level === \"\") {\r\n // errors.maximum_stock_level = \"Please enter Maximum Stock Level\";\r\n // errors.formIsValid = false;\r\n // } if (data.minimum_lot_size === \"\") {\r\n // errors.minimum_lot_size = \"Please enter Minimum lot sizw\";\r\n // errors.formIsValid = false;\r\n // } if (data.maximum_lot_size === \"\") {\r\n // errors.maximum_lot_size = \"Please enter Maximum lot size\";\r\n // errors.formIsValid = false;\r\n // } if (data.re_order_point === \"\") {\r\n // errors.re_order_point = \"Please enter Reorder Point\";\r\n // errors.formIsValid = false;\r\n // } if (data.storage_bin === \"\") {\r\n // errors.storage_bin = \"Please enter Storage bin\";\r\n // errors.formIsValid = false;\r\n // } if (data.rake === \"\") {\r\n // errors.rake = \"Please enter Rakename\";\r\n // errors.formIsValid = false;\r\n // } \r\n // if (data.asile === \"\") {\r\n // errors.asile = \"Please enter Asile\";\r\n // errors.formIsValid = false;\r\n // } \r\n // if (data.asile === \"\") {\r\n // errors.asile = \"Please enter Asile\";\r\n // errors.formIsValid = false;\r\n // } \r\n\r\n if (data.price_per_unit === \"\") {\r\n errors.price_per_unit = \"Please enter Price per unit\";\r\n errors.formIsValid = false;\r\n } \r\n // if (data.discount_percentage === \"\") {\r\n // errors.discount_percentage = \"Please enter Discount percentage\";\r\n // errors.formIsValid = false;\r\n // } \r\n if (data.tax_category === \"\") {\r\n errors.tax_category = \"Please Tax category\";\r\n errors.formIsValid = false;\r\n } \r\n\r\n \r\n \r\n \r\n\r\n }\r\n if (data.type === 'medicinesupplies') {\r\n if (data.supplies_id === \"\") {\r\n errors.supplies_id = \"The Supplies ID field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.supplies_id !== \"undefined\") {\r\n if (!data.supplies_id.match(/^[A-Za-z0-9]+$/)) {\r\n errors.supplies_id = \"Please enter valid supplies ID .\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.supplies_name === \"\") {\r\n errors.supplies_name = \"The Supplies Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.supplies_name !== \"undefined\") {\r\n if (!data.supplies_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.supplies_name = \"Only Characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.supplies_category === \"\") {\r\n errors.supplies_category = \"Select your Supply Category field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.amount === \"\") {\r\n errors.amount = \"The Amount field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.type === 'promocodeList') {\r\n if (data.promo_code === \"\") {\r\n errors.promo_code = \"Please enter a promocode\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.percentage === \"\") {\r\n errors.percentage = \"Please enter a percentage\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.expires_at === \"\" || data.expires_at == null) {\r\n errors.expires_at = \"Please choose Expire date\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.type === 'applyPromo') {\r\n if (data.promo_code === \"\") {\r\n errors.promo_code = \"Please enter a promocode\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.months === \"\") {\r\n errors.months = \"Please choose month\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.subscription_id === \"\" || data.subscription_id == null) {\r\n errors.subscription_id = \"Please choose subscription type\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.type === \"vendorform\") {\r\n if (data.vendor_name === \"\") {\r\n errors.vendor_name = \"Please enter a vendor name\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.vendor_category === \"\") {\r\n errors.vendor_category = \"Please enter a vendor category\";\r\n errors.formIsValid = false;\r\n } if (data.address1 === \"\" || data.address1 == null) {\r\n errors.address1 = \"Choose address from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.city === \"\" || data.city == null) \r\n \r\n {\r\n errors.city = \"Please enter your City.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.country === \"\" || data.country == null) {\r\n errors.country = \"Please enter your Country.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.state === \"\" || data.state == null) {\r\n errors.state = \"Please enter your State.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.zipcode === \"\" || data.zipcode == null) {\r\n errors.zipcode = \"Please enter your Zip/Pincode.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (\r\n data.phone_number !== \"\" &&\r\n typeof data[\"phone_number\"] !== \"undefined\"\r\n ) {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n // formIsValid = false;\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.phone_number === \"\") {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.vendor_subscription === \"\") {\r\n errors.vendor_subscription = \"Please enter vendor subscription.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.email === \"\") {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n var pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n }\r\n if (data.type === \"vendorpharmacy\") {\r\n if (data.vendor_name === \"\") {\r\n errors.vendor_name = \"Please enter a vendor name\";\r\n errors.formIsValid = false;\r\n }\r\n // if (data.address1 === \"\" || data.address1 == null) {\r\n // errors.address1 = \"Choose address from Google.\";\r\n // errors.formIsValid = false;\r\n // }\r\n\r\n // if (data.city === \"\" || data.city == null) \r\n \r\n // {\r\n // errors.city = \"Please enter your City.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // if (data.country === \"\" || data.country == null) {\r\n // errors.country = \"Please enter your Country.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // if (data.state === \"\" || data.state == null) {\r\n // errors.state = \"Please enter your State.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // if (data.zipcode === \"\" || data.zipcode == null) {\r\n // errors.zipcode = \"Please enter your Zip/Pincode.\";\r\n // errors.formIsValid = false;\r\n // }\r\n \r\n/* if (\r\n data.phone_number !== \"\" &&\r\n typeof data[\"phone_number\"] !== \"undefined\"\r\n ) {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n // formIsValid = false;\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n } */\r\n // if (data.food_expirydate === \"\") {\r\n // errors.food_expirydate = \"The Date is required.\";\r\n // errors.formIsValid = false;\r\n // }\r\n if (data.state === \"\") {\r\n errors.state = \"The state is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.country === \"\") {\r\n errors.country = \"The Country is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.address1 === \"\") {\r\n errors.address1 = \"The Address is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.city === \"\") {\r\n errors.city = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.zip_code === \"\") {\r\n errors.zip_code = \"The Pincode is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.pan === \"\") {\r\n errors.pan = \"The PAN is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.phone_number === \"\") {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n }\r\n \r\n if (data.email === \"\") {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n var pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n } \r\n if (data.gstreg_type === \"\") {\r\n errors.gstreg_type = \"Please select a GST type\";\r\n errors.formIsValid = false;\r\n } else {\r\n errors.gstreg_type = \"\"; \r\n }\r\n \r\n }\r\n if (data.type === \"referral_page\") {\r\n if (data.name === \"\" || data.name == null) {\r\n errors.name = \"The Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.name !== \"undefined\") {\r\n if (!data.name.match(/^[a-zA-Z]*$/)) {\r\n errors.name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /* if (data.category === \"\") {\r\n errors.category = \"Please Select a category.\";\r\n errors.formIsValid = false;\r\n } */\r\n if (data.email === \"\") {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n if (data.phone_number === \"\" || data.phone_number == null) {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n }\r\n if (data.user_type === \"patientsignup\") {\r\n if (data.first_name === \"\" || data.first_name == null) {\r\n errors.first_name = \"The First Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.first_name !== \"undefined\") {\r\n if (!data.first_name.match(/^[a-zA-Z]*$/)) {\r\n errors.first_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.last_name === \"\" || data.last_name == null) {\r\n errors.last_name = \"The Last Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.last_name !== \"undefined\") {\r\n if (!data.last_name.match(/^[a-zA-Z]*$/)) {\r\n errors.last_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.email === \"\") {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n var pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n if (data.phone_number === \"\" || data.phone_number == null) {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n // if (\r\n // data.phone_number !== \"\" &&\r\n // typeof data[\"phone_number\"] !== \"undefined\"\r\n // ) {\r\n // if (!isValidPhoneNumber(data.phone_number)) {\r\n // // formIsValid = false;\r\n // errors[\"phone_number\"] = \"Please enter valid Phone number.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n // if (data.phone_number === \"\") {\r\n // errors.phone_number = \"Please enter phone number.\";\r\n // errors.formIsValid = false;\r\n // }\r\n\r\n if (data.password === \"\") {\r\n errors.password = \"The Password field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (typeof data[\"password\"] !== \"undefined\" && data[\"password\"] !== \"\") {\r\n if (\r\n !data[\"password\"].match(\r\n /^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%&]).*$/\r\n )\r\n ) {\r\n // formIsValid = false;\r\n errors[\"password\"] =\r\n // \"Your password must fulfill the following requirements. The password must contain one upper letters(A-Z) and one lower case letters(a-z) one number(0-9) and one special character (ex. !@#$%^&*) and total length of 8 characters.\";\r\n \"Please enter secure and strong Password. The password must contain one upper and one lower case character one number and one special character and total length of 8 characters.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.gender === \"\" || data.gender == null) {\r\n errors.gender = \"Select the Gender field.\";\r\n errors.formIsValid = false;\r\n \r\n }\r\n\r\n\r\n if (data.date_of_birth === \"\" || data.date_of_birth == null) {\r\n errors.date_of_birth = \"Select the Date Of Birth field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (!data.agreedOption.includes(2)) {\r\n errors.agreeTC = \"Accept Terms & Privacy Policy before submitting.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.user_type === \"patient\") {\r\n errors.first_name = \"\"; errors.last_name = \"\"; errors.email = \"\"; errors.phone_number = \"\"; errors.gender = \"\"; errors.date_of_birth = \"\";\r\n errors.address1 = \"\";\r\n errors.city = \"\";\r\n errors.country = \"\";\r\n errors.state = \"\";\r\n errors.zip_code = \"\";\r\n errors.nationality = \"\";\r\n errors.marital_status = \"\";\r\n if (data.first_name === \"\" || data.first_name == null) {\r\n errors.first_name = \"The First Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.first_name !== \"undefined\") {\r\n if (!data.first_name.match(/^[a-zA-Z]*$/)) {\r\n errors.first_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n\r\n if (data.last_name === \"\" || data.last_name == null) {\r\n errors.last_name = \"The Last Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.last_name !== \"undefined\") {\r\n if (!data.last_name.match(/^[a-zA-Z]*$/)) {\r\n errors.last_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n // if (data.age === \"\" || data.age == null) {\r\n // errors.age = \"Please enter your age\";\r\n // errors.formIsValid = false;\r\n // }\r\n\r\n // if (data.email === '') {\r\n // errors.email = 'The Email field is required';\r\n // errors.formIsValid = false;\r\n // }\r\n if (data.email !== \"\" && data.email !== null) {\r\n //regular expression for email validation\r\n pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n if (data.phone_number === \"\" || data.phone_number == null) {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (\r\n data.phone_number !== \"\" &&\r\n typeof data[\"phone_number\"] !== \"undefined\"\r\n ) {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n // formIsValid = false;\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /* if (\r\n data.emergency_contact.phone_number !== \"\" &&\r\n typeof data[\"emergency_contact\"] !== \"undefined\"\r\n ) {\r\n if (!isValidPhoneNumber(data.emergency_contact.phone_number)) {\r\n // formIsValid = false;\r\n errors[\"emergency_contact\"] = \"Please enter a valid Emergency number.\";\r\n errors.formIsValid = false;\r\n }\r\n } */\r\n\r\n if (data.password === \"\") {\r\n errors.password = \"The Password field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (typeof data[\"password\"] !== \"undefined\" && data[\"password\"] !== \"\") {\r\n if (\r\n !data[\"password\"].match(\r\n /^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%&]).*$/\r\n )\r\n ) {\r\n // formIsValid = false;\r\n errors[\"password\"] =\r\n \"Please enter secure and strong Password. The password must contain one upper and one lower case character one number and one special character and total length of 8 characters.\";\r\n // \"our password must fulfill the following requirements. The password must contain one upper letters(A-Z) and one lower case letters(a-z) one number(0-9) and one special character (ex. !@#$%^&*) and total length of 8 characters.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.gender === \"\" || data.gender == null) {\r\n errors.gender = \"Select the Gender field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.date_of_birth === \"\" || data.date_of_birth == null) {\r\n errors.date_of_birth = \"Select the Date Of Birth field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.address1 === \"\" || data.address1 == null) {\r\n errors.address1 = \"Choose the Address field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.city === \"\" || data.city == null) {\r\n errors.city = \"Choose the City field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.country === \"\" || data.country == null) {\r\n errors.country = \"Choose the Country field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.state === \"\" || data.state == null) {\r\n errors.state = \" Choose the State field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.zip_code === \"\" || data.zip_code == null) {\r\n errors.zip_code = \"Choose the Zip/Pincode field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* if (\r\n data.blood_group === \"\" ||\r\n data.blood_group == null ||\r\n data.blood_group.length === 0\r\n ) {\r\n errors.blood_group = \"Select the Blood Group field.\";\r\n errors.formIsValid = false;\r\n } */\r\n\r\n if (data.gender === \"\" || data.gender == null) {\r\n errors.gender = \"Select the Date Of Birth field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* if (\r\n data.marital_status === \"\" ||\r\n data.marital_status == null|| data.marital_status.length === 0\r\n ) {\r\n errors.marital_status = \"Select the Marital Status field.\";\r\n errors.formIsValid = false;\r\n } */\r\n if (\r\n data.nationality === \"\" ||\r\n data.nationality == null ||\r\n data.nationality.length === 0\r\n ) {\r\n errors.nationality = \"Select the Nationality field.\";\r\n errors.formIsValid = false;\r\n }\r\n } else if (data.user_type === \"doctor\") {\r\n if (data.first_name === \"\" || data.first_name == null) {\r\n errors.first_name = \"The First Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.first_name !== \"undefined\") {\r\n if (!data.first_name.match(/^[a-zA-Z]*$/)) {\r\n errors.first_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.last_name === \"\" || data.last_name == null) {\r\n errors.last_name = \"The Last Name field is required\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.last_name !== \"undefined\") {\r\n if (!data.last_name.match(/^[a-zA-Z]*$/)) {\r\n errors.last_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.email === \"\") {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n if (data.phone_number === \"\" || data.phone_number == null) {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.password === \"\") {\r\n errors.password = \"The Password field is required\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (typeof data[\"password\"] !== \"undefined\" && data[\"password\"] !== \"\") {\r\n if (\r\n !data[\"password\"].match(\r\n /^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%&]).*$/\r\n )\r\n ) {\r\n // formIsValid = false;\r\n errors[\"password\"] =\r\n \"Please enter secure and strong Password.The password must contain one upper letters(A-Z) and one lower case letters(a-z) one number(0-9) and one special character (ex. !@#$%^&*) and total length of 8 characters.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.gender === \"\") {\r\n errors.gender = \"Select your Gender field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.date_of_birth === \"\") {\r\n errors.date_of_birth = \"Select your DOB field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (!data.agreedOption.includes(2)) {\r\n errors.agreeTC = \"Accept the Terms & Privacy Policy before submitting.\";\r\n errors.formIsValid = false;\r\n }\r\n } else if (data.user_type === \"hospital\") {\r\n \r\n if (data.category_array === \"\") {\r\n errors.category_array = \"Select your Business Category field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.business_name === \"\" || data.business_name == null) {\r\n errors.business_name = \"The Business Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.business_name !== \"undefined\") {\r\n if (!data.business_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.business_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n\r\n if (data.address1 === \"\") {\r\n errors.address1 = \"Choose the Address field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.city === \"\") {\r\n errors.city = \" Choose the City field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.country === \"\") {\r\n errors.country = \"Choose the Country field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.state === \"\") {\r\n errors.state = \"Choose the State field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.zip_code === \"\") {\r\n errors.zip_code = \"Choose the Zip/Pincode field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.email === \"\") {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n\r\n pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n if (data.phone_number === \"\" || data.phone_number == null) {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.password === \"\") {\r\n errors.password = \"The Password field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (typeof data[\"password\"] !== \"undefined\" && data[\"password\"] !== \"\") {\r\n if (\r\n !data[\"password\"].match(\r\n /^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%&]).*$/\r\n )\r\n ) {\r\n // formIsValid = false;\r\n errors[\"password\"] =\r\n \"Please enter secure and strong Password. The password must contain one upper and one lower case character one number and one special character and total length of 8 characters.\";\r\n // \"our password must fulfill the following requirements. The password must contain one upper letters(A-Z) and one lower case letters(a-z) one number(0-9) and one special character (ex. !@#$%^&*) and total length of 8 characters.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (!data.agreedOption.includes(2)) {\r\n errors.agreeTC = \"Accept the Terms & Privacy Policy before submitting\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n else if (data.user_type === \"hospitalsignup\") {\r\n if (data.category_array === \"\") {\r\n errors.category_array = \"Select your Business Category field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.business_name === \"\") {\r\n errors.business_name = \"The Business Name field is required\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.schedule_type === \"\" || null === data.schedule_type) {\r\n errors.schedule_type = \"Choose your Schedule type field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.address1 === \"\") {\r\n errors.address1 = \"Choose address from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n // if (typeof data.address2 !== \"undefined\") {\r\n // \r\n // if (!data.address2.match(/^[a-zA-Z]*$/)) {\r\n // errors.address2 = \"Please enter valid Address.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n\r\n if (data.city === \"\") {\r\n errors.city = \"Choose the City field from Google.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.city !== \"undefined\") {\r\n \r\n if (!data.city.match(/^[a-zA-Z ]*$/)) {\r\n errors.city = \"Please enter valid City.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.country === \"\") {\r\n errors.country = \" Choose the Country field from Google.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.country !== \"undefined\") {\r\n \r\n if (!data.country.match(/^[a-zA-Z ]*$/)) {\r\n errors.country = \"Please enter valid Country.\";\r\n errors.formIsValid = false;\r\n }\r\n } \r\n if (data.state === \"\") {\r\n errors.state = \" Choose the State field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.zip_code === \"\") {\r\n errors.zip_code = \"Choose the Zip/Pincode field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.fax_number != null ) {\r\n // \r\n if (data.fax_number && !data.fax_number.match(/^[0-9\\b]+$/)) {\r\n errors.fax_number = \"Please enter valid fax number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n\r\n // if (data.email === \"\") {\r\n // errors.email = \"Please enter your Email address.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // if (typeof data[\"email\"] !== \"undefined\") {\r\n // //regular expression for email validation\r\n // pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n // if (!pattern.test(data[\"email\"])) {\r\n // errors.formIsValid = false;\r\n // errors[\"email\"] = \"Please enter valid Email-ID.\";\r\n // }\r\n // }\r\n\r\n\r\n\r\n\r\n // if (data.phone_number === \"\") {\r\n // errors.phone_number = \"Please enter your Phone number.\";\r\n // errors.formIsValid = false;\r\n // } else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n // if (!isValidPhoneNumber(data.phone_number)) {\r\n // errors[\"phone_number\"] = \"Please enter valid Phone number.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n\r\n if (data.password === \"\") {\r\n errors.password = \"The Password field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (typeof data[\"password\"] !== \"undefined\" && data[\"password\"] !== \"\") {\r\n if (\r\n !data[\"password\"].match(\r\n /^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%&]).*$/\r\n )\r\n ) {\r\n // formIsValid = false;\r\n errors[\"password\"] =\r\n \"Please enter secure and strong Password. The password must contain one upper and one lower case character one number and one special character and total length of 8 characters.\";\r\n // \"our password must fulfill the following requirements. The password must contain one upper letters(A-Z) and one lower case letters(a-z) one number(0-9) and one special character (ex. !@#$%^&*) and total length of 8 characters.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n \r\n \r\n if (\r\n (data.working_days && !data.working_days.length) ||\r\n null === data.working_days || \"\" === data.working_days\r\n ) {\r\n errors.working_days = \"Choose your Working Days field\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.working_hours.morning_opens_at === \"\" && data.working_hours.morning_close_at === \"\") {\r\n errors.morning_opens_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n }\r\n else if (data.working_hours.evening_opens_at === \"\" && data.working_hours.evening_close_at === \"\") {\r\n errors.evening_opens_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n } \r\n else if(data.working_hours.morning_opens_at !== \"\" && data.working_hours.morning_close_at === \"\") {\r\n errors.morning_close_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n else if(data.working_hours.morning_close_at !== \"\" && data.working_hours.morning_opens_at === \"\") {\r\n errors.morning_opens_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n else if(data.working_hours.evening_opens_at !== \"\" && data.working_hours.evening_close_at === \"\") {\r\n errors.evening_close_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n else if(data.working_hours.evening_close_at !== \"\" && data.working_hours.evening_opens_at === \"\") {\r\n errors.evening_opens_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n\r\n\r\n\r\n if (data.working_hours.morning_opens_at >= data.working_hours.morning_close_at) {\r\n errors.working_hours_morning = \"Please select valid morning slots\";\r\n errors.formIsValid = false;\r\n }\r\n if (\r\n data.working_hours &&\r\n data.working_hours.evening_opens_at === \"\" &&\r\n data.working_hours.evening_opens_at === \"\"\r\n ) {\r\n errors.evening_opens_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n } else {\r\n if (\r\n data.working_hours.evening_opens_at >=\r\n data.working_hours.evening_close_at\r\n ) {\r\n errors.working_hours_evening = \"Please select valid evening slots\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (\r\n data.working_hours.evening_opens_at < data.working_hours.morning_close_at\r\n ) {\r\n errors.working_hours_evening = \"Please select valid evening slots\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n\r\n\r\n\r\n // if (data.phone_number === \"\" || data.phone_number == null) {\r\n // errors.phone_number = \"Please enter your Phone number.\";\r\n // errors.formIsValid = false;\r\n // } else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n // if (!isValidPhoneNumber(data.phone_number)) {\r\n // errors[\"phone_number\"] = \"Please enter valid Phone number.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n \r\n if (null === data.speciality || !data.speciality.length || data.speciality == []) {\r\n errors.speciality = \"Select your Speciality field.\";\r\n errors.formIsValid = false;\r\n }\r\n } else if (data.user_type === \"pharmacy\") {\r\n \r\n if (data.category_array === \"\") {\r\n errors.category_array = \"Select your Business Category field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.pharmacy_name === \"\" || data.pharmacy_name == null) {\r\n errors.pharmacy_name = \"The Pharmacy Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.pharmacy_name !== \"undefined\") {\r\n if (!data.pharmacy_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.pharmacy_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n\r\n if (data.pharm_address1 === \"\") {\r\n errors.pharm_address1 = \"Choose the Address field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.city === \"\") {\r\n errors.city = \" Choose the City field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.country === \"\") {\r\n errors.country = \"Choose the Country field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.state === \"\") {\r\n errors.state = \"Choose the State field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.zip_code === \"\") {\r\n errors.zip_code = \"Choose the Zip/Pincode field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.email === \"\") {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n\r\n pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n if (data.phone_number === \"\" || data.phone_number == null) {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.password === \"\") {\r\n errors.password = \"The Password field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (typeof data[\"password\"] !== \"undefined\" && data[\"password\"] !== \"\") {\r\n if (\r\n !data[\"password\"].match(\r\n /^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%&]).*$/\r\n )\r\n ) {\r\n // formIsValid = false;\r\n errors[\"password\"] =\r\n \"Please enter secure and strong Password. The password must contain one upper and one lower case character one number and one special character and total length of 8 characters.\";\r\n // \"our password must fulfill the following requirements. The password must contain one upper letters(A-Z) and one lower case letters(a-z) one number(0-9) and one special character (ex. !@#$%^&*) and total length of 8 characters.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (!data.agreedOption.includes(2)) {\r\n errors.agreeTC = \"Accept the Terms & Privacy Policy before submitting\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n else if (data.user_type === \"pharmacysignup\") {\r\n /* if (data.category_array === \"\") {\r\n errors.category_array = \"Select your Business Category field.\";\r\n errors.formIsValid = false;\r\n } */\r\n\r\n if (data.pharmacy_name === \"\") {\r\n errors.pharmacy_name = \"The Pharmacy Name field is required\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* if (data.schedule_type === \"\" || null === data.schedule_type) {\r\n errors.schedule_type = \"Choose your Schedule type field.\";\r\n errors.formIsValid = false;\r\n } */\r\n /* if (data.pharm_address1 === \"\") {\r\n errors.pharm_address1 = \"Choose address from Google.\";\r\n errors.formIsValid = false;\r\n } */\r\n\r\n // if (typeof data.address2 !== \"undefined\") {\r\n // \r\n // if (!data.address2.match(/^[a-zA-Z]*$/)) {\r\n // errors.address2 = \"Please enter valid Address.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n\r\n if (data.city === \"\") {\r\n errors.city = \"Choose the City field from Google.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.city !== \"undefined\") {\r\n \r\n if (!data.city.match(/^[a-zA-Z ]*$/)) {\r\n errors.city = \"Please enter valid City.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.country === \"\") {\r\n errors.country = \" Choose the Country field from Google.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.country !== \"undefined\") {\r\n \r\n if (!data.country.match(/^[a-zA-Z ]*$/)) {\r\n errors.country = \"Please enter valid Country.\";\r\n errors.formIsValid = false;\r\n }\r\n } \r\n if (data.state === \"\") {\r\n errors.state = \" Choose the State field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.zip_code === \"\") {\r\n errors.zip_code = \"Choose the Zip/Pincode field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.fax_number != null ) {\r\n // \r\n if (data.fax_number && !data.fax_number.match(/^[0-9\\b]+$/)) {\r\n errors.fax_number = \"Please enter valid fax number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n\r\n // if (data.email === \"\") {\r\n // errors.email = \"Please enter your Email address.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // if (typeof data[\"email\"] !== \"undefined\") {\r\n // //regular expression for email validation\r\n // pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n // if (!pattern.test(data[\"email\"])) {\r\n // errors.formIsValid = false;\r\n // errors[\"email\"] = \"Please enter valid Email-ID.\";\r\n // }\r\n // }\r\n\r\n\r\n\r\n\r\n // if (data.phone_number === \"\") {\r\n // errors.phone_number = \"Please enter your Phone number.\";\r\n // errors.formIsValid = false;\r\n // } else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n // if (!isValidPhoneNumber(data.phone_number)) {\r\n // errors[\"phone_number\"] = \"Please enter valid Phone number.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n\r\n /* if (data.password === \"\") {\r\n errors.password = \"The Password field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (typeof data[\"password\"] !== \"undefined\" && data[\"password\"] !== \"\") {\r\n if (\r\n !data[\"password\"].match(\r\n /^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%&]).*$/\r\n )\r\n ) {\r\n // formIsValid = false;\r\n errors[\"password\"] =\r\n \"Please enter secure and strong Password. The password must contain one upper and one lower case character one number and one special character and total length of 8 characters.\";\r\n // \"our password must fulfill the following requirements. The password must contain one upper letters(A-Z) and one lower case letters(a-z) one number(0-9) and one special character (ex. !@#$%^&*) and total length of 8 characters.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n */\r\n \r\n if (\r\n (data.working_days && !data.working_days.length) ||\r\n null === data.working_days || \"\" === data.working_days\r\n ) {\r\n errors.working_days = \"Choose your Working Days field\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.working_hours.morning_opens_at === \"\" && data.working_hours.morning_close_at === \"\") {\r\n errors.morning_opens_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n }\r\n else if (data.working_hours.evening_opens_at === \"\" && data.working_hours.evening_close_at === \"\") {\r\n errors.evening_opens_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n } \r\n else if(data.working_hours.morning_opens_at !== \"\" && data.working_hours.morning_close_at === \"\") {\r\n errors.morning_close_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n else if(data.working_hours.morning_close_at !== \"\" && data.working_hours.morning_opens_at === \"\") {\r\n errors.morning_opens_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n else if(data.working_hours.evening_opens_at !== \"\" && data.working_hours.evening_close_at === \"\") {\r\n errors.evening_close_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n else if(data.working_hours.evening_close_at !== \"\" && data.working_hours.evening_opens_at === \"\") {\r\n errors.evening_opens_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n\r\n\r\n\r\n if (data.working_hours.morning_opens_at >= data.working_hours.morning_close_at) {\r\n errors.working_hours_morning = \"Please select valid morning slots\";\r\n errors.formIsValid = false;\r\n }\r\n if (\r\n data.working_hours &&\r\n data.working_hours.evening_opens_at === \"\" &&\r\n data.working_hours.evening_opens_at === \"\"\r\n ) {\r\n errors.evening_opens_at = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n } else {\r\n if (\r\n data.working_hours.evening_opens_at >=\r\n data.working_hours.evening_close_at\r\n ) {\r\n errors.working_hours_evening = \"Please select valid evening slots\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (\r\n data.working_hours.evening_opens_at < data.working_hours.morning_close_at\r\n ) {\r\n errors.working_hours_evening = \"Please select valid evening slots\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n\r\n\r\n\r\n // if (data.phone_number === \"\" || data.phone_number == null) {\r\n // errors.phone_number = \"Please enter your Phone number.\";\r\n // errors.formIsValid = false;\r\n // } else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n // if (!isValidPhoneNumber(data.phone_number)) {\r\n // errors[\"phone_number\"] = \"Please enter valid Phone number.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n \r\n /* if (null === data.speciality || !data.speciality.length || data.speciality == []) {\r\n errors.speciality = \"Select your Speciality field.\";\r\n errors.formIsValid = false;\r\n } */\r\n } \r\n else if (data.user_type === \"forgetpwd_user\") {\r\n if (data.phone_number === \"\") {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n } else if (data.user_type === \"verifyotp_user\") {\r\n if (data.otp === \"\") {\r\n errors.otp = \"Please enter OTP\";\r\n errors.formIsValid = false;\r\n } else if (typeof data[\"otp\"] !== \"undefined\") {\r\n if (!data[\"otp\"].match(/^[0-9]{6}$/)) {\r\n // formIsValid = false;\r\n errors[\"otp\"] = \"Please enter valid OTP.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n } else if (data.user_type === \"resetpwd_user\") {\r\n if (data.password === \"\") {\r\n errors.password = \"The New Password field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.confirm_password === \"\") {\r\n errors.confirm_password = \"The Confirm Password field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (typeof data[\"password\"] !== \"undefined\" && data[\"password\"] !== \"\") {\r\n if (\r\n !data[\"password\"].match(\r\n /^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%&]).*$/\r\n )\r\n ) {\r\n errors[\"password\"] =\r\n \"Please enter secure and strong Password. The password must contain one upper and one lower case character one number and one special character and total length of 8 characters.\";\r\n // \"our password must fulfill the following requirements. The password must contain one upper letters(A-Z) and one lower case letters(a-z) one number(0-9) and one special character (ex. !@#$%^&*) and total length of 8 characters.\";\r\n errors.formIsValid = false;\r\n } else if (data[\"password\"] !== data[\"confirm_password\"]) {\r\n errors[\"confirm_password\"] = \"Password didn't match\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n } else if (data.user_type === \"business_user\") {\r\n \r\n /*first name */\r\n if (data.first_name === \"\") {\r\n errors.first_name = \"The First Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.first_name !== \"undefined\") {\r\n \r\n \r\n if (!data.first_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.first_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /*last name*/\r\n if (data.last_name === \"\" || data.last_name == null) {\r\n errors.last_name = \"The Last Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.last_name !== \"undefined\") {\r\n if (!data.last_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.last_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n /* digital signature*/\r\n if (data.image === \"\" || data.image === null) {\r\n errors.image = \"Please sign in the canvas or upload a pic of signature\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* DOB */\r\n if (data.date_of_birth === \"\" || data.date_of_birth === null) {\r\n errors.date_of_birth = \"Select your DOB field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Address */\r\n\r\n if (data.address1 === \"\" || data.address1 == null) {\r\n errors.address1 = \"Choose your Address field from Google.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.address1 !== \"undefined\") {\r\n // if (!data.address1.match(/^[A-Za-z0-9 ]+$/)) {\r\n // errors.address1 = \"Please enter valid Address.\";\r\n // errors.formIsValid = false;\r\n // }\r\n }\r\n\r\n /* City */\r\n if (data.city === \"\" || data.city === null) {\r\n errors.city = \"Choose your City field from Google.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.city !== \"undefined\") {\r\n \r\n if (!data.city.match(/^[a-zA-Z ]*$/)) {\r\n errors.city = \"Please enter valid City.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /* Country */\r\n if (data.country === \"\" || data.country === null) {\r\n errors.country = \"Choose your Country field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* State */\r\n if (data.state === \"\" || data.state === null) {\r\n errors.state = \" Choose your State field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Zip */\r\n if (data.zip_code === \"\" || data.zip_code === null) {\r\n errors.zip_code = \"Choose your Zip/Pincode field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /*phone number*/\r\n if (data.phone_number === \"\") {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.phone_number !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n errors.phone_number = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /* Email */\r\n if (data.email === \"\") {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n } else if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n\r\n /* Gender */\r\n if (data.gender === \"\" || data.gender === null) {\r\n errors.gender = \"Select your Gender field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Speciality */\r\n // if (null === data.speciality || !data.speciality.length) {\r\n // errors.speciality = \"Please select your Speciality\";\r\n // errors.formIsValid = false;\r\n // }\r\n if (null === data.speciality) {\r\n errors.speciality = \"Select your Speciality field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Blood Group */\r\n if (\r\n null === data.blood_group ||\r\n \"\" === data.blood_group ||\r\n undefined === data.blood_group\r\n ) {\r\n errors.blood_group = \"Select your Blood Group field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* medical licence id */\r\n if (data.licence_id === \"\" || data.licence_id === null) {\r\n errors.licence_id = \"Select your medical license id field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Expiry date */\r\n if (data.expiry_date === \"\" || data.expiry_date === null) {\r\n errors.expiry_date = \"Select your expiry date field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.qualification === \"\" || null == data.qualification) {\r\n errors.qualification = \"The Degree field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n // if (data.emergency_contact === \"\" || data.emergency_contact == null) {\r\n // errors.emergency_contact = \"Please enter your emergency contact.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // if (\r\n // data.emergency_contact !== \"\" &&\r\n // typeof data[\"emergency_contact\"] !== \"undefined\"\r\n // ) {\r\n // if (!isValidPhoneNumber(data.emergency_contact)) {\r\n // errors[\"emergency_contact\"] = \"Please enter valid emergency contact.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n\r\n /* Speciality*/\r\n\r\n /* OTHER DETAILS */\r\n /* Working Days*/\r\n \r\n if (data.working_hours.morning_shift_start === \"\" && data.working_hours.moring_shift_end === \"\") {\r\n errors.morning_shift_start = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n }\r\n else if (data.working_hours.evening_shift_start === \"\" && data.working_hours.evening_shift_end === \"\") {\r\n errors.evening_shift_start = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n } \r\n else if(data.working_hours.morning_shift_start !== \"\" && data.working_hours.moring_shift_end === \"\") {\r\n errors.moring_shift_end = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n else if(data.working_hours.moring_shift_end !== \"\" && data.working_hours.morning_shift_start === \"\") {\r\n errors.morning_shift_start = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n else if(data.working_hours.evening_shift_start !== \"\" && data.working_hours.evening_shift_end === \"\") {\r\n errors.evening_shift_end = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n else if(data.working_hours.evening_shift_end !== \"\" && data.working_hours.evening_shift_start === \"\") {\r\n errors.evening_shift_start = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n \r\n \r\n \r\n if (data.working_hours.morning_shift_start >= data.working_hours.moring_shift_end) {\r\n errors.working_hours_morning = \"The valid morning slots is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (\r\n data.working_hours &&\r\n data.working_hours.evening_shift_start === \"\" &&\r\n data.working_hours.evening_shift_start === \"\"\r\n ) {\r\n errors.evening_shift_start = \"The working hours is required.\";\r\n errors.formIsValid = false;\r\n } else {\r\n if (\r\n data.working_hours.evening_shift_start >=\r\n data.working_hours.evening_shift_end\r\n ) {\r\n errors.working_hours_evening = \"The valid evening slots is required.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (\r\n data.working_hours.evening_shift_start < data.working_hours.moring_shift_end\r\n ) {\r\n errors.working_hours_evening = \"The valid evening slots is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (\r\n (data.working_days && !data.working_days.length) ||\r\n null === data.working_days || \"\" === data.working_days\r\n ) {\r\n errors.working_days = \"Choose your Working Days field\";\r\n errors.formIsValid = false;\r\n }\r\n /* SCHEDULE TYPE */\r\n\r\n if (data.schedule_type === \"\") {\r\n errors.schedule_type = \"Choose your Schedule type field.\";\r\n errors.formIsValid = false;\r\n }\r\n }else if (data.user_type === \"update_business_user\") {\r\n \r\n /*first name */\r\n if (data.first_name === \"\") {\r\n errors.first_name = \"The First Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.first_name !== \"undefined\") {\r\n \r\n \r\n if (!data.first_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.first_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /*last name*/\r\n if (data.last_name === \"\" || data.last_name == null) {\r\n errors.last_name = \"The Last Name field is required\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.last_name !== \"undefined\") {\r\n if (!data.last_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.last_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /* DOB */\r\n if (data.date_of_birth === \"\" || data.date_of_birth === null) {\r\n errors.date_of_birth = \"Select your DOB field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Address */\r\n\r\n if (data.address1 === \"\" || data.address1 == null) {\r\n errors.address1 = \"Choose your Address field from Google.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.address1 !== \"undefined\") {\r\n // if (!data.address1.match(/^[A-Za-z0-9 ]+$/)) {\r\n // errors.address1 = \"Please enter valid Address.\";\r\n // errors.formIsValid = false;\r\n // }\r\n }\r\n\r\n /* City */\r\n if (data.city === \"\" || data.city === null) {\r\n errors.city = \"Choose your City field from Google. \";\r\n errors.formIsValid = false;\r\n } else if (typeof data.city !== \"undefined\") {\r\n \r\n if (!data.city.match(/^[a-zA-Z ]*$/)) {\r\n errors.city = \"Please enter valid City.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /* Country */\r\n if (data.country === \"\" || data.country === null) {\r\n errors.country = \"Choose your Country field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* State */\r\n if (data.state === \"\" || data.state === null) {\r\n errors.state = \"Choose your State field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Zip */\r\n if (data.zip_code === \"\" || data.zip_code === null) {\r\n errors.zip_code = \"Choose your Zip/Pincode field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /*phone number*/\r\n if (data.phone_number === \"\") {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.phone_number !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n errors.phone_number = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /* Email */\r\n if (data.email === \"\") {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n } else if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n\r\n /* Gender */\r\n if (data.gender === \"\" || data.gender === null) {\r\n errors.gender = \"Select your Gender field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Speciality */\r\n // if (null === data.speciality || !data.speciality.length) {\r\n // errors.speciality = \"Please select your Speciality\";\r\n // errors.formIsValid = false;\r\n // }\r\n if (null === data.speciality ) {\r\n errors.speciality = \" Select your Speciality field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Blood Group */\r\n if (\r\n null === data.blood_group ||\r\n \"\" === data.blood_group ||\r\n undefined === data.blood_group\r\n ) {\r\n errors.blood_group = \"Select your Blood Group field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* medical licence id */\r\n if (data.licence_id === \"\" || data.licence_id === null) {\r\n errors.licence_id = \"The Medical License ID field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Expiry date */\r\n if (data.expiry_date === \"\" || data.expiry_date === null) {\r\n errors.expiry_date = \"Select your Expiry Date field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.qualification === \"\" || null == data.qualification) {\r\n errors.qualification = \"The Degree field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n // if (data.emergency_contact === \"\" || data.emergency_contact == null) {\r\n // errors.emergency_contact = \"Please enter your emergency contact.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // if (\r\n // data.emergency_contact !== \"\" &&\r\n // typeof data[\"emergency_contact\"] !== \"undefined\"\r\n // ) {\r\n // if (!isValidPhoneNumber(data.emergency_contact)) {\r\n // errors[\"emergency_contact\"] = \"Please enter valid emergency contact.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n\r\n /* Speciality*/\r\n\r\n /* OTHER DETAILS */\r\n /* Working Days*/\r\n \r\n if (data.working_hours.morning_shift_start === \"\" && data.working_hours.moring_shift_end === \"\") {\r\n errors.morning_shift_start = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n }\r\n else if (data.working_hours.evening_shift_start === \"\" && data.working_hours.evening_shift_end === \"\") {\r\n errors.evening_shift_start = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n } \r\n else if(data.working_hours.morning_shift_start !== \"\" && data.working_hours.moring_shift_end === \"\") {\r\n errors.moring_shift_end = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n else if(data.working_hours.moring_shift_end !== \"\" && data.working_hours.morning_shift_start === \"\") {\r\n errors.morning_shift_start = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n else if(data.working_hours.evening_shift_start !== \"\" && data.working_hours.evening_shift_end === \"\") {\r\n errors.evening_shift_end = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n else if(data.working_hours.evening_shift_end !== \"\" && data.working_hours.evening_shift_start === \"\") {\r\n errors.evening_shift_start = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n \r\n } \r\n \r\n \r\n \r\n if (data.working_hours.morning_shift_start >= data.working_hours.moring_shift_end) {\r\n errors.working_hours_morning = \"Please select valid morning slots\";\r\n errors.formIsValid = false;\r\n }\r\n if (\r\n data.working_hours &&\r\n data.working_hours.evening_shift_start === \"\" &&\r\n data.working_hours.evening_shift_start === \"\"\r\n ) {\r\n errors.evening_shift_start = \"Select your Working Hours field.\";\r\n errors.formIsValid = false;\r\n } else {\r\n if (\r\n data.working_hours.evening_shift_start >=\r\n data.working_hours.evening_shift_end\r\n ) {\r\n errors.working_hours_evening = \"Please select valid evening slots\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (\r\n data.working_hours.evening_shift_start < data.working_hours.moring_shift_end\r\n ) {\r\n errors.working_hours_evening = \"Please select valid evening slots\";\r\n errors.formIsValid = false;\r\n }\r\n if (\r\n (data.working_days && !data.working_days.length) ||\r\n null === data.working_days || \"\" === data.working_days\r\n ) {\r\n errors.working_days = \"Choose your Working Days field.\";\r\n errors.formIsValid = false;\r\n }\r\n /* SCHEDULE TYPE */\r\n\r\n /* if (data.schedule_type === \"\") {\r\n errors.schedule_type = \"Please select your schedule type\";\r\n errors.formIsValid = false;\r\n } */\r\n }else if (data.user_type === \"employee_list\") {\r\n \r\n /*first name */\r\n if (data.first_name === \"\") {\r\n errors.first_name = \"The First Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.first_name !== \"undefined\") {\r\n \r\n \r\n if (!data.first_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.first_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /*last name*/\r\n if (data.last_name === \"\") {\r\n errors.last_name = \"The Last Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.last_name !== \"undefined\") {\r\n if (!data.last_name.match(/^[a-zA-Z]*$/)) {\r\n errors.last_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /* DOB */\r\n if (data.date_of_birth === \"\") {\r\n errors.date_of_birth = \"Select the Date Of Birth field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Address */\r\n\r\n if (data.address1 === \"\") {\r\n errors.address1 = \"Choose the Address field from Google. \";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* City */\r\n if (data.city === \"\") {\r\n errors.city = \"Choose the City field from Google. \";\r\n errors.formIsValid = false;\r\n } else if (typeof data.city !== \"undefined\") {\r\n \r\n if (!data.city.match(/^[a-zA-Z ]*$/)) {\r\n errors.city = \"Please enter valid City.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /* Country */\r\n if (data.country === \"\") {\r\n errors.country = \"Choose the Country field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* State */\r\n if (data.state === \"\") {\r\n errors.state = \"Choose the State field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Zip */\r\n if (data.zip_code === \"\") {\r\n errors.zip_code = \"Choose the Zip/Pincode field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /*phone number*/\r\n if (data.phone_number === \"\") {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.phone_number !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n errors.phone_number = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n /* if (typeof data.emergency_contact !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.emergency_contact)) {\r\n errors.emergency_contact = \"Please enter valid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n } */\r\n\r\n if (typeof data.employee_id !== \"undefined\") {\r\n if (!data.employee_id.match(/^[A-Za-z0-9]+$/)) {\r\n errors.employee_id = \"Please enter valid employee ID .\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /* Email */\r\n if (data.email === \"\") {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n } else if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n\r\n /* Gender */\r\n if (data.gender === \"\") {\r\n errors.gender = \"Select your Gender field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.designation === \"\" || data.designation == null) {\r\n errors.designation = \"Select your Designation field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Speciality */\r\n \r\n if ((data.speciality === \"\" || data.speciality === undefined || Object.keys(data.speciality).length === 0) && (data.designation && data.designation.label.toLowerCase() === \"doctor\")) {\r\n errors.speciality = \"Select your Speciality field.\";\r\n errors.formIsValid = false;\r\n } else {\r\n errors.speciality = \"\";\r\n // errors.formIsValid = true;\r\n }\r\n\r\n /* Blood Group */\r\n if (\r\n null === data.blood_group ||\r\n \"\" === data.blood_group ||\r\n undefined === data.blood_group\r\n ) {\r\n errors.blood_group = \"Select your Blood Group field.\";\r\n errors.formIsValid = false;\r\n }\r\n \r\n /* Speciality*/\r\n\r\n /* OTHER DETAILS */\r\n /* Working Days*/\r\n // \r\n // if (data.working_days && !data.working_days.length) {\r\n // errors.working_days = \"Please enter working days.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // if (\r\n // (data.working_hours && data.working_hours.morning_shift_start === \"\") ||\r\n // (data.working_hours && data.working_hours.morning_shift_end === \"\")\r\n // ) {\r\n // errors.working_hours_morning = \"Please select morning slots\";\r\n // errors.formIsValid = false;\r\n // } else if (\r\n // data.working_hours &&\r\n // typeof data.working_hours.morning_shift_start !== \"undefined\" &&\r\n // typeof data.working_hours.morning_shift_end !== \"undefined\"\r\n // ) {\r\n // if (\r\n // data.working_hours.morning_shift_start >\r\n // data.working_hours.morning_shift_end\r\n // ) {\r\n // errors.working_hours_morning = \"Please select valid morning slots\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n\r\n // if (\r\n // (data.working_hours && data.working_hours.evening_shift_start === \"\") ||\r\n // (data.working_hours && data.working_hours.evening_shift_end === \"\")\r\n // ) {\r\n // errors.working_hours_evening = \"Please select evening slots\";\r\n // errors.formIsValid = false;\r\n // } else if (\r\n // data.working_hours &&\r\n // typeof data.working_hours.evening_shift_start !== \"undefined\" &&\r\n // typeof data.working_hours.evening_shift_end !== \"undefined\"\r\n // ) {\r\n // if (\r\n // data.working_hours.evening_shift_start >\r\n // data.working_hours.evening_shift_end\r\n // ) {\r\n // errors.working_hours_evening = \"Please select valid evening slots\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n\r\n // /* SCHEDULE TYPE */\r\n\r\n // if (data.schedule_type == \"\") {\r\n // errors.schedule_type = \"Please select your schedule type\";\r\n // errors.formIsValid = false;\r\n // }\r\n if (data.consulting_fees === \"\" && (data.designation && data.designation.label === \"doctor\")) {\r\n errors.consulting_fees = \"The Consulting Fees field is required.\";\r\n errors.formIsValid = false;\r\n } \r\n }\r\n else if(data.user_type === \"search_employee_list\" )\r\n {\r\n \r\n if (typeof data.id !== \"undefined\") {\r\n if (!data.id.match(/^[0-9]+$/)) {\r\n errors.id = \"Enter a valid employee ID .\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n }\r\n if (data.type === \"login\") {\r\n \r\n if (data.email === \"\") {\r\n errors.email = \"Email address or phone number cannot be blank\";\r\n errors.formIsValid = false;\r\n }\r\n // if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n // //regular expression for email validation\r\n // pattern = new RegExp(\r\n // /^((\"[\\w-\\s]+\")|([\\w-]+(?:\\.[\\w-]+)*)|(\"[\\w-\\s]+\")([\\w-]+(?:\\.[\\w-]+)*))(@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$)|(@\\[?((25[0-5]\\.|2[0-4][0-9]\\.|1[0-9]{2}\\.|[0-9]{1,2}\\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\\]?$)/i\r\n // );\r\n // if (!pattern.test(data[\"email\"])) {\r\n // errors.formIsValid = false;\r\n // errors[\"email\"] = \"Please enter valid Email-ID.\";\r\n // }\r\n // }\r\n if (data.password === \"\") {\r\n errors.password = \"Password cannot be blank\";\r\n errors.formIsValid = false;\r\n }\r\n // if (typeof data[\"password\"] !== \"undefined\" && data[\"password\"] !== \"\") {\r\n // if (\r\n // !data[\"password\"].match(\r\n // /^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%&]).*$/\r\n // )\r\n // ) {\r\n // // formIsValid = false;\r\n // errors[\"password\"] =\r\n // \"Please enter secure and strong Password. The password must contain one upper and one lower case character one number and one special character and total length of 8 characters.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n }\r\n if (data.type === \"verification\") {\r\n if (data.otp === \"\") {\r\n errors.otp = \"Please enter your OTP\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.type === \"disease\") {\r\n if (data.disease_id === \"\") {\r\n errors.disease_id = \"The Disease ID field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.disease_id !== \"undefined\") {\r\n if (!data.disease_id.match(/^[A-Za-z0-9]+$/)) {\r\n errors.disease_id = \"Please enter valid disease ID .\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n // if (data.disease_name === \"\") {\r\n // errors.disease_name = \"Please enter Disease Name\";\r\n // errors.formIsValid = false;\r\n // } \r\n /* else if (typeof data.disease_name !== \"undefined\") {\r\n if (!data.disease_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.disease_name = \"Please enter valid disease Name .\";\r\n errors.formIsValid = false;\r\n }\r\n } */\r\n\r\n if (data.disease_name === \"\") {\r\n errors.disease_name = \"The Disease Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.disease_name !== \"undefined\") {\r\n if (!data.disease_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.disease_name = \"Only Characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.disease_category === \"\") {\r\n errors.disease_category = \"Choose your Disease category field.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.type === \"adddisease\") {\r\n // let index = data.id;\r\n if (data.searchdisease_id === \"\") {\r\n errors.diseaseid_error = \"The Disease ID field is required.\";\r\n \r\n errors.formIsValid = false;\r\n }\r\n if (data.disease_name === \"\") {\r\n errors.disease_name = \"The Disease Name field is required.\";\r\n errors.formIsValid = false;\r\n \r\n }\r\n if (data.disease_category === \"\") {\r\n errors.disease_category = \"Choose your Disease category field.\";\r\n errors.formIsValid = false;\r\n \r\n }\r\n }\r\n\r\n if (data.type === \"clientlist\") {\r\n /*first name */\r\n if (data.first_name === \"\") {\r\n errors.first_name = \"The First Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.first_name !== \"undefined\") {\r\n if (!data.first_name.match(/^[a-zA-Z]*$/)) {\r\n errors.first_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n /*last name*/\r\n if (data.last_name === \"\") {\r\n errors.last_name = \"The Last Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.last_name !== \"undefined\") {\r\n if (!data.last_name.match(/^[a-zA-Z]*$/)) {\r\n errors.last_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (\r\n data.maritial_status === \"\" ||\r\n data.maritial_status.label == null|| data.maritial_status.length === 0\r\n ) {\r\n errors.maritial_status = \"Select the Marital Status field.\";\r\n errors.formIsValid = false;\r\n }\r\n /* DOB */\r\n if (data.date_of_birth === \"\") {\r\n errors.date_of_birth = \"Select the Date Of Birth field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n /* Gender */\r\n if (data.gender === \"\") {\r\n errors.gender = \"Select the Gender field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.phone_number === \"\" || data.phone_number == null) {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n if (data.type === \"hospitallist\") {\r\n /*first name */\r\n\r\n /*last name*/\r\n if (data.email === \"\") {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n var pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n\r\n /* DOB */\r\n if (data.phone_number === \"\") {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.subscription === \"\") {\r\n errors.subscription = \"Select the Subscription field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.payment_status === \"\") {\r\n errors.payment_status = \"Select the Payment Status field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.expires_at === \"\") {\r\n errors.expires_at = \"The Expiration date is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n }\r\n\r\n if (data.type === \"patientlist\") {\r\n /*first name */\r\n\r\n /*last name*/\r\n if (data.email === \"\" || data.email === null) {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n else if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n var pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n\r\n /* DOB */\r\n if (data.phone_number === \"\") {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n }else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.subscription === \"\") {\r\n errors.subscription = \"Select the Subscription field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.payment_status === \"\") {\r\n errors.payment_status = \"Select the Payment Status field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.expires_at === \"\") {\r\n errors.expires_at = \"The Expiration date is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n }\r\n\r\n if (data.type === \"doctorlist\") {\r\n /*first name */\r\n\r\n /*last name*/\r\n if (data.email === \"\") {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n var pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n\r\n /* DOB */\r\n if (data.phone_number === \"\") {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.subscription === \"\") {\r\n errors.subscription = \"Select the Subscription field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.payment_status === \"\") {\r\n errors.payment_status = \"Select the Payment Status field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.expires_at === \"\") {\r\n errors.expires_at = \"The Expiration date is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n }\r\n if (data.type === \"drug\") {\r\n if (data.drug_id === \"\") {\r\n errors.drug_id = \"The Drug ID field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.drug_id !== \"undefined\") {\r\n if (!data.drug_id.match(/^[A-Za-z0-9]+$/)) {\r\n errors.drug_id = \"Please enter valid drug id .\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.drug_name === \"\") {\r\n errors.drug_name = \"The Drug Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.drug_name !== \"undefined\") {\r\n if (!data.drug_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.drug_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.generic_name === \"\") {\r\n errors.generic_name = \"The Generic Name field is required.\";\r\n errors.formIsValid = false;\r\n } /* else if (typeof data.generic_name !== \"undefined\") {\r\n if (!data.generic_name.match(/^[a-zA-Z0-9 ]*$/)) {\r\n errors.generic_name = \"Please enter valid Generic Name .\";\r\n errors.formIsValid = false;\r\n }\r\n } */\r\n\r\n if (data.unit_of_measure === \"\") {\r\n errors.unit_of_measure = \"Select your Unit of Measures field.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.unit_of_measure !== \"undefined\") {\r\n // if (!data.drug_name.match(/^[a-zA-Z]*$/)) {\r\n // errors.drug_name = \"Please enter valid drug Name .\";\r\n // errors.formIsValid = false;\r\n // }\r\n }\r\n\r\n if (data.active_ingredients === \"\") {\r\n errors.active_ingredients = \"The Active ingredients is required.\";\r\n errors.formIsValid = false;\r\n } /* else if (typeof data.active_ingredients !== \"undefined\") {\r\n if (!data.active_ingredients.match(/^[a-zA-Z0-9 ]*$/)) {\r\n errors.active_ingredients = \"Please enter valid active ingredients .\";\r\n errors.formIsValid = false;\r\n }\r\n } */\r\n\r\n if (data.manufacturer === \"\") {\r\n errors.manufacturer = \"The Manufacturer field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.manufacturer !== \"undefined\") {\r\n if (!data.manufacturer.match(/^[a-zA-Z ]*$/)) {\r\n errors.manufacturer = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n /* if (data.drug_category === \"\") {\r\n errors.drug_category = \"Please choose Drug Category\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.drug_type === \"\") {\r\n errors.drug_type = \"Please choose Drug Category\";\r\n errors.formIsValid = false;\r\n } */\r\n }\r\n if (data.type === \"pharmacydrug\") {\r\n /* if (data.drug_id === \"\") {\r\n errors.drug_id = \"The Drug ID field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.drug_id !== \"undefined\") {\r\n if (!data.drug_id.match(/^[A-Za-z0-9]+$/)) {\r\n errors.drug_id = \"Please enter valid drug id .\";\r\n errors.formIsValid = false;\r\n }\r\n } */\r\n // if (data.drug_name === \"\") {\r\n // errors.drug_name = \"The Drug Name field is required.\";\r\n // errors.formIsValid = false;\r\n // } else if (typeof data.drug_name !== \"undefined\") {\r\n // if (!data.drug_name.match(/^[a-zA-Z ]*$/)) {\r\n // errors.drug_name = \"Only characters are allowed.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n if (data.drug_name === \"\") {\r\n errors.drug_name = \"The Drug Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.drug_name !== \"undefined\") {\r\n \r\n }\r\n /* if (data.generic_name === \"\") {\r\n errors.generic_name = \"The Generic Name field is required.\";\r\n errors.formIsValid = false;\r\n } */ /* else if (typeof data.generic_name !== \"undefined\") {\r\n if (!data.generic_name.match(/^[a-zA-Z0-9 ]*$/)) {\r\n errors.generic_name = \"Please enter valid Generic Name .\";\r\n errors.formIsValid = false;\r\n }\r\n } */\r\n\r\n /* if (data.unit_of_measure === \"\") {\r\n errors.unit_of_measure = \"Select your Unit of Measures field.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.unit_of_measure !== \"undefined\") { */\r\n // if (!data.drug_name.match(/^[a-zA-Z]*$/)) {\r\n // errors.drug_name = \"Please enter valid drug Name .\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n\r\n if (data.active_ingredients === \"\") {\r\n errors.active_ingredients = \"The Active ingredients is required.\";\r\n errors.formIsValid = false;\r\n } /* else if (typeof data.active_ingredients !== \"undefined\") {\r\n if (!data.active_ingredients.match(/^[a-zA-Z0-9 ]*$/)) {\r\n errors.active_ingredients = \"Please enter valid active ingredients .\";\r\n errors.formIsValid = false;\r\n }\r\n } */\r\n\r\n /* if (data.manufacturer === \"\") {\r\n errors.manufacturer = \"The Manufacturer field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.manufacturer !== \"undefined\") {\r\n if (!data.manufacturer.match(/^[a-zA-Z ]*$/)) {\r\n errors.manufacturer = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n */\r\n\r\n\r\n\r\n /* if (data.drug_category === \"\") {\r\n errors.drug_category = \"Please choose Drug Category\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.drug_type === \"\") {\r\n errors.drug_type = \"Please choose Drug Category\";\r\n errors.formIsValid = false;\r\n } */\r\n }\r\n if (data.type === \"item\") {\r\n /* if (data.drug_id === \"\") {\r\n errors.drug_id = \"The Drug ID field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.drug_id !== \"undefined\") {\r\n if (!data.drug_id.match(/^[A-Za-z0-9]+$/)) {\r\n errors.drug_id = \"Please enter valid drug id .\";\r\n errors.formIsValid = false;\r\n }\r\n } */\r\n if (data.drug_name === \"\") {\r\n errors.drug_name = \"The Drug Name field is required.\";\r\n errors.formIsValid = false;\r\n // } else if (typeof data.drug_name !== \"undefined\") {\r\n // if (!data.drug_name.match(/^[a-zA-Z ]*$/)) {\r\n // errors.drug_name = \"Only characters are allowed.\";\r\n // errors.formIsValid = false;\r\n // }\r\n } \r\n if (data.category === \"\") {\r\n errors.category = \"The Category field is required.\";\r\n errors.formIsValid = false;\r\n // } else if (typeof data.drug_name !== \"undefined\") {\r\n // if (!data.drug_name.match(/^[a-zA-Z ]*$/)) {\r\n // errors.drug_name = \"Only characters are allowed.\";\r\n // errors.formIsValid = false;\r\n // }\r\n } \r\n if (data.generic_name === \"\") {\r\n errors.generic_name = \"The Item Name field is required.\";\r\n errors.formIsValid = false;\r\n } /* else if (typeof data.generic_name !== \"undefined\") {\r\n if (!data.generic_name.match(/^[a-zA-Z0-9 ]*$/)) {\r\n errors.generic_name = \"Please enter valid Generic Name .\";\r\n errors.formIsValid = false;\r\n }\r\n } */\r\n if (data.active_ingredients === \"\") {\r\n errors.active_ingredients = \"The Active Ingredients field is required.\";\r\n errors.formIsValid = false;\r\n } /* else if (typeof data.generic_name !== \"undefined\") {\r\n if (!data.generic_name.match(/^[a-zA-Z0-9 ]*$/)) {\r\n errors.generic_name = \"Please enter valid Generic Name .\";\r\n errors.formIsValid = false;\r\n }\r\n } */\r\n \r\n \r\n if (data.unit_of_measure === \"\") {\r\n errors.unit_of_measure = \"Select your Unit of Measures field.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.unit_of_measure !== \"undefined\") {\r\n // if (!data.drug_name.match(/^[a-zA-Z]*$/)) {\r\n // errors.drug_name = \"Please enter valid drug Name .\";\r\n // errors.formIsValid = false;\r\n // }\r\n }\r\n \r\n /* if (data.active_ingredients === \"\") {\r\n errors.active_ingredients = \"The Active ingredients is required.\";\r\n errors.formIsValid = false;\r\n } */ /* else if (typeof data.active_ingredients !== \"undefined\") {\r\n if (!data.active_ingredients.match(/^[a-zA-Z0-9 ]*$/)) {\r\n errors.active_ingredients = \"Please enter valid active ingredients .\";\r\n errors.formIsValid = false;\r\n }\r\n } */\r\n \r\n if (data.manufacturer === \"\") {\r\n errors.manufacturer = \"The Manufacturer field is required.\";\r\n errors.formIsValid = false;\r\n // } else if (typeof data.manufacturer !== \"undefined\") {\r\n // if (!data.manufacturer.match(/^[a-zA-Z ]*$/)) {\r\n // errors.manufacturer = \"Only characters are allowed.\";\r\n // errors.formIsValid = false;\r\n // }\r\n } \r\n \r\n if (data.hsn_code === \"\") {\r\n errors.hsn_code = \"The HSN code field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.hsn_code !== \"undefined\") {\r\n if (!data.hsn_code.match(/^[A-Za-z0-9]+$/)) {\r\n errors.hsn_code = \"Please enter valid hsn code.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.igst === \"\") {\r\n errors.igst = \"The IGST code field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.igst !== \"undefined\") {\r\n if (!data.igst.match(/^[A-Za-z0-9]+$/)) {\r\n errors.igst = \"Please enter valid IGST code.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.cgst === \"\") {\r\n errors.cgst = \"The CGST field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.cgst !== \"undefined\") {\r\n if (!data.cgst.match(/^[A-Za-z0-9]+$/)) {\r\n errors.cgst = \"Please enter valid CGST code.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.sgst === \"\") {\r\n errors.sgst = \"The SGST field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.sgst !== \"undefined\") {\r\n if (!data.sgst.match(/^[A-Za-z0-9]+$/)) {\r\n errors.sgst = \"Please enter valid SGST code.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n \r\n if (data.storage_bin === \"\") {\r\n errors.storage_bin = \"The Storage bin field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n // else if (typeof data.storage_bin !== \"undefined\") {\r\n // if (!data.storage_bin.match(/^[A-Za-z0-9!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]*$/)) {\r\n // errors.storage_bin = \"Please enter valid storage_bin .\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n \r\n \r\n \r\n if (data.storage_condition === \"\") {\r\n errors.storage_condition = \"Select your storage condition field.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.storage_condition !== \"undefined\") {\r\n // if (!data.drug_name.match(/^[a-zA-Z]*$/)) {\r\n // errors.drug_name = \"Please enter valid drug Name .\";\r\n // errors.formIsValid = false;\r\n // }\r\n }\r\n \r\n if (data.rx_category === \"\") {\r\n errors.rx_category = \"Select your RX category field.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.rx_category !== \"undefined\") {\r\n // if (!data.drug_name.match(/^[a-zA-Z]*$/)) {\r\n // errors.drug_name = \"Please enter valid drug Name .\";\r\n // errors.formIsValid = false;\r\n // }\r\n }\r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n if (data.type === \"facilityList\") {\r\n if (\"\" === data.facility_id || null === data.facility_id) {\r\n errors.facility_id = \"The Facility ID field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.facility_id !== \"undefined\") {\r\n // if (!data.facility_id.match(/^[A-Za-z0-9]+$/)) {\r\n // errors.facility_id = \"Please enter valid Facility ID .\";\r\n // errors.formIsValid = false;\r\n // }\r\n }\r\n if (\"\" === data.facility_name || null === data.facility_name) {\r\n errors.facility_name = \"The Description field is required\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.facility_name !== \"undefined\") {\r\n // if (!data.facility_name.match(/^[a-zA-Z ]*$/)) {\r\n // errors.facility_name = \"Please enter valid Facility description .\";\r\n // errors.formIsValid = false;\r\n // }\r\n }\r\n\r\n if (\r\n undefined === data.facility_category_obj.value ||\r\n \"\" === data.facility_category_obj.value\r\n ) {\r\n errors.facility_category = \"Select the Category field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (\r\n undefined === data.facility_availability.value ||\r\n \"\" === data.facility_availability.value\r\n ) {\r\n errors.availability = \"Choose the Availability field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (\"\" === data.occupied || null === data.occupied) {\r\n errors.occupied = \"The Occupied Count field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n // if (\"\" === data.available || null === data.available) {\r\n // errors.available = \"Please enter Available Count\";\r\n // errors.formIsValid = false;\r\n // }\r\n if (\"\" === data.total || null === data.total) {\r\n errors.total = \"The Total Count field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.type === \"pharmacyList\") {\r\n \r\n if (\"\" === data.pharmacy_id || null === data.pharmacy_id) {\r\n errors.pharmacy_id = \"The Pharmacy ID field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.pharmacy_id !== \"undefined\") {\r\n if (!data.pharmacy_id.match(/^[A-Za-z0-9]+$/)) {\r\n errors.pharmacy_id = \"Please enter valid pharmacy ID .\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (\"\" === data.pharmacy_name || null === data.pharmacy_name) {\r\n errors.pharmacy_name = \"The Pharmacy Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.pharmacy_name !== \"undefined\") {\r\n if (!data.pharmacy_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.pharmacy_name = \"Only Characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (\r\n undefined === data.online_prescription_obj.value ||\r\n \"\" === data.online_prescription_obj.value\r\n ) {\r\n errors.online_prescription = \"Choose your Online Prescription field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (\"\" === data.address || null === data.address) {\r\n errors.address = \"Choose your Address field from Google.\"\r\n errors.formIsValid = false;\r\n }\r\n if (\"\" === data.city || null === data.city) {\r\n errors.city = \" Choose your City field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (\"\" === data.country || null === data.country) {\r\n errors.country = \"Choose your Country field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (\"\" === data.state || null === data.state) {\r\n errors.state = \"Choose your State field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (\"\" === data.zip_code || null === data.zip_code) {\r\n errors.zip_code = \" Choose your Zip/Pincode field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.phone_number === \"\" || data.phone_number == null) {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n\r\n if (data.email === \"\") {\r\n errors.email = \"The Email field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n pattern = new RegExp(/[a-z0-9]+@[a-z]+\\.[a-z]{2,3}/);\r\n\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n }\r\n if (data.type === \"labList\") {\r\n \r\n if (\"\" === data.laboratory_id || null === data.laboratory_id) {\r\n errors.laboratory_id = \"The Laboratory ID field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.laboratory_id !== \"undefined\") {\r\n if (!data.laboratory_id.match(/^[A-Za-z0-9]+$/)) {\r\n errors.laboratory_id = \"Please enter valid laboratory ID .\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (\"\" === data.laboratory_name || null === data.laboratory_name) {\r\n errors.laboratory_name = \"The Laboratory Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.laboratory_name !== \"undefined\") {\r\n if (!data.laboratory_name.match(/^[a-zA-Z ]*$/)) {\r\n errors.laboratory_name = \"Only Characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.phone_number === \"\" || data.phone_number == null) {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n if (!isValidPhoneNumber(data.phone_number)) {\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (\"\" === data.laboratory_location || null === data.laboratory_location) {\r\n errors.laboratory_location = \"Choose your Address field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.type === \"symptom\") {\r\n if (data.symptom_id === \"\") {\r\n errors.symptom_id = \"The Symptom ID field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.symptom_id !== \"undefined\") {\r\n if (!data.symptom_id.match(/^[A-Za-z0-9]+$/)) {\r\n errors.symptom_id = \"Please enter valid symptom ID .\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (data.symptom_name === \"\") {\r\n errors.symptom_name = \"The Symptom Name field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.symptom_category === \"\") {\r\n errors.symptom_category = \"Choose your Symptom category field.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.type === \"hospitalreport\") {\r\n \r\n if (data.Fromdate === \"\") {\r\n errors.Fromdate = \"Choose the From Date field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.Todate === \"\") {\r\n errors.Todate = \"Choose the To Date field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n }\r\n\r\n if (\"addEducationDetail\" === data.type) {\r\n if (data.education === \"\") {\r\n errors.education = \"The Education field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.specialization === \"\") {\r\n errors.specialization = \"Select the Field of study.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.university === \"\") {\r\n errors.university = \"The University field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.completion_month === \"\" && data.completion_year !== \"\") {\r\n errors.completion_month = \"Select the Completion Month field.\";\r\n errors.formIsValid = false;\r\n } else if (data.completion_year === \"\" && data.completion_month !== \"\") {\r\n errors.completion_year = \"Select the Completion Year field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.completion_month === \"\" && data.completion_year === \"\") {\r\n errors.completion_month = \"Select the Completion Month field.\";\r\n errors.completion_year = \"Select the Completion Year field.\";\r\n errors.formIsValid = false;\r\n } \r\n }\r\n\r\n if (\"addCertificate\" === data.type) {\r\n \r\n if (data.organization === \"\") {\r\n errors.organization = \"The Organization field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.specialization === \"\") {\r\n errors.specialization = \"Select the Field of study.\";\r\n errors.formIsValid = false;\r\n }\r\n // if (data.valid_URL === \"\") {\r\n // errors.valid_URL = \"Please select Valid URL\";\r\n // errors.formIsValid = false;\r\n // }\r\n if (data.certification_completion_month === \"\") {\r\n errors.certification_completion_month = \"Select the Completion Month field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.certification_completion_year === \"\") {\r\n errors.certification_completion_year = \" Select the Completion Year field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.valid_upto_month === \"\") {\r\n errors.valid_upto_month = \"Please enter valid month\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.valid_upto_year === \"\") {\r\n errors.valid_upto_year = \"Please enter valid year\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (\"addExperience\" === data.type) {\r\n \r\n if (data.hospital === \"\") {\r\n errors.hospital = \"The Hospital field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.ex_address === \"\") {\r\n errors.ex_address = \"Choose the Address field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.ex_city === \"\") {\r\n errors.ex_city = \"Choose the City field from Google. \";\r\n errors.formIsValid = false;\r\n }\r\n if (data.ex_state === \"\") {\r\n errors.ex_state = \"Choose the State field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.ex_country === \"\") {\r\n errors.ex_country = \"Choose the Country field from Google.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.experience_from === \"\") {\r\n errors.experience_from = \"Select your date of joining the field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.experience_to === \"\") {\r\n errors.experience_to = \"Select your date of leaving the field.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (\"addMedicalLicence\" === data.type) {\r\n if (null == data.organization || \"\" === data.organization) {\r\n errors.organization = \"The Organization field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.licence_Id === \"\") {\r\n errors.licence_Id = \"The License Id field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.expiration_date === \"\") {\r\n errors.expiration_date = \"The License Valid date field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (\"addSocioDemographic\" === data.type) {\r\n if (null == data.education_level || \"\" === data.education_level) {\r\n errors.education_level = \"The Education level field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.occupation === \"\") {\r\n errors.occupation = \"The Occupation field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.living_situation === \"\") {\r\n errors.living_situation = \"The Living Situation field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (\"AddTempClient\" === data.type) {\r\n\r\n if (data.first_name === \"\" || data.first_name == null) {\r\n errors.first_name = \"The First Name field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.last_name === \"\" || data.last_name == null) {\r\n errors.last_name = \"The Last Name field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.gender === \"\" || data.gender == null) {\r\n errors.gender = \"Select the Gender field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.date_of_birth === \"\" || data.date_of_birth == null) {\r\n errors.date_of_birth = \"Select the Date Of Birth field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.relationship === \"\" || data.relationship == null) {\r\n errors.relationship = \"Select the relationship field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.phone_number === \"\" || data.phone_number == null) {\r\n errors.phone_number = \"The Phone number is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n }\r\n\r\n if (\"AddFamilyDetails\" === data.type) {\r\n \r\n if (data.first_name === \"\" || data.first_name == null) {\r\n errors.first_name = \"The First Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.first_name !== \"undefined\") {\r\n if (!data.first_name.match(/^[a-zA-Z]*$/)) {\r\n errors.first_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n\r\n if (data.last_name === \"\" || data.last_name == null) {\r\n errors.last_name = \"The Last Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.last_name !== \"undefined\") {\r\n if (!data.last_name.match(/^[a-zA-Z]*$/)) {\r\n errors.last_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (\r\n null === data.blood_group ||\r\n \"\" === data.blood_group ||\r\n undefined === data.blood_group\r\n ) {\r\n errors.blood_group = \"Select the Blood Group field.\";\r\n errors.formIsValid = false;\r\n }\r\n \r\n if(\"Self\" !== data.relationship){\r\n \r\n // if (data.phone_number === \"\" || data.phone_number == null) {\r\n // errors.phone_number = \"Please enter your Phone number.\";\r\n // errors.formIsValid = false;\r\n // } else\r\n \r\n if (typeof data[\"phone_number\"] !== \"undefined\") {\r\n if (data.phone_number !== \"\" && !isValidPhoneNumber(data.phone_number)) {\r\n errors[\"phone_number\"] = \"Invalid Phone number.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n }\r\n\r\n\r\n if (data.gender === \"\" || data.gender == null) {\r\n errors.gender = \"Select the Gender field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.date_of_birth === \"\" || data.date_of_birth == null) {\r\n errors.date_of_birth = \"Select the DOB field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.relationship === \"\" || data.relationship == null) {\r\n errors.relationship = \"Select the Relationship field.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (\"UpdateFamilyDetails\" === data.type) {\r\n \r\n if (data.first_name === \"\" || data.first_name == null) {\r\n errors.first_name = \"The First Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.first_name !== \"undefined\") {\r\n if (!data.first_name.match(/^[a-zA-Z]*$/)) {\r\n errors.first_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n\r\n if (data.last_name === \"\" || data.last_name == null) {\r\n errors.last_name = \"The Last Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.last_name !== \"undefined\") {\r\n if (!data.last_name.match(/^[a-zA-Z]*$/)) {\r\n errors.last_name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (\r\n null === data.blood_group ||\r\n \"\" === data.blood_group ||\r\n undefined === data.blood_group\r\n ) {\r\n errors.blood_group = \"Select your Blood Group field.\";\r\n errors.formIsValid = false;\r\n }\r\n \r\n if (data.gender === \"\" || data.gender == null) {\r\n errors.gender = \"Select the Gender field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.date_of_birth === \"\" || data.date_of_birth == null) {\r\n errors.date_of_birth = \"Select the Date Of Birth field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.relationship === \"\" || data.relationship == null) {\r\n errors.relationship = \"Select the relationship field.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (\"HospitalDasboardAdmin\" === data.type) {\r\n \r\n if (data.cycle_time === \"\" || data.cycle_time == null) {\r\n errors.cycle_time = \"The Cycle Time field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.reschedule_time === \"\" || data.reschedule_time == null) {\r\n errors.reschedule_time = \"The Reschedule Time field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.daily_info_open_time === \"\" || data.daily_info_open_time == null) {\r\n errors.daily_info_open_time = \"Select the Hospital Open Time field.\";\r\n errors.formIsValid = false;\r\n }\r\n \r\n if (null === data.schedule_type || data.schedule_type.length <= 0) {\r\n errors.schedule_type = \"Select the Schedule Type field.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n\r\n if (\"changePassword\" === data.type) {\r\n if (data.password === \"\" || data.password == null) {\r\n errors.password = \"The New Password field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (\r\n data.password_confirmation === \"\" ||\r\n data.password_confirmation == null\r\n ) {\r\n errors.password_confirmation = \"The Confirm Password field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.password_confirmation !== data.password) {\r\n errors.matchPassword = \"Passwords do not match.Password 1 should match with password2.\";\r\n errors.formIsValid = false;\r\n } else {\r\n if (\r\n !data.password.match(\r\n /^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%&]).*$/\r\n )\r\n ) {\r\n errors.securePassword = \"Please enter secure and strong Password.The password must contain one upper letters(A-Z) and one lower case letters(a-z) one number(0-9) and one special character (ex. !@#$%^&*) and total length of 8 characters.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n }\r\n\r\n if (\"ShiftPlannerCreateEvent\" === data.type) {\r\n if (data.selectedDoc === null || data.selectedDoc === \"\") {\r\n errors.selectedDoc = \"Select your doctor field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.from === null || data.from === \"\") {\r\n errors.from = \"Select your From Date field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.to === null || data.to === \"\") {\r\n errors.to = \" Select your To Date field.\";\r\n errors.formIsValid = false;\r\n }\r\n if ((data.morning_shift_start === \"\" || data.morning_shift_end === \"\")\r\n && (data.evening_shift_start === \"\" || data.evening_shift_end === \"\")) {\r\n errors.shift = \"Select atleast one shift\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if ((data.morning_shift_start === data.morning_shift_end)\r\n && (data.evening_shift_start === data.evening_shift_end)) {\r\n errors.shift = \"Select two different timings for at least one shift\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.schedule_type === null || data.schedule_type === \"\") {\r\n errors.schedule_type = \"Select your Schedule Type field.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n if (\"DoctorShiftPlannerCreateEvent\" === data.type) {\r\n if (data.selectedDoc === null || data.selectedDoc === \"\") {\r\n errors.selectedDoc = \"Select your hospital field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.from === null || data.from === \"\") {\r\n errors.from = \"Select your From Date field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.to === null || data.to === \"\") {\r\n errors.to = \" Select your To Date field.\";\r\n errors.formIsValid = false;\r\n }\r\n if ((data.morning_shift_start === \"\" || data.morning_shift_end === \"\")\r\n && (data.evening_shift_start === \"\" || data.evening_shift_end === \"\")) {\r\n errors.shift = \"Select atleast one shift\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if ((data.morning_shift_start === data.morning_shift_end)\r\n && (data.evening_shift_start === data.evening_shift_end)) {\r\n errors.shift = \"Select two different timings for at least one shift\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.schedule_type === null || data.schedule_type === \"\") {\r\n errors.schedule_type = \"Select your Schedule Type field.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (\"createQueue\" === data.type) {\r\n //Need to change after queue issue fix\r\n // if (data.n_client_id === null || data.n_client_id.length == 0) {\r\n if (data.n_client_id === null || data.n_client_id == null) {\r\n errors.n_client_id = \"Select any one of the people below.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.n_business_id === \"\" || data.n_business_id == null) {\r\n errors.n_business_id = \"Hospital Id is missing\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.n_business_user_id === \"\" || data.n_business_user_id === null) {\r\n errors.n_business_user_id = \"Please select the doctor\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.other_comments === \"\" || data.other_comments=== null||data.other_comments === undefined) {\r\n errors.other_comments = \"Please enter the Reason for visit\";\r\n errors.formIsValid = false;\r\n }\r\n \r\n\r\n if (data.schedule_type !== \"appointment\") {\r\n if (\r\n data.n_schedule_day_id === \"\" ||\r\n data.n_schedule_day_id === undefined ||\r\n !data.n_schedule_day_id\r\n ) {\r\n errors.n_schedule_day_id = \"Choose the Timing field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.other_comments === \"\" || data.other_comments=== null||data.other_comments === undefined) {\r\n errors.other_comments = \"The Reason for visiting is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if((data.payment_mode === \"\"|| data.payment_mode === undefined || !data.payment_mode))\r\n {\r\n errors.payment_type_error = \"The Payment type is required.\";\r\n errors.formIsValid = false;\r\n\r\n } \r\n }\r\n //else {\r\n \r\n\r\n if (data.clientList === null || data.clientList == null || data.clientList.length > 1) {\r\n errors.n_client_id = \"Select only one person.\";\r\n errors.formIsValid = false;\r\n }\r\n \r\n //}\r\n }\r\n if (data.type === \"support\") {\r\n if (data.name === \"\" || data.name == null) {\r\n errors.name = \"The Name field is required.\";\r\n errors.formIsValid = false;\r\n } else if (typeof data.name !== \"undefined\") {\r\n if (!data.name.match(/^[a-zA-Z ]*$/)) {\r\n errors.name = \"Only characters are allowed.\";\r\n errors.formIsValid = false;\r\n }\r\n }\r\n\r\n if (data.category === null || data.category === \"\") {\r\n errors.category = \"Choose the Category field.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.issue_description === null || data.issue_description === \"\") {\r\n errors.issue_description = \"Choose the Description Issue field.\";\r\n errors.formIsValid = false;\r\n }\r\n\r\n if (data.email === \"\") {\r\n errors.email = \"The Email ID field is required.\";\r\n errors.formIsValid = false;\r\n }\r\n if (data.email !== \"\" && typeof data[\"email\"] !== \"undefined\") {\r\n //regular expression for email validation\r\n var pattern = new RegExp(\r\n /^((\"[\\w-\\s]+\")|([\\w-]+(?:\\.[\\w-]+)*)|(\"[\\w-\\s]+\")([\\w-]+(?:\\.[\\w-]+)*))(@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$)|(@\\[?((25[0-5]\\.|2[0-4][0-9]\\.|1[0-9]{2}\\.|[0-9]{1,2}\\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\\]?$)/i\r\n );\r\n if (!pattern.test(data[\"email\"])) {\r\n errors.formIsValid = false;\r\n errors[\"email\"] = \"Invalid Email Address.\";\r\n }\r\n }\r\n // if (\r\n // data.phone_number !== \"\" &&\r\n // typeof data[\"phone_number\"] !== \"undefined\"\r\n // ) {\r\n // if (!isValidPhoneNumber(data.phone_number)) {\r\n // // formIsValid = false;\r\n // errors[\"phone_number\"] = \"Please enter valid Phone number.\";\r\n // errors.formIsValid = false;\r\n // }\r\n // }\r\n // if (data.phone_number === \"\") {\r\n // errors.phone_number = \"Please enter phone number.\";\r\n // errors.formIsValid = false;\r\n // }\r\n }\r\n\r\n return errors;\r\n}\r\n\r\n","import React, { Component } from \"react\";\r\n\r\nexport default class ErrorAlert extends Component {\r\n // constructor(props) {\r\n // super(props);\r\n // }\r\n render() {\r\n return (\r\n // \r\n // {this.props.message && (\r\n // \r\n //
\r\n // {this.props.message}\r\n //
\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.message}\r\n
\r\n );\r\n }\r\n}\r\n","import React, {Component} from 'react';\r\n\r\n\r\nexport class Spinner extends Component{\r\n constructor(props){\r\n super(props);\r\n }\r\n\r\n render(){\r\n\r\n if(this.props.loading){\r\n return( \r\n
\r\n ) \r\n }else{\r\n return( \r\n
\r\n ) \r\n }\r\n }\r\n }\r\nexport default Spinner;","import React from \"react\";\r\nimport { DNA } from \"react-loader-spinner\";\r\n\r\nconst Dnaspinner = () => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Dnaspinner;","import React, { Component } from \"react\";\r\nimport $ from 'jquery';\r\nimport { connect } from \"react-redux\";\r\nimport axios from \"axios\";\r\nimport { LoginUrl, forgotPasswordClient, verifyOTPClient, sendsms,sendemail, resendOTPClient, textNotificationURL, emailNotificationURL } from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\nimport Headerweb from \"../Headerweb\";\r\n\r\nimport Validation from \"../../../src/actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ErrorAlert from \"../../components/UI/ErrorAlert\";\r\nimport { fadeInDown } from \"react-animations\";\r\nimport styled, { keyframes } from \"styled-components\";\r\nimport { Spinner } from \"../../components/UI/Spinner\";\r\nimport { Fragment } from \"react\";\r\nimport OtpTimer from 'otp-timer'\r\nimport ChatBot from 'react-simple-chatbot';\r\nimport Dnaspinner from \"../../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n userdata: state.AuthReducer,\r\n };\r\n}\r\n\r\nconst FadeStyle = styled.div`\r\n animation: 1s ${keyframes`${fadeInDown}`};\r\n`;\r\n\r\nclass login extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleOtp = this.handleOtp.bind(this);\r\n this.state = {\r\n loading: false,\r\n forgotuser: {},\r\n resendsuccess: true,\r\n email: \"\",\r\n password: \"\",\r\n errors: {},\r\n error: \"\",\r\n registered_detail: \"\",\r\n isForgotPasswordClicked: false,\r\n isOTPField: false,\r\n isverified: false,\r\n issubmitted: false,\r\n unique_id: \"\",\r\n temp: \"\",\r\n };\r\n }\r\n componentDidMount = () => {\r\n\r\n };\r\n handleInput = (e) => {\r\n e.preventDefault();\r\n const name = e.target.name;\r\n const value = e.target.value;\r\n this.setState({ [name]: value });\r\n };\r\n handlepassword = (e) => {\r\n\r\n$(\".toggle-password\").toggleClass(\"fa-eye fa-eye-slash\");\r\n\r\nlet input = $('#password-field');\r\nif (input.attr(\"type\") == \"password\") {\r\n input.attr(\"type\", \"text\");\r\n} else {\r\n input.attr(\"type\", \"password\");\r\n}\r\n }\r\n handleForgotPasswordSubmit = (e) => {\r\n e.preventDefault();\r\n let errors = this.state.errors;\r\n if (this.state.registered_detail === \"\" || null == this.state.registered_detail) {\r\n errors.registered_detail = \"Enter your registered Email or Phone number.\";\r\n errors.formIsValid = false;\r\n this.setState({ errors: errors });\r\n } else {\r\n errors.registered_detail = \"\";\r\n errors.formIsValid = true;\r\n this.setState({ errors: errors });\r\n }\r\n const data = {\r\n email_phonenumber: this.state.registered_detail,\r\n };\r\n\r\n\r\n if (errors.formIsValid) {\r\n\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios.post(forgotPasswordClient, data, CONFIG).then((result) => {\r\n let resultData = result.data;\r\n \r\n if (resultData.status === \"0\") {\r\n this.setState({ error: resultData.message, loading: false });\r\n this.clearErrorMessage();\r\n }\r\n else\r\n {\r\n\r\n let user = resultData.data.user;\r\n this.setState({\r\n forgotuser: user,error:\"\"\r\n }\r\n );\r\n console.log(user);\r\n console.log(user.first_name);\r\n let reqdata = {\r\n \"to\" : user.email,\r\n \"subject\" : \"OTP VERIFICATION FOR RESET PASSWORD\",\r\n \"mailHeader\" : \"OTP VERIFICATION FOR RESET PASSWORD\",\r\n \"message\": \"Hello \"+user.first_name+\",

You have requested to reset the password of your KlinicQ account.

Please find the OTP code to change your password.

OTP is valid for 2 minutes.

\"+resultData.data.otp+\"

If you did not initiate this request,you can safely ignore this email.

Thanks,

KlinicQ Team.

\"\r\n }\r\n let notificationdata = {\r\n \"message_code\": \"SEND_OTP\",\r\n \"language_code\": \"en\",\r\n \"data\": {\r\n \"user_name\": user.first_name,\r\n \"otp\": resultData.data.otp\r\n\r\n },\r\n \"receiver\": {\r\n \"phoneNumber\": user.phone_code.concat(user.phone_number)\r\n }\r\n };\r\n /*let notificationdata = {\r\n \"message_code\": \"WLCME_MSG\",\r\n \"language_code\": \"en\",\r\n \"data\": {\r\n \"business_name\": \"Meenakshi\",\r\n \"customer_name\": \"Customer\"\r\n },\r\n \"receiver\": {\r\n \"phoneNumber\": \"+919152414264\"\r\n }\r\n };*/\r\n console.log(notificationdata);\r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data; \r\n console.log(res);\r\n })\r\n axios\r\n .post(sendsms, notificationdata)\r\n .then((result) => {\r\n console.log(result)\r\n }).catch((err) => {\r\n console.log(err);\r\n })\r\n this.setState({\r\n data: data,\r\n unique_id: resultData.data.unique_id,\r\n isOTPField: true, issubmitted: true, temp: resultData.data.otp,\r\n loading: false\r\n });\r\n window.setTimeout(() => {\r\n this.setState({\r\n resendsuccess: false,\r\n });\r\n }, 5000);\r\n }\r\n\r\n })\r\n .catch((e) => { console.log(e) });\r\n }\r\n\r\n\r\n };\r\n handleForgotPasswordCancel = (e) => {\r\n e.preventDefault();\r\n\r\n this.setState({\r\n isOTPField: false,\r\n isverified: false,\r\n isForgotPasswordClicked: false,\r\n issubmitted: false,\r\n errors: {},\r\n error: \"\"\r\n });\r\n };\r\n\r\n handleOtp = (e) => {\r\n e.preventDefault();\r\n let errors = this.state.errors;\r\n if (this.state.otp === \"\" || null == this.state.otp) {\r\n errors.otp = \"Please enter your otp\";\r\n errors.formIsValid = false;\r\n this.setState({ errors: errors });\r\n } else {\r\n errors.otp = \"\";\r\n errors.formIsValid = true;\r\n this.setState({ errors: errors });\r\n }\r\n const data = {\r\n unique_id: this.state.unique_id,\r\n otp: this.state.otp\r\n };\r\n\r\n\r\n if (errors.formIsValid) {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n data.otp_data=this.state.resendotpvalue;\r\n axios.post(verifyOTPClient, data, CONFIG).then((result) => {\r\n let resultData = result.data;\r\n console.log(resultData);\r\n console.log(resultData.status);\r\n \r\n if (resultData.status === \"1\") {\r\n this.setState({\r\n isOTPField: false,\r\n isverified: true,\r\n isForgotPasswordClicked: true,\r\n });\r\n\r\n // this.props.history.push('/forgot-password');\r\n this.props.history.push({\r\n pathname: \"/reset-password\",\r\n state: {\r\n registered_detail: this.state.registered_detail\r\n }\r\n });\r\n\r\n \r\n } else {\r\n\r\n this.setState({ error: resultData.message });\r\n this.clearErrorMessage();\r\n }\r\n\r\n })\r\n \r\n }\r\n\r\n\r\n };\r\n clearErrorMessage() {\r\n \r\n setTimeout(() => {\r\n this.setState({\r\n \r\n error:\"\",\r\n });\r\n }, 5000);\r\n \r\n }\r\n clearForm = () => {\r\n \r\n console.log(\"clear\");\r\n \r\n this.setState({\r\n \r\n data: {\r\n otp: \"\",\r\n unique_id: \"\",\r\n type: \"verification\",\r\n otp_data: \"\",\r\n },\r\n errors: {\r\n \r\n otp: \"\",\r\n },\r\n error:\"\",\r\n temp: \"\",\r\n \r\n });\r\n };\r\n resendOtp = (e) => {\r\n // e.preventDefault();\r\n this.clearForm();\r\n let email_phonenumber = \"\";\r\n let user = this.state.forgotuser;\r\n console.log(user);\r\n let url = \"\";\r\n let Notificationdata = {};\r\n if (user.phone_number !== null) {\r\n email_phonenumber = user.phone_number;\r\n url = textNotificationURL;\r\n Notificationdata.phoneNumber = email_phonenumber;\r\n } else if (user.email !== null) {\r\n email_phonenumber = user.email;\r\n url = emailNotificationURL;\r\n Notificationdata.email = email_phonenumber;\r\n }\r\n\r\n if (email_phonenumber !== \"\") {\r\n try {\r\n let data = {};\r\n /* const data = {\r\n unique_id: this.state.unique_id,\r\n otp: this.state.otp\r\n };\r\n */\r\n data.email_phonenumber = email_phonenumber;\r\n const result = axios.post(resendOTPClient, data, CONFIG);\r\n\r\n const p = Promise.resolve(result);\r\n\r\n let resultdata = p.then((value) => {\r\n if (value.data.status === \"1\") {\r\n this.props.setUserData(value.data.user);\r\n let data1 = resultdata.data;\r\n console.log(data1);\r\n // data1.unique_id = value.data.unique_id;\r\n // data1.otp_data=value.data.otp;\r\n // data1.unique_id = value.data.unique_id;\r\n // console.log(data1.first_name);\r\n let reqdata = {\r\n \"to\" : user.email,\r\n \"subject\" : \"OTP VERIFICATION FOR RESET PASSWORD\",\r\n \"mailHeader\" : \"OTP VERIFICATION FOR RESET PASSWORD\",\r\n \"message\": \"Hello \"+user.first_name+\",

You have requested to reset the password of your KlinicQ account.

Please find the OTP code to change your password.

\"+value.data.otp+ \"

OTP is valid for next 2 minutes.

If you did not initiate this request,you can safely ignore this email.

Thanks,

KlinicQ Team.

\"\r\n }\r\n let notificationdata = {\r\n \"message_code\": \"SEND_OTP\",\r\n \"language_code\": \"en\",\r\n \"data\": {\r\n \"user_name\": user.first_name,\r\n \"otp\": value.data.otp\r\n\r\n },\r\n \"receiver\": {\r\n \"phoneNumber\": user.phone_code.concat(user.phone_number)\r\n }\r\n };\r\n\r\n\r\n console.log(notificationdata);\r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data; \r\n console.log(res);\r\n })\r\n axios\r\n .post(sendsms, notificationdata)\r\n .then((response) => {\r\n console.log(response);\r\n this.setState({\r\n data: data1,\r\n unique_id: value.data.unique_id,\r\n resendsuccess: true,\r\n isOTPField: true,\r\n issubmitted: true,\r\n temp: value.data.otp,\r\n loading: false\r\n });\r\n }).catch((error) => {\r\n console.log(error);\r\n if (e.response) {\r\n this.setState({ error: error.response.data.errors });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n })\r\n\r\n window.setTimeout(() => {\r\n this.setState({\r\n resendsuccess: false,\r\n });\r\n }, 5000);\r\n }\r\n if (value.data.status === \"0\") {\r\n this.setState({ error: value.data.message });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n });\r\n\r\n // dispatch(\r\n // addUserDeails(result.data)\r\n // )\r\n } catch (e) {\r\n // dispatch(\r\n // addError(e.message)\r\n // )\r\n }\r\n }\r\n\r\n };\r\n\r\n\r\n handleSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n const data = {\r\n email: this.state.email,\r\n password: this.state.password,\r\n type: \"login\",\r\n };\r\n let errors = this.state.errors;\r\n errors = Validation(data, errors);\r\n\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n axios\r\n .post(LoginUrl, data, CONFIG)\r\n .then((res) => {\r\n // cookie.set(\"token\", res.data.access_token);\r\n if (res.data.status === \"0\") {\r\n this.setState({ error: res.data.message });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n } else {\r\n if (res.data.data.user.otp_verified === \"Yes\") {\r\n window.setTimeout(() => {\r\n localStorage.setItem(\"token\", res.data.data.access_token);\r\n console.log(localStorage.getItem(\"token\"));\r\n // return false;\r\n // dispatch\r\n this.props.setLogin(res.data.data.user);\r\n this.props.setAuthToken(res.data.data.access_token);\r\n\r\n // this.props.history.push(\"/dashboard\");\r\n (res.data.data.user.user_type === 'admin') ? (window.location.replace(\"/admindashboard\")) : (window.location.replace(\"/dashboard\"))\r\n }, 500);\r\n } else {\r\n // otp not verified yet\r\n this.props.setUserData(res.data.data.user);\r\n // return false;\r\n // this.props.history.push(\"/verify\");\r\n window.location.href = \"/verify\";\r\n }\r\n }\r\n\r\n // if (res.data.data.user.is_active === \"No\")\r\n // this.props.history.push(\"/verify/\" + res.data.data.user.unique_id);\r\n })\r\n .catch((e) => {\r\n\r\n this.setState({ error: e.message });\r\n });\r\n }\r\n };\r\n render() {\r\n const { errors, email, password, error, loading,data } = this.state;\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* Removed the left image column */}\r\n
\r\n {this.state.isForgotPasswordClicked ? (\r\n \r\n {loading && }\r\n \r\n {!this.state.issubmitted ? (\r\n
\r\n
\r\n \r\n {errors.registered_detail ? errors.registered_detail :\r\n \"Enter your registered mobile number / email id\"}\r\n \r\n }\r\n />\r\n

\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n {!this.state.issubmitted ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.issubmitted && !this.state.isverified ? (\r\n
\r\n {this.state.registered_detail}\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n {!this.state.issubmitted ? (\r\n
\r\n \r\n Submit\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {!this.state.isverified ? (\r\n
\r\n \r\n Cancel\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n\r\n {/* OTP Section */}\r\n {this.state.issubmitted && !this.state.isverified ? (\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n Your one-time password (OTP) has been sent to your registered\r\n mobile/email.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Verify\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n ) : (\r\n \r\n
\r\n

Login to your account

\r\n

Welcome back.

\r\n
\r\n {error ? : null}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n this.setState({\r\n isForgotPasswordClicked: true,\r\n })\r\n }\r\n style={{ cursor: \"pointer\", color: \"black\", fontSize: \"16px\" }}\r\n >\r\n Forgot Password?\r\n \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 Don’t have an account? \r\n \r\n Create an account\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n// {old code}\r\n\r\n//
\r\n// \r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n// {this.state.isForgotPasswordClicked ? (\r\n// \r\n// {loading && }\r\n// \r\n// {!this.state.issubmitted ? (\r\n//
\r\n//
\r\n// \r\n// {errors.registered_detail ? errors.registered_detail :\r\n// \"Enter your registered mobile number / email id\"}\r\n// \r\n// }\r\n// />\r\n//

\r\n//
\r\n//
\r\n// ) : (\r\n// \"\"\r\n// )}\r\n//
\r\n//
\r\n// {!this.state.issubmitted ? (\r\n//
\r\n// \r\n//
\r\n// ) : (\r\n// \"\"\r\n// )}\r\n// {this.state.issubmitted && !this.state.isverified ? (\r\n//
\r\n// {this.state.registered_detail}\r\n//
\r\n// ) : (\r\n// \"\"\r\n// )}\r\n//
\r\n//
\r\n//
\r\n// {!this.state.issubmitted ? (\r\n//
\r\n// \r\n// Submit\r\n// \r\n//
\r\n// ) : (\r\n// \"\"\r\n// )}\r\n// {!this.state.isverified ? (\r\n//
\r\n// \r\n// Cancel\r\n// \r\n//
\r\n// ) : (\r\n// \"\"\r\n// )}\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// ) : (\r\n// \r\n//
\r\n//

Login to your account

\r\n//

Welcome back.

\r\n//
\r\n// {error ? : null}\r\n//
\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n// \r\n// \r\n//
\r\n// \r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n// \r\n// \r\n// \r\n//
\r\n// \r\n//
\r\n//
\r\n//
\r\n\r\n//
\r\n//
\r\n//
\r\n// \r\n// \r\n//
\r\n// \r\n// this.setState({\r\n// isForgotPasswordClicked: true,\r\n// })\r\n// }\r\n// style={{ cursor: \"pointer\", color: \"black\", fontSize: \"16px\" }}\r\n// >\r\n// Forgot Password?\r\n// \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// Don’t have an account? \r\n// \r\n// Create an account\r\n// \r\n//
\r\n//
\r\n// )}\r\n//
\r\n//
\r\n\r\n \r\n// {this.state.isOTPField ? (\r\n// \r\n// \r\n//
\r\n//
\r\n//
\r\n//

\r\n// Your one-time password (OTP) has been sent to your registered\r\n// mobile/email.\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \r\n//
\r\n// \r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \r\n// Verify\r\n// \r\n// \r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// ) : (\r\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 mapDispatchToProps = (dispatch) => {\r\n return {\r\n setLogin: (user) => dispatch({ type: \"SET_LOGIN\", payload: user }),\r\n setAuthToken: (token) =>\r\n dispatch({ type: \"SET_ACCESS_TOKEN\", payload: token }),\r\n setUserData: (user) => dispatch({ type: \"SET_USERDATA\", payload: user }),\r\n };\r\n};\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(login)\r\n);\r\n","import React from \"react\";\r\n\r\n\r\nfunction LogoSection(props) {\r\n return (\r\n
\r\n
\r\n \r\n \"LOGO\"\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default LogoSection;\r\n","import React from \"react\";\r\n\r\nfunction FooterSection(props) {\r\n const currentYear = new Date().getFullYear();\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default FooterSection;\r\n","import React from 'react';\r\n\r\nconst GenderField = (props) => (\r\n\r\n < label className={props.labelcls} > {props.title} \r\n \r\n \r\n // \r\n\r\n\r\n);\r\n\r\n\r\nexport default GenderField;","import React from \"react\";\r\n\r\nconst Button = (props) => {\r\n // console.log(props.style);\r\n if (props.btntype === \"submit\") {\r\n return (\r\n \r\n {props.loading && (\r\n \r\n )}\r\n {props.title}\r\n\r\n {/* {props.loading && Loading Data from Server} */}\r\n {/* {!props.loading && Fetch Data from Server} */}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {props.loading && (\r\n \r\n )}\r\n {props.title}\r\n \r\n );\r\n }\r\n};\r\n\r\nexport default Button;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport StarField from '../UI/StarField';\r\n\r\nconst Label = ({ className, title, isMandatory }) => (\r\n \r\n);\r\n\r\nLabel.propTypes = {\r\n title: PropTypes.string.isRequired, // Title is required\r\n isMandatory: PropTypes.bool, // Whether the label is mandatory\r\n className: PropTypes.string, // Optional class name\r\n};\r\n\r\nLabel.defaultProps = {\r\n isMandatory: false, // Default to non-mandatory\r\n className: '', // Default to an empty string for className\r\n};\r\n\r\nexport default Label;\r\n","import React, { Fragment } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst CheckboxField = (props) => (\r\n
\r\n {props.options.map((option) => {\r\n return (\r\n \r\n \r\n -1\r\n : 0\r\n }\r\n name={props.name ? props.name : \"\"}\r\n type={props.type}\r\n id={option.key + props.page}\r\n />\r\n \r\n {option.value}\r\n \r\n
\r\n \r\n );\r\n })}\r\n \r\n);\r\n\r\nCheckboxField.propTypes = {\r\n type: PropTypes.oneOf([\"checkbox\"]).isRequired,\r\n setName: PropTypes.string.isRequired,\r\n options: PropTypes.array.isRequired,\r\n selectedOptions: PropTypes.array,\r\n controlFunc: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default CheckboxField;\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport $ from 'jquery';\r\n/* Import Components */\r\nimport GenderField from \"../UI/GenderField\";\r\nimport InputField from \"../UI/InputField\";\r\n// import Select from '../UI/Select';\r\nimport Button from \"../UI/Button\";\r\nimport Label from \"../UI/Label\";\r\nimport SpanField from \"../UI/SpanField\";\r\n// import PlacesAutocomplete from '../UI/PlacesAutocomplete';\r\nimport Validation from \"../../actions/Validation\";\r\nimport axios from \"axios\";\r\nimport { RegisterUrl } from \"../../config/url.json\";\r\n// import { addError } from './errors';\r\n\r\nimport DatePicker from \"react-date-picker\";\r\nimport PhoneInput, { isValidPhoneNumber,parsePhoneNumber } from \"react-phone-number-input\";\r\nimport CheckboxField from \"../UI/CheckboxField\";\r\nimport \"react-phone-number-input/style.css\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ErrorAlert from \"../UI/ErrorAlert\";\r\nimport * as moment from \"moment\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\n\r\n\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {};\r\n}\r\n\r\nconst agreeOptions = [\r\n {\r\n key: 1,\r\n value: \"Receive relevant offers and promotional communication from Nucleo\",\r\n },\r\n { key: 2, value: \"By signing up, I agree to our terms and conditions and privacy policies\", //Terms, Data Policy\" },\r\n}\r\n];\r\n\r\nclass ClientSignup extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n ClientData: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n email: \"\",\r\n password: \"\",\r\n phone_number: \"\",\r\n phone_code: \"\",\r\n gender: \"\",\r\n date_of_birth: \"\",\r\n user_type: \"patientsignup\",\r\n user_type_id: \"1\",\r\n agreedOption: [1],\r\n // user_type: \"patiensignup\",\r\n },\r\n errors: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n email: \"\",\r\n password: \"\",\r\n phone_number: \"\",\r\n phone_code: \"\",\r\n gender: \"\",\r\n date_of_birth: \"\",\r\n agreeTC: \"\",\r\n },\r\n genderoptions: [\"Male\", \"Female\"],\r\n loading: false,\r\n };\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n\r\n this.handleInput = this.handleInput.bind(this);\r\n this.handleCheck = this.handleCheck.bind(this);\r\n }\r\n\r\n handlepassword = (e) => {\r\n\r\n $(\".clienttoggle-password\").toggleClass(\"fa-eye fa-eye-slash\");\r\n \r\n let input = $('#clientpassword');\r\n if (input.attr(\"type\") == \"password\") {\r\n input.attr(\"type\", \"text\");\r\n } else {\r\n input.attr(\"type\", \"password\");\r\n }\r\n }\r\n handleInput = (e) => {\r\n let data = this.state.ClientData;\r\n let max = e.target.max;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let errors = this.state.errors;\r\n if (\r\n name === \"first_name\" ||\r\n name === \"last_name\" ||\r\n name === \"email\" ||\r\n name === \"password\"\r\n \r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n \r\n }\r\n\r\n this.setState({ ClientData: data,errors:errors });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.ClientData;\r\n let errors = this.state.errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n // const value1 = value.slice(0, max);\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ ClientData: data, errors: errors });\r\n }\r\n handleCheck = (e) => {\r\n const newSelection = e.target.value;\r\n let data = this.state.ClientData;\r\n\r\n if (data.agreedOption.includes(parseInt(newSelection, 10))) {\r\n data.agreedOption.splice(\r\n data.agreedOption.indexOf(parseInt(newSelection, 10)),\r\n 1\r\n );\r\n } else {\r\n data.agreedOption.push(parseInt(newSelection, 10));\r\n }\r\n\r\nlet errors = this.state.errors;\r\nif(data.agreedOption.length > 1){\r\n errors.agreeTC = \"\";\r\n}\r\n\r\n\r\n this.setState({ ClientData: data,errors:errors });\r\n };\r\n validateEmail(email) {\r\n // const re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n // return re.test(email);\r\n return email.match(/^([\\w.%+-]+)@([\\w-]+\\.)+([\\w]{2,})$/i);\r\n }\r\n\r\n handleDOBChange = (date) => {\r\n console.log(date);\r\n \r\n let clientData = this.state.ClientData;\r\n let errors = this.state.errors;\r\n errors.date_of_birth = \"\";\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n clientData.date_of_birth=offsetDate;\r\n this.setState({ ClientData: clientData,errors:errors });\r\n };\r\n handleFormSubmit(e) {\r\n e.preventDefault();\r\n\r\n let { ClientData, errors } = this.state;\r\n\r\n errors = Validation(ClientData, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n ClientData.user_type = \"patient\";\r\n let data = ClientData;\r\n \r\n\r\n\r\n data.phone_code = \"+\" + parsePhoneNumber(data.phone_number).countryCallingCode;\r\n data.phone_number = parsePhoneNumber(data.phone_number).nationalNumber;\r\n \r\n data.date_of_birth=data.date_of_birth;\r\n //data.date_of_birth=moment(data.date_of_birth).format('Y-M-D');\r\n data.user_type = \"patient\";\r\n // data.date_of_birth = moment(data.date_of_birth).format('YYYY-MM-DD hh:mm:ss A')\r\n console.log(data);\r\n try {\r\n const result = axios.post(RegisterUrl, data, CONFIG);\r\n const p = Promise.resolve(result);\r\n\r\n p.then((value) => {\r\n this.setState({ loading: false });\r\n let data = ClientData;\r\n console.log(data.date_of_birth);\r\n data.phone_number = data.phone_code.concat(data.phone_number);\r\n\r\n data.user_type = \"patientsignup\";\r\n this.setState({\r\n error: value.data.message,\r\n ClientData: data,\r\n });\r\n if (value.data.status === \"1\") {\r\n \r\n // let Notificationdata = {};\r\n // const options = {\r\n // headers: {\r\n // Accept: \"*/*\",\r\n // },\r\n // };\r\n // console.log(value);\r\n // Notificationdata.phoneNumber = ClientData.phone_number;\r\n // Notificationdata.trackingId = value.data.data.unique_id;\r\n // Notificationdata.message =\r\n // value.data.data.otp +\r\n // \" is Your OTP for Mobile no verification to activate your account.\";\r\n // // let isValidEmail = this.validateEmail(data[\"emailphone\"]);\r\n // let data = ClientData;\r\n // data.user_type = \"patientsignup\";\r\n // this.setState({\r\n // // error: value.data.message,\r\n // ClientData: data,\r\n // });\r\n // axios\r\n // .post(textNotificationURL, Notificationdata, options)\r\n // .then((response) => {\r\n // console.log(response);\r\n // // data.loading = false;\r\n // this.props.setUserData(value.data.data.user);\r\n // this.props.history.push(\"/verify/\" + value.data.data.unique_id);\r\n // })\r\n // .catch((error) => {\r\n // if (e.response) {\r\n // this.setState({ error: error.response.data.errors });\r\n // window.setTimeout(() => {\r\n // this.setState({\r\n // error: \"\",\r\n // });\r\n // }, 5000);\r\n // }\r\n // });\r\n // console.log(value.data.unique_id);\r\n this.props.setUserData(value.data.data.user);\r\n \r\n this.props.history.push(\"/verify\");\r\n }\r\n if (value.data.status === \"0\") {\r\n \r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n });\r\n } catch (e) {\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n }\r\n }\r\n\r\n handlePhoneInput = (event) => {\r\n let ClientData = this.state.ClientData;\r\n ClientData.phone_number = event;\r\n let errors = this.state.errors;\r\n errors.phone_number = \"\";\r\n this.setState({ ClientData,errors });\r\n };\r\n handleAddressInput = () => {\r\n // if (navigator.geolocation) {\r\n // navigator.geolocation.getCurrentPosition(function (position) {\r\n // var geolocation = {\r\n // lat: position.coords.latitude,\r\n // lng: position.coords.longitude\r\n // };\r\n // var circle = new google.maps.Circle(\r\n // { center: geolocation, radius: position.coords.accuracy });\r\n // autocomplete.setBounds(circle.getBounds());\r\n // });\r\n // }\r\n };\r\n\r\n render() {\r\n const { ClientData, genderoptions, errors, error, loading } = this.state;\r\n const value = ClientData.phone_number;\r\n return (\r\n \r\n {error ? : null}\r\n
\r\n
\r\n \r\n \r\n {/*
*/}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n \r\n \r\n
\r\n {/*
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n

By clicking Sign up, you agree to our Terms, Privacy Policy.

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setUserData: (user) => dispatch({ type: \"SET_USERDATA\", payload: user }),\r\n };\r\n};\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(ClientSignup)\r\n);\r\n\r\n// export default withRouter(ClientSignup);\r\n","import React, { Component } from \"react\";\r\nimport $ from 'jquery';\r\n/* Import Components */\r\nimport InputField from \"../UI/InputField\";\r\nimport Button from \"../UI/Button\";\r\nimport { CountryDropdown, RegionDropdown } from \"react-country-region-selector\";\r\nimport Label from \"../UI/Label\";\r\nimport PhoneInput, {\r\n parsePhoneNumber,\r\n isValidPhoneNumber,\r\n isPossiblePhoneNumber,\r\n} from \"react-phone-number-input\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport SpanField from \"../UI/SpanField\";\r\nimport Select from \"react-select\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n RegisterUrl,\r\n textNotificationURL,\r\n emailNotificationURL,\r\n} from \"../../config/url.json\";\r\nimport axios from \"axios\";\r\nimport ErrorAlert from \"../UI/ErrorAlert\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport CheckboxField from \"../UI/CheckboxField\";\r\n\r\nconst google = window.google;\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n };\r\n}\r\n\r\nconst agreeOptions = [\r\n {\r\n key: 1,\r\n value: \"Receive relevant offers and promotional communication from Nucleo\",\r\n },\r\n { key: 2, value: \"By signing up, I agree to our terms and conditions and privacy policies\" },\r\n];\r\n\r\nclass BusinessSignup extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n businessData: {\r\n business_name: \"\",\r\n email: \"\",\r\n password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n phone_number: \"\",\r\n phone_code: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n category: \"\",\r\n category_array: \"\",\r\n user_type: \"hospital\",\r\n user_type_id: \"1\",\r\n latitude: \"\",\r\n longitude: \"\",\r\n google_loc_id: \"\",\r\n agreedOption: [1],\r\n //phone_number:\"\"\r\n },\r\n errors: {\r\n business_name: \"\",\r\n email: \"\",\r\n password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n phone_number: \"\",\r\n phone_code: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n category: \"\",\r\n agreeTC: \"\",\r\n },\r\n error: \"\",\r\n loading: false,\r\n google_address: false,\r\n };\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n this.autocomplete = null;\r\n this.handleInput = this.handleInput.bind(this);\r\n this.handleCheck = this.handleCheck.bind(this);\r\n }\r\n\r\n handlepassword = (e) => {\r\n\r\n $(\".businesstoggle-password\").toggleClass(\"fa-eye fa-eye-slash\");\r\n \r\n let input = $('#businesspassword');\r\n if (input.attr(\"type\") == \"password\") {\r\n input.attr(\"type\", \"text\");\r\n } else {\r\n input.attr(\"type\", \"password\");\r\n }\r\n }\r\n\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n console.log(place);\r\n\r\n let { businessData,errors } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n var lat = place.geometry.location.lat();\r\n // get lng\r\n var lng = place.geometry.location.lng();\r\n businessData.latitude = lat.toString();\r\n businessData.longitude = lng.toString();\r\n businessData.google_loc_id = place.url;\r\n\r\n // console.log(place.name);\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n // var valShort = place.address_components[i].short_name;\r\n // console.log(val);\r\n if (addressType === \"administrative_area_level_1\"){\r\n businessData.state = val;\r\n errors.state = \"\"\r\n }\r\n \r\n if (addressType === \"locality\"){\r\n businessData.city = val;\r\n errors.city = \"\"\r\n } \r\n if (addressType === \"country\"){\r\n businessData.country = val;\r\n errors.country = \"\"\r\n } \r\n // if (addressType === \"street_number\") {\r\n\r\n businessData.address1 = place.name;\r\n // }\r\n if (addressType === \"sublocality_level_1\")\r\n { \r\n businessData.address2 = val;\r\n errors.address2 = \"\"\r\n }\r\n if (addressType === \"postal_code\")\r\n { \r\n businessData.zip_code = val;\r\n errors.zip_code = \"\"\r\n }\r\n }\r\n }\r\n\r\n // let ClientData = this.state;\r\n this.setState({\r\n businessData,\r\n errors,\r\n google_address: true,\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address1\"),\r\n {}\r\n );\r\n\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n }\r\n\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.businessData;\r\n let errors = this.state.errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"\";\r\n data[name] = value1;\r\n }\r\n this.setState({ businessData: data, errors: errors });\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.businessData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (name === \"business_name\") {\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"email\") {\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"password\") {\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"address1\") {\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"address2\") {\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"city\"){\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"zip_code\") {\r\n this.validateMaxLength(name, value, max); \r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n\r\n this.setState({ businessData: data, errors: errors });\r\n };\r\n\r\n handleCheck = (e) => {\r\n const newSelection = e.target.value;\r\n let data = this.state.businessData;\r\n\r\n if (data.agreedOption.includes(parseInt(newSelection, 10))) {\r\n data.agreedOption.splice(\r\n data.agreedOption.indexOf(parseInt(newSelection, 10)),\r\n 1\r\n );\r\n } else {\r\n data.agreedOption.push(parseInt(newSelection, 10));\r\n }\r\n let errors = this.state.errors;\r\n if(data.agreedOption.length > 1){\r\n errors.agreeTC = \"\";\r\n }\r\n this.setState({ businessData: data,errors });\r\n };\r\n\r\n handlePhoneInput = (event) => {\r\n let businessData = this.state.businessData;\r\n businessData.phone_number = event;\r\n let errors = this.state.errors;\r\n errors.phone_number = \"\";\r\n this.setState({ businessData,errors });\r\n };\r\n /* for country detail change */\r\n selectCountry(val) {\r\n let data = this.state.businessData;\r\n let errors = this.state.errors\r\n data.country = val;\r\n errors.country = \"\"\r\n this.setState({ businessData: data,errors });\r\n }\r\n /* for state detail change */\r\n\r\n selectState(val) {\r\n let data = this.state.businessData;\r\n let errors = this.state.errors\r\n data.state = val;\r\n errors.state = \"\"\r\n this.setState({ businessData: data,errors });\r\n }\r\n\r\n handleFormSubmit(e) {\r\n e.preventDefault();\r\n\r\n let { businessData, errors, google_address } = this.state;\r\n console.log(businessData);\r\n errors = Validation(businessData, errors);\r\n // console.log(errors);\r\n if (!google_address && businessData.address1 !== \"\") {\r\n errors.address1 = \"Please choose address from autocomplete\";\r\n }\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n businessData.category = businessData.category_array.value;\r\n\r\n console.log(\"form is valid\");\r\n\r\n try {\r\n let data = this.state.businessData;\r\n\r\n\r\n data.phone_code = \"+\" + parsePhoneNumber(data.phone_number).countryCallingCode;\r\n data.phone_number = parsePhoneNumber(data.phone_number).nationalNumber;\r\n\r\n const result = axios.post(RegisterUrl, data, CONFIG);\r\n const p = Promise.resolve(result);\r\n this.setState({ loading: false });\r\n\r\n let resultdata = p.then((value) => {\r\n // console.log(value.data.status);\r\n // console.log(value.data.data);\r\n let Notificationdata = {};\r\n const options = {\r\n headers: {\r\n Accept: \"*/*\",\r\n },\r\n };\r\n if (value.data.status === \"1\") {\r\n // Notificationdata.email = businessData.email;\r\n // Notificationdata.trackingId = value.data.data.unique_id;\r\n // Notificationdata.message =\r\n // value.data.data.otp +\r\n // \" is Your OTP for Mobile no verification to activate your account.\";\r\n // // let isValidEmail = this.validateEmail(data[\"emailphone\"]);\r\n\r\n // axios\r\n // .post(emailNotificationURL, Notificationdata, options)\r\n // .then((response) => {\r\n // console.log(response);\r\n // // data.loading = false;\r\n // this.props.setUserData(value.data.data.user);\r\n // this.props.history.push(\"/verify/\" + value.data.data.unique_id);\r\n // })\r\n // .catch((error) => {\r\n // if (e.response) {\r\n // this.setState({ error: error.response.data.errors });\r\n // window.setTimeout(() => {\r\n // this.setState({\r\n // error: \"\",\r\n // });\r\n // }, 5000);\r\n // }\r\n // });\r\n // this.props.setUserData(value.data.data.user);\r\n // this.props.history.push(\"/updateprofile\");\r\n this.props.setUserData(value.data.data.user);\r\n this.props.history.push(\"/verify\");\r\n }\r\n if (value.data.status === \"0\") {\r\n data.phone_number = data.phone_code.concat(data.phone_number);\r\n this.setState({ error: value.data.message,businessData: data});\r\n }\r\n }); // dispatch(\r\n // addUserDeails(result.data)\r\n // )\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n\r\n // dispatch(\r\n // addError(e.message)\r\n // )\r\n }\r\n }\r\n }\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.businessData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ businessData: data,errors });\r\n };\r\n render() {\r\n const { businessData, errors, error, loading } = this.state;\r\n let category_array = this.props.appdata.length\r\n ? this.props.appdata[0].category\r\n : [];\r\n let category = [];\r\n\r\n category_array.forEach((element, index) => {\r\n category.push({ value: element.id, label: element.category_name });\r\n });\r\n category_array = category;\r\n return (\r\n
\r\n {error ? : null}\r\n
\r\n
\r\n \r\n
\r\n {/*
\r\n \r\n \r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n
\r\n
\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n {/*
*/}\r\n\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n {/* */}\r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n {/*
\r\n\r\n
\r\n \r\n \r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n {/*
\r\n\r\n
\r\n \r\n \r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/* \r\n */}\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n

By clicking Sign Up, you agree to our Terms, Privacy Policy.

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\n// export default BusinessSignup;\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setUserData: (user) => dispatch({ type: \"SET_USERDATA\", payload: user }),\r\n };\r\n};\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(BusinessSignup)\r\n);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport $ from 'jquery';\r\n/* Import Components */\r\nimport GenderField from \"../UI/GenderField\";\r\nimport InputField from \"../UI/InputField\";\r\n// import Select from '../UI/Select';\r\nimport Button from \"../UI/Button\";\r\nimport Label from \"../UI/Label\";\r\nimport PhoneInput, { isPossiblePhoneNumber,parsePhoneNumber } from \"react-phone-number-input\";\r\n\r\nimport SpanField from \"../UI/SpanField\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport axios from \"axios\";\r\n\r\nimport {\r\n RegisterUrl,\r\n textNotificationURL,\r\n emailNotificationURL,\r\n} from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport ErrorAlert from \"../UI/ErrorAlert\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport CheckboxField from \"../UI/CheckboxField\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport * as moment from \"moment\";\r\nconst agreeOptions = [\r\n {\r\n key: 1,\r\n value: \"Receive relevant offers and promotional communication from Nucleo\",\r\n },\r\n { key: 2, value: \"By signing up, I agree to our terms and conditions and privacy policies\" },\r\n];\r\n\r\nclass ConsumerSignup extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n consumerData: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n email: \"\",\r\n password: \"\",\r\n phone_number: \"\",\r\n phone_code: \"\",\r\n gender: \"\",\r\n date_of_birth: \"\",\r\n user_type: \"doctor\",\r\n user_type_id: \"1\",\r\n agreedOption: [1],\r\n },\r\n errors: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n email: \"\",\r\n password: \"\",\r\n phone_number: \"\",\r\n phone_code: \"\",\r\n gender: \"\",\r\n date_of_birth: \"\",\r\n agreeTC: \"\",\r\n },\r\n error: \"\",\r\n genderoptions: [\"Male\", \"Female\"],\r\n loading: false,\r\n };\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n\r\n this.handleInput = this.handleInput.bind(this);\r\n this.handleCheck = this.handleCheck.bind(this);\r\n }\r\n componentDidMount() {\r\n // fetch('./fake_db.json')\r\n // .then(res => res.json())\r\n // .then(data => {\r\n // this.setState({\r\n // first_name: data.first_name,\r\n // });\r\n // });\r\n }\r\n\r\n handlepassword = (e) => {\r\n\r\n $(\".doctortoggle-password\").toggleClass(\"fa-eye fa-eye-slash\");\r\n \r\n let input = $('#consumerpassword');\r\n if (input.attr(\"type\") == \"password\") {\r\n input.attr(\"type\", \"text\");\r\n } else {\r\n input.attr(\"type\", \"password\");\r\n }\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.consumerData;\r\n let errors = this.state.errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"\";\r\n data[name] = value1;\r\n }\r\n this.setState({ consumerData: data, errors: errors });\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.consumerData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors;\r\n if (name === \"first_name\") {\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"last_name\") {\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"email\") {\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"password\") {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n }\r\n\r\n this.setState({ consumerData: data,errors:errors });\r\n };\r\n handleDOBChange = (date) => {\r\n let consumerData = this.state.consumerData;\r\n let errors = this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n consumerData.date_of_birth = offsetDate;\r\n errors.date_of_birth = \"\";\r\n this.setState({ consumerData: consumerData,errors });\r\n };\r\n\r\n handleCheck = (e) => {\r\n const newSelection = e.target.value;\r\n let data = this.state.consumerData;\r\n\r\n if (data.agreedOption.includes(parseInt(newSelection, 10))) {\r\n data.agreedOption.splice(\r\n data.agreedOption.indexOf(parseInt(newSelection, 10)),\r\n 1\r\n );\r\n } else {\r\n data.agreedOption.push(parseInt(newSelection, 10));\r\n }\r\n\r\n let errors = this.state.errors;\r\n if(data.agreedOption.length > 1){\r\n errors.agreeTC = \"\";\r\n }\r\n this.setState({ consumerData: data,errors });\r\n };\r\n\r\n handleFormSubmit(e) {\r\n e.preventDefault();\r\n\r\n let { consumerData, errors } = this.state;\r\n\r\n errors = Validation(consumerData, errors);\r\n\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n console.log(\"form is valid\");\r\n this.setState({ loading: true });\r\n try {\r\n let data = this.state.consumerData;\r\n data.phone_code = \"+\" + parsePhoneNumber(data.phone_number).countryCallingCode;\r\n data.phone_number = parsePhoneNumber(data.phone_number).nationalNumber;\r\n data.date_of_birth=data.date_of_birth;\r\n // data.date_of_birth=moment(data.date_of_birth).format('DD-MM-YYYY').toString();\r\n// console.log(data); return false;\r\n const result = axios.post(RegisterUrl, data, CONFIG);\r\n const p = Promise.resolve(result);\r\n this.setState({ loading: false });\r\n\r\n let resultdata = p.then((value) => {\r\n if (value.data.status === \"1\") {\r\n // let Notificationdata = {};\r\n // const options = {\r\n // headers: {\r\n // Accept: \"*/*\",\r\n // },\r\n // };\r\n // console.log(value);\r\n // if (consumerData.phone_number !== \"\") {\r\n // Notificationdata.phoneNumber = consumerData.phone_number;\r\n // Notificationdata.trackingId = value.data.data.unique_id;\r\n // Notificationdata.message =\r\n // value.data.data.otp +\r\n // \" is Your OTP for Mobile no verification to activate your account.\";\r\n // // let isValidEmail = this.validateEmail(data[\"emailphone\"]);\r\n\r\n // axios\r\n // .post(textNotificationURL, Notificationdata, options)\r\n // .then((response) => {\r\n // console.log(response);\r\n // // data.loading = false;\r\n // this.props.setUserData(value.data.data.user);\r\n // this.props.history.push(\r\n // \"/verify/\" + value.data.data.unique_id\r\n // );\r\n // })\r\n // .catch((error) => {\r\n // if (e.response) {\r\n // this.setState({ error: error.response.data.errors });\r\n // window.setTimeout(() => {\r\n // this.setState({\r\n // error: \"\",\r\n // });\r\n // }, 5000);\r\n // }\r\n // });\r\n // } else {\r\n // Notificationdata.email = consumerData.email;\r\n // Notificationdata.trackingId = value.data.data.unique_id;\r\n // Notificationdata.message =\r\n // value.data.data.otp +\r\n // \" is Your OTP for Mobile no verification to activate your account.\";\r\n // // let isValidEmail = this.validateEmail(data[\"emailphone\"]);\r\n\r\n // axios\r\n // .post(emailNotificationURL, Notificationdata, options)\r\n // .then((response) => {\r\n // console.log(response);\r\n // // data.loading = false;\r\n // this.props.setUserData(value.data.data.user);\r\n // this.props.history.push(\r\n // \"/verify/\" + value.data.data.unique_id\r\n // );\r\n // })\r\n // .catch((error) => {\r\n // if (e.response) {\r\n // this.setState({ error: error.response.data.errors });\r\n // window.setTimeout(() => {\r\n // this.setState({\r\n // error: \"\",\r\n // });\r\n // }, 5000);\r\n // }\r\n // });\r\n // }\r\n\r\n this.props.setUserData(value.data.data.user);\r\n\r\n this.props.history.push(\"/verify\");\r\n }\r\n if (value.data.status === \"0\") {\r\n data.phone_number = data.phone_code.concat(data.phone_number)\r\n\r\n this.setState({ error: value.data.message,consumerData:data });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n });\r\n // dispatch(\r\n // addUserDeails(result.data)\r\n // )\r\n } catch (e) {\r\n // dispatch(\r\n // addError(e.message)\r\n // )\r\n }\r\n }\r\n }\r\n\r\n handlePhoneInput = (event) => {\r\n let consumerData = this.state.consumerData;\r\n consumerData.phone_number = event;\r\n let errors = this.state.errors;\r\n errors.phone_number = \"\";\r\n this.setState({ consumerData,errors });\r\n };\r\n render() {\r\n const { consumerData, genderoptions, errors, error, loading } = this.state;\r\n\r\n return (\r\n
\r\n {error ? : null}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n
\r\n
\r\n
\r\n {/*
*/}\r\n
\r\n \r\n\r\n {/* */}\r\n
\r\n \r\n
\r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

By clicking Sign up, you agree to our Terms, Privacy Policy.

\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\nfunction mapStateToProps(state) {\r\n return {};\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setUserData: (user) => dispatch({ type: \"SET_USERDATA\", payload: user }),\r\n };\r\n};\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(ConsumerSignup)\r\n);\r\n\r\n// export default withRouter(ConsumerSignup);\r\n","import React from 'react';\r\n\r\nconst Heading4 = (props) => (\r\n

{props.title}

\r\n);\r\n\r\n\r\nexport default Heading4;","import React, { Component } from \"react\";\r\nimport $ from 'jquery';\r\n/* Import Components */\r\nimport InputField from \"../UI/InputField\";\r\nimport Button from \"../UI/Button\";\r\nimport { CountryDropdown, RegionDropdown } from \"react-country-region-selector\";\r\nimport Label from \"../UI/Label\";\r\nimport PhoneInput, {\r\n parsePhoneNumber,\r\n isValidPhoneNumber,\r\n isPossiblePhoneNumber,\r\n} from \"react-phone-number-input\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport SpanField from \"../UI/SpanField\";\r\nimport Select from \"react-select\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n RegisterUrl,\r\n textNotificationURL,\r\n emailNotificationURL,\r\n} from \"../../config/url.json\";\r\nimport axios from \"axios\";\r\nimport ErrorAlert from \"../UI/ErrorAlert\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport CheckboxField from \"../UI/CheckboxField\";\r\n\r\nconst google = window.google;\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n };\r\n}\r\n\r\nconst agreeOptions = [\r\n {\r\n key: 1,\r\n value: \"Receive relevant offers and promotional communication from Nucleo\",\r\n },\r\n { key: 2, value: \"By signing up, I agree to our terms and conditions and privacy policies\" },\r\n];\r\n\r\nclass PharmacySignup extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n pharmacyData: {\r\n pharmacy_name: \"\",\r\n email: \"\",\r\n password: \"\",\r\n pharm_address1: \"\",\r\n pharm_address2: \"\",\r\n phone_number: \"\",\r\n phone_code: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n pharmacy_location : \"\",\r\n category: \"\",\r\n category_array: \"\",\r\n user_type: \"pharmacy\",\r\n user_type_id: \"1\",\r\n latitude: \"\",\r\n longitude: \"\",\r\n google_loc_id: \"\",\r\n agreedOption: [1],\r\n //phone_number:\"\"\r\n },\r\n errors: {\r\n pharmacy_name: \"\",\r\n email: \"\",\r\n password: \"\",\r\n pharm_address1: \"\",\r\n pharm_address2: \"\",\r\n phone_number: \"\",\r\n phone_code: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n category: \"\",\r\n agreeTC: \"\",\r\n },\r\n error: \"\",\r\n loading: false,\r\n google_address: false,\r\n };\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n this.handlePharmacyPlaceSelect = this.handlePharmacyPlaceSelect.bind(this);\r\n this.autocomplete_pharmacy = null;\r\n this.handleInput = this.handleInput.bind(this);\r\n this.handleCheck = this.handleCheck.bind(this);\r\n }\r\n\r\n handlepassword = (e) => {\r\n\r\n $(\".pharmacytoggle-password\").toggleClass(\"fa-eye fa-eye-slash\");\r\n \r\n let input = $('#pharmacypassword');\r\n if (input.attr(\"type\") == \"password\") {\r\n input.attr(\"type\", \"text\");\r\n } else {\r\n input.attr(\"type\", \"password\");\r\n }\r\n }\r\n\r\n handlePharmacyPlaceSelect() {\r\n let place = this.autocomplete_pharmacy.getPlace();\r\n\r\n console.log(place);\r\n\r\n let { pharmacyData,errors } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n var lat = place.geometry.location.lat();\r\n // get lng\r\n var lng = place.geometry.location.lng();\r\n pharmacyData.latitude = lat.toString();\r\n pharmacyData.longitude = lng.toString();\r\n pharmacyData.google_loc_id = place.url;\r\n pharmacyData.pharmacy_location = place.formatted_address;\r\n // console.log(place.name);\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n // var valShort = place.address_components[i].short_name;\r\n // console.log(val);\r\n if (addressType === \"administrative_area_level_1\"){\r\n pharmacyData.state = val;\r\n errors.state = \"\"\r\n }\r\n \r\n if (addressType === \"locality\"){\r\n pharmacyData.city = val;\r\n errors.city = \"\"\r\n } \r\n if (addressType === \"country\"){\r\n pharmacyData.country = val;\r\n errors.country = \"\"\r\n } \r\n // if (addressType === \"street_number\") {\r\n\r\n pharmacyData.pharm_address1 = place.name;\r\n // }\r\n if (addressType === \"sublocality_level_1\")\r\n { \r\n pharmacyData.pharm_address2 = val;\r\n errors.pharm_address2 = \"\"\r\n }\r\n if (addressType === \"postal_code\")\r\n { \r\n pharmacyData.zip_code = val;\r\n errors.zip_code = \"\"\r\n }\r\n }\r\n }\r\n\r\n // let ClientData = this.state;\r\n this.setState({\r\n pharmacyData,\r\n errors,\r\n google_address: true,\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.autocomplete_pharmacy = new google.maps.places.Autocomplete(\r\n document.getElementById(\"pharm_address1\"),\r\n {}\r\n );\r\n\r\n this.autocomplete_pharmacy.addListener(\"place_changed\", this.handlePharmacyPlaceSelect);\r\n }\r\n\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"\";\r\n data[name] = value1;\r\n }\r\n this.setState({ pharmacyData: data, errors: errors });\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (name === \"pharmacy_name\") {\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"email\") {\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"password\") {\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"address1\") {\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"address2\") {\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"city\"){\r\n this.validateMaxLength(name, value, max);\r\n } else if (name === \"zip_code\") {\r\n this.validateMaxLength(name, value, max); \r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n\r\n this.setState({ pharmacyData: data, errors: errors });\r\n };\r\n\r\n handleCheck = (e) => {\r\n const newSelection = e.target.value;\r\n let data = this.state.pharmacyData;\r\n\r\n if (data.agreedOption.includes(parseInt(newSelection, 10))) {\r\n data.agreedOption.splice(\r\n data.agreedOption.indexOf(parseInt(newSelection, 10)),\r\n 1\r\n );\r\n } else {\r\n data.agreedOption.push(parseInt(newSelection, 10));\r\n }\r\n let errors = this.state.errors;\r\n if(data.agreedOption.length > 1){\r\n errors.agreeTC = \"\";\r\n }\r\n this.setState({ pharmacyData: data,errors });\r\n };\r\n\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n pharmacyData.phone_number = event;\r\n let errors = this.state.errors;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData,errors });\r\n };\r\n /* for country detail change */\r\n selectCountry(val) {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors\r\n data.country = val;\r\n errors.country = \"\"\r\n this.setState({ pharmacyData: data,errors });\r\n }\r\n /* for state detail change */\r\n\r\n selectState(val) {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors\r\n data.state = val;\r\n errors.state = \"\"\r\n this.setState({ pharmacyData: data,errors });\r\n }\r\n\r\n handleFormSubmit(e) {\r\n e.preventDefault();\r\n\r\n let { pharmacyData, errors, google_address } = this.state;\r\n console.log(pharmacyData);\r\n errors = Validation(pharmacyData, errors);\r\n // console.log(errors);\r\n if (!google_address && pharmacyData.address1 !== \"\") {\r\n errors.address1 = \"Please choose address from autocomplete\";\r\n } \r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n pharmacyData.category = pharmacyData.category_array.value;\r\n\r\n console.log(\"form is valid\");\r\n\r\n try {\r\n let data = this.state.pharmacyData;\r\n\r\n\r\n data.phone_code = \"+\" + parsePhoneNumber(data.phone_number).countryCallingCode;\r\n data.phone_number = parsePhoneNumber(data.phone_number).nationalNumber;\r\n\r\n const result = axios.post(RegisterUrl, data, CONFIG);\r\n const p = Promise.resolve(result);\r\n this.setState({ loading: false });\r\n\r\n let resultdata = p.then((value) => {\r\n // console.log(value.data.status);\r\n // console.log(value.data.data);\r\n let Notificationdata = {};\r\n const options = {\r\n headers: {\r\n Accept: \"*/*\",\r\n },\r\n };\r\n if (value.data.status === \"1\") {\r\n // Notificationdata.email = businessData.email;\r\n // Notificationdata.trackingId = value.data.data.unique_id;\r\n // Notificationdata.message =\r\n // value.data.data.otp +\r\n // \" is Your OTP for Mobile no verification to activate your account.\";\r\n // // let isValidEmail = this.validateEmail(data[\"emailphone\"]);\r\n\r\n // axios\r\n // .post(emailNotificationURL, Notificationdata, options)\r\n // .then((response) => {\r\n // console.log(response);\r\n // // data.loading = false;\r\n // this.props.setUserData(value.data.data.user);\r\n // this.props.history.push(\"/verify/\" + value.data.data.unique_id);\r\n // })\r\n // .catch((error) => {\r\n // if (e.response) {\r\n // this.setState({ error: error.response.data.errors });\r\n // window.setTimeout(() => {\r\n // this.setState({\r\n // error: \"\",\r\n // });\r\n // }, 5000);\r\n // }\r\n // });\r\n // this.props.setUserData(value.data.data.user);\r\n // this.props.history.push(\"/updateprofile\");\r\n this.props.setUserData(value.data.data.user);\r\n this.props.history.push(\"/verify\");\r\n }\r\n if (value.data.status === \"0\") {\r\n data.phone_number = data.phone_code.concat(data.phone_number);\r\n this.setState({ error: value.data.message,pharmacyData: data});\r\n }\r\n }); // dispatch(\r\n // addUserDeails(result.data)\r\n // )\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n\r\n // dispatch(\r\n // addError(e.message)\r\n // )\r\n }\r\n }\r\n }\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ pharmacyData: data,errors });\r\n };\r\n render() {\r\n const { pharmacyData, errors, error, loading } = this.state;\r\n let category_array = this.props.appdata.length\r\n ? this.props.appdata[0].category\r\n : [];\r\n let category = [];\r\n\r\n category_array.forEach((element, index) => {\r\n category.push({ value: element.id, label: element.category_name });\r\n });\r\n category_array = category;\r\n return (\r\n
\r\n {error ? : null}\r\n
\r\n
\r\n \r\n
\r\n {/*
\r\n \r\n \r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n
\r\n
\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n {/*
*/}\r\n\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n \r\n
\r\n \r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n \r\n
\r\n {/*
\r\n \r\n \r\n {/*
*/}\r\n {/*
*/}\r\n \r\n
\r\n {/*
\r\n \r\n \r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/* \r\n */}\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n

By clicking Sign up, you agree to our Terms, Privacy Policy.

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\n// export default BusinessSignup;\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setUserData: (user) => dispatch({ type: \"SET_USERDATA\", payload: user }),\r\n };\r\n};\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(PharmacySignup)\r\n);\r\n","import React, { Component } from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\n\r\n\r\n\r\n// import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n// import { faArrowRight, faBars, faChevronDown, faXmark, faPlus, faMinus } from '@fortawesome/free-solid-svg-icons';\r\n\r\nclass FooterWeb extends Component {\r\n render() {\r\n return (\r\n \r\n )}};\r\n export default FooterWeb;\r\n ","import React, { Component } from \"react\";\r\n\r\nimport LoginSection from \"../login/login\";\r\nimport LogoSection from \"../../components/UI/LogoSection\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\nimport ClientSignup from \"../../components/container/ClientSignup\";\r\nimport BusinessSignup from \"../../components/container/BusinessSignup\";\r\nimport ConsumerSignup from \"../../components/container/ConsumerSignup\";\r\nimport Heading4 from \"../../components/UI/Heading4\";\r\nimport queryString from \"query-string\";\r\nimport Headerweb from \"../Headerweb\";\r\nimport { connect } from \"react-redux\";\r\nimport PharmacySignup from \"../../components/container/PharmacySignup\";\r\nimport FooterWeb from \"../Footerweb\";\r\n\r\nfunction mapStateToProps(state) {\r\n return {};\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n setReferralData: (referral_code) =>\r\n dispatch({ type: \"SET_REFERALDATA\", payload: referral_code }),\r\n };\r\n}\r\n\r\nclass Register extends Component {\r\n constructor(props) {\r\n super(props);\r\n console.log(props.location.search.referral_code);\r\n this.state = {\r\n user_type: \"client\",\r\n };\r\n }\r\n componentDidMount() {\r\n const values = queryString.parse(this.props.location.search);\r\nlet ref_value = values.referral_code != undefined ? values.referral_code : this.props.match.params.referral_code != undefined ? this.props.match.params.referral_code:\"\";\r\n// console.log(values);\r\n // console.log(this.props.match.params.referral_code);\r\n console.log(ref_value);\r\n// return false;\r\n this.props.setReferralData(ref_value);\r\n }\r\n changeUsertype = (user_type, e) => {\r\n console.log(e);\r\n console.log(e.target);\r\n console.log(user_type);\r\n console.log(user_type.target);\r\n document.getElementsByName(\"first_name\")[0].value = \"\";\r\n // var value = this.refs.clientform.getValue();\r\n // console.log(value);\r\n\r\n console.log(this.props);\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\r\n\r\n \r\n
\r\n
\r\n
*/}\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n {/*
\r\n \"Description\" \r\n
*/}\r\n \r\n
\r\n
\r\n \r\n {/*
*/}\r\n \r\n {/*
\r\n \r\n \"LOGO\"\r\n \r\n \r\n
*/}\r\n {/*
    */}\r\n {/*
  • \r\n Login\r\n
  • */}\r\n {/*
  • \r\n Register\r\n
  • \r\n\r\n
\r\n
*/}\r\n \r\n {/*
*/}\r\n {/*
\r\n \r\n
*/}\r\n {/*
*/}\r\n
\r\n
\r\n {/* */}\r\n
\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n Client\r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n Doctor\r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n Business\r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n Pharmacy\r\n \r\n \r\n
  • \r\n {/*
  • \r\n \r\n \r\n \r\n \r\n \r\n Lab\r\n \r\n \r\n
  • */}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/* \r\n
\r\n \r\n
\r\n \r\n
*/}\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {/* */}\r\n {/*
\r\n
\r\n
\r\n
\r\n
\r\n © 2020 Nucleo software solutions, All rights reserved\r\n
\r\n
\r\n
\r\n
\r\n
*/}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Register);\r\n\r\n","import React, { Component } from \"react\";\r\n// import Modal from '../components/container/GenericModal';\r\n// import { addProductInAPI } from \"../actions/products\";\r\n// import ProductList from \"../components/container/ProductList\";\r\n// import AppData from \"../../components/container/AppData\";\r\n// import { doLogin } from \"../../actions/login\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport LogoSection from \"../../components/UI/LogoSection\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport ErrorAlert from \"../../components/UI/ErrorAlert\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport OtpTimer from 'otp-timer'\r\n\r\nimport {\r\n verifyOTPClient,\r\n resendOTPClient,\r\n textNotificationURL,\r\n emailNotificationURL,\r\n sendotp,\r\n sendsms,\r\n sendemail\r\n} from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n userdata: state.AuthReducer,\r\n };\r\n}\r\nclass VerificationPage extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n resendsuccess: true,\r\n data: {\r\n otp: \"\",\r\n unique_id: \"\",\r\n type: \"verification\",\r\n otp_data: \"\",\r\n },\r\n errors: {\r\n otp: \"\",\r\n },\r\n error: \"\",\r\n };\r\n }\r\n componentDidMount() {\r\n let data = this.state.data;\r\n console.log(this.props.userdata);\r\n let requestData = {\r\n id: this.props.userdata.user.id,\r\n };\r\n\r\n axios\r\n .post(sendotp, requestData, CONFIG)\r\n .then((response) => {\r\n console.log(response);\r\n data.unique_id = response.data.unique_id;\r\n data.otp_data = response.data.otp;\r\n console.log(this.props.userdata);\r\n console.log(this.props.userdata.user.phone_code);\r\n console.log(this.props.userdata.user.phone_number);\r\n let user = this.props.userdata.user;\r\n let reqdata = {\r\n \"to\" : user.email,\r\n \"subject\" : \"OTP VERIFICATION\",\r\n \"mailHeader\" : \"OTP VERIFICATION\",\r\n \"message\": \"Hello \"+user.first_name+\",

Thank you for choosing KlinicQ.Use the following OTP to complete your Sign Up procedures and verify your account on KlinicQ.

\" +response.data.otp+ \"

OTP is valid for next 2 minutes.

Note:Never share this OTP with anyone for security reasons.

Regards,

Team KlinicQ.

\"\r\n }\r\n let notificationdata = {\r\n \"message_code\": \"SEND_OTP\",\r\n \"language_code\": \"en\",\r\n \"data\": {\r\n \"user_name\": user.first_name,\r\n \"otp\": response.data.otp\r\n\r\n },\r\n \"receiver\": {\r\n \"phoneNumber\": user.phone_code.concat(user.phone_number)\r\n }\r\n };\r\n\r\n // notificationdata = {\r\n // \"message_code\": \"WLCME_MSG\",\r\n // \"language_code\": \"en\",\r\n // \"data\": {\r\n // \"business_name\": \"Meenakshi\",\r\n // \"customer_name\": \"Customer\"\r\n // },\r\n // \"receiver\": {\r\n // \"phoneNumber\": \"+919944053206\"\r\n // }\r\n // }\r\n console.log(notificationdata);\r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data; \r\n console.log(res);\r\n axios\r\n .post(sendsms, notificationdata)\r\n .then((response) => { console.log(response) }).catch((err) => {\r\n console.log(err);\r\n })\r\n this.setState({ data:data });\r\n window.setTimeout(() => {\r\n this.setState({\r\n resendsuccess: false,\r\n });\r\n }, 5000);\r\n\r\n })\r\n .catch((e) => { console.log(e) });\r\n })\r\n }\r\n resendOtp = (e) => {\r\n // e.preventDefault();\r\n this.clearForm();\r\n // errors = Validation(data, errors);\r\n\r\n // this.setState({ errors: errors });\r\n let email_phonenumber = \"\";\r\n let user = this.props.userdata.user;\r\n let url = \"\";\r\n let Notificationdata = {};\r\n if (this.props.userdata.user.phone_number !== null) {\r\n email_phonenumber = this.props.userdata.user.phone_number;\r\n url = textNotificationURL;\r\n Notificationdata.phoneNumber = email_phonenumber;\r\n } else if (this.props.userdata.user.email !== null) {\r\n email_phonenumber = this.props.userdata.user.email;\r\n url = emailNotificationURL;\r\n Notificationdata.email = email_phonenumber;\r\n }\r\n\r\n if (email_phonenumber !== \"\") {\r\n try {\r\n let data = {};\r\n data.email_phonenumber = email_phonenumber;\r\n const result = axios.post(resendOTPClient, data, CONFIG);\r\n\r\n const p = Promise.resolve(result);\r\n\r\n p.then((value) => {\r\n if (value.data.status === \"1\") {\r\n this.props.setUserData(value.data.user);\r\n this.setState({ resendotpvalue: value.data.otp });\r\n let data1 = this.state.data;\r\n\r\n data1.unique_id = value.data.unique_id;\r\n data1.otp_data=value.data.otp;\r\n //console.log(data1);\r\n\r\n // // let Notificationdata = {};\r\n // Notificationdata.trackingId = value.data.unique_id;\r\n // Notificationdata.message =\r\n // value.data.otp +\r\n // \" is Your OTP for Mobile no verification to activate your account.\";\r\n // const options = {\r\n // headers: {\r\n // Accept: \"*/*\",\r\n // },\r\n // };\r\n let reqdata = {\r\n \"to\" : user.email,\r\n \"subject\" : \"OTP VERIFICATION\",\r\n \"mailHeader\" : \"OTP VERIFICATION\",\r\n \"message\": \"Hi \"+user.first_name+\", Your OTP is \"+value.data.otp+\". OTP is valid for next 2 minutes.\"\r\n }\r\n let notificationdata = {\r\n \"message_code\": \"SEND_OTP\",\r\n \"language_code\": \"en\",\r\n \"data\": {\r\n \"user_name\": user.first_name,\r\n \"otp\": value.data.otp\r\n\r\n },\r\n \"receiver\": {\r\n \"phoneNumber\": user.phone_code.concat(user.phone_number)\r\n }\r\n };\r\n\r\n // notificationdata = {\r\n // \"message_code\": \"WLCME_MSG\",\r\n // \"language_code\": \"en\",\r\n // \"data\": {\r\n // \"business_name\": \"Meenakshi\",\r\n // \"customer_name\": \"Customer\"\r\n // },\r\n // \"receiver\": {\r\n // \"phoneNumber\": \"+919944053206\"\r\n // }\r\n // }\r\n console.log(notificationdata);\r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data; \r\n console.log(res); \r\n axios\r\n .post(sendsms, notificationdata)\r\n .then((response) => {\r\n console.log(response);\r\n this.setState({ data: data1, resendsuccess: true });\r\n }).catch((error) => {\r\n console.log(error);\r\n if (e.response) {\r\n this.setState({ error: error.response.data.errors });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n })\r\n })\r\n\r\n // axios\r\n // .post(url, Notificationdata, options)\r\n // .then((response) => {\r\n // // data.loading = false;\r\n // // this.props.setUserData(value.data.data.user);\r\n // // this.props.history.push(\"/verify/\" + value.data.data.unique_id);\r\n // this.setState({ data: data1, resendsuccess: true });\r\n // this.props.history.push(\"/verify/\" + value.data.unique_id);\r\n // })\r\n // .catch((error) => {\r\n // if (e.response) {\r\n // this.setState({ error: error.response.data.errors });\r\n // window.setTimeout(() => {\r\n // this.setState({\r\n // error: \"\",\r\n // });\r\n // }, 5000);\r\n // }\r\n // });\r\n\r\n window.setTimeout(() => {\r\n this.setState({\r\n resendsuccess: false,\r\n });\r\n }, 5000);\r\n }\r\n if (value.data.status === \"0\") {\r\n this.setState({ error: value.data.message });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n });\r\n // dispatch(\r\n // addUserDeails(result.data)\r\n // )\r\n } catch (e) {\r\n // dispatch(\r\n // addError(e.message)\r\n // )\r\n }\r\n }\r\n };\r\n handleOtp = (e) => {\r\n e.preventDefault();\r\n let { data, errors } = this.state;\r\n console.log(data);\r\n errors = Validation(data, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n try {\r\n if (this.props.userdata.referral_code !== \"\") {\r\n data.referral_code = this.props.userdata.referral_code;\r\n } else {\r\n data.referral_code = \"\";\r\n }\r\n } catch (e) {\r\n // dispatch(\r\n // addError(e.message)\r\n // )\r\n }\r\n data.otp_data=this.state.resendotpvalue;\r\n const result = axios.post(verifyOTPClient, data, CONFIG);\r\n\r\n const p = Promise.resolve(result);\r\n p.then((value) => {\r\n if (value.data.status === \"1\") {\r\n toast.success(\"Your OTP has been successfully verified\",{\r\n className:\"toast-success\"\r\n }); \r\n localStorage.setItem(\"token\", value.data.access_token);\r\n // dispatch\r\n this.props.setLogin(value.data.user);\r\n this.props.setAuthToken(value.data.access_token);\r\n\r\n //this.props.history.push(\"/updateprofile\");\r\n window.location.replace(\"/updateprofile\");\r\n }\r\n if (value.data.status === \"0\") {\r\n this.setState({ error: value.data.message });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n });\r\n \r\n // dispatch(\r\n // addUserDeails(result.data)\r\n // )\r\n \r\n }\r\n };\r\n handleInput = (e) => {\r\n let data = this.state.data;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n this.setState({ data: data });\r\n };\r\n clearForm = () => {\r\n this.setState({\r\n \r\n data: {\r\n otp: \"\",\r\n unique_id: \"\",\r\n type: \"verification\",\r\n otp_data: \"\",\r\n },\r\n errors: {\r\n \r\n otp: \"\",\r\n },\r\n });\r\n };\r\n render() {\r\n const { data, errors, error,resendotpvalue } = this.state;\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

VERIFY ACCOUNT ?

\r\n Home{\" \"}\r\n {\" \"}\r\n \r\n VERIFY ACCOUNT ?\r\n \r\n
\r\n
\r\n
*/}\r\n
\r\n {/*
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
*/}\r\n
\r\n
\r\n
\r\n \r\n \"LOGO\"\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {error ? : null}\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n OTP Verification\r\n

\r\n
\r\n\r\n\r\n
\r\n \r\n\r\n
\r\n {/*
{this.state.data.otp_data}
\r\n
{this.state.resendotpvalue}
*/}\r\n
\r\n

\r\n A One Time Password has been sent to your registered email and mobile number,\r\n please enter below.\r\n\r\n

\r\n\r\n\r\n
\r\n \r\n\r\n\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n\r\n \r\n Verify\r\n \r\n \r\n
\r\n\r\n {/*
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Resend OTP\r\n \r\n
\r\n
\r\n
\r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\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 mapDispatchToProps = (dispatch) => {\r\n return {\r\n setLogin: (user) => dispatch({ type: \"SET_LOGIN\", payload: user }),\r\n setUserData: (user) => dispatch({ type: \"SET_USERDATA\", payload: user }),\r\n setAuthToken: (token) =>\r\n dispatch({ type: \"SET_ACCESS_TOKEN\", payload: token }),\r\n };\r\n};\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(VerificationPage)\r\n);\r\n","import React from 'react';\r\nimport {Link} from \"react-router-dom\";\r\nimport './index.css'\r\nconst Index = () => (\r\n
\r\n
\r\n
\r\n
\r\n

Oops!

\r\n

404 - The Page can't be found

\r\n
\r\n Go TO Homepage\r\n
\r\n
\r\n
\r\n);\r\n\r\nexport default Index;","\r\n\r\n\r\nimport React from 'react';\r\n\r\nfunction FooterAds(props) {\r\n return (\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n );\r\n}\r\n\r\nexport default FooterAds;","import React, { Component } from \"react\";\r\nimport $ from 'jquery';\r\nimport { connect } from \"react-redux\";\r\nimport LogoSection from \"../components/UI/LogoSection\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport FooterAds from \"../components/UI/FooterAds\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport { resetpasswordClient } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Validation from \"../actions/Validation\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {};\r\n}\r\n\r\nconst specialCharacterRegx = /^[A-Za-z0-9 ]+$/;\r\nconst upperCaseRegx = /^[A-Z0-9 ]+$/;\r\nconst lowerCaseRegx = /^[a-z0-9 ]+$/;\r\nconst isNumberRegx = /\\d/;\r\n\r\nclass ForgetPassword extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n password: \"\",\r\n password_confirmation: \"\",\r\n email_phonenumber: \"\",\r\n errors: {},\r\n registered_detail: \"\",\r\n formSuccess: {\r\n status: \"\",\r\n message: \"\"\r\n },\r\n passValidity: {\r\n lowercase: false,\r\n uppercase: false,\r\n specialchar: false,\r\n number: false,\r\n maxlength: false,\r\n }\r\n\r\n };\r\n }\r\n handleInput = (e) => {\r\n e.preventDefault();\r\n const name = e.target.name;\r\n const value = e.target.value;\r\n let errors = this.state.errors\r\n errors[name] = \"\"\r\n this.setState({ [name]: value, errors });\r\n\r\n let passValidity = this.state.passValidity;\r\n if (name === \"password\" || name === \"password_confirmation\") {\r\n if (value === \"\") {\r\n passValidity.maxlength = false;\r\n passValidity.number = false;\r\n passValidity.specialchar = false;\r\n passValidity.uppercase = false;\r\n passValidity.lowercase = false;\r\n } else {\r\n passValidity.maxlength = value.length >= 8 ? true : false;\r\n passValidity.number = isNumberRegx.test(value) ? true : false;\r\n passValidity.specialchar = specialCharacterRegx.test(value) ? false : true;\r\n passValidity.uppercase = upperCaseRegx.test(value) ? false : true;\r\n passValidity.lowercase = lowerCaseRegx.test(value) ? false : true;\r\n this.setState({ passValidity: passValidity });\r\n console.log(passValidity)\r\n }\r\n\r\n }\r\n\r\n };\r\n changePassword = (e) => {\r\n e.preventDefault();\r\n\r\n let errors = this.state.errors;\r\n\r\n const data = {\r\n password: this.state.password,\r\n password_confirmation: this.state.password_confirmation,\r\n email_phonenumber: this.props.location.state.registered_detail,\r\n type: \"changePassword\",\r\n };\r\n\r\n errors = Validation(data, errors);\r\n this.setState({ errors: errors });\r\n\r\n\r\n if (errors.formIsValid) {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios.post(resetpasswordClient, data, CONFIG).then((result) => {\r\n let resultData = result.data;\r\n if (resultData.status === 0) {\r\n this.setState({ error: resultData.message });\r\n } else {\r\n console.log(resultData);\r\n // alert(\"Password has been reset successfully\");\r\n // let formSuccess = {status:\"1\",message:\"Password has been reset successfully.\"}\r\n let errors = {\r\n\r\n }\r\n this.setState({ errors })\r\n setTimeout(\r\n () =>\r\n window.location.href = \"/\",\r\n 2000\r\n );\r\n toast.success(\"“You have successfully reset the password.” Please login! \", {\r\n className: \"toast-success\"\r\n\r\n });\r\n\r\n }\r\n\r\n })\r\n }\r\n\r\n\r\n };\r\n\r\n\r\n cancel = () => {\r\n document.location.href = \"/\";\r\n\r\n }\r\n componentDidMount = () => {\r\n //console.log(this.props.location.state)\r\n if (this.props.location.state === undefined) {\r\n // window.location.href = \"/\";\r\n } else {\r\n this.setState({ registered_detail: this.props.location.state.registered_detail })\r\n }\r\n };\r\n\r\n handlepassword = (e) => {\r\n\r\n $(\".resettoggle-password\").toggleClass(\"fa-eye fa-eye-slash\");\r\n\r\n let input = $('#resetpassword');\r\n if (input.attr(\"type\") == \"password\") {\r\n input.attr(\"type\", \"text\");\r\n } else {\r\n input.attr(\"type\", \"password\");\r\n }\r\n }\r\n handleresetpassword = (e) => {\r\n\r\n $(\".confirmtoggle-password\").toggleClass(\"fa-eye fa-eye-slash\");\r\n\r\n let input = $('#confirmpassword');\r\n if (input.attr(\"type\") == \"password\") {\r\n input.attr(\"type\", \"text\");\r\n } else {\r\n input.attr(\"type\", \"password\");\r\n }\r\n }\r\n render() {\r\n const {\r\n errors, formSuccess\r\n } = this.state;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n {/* Left Side: Image */}\r\n
\r\n {/*
*/}\r\n
\r\n \r\n \"LOGO\"\r\n \r\n
\r\n
\r\n\r\n {/* Right Side: Form Content */}\r\n
\r\n

RESET PASSWORD

\r\n
\r\n \r\n
\r\n {this.state.registered_detail}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n Submit\r\n \r\n {\" \"}\r\n \r\n Cancel\r\n \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n It contains at least one lowercase English character.\r\n
  • \r\n
  • \r\n It contains at least one uppercase English character.\r\n
  • \r\n
  • \r\n It contains at least one special character.\r\n
  • \r\n
  • \r\n Its length is at least 8.\r\n
  • \r\n
  • \r\n It contains at least one digit.\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n // \r\n //
\r\n //
\r\n //
\r\n\r\n //
\r\n // \r\n\r\n\r\n //
\r\n //
\r\n \r\n //
\r\n //
\r\n //
\r\n // \r\n // \"LOGO\"\r\n // \r\n //
\r\n\r\n //
\r\n //

RESET PASSWORD

\r\n //
\r\n // \r\n //
\r\n // {this.state.registered_detail}\r\n //
\r\n //
\r\n //
\r\n // \r\n //
\r\n // \r\n // \r\n // \r\n //
\r\n //
\r\n //
\r\n // \r\n //
\r\n // \r\n // \r\n // \r\n //
\r\n // \r\n // \r\n // Submit\r\n // \r\n // {\" \"}\r\n // \r\n // Cancel\r\n // \r\n\r\n //
\r\n //
\r\n //
\r\n //
    \r\n //
  • \r\n // It contains at least one lowercase English\r\n // character.\r\n //
  • \r\n //
  • \r\n // It contains at least one uppercase English\r\n // character.\r\n //
  • \r\n //
  • It contains at least one special character.
  • \r\n //
  • Its length is at least 8.
  • \r\n //
  • It contains at least one digit
  • \r\n //
\r\n //
\r\n //
\r\n //
\r\n\r\n //
\r\n //
\r\n\r\n //
\r\n // \r\n // \r\n //
\r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(ForgetPassword);\r\n","import React from \"react\";\r\n\r\nfunction ProfileLogo(props) {\r\n return (\r\n
\r\n
\r\n \r\n \"LOGO\"\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ProfileLogo;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst TextArea = (props) => (\r\n\r\n \r\n);\r\n\r\nTextArea.propTypes = {\r\n // title: PropTypes.string.isRequired,\r\n rows: PropTypes.number.isRequired,\r\n name: PropTypes.string.isRequired,\r\n // content: PropTypes.string.isRequired,\r\n resize: PropTypes.bool,\r\n placeholder: PropTypes.string,\r\n maxLength:PropTypes.number,\r\n controlFunc: PropTypes.func.isRequired\r\n};\r\n\r\nexport default TextArea;","import React, { Fragment } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst CheckboxOrRadioGroup = (props) => (\r\n
\r\n {\r\n props.options.map((option) => {\r\n return (\r\n \r\n {props.type === \"checkbox\" ? (\r\n \r\n -1\r\n : 0\r\n }\r\n name={props.name ? props.name : \"\"}\r\n type={props.type}\r\n id={option}\r\n disabled={props.disabled}\r\n />\r\n \r\n
\r\n ) : (\r\n // < div key={option} className=\"custom-control custom-checkbox mb-2 mylft mr-30\" >\r\n // -1}\r\n // type={props.type} id={option} />\r\n // \r\n // \r\n \r\n -1 : \"\"}\r\n type={props.type}\r\n id={option}\r\n disabled={props.disabled}\r\n />\r\n \r\n \r\n )}\r\n \r\n );\r\n })\r\n }\r\n \r\n);\r\n\r\nCheckboxOrRadioGroup.propTypes = {\r\n // title: PropTypes.string.isRequired,\r\n type: PropTypes.oneOf([\"checkbox\", \"radio\"]).isRequired,\r\n setName: PropTypes.string.isRequired,\r\n options: PropTypes.array.isRequired,\r\n selectedOptions: PropTypes.array,\r\n controlFunc: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default CheckboxOrRadioGroup;\r\n","import React, { Fragment } from 'react';\r\nimport { MonthPicker } from 'react-dropdown-date';\r\nimport PropTypes from 'prop-types';\r\n\r\n\r\n\r\nconst MonthPick = (props) => (\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\n\r\nMonthPick.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n selectedOption: PropTypes.string,\r\n controlFunc: PropTypes.func.isRequired,\r\n placeholder: PropTypes.string\r\n};\r\n\r\nexport default MonthPick;\r\n","import React, { Fragment } from \"react\";\r\nimport { YearPicker } from \"react-dropdown-date\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst YearPick = (props) => (\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n);\r\n\r\nYearPick.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n selectedOption: PropTypes.string,\r\n controlFunc: PropTypes.func.isRequired,\r\n placeholder: PropTypes.string,\r\n};\r\n\r\nexport default YearPick;\r\n","import React, { Component } from 'react';\r\nimport { Modal, Button, Row, Col, Form } from 'react-bootstrap';\r\nimport { Camera, FACING_MODES, IMAGE_TYPES } from 'react-html5-camera-photo';\r\nimport 'react-html5-camera-photo/build/css/index.css';\r\n\r\n\r\n\r\nfunction handleCameraError(error) {\r\n console.log('handleCameraError', error);\r\n}\r\n\r\nfunction handleCameraStart(stream) {\r\n console.log('handleCameraStart');\r\n}\r\n\r\nfunction handleCameraStop() {\r\n console.log('handleCameraStop');\r\n}\r\n\r\nexport class ProfilePicModel extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n // Create a reference to the hidden file input element\r\n hiddenProfileImageInput: React.createRef(),\r\n startcamera: false,\r\n }\r\n }\r\n\r\n editImage = event => {\r\n this.setState({ startcamera: false });\r\n this.state.hiddenProfileImageInput.current.click();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n imageSelectHandler = event => {\r\n console.log(event.target.files[0]);\r\n //this.setState({profile_img: event.target.files[0]});\r\n //call api to upload the latest image\r\n this.setState({ profile_img: URL.createObjectURL(event.target.files[0]) });\r\n }\r\n\r\n render() {\r\n const { headerinfo, hiddenProfileImageInput } = this.state;\r\n return (\r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n {this.props.data.openWebCamera ? { this.props.data.takePicture(dataUri); }}\r\n onCameraError={(error) => { handleCameraError(error); }}\r\n idealFacingMode={FACING_MODES.ENVIRONMENT}\r\n idealResolution={{ width: 640, height: 480 }}\r\n imageType={IMAGE_TYPES.JPG}\r\n imageCompression={0.97}\r\n isMaxResolution={true}\r\n isImageMirror={false}\r\n isSilentMode={false}\r\n isDisplayStartCameraError={true}\r\n isFullscreen={false}\r\n sizeFactor={1}\r\n onCameraStart={(stream) => { handleCameraStart(stream); }}\r\n onCameraStop={() => { handleCameraStop(); }}\r\n /> : \"\"}\r\n
\r\n \r\n\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default ProfilePicModel;","export const nationalityArray = [\r\n \"Afghan\",\r\n \"Albanian\",\r\n \"Algerian\",\r\n \"American\",\r\n \"Andorran\",\r\n \"Angolan\",\r\n \"Antiguans\",\r\n \"Argentinean\",\r\n \"Armenian\",\r\n \"Australian\",\r\n \"Austrian\",\r\n \"Azerbaijani\",\r\n \"Bahamian\",\r\n \"Bahraini\",\r\n \"Bangladeshi\",\r\n \"Barbadian\",\r\n \"Barbudans\",\r\n \"Batswana\",\r\n \"Belarusian\",\r\n \"Belgian\",\r\n \"Belizean\",\r\n \"Beninese\",\r\n \"Bhutanese\",\r\n \"Bolivian\",\r\n \"Bosnian\",\r\n \"Brazilian\",\r\n \"British\",\r\n \"Bruneian\",\r\n \"Bulgarian\",\r\n \"Burkinabe\",\r\n \"Burmese\",\r\n \"Burundian\",\r\n \"Cambodian\",\r\n \"Cameroonian\",\r\n \"Canadian\",\r\n \"Cape Verdean\",\r\n \"Central African\",\r\n \"Chadian\",\r\n \"Chilean\",\r\n \"Chinese\",\r\n \"Colombian\",\r\n \"Comoran\",\r\n \"Congolese\",\r\n \"Costa Rican\",\r\n \"Croatian\",\r\n \"Cuban\",\r\n \"Cypriot\",\r\n \"Czech\",\r\n \"Danish\",\r\n \"Djibouti\",\r\n \"Dominican\",\r\n \"Dutch\",\r\n \"East Timorese\",\r\n \"Ecuadorean\",\r\n \"Egyptian\",\r\n \"Emirian\",\r\n \"Equatorial Guinean\",\r\n \"Eritrean\",\r\n \"Estonian\",\r\n \"Ethiopian\",\r\n \"Fijian\",\r\n \"Filipino\",\r\n \"Finnish\",\r\n \"French\",\r\n \"Gabonese\",\r\n \"Gambian\",\r\n \"Georgian\",\r\n \"German\",\r\n \"Ghanaian\",\r\n \"Greek\",\r\n \"Grenadian\",\r\n \"Guatemalan\",\r\n \"Guinea-Bissauan\",\r\n \"Guinean\",\r\n \"Guyanese\",\r\n \"Haitian\",\r\n \"Herzegovinian\",\r\n \"Honduran\",\r\n \"Hungarian\",\r\n \"I-Kiribati\",\r\n \"Icelander\",\r\n \"Indian\",\r\n \"Indonesian\",\r\n \"Iranian\",\r\n \"Iraqi\",\r\n \"Irish\",\r\n \"Israeli\",\r\n \"Italian\",\r\n \"Ivorian\",\r\n \"Jamaican\",\r\n \"Japanese\",\r\n \"Jordanian\",\r\n \"Kazakhstani\",\r\n \"Kenyan\",\r\n \"Kittian and Nevisian\",\r\n \"Kuwaiti\",\r\n \"Kyrgyz\",\r\n \"Laotian\",\r\n \"Latvian\",\r\n \"Lebanese\",\r\n \"Liberian\",\r\n \"Libyan\",\r\n \"Liechtensteiner\",\r\n \"Lithuanian\",\r\n \"Luxembourger\",\r\n \"Macedonian\",\r\n \"Malagasy\",\r\n \"Malawian\",\r\n \"Malaysian\",\r\n \"Maldivan\",\r\n \"Malian\",\r\n \"Maltese\",\r\n \"Marshallese\",\r\n \"Mauritanian\",\r\n \"Mauritian\",\r\n \"Mexican\",\r\n \"Micronesian\",\r\n \"Moldovan\",\r\n \"Monacan\",\r\n \"Mongolian\",\r\n \"Moroccan\",\r\n \"Mosotho\",\r\n \"Motswana\",\r\n \"Mozambican\",\r\n \"Namibian\",\r\n \"Nauruan\",\r\n \"Nepalese\",\r\n \"New Zealander\",\r\n \"Nicaraguan\",\r\n \"Nigerian\",\r\n \"Nigerien\",\r\n \"North Korean\",\r\n \"Northern Irish\",\r\n \"Norwegian\",\r\n \"Omani\",\r\n \"Pakistani\",\r\n \"Palauan\",\r\n \"Panamanian\",\r\n \"Papua New Guinean\",\r\n \"Paraguayan\",\r\n \"Peruvian\",\r\n \"Polish\",\r\n \"Portuguese\",\r\n \"Qatari\",\r\n \"Romanian\",\r\n \"Russian\",\r\n \"Rwandan\",\r\n \"Saint Lucian\",\r\n \"Salvadoran\",\r\n \"Samoan\",\r\n \"San Marinese\",\r\n \"Sao Tomean\",\r\n \"Saudi\",\r\n \"Scottish\",\r\n \"Senegalese\",\r\n \"Serbian\",\r\n \"Seychellois\",\r\n \"Sierra Leonean\",\r\n \"Singaporean\",\r\n \"Slovakian\",\r\n \"Slovenian\",\r\n \"Solomon Islander\",\r\n \"Somali\",\r\n \"South African\",\r\n \"South Korean\",\r\n \"Spanish\",\r\n \"Sri Lankan\",\r\n \"Sudanese\",\r\n \"Surinamer\",\r\n \"Swazi\",\r\n \"Swedish\",\r\n \"Swiss\",\r\n \"Syrian\",\r\n \"Taiwanese\",\r\n \"Tajik\",\r\n \"Tanzanian\",\r\n \"Thai\",\r\n \"Togolese\",\r\n \"Tongan\",\r\n \"Trinidadian or Tobagonian\",\r\n \"Tunisian\",\r\n \"Turkish\",\r\n \"Tuvaluan\",\r\n \"Ugandan\",\r\n \"Ukrainian\",\r\n \"Uruguayan\",\r\n \"Uzbekistani\",\r\n \"Venezuelan\",\r\n \"Vietnamese\",\r\n \"Welsh\",\r\n \"Yemenite\",\r\n \"Zambian\",\r\n \"Zimbabwean\",\r\n];\r\nexport const blood_group = [\r\n { label: \"A+\", value: \"A+\" },\r\n { label: \"A-\", value: \"A-\" },\r\n { label: \"B+\", value: \"B+\" },\r\n { label: \"B-\", value: \"B-\" },\r\n { label: \"AB+\", value: \"AB+\" },\r\n { label: \"AB-\", value: \"AB-\" },\r\n { label: \"O+\", value: \"O+\" },\r\n { label: \"O-\", value: \"O-\" },\r\n];\r\nexport const gender = [\r\n { label: \"Male\", value: \"Male\" },\r\n { label: \"Female\", value: \"Female\" },\r\n { label: \"Other\", value: \"Other\" },\r\n];\r\nexport const movement_type = [\r\n { label: \"Receipt\", value: \"1\" },\r\n { label: \"Consumption\", value: \"2\" },\r\n { label: \"Sale\", value: \"3\" },\r\n { label: \"Scrap\", value: \"4\" },\r\n { label: \"Transfer\", value: \"5\" },\r\n { label: \"Return\", value: \"6\" },\r\n];\r\nexport const stock_type = [\r\n { label: \"Ready to use\", value: \"1\" },\r\n { label: \"Blocked\", value: \"2\" },\r\n { label: \"Quality\", value: \"3\" },\r\n \r\n];\r\n\r\nexport const language = [\r\n { label: \"English\", value: \"English\" },\r\n { label: \"French\", value: \"French\" },\r\n { label: \"Spanish\", value: \"Spanish\" },\r\n { label: \"Arabic\", value: \"Arabic\" },\r\n { label: \"Mandarin\", value: \"Mandarin\" },\r\n { label: \"Russian\", value: \"Russian\" },\r\n { label: \"Portuguese\", value: \"Portuguese\" },\r\n { label: \"German\", value: \"German\" },\r\n { label: \"Japanese\", value: \"Japanese\" },\r\n { label: \"Hindi\", value: \"Hindi\" },\r\n { label: \"Malay\", value: \"Malay\" },\r\n { label: \"Persian\", value: \"Persian\" },\r\n { label: \"Swahili\", value: \"Swahili\" },\r\n { label: \"Tamil\", value: \"Tamil\" },\r\n { label: \"Italian\", value: \"Italian\" },\r\n { label: \"Dutch\", value: \"Dutch\" },\r\n { label: \"Bengali\", value: \"Bengali\" },\r\n { label: \"Turkish\", value: \"Turkish\" },\r\n { label: \"Vietnamese\", value: \"Vietnamese\" },\r\n { label: \"Polish\", value: \"Polish\" },\r\n { label: \"Javanese\", value: \"Javanese\" },\r\n { label: \"Punjabi\", value: \"Punjabi\" },\r\n { label: \"Thai\", value: \"Thai\" },\r\n {\r\n label: \"Korean\",\r\n value: \"Korean\",\r\n },\r\n];\r\nexport const relationship = [\r\n { label: \"Self\", value: \"Self\" },\r\n { label: \"Father\", value: \"Father\" },\r\n { label: \"Mother\", value: \"Mother\" },\r\n { label: \"Son\", value: \"Son\" },\r\n { label: \"Daughter\", value: \"Daughter\" },\r\n { label: \"Husband\", value: \"Husband\" },\r\n { label: \"Wife\", value: \"Wife\" },\r\n { label: \"Brother\", value: \"Brother\" },\r\n { label: \"Sister\", value: \"Sister\" },\r\n { label: \"Grandfather\", value: \"Grandfather\" },\r\n { label: \"Grandmother\", value: \"Grandmother\" },\r\n { label: \"Grandson\", value: \"Grandson\" },\r\n { label: \"Granddaughter\", value: \"Granddaughter\" },\r\n];\r\n\r\n/* export const country = [\r\n {AD:\"EUR\",AE:\"AED\",AF:\"AFN\",AG:\"XCD\",AI:\"XCD\",AL:\"ALL\",AM:\"AMD\",AO:\"AOA\",AR:\"ARS\",AS:\"USD\",AT:\"EUR\",AU:\"AUD\",AW:\"AWG\",AX:\"EUR\",AZ:\"AZN\",BA:\"BAM\",BB:\"BBD\",BD:\"BDT\",BE:\"EUR\",BF:\"XOF\",BG:\"BGN\",BH:\"BHD\",BI:\"BIF\",BJ:\"XOF\",BL:\"EUR\",BM:\"BMD\",BN:\"BND\",BO:\"BOB\",BQ:\"USD\",BR:\"BRL\",BS:\"BSD\",BT:\"BTN\",BV:\"NOK\",BW:\"BWP\",BY:\"BYN\",BZ:\"BZD\",CA:\"CAD\",CC:\"AUD\",CD:\"CDF\",CF:\"XAF\",CG:\"CDF\",CH:\"CHF\",CI:\"XOF\",CK:\"NZD\",CL:\"CLP\",CM:\"XAF\",CN:\"CNY\",CO:\"COP\",CR:\"CRC\",CU:\"CUC\",CV:\"CVE\",CW:\"ANG\",CX:\"AUD\",CY:\"EUR\",CZ:\"CZK\",DE:\"EUR\",DJ:\"DJF\",DK:\"DKK\",DM:\"DOP\",DO:\"DOP\",DZ:\"DZD\",EC:\"USD\",EE:\"EUR\",EG:\"EGP\",EH:\"MAD\",ER:\"ERN\",ES:\"EUR\",ET:\"ETB\",FI:\"EUR\",FJ:\"FJD\",FM:\"USD\",FO:\"DKK\",FR:\"EUR\",GA:\"XAF\",GB:\"GBP\",GD:\"XCD\",GE:\"GEL\",GF:\"EUR\",GG:\"GBP\",GH:\"GHS\",GI:\"GIP\",GL:\"DKK\",GM:\"GMD\",GN:\"GNF\",GP:\"EUR\",GQ:\"XAF\",GR:\"EUR\",GT:\"GTQ\",GU:\"USD\",GW:\"XOF\",GY:\"GYD\",HK:\"HKD\",HN:\"HNL\",HR:\"EUR\",HT:\"HTG\",HU:\"HUF\",ID:\"IDR\",IE:\"EUR\",IL:\"ILS\",IM:\"GBP\",IN:\"INR\",IO:\"USD\",IQ:\"IQD\",IR:\"IRR\",IS:\"ISK\",IT:\"EUR\",JE:\"GBP\",JM:\"JMD\",JO:\"JOD\",JP:\"JPY\",KE:\"KES\",KG:\"KGS\",KH:\"KHR\",KI:\"AUD\",KM:\"KMF\",KN:\"XCD\",KP:\"KPW\",KR:\"KRW\",KW:\"KWD\",KY:\"KYD\",KZ:\"KZT\",LB:\"LBP\",LC:\"XCD\",LI:\"CHF\",LK:\"LKR\",LR:\"LRD\",LS:\"LSL\",LT:\"EUR\",LU:\"EUR\",LV:\"EUR\",LY:\"LYD\",MA:\"MAD\",MC:\"EUR\",MD:\"MDL\",ME:\"EUR\",MF:\"EUR\",MG:\"MGA\",MH:\"USD\",ML:\"XOF\",MM:\"MMK\",MN:\"MNT\",MO:\"MOP\",MP:\"USD\",MQ:\"EUR\",MR:\"MRU\",MS:\"XCD\",MT:\"EUR\",MU:\"MUR\",MV:\"MVR\",MW:\"MWK\",MX:\"MXN\",MY:\"MYR\",MZ:\"MZN\",NA:\"NAD\",NC:\"XPF\",NE:\"NGN\",NF:\"AUD\",NG:\"NGN\",NI:\"NIO\",NL:\"EUR\",NO:\"NOK\",NP:\"NPR\",NR:\"AUD\",NU:\"NZD\",NZ:\"NZD\",OM:\"OMR\",PA:\"PAB\",PE:\"PEN\",PF:\"XPF\",PG:\"PGK\",PH:\"PHP\",PK:\"PKR\",PL:\"PLN\",PM:\"EUR\",PN:\"NZD\",PR:\"USD\",PT:\"EUR\",PW:\"USD\",PY:\"PYG\",QA:\"QAR\",RE:\"EUR\",RO:\"RON\",RS:\"RSD\",RU:\"RUB\",RW:\"RWF\",SA:\"SAR\",SB:\"SBD\",SC:\"SCR\",SD:\"SDG\",SE:\"SEK\",SG:\"SGD\",SH:\"SHP\",SI:\"EUR\",SJ:\"NOK\",SK:\"EUR\",SL:\"SLL\",SM:\"EUR\",SN:\"XOF\",SO:\"SOS\",SR:\"SRD\",SS:\"SSP\",ST:\"STN\",SV:\"SVC\",SX:\"ANG\",SY:\"SYP\",SZ:\"SZL\",TC:\"USD\",TD:\"XAF\",TF:\"EUR\",TG:\"XOF\",TH:\"THB\",TJ:\"TJS\",TK:\"NZD\",TL:\"USD\",TM:\"TMT\",TN:\"TND\",TO:\"TOP\",TT:\"TTD\",TV:\"AUD\",TW:\"TWD\",TZ:\"TZS\",UA:\"UAH\",UG:\"UGX\",UM:\"USD\",US:\"USD\",UY:\"UYU\",UZ:\"UZS\",VA:\"EUR\",VC:\"XCD\",VE:\"VES\",VG:\"USD\",VI:\"USD\",VN:\"VND\",VU:\"VUV\",WF:\"XPF\",WS:\"USD\",YE:\"YER\",YT:\"EUR\",ZA:\"ZAR\",ZM:\"ZMW\",ZW:\"ZWL\",HM:\"AUD\",FK:\"FKP\",GS:\"GEL\",LA:\"LAK\",MK:\"MKD\",AQ:\"USD\",PS:\"ILS\"};\r\n]; */\r\nexport const employee_status = [\r\n { label: \"Employed\", value: \"Employed\" },\r\n { label: \"Unemployed\", value: \"Unemployed\" },\r\n];\r\nexport const marital_status = [\r\n { label: \"Married\", value: \"Married\" },\r\n { label: \"Unmarried\", value: \"Unmarried\" },\r\n];\r\nexport const maritial_status = [\r\n { label: \"Married\", value: \"Married\" },\r\n { label: \"Unmarried\", value: \"Unmarried\" },\r\n];\r\nexport const CONFIG = {\r\n headers: {\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Access-Control-Allow-Credentials\": true,\r\n // application_id: \"c86ae3f5-3a96-49f2-af05-94746357d0ec\",\r\n \"Content-Type\": \"application/json\",\r\n\r\n \"Access-Control-Allow-Methods\": \"OPTIONS,GET,PUT,POST,DELETE\",\r\n \"Access-Control-Allow-Headers\":\r\n \"'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'\",\r\n },\r\n};\r\n\r\nexport const SOCIAL_HISTORY = [\r\n { name: \"Tobacco use\", id: 1 },\r\n { name: \"Alcohol Use\", id: 2 },\r\n { name: \"Exercise activity\", id: 3 },\r\n { name: \"Caffeine use\", id: 4 },\r\n];\r\n\r\nexport const socialHabitsData = [\"Daily\", \"Weekly\", \"Monthly\", \"Never\"];\r\n\r\nexport const checkin_category = [\r\n { label: \"Normal\", value: \"Normal\" },\r\n { label: \"Emergency\", value: \"Emergency\" },\r\n];\r\n\r\nlet map = new Map();\r\nmap.set(\"0\", \"JAN\");\r\nmap.set(\"1\", \"FEB\");\r\nmap.set(\"2\", \"MAR\");\r\nmap.set(\"3\", \"APR\");\r\nmap.set(\"4\", \"MAY\");\r\nmap.set(\"5\", \"JUN\");\r\nmap.set(\"6\", \"JUL\");\r\nmap.set(\"7\", \"AUG\");\r\nmap.set(\"8\", \"SEP\");\r\nmap.set(\"9\", \"OCT\");\r\nmap.set(\"10\", \"NOV\");\r\nmap.set(\"11\", \"DEC\");\r\n\r\nexport const MONTH_PAIR = map;\r\n\r\nexport const BLOOD_GROUPS = [\r\n { value: \"A+\", label: \"A +ve\" },\r\n { value: \"B+\", label: \"B +ve\" },\r\n { value: \"AB+\", label: \"AB +ve\" },\r\n { value: \"A-\", label: \"A -ve\" },\r\n { value: \"B-\", label: \"B -ve\" },\r\n { value: \"AB-\", label: \"AB -ve\" },\r\n { value: \"O+\", label: \"O +ve\" },\r\n { value: \"O-\", label: \"O -ve\" },\r\n];\r\n\r\nexport const EDUCATION_OPTIONS = [\r\n { value: \"ug\", label: \"UG\" },\r\n { value: \"pg\", label: \"PG\" },\r\n];\r\n\r\nexport const DAY_TYPES = [\r\n { value: \"Days\", label: \"Days\" },\r\n { value: \"Month\", label: \"Month\" },\r\n { value: \"Year\", label: \"Year\" },\r\n];\r\n\r\nexport const working_days = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\r\n\r\nexport const schedule_type = [\r\n {\r\n label: \"Appointment\",\r\n value: \"appointment\",\r\n },\r\n {\r\n label: \"Token\",\r\n value: \"Queue\",\r\n },\r\n];\r\n\r\nexport const VISIT_TYPE = [\r\n {\r\n label: \"Online\",\r\n value: \"online\",\r\n },\r\n {\r\n label: \"In-Person\",\r\n value: \"inperson\",\r\n },\r\n];\r\n\r\n\r\nexport const shift_series = [\"Single Day\", \"Selected Days\"];\r\n\r\nexport const monthNumList = [{ label: \"1\", value: \"1\" },\r\n{ label: \"2\", value: \"2\" },\r\n{ label: \"3\", value: \"3\" },\r\n{ label: \"4\", value: \"4\" },\r\n{ label: \"5\", value: \"5\" },\r\n{ label: \"6\", value: \"6\" },\r\n{ label: \"7\", value: \"7\" },\r\n{ label: \"8\", value: \"8\" },\r\n{ label: \"9\", value: \"9\" },\r\n{ label: \"10\", value: \"10\" },\r\n{ label: \"11\", value: \"11\" },\r\n{ label: \"12\", value: \"12\" }]\r\n\r\nexport const consultation_fee = \"Consultation Fee\"\r\n\r\n\r\n\r\nexport const formatDate = (dateString) => {\r\n const date = new Date(dateString);\r\n const day = String(date.getDate()).padStart(2, '0');\r\n const month = String(date.getMonth() + 1).padStart(2, '0');\r\n const year = String(date.getFullYear());\r\n\r\n return `${day}-${month}-${year}`;\r\n};","import { language } from \"../config/data\";\r\nimport { working_days } from \"../constants/config/data\";\r\nimport color from \"@material-ui/core/colors/amber\";\r\nimport * as moment from \"moment\";\r\n/* NUll check for parse array object and adding sequence number for S:NO column */\r\nexport function parseObjectValue(val) {\r\n let resultObj = [];\r\n let getVal = JSON.parse(val);\r\n if (\"null\" === getVal || null == getVal) {\r\n resultObj = [];\r\n } else {\r\n resultObj = getVal;\r\n }\r\n /*adding sequence number*/\r\n resultObj.forEach((resultObj, index) => {\r\n resultObj.s_no = index + 1;\r\n });\r\n return resultObj;\r\n}\r\n\r\n/* Language Conversion */\r\nexport function stringToLabelValue(val) {\r\n let convertedlanguage = [];\r\n if (val) {\r\n language.forEach((element, index) => {\r\n if (val.indexOf(element.value) > -1) {\r\n convertedlanguage.push({\r\n value: element.value,\r\n label: element.label,\r\n });\r\n }\r\n });\r\n }\r\n return convertedlanguage;\r\n}\r\n\r\n/* hide and show the column*/\r\nexport function show_hide_column(table, isDisable) {\r\n console.log(isDisable);\r\n let lastthead = table.tHead.lastChild.lastChild;\r\n if (isDisable) {\r\n lastthead.classList.add(\"showcolumn\");\r\n lastthead.classList.remove(\"hidecolumn\");\r\n } else {\r\n lastthead.classList.add(\"hidecolumn\");\r\n lastthead.classList.remove(\"showcolumn\");\r\n }\r\n\r\n let tbody = table.getElementsByTagName(\"tbody\")[0];\r\n var allrows = tbody.getElementsByTagName(\"tr\");\r\n console.log(allrows);\r\n allrows.forEach(function (row) {\r\n if (isDisable) {\r\n console.log(\"if\");\r\n row.lastChild.classList.add(\"showcolumn\");\r\n row.lastChild.classList.remove(\"hidecolumn\");\r\n } else {\r\n console.log(\"else\");\r\n row.lastChild.classList.add(\"hidecolumn\");\r\n row.lastChild.classList.remove(\"showcolumn\");\r\n }\r\n });\r\n}\r\n\r\nexport function getKeyFromValue(mapData, value) {\r\n let Key = [...mapData.entries()]\r\n .filter(({ 1: v }) => v === value)\r\n .map(([k]) => k);\r\n return Key;\r\n}\r\n\r\nexport function getMaxIdOfRecords(records) {\r\n let returnId = \"\";\r\n if (records.length > 0) {\r\n let maxId = Math.max.apply(\r\n Math,\r\n records.map(function (o) {\r\n return o.id;\r\n })\r\n );\r\n returnId = maxId + 1;\r\n } else {\r\n returnId = records.length + 1;\r\n }\r\n return returnId;\r\n}\r\n\r\nexport function calculate_age(date) {\r\n let today = new Date();\r\n let birthDate = new Date(date); // create a date object directly from `dob1` argument\r\n let age_now = today.getFullYear() - birthDate.getFullYear();\r\n let m = today.getMonth() - birthDate.getMonth();\r\n if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {\r\n age_now--;\r\n }\r\n return age_now;\r\n}\r\nexport function getAppointmentStatus(record, columnType) {\r\n let returnStatus = false;\r\n switch (columnType) {\r\n case \"SCHEDULED\":\r\n returnStatus = true;\r\n break;\r\n case \"Check-In\":\r\n if (\"SCHEDULED\" === record.appt_status || \"Cancelled\" === record.appt_status || \"RESCHEDULE\" === record.appt_status) {\r\n returnStatus = false;\r\n } else {\r\n returnStatus = true;\r\n }\r\n break;\r\n case \"Consulting\":\r\n if (\r\n \"SCHEDULED\" === record.appt_status ||\r\n \"Check-In\" === record.appt_status ||\r\n \"Cancelled\" === record.appt_status||\r\n \"RESCHEDULE\" === record.appt_status\r\n ) {\r\n returnStatus = false;\r\n } else {\r\n returnStatus = true;\r\n }\r\n break;\r\n case \"Check-Out\":\r\n if (\r\n \"SCHEDULED\" === record.appt_status ||\r\n \"Check-In\" === record.appt_status ||\r\n \"Consulting\" === record.appt_status ||\r\n \"Cancelled\" === record.appt_status ||\r\n \"RESCHEDULE\" === record.appt_status\r\n ) {\r\n returnStatus = false;\r\n } else {\r\n returnStatus = true;\r\n }\r\n break;\r\n case \"RESCHEDULE\":\r\n if (\"RESCHEDULE\" === record.appt_status)\r\n returnStatus = true;\r\n break;\r\n default:\r\n if (\"Cancelled\" === record.appt_status) returnStatus = true;\r\n else returnStatus = false;\r\n break;\r\n }\r\n return returnStatus;\r\n}\r\nexport function getQueueStatus(record, columnType) {\r\n let returnStatus = false;\r\n switch (columnType) {\r\n case \"queue-in\":\r\n returnStatus = true;\r\n break;\r\n case \"Check-In\":\r\n if (\"queue-in\" === record.status || \"Cancelled\" === record.status) {\r\n returnStatus = false;\r\n } else {\r\n returnStatus = true;\r\n }\r\n break;\r\n case \"Consulting\":\r\n if (\r\n \"queue-in\" === record.status ||\r\n \"Check-In\" === record.status ||\r\n \"Cancelled\" === record.status\r\n ) {\r\n returnStatus = false;\r\n } else {\r\n returnStatus = true;\r\n }\r\n break;\r\n case \"Check-Out\":\r\n if (\r\n \"queue-in\" === record.status ||\r\n \"Check-In\" === record.status ||\r\n \"Consulting\" === record.status ||\r\n \"Cancelled\" === record.status\r\n ) {\r\n returnStatus = false;\r\n } else {\r\n returnStatus = true;\r\n }\r\n break;\r\n default:\r\n if (\"Cancelled\" === record.status) returnStatus = true;\r\n else returnStatus = false;\r\n break;\r\n }\r\n return returnStatus;\r\n}\r\n\r\nexport function getTimeFormat(time, type) {\r\n let TimeFormatValue = \"\";\r\n if (type == \"Mins\") {\r\n TimeFormatValue = \"00:\" + time + \":00\";\r\n } else {\r\n TimeFormatValue = time + \":00:00\";\r\n }\r\n return TimeFormatValue;\r\n}\r\nexport function TimetoMin(time) {\r\n var actualTime = time.split(':');\r\n console.log(\"The time=\" + time);\r\n var totalSeconds = (+actualTime[0]) * 60 * 60 + (+actualTime[1]) * 60 + (+actualTime[2]);\r\n return totalSeconds / 60\r\n}\r\n\r\nexport function getTimeFormatToUI(time) {\r\n console.log(time);\r\n let time_Ui_Data = {};\r\n let arrayTime = time.split(\":\");\r\n if (arrayTime[0] != \"00\") {\r\n time_Ui_Data.Type = \"Hours\";\r\n time_Ui_Data.Time = arrayTime[0];\r\n } else {\r\n time_Ui_Data.Type = \"Mins\";\r\n time_Ui_Data.Time = arrayTime[1];\r\n }\r\n return time_Ui_Data;\r\n}\r\n\r\n\r\n\r\nexport function getDateISOFormat(givenDate) {\r\n\r\n let dd = (\"0\" + givenDate.getDate()).slice(-2);\r\n //let dd = givenDate.getDate();\r\n let mm = (\"0\" + (givenDate.getMonth() + 1)).slice(-2);\r\n //let mm = givenDate.getMonth() + 1;\r\n let yyyy = givenDate.getFullYear();\r\n\r\n return yyyy + \"-\" + mm + \"-\" + dd;\r\n\r\n}\r\n\r\nexport function getShiftSymbol(data) {\r\n let shiftSymbol = ''\r\n switch (data) {\r\n case 'Morning':\r\n shiftSymbol = 'fa fa-coffee';\r\n break;\r\n case 'Afternoon':\r\n shiftSymbol = 'fa fa-sun-o';\r\n break;\r\n case 'Evening':\r\n shiftSymbol = 'fas fa-cloud-moon';\r\n break;\r\n default:\r\n shiftSymbol = 'fa fa-moon-o';\r\n }\r\n return shiftSymbol;\r\n}\r\n\r\nexport function getGivenDateStringFormat(date) {\r\n var date = new Date(date);\r\n return date.toDateString();\r\n}\r\n\r\nexport function getAvaliableCount(appointmentdate,data) {\r\n let count = 0;\r\n // var today = new Date(),\r\n // date = today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate();\r\n \r\n // var date1 = moment(date).format(\"YYYY-MM-DD\");\r\n \r\n var current = moment().format(\"YYYY-MM-DD HH:mm:ss\");\r\n data.forEach(element => {\r\n element.appointmentHours.forEach(e => {\r\n var dt = moment((appointmentdate+\" \"+e.hours), [\"YYYY-MM-DD h:mm A\"]).format(\"YYYY-MM-DD HH:mm:ss\");\r\n console.log(current);\r\n console.log(dt);\r\n if (e.isAvailable && dt>=current) count++;\r\n })\r\n });\r\n switch (count) {\r\n case 0: return 'No Slots'\r\n case 1: return count + ' Slot'\r\n default: return count + ' Slots'\r\n }\r\n}\r\n\r\nexport function getFrequencyFromDays(data) {\r\n\r\n let result = []\r\n data.forEach(element => {\r\n var val = \"\";\r\n\r\n\r\n switch (element) {\r\n case \"Sun\":\r\n val = 1; break;\r\n case \"Mon\":\r\n val = 2; break;\r\n case \"Tue\": val = 3; break;\r\n case \"Wed\": val = 4; break;\r\n case \"Thu\": val = 5; break;\r\n case \"Fri\": val = 6; break;\r\n default: val = 7;\r\n }\r\n\r\n if (val !== \"\")\r\n result.push(val)\r\n });\r\n\r\n return result.toString();\r\n\r\n}\r\n\r\nexport function getPatientProfileColor(queue_data) {\r\n let color = 'white';\r\n if(queue_data.length!=0){\r\n // console.log(queue_data.status)\r\n switch (queue_data.status ? queue_data.status : \"\") {\r\n case \"queue-in\":\r\n color = 'orange'; break;\r\n case \"Check-In\":\r\n color = 'green'; break;\r\n default: color = 'white';\r\n }\r\n }\r\n \r\n return color;\r\n}\r\n\r\nexport function getInPatientProfileColor(admit_data) {\r\n let color = 'white';\r\n if(admit_data.length!=0){\r\n // console.log(queue_data.status)\r\n switch (admit_data.status ? admit_data.status : \"\") {\r\n case \"queue-in\":\r\n color = 'orange'; break;\r\n case \"Admitted\":\r\n color = 'green'; break;\r\n default: color = 'white';\r\n }\r\n }\r\n \r\n return color;\r\n}\r\n\r\n\r\nexport function getPatientAppointmentColor(status) {\r\n let color = 'white';\r\n if(status != \"\"){\r\n // console.log(queue_data.status)\r\n switch (status) {\r\n case \"SCHEDULED\":\r\n color = 'orange'; break;\r\n case \"RESCHEDULE\":\r\n color = 'orange'; break; \r\n case \"Check-In\":\r\n color = 'green'; break;\r\n case \"Consulting\":\r\n color = 'green'; break;\r\n default: color = 'white';\r\n }\r\n }\r\n \r\n return color;\r\n}\r\n\r\n\r\n\r\nexport function getPatientsubstring(queue_data) \r\n{\r\n let str=queue_data;\r\n let substr=str.substring(0,20);\r\n return substr;\r\n}\r\nexport function gethhmmss(data) {\r\n console.log(data);\r\n\r\n var result = [];\r\n var morning_shift = {};\r\n var evening_shift = {};\r\n\r\n var dt = new Date();\r\n var startDate = getDateISOFormat(dt) + 'T';\r\n\r\n dt.setDate(dt.getDate() + 30);\r\n var endDate = getDateISOFormat(dt) + 'T';\r\n\r\n if (data.morning_shift_start !== undefined && data.morning_shift_start != null) {\r\n var a = data.morning_shift_start.split(':'); // split it at the colons\r\n\r\n // minutes are worth 60 seconds. Hours are worth 60 minutes.\r\n var morning_shift_start = (+a[0]) * 60 * 60 + (+a[1]) * 60;\r\n\r\n var b = data.morning_shift_end.split(':'); // split it at the colons\r\n\r\n // minutes are worth 60 seconds. Hours are worth 60 minutes.\r\n var morning_shift_end = (+b[0]) * 60 * 60 + (+b[1]) * 60;\r\n\r\n morning_shift.type = \"Morning\";\r\n morning_shift.from = startDate + new Date(morning_shift_start * 1000).toISOString().substr(11, 8);\r\n morning_shift.to = endDate + new Date(morning_shift_end * 1000).toISOString().substr(11, 8);\r\n result.push(morning_shift);\r\n } else if (data.morning_opens_at !== undefined && data.morning_opens_at != null) {\r\n var a = data.morning_opens_at.split(':'); // split it at the colons\r\n\r\n // minutes are worth 60 seconds. Hours are worth 60 minutes.\r\n var morning_opens_at = (+a[0]) * 60 * 60 + (+a[1]) * 60;\r\n\r\n var b = data.morning_close_at.split(':'); // split it at the colons\r\n\r\n // minutes are worth 60 seconds. Hours are worth 60 minutes.\r\n var morning_close_at = (+b[0]) * 60 * 60 + (+b[1]) * 60;\r\n\r\n morning_shift.type = \"Morning\";\r\n morning_shift.from = startDate + new Date(morning_opens_at * 1000).toISOString().substr(11, 8);\r\n morning_shift.to = endDate + new Date(morning_close_at * 1000).toISOString().substr(11, 8);\r\n result.push(morning_shift);\r\n }\r\n\r\n if (data.evening_shift_start !== undefined && data.evening_shift_start != null) {\r\n var a = data.evening_shift_start.split(':'); // split it at the colons\r\n\r\n // minutes are worth 60 seconds. Hours are worth 60 minutes.\r\n var evening_shift_start = (+a[0]) * 60 * 60 + (+a[1]) * 60;\r\n\r\n var b = data.evening_shift_end.split(':'); // split it at the colons\r\n\r\n // minutes are worth 60 seconds. Hours are worth 60 minutes.\r\n var evening_shift_end = (+b[0]) * 60 * 60 + (+b[1]) * 60;\r\n\r\n evening_shift.type = \"Evening\";\r\n evening_shift.from = startDate + new Date(evening_shift_start * 1000).toISOString().substr(11, 8);\r\n evening_shift.to = endDate + new Date(evening_shift_end * 1000).toISOString().substr(11, 8);\r\n result.push(evening_shift);\r\n } else if (data.evening_opens_at !== undefined && data.evening_opens_at != null) {\r\n var a = data.evening_opens_at.split(':'); // split it at the colons\r\n\r\n // minutes are worth 60 seconds. Hours are worth 60 minutes.\r\n var evening_opens_at = (+a[0]) * 60 * 60 + (+a[1]) * 60;\r\n\r\n var b = data.evening_close_at.split(':'); // split it at the colons\r\n\r\n // minutes are worth 60 seconds. Hours are worth 60 minutes.\r\n var evening_close_at = (+b[0]) * 60 * 60 + (+b[1]) * 60;\r\n\r\n evening_shift.type = \"Evening\";\r\n evening_shift.from = startDate + new Date(evening_opens_at * 1000).toISOString().substr(11, 8);\r\n evening_shift.to = endDate + new Date(evening_close_at * 1000).toISOString().substr(11, 8);\r\n result.push(evening_shift);\r\n }\r\n\r\n console.log(result);\r\n return result;\r\n}\r\n\r\nexport function getProfilePercentage(data) {\r\n if (data === '100%') {\r\n return '0px';\r\n } if (data === '95%') {\r\n return '5px';\r\n } if (data === '90%') {\r\n return '10px';\r\n } if (data === '85%') {\r\n return '15px';\r\n }\r\n if (data === '80%') {\r\n return '20px';\r\n }\r\n if (data === '75%') {\r\n return '25px';\r\n } if (data === '70%') {\r\n return '30px';\r\n } if (data === '65%') {\r\n return '35px';\r\n } if (data === '60%') {\r\n return '40px';\r\n } if (data === '55%') {\r\n return '45px';\r\n } if (data === '50%') {\r\n return '50px';\r\n } if (data === '45%') {\r\n return '55px';\r\n } if (data === '40%') {\r\n return '60px';\r\n } if (data === '35%') {\r\n return '65px';\r\n }\r\n if (data === '30%') {\r\n return '70px';\r\n }\r\n if (data === '25%') {\r\n return '75px';\r\n }\r\n if (data === '20%') {\r\n return '80px';\r\n }\r\n if (data === '15%') {\r\n return '85px';\r\n }\r\n if (data === '10%') {\r\n return '90px';\r\n } if (data === '5%') {\r\n return '95px';\r\n } if (data === '0%') {\r\n return '110px';\r\n }\r\n}\r\n\r\n//input: createShift object\r\n//out: createShift object array list of working days is added\r\nexport function setDaysoftheWeek(createShift) {\r\n let s = [];\r\n\r\n if (createShift.from && createShift.to) {\r\n let d = createShift.from;\r\n while (d <= createShift.to && s.length <= 7) {\r\n if (s.indexOf(working_days[d.getDay()]) === -1) {\r\n s.push(working_days[d.getDay()]);\r\n }\r\n d = new Date(d.getTime() + (24 * 60 * 60 * 1000));\r\n }\r\n }\r\n createShift.working_days = s;\r\n console.log(createShift);\r\n}\r\n\r\nexport function renameKey(obj, oldKey, newKey) {\r\n obj[newKey] = obj[oldKey];\r\n delete obj[oldKey];\r\n}","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport StarRatings from \"react-star-ratings\";\r\nimport axios from \"axios\";\r\nimport { getBusinessShortDetail, uploadImage,updateavatar,getAdvertisementData } from \"../../../../config/url.json\";\r\nimport { CONFIG, imageconfig, IMAGE_CONFIG } from \"../../../../config/data\";\r\nimport { Spinner } from \"../../../../components/UI/Spinner\";\r\nimport { ProfilePicModel } from \"../../../../components/UI/ProfilePicModel\";\r\nimport {getProfilePercentage} from \"../../../../constants/globalLevelFunctions\";\r\nimport OwlCarousel from \"react-owl-carousel\";\r\nimport \"owl.carousel/dist/assets/owl.carousel.css\";\r\nimport \"owl.carousel/dist/assets/owl.theme.default.css\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport S3 from \"react-aws-s3\";\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\n\r\n\r\nclass Header extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.options = {\r\n autoplay: true,\r\n loop: true,\r\n nav:false,\r\n items:1,\r\n dots:false,\r\n }\r\n this.state = {\r\n access_token: props.access_token,\r\n adverdisement:[],\r\n headerinfo: {\r\n profile_name: \"\",\r\n qualification: \"\",\r\n specialization: \"\",\r\n work_place: \"\",\r\n id: \"\",\r\n languages_known: \"\",\r\n profile_percentage: \"\",\r\n rating: \"\",\r\n profile_img:\"\",\r\n profile_percentage_style:\"\",\r\n business_name:\"\",\r\n speciality_detail:\"\",\r\n address1:\"\",\r\n city:\"\",\r\n zip_code:\"\"\r\n \r\n },\r\n addPopup: false,\r\n openWebCamera: false,\r\n selectedFile:\"\",\r\n };\r\n\r\n }\r\n\r\n\r\n\r\n toBase64 = file => new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n});\r\n \r\nasync Main(file) {\r\n console.log(await this.toBase64(file));\r\n}\r\n \r\n imageSelectHandler = event =>{\r\n\r\n let files = event.target.files || event.dataTransfer.files;\r\n if (!files.length) {\r\n console.log('no files');\r\n return false;\r\n }\r\n console.log(files);\r\n console.log(files[0]);\r\n \r\n\r\n let file = event.target.files[0];\r\n let newfileName = event.target.files[0].name;\r\n\r\n // console.log(imageconfig);\r\n imageconfig.dirName = 'business/'+ this.props.userdata.id\r\n console.log(imageconfig);\r\n\r\n const reacts3client = new S3(imageconfig);\r\n console.log(reacts3client)\r\n reacts3client.uploadFile(file, newfileName).then(data => {\r\n console.log(data)\r\n if (data.status === 204) {\r\n console.log('success');\r\n let resultdata = {\r\n 'avatar':data.location,\r\n 'user_id':this.props.userdata.id,\r\n 'user_type':\"business\"\r\n }\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n axios.post(updateavatar,resultdata, CONFIG).then((result)=>{\r\n this.setState({profile_img: URL.createObjectURL(file), addPopup: false});\r\n toast.success(\"Your profile picture has successfully updated.\",{\r\n className:\"toast-success\"\r\n });\r\n \r\n }) \r\n } else {\r\n console.log('error');\r\n this.setState({profile_img: URL.createObjectURL(file), addPopup: false});\r\n }\r\n })\r\n \r\n }\r\n\r\n startWebCamera = event => {\r\n this.setState({openWebCamera: true});\r\n }\r\n\r\n handleTakePhotoAnimationDone (dataUri) {\r\n // Do stuff with the photo...\r\n console.log('takePhoto');\r\n console.log(dataUri);\r\n const data = {\r\n file: dataUri\r\n };\r\n\r\n let reader = new FileReader();\r\n \r\n reader.onloadend = () => {\r\n this.setState({\r\n imagePreviewUrl: reader.result\r\n });\r\n }\r\n \r\n // reader.readAsDataURL(dataUri)\r\n\r\n console.log(this.state.selectedFile);\r\n\r\n var fd = new FormData();\r\n \r\n fd.append('file', this.state.selectedFile);\r\n \r\n var request = new XMLHttpRequest();\r\n \r\n request.onreadystatechange = function() {\r\n if (this.readyState === 4 && this.status === 200) {\r\n alert('Uploaded!');\r\n }\r\n };\r\n request.open(\"POST\", uploadImage+'?user_id='+this.props.userdata.id, true);\r\n request.send(fd);\r\n\r\n\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // axios.post(uploadImage+'?user_id='+this.props.userdata.id,dataUri, CONFIG).then((result)=>{\r\n // console.log(result)\r\n // }) \r\n // this.setState({ addPopup: false, openWebCamera:false,\r\n // profile_img: dataUri});\r\n }\r\n \r\n editImage = event =>{\r\n this.setState({ addPopup: true});\r\n }\r\n \r\n componentDidMount() {\r\n this.setState({ loading: true });\r\n let loggedInuserId = this.props.user_id;\r\n window.setTimeout(() => {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getBusinessShortDetail, { business_id: loggedInuserId }, CONFIG)\r\n .then((short_details) => {\r\n \r\n\r\n if (short_details.data.status === \"1\") {\r\n let info = short_details.data.data[0];\r\n info.profile_percentage_style = getProfilePercentage(info.profile_percentage);\r\n \r\n this.setState({ headerinfo: info, loading: false, profile_img : info.avatar });\r\n\r\n this.props.setBusinessShortData(this.state.headerinfo);\r\n \r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"business short info failed\");\r\n });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getAdvertisementData, null, CONFIG)\r\n .then((response) => {\r\n // console.log(response.data)\r\n \r\n if (response.data.status === \"1\") {\r\n // let info = short_details.data.data[0];\r\n // info.profile_percentage_style = getProfilePercentage(info.profile_percentage);\r\n \r\n this.setState({ adverdisement: response.data.data, loading: false });\r\n \r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"vendor info failed\");\r\n });\r\n }, 1000);\r\n }\r\n render() {\r\n const { headerinfo,adverdisement } = this.state;\r\n let PopupClose = () => this.setState({ addPopup: false, openWebCamera: false});\r\n let ratestar = headerinfo ? headerinfo.rating : 0;\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 {headerinfo.business_name}\r\n\r\n {/* */}\r\n

\r\n\r\n
\r\n {headerinfo.speciality_detail}\r\n
\r\n
\r\n {headerinfo.address1},{headerinfo.city} -{headerinfo.zip_code}\r\n
\r\n\r\n
Business ID :: {headerinfo.id}
\r\n
\r\n {/* */}\r\n {headerinfo.languages_known} \r\n
\r\n
\r\n
\r\n \"profile-pic\"/\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n Profile strength\r\n
\r\n

{headerinfo.profile_percentage}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {/*
\r\n{(adverdisement.length ? (\r\n {adverdisement.map((data, i) => { \r\n return(
\r\n {data.vendor_name}\r\n
)\r\n })}\r\n \r\n
):())}\r\n \r\n
*/}\r\n\r\n {/*
\r\n \r\n
*/}\r\n\r\n {/* */}\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setBusinessShortData: (setBusinessShortData) =>\r\n dispatch({ type: \"SET_BUSINESS_SHORT_DETAIL\", payload: setBusinessShortData }),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Header);\r\n","\r\nimport React, { Fragment } from \"react\";\r\n import { Link } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport {\r\n getReadCount\r\n} from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport axios from \"axios\";\r\n\r\nfunction SideBar(props) {\r\n\r\n const handleLogout = (e) => {\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n props.logout();\r\n props.history.push(\"/\");\r\n };\r\n // let message_count = props.appdata?props.appdata[0].message_count : \"\";\r\n const [click, setClick] = React.useState(false);\r\n\r\n const handleClick = () => setClick(!click);\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{(props.user.user_type === 'doctor'||props.user.user_type === 'business_user'||props.user.user_type === 'Doctor'||props.user.user_type === 'pharmacy') ? \"\":(\r\n \r\n
  • \r\n \r\n \r\n Profile\r\n \r\n\r\n \r\n
  • \r\n\r\n
  • \r\n \r\n \r\n Admin reports\r\n \r\n \r\n
  • \r\n\r\n
  • \r\n \r\n \r\n Clinical management\r\n \r\n \r\n
  • \r\n \r\n
  • \r\n \r\n \r\n Notifications\r\n {props.message_count > 0 ? ():\"\"}\r\n \r\n
  • \r\n
    \r\n )}\r\n \r\n\r\n
  • \r\n \r\n \r\n Referrals\r\n \r\n
  • \r\n {(props.user.user_type === 'doctor'||props.user.user_type === 'business_user'|| props.user.user_type === 'Doctor') ? (\r\n
  • \r\n \r\n \r\n My Account\r\n \r\n
  • \r\n ):\"\"}\r\n \r\n {/*
  • \r\n false} className=\"waves-effect\" aria-expanded=\"false\">\r\n \r\n \r\n \r\n Finance\r\n \r\n
  • */}\r\n
  • \r\n \r\n \r\n Support\r\n \r\n
  • \r\n {(props.user.user_type === 'hospital')?(\r\n
  • \r\n \r\n \r\n Show Subscription\r\n \r\n
  • ):\"\"}\r\n\r\n
  • \r\n \r\n \r\n QR code\r\n \r\n
  • \r\n
  • \r\n \r\n \r\n QR Reader\r\n \r\n
  • \r\n\r\n
  • \r\n \r\n \r\n Offers\r\n \r\n
  • \r\n\r\n
  • \r\n \r\n \r\n FAQ\r\n \r\n
  • \r\n\r\n
  • \r\n \r\n \r\n Sign out\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 loggedIn: state.AuthReducer.loggedIn,\r\n appdata: state.AppData,\r\n user: state.AuthReducer.user,\r\n message_count: state.AuthReducer.message_count,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n};\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(SideBar)\r\n);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport OwlCarousel from \"react-owl-carousel\";\r\nimport \"owl.carousel/dist/assets/owl.carousel.css\";\r\nimport \"owl.carousel/dist/assets/owl.theme.default.css\";\r\nimport { getallfooterad } from '../../config/url.json'\r\nfunction mapStateToProps(state) {\r\n return {\r\n // appdata: state.AppData,\r\n // userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nclass Footerad extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.options = {\r\n autoplay: true,\r\n loop: true,\r\n nav: false,\r\n items: 1,\r\n dots: false,\r\n }\r\n this.state = {\r\n adverdisement: [],\r\n }\r\n }\r\n componentDidMount() {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getallfooterad, null, CONFIG)\r\n .then((response) => {\r\n console.log(response.data)\r\n\r\n if (response.data.status === \"1\") {\r\n // let info = short_details.data.data[0];\r\n // info.profile_percentage_style = getProfilePercentage(info.profile_percentage);\r\n\r\n this.setState({ adverdisement: response.data.data, loading: false });\r\n\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"vendor info failed\");\r\n });\r\n }\r\n render() {\r\n let { adverdisement } = this.state;\r\n return (\r\n
    \r\n
    \r\n\r\n\r\n {(adverdisement.length ?\r\n (\r\n \r\n {adverdisement.map((data, i) => {\r\n return (
    \r\n {data.vendor_name}\r\n
    )\r\n })}\r\n\r\n
    \r\n ) : ())}\r\n\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(Footerad);","\r\nimport React from 'react';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport Button from 'react-bootstrap/Button';\r\n\r\nexport const IdleTimeOutModal = ({showModal, handleClose, handleLogout, remainingTime}) => {\r\n\r\n return (\r\n \r\n \r\n Are you still there?\r\n \r\n If not ,”we will close this session.”\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React, {Component} from 'react';\r\nimport {Modal, Button, Row, Col, Form} from 'react-bootstrap';\r\n\r\nexport class Popupinfo extends Component{\r\n constructor(props){\r\n super(props);\r\n }\r\n\r\n render(){\r\n return(\r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n \r\n
    {this.props.message}
    \r\n
    \r\n \r\n \r\n \r\n
    )\r\n }\r\n}\r\n\r\nexport default Popupinfo;","import React, {Component} from 'react';\r\nimport {Modal, Button, Row, Col, Form} from 'react-bootstrap';\r\n\r\nexport class Popup extends Component{\r\n constructor(props){\r\n super(props);\r\n }\r\n\r\n render(){\r\n return(\r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n \r\n
    {this.props.message}
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    )\r\n }\r\n}\r\n\r\nexport default Popup;","import React, { Component,Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ProfileLogo from \"../components/UI/ProfileLogo\";\r\nimport axios from \"axios\";\r\n// import { getReviwes, getClientById } from \"../config/url.json\";\r\nimport { AUTH_CONFIG, CONFIG,card_type, } from \"../config/data\";\r\nimport TextArea from \"../components/UI/TextArea\";\r\nimport Label from \"../components/UI/Label\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport CheckboxOrRadioGroup from \"../components/UI/CheckboxOrRadioGroup\";\r\nimport StarRatings from \"react-star-ratings\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport MonthPick from \"../components/UI/MonthPick\";\r\nimport YearPick from \"../components/UI/YearPick\";\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { withRouter } from \"react-router-dom\";\r\nimport {\r\n getReviwes,\r\n UpdateBusiness,\r\n getBusinessById,\r\n getTimeoutbycategory,\r\n DeleteAccount\r\n} from \"../config/url.json\";\r\n\r\nimport { CountryDropdown, RegionDropdown } from \"react-country-region-selector\";\r\nimport Validation from \"../actions/Validation\";\r\nimport PhoneInput, { isValidPhoneNumber, parsePhoneNumber } from \"react-phone-number-input\";\r\nimport TimePicker from \"react-bootstrap-time-picker\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport Select from \"react-select\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Footerad from \"../components/UI/Footerad\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport Popup from \"../components/UI/Popup\";\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst currentYear = new Date().getFullYear();\r\nconst google = window.google;\r\nconst scuedueType = [\"Queue\", \"Appointment\"];\r\nexport const paymenttype = [\"Online\",\"Direct\"];\r\n\r\n\r\nconst working_days = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\r\n\r\nclass BusinessProfile extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout=this.state;\r\n\r\n console.log(props.id);\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout:hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n \r\n deletePopup: false,\r\n businessData: {\r\n business_name: \"\",\r\n email: \"\",\r\n password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n google_loc_id: \"\",\r\n user_type: \"hospital\",\r\n phone_number: \"\",\r\n fax_number: \"\",\r\n website: \"\",\r\n year_of_build: \"\",\r\n capacity: \"\",\r\n payment_type:\"\",\r\n schedule_type: [],\r\n working_hours: {\r\n morning_opens_at: '',\r\n morning_close_at: '',\r\n evening_opens_at: '',\r\n evening_close_at: '',\r\n hours_24: false,\r\n },\r\n working_days: [],\r\n speciality: [],\r\n facility: [],\r\n profile_summary: \"\",\r\n payment_details: [\r\n {\r\n \"credit_card\": \"\",\r\n \"card_name\": \"\",\r\n \"card_type\": {\r\n \"label\": \"\",\r\n \"value\": \"\"\r\n },\r\n \"expiry_month\": \"\",\r\n \"expiry_year\": \"\",\r\n \"cvv\": \"\",\r\n \"payment_option\": \"\"\r\n },\r\n ],\r\n },\r\n payment_details: [\r\n {\r\n \"credit_card\": \"\",\r\n \"card_name\": \"\",\r\n \"card_type\": {\r\n \"label\": \"\",\r\n \"value\": \"\"\r\n },\r\n \"expiry_month\": \"\",\r\n \"expiry_year\": \"\",\r\n \"cvv\": \"\",\r\n \"payment_option\": \"\"\r\n },\r\n ],\r\n payment_details_error: [{\r\n \"credit_card\": \"\",\r\n \"card_name\": \"\",\r\n \"card_type\": {\r\n \"label\": \"\",\r\n \"value\": \"\"\r\n },\r\n \"expiry_month\": \"\",\r\n \"expiry_year\": \"\",\r\n \"cvv\": \"\",\r\n \"payment_option\": \"\"\r\n },],\r\n errors: {\r\n business_name: \"\",\r\n email: \"\",\r\n password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n fax_number: \"\",\r\n website: \"\",\r\n year_of_build: \"\",\r\n capacity: \"\",\r\n schedule_type: \"\",\r\n working_hours_morning: \"\",\r\n working_hours_evening: \"\",\r\n working_days: \"\",\r\n speciality: \"\",\r\n facility: \"\",\r\n profile_summary: \"\",\r\n },\r\n reviewinfo: {\r\n friendliness: \"\",\r\n value_of_money: \"\",\r\n less_wait_time: \"\",\r\n best_treatment: \"\",\r\n easy_explanation: \"\",\r\n good_facility: \"\",\r\n },\r\n commentsinfo: {\r\n commenter: \"\",\r\n avatar: \"\",\r\n overall_rating: \"\",\r\n comment_text: \"\",\r\n reviewed_on: \"\",\r\n },\r\n commentsArr: [],\r\n editable: false,\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n loading: false,\r\n };\r\n this.autocomplete = null;\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n \r\n }\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n\r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n};\r\n\r\n _onAction(e) {\r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n console.log('user is active', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n \r\n\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\", status: \"\" },\r\n }),\r\n 3000\r\n );\r\n };\r\n handlePlaceSelect = () => {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let businessData = this.state.businessData;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n var lat = place.geometry.location.lat();\r\n // get lng\r\n var lng = place.geometry.location.lng();\r\n businessData.latitude = lat.toString();\r\n businessData.longitude = lng.toString();\r\n businessData.google_loc_id = place.url;\r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n // var valShort = place.address_components[i].short_name;\r\n\r\n if (addressType === \"administrative_area_level_1\")\r\n businessData.state = val;\r\n if (addressType === \"locality\")\r\n businessData.city = val;\r\n if (addressType === \"country\") businessData.country = val;\r\n // if (addressType === \"street_number\") {\r\n\r\n businessData.address1 = place.name;\r\n // }\r\n if (addressType === \"sublocality_level_1\") businessData.address2 = val;\r\n if (addressType === \"postal_code\") businessData.zip_code = val;\r\n }\r\n }\r\n\r\n // let ClientData = this.state;\r\n this.setState({\r\n businessData,\r\n google_address: true,\r\n });\r\n };\r\n handleInput = (e) => {\r\n let data = this.state.businessData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n\r\n if (\r\n name === \"capacity\" ||\r\n name === \"year_of_build\" ||\r\n name === \"business_name\" ||\r\n name === \"address1\" ||\r\n name === \"address2\" ||\r\n name === \"city\" ||\r\n name === \"zip_code\" ||\r\n name === \"fax_number\"\r\n // || name === \"email\" ||\r\n // name === \"website\"\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ businessData: data });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.businessData;\r\n let errors = this.state.errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n // const value1 = value.slice(0, max);\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ businessData: data, errors: errors });\r\n }\r\n /* for country detail change */\r\n selectCountry(val) {\r\n let data = this.state.businessData;\r\n data.country = val;\r\n this.setState({ businessData: data });\r\n }\r\n /* for state detail change */\r\n\r\n selectState(val) {\r\n let data = this.state.businessData;\r\n data.state = val;\r\n this.setState({ businessData: data });\r\n }\r\n handlePhoneInput = (event) => {\r\n let businessData = this.state.businessData;\r\n businessData.phone_number = event;\r\n this.setState({ businessData });\r\n };\r\n handleSechduleType = (e) => {\r\n let data = this.state.businessData;\r\n data.schedule_type = [e.target.value];\r\n this.setState({ businessData: data });\r\n };\r\n handleWorkingDays = (e) => {\r\n let data = this.state.businessData;\r\n let working_days_data = data.working_days;\r\n let working_all_days_data = data.working_all_days;\r\n\r\n if (\"allDaysId\" === e.target.id) {\r\n working_all_days_data = !working_all_days_data;\r\n\r\n data.working_all_days = working_all_days_data;\r\n\r\n data.working_all_days\r\n ? (data.working_days = working_days)\r\n : (data.working_days = []);\r\n } else {\r\n const newSelection = e.target.value;\r\n let newSelectionArray;\r\n\r\n if (data.working_days.indexOf(newSelection) > -1) {\r\n newSelectionArray = data.working_days.filter((s) => s !== newSelection);\r\n } else {\r\n newSelectionArray = [...data.working_days, newSelection];\r\n }\r\n\r\n data.working_days = newSelectionArray;\r\n let wd = [];\r\n data.working_days.forEach((element, index) => {\r\n if (working_days.indexOf(element) > -1) {\r\n wd.push(element);\r\n }\r\n });\r\n\r\n data.working_days = wd;\r\n }\r\n\r\n data.working_days.length === 7\r\n ? (data.working_all_days = true)\r\n : (data.working_all_days = false);\r\n\r\n this.setState({ businessData: data });\r\n };\r\n /* for work detail change */\r\n handleWorkhoursChange(field, value) {\r\n let data = this.state.businessData;\r\n let working_hours_data = data.working_hours;\r\n\r\nif(working_hours_data === \"\"){\r\n working_hours_data = {\r\n morning_opens_at: '',\r\n morning_close_at: '',\r\n evening_opens_at: '',\r\n evening_close_at: '',\r\n hours_24: false,\r\n };\r\n}\r\n if (\"24Hours\" === field) {\r\n working_hours_data.hours_24 = !working_hours_data.hours_24;\r\n working_hours_data.morning_opens_at = '00:00';\r\n working_hours_data.morning_close_at = '11:59';\r\n working_hours_data.evening_opens_at = '12:00';\r\n working_hours_data.evening_close_at = '23:59';\r\n } else {\r\n working_hours_data.hours_24 = false;\r\n working_hours_data[`${field}`] = value.target.value;\r\n }\r\n\r\n data.working_hours = working_hours_data;\r\n\r\n this.setState({ businessData: data });\r\n }\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.businessData;\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ businessData: data });\r\n };\r\n // handleFormSubmit = (e) => {\r\n // e.preventDefault();\r\n\r\n // let { businessData, errors } = this.state;\r\n\r\n // errors = Validation(businessData, errors);\r\n\r\n // this.setState({ errors: errors });\r\n // if (errors.formIsValid) {\r\n // console.log(\"form is valid\");\r\n\r\n // // LoginApi(ClientData);\r\n\r\n // try {\r\n // const result = axios.post(UpdateBusiness, businessData, {\r\n // headers: {\r\n // \"application-id\": \"c86ae3f5-3a96-49f2-af05-94746357d0ec\",\r\n // \"Content-Type\": \"application/json\",\r\n // \"Access-Control-Allow-Origin\": \"*\",\r\n // \"Access-Control-Allow-Methods\": \"OPTIONS,GET,PUT,POST,DELETE\",\r\n // \"Access-Control-Allow-Headers\": \"X-Requested-With, Content-Type\",\r\n // },\r\n // });\r\n // console.log(result.data);\r\n // // dispatch(\r\n // // addUserDeails(result.data)\r\n // // )\r\n // } catch (e) {\r\n // // dispatch(\r\n // // addError(e.message)\r\n // // )\r\n // }\r\n // }\r\n // };\r\n componentDidMount() {\r\n\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address1\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n /** Reviews */\r\n let data = {};\r\n data.user_id = this.props.userdata.id;\r\n data.user_type = this.props.userdata.user_type;\r\n // data.user_type = \"doctor\";\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(\r\n getReviwes,\r\n { user_id: data.user_id, user_type: data.user_type },\r\n CONFIG\r\n )\r\n .then((reviewResult) => {\r\n let reviewResultData = reviewResult.data;\r\n let commentsData = reviewResultData.data.comments;\r\n console.log(commentsData);\r\n // let commentsArr = this.state.commentsArr;\r\n\r\n let reviewinfo = this.state.reviewinfo;\r\n reviewinfo.friendliness = reviewResultData.data.friendlyness;\r\n reviewinfo.value_of_money = reviewResultData.data.value_of_money;\r\n reviewinfo.less_wait_time = reviewResultData.data.less_wait_time;\r\n reviewinfo.best_treatment = reviewResultData.data.best_treatment;\r\n reviewinfo.easy_explanation = reviewResultData.data.easy_explanation;\r\n reviewinfo.good_facility = reviewResultData.data.good_facility;\r\n this.setState({ reviewinfo });\r\n\r\n this.setState({ commentsArr: commentsData });\r\n })\r\n .catch((e) => { });\r\n setTimeout(\r\n () => this.getBusinessById(),\r\n\r\n 1000\r\n );\r\n }\r\n handlePaymentSelect = (e) => {\r\n /* const { name, value } = e.target;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n */\r\n let data = this.state.businessData;\r\n data.payment_type = [e.target.value];\r\n this.setState({ businessData: data });\r\n }\r\n addPaymentDetail() {\r\n this.setState((prevState) => ({\r\n payment_details: [\r\n ...prevState.payment_details,\r\n {\r\n \"credit_card\": \"\",\r\n \"card_name\": \"\",\r\n \"card_type\": {\r\n \"label\": \"\",\r\n \"value\": \"\"\r\n },\r\n \"expiry_month\": \"\",\r\n \"expiry_year\": \"\",\r\n \"cvv\": \"\",\r\n \"payment_option\": \"\"\r\n },\r\n ],\r\n }));\r\n this.setState((prevState) => ({\r\n payment_details_error: [\r\n ...prevState.payment_details_error,\r\n {\r\n \"credit_card\": \"\",\r\n \"card_name\": \"\",\r\n \"card_type\": {\r\n \"label\": \"\",\r\n \"value\": \"\"\r\n },\r\n \"expiry_month\": \"\",\r\n \"expiry_year\": \"\",\r\n \"cvv\": \"\",\r\n \"payment_option\": \"\"\r\n },\r\n ],\r\n }));\r\n }\r\n\r\n removePaymentDetail(i) {\r\n let payment_details = [...this.state.payment_details];\r\n payment_details.splice(i, 1);\r\n this.setState({ payment_details });\r\n }\r\n\r\n handlePaymentDetailChange(i, value, field) {\r\n\r\n \r\n let fields = this.state.payment_details;\r\n\r\n let payment_details_error = this.state.payment_details_error;\r\n if (value === \"credit_card\" || value === \"card_name\" || value === \"payment_option\" || value === \"cvv\") {\r\n\r\n // const re = /^[0-9\\b]+$/;\r\n // console.log(field.target.value);\r\n // if (field.target.value === '' || re.test(field.target.value)) {\r\n // this.setState({value: field.target.value})\r\n // } \r\n \r\n let max = field.target.max;\r\n let v = field.target.value;\r\n\r\n if (v.length > max) {\r\n const value1 = v.slice(0, max);\r\n payment_details_error[i][value] = \"Maximum Length has exceeded.\";\r\n fields[i][value] = value1;\r\n } else {\r\n payment_details_error[i][value] = \"\";\r\n if(value === \"card_name\")\r\n fields[i][value] = v.replace(/[^a-zA-Z]/ig,'');\r\n else if(value === \"credit_card\" || value === \"cvv\")\r\n fields[i][value] = v.replace(/[^0-9]/ig,'');\r\n else \r\n fields[i][value] = v;\r\n\r\n }\r\n\r\n console.log(payment_details_error);\r\n console.log(fields);\r\n } else if (value === \"card_type\" || value === \"expiry_month\" || value === \"expiry_year\") {\r\n fields[i][value] = field;\r\n }\r\n this.setState({\r\n payment_details_error: payment_details_error,\r\n payment_details: fields\r\n });\r\n }\r\n\r\n\r\n getBusinessById = () => {\r\n axios\r\n .post(\r\n getBusinessById,\r\n { business_id: this.props.userdata.id },\r\n AUTH_CONFIG\r\n )\r\n .then((response) => {\r\n if (response.data.status === \"1\") {\r\n \r\n let data = response.data.data[0];\r\n\r\n let speciality = [];\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n\r\n console.log(data.speciality);\r\n console.log(data.speciality.length);\r\n \r\n if (data.speciality) {\r\n let arr1=data.speciality.split(',');\r\n arr1.forEach((e1,i)=>specialities_array.forEach((element, index) => {\r\n if (e1==element.id) {\r\n speciality.push({\r\n value: element.id,\r\n label: element.name,\r\n });\r\n }\r\n }\r\n ))\r\n };\r\n \r\n \r\n if (!data.payment_details || data.payment_details == null||data.payment_details ==\"\") {\r\n data.payment_details = [{\r\n \"credit_card\": \"\",\r\n \"card_name\": \"\",\r\n \"card_type\": {\r\n \"label\": \"\",\r\n \"value\": \"\"\r\n },\r\n \"expiry_month\": \"\",\r\n \"expiry_year\": \"\",\r\n \"cvv\": \"\",\r\n \"payment_option\": \"\"\r\n }];\r\n } else {\r\n data.payment_details = data.payment_details;\r\n }\r\n data.speciality = speciality;\r\n console.log(data.payment_details);\r\n let facility = [];\r\n let facilities_array = this.props.appdata\r\n ? this.props.appdata[0].facilities\r\n : [];\r\n if (data.facility) {\r\n facilities_array.forEach((element, index) => {\r\n if (data.facility.indexOf(element.id) > -1) {\r\n facility.push({\r\n value: element.id,\r\n label: element.facility_name,\r\n });\r\n }\r\n });\r\n }\r\n\r\n data.facility = facility;\r\n let working_hours = {\r\n morning_opens_at: '',\r\n morning_close_at: '',\r\n evening_opens_at: '',\r\n evening_close_at: '',\r\n hours_24: false,\r\n };\r\n\r\n if (\"null\" === data.working_hours || null == data.working_hours) {\r\n data.working_hours = working_hours;\r\n } else {\r\n data.working_hours = data.working_hours;\r\n }\r\n\r\n /* Working Days section */\r\n if (null == data.working_days) {\r\n data.working_days = [];\r\n } else {\r\n data.working_days = data.working_days;\r\n if (7 === data.working_days.length) {\r\n data.working_all_days = true;\r\n } else {\r\n data.working_all_days = false;\r\n }\r\n }\r\n console.log(data);\r\n\r\n // data.phone_number = (data.phone_number.includes(data.phone_code) && data.phone_code != null)? data.phone_number : data.phone_code.concat(data.phone_number);\r\n data.phone_number = data.phone_code == null ? \"+91\"+data.phone_number : data.phone_code.concat(data.phone_number);\r\n data.payment_type=data.payment_type.toString();\r\n this.setState({ businessData: data,payment_details:data.payment_details });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e)\r\n });\r\n };\r\n editProfile() {\r\n //enable the fields to edit\r\n this.setState({ editable: !this.state.editable });\r\n }\r\n cancelEdit() {\r\n // this.setState({ editDisabled: !this.state.editDisabled });\r\n this.setState({ editable: !this.state.editable });\r\n }\r\n updateProfile = (e) => {\r\n e.preventDefault();\r\n\r\n let { businessData, errors } = this.state;\r\n\r\n businessData.user_type = \"hospitalsignup\";\r\n\r\n errors = Validation(businessData, errors);\r\n console.log(errors,businessData); \r\n this.setState({ errors: errors });\r\n // return false; \r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n let speciality = [];\r\n let data = businessData;\r\n\r\n if (data.speciality) {\r\n data.speciality.forEach((element) => speciality.push(element.value));\r\n }\r\n // data.category = businessData.category_array[0].value;\r\n data.speciality = speciality.toString();\r\n data.schedule_type = data.schedule_type.toString();\r\n let facility = [];\r\n\r\n if (data.facility) {\r\n data.facility.forEach((element) => facility.push(element.value));\r\n }\r\n\r\n data.facility = facility.toString();\r\n // data.phone_code = \"+\" + parsePhoneNumber(data.phone_number).countryCallingCode;\r\n // data.phone_number = parsePhoneNumber(data.phone_number).nationalNumber;\r\n data.payment_details = this.state.payment_details;\r\n data.payment_type=data.payment_type.toString();\r\n\r\n try {\r\n const result = axios.put(UpdateBusiness, data, AUTH_CONFIG);\r\n\r\n const p = Promise.resolve(result);\r\n\r\n let resultdata = p.then((value) => {\r\n if (value.data.status === \"1\") {\r\n // this.props.history.push(\"/dashboard\");\r\n\r\n let speciality = [];\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n if (data.speciality) {\r\n let arr1=data.speciality.split(',');\r\n arr1.forEach((e1,i)=>specialities_array.forEach((element, index) => {\r\n if (e1==element.id) {\r\n speciality.push({\r\n value: element.id,\r\n label: element.name,\r\n });\r\n }\r\n }\r\n ))\r\n }\r\n data.speciality = speciality;\r\n\r\n let facility = [];\r\n let facilities_array = this.props.appdata\r\n ? this.props.appdata[0].facilities\r\n : [];\r\n if (data.facility) {\r\n facilities_array.forEach((element, index) => {\r\n if (data.facility.indexOf(element.id) > -1) {\r\n facility.push({\r\n value: element.id,\r\n label: element.facility_name,\r\n });\r\n }\r\n });\r\n }\r\n\r\n data.facility = facility;\r\n console.log(data);\r\n // data.phone_number = data.phone_code.concat(data.phone_number);\r\n\r\n this.setState({ businessData: data });\r\n toast.success(\"Your profile has been updated successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n }\r\n if (value.data.status === \"0\") {\r\n this.setState({\r\n error: value.data.message,\r\n formSuccess: value.data,\r\n });\r\n toast.error(\"Profile could not be updated.\",{\r\n className:\"toast-error\"\r\n });\r\n }\r\n this.clearMessage();\r\n setTimeout(() => this.setState({ loading: false }), 1000);\r\n // this.setState({ formSuccess: value.data });\r\n });\r\n // dispatch(\r\n // addUserDeails(result.data)\r\n // )\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n // dispatch(\r\n // addError(e.message)\r\n // )\r\n }\r\n }\r\n };\r\n \r\n DeleteAccount=(user_id,user_type)=> {\r\n \r\n // let user_id = this.props.userdata.id;\r\n // let user_type=this.props.userdata.user_type;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(DeleteAccount, { user_id: user_id ,user_type:user_type}, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n \r\n toast.error(\"Hospital Account deleted. \", {\r\n className: \"toast-error\"\r\n });\r\n \r\n }\r\n })\r\n .catch((e) => { });\r\n this.setState({ deletePopup: false, record: null });\r\n\r\n this.setState({\r\n confirmedDelete: false,\r\n });\r\n \r\n\r\n };\r\n enableEditable = (e) => {\r\n e.preventDefault();\r\n console.log(this.state.editable);\r\n this.setState({ editable: !this.state.editable });\r\n };\r\n render() {\r\n const {\r\n businessData,\r\n errors,\r\n payment_details,\r\n payment_details_error,\r\n reviewinfo,\r\n commentsArr,\r\n formSuccess,\r\n hospitaltimeout,loading\r\n } = this.state;\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n let PopupConfirm = () =>\r\n this.DeleteAccount(this.props.userdata.id,this.props.userdata.user_type);\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n let specialities = [];\r\n specialities_array.forEach((element, index) => {\r\n specialities.push({ value: element.id, label: element.name });\r\n });\r\n specialities_array = specialities;\r\n\r\n let facilities_array = this.props.appdata\r\n ? this.props.appdata[0].facilities\r\n : [];\r\n let facilities = [];\r\n facilities_array.forEach((element, index) => {\r\n facilities.push({ value: element.id, label: element.facility_name });\r\n });\r\n facilities_array = facilities;\r\n\r\n return (\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n {/*
    \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.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\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({ deletePopup: true})\r\n }\r\n className=\"s3 float-right\"\r\n >\r\n Delete Account\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* \r\n Edit\r\n \r\n \r\n Cancel\r\n \r\n \r\n Save Changes\r\n */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    Hospital Details
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\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.selectCountry(val)\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n this.selectState(val)\r\n }\r\n placeholder=\"State\"\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {/*
    \r\n \r\n \r\n Su\r\n \r\n
    */}\r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n \r\n {/* {(businessData.speciality.length>0)?\"MultiSpeciality\": \r\n */} \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n {/* \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n Pay online\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Pay at Clinic\r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Update\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    Payment Details
    \r\n
    \r\n {payment_details.length ? payment_details.map((el, i) => (\r\n \r\n \r\n {/*
    \r\n {i === 0 ? (\r\n
    \r\n Payment Details\r\n \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n \r\n
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n */}\r\n */}\r\n \r\n \r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n )):\"\"}\r\n
    \r\n
    \r\n
    \r\n
    Reviews
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {\" \"}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Comments\r\n
    \r\n
    \r\n
    \r\n {commentsArr\r\n ? commentsArr.map((element, index) => {\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 {element.commenter\r\n ? element.commenter\r\n : \"\"}{\" \"}\r\n \r\n {\" \"}\r\n {element.reviewed_on\r\n ? element.reviewed_on\r\n : \"\"}\r\n \r\n
    \r\n \r\n \r\n

    \r\n

    \r\n {element.comment_text\r\n ? element.comment_text\r\n : \"\"}\r\n

    \r\n
    \r\n
    \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nexport default withRouter(connect(mapStateToProps,mapDispatchToProps)(BusinessUserProfile));\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport StarRatings from \"react-star-ratings\";\r\n//import starRating from '../UI/starRating';\r\nimport { getClientShortDetail,updateavatar,getAdvertisementData } from \"../../../../config/url.json\";\r\nimport { AUTH_CONFIG, CONFIG, imageconfig } from \"../../../../config/data\";\r\nimport {getProfilePercentage} from \"../../../../constants/globalLevelFunctions\";\r\nimport { ProfilePicModel } from \"../../../../components/UI/ProfilePicModel\";\r\nimport OwlCarousel from \"react-owl-carousel\";\r\nimport \"owl.carousel/dist/assets/owl.carousel.css\";\r\nimport \"owl.carousel/dist/assets/owl.theme.default.css\";\r\nimport axios from \"axios\";\r\nimport S3 from \"react-aws-s3\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nfunction mapStateToProps(state) {\r\n // console.log(state);\r\n\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nclass Header extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.options = {\r\n autoplay: true,\r\n loop: true,\r\n nav:false,\r\n items:1,\r\n dots:false,\r\n }\r\n this.state = {\r\n adverdisement:[],\r\n access_token: props.access_token,\r\n headerInfo: {\r\n avatar: \"\",\r\n full_name: \"\",\r\n registeration_id: \"\",\r\n blood_group: \"\",\r\n profile_percentage_style:\"\",\r\n profile_percentage:\"\"\r\n \r\n },\r\n };\r\n }\r\n componentDidMount() {\r\n let loggedInuserId = this.props.user_id;\r\n\r\n // axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.state.access_token}`;\r\n\r\n window.setTimeout(() => {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`; \r\n\r\n axios\r\n .post(getClientShortDetail, { client_id: loggedInuserId })\r\n .then((short_details) => {\r\n if (short_details.data.status === \"1\") {\r\n let info = short_details.data.data[0];\r\n let headerInfo = this.state.headerInfo;\r\n headerInfo.avatar = info.avatar;\r\n headerInfo.full_name = info.first_name + \" \" + info.last_name;\r\n headerInfo.registeration_id = info.patient_id;\r\n headerInfo.blood_group = info.blood_group;\r\n headerInfo.profile_percentage = info.profile_percentage;\r\n headerInfo.profile_percentage_style = getProfilePercentage(info.profile_percentage)\r\n \r\n headerInfo.avatar = info.avatar;\r\n this.setState({ headerInfo });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"client short info failed\");\r\n });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getAdvertisementData, null, CONFIG)\r\n .then((response) => {\r\n // console.log(response.data)\r\n \r\n if (response.data.status === \"1\") {\r\n // let info = short_details.data.data[0];\r\n // info.profile_percentage_style = getProfilePercentage(info.profile_percentage);\r\n \r\n this.setState({ adverdisement: response.data.data, loading: false });\r\n \r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"vendor info failed\");\r\n });\r\n\r\n\r\n }, 1000);\r\n }\r\n startWebCamera = event => {\r\n this.setState({openWebCamera: true});\r\n }\r\n\r\n imageSelectHandler = event =>{\r\n\r\n let files = event.target.files || event.dataTransfer.files;\r\n if (!files.length) {\r\n console.log('no files');\r\n return false;\r\n }\r\n console.log(files);\r\n console.log(files[0]);\r\n \r\n\r\n let file = event.target.files[0];\r\n let newfileName = event.target.files[0].name;\r\n\r\n // console.log(imageconfig);\r\n imageconfig.dirName = 'client/'+ this.props.userdata.id\r\n console.log(imageconfig);\r\n\r\n const reacts3client = new S3(imageconfig);\r\n console.log(reacts3client)\r\n reacts3client.uploadFile(file, newfileName).then(data => {\r\n console.log(data)\r\n if (data.status === 204) {\r\n console.log('success');\r\n let resultdata = {\r\n 'avatar':data.location,\r\n 'user_id':this.props.userdata.id,\r\n 'user_type':\"client\"\r\n }\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n axios.post(updateavatar,resultdata, CONFIG).then((result)=>{\r\n let headerInfo = this.state.headerInfo;\r\n headerInfo.avatar = data.location;\r\n this.setState({headerInfo:headerInfo, addPopup: false});\r\n toast.success(\"Your profile picture has successfully updated.\",{\r\n className:\"toast-success\"\r\n }); \r\n }) \r\n \r\n } else {\r\n console.log('error');\r\n // this.setState({profile_img: URL.createObjectURL(file), addPopup: false});\r\n }\r\n })\r\n \r\n }\r\n handleTakePhotoAnimationDone (dataUri) {\r\n // Do stuff with the photo...\r\n console.log('takePhoto');\r\n console.log(dataUri);\r\n const data = {\r\n file: dataUri\r\n };\r\n\r\n let reader = new FileReader();\r\n \r\n reader.onloadend = () => {\r\n this.setState({\r\n imagePreviewUrl: reader.result\r\n });\r\n }\r\n \r\n // reader.readAsDataURL(dataUri)\r\n\r\n console.log(this.state.selectedFile);\r\n\r\n var fd = new FormData();\r\n \r\n fd.append('file', this.state.selectedFile);\r\n \r\n var request = new XMLHttpRequest();\r\n \r\n request.onreadystatechange = function() {\r\n if (this.readyState === 4 && this.status === 200) {\r\n alert('Uploaded!');\r\n }\r\n };\r\n // request.open(\"POST\", uploadImage+'?user_id='+this.props.userdata.id, true);\r\n request.send(fd);\r\n\r\n\r\n }\r\n editImage = event =>{\r\n this.setState({ addPopup: true});\r\n }\r\n render() {\r\n let { headerInfo,adverdisement } = this.state;\r\n let PopupClose = () => this.setState({ addPopup: false, openWebCamera: false});\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n

    {headerInfo.profile_percentage}

    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n Profile \r\n
    \r\n \r\n \r\n \r\n
    \r\n

    {headerInfo.full_name}

    \r\n
    \r\n
    \r\n Registration ID :\r\n \r\n {\" \"}\r\n {headerInfo.registeration_id}\r\n {\" \"}\r\n
    \r\n
    \r\n {headerInfo.blood_group}\r\n
    \r\n
    \r\n
    \r\n \"Profile\"\r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n {/*
    \r\n

    {headerInfo.full_name}

    \r\n
    \r\n
    \r\n Registration ID :\r\n \r\n {\" \"}\r\n {headerInfo.registeration_id}\r\n {\" \"}\r\n
    \r\n
    \r\n {headerInfo.blood_group}\r\n
    \r\n
    */}\r\n
    \r\n \r\n \r\n {/*
    \r\n

    {headerInfo.profile_percentage}

    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n Profile \r\n
    */}\r\n
    \r\n \r\n
    \r\n {/*
    */}\r\n {/* */}\r\n {/* {(adverdisement.length ? \r\n (\r\n \r\n {adverdisement.map((data, i) => { \r\n return(
    \r\n {data.vendor_name}\r\n
    )\r\n })}\r\n \r\n
    \r\n ):())}\r\n
    */}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\n// export default Header;\r\n// const Header = (props) => {\r\n// console.log(\"client header\");\r\n// console.log(headerInfo);\r\n\r\n// return (\r\n\r\n// );\r\n// };\r\nexport default connect(mapStateToProps)(Header);\r\n","import React,{Fragment} from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter , Link} from \"react-router-dom\";\r\nfunction SideBar(props) {\r\n\r\n\r\n \r\n\r\n const handleLogout = (e) => {\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n props.logout();\r\n props.history.push(\"/\");\r\n };\r\n \r\n //let message_count = props.appdata?props.appdata[0].message_count : \"\";\r\n let message_count=0;\r\n\r\n const [click, setClick] = React.useState(false);\r\n\r\n const handleClick = () => setClick(!click);\r\n \r\n \r\n return (\r\n\r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n \r\n {/* */}\r\n \r\n
    \r\n {/**/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\nconst mapStateToProps = (state) => {\r\n \r\n return {\r\n loggedIn: state.AuthReducer.loggedIn,\r\n appdata: state.AppData,\r\n user: state.AuthReducer.user,\r\n message_count: state.AuthReducer.message_count,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n};\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(SideBar)\r\n);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst ToggleButton = (props) => (\r\n\r\n \r\n);\r\n\r\nToggleButton.propTypes = {\r\n // title: PropTypes.string.isRequired,\r\n\r\n controlFunc: PropTypes.func.isRequired\r\n};\r\n\r\nexport default ToggleButton;","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport Select from \"react-select\";\r\nimport ToggleButton from \"../components/UI/ToggleButton\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport Validation from \"../actions/Validation\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport Label from \"../components/UI/Label\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport * as moment from \"moment\";\r\nimport { stringToLabelValue } from \"../constants/globalLevelFunctions\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal'\r\nimport {\r\n nationalityArray,\r\n gender,\r\n language,\r\n relationship,\r\n maritial_status,\r\n card_type,\r\n} from \"../config/data\";\r\nimport PhoneInput, { isValidPhoneNumber, parsePhoneNumber } from \"react-phone-number-input\";\r\nimport { CountryDropdown, RegionDropdown } from \"react-country-region-selector\";\r\nimport axios from \"axios\";\r\nimport { getClientById } from \"../config/url.json\";\r\nimport { updateClient, getTimeoutbycategory,DeleteAccount } from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport MonthPick from \"../components/UI/MonthPick\";\r\nimport YearPick from \"../components/UI/YearPick\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nconst google = window.google;\r\n\r\nlet nationality = [];\r\nnationalityArray.forEach((element, index) => {\r\n nationality.push({ value: element, label: element });\r\n});\r\nconst currentYear = new Date().getFullYear();\r\n\r\nclass ClientProfile extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const timeout = this.state;\r\n\r\n this.state = {\r\n timeout: timeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n deletePopup: false,\r\n loggedInuserId: props.userdata.id,\r\n access_token: props.access_token,\r\n isDisable: false,\r\n editEnabled: true,\r\n editDisabled: false,\r\n formSuccess: { status: \"\", message: \"\" },\r\n headerInfo: {\r\n avatar: \"\",\r\n full_name: \"\",\r\n registeration_id: \"\",\r\n blood_group: \"\",\r\n },\r\n clientData: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n blood_group: \"\",\r\n gender: \"\",\r\n maritial_status: \"\",\r\n nationality: \"\",\r\n language: \"\",\r\n email: \"\",\r\n password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n user_type: \"patient\",\r\n phone_number: \"\",\r\n google_address: false,\r\n emergency_contact: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n relationship: \"\",\r\n phone_number: \"\",\r\n phone_code:\"+91\",\r\n },\r\n employment_details: {\r\n employer_name: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n employee_status: \"\",\r\n \r\n },\r\n vehicle_details: \r\n {\r\n vehicle_make: \"\",\r\n vehicle_model: \"\",\r\n vehicle_registration: \"\",\r\n year_of_make: \"\",\r\n vin_number: \"\",\r\n },\r\n \r\n payment_details: [\r\n {\r\n credit_card: \"\",\r\n card_name: \"\",\r\n card_type: \"\",\r\n expiry_month: \"\",\r\n expiry_year: \"\",\r\n cvv: \"\",\r\n payment_option: \"\",\r\n },\r\n ],\r\n \r\n insurance_details: {\r\n insurance_provider: \"\",\r\n policy_id_number: \"\",\r\n health_insurance_confirmation: \"\",\r\n patient_policy_holder: \"\",\r\n },\r\n medical_history: [],\r\n family_medical_history: [],\r\n },\r\n\r\n vehicle_details: [\r\n {\r\n vehicle_make: \"\",\r\n vehicle_model: \"\",\r\n vehicle_registration: \"\",\r\n year_of_make: \"\",\r\n vin_number: \"\",\r\n },\r\n ],\r\n\r\n payment_details: [\r\n {\r\n credit_card: \"\",\r\n card_name: \"\",\r\n card_type: \"\",\r\n expiry_month: \"\",\r\n expiry_year: \"\",\r\n cvv: \"\",\r\n payment_option: \"\",\r\n },\r\n ],\r\n payment_details_error: [{\r\n credit_card: \"\",\r\n card_name: \"\",\r\n card_type: \"\",\r\n expiry_month: \"\",\r\n expiry_year: \"\",\r\n cvv: \"\",\r\n payment_option: \"\",\r\n },],\r\n family_details: [\r\n {\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n relationship: \"\",\r\n blood_group: \"\",\r\n phone_number: \"\",\r\n },\r\n ],\r\n errors: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n blood_group: \"\",\r\n gender: \"\",\r\n maritial_status: \"\",\r\n nationality: \"\",\r\n language: \"\",\r\n email: \"\",\r\n password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n insurance_provider: \"\",\r\n policy_id_number: \"\",\r\n employer_name: \"\",\r\n address: \"\",\r\n credit_card: \"\",\r\n card_name: \"\",\r\n cvv: \"\",\r\n insurance_details: {\r\n insurance_provider: \"\",\r\n policy_id_number: \"\",\r\n health_insurance_confirmation: \"\",\r\n patient_policy_holder: \"\",\r\n },\r\n emergency_contact: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n relationship: \"\",\r\n phone_number: \"\",\r\n phone_code:\"+91\",\r\n },\r\n employment_details: {\r\n employer_name: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n employee_status: \"\",\r\n },\r\n\r\n },\r\n \r\n family_details_errors: [\r\n {\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n relationship: \"\",\r\n blood_group: \"\",\r\n phone_number: \"\",\r\n },\r\n ],\r\n };\r\n\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n this.autocomplete = null;\r\n //this.handleWorkhoursChange = this.handleWorkhoursChange.bind(this);\r\n this.handleInput = this.handleInput.bind(this);\r\n this.handleEmployeePlaceSelect = this.handleEmployeePlaceSelect.bind(this);\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n }\r\n }\r\n\r\n\r\n\r\n componentDidMount() {\r\n\r\n this.autocomplete_address1 = new google.maps.places.Autocomplete(document.getElementById(\"address1\"),{});\r\n this.autocomplete_address1.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n this.autocomplete = new google.maps.places.Autocomplete(document.getElementById('address'), {});\r\n this.autocomplete.addListener(\"place_changed\", this.handleEmployeePlaceSelect);\r\n\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n timeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.state.access_token}`;\r\n axios\r\n .post(getClientById, { client_id: this.state.loggedInuserId }, CONFIG)\r\n .then((result) => {\r\n if (result.data.status === \"1\") {\r\n let data = result.data.data;\r\n let family_details = result.data.data.family_details;\r\n\r\n this.setState({ family_details: family_details });\r\n let ExistingvehicleDetails = this.state.vehicle_details;\r\n let ExistingPaymentDetails = this.state.payment_details;\r\n console.log(this.state.payment_details);\r\n if (data.payment_details == null||data.payment_details ==\"\") {\r\n data.payment_details = {\r\n credit_card: \"\",\r\n card_name: \"\",\r\n expiry_month: \"\",\r\n expiry_year: \"\",\r\n cvv: \"\",\r\n payment_option: \"\",\r\n };\r\n } else {\r\n const payment_details=data.payment_details;\r\n if (Array.isArray(payment_details) && payment_details.length > 0) {\r\n data.payment_details =JSON.stringify(payment_details[0], null, 2);\r\n data.payment_details=JSON.parse(data.payment_details);\r\n \r\n }else\r\n {\r\n data.payment_details=data.payment_details;\r\n }\r\n }\r\n if (data.vehicle_details == null) {\r\n data.vehicle_details = {\r\n vehicle_make: \"\",\r\n vehicle_model: \"\",\r\n vehicle_registration: \"\",\r\n year_of_make: \"\",\r\n vin_number: \"\",\r\n };\r\n } else {\r\n data.vehicle_details = JSON.parse(data.vehicle_details);\r\n }\r\n if (data.emergency_contact == null) {\r\n data.emergency_contact = {\r\n first_name: \"\",\r\n last_name: \"\",\r\n relationship: \"\",\r\n phone_number: \"\",\r\n phone_code:\"+91\",\r\n };\r\n }\r\n if (data.employment_details == null||data.employment_details == \"\") {\r\n data.employment_details = {\r\n employer_name: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n employee_status: \"\",\r\n };\r\n }\r\n \r\n if (data.insurance_details == null||data.insurance_details ==\"\") {\r\n data.insurance_details = {\r\n insurance_provider: \"\",\r\n policy_id_number: \"\",\r\n health_insurance_confirmation: \"\",\r\n patient_policy_holder: \"\",\r\n };\r\n }\r\n const yourDate = data.date_of_birth;\r\n\r\n data.date_of_birth = data.date_of_birth ? moment(yourDate, moment.defaultFormat).toDate() : \"\";\r\n // console.log(data.date_of_birth);\r\n this.handleDOBChange(data.date_of_birth);\r\n\r\n if (data.family_medical_history == null) {\r\n data.family_medical_history = [];\r\n }\r\n if (data.medical_history == null) {\r\n data.medical_history = [];\r\n }\r\n let convertedblood = [];\r\n if (data.blood_group != null) {\r\n convertedblood = {\r\n label: data.blood_group,\r\n value: data.blood_group,\r\n };\r\n }\r\n\r\n let convertedgender = [];\r\n if (data.gender != null) {\r\n convertedgender = {\r\n label: data.gender,\r\n value: data.gender,\r\n };\r\n }\r\n let convertedmaritial_status = [];\r\n if (data.marital_status != null) {\r\n convertedmaritial_status = {\r\n label: data.marital_status,\r\n value: data.marital_status,\r\n };\r\n }\r\n data.language = stringToLabelValue(data.language);\r\n\r\n let convertednationality = [];\r\n if (data.nationality != null) {\r\n convertednationality = {\r\n label: data.nationality,\r\n value: data.nationality,\r\n };\r\n }\r\n data.nationality = convertednationality;\r\n data.gender = convertedgender;\r\n data.blood_group = convertedblood;\r\n data.maritial_status = convertedmaritial_status;\r\n data.phone_number = data.phone_number.includes(\"+91\") ? data.phone_number : data.phone_code.concat(data.phone_number);\r\n ExistingvehicleDetails.splice(0, 1, data.vehicle_details);\r\n\r\n ExistingPaymentDetails.splice(0, 1, data.payment_details);\r\n\r\n this.setState({\r\n vehicle_details: ExistingvehicleDetails,\r\n payment_details: ExistingPaymentDetails,\r\n });\r\n this.setState({\r\n clientData: data,\r\n\r\n // family_details: JSON.parse(response.data.data.family_details),\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"business user getbyid failed\");\r\n });\r\n console.log(\"mountdone\");\r\n console.log(this.state.vehicle_details);\r\n }\r\n\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n addDisResponseMessage: { message: \"\" },\r\n formSuccess: { message: \"\" },\r\n searchformSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n\r\n addVehicleDetail() {\r\n this.setState((prevState) => ({\r\n vehicle_details: [\r\n ...prevState.vehicle_details,\r\n {\r\n vehicle_make: \"\",\r\n vehicle_model: \"\",\r\n vehicle_registration: \"\",\r\n year_of_make: \"\",\r\n vin_number: \"\",\r\n },\r\n ],\r\n }));\r\n }\r\n\r\n removeVehicleDetail(i) {\r\n let vehicle_details = [...this.state.vehicle_details];\r\n vehicle_details.splice(i, 1);\r\n this.setState({ vehicle_details });\r\n }\r\n\r\n handleVehicleDetailChange(i, value, field) {\r\n let fields = this.state.vehicle_details;\r\n\r\n if (value === \"vehicle_make\") {\r\n fields[i].vehicle_make = field.target.value;\r\n } else if (value === \"vehicle_model\") {\r\n fields[i].vehicle_model = field.target.value;\r\n } else if (value === \"vehicle_registration\") {\r\n fields[i].vehicle_registration = field.target.value;\r\n } else if (value === \"year_of_make\") {\r\n fields[i].year_of_make = field.target.value;\r\n } else if (value === \"vin_number\") {\r\n fields[i].vin_number = field.target.value;\r\n }\r\n this.setState({\r\n vehicle_details: fields,\r\n });\r\n }\r\n\r\n addPaymentDetail() {\r\n this.setState((prevState) => ({\r\n payment_details: [\r\n ...prevState.payment_details,\r\n {\r\n credit_card: \"\",\r\n card_name: \"\",\r\n card_type: \"\",\r\n expiry_month: \"\",\r\n expiry_year: \"\",\r\n cvv: \"\",\r\n payment_option: \"\",\r\n },\r\n ],\r\n }));\r\n this.setState((prevState) => ({\r\n payment_details_error: [\r\n ...prevState.payment_details_error,\r\n {\r\n credit_card: \"\",\r\n card_name: \"\",\r\n card_type: \"\",\r\n expiry_month: \"\",\r\n expiry_year: \"\",\r\n cvv: \"\",\r\n payment_option: \"\",\r\n },\r\n ],\r\n }));\r\n }\r\n\r\n removePaymentDetail(i) {\r\n let payment_details = [...this.state.payment_details];\r\n payment_details.splice(i, 1);\r\n this.setState({ payment_details });\r\n }\r\n\r\n handlePaymentDetailChange(i, value, field) {\r\n\r\n \r\n let fields = this.state.payment_details;\r\n\r\n let payment_details_error = this.state.payment_details_error;\r\n if (value === \"credit_card\" || value === \"card_name\" || value === \"payment_option\" || value === \"cvv\") {\r\n\r\n // const re = /^[0-9\\b]+$/;\r\n // console.log(field.target.value);\r\n // if (field.target.value === '' || re.test(field.target.value)) {\r\n // this.setState({value: field.target.value})\r\n // } \r\n \r\n let max = field.target.max;\r\n let v = field.target.value;\r\n\r\n if (v.length > max) {\r\n const value1 = v.slice(0, max);\r\n payment_details_error[i][value] = \"Maximum Length has exceeded.\";\r\n fields[i][value] = value1;\r\n } else {\r\n payment_details_error[i][value] = \"\";\r\n if(value === \"card_name\")\r\n fields[i][value] = v.replace(/[^a-zA-Z]/ig,'');\r\n else if(value === \"credit_card\")\r\n fields[i][value] = v.replace(/^(?:5[1-5][0-9]{14})$/ig,'');\r\n else if(value === \"cvv\")\r\n fields[i][value] = v.replace(/[^0-9]/ig,'');\r\n else \r\n fields[i][value] = v;\r\n\r\n }\r\n\r\n console.log(payment_details_error);\r\n console.log(fields);\r\n } else if (value === \"card_type\" || value === \"expiry_month\" || value === \"expiry_year\") {\r\n fields[i][value] = field;\r\n }\r\n this.setState({\r\n payment_details_error: payment_details_error,\r\n payment_details: fields\r\n });\r\n }\r\n\r\n handlePlaceSelect() {\r\n let place = this.autocomplete_address1.getPlace();\r\n console.log(place);\r\n\r\n let { clientData,errors } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n\r\n if (addressType === \"administrative_area_level_1\")\r\n {\r\n clientData.state = val;\r\n errors.state = \"\"\r\n }\r\n if (addressType === \"locality\")\r\n clientData.city = val;\r\n errors.city=\"\";\r\n if (addressType === \"country\") clientData.country = val;\r\n errors.country=\"\";\r\n clientData.address1 = place.name;\r\n if (addressType === \"sublocality_level_1\") clientData.address2 = val;\r\n if (addressType === \"postal_code\") clientData.zip_code = val;\r\n errors.zip_code=\"\";\r\n }\r\n }\r\n\r\n this.setState({\r\n clientData,\r\n google_address: true,\r\n });\r\n }\r\n\r\n handleEmployeePlaceSelect() {\r\n let newplace = this.autocomplete.getPlace();\r\nconsole.log(newplace);\r\n let { clientData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n\r\n for (var i = 0; i < newplace.address_components.length; i++) {\r\n var addressType = newplace.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = newplace.address_components[i][componentForm[addressType]];\r\n\r\n if (addressType === \"administrative_area_level_1\")\r\n clientData.employment_details.state = val;\r\n if (addressType === \"locality\")\r\n clientData.employment_details.city = val;\r\n if (addressType === \"country\")\r\n clientData.employment_details.country = val;\r\n\r\n clientData.employment_details.address = newplace.name;\r\n // if (addressType === \"sublocality_level_1\")\r\n // clientData.employment_details.address2 = val;\r\n if (addressType === \"postal_code\")\r\n clientData.employment_details.zip_code = val;\r\n }\r\n }\r\n\r\n this.setState({\r\n clientData,\r\n google_address: true,\r\n });\r\n }\r\n\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.clientData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ clientData: data, errors: errors });\r\n }\r\n handleInput = (e) => {\r\n let data = this.state.clientData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n\r\n if (\r\n name === \"first_name\" ||\r\n name === \"last_name\" ||\r\n name === \"email\" ||\r\n name === \"city\" ||\r\n name === \"address1\" ||\r\n name === \"zip_code\" ||\r\n name === \"phone_number\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ clientData: data });\r\n };\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.clientData;\r\n let errors=this.state.errors;\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ clientData: data });\r\n };\r\n handlenationalityselectChange = (selectedOptions, e) => {\r\n let data = this.state.clientData;\r\n let errors=this.state.errors;\r\n data[e.name] = selectedOptions;\r\n errors.nationality=\"\";\r\n this.setState({ clientData: data });\r\n };\r\n handlegenderselectChange = (selectedOptions, e) => {\r\n let data = this.state.clientData;\r\n let errors=this.state.errors;\r\n data[e.name] = selectedOptions;\r\n errors.gender= \"\";\r\n this.setState({ clientData: data });\r\n };\r\n handlemaritalstatusselectChange = (selectedOptions, e) => {\r\n let data = this.state.clientData;\r\n let errors=this.state.errors;\r\n data[e.name] = selectedOptions;\r\n errors.maritial_status= \"\";\r\n this.setState({ clientData: data });\r\n };\r\n\r\n /* for country detail change */\r\n selectCountry(val) {\r\n let data = this.state.clientData;\r\n data.country = val;\r\n this.setState({ clientData: data });\r\n }\r\n /* for state detail change */\r\n\r\n selectState(val) {\r\n let data = this.state.clientData;\r\n data.state = val;\r\n this.setState({ clientData: data });\r\n }\r\n\r\n handlePhoneInput = (event) => {\r\n let clientData = this.state.clientData;\r\n clientData.phone_number = event;\r\n this.setState({ clientData });\r\n };\r\n \r\n handleDOBChange = (date) => {\r\n let clientData = this.state.clientData;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n clientData.date_of_birth = offsetDate;\r\n this.setState({ clientData: clientData });\r\n };\r\n handleEmploymentDetails(field, value) {\r\n let data = this.state.clientData;\r\n let errors=this.state.errors;\r\n if (!errors.employment_details) {\r\n errors.employment_details = {}; \r\n }\r\n if (\r\n field === \"country\" ||\r\n field === \"state\" ||\r\n field === \"employee_status\" \r\n ){\r\n data.employment_details[field] = value;\r\n }\r\n // else data.employment_details[field] = value.target.value;\r\n else if (field === \"phone_number\") {\r\n const phoneNumber = value || \"\";\r\n const isValid = isValidPhoneNumber(phoneNumber);\r\n\r\n if ((phoneNumber !== \"\" && isValid==false) || phoneNumber.length > 14) {\r\n \r\n errors.employment_details[field] = \"Please enter valid employee Phone number.\";\r\n //const value1 = value.slice(0, 13);\r\n \r\n //data.emergency_contact[field] = value1;\r\n \r\n } else {\r\n \r\n errors.employment_details[field] = \"\";\r\n data.employment_details[field] = value;\r\n }\r\n }\r\n else\r\n {\r\n data.employment_details[field] = value.target.value;\r\n }\r\n this.setState({ clientData: data });\r\n }\r\n \r\n /* handleEmploymentDetails(field, value) {\r\n let data = this.state.clientData;\r\n\r\n let errors = this.state.errors;\r\n if (field === \"country\" || field === \"state\" || field === \"employee_status\") {\r\n\r\n data.employment_details[field] = value;\r\n } else if (field === \"phone_number\") {\r\n\r\n if (value !== \"\" &&\r\n !isValidPhoneNumber(data.employment_details.phone_number)) {\r\n\r\n // errors.employment_details.phone_number = \"Please enter valid Phone number.\";\r\n const value1 = value.slice(0, 13);\r\n\r\n data.employment_details.phone_number = value1;\r\n\r\n } else {\r\n\r\n errors.employment_details.phone_number = \"\";\r\n data.employment_details.phone_number = value;\r\n }\r\n\r\n }\r\n else {\r\n let max = value.target.max;\r\n value = value.target.value;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors.employment_details[field] = \"Exceeds maximum length\";\r\n data.employment_details[field] = value1;\r\n } else {\r\n\r\n\r\n errors.employment_details[field] = \"\";\r\n data.employment_details[field] = value.replace(/[^a-zA-Z]/ig,'');\r\n\r\n }\r\n\r\n // data.employment_details[field] = value.target.value;\r\n }\r\n\r\n this.setState({ clientData: data, errors: errors });\r\n\r\n };\r\n */\r\n\r\n // validateMaxLength(name, value, max) {\r\n // let data = this.state.clientData;\r\n // let errors = this.state.errors;\r\n\r\n // if (value.length > max) {\r\n // const value1 = value.slice(0, max);\r\n // errors[name] = \"Exceeds maximum length\";\r\n // data[name] = value1;\r\n // } else {\r\n // errors[name] = \"\";\r\n // data[name] = value;\r\n // }\r\n // this.setState({ clientData: data, errors: errors });\r\n // }\r\n\r\n handleInsuranceDetails(field, value) {\r\n let data = this.state.clientData;\r\n let errors = this.state.errors;\r\n console.log(\"handle inc change\");\r\n console.log(field);\r\n if(field===\"insurance_provider\"||field===\"policy_id_number\")\r\n {\r\n\r\n // let regex = new RegExp(\"^[a-zA-Z0-9]+$\");\r\n if(!data.insurance_details[field].match(/^[A-Za-z0-9]+$/)){\r\n errors.insurance_details[field]=\"Enter a valid insurance detail.\";\r\n }else\r\n {\r\n data.insurance_details[field]=value;\r\n errors.insurance_details[field]=\"\";\r\n \r\n } \r\n \r\n } \r\n if (field === \"health_insurance_confirmation\" ||\r\n field === \"patient_policy_holder\")\r\n {\r\n data.insurance_details[field] = value.target.checked === true ? \"Yes\" : \"No\";\r\n } \r\n \r\n else {\r\n let max = value.target.max;\r\n value = value.target.value;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[field] = \"Maximum Length has exceeded.\";\r\n data.insurance_details[field] = value1;\r\n } else {\r\n errors[field] = \"\";\r\n data.insurance_details[field] = value;\r\n }\r\n }\r\n \r\n \r\n this.setState({ clientData: data });\r\n }\r\n\r\n handelVehicleDetails(field, value) {\r\n let data = this.state.clientData;\r\n data.vehicle_details[field] = value.target.value;\r\n this.setState({ clientData: data });\r\n }\r\n handelPaymentDetails(field, value) {\r\n let data = this.state.clientData;\r\n\r\n if (\r\n field === \"card_type\" ||\r\n field === \"expiry_month\" ||\r\n field === \"expiry_year\"\r\n )\r\n data.payment_details[field] = value;\r\n else data.payment_details[field] = value.target.value;\r\n\r\n this.setState({ clientData: data });\r\n\r\n }\r\n\r\n /* handelEmergencyContact(field, value) {\r\n let data = this.state.clientData;\r\n let errors = this.state.errors;\r\n if (field === \"relationship\") {\r\n\r\n\r\n data.emergency_contact[field] = value;\r\n }\r\n else if (field === \"phone_number\")\r\n {\r\n console.log(value);\r\n\r\n if ((value !== \"\" && value !== undefined) && !isValidPhoneNumber(data.emergency_contact[field]) && value.length > 13) {\r\n console.log(value);\r\n errors.emergency_contact[field] = \"Please enter a valid Phone number.\";\r\n //const value1 = value.slice(0, 13);\r\n\r\n //data.emergency_contact[field] = value1;\r\n\r\n } else {\r\n\r\n data.emergency_contact[field] = value;\r\n errors.emergency_contact[field] = \"\";\r\n \r\n }\r\n\r\n }\r\n else {\r\n let max = value.target.max;\r\n value = value.target.value;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors.emergency_contact[field] = \"Maximum Length has exceeded.\";\r\n data.emergency_contact[field] = value1;\r\n } else {\r\n errors.emergency_contact[field] = \"\";\r\n\r\n data.emergency_contact[field] = value.replace(/[^a-zA-Z]/ig,'');\r\n }\r\n\r\n data.emergency_contact[field] = value.target.value;\r\n };\r\n\r\n this.setState({ clientData: data });\r\n } */\r\n\r\n handelEmergencyContact(field, value) {\r\n const data = this.state.clientData;\r\n const errors = this.state.errors;\r\n if (!errors.emergency_contact) {\r\n errors.emergency_contact = {}; // Initialize errors.emergency_contact if it's not already initialized\r\n }\r\n\r\n if (field === \"relationship\") {\r\n data.emergency_contact[field] = value;\r\n }\r\n\r\n else if (field === \"phone_number\") {\r\n const phoneNumber = value || \"\";\r\n const isValid = isValidPhoneNumber(phoneNumber);\r\n \r\n if ((phoneNumber !== \"\" && isValid==false) || phoneNumber.length > 14 ) {\r\n errors.emergency_contact[field] = \"Please enter a valid Phone number.\";\r\n \r\n } else {\r\n data.emergency_contact[field] = phoneNumber;\r\n errors.emergency_contact[field] = \"\";\r\n\r\n }\r\n } \r\n else if (field === \"first_name\"||field === \"last_name\") {\r\n data.emergency_contact[field] = value.target.value;\r\n\r\n /* const max = value.target.max;\r\n const value = value.target.value;s\r\n \r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors.emergency_contact[field] = \"Maximum Length has exceeded.\";\r\n data.emergency_contact[field] = value1;\r\n } else {\r\n errors.emergency_contact[field] = \"\";\r\n \r\n data.emergency_contact[field] = value.replace(/[^a-zA-Z]/ig, \"\");\r\n } */\r\n }\r\n else\r\n {\r\n data.emergency_contact[field] = value.target.value;\r\n }\r\n\r\n \r\n this.setState({ clientData: data, errors: errors });\r\n }\r\n\r\n editProfile() {\r\n this.setState({ editEnabled: !this.state.editEnabled });\r\n this.setState({ editDisabled: !this.state.editDisabled });\r\n\r\n //enable the fields to edit\r\n this.setState({ isDisable: !this.state.isDisable });\r\n }\r\n\r\n cancelEdit() {\r\n this.setState({ editDisabled: !this.state.editDisabled });\r\n this.setState({ editEnabled: !this.state.editEnabled });\r\n }\r\n\r\n updateProfile = (e) => {\r\n e.preventDefault();\r\n let { google_address } = this.state;\r\n \r\n let clientData = this.state.clientData;\r\n let errors = this.state.errors;\r\n clientData.user_id = this.state.loggedInuserId;\r\n clientData.user_type = \"patient\";\r\n\r\n errors = Validation(clientData, errors);\r\n // console.log(errors); return false;\r\n this.setState({ errors: errors });\r\n console.log(errors);\r\n /* if (!google_address && clientData.employment_details.address !== \"\" && clientData.address1 !==\"\") {\r\n errors.address = \"Please choose address from autocomplete\";\r\n } */\r\n if (errors.formIsValid) {\r\n\r\n let data = {};\r\n data.blood_group = clientData.blood_group.label;\r\n data.gender = clientData.gender.label;\r\n data.marital_status = clientData.maritial_status.label;\r\n\r\n let lang = [];\r\n\r\n if (clientData.language) {\r\n clientData.language.forEach((element) => lang.push(element.value));\r\n }\r\n data.language = lang.toString();\r\n\r\n data.nationality = clientData.nationality.label;\r\n data.first_name = clientData.first_name;\r\n data.last_name = clientData.last_name;\r\n data.address1 = clientData.address1;\r\n data.address2 = clientData.address2;\r\n data.city = clientData.city;\r\n data.country = clientData.country;\r\n data.state = clientData.state;\r\n data.zip_code = clientData.zip_code;\r\n data.date_of_birth = clientData.date_of_birth;\r\n //data.date_of_birth =moment(clientData.date_of_birth).format('DD-MM-YYYY').toString();\r\n\r\n\r\n // phone number convrsion to separate country code and number for db\r\n data.phone_number = parsePhoneNumber(clientData.phone_number).nationalNumber;\r\n data.phone_code = \"+\" + parsePhoneNumber(clientData.phone_number).countryCallingCode;\r\n\r\n data.email = clientData.email;\r\n data.user_id = this.state.loggedInuserId;\r\n data.emergency_contact = clientData.emergency_contact;\r\n data.vehicle_details = clientData.vehicle_details;\r\n data.employment_details = clientData.employment_details;\r\n data.insurance_details = clientData.insurance_details;\r\n data.medical_history = clientData.medical_history;\r\n data.family_medical_history = clientData.family_medical_history;\r\n data.payment_details = clientData.payment_details;\r\n data.family_details = clientData.family_details;\r\n\r\n\r\n console.log(data);\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.state.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios\r\n .put(updateClient, data, CONFIG)\r\n .then((result) => {\r\n console.log(result);\r\n this.setState({ loading: false });\r\n // this.setState({ formSuccess: result.data });\r\n toast.success(\"We have saved your profile changes.\",{\r\n className:\"toast-success\"\r\n });\r\n this.clearMessage();\r\n // window.location.reload();\r\n })\r\n .catch((e) => {\r\n console.log(\"business user getbyid failed\",e);\r\n });\r\n });\r\n }\r\n };\r\n\r\n DeleteAccount=(user_id,user_type)=> {\r\n \r\n // let user_id = this.props.userdata.id;\r\n // let user_type=this.props.userdata.user_type;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(DeleteAccount, { user_id: user_id ,user_type:user_type}, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n \r\n toast.error(\"User Account deleted. \", {\r\n className: \"toast-error\"\r\n });\r\n \r\n }\r\n })\r\n .catch((e) => { });\r\n this.setState({ deletePopup: false, record: null });\r\n \r\n this.setState({\r\n confirmedDelete: false,\r\n });\r\n \r\n \r\n };\r\n render() {\r\n let PopupdeleteConfirm = () =>\r\n this.DeleteAccount(this.props.userdata.id,this.props.userdata.user_type);\r\n const {\r\n clientData,\r\n vehicle_details,\r\n payment_details,\r\n errors,\r\n formSuccess,\r\n payment_details_error,\r\n timeout,\r\n loading\r\n } = this.state;\r\n // console.log(vehicle_details);\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n let disease_array = this.props.appdata\r\n ? this.props.appdata[0].diseases\r\n : [];\r\n let disease = [];\r\n disease_array.forEach((element, index) => {\r\n disease.push(element.disease_name);\r\n });\r\n disease_array = disease;\r\n\r\n let specialities = [];\r\n specialities_array.forEach((element, index) => {\r\n specialities.push({ value: element.id, label: element.name });\r\n });\r\n specialities_array = specialities;\r\n\r\n let facilities_array = this.props.appdata\r\n ? this.props.appdata[0].facilities\r\n : [];\r\n let facilities = [];\r\n facilities_array.forEach((element, index) => {\r\n facilities.push({ value: element.id, label: element.facility_name });\r\n });\r\n facilities_array = facilities;\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={timeout} /> \r\n {/* */}\r\n {loading && }\r\n {/*
    */}\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n this.setState({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={PopupdeleteConfirm}\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete your account?\"\r\n }\r\n />\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n

    Profile Summary


    \r\n
    \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n this.setState({ deletePopup: true})\r\n }\r\n className=\"s3 float-right\"\r\n >\r\n Delete Account\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n
    Primary Contact
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \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.handleDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n \r\n
    \r\n
    \r\n\r\n\r\n
    {\" \"}\r\n {/** end of first column */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Employment Details
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* */}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.handleEmploymentDetails(\r\n \"country\",\r\n val\r\n )\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.handleEmploymentDetails(\r\n \"state\",\r\n val\r\n )\r\n }\r\n placeholder=\"State\"\r\n />\r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {/* MedicalInsurance */}\r\n
    \r\n
    Medical Insurance
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n Edit\r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n {/* {vehicle_details.map((el, i) => (\r\n \r\n
    \r\n {i === 0 ? (\r\n
    \r\n Vechile details\r\n \r\n \r\n \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n {i !== 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
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n ))} */}\r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Policy Holder Confirmation
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n\r\n {/*
    \r\n \r\n \r\n
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n \r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Emergency Contact
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n ))} \r\n\r\n
    \r\n
    \r\n {/** end of second column */}\r\n
    \r\n\r\n \r\n
    \r\n {\" \"}\r\n {/** end of row */}\r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ClientProfile));\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport BusinessProfile from \"./BusinessProfile\";\r\nimport BusinessUserProfile from \"./BusinessUserProfile\";\r\nimport ClientProfile from \"./ClientProfile\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport{ getTimeoutbycategory} from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n userdata: state.AuthReducer.user,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nclass Profile extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const timeout=this.state;\r\n this.state = {\r\n timeout:timeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n \r\n }\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n\r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n};\r\n\r\n _onAction(e) {\r\n \r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n \r\n componentDidMount() {\r\n\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n timeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n \r\n }\r\n\r\n render() {\r\n const {timeout}=this.state;\r\n return (\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={timeout} />\r\n\r\n {this.props.userdata.user_type === \"hospital\" ? (\r\n \r\n ) : (this.props.userdata.user_type === \"doctor\" || this.props.userdata.user_type === \"Doctor\") ? (\r\n \r\n ) : (\r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps,mapDispatchToProps)(Profile));","import React,{Component} from 'react';\r\nimport LogoSection from \"../components/UI/LogoSection\";\r\nimport PageNavigation from \"../components/container/PageNavigation\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport SpanField from '../components/UI/SpanField';\r\nimport Validation from '../actions/Validation';\r\nimport PhoneInput, { isValidPhoneNumber } from 'react-phone-number-input';\r\nimport 'react-phone-number-input/style.css';\r\nimport { forgotPasswordClient } from '../config/url.json';\r\nimport {verifyOTPClient} from '../config/url.json';\r\nimport {resendOTPClient} from '../config/url.json';\r\nimport {resetpasswordClient} from '../config/url.json';\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\r\nimport axios from 'axios';\r\nimport Iframe from 'react-iframe';\r\n\r\n\r\n\r\nclass video extends Component {\r\n render() {\r\n return (\r\n \r\n\r\n \r\n );\r\n }\r\n}\r\nexport default video;","import React, { Component } from 'react';\r\nimport { Modal, Button, Row, Col, Form } from 'react-bootstrap';\r\n\r\nexport class ExpirePopup extends Component {\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n \r\n
    {this.props.message}
    \r\n
    \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default ExpirePopup;","import React, { Component } from 'react';\r\nimport { Modal, Button, Row, Col, Form } from 'react-bootstrap';\r\n\r\nexport class DoctorPopup extends Component {\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n \r\n
    {this.props.message}
    \r\n
    \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default DoctorPopup;","import React, { Component, Fragment } from \"react\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport SideBar from \"../components/container/SideBar\";\r\nimport Header from \"../components/container/layout/business/Header\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport {\r\n getAllBusinessUserList,\r\n removeshiftplanner,\r\n addEmployee,\r\n updateEmployee,\r\n removeBusinessUserFromBusiness,\r\n searchEmployee,\r\n addBusinessUserToBusiness,\r\n createShiftPlanner,\r\n getBusinessById,\r\n getTimeoutbycategory,\r\n sendemail,\r\n BaseUrl,sendsms,inactiveBusinessUser,\r\n checkadddoctorvalidity\r\n} from \"../config/url.json\";\r\nimport PhoneInput, { isValidPhoneNumber, parsePhoneNumber } from \"react-phone-number-input\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport Select from \"react-select\";\r\nimport { blood_group, gender, maritial_status, designation } from \"../config/data\";\r\nimport Validation from \"../actions/Validation\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport moment from \"moment\";\r\nimport Popup from \"../components/UI/Popup\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { AUTH_CONFIG } from \"../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getFrequencyFromDays,\r\n gethhmmss,\r\n getDateISOFormat,\r\n} from \"../constants/globalLevelFunctions\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport ExpirePopup from '../components/UI/ExpirePopup'\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport DoctorPopup from \"../components/UI/DoctorPopup\";\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity,\r\n adddoctorvalidity:state.ValidityReducer.adddoctorvalidity\r\n\r\n };\r\n}\r\nconst specialities=\r\n[\r\n {value:\"1\",label:\"Brain and Nerves\"},\r\n {value:\"2\",label:\"Urinary Issues\"}\r\n];\r\nconst onlineOptions = [\r\n { value: \"Active\", label: \"Active\" },\r\n { value: \"In-active\", label: \"In-active\" },\r\n];\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nclass BusinessUserList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"employee_id\",\r\n text: \"Doctor ID\",\r\n className: \"emp_id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"first_name\",\r\n text: \"First Name\",\r\n className: \"first_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"last_name\",\r\n text: \"Last Name\",\r\n className: \"last_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"Specialities\",\r\n text: \"Speciality\",\r\n className: \"speciality\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n (record.designation === \"doctor\" || record.designation === \"Doctor\") ? (record.Specialities\r\n \r\n ):('-')\r\n \r\n )\r\n },\r\n /* cell: (record) => {\r\n let obj = {\r\n label: record.Specialities,\r\n value: record.speciality,\r\n };\r\n return (\r\n this.handleStatusColumnChange(record,data)}\r\n options={onlineOptions}\r\n />\r\n ):(\r\n \r\n \r\n this.setState({ deletePopup: true, record: record })\r\n }\r\n >\r\n \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.searchcolumns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 20,\r\n },\r\n {\r\n key: \"employee_id\",\r\n text: \"Employee ID\",\r\n className: \"employee_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 20,\r\n },\r\n {\r\n key: \"first_name\",\r\n text: \"First Name\",\r\n className: \"first_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 60,\r\n // cell: (record) => {\r\n // return (\r\n // \r\n // \r\n // \r\n // \r\n // );\r\n // },\r\n },\r\n {\r\n key: \"last_name\",\r\n text: \"Last Name\",\r\n className: \"last_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 60,\r\n // cell: (record) => {\r\n // return (\r\n // \r\n // \r\n // \r\n // \r\n // );\r\n // },\r\n },\r\n {\r\n key: \"designation\",\r\n text: \"Designation\",\r\n className: \"designation\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n\r\n },\r\n {\r\n key: \"Specialities\",\r\n text: \"Speciality\",\r\n className: \"speciality\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n // cell: (record) => {\r\n // return (\r\n // \r\n // \r\n // this.handleSearchSelectChange(record, value, \"speciality\")\r\n // }\r\n // options={this.state.specialities_array}\r\n // />\r\n // \r\n // \r\n // );\r\n // },\r\n },\r\n // {\r\n // key: \"dob\",\r\n // text: \"Date Of Birth\",\r\n // className: \"dob\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // width: 100,\r\n // cell: (record) => {\r\n // return (\r\n // \r\n //
    \r\n // {/* this.handleInputsearch(date, record)}\r\n // placeholder={\"Select your DOB\"}\r\n // /> */}\r\n // this.handledobsearch(date, record)}\r\n // />\r\n //
    \r\n // \r\n //
    \r\n // );\r\n // },\r\n // },\r\n {\r\n key: \"gender\",\r\n text: \"Sex\",\r\n className: \"gender\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n // cell: (record) => {\r\n // return (\r\n // \r\n // \r\n // this.handleSearchSelectChange(record, value, \"gender\")\r\n // }\r\n // options={gender}\r\n // />\r\n // \r\n // \r\n // );\r\n // },\r\n },\r\n // {\r\n // key: \"marital_status\",\r\n // text: \"Marital Status\",\r\n // className: \"marital_status\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // width: 100,\r\n // // cell: (record) => {\r\n // // return (\r\n // // \r\n // // \r\n // // this.handleSearchSelectChange(record, value, \"marital_status\")\r\n // // }\r\n // // options={maritial_status}\r\n // // />\r\n // // \r\n // // \r\n // // );\r\n // // },\r\n // },\r\n {\r\n key: \"consulting_fees\",\r\n text: \"Consulting Fees\",\r\n className: \"consulting_fees\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Mobile Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 50,\r\n cell: (record) => {\r\n return (\r\n
    \r\n \r\n this.handleSearchSelectChange(record, value, \"phone_number\")\r\n }\r\n disabled={true}\r\n error={\r\n record.phone_number\r\n ? isValidPhoneNumber(record.phone_number)\r\n ? undefined\r\n : \"Invalid phone number\"\r\n : \"Phone number required\"\r\n }\r\n />\r\n \r\n
    \r\n );\r\n },\r\n },\r\n // {\r\n // key: \"emergency_contact\",\r\n // text: \"Emergency Contact\",\r\n // className: \"emergency_contact\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // width: 100,\r\n // cell: (record) => {\r\n // return (\r\n // \r\n // \r\n // this.handleSearchSelectChange(\r\n // record,\r\n // value,\r\n // \"emergency_contact\"\r\n // )\r\n // }\r\n // error={\r\n // record.emergency_contact\r\n // ? isValidPhoneNumber(record.emergency_contact)\r\n // ? undefined\r\n // : \"Invalid phone number\"\r\n // : \"Phone number required\"\r\n // }\r\n // />\r\n // \r\n // \r\n // );\r\n // },\r\n // },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n showexpirePopup: this.props.validity,\r\n showadddoctorPopup:this.props.adddoctorvalidity,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n searchErrorMessage: \"\",\r\n headerinfo: {\r\n profile_name: \"\",\r\n qualification: \"\",\r\n specialization: \"\",\r\n work_place: \"\",\r\n id: \"\",\r\n languages_known: \"\",\r\n profile_percentage: \"\",\r\n rating: \"\",\r\n },\r\n loading: false,\r\n deletePopup: false,\r\n record: null,\r\n records: [],\r\n editRecord: null,\r\n showDocFields: false,\r\n employeeData: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n gender: \"\",\r\n designation: \"\",\r\n speciality: \"\",\r\n date_of_birth: \"\",\r\n phone_number: \"\",\r\n phone_code: \"\",\r\n blood_group: \"\",\r\n emergency_contact: \"\",\r\n marital_status: \"\",\r\n email: \"\",\r\n business_id: \"\",\r\n consulting_fees: \"\",\r\n },\r\n errors: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n gender: \"\",\r\n designation: \"\",\r\n speciality: \"\",\r\n date_of_birth: \"\",\r\n phone_number: \"\",\r\n blood_group: \"\",\r\n emergency_contact: \"\",\r\n marital_status: \"\",\r\n email: \"\",\r\n business_id: \"\",\r\n error: \"\",\r\n consulting_fees: \"\",\r\n },\r\n addEmployeeSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n actions: \"add\",\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n searchData: {\r\n employee_id: \"\",\r\n first_name: \"\",\r\n last_name: \"\",\r\n designation: \"\",\r\n speciality: \"\",\r\n phone_number: \"\",\r\n },\r\n searchrecords: [],\r\n search_action: false,\r\n searchTableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleStatusColumnChange = (record,data) => {\r\n \r\n console.log(record)\r\n console.log(data)\r\n \r\n // let inactive = {label: \"In-active\",value:\"In-active\"};\r\n // let active = {label: \"Active\",value:\"Active\"};\r\n record.doc_status = data;\r\n console.log(record);\r\n this.UpdatestatusColumnChange(record);\r\n };\r\n\r\n UpdatestatusColumnChange = (record) => {\r\n let data = {\r\n business_id:this.props.userdata.id,\r\n business_user_id:record.user_id,\r\n user_status: record.doc_status.label === \"Active\" ? \"Yes\" : \"No\",\r\n }\r\n // console.log({label:record.doc_status,value:record.doc_status} );\r\n // console.log(data); returns false;\r\n // record.user_id = this.props.userdata.id;\r\n axios.post(inactiveBusinessUser, data, CONFIG).then((list) => {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"user_id\", record.user_id);\r\n\r\n records[recIndex].employee_id = record.employee_id;\r\n records[recIndex].doc_status = record.doc_status.label === \"Active\" ? \"Yes\" : \"No\";\r\n \r\n records[recIndex].user_id = record.user_id;\r\n records[recIndex].professional_id = record.professional_id;\r\n records[recIndex].email = record.email;\r\n records[recIndex].first_name = record.first_name;\r\n records[recIndex].last_name = record.last_name;\r\n records[recIndex].designation = record.designation;\r\n records[recIndex].speciality = record.speciality;\r\n records[recIndex].Specialities = record.Specialities;\r\n records[recIndex].dob = record.dob;\r\n records[recIndex].gender = record.gender;\r\n records[recIndex].marital_status = record.marital_status;\r\n records[recIndex].blood_group = record.blood_group;\r\n records[recIndex].mobile_number = record.mobile_number;\r\n records[recIndex].emergency_contact = record.emergency_contact;\r\n records[recIndex].consulting_fees = record.consulting_fees;\r\n\r\n this.setState({ records, tableSuccess: list.data });\r\n toast.success(\"Business User \"+( record.doc_status === \"Yes\" ? \"Active\":\"In-active\" ) +\" from business \",{\r\n className:\"toast-success\"\r\n });\r\n this.clearMessage();\r\n });\r\n };\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n \r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n \r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n \r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n \r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n addRecord = (record) => {\r\n let _searchRecords = this.state.searchrecords;\r\n \r\n let errors = {};\r\n const index = findWithAttr(_searchRecords, \"user_id\", record.user_id);\r\n _searchRecords = Object.assign({}, _searchRecords[index]);\r\n\r\n _searchRecords.gender = _searchRecords.gender.value;\r\n _searchRecords.designation = _searchRecords.designation;\r\n _searchRecords.speciality = _searchRecords.speciality;\r\n _searchRecords.marital_status = _searchRecords.marital_status;\r\n _searchRecords.blood_group = _searchRecords.blood_group;\r\n _searchRecords.user_type = \"employee_list\";\r\n errors = Validation(_searchRecords, errors);\r\n\r\n const searchrecords = this.state.searchrecords;\r\n searchrecords[index].errors = errors;\r\n this.setState({ searchrecords: searchrecords });\r\n \r\n // return false;\r\n if (!errors.formIsValid) {\r\n return;\r\n }\r\n\r\n const data = Object.assign({}, this.state.searchrecords[index]);\r\n data.date_of_birth = data.dob;\r\n data.emergency_number = data.emergency_contact;\r\n data.blood_group = data.blood_group;\r\n data.gender = data.gender.label;\r\n data.designation = data.designation.value;\r\n data.marital_status = data.marital_status;\r\n data.speciality = data.speciality;\r\n data.Specialities = record.Specialities;\r\n data.business_id = this.props.userdata.id;\r\n delete data.dob;\r\n delete data.emergency_contact;\r\n delete data.errors;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(checkadddoctorvalidity, {user_id:this.props.userdata.id,user_type : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.adddoctorvalidity);\r\n if (data.status == \"1\")\r\n this.setState({\r\n doctorvalidity: data.adddoctorvalidity\r\n \r\n });\r\n if(data.adddoctorvalidity==false)\r\n {\r\n this.setState({\r\n showadddoctorPopup: true,\r\n loading:false\r\n \r\n });\r\n }else\r\n {\r\n this.setState({ actions: \"add\", loading: true });\r\n let records = this.state.records;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let requestdata = {\r\n business_id: this.props.userdata.id,\r\n business_user_id: record.user_id,\r\n consulting_fees: record.consulting_fees\r\n };\r\n \r\n axios\r\n .post(addBusinessUserToBusiness, requestdata, CONFIG)\r\n .then((res) => {\r\n let resData = res.data;\r\n \r\n if (resData.status === \"1\") {\r\n \r\n record.mobile_number = record.phone_number;\r\n \r\n let records = this.state.records;\r\n records.push(record);\r\n \r\n this.setState({\r\n records: records,\r\n searchTableSuccess: resData,\r\n loading: false,\r\n });\r\n \r\n toast.success(\"Employee added to the Hospital Successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n getAllBusinessUserList,\r\n { business_id: this.props.userdata.id },\r\n CONFIG\r\n )\r\n .then((list) => {\r\n let users = [];\r\n let userlist = list.data.data;\r\n userlist.sort((a,b) => a.id - b.id);\r\n userlist.forEach((element, index) => {\r\n let user = {};\r\n user.s_no = index + 1;\r\n user.employee_id = element.id;\r\n user.status = element.status;\r\n \r\n user.user_id = element.user_id;\r\n user.professional_id = element.professional_id;\r\n user.email = element.email;\r\n user.doc_status = element.doc_status;\r\n user.first_name = element.first_name;\r\n user.last_name = element.last_name;\r\n user.designation = element.designation;\r\n user.speciality = element.speciality;\r\n user.Specialities = element.Specialities;\r\n user.dob = element.date_of_birth;\r\n user.gender = element.gender;\r\n user.marital_status = element.marital_status;\r\n user.blood_group = element.blood_group;\r\n \r\n user.mobile_number = (element.phone_number.includes(element.phone_code) || element.phone_code== null )? element.phone_number :\r\n element.phone_code.concat(element.phone_number);\r\n user.phone_code = element.phone_code;\r\n user.emergency_contact = element.emergency_number;\r\n user.consulting_fees = element.consulting_fees;\r\n users[index] = user;\r\n \r\n });\r\n \r\n this.setState({ records: users });\r\n })\r\n .catch((e) => { console.error(e) });\r\n \r\n \r\n this.clearMessage();\r\n if(record.designation == \"doctor\"||record.designation == \"Doctor\"){\r\n //on success of adding the doctor to hospital call shift planner\r\n this.createEvent(record);\r\n \r\n }\r\n \r\n } else {\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: resData,\r\n loading: false,\r\n });\r\n toast.error(\"Your Employee details couldn’t be added.\",{\r\n className:\"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n };\r\n\r\n createEvent(record) {\r\n \r\n let data = {};\r\n console.log(record); \r\n axios\r\n .post(\r\n getBusinessById,\r\n { business_id: this.props.userdata.id },\r\n AUTH_CONFIG\r\n )\r\n .then((response) => {\r\n console.log(\"userData\");\r\n console.log(response.data);\r\n if (response.data.status === \"1\") \r\n {\r\n let hospitalData = response.data.data[0];\r\n console.log(hospitalData);\r\n data.businessUserid = record.user_id;\r\n data.businessId = this.props.userdata.id;\r\n data.startDate = getDateISOFormat(new Date());\r\n \r\n var future = new Date();\r\n future.setDate(future.getDate() + 30);\r\n \r\n data.endDate = getDateISOFormat(future);\r\n data.isAllDayEvent = false;\r\n \r\n if (undefined === record.working_days||null===record.working_days) {\r\n \r\n data.frequency = getFrequencyFromDays(hospitalData.working_days);\r\n }else\r\n {\r\n data.frequency = getFrequencyFromDays(JSON.parse(record.working_days));\r\n \r\n }\r\n data.status = \"Scheduled\";\r\n if (undefined === record.schedule_type||null===record.schedule_type)\r\n {\r\n data.scheduleType = hospitalData.schedule_type;\r\n }\r\n else\r\n {\r\n data.scheduleType=record.schedule_type;\r\n }\r\n if (undefined === record.working_hours||null===record.working_hours) {\r\n \r\n data.sessions = gethhmmss(hospitalData.working_hours);\r\n }else\r\n {\r\n data.sessions = gethhmmss(JSON.parse(record.working_hours));\r\n \r\n }\r\n this.createApiCall(data);\r\n \r\n /* if (data.sessions == null || undefined === data.sessions||data.sessions==\"\") {\r\n data.sessions = gethhmmss(hospitalData.working_hours);\r\n }\r\n if (data.frequency == null || undefined === data.frequency||data.frequency==\"\") {\r\n data.frequency = getFrequencyFromDays(hospitalData.working_days);\r\n }\r\n data.scheduleType = hospitalData.schedule_type;\r\n console.log(\"inside recall\")\r\n console.log(data);\r\n this.createApiCall(data); */\r\n }\r\n \r\n\r\n\r\n\r\n /* if (null !== record.working_hours && null !== record.working_days) {\r\n console.log(\"inside else\")\r\n this.createApiCall(data);\r\n } else {\r\n axios\r\n .post(\r\n getBusinessById,\r\n { business_id: this.props.userdata.id },\r\n AUTH_CONFIG\r\n )\r\n .then((response) => {\r\n console.log(\"userData\");\r\n console.log(response.data);\r\n if (response.data.status === \"1\") {\r\n let hospitalData = response.data.data[0];\r\n console.log(hospitalData);\r\n if (data.sessions == null || undefined === data.sessions||data.sessions==\"\") {\r\n data.sessions = gethhmmss(hospitalData.working_hours);\r\n }\r\n if (data.frequency == null || undefined === data.frequency||data.frequency==\"\") {\r\n data.frequency = getFrequencyFromDays(hospitalData.working_days);\r\n }\r\n data.scheduleType = hospitalData.schedule_type;\r\n console.log(\"inside recall\")\r\n console.log(data);\r\n this.createApiCall(data);\r\n }\r\n });\r\n } */\r\n });\r\n\r\n\r\n //email notification\r\n let reqdata = {\r\n \"to\" : record.email,\r\n \"subject\" : \"Registration Success\",\r\n\r\n \"mailHeader\" : \"Welcome to Nucleo\",\r\n \"message\": \"Hi \"+ record.first_name +\",Your account has been created successfully.Reset your password using this link below \\r\\n\"+BaseUrl+\"/reset-password/\"+ record.user_id+\" \\r\\n Or copy and paste the URL into your browser:\\r\\n\"+BaseUrl+\"/reset-password/\"+ record.user_id+\"\\r\\nThanks, The Nucleo team.\"\r\n\r\n };\r\n let notificationdata = {\r\n \"message_code\": \"ADD_BUSINESSUSER\",\r\n \"language_code\": \"en\",\r\n \"data\": {\r\n \"first_name\": record.first_name,\r\n \"base_url\": BaseUrl,\r\n \"user_id\":record.user_id\r\n\r\n },\r\n \"receiver\": {\r\n \"phoneNumber\": record.mobile_number\r\n }\r\n };\r\n \r\n \r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data;\r\n\r\n\r\n \r\n axios\r\n .post(sendsms, notificationdata)\r\n .then((result) => {\r\n console.log(result)\r\n }).catch((err) => {\r\n console.log(err);\r\n })\r\n console.log(resdata);\r\n this.setState({ loading: false });\r\n let data = {\r\n message:\"\",\r\n status:\"\"\r\n }\r\n if (resdata===true) {\r\n data.error_type = \"success\";\r\n data.message = \"Registration Success\"\r\n data.status = \"1\"\r\n this.setState({\r\n formSuccess: data,\r\n });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n } else {\r\n data.error_type = \"error\";\r\n data.message = \"Failed\"\r\n data.status = \"0\"\r\n this.setState({\r\n formSuccess: data,\r\n });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n\r\n\r\n }\r\n\r\n createApiCall(data) {\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(createShiftPlanner, data, CONFIG)\r\n .then((res) => {\r\n let customMsg = {};\r\n if (res.data.status === 1) {\r\n customMsg = {\r\n status: res.data.status,\r\n message: \"Bussiness user add successfully & Events created\"\r\n }\r\n toast.success(\"Shifts created successfully for the Employee .\",{\r\n className:\"toast-success\"\r\n });\r\n } else {\r\n customMsg = {\r\n status: res.data.status,\r\n message: \"Bussiness user add successfully & Events Failed\"\r\n }\r\n toast.error(\"Shifts could not be created for the Employee .\",{\r\n className:\"toast-error\"\r\n });\r\n }\r\n\r\n this.setState({\r\n addEmployeeSuccess: customMsg,\r\n loading: false,\r\n });\r\n this.clearMessage();\r\n })\r\n .catch((e) => {\r\n let customMsg = {};\r\n customMsg = {\r\n status: 0,\r\n message: \"Bussiness user could not added successfully\"\r\n }\r\n this.setState({\r\n addEmployeeSuccess: customMsg,\r\n loading: false,\r\n });\r\n toast.error(\"Your Employee details couldn’t be added.\",{\r\n className:\"toast-error\"\r\n });\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n editRecord(record) {\r\n console.log(record);// return false;\r\n let employeeData = this.state.employeeData;\r\n employeeData.first_name = record.first_name;\r\n employeeData.last_name = record.last_name;\r\n employeeData.doc_status = record.doc_status;\r\n employeeData.date_of_birth = moment(record.dob).toDate();\r\n employeeData.phone_number = record.mobile_number;\r\n // employeeData.phone_number = (record.mobile_number.includes(record.phone_code) && record.phone_code !== null) ? record.mobile_number : record.phone_code.concat(record.mobile_number);\r\n employeeData.emergency_contact = record.emergency_contact;\r\n employeeData.employee_id = record.employee_id;\r\n employeeData.user_id = record.user_id;\r\n employeeData.professional_id = record.professional_id;\r\n employeeData.email = record.email;\r\n employeeData.business_id=this.props.userdata.id;\r\n employeeData.marital_status = {\r\n label: record.marital_status,\r\n value: record.marital_status,\r\n };\r\n employeeData.blood_group = {\r\n label: record.blood_group,\r\n value: record.blood_group,\r\n };\r\n employeeData.designation = {\r\n label: record.designation,\r\n value: record.designation,\r\n };\r\n //console.log(employeeData);\r\n //console.log(record);\r\n if (record.designation === \"doctor\" || record.designation===\"Doctor\") {\r\n this.setState({ showDocFields: true });\r\n } else {\r\n this.setState({ showDocFields: false });\r\n }\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\nlet speciality = [];\r\nconsole.log(record.speciality);\r\n\r\n if(record.speciality){\r\n specialities_array.forEach((element, index) => {\r\n \r\n if (record.speciality.includes(element.id) === true && record.speciality===element.id.toString()) {\r\n console.log(element)\r\n // if (record.speciality && record.speciality.indexOf(element.id) > -1) {\r\n \r\n speciality.push({\r\n value: element.id,\r\n label: element.name,\r\n });\r\n }\r\n });\r\n }\r\n console.log(speciality)\r\n \r\n\r\n\r\n employeeData.speciality =speciality;\r\n /* if(employeeData.speciality==\"\"||employeeData.speciality==undefined)\r\n {\r\n employeeData.speciality=record.speciality;\r\n } */\r\n employeeData.consulting_fees = record.consulting_fees;\r\n\r\n employeeData.gender = {\r\n label: record.gender,\r\n value: record.gender,\r\n };\r\n console.log(employeeData);\r\n \r\n this.setState({\r\n editRecord: record,\r\n employeeData: employeeData,\r\n actions: \"edit\",\r\n });\r\n \r\n }\r\n\r\n deleteRecord(record) {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let data = {\r\n business_id: this.props.userdata.id,\r\n business_user_id: record.user_id,\r\n };\r\n axios\r\n .post(removeBusinessUserFromBusiness, data, CONFIG)\r\n .then((res) => {\r\n const resData = res.data;\r\n console.log(resData);\r\n if (res.status !== 200 || !resData || resData.status === \"0\") {\r\n this.setState({\r\n errorMessage: \"Unexpected error occured. Please try again.\",\r\n });\r\n this.clearMessage();\r\n return;\r\n }\r\n\r\n // remove schedule api\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let removedata = {\r\n \"removeBusinessUserEvents\": true,\r\n \"businessUserid\": record.user_id,\r\n \"businessId\": this.props.userdata.id\r\n }\r\n\r\n axios\r\n .post(removeshiftplanner, removedata, CONFIG)\r\n .then((res) => {\r\n let records = this.state.records;\r\n const deleteIndex = records.indexOf(record);\r\n records.splice(deleteIndex, 1);\r\n this.setState({\r\n records \r\n });\r\n /* this.setState({\r\n \r\n successMessage: \"Employee schedules deleted successfully.\"\r\n }); */\r\n toast.error(\"Your Employee details have been deleted successfully.\",{\r\n className:\"toast-error\"\r\n });\r\n this.clearMessage();\r\n }).catch((e) => {\r\n this.setState({\r\n errorMessage: \"Failed to delete employee schedules.\",\r\n });\r\n toast.error(\"Employee could not be deleted.\",{\r\n className:\"toast-error\"\r\n });\r\n this.clearMessage();\r\n })\r\n\r\n\r\n })\r\n .catch((e) => {\r\n this.setState({\r\n errorMessage: \"Employee failed to delete.\",\r\n });\r\n this.clearMessage();\r\n });\r\n this.setState({ deletePopup: false, record: null });\r\n }\r\n\r\n handleInputChange = (e) => {\r\n let data = this.state.employeeData;\r\n let errors=this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n if (e.target.name === \"consulting_fees\") {\r\n data[e.target.name] = e.target.value.replace(/[^0-9]/ig, '');\r\n }else\r\n {\r\n data[name] = value;\r\n }\r\n errors[name] = \"\"\r\n this.setState({ employeeData: data,errors });\r\n };\r\n handlesearchselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n let errors=this.state.errors;\r\n data[e.name] = selectedOptions;\r\n this.setState({ selectedOptions: data });\r\n };\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n\r\n let data = this.state.employeeData;\r\n let errors=this.state.errors;\r\n if (e.name === \"designation\") {\r\n if (selectedOptions.value === \"doctor\") {\r\n this.setState({ showDocFields: true });\r\n } else {\r\n this.setState({ showDocFields: false });\r\n }\r\n }\r\n\r\n data[e.name] = selectedOptions;\r\n errors[e.name] = \"\"\r\n this.setState({ employeeData: data,errors });\r\n };\r\n\r\n handlespecialityselectChange = (selectedOptions, e) => {\r\n let data = this.state.employeeData;\r\n let errors=this.state.errors;\r\n\r\n data[e.name] = selectedOptions;\r\n errors[e.name] = \"\"\r\n this.setState({ employeeData: data,errors });\r\n };\r\n handlespcialityColumnChange = (record) => {\r\n record.speciality = record.speciality ? record.specialities:\"\";\r\n this.UpdateColumnChange(record);\r\n };\r\n\r\n handleDOBChange = (date) => {\r\n let employeeData = this.state.employeeData;\r\n let errors=this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n employeeData.date_of_birth = offsetDate;\r\n errors.date_of_birth=\"\";\r\n this.setState({ employeeData: employeeData,errors });\r\n };\r\n\r\n handlePhoneInputChange = (event) => {\r\n let employeeData = this.state.employeeData;\r\n let errors=this.state.errors;\r\n employeeData.phone_number = event;\r\n errors.phone_number=\"\";\r\n this.setState({ employeeData,errors });\r\n };\r\n\r\n handleEmergencyPhoneInputChange = (event) => {\r\n let employeeData = this.state.employeeData;\r\n employeeData.emergency_contact = event;\r\n this.setState({ employeeData });\r\n };\r\n\r\n handleSearchInput = (e) => {\r\n let data = this.state.searchData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n this.setState({ searchData: data });\r\n };\r\n\r\n handleSearchPhoneInputChange = (event) => {\r\n let searchData = this.state.searchData;\r\n searchData.phone_number = event;\r\n this.setState({ searchData });\r\n };\r\n\r\n handleSearchSelectChange = (value, record, field) => {\r\n value[field] = record;\r\n this.UpdateColumnChange(value);\r\n };\r\n handledobsearch(date, record) {\r\n record.dob = date;\r\n this.UpdateColumnChange(record);\r\n }\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n\r\n this.UpdateColumnChange(record);\r\n };\r\n\r\n UpdateColumnChange = (record) => {\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"user_id\", record.user_id);\r\n records[recIndex].employee_id = record.employee_id;\r\n records[recIndex].user_id = record.user_id;\r\n records[recIndex].professional_id = record.professional_id;\r\n records[recIndex].email = record.email;\r\n records[recIndex].first_name = record.first_name;\r\n records[recIndex].last_name = record.last_name;\r\n records[recIndex].designation = record.designation;\r\n records[recIndex].speciality = record.speciality;\r\n records[recIndex].Specialities = record.Specialities;\r\n records[recIndex].dob = record.dob;\r\n records[recIndex].gender = record.gender;\r\n records[recIndex].marital_status = record.marital_status;\r\n records[recIndex].blood_group = record.blood_group;\r\n records[recIndex].mobile_number = record.mobile_number;\r\n records[recIndex].emergency_contact = record.emergency_contact;\r\n records[recIndex].consulting_fees = record.consulting_fees;\r\n\r\n this.setState({ searchrecords: records });\r\n };\r\n\r\n clearsearch = () => {\r\n var searchData = this.state.searchData;\r\n var search_action=this.state.search_action;\r\n let errors=this.state.errors;\r\n searchData.first_name=\"\";\r\n searchData.last_name=\"\";\r\n searchData.phone_number=\"\";\r\n searchData.employee_id=\"\";\r\n searchData.speciality=\"\";\r\n searchData.designation=\"\";\r\n searchData.consulting_fees=\"\";\r\n errors.id=\"\";\r\n // errors.consulting_fees =\"\";\r\n this.setState({search_action: false,searchErrorMessage:\"\" });\r\n \r\n };\r\n \r\n searchAndShowEmployee() {\r\n let searchData = this.state.searchData;\r\n console.log(searchData.phone_number.length);\r\n if(searchData.phone_number!==\"\"){\r\n if (searchData.phone_number.length !== 13) {\r\n this.setState({ searchErrorMessage: \"Enter a valid phone number\"});\r\n return;\r\n }\r\n }\r\n if (\r\n (searchData.first_name === null || searchData.first_name === \"\") &&\r\n (searchData.last_name === null || searchData.last_name === \"\") &&\r\n (searchData.phone_number === \"\" || searchData.phone_number === null) &&\r\n (searchData.employee_id === \"\" || searchData.employee_id === null) &&\r\n (searchData.speciality === \"\" || searchData.speciality === null) &&\r\n (searchData.designation === \"\" || searchData.designation === null)\r\n ) {\r\n this.setState({\r\n searchErrorMessage:\r\n \"Choose any one of the search filter to search.\",\r\n });\r\n return;\r\n } else {\r\n this.setState({\r\n searchErrorMessage: \"\",\r\n });\r\n }\r\n let data = {};\r\n let errors=this.state;\r\n data.speciality = searchData.speciality.value;\r\n data.designation = searchData.designation.value;\r\n data.first_name = searchData.first_name;\r\n data.last_name = searchData.last_name;\r\n \r\n data.phone_number =(searchData.phone_number!==\"\")? parsePhoneNumber(searchData.phone_number).nationalNumber:\"\";\r\n data.id = searchData.employee_id;\r\n /* data.user_type = \"search_employee_list\";\r\n errors = Validation(data, errors);\r\n this.setState({ errors: errors }); */\r\n console.log(data);\r\n // if(errors.formIsValid)\r\n // { \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n console.log(data);\r\n axios.post(searchEmployee, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n console.log(result);\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n //console.log(searchdata.designation);\r\n //console.log(result);\r\n let users = [];\r\n records.forEach((element,index) => {\r\n users.push({\r\n s_no : index + 1,\r\n employee_id: element.id,\r\n user_id: element.user_id,\r\n professional_id: element.id,\r\n first_name: element.first_name,\r\n last_name: element.last_name,\r\n consulting_fees: element.consulting_fees ? element.consulting_fees : \"\",\r\n dob: moment(element.date_of_birth).toDate(),\r\n phone_number: element.phone_number.includes(element.phone_code) ? element.phone_number : element.phone_code + element.phone_number,\r\n emergency_contact: element.emergency_number,\r\n email: element.email,\r\n designation: element.designation,\r\n schedule_type:element.schedule_type,\r\n // speciality: {\r\n // label: element.speciality,\r\n // value: element.speciality,\r\n // },\r\n speciality: element.speciality,\r\n Specialities: element.Specialities,\r\n // gender: {\r\n // label: element.gender,\r\n // value: element.gender,\r\n // },\r\n gender: element.gender,\r\n // marital_status: {\r\n // label: element.marital_status,\r\n // value: element.marital_status,\r\n // },\r\n // blood_group: {\r\n // label: element.blood_group,\r\n // value: element.blood_group,\r\n // },\r\n\r\n marital_status: element.marital_status,\r\n blood_group: element.blood_group,\r\n working_days: (element.working_days),\r\n working_hours: (element.working_hours),\r\n // consulting_fees: '',\r\n\r\n errors: {},\r\n });\r\n });\r\n\r\n this.setState({ searchrecords: users, search_action: true });\r\n } else {\r\n this.setState({ searchrecords: [], search_action: true });\r\n }\r\n });\r\n });\r\n // }\r\n }\r\n\r\n saveEmployee = (e) => {\r\n\r\n e.preventDefault();\r\n \r\n \r\n let { employeeData, errors, editRecord } = this.state;\r\n console.log(editRecord);\r\n let data = employeeData;\r\n data.user_type = \"employee_list\";\r\n \r\n console.log(data);\r\n errors = Validation(employeeData, errors);\r\n \r\n console.log(errors)\r\n this.setState({ errors: errors });\r\n // return false;\r\n if (!errors.formIsValid) {\r\n console.log('hiiii')\r\n return;\r\n }\r\n // return false;\r\n console.log(data);\r\n data.emergency_number = data.emergency_contact;\r\n data.blood_group = data.blood_group ? data.blood_group.label:\"\";\r\n data.gender = data.gender.label;\r\n data.marital_status = data.marital_status.label;\r\n data.designation = data.designation.value;\r\n data.speciality = data.speciality?data.speciality.value:\"\";\r\n \r\n data.business_id = this.props.userdata.id;\r\n\r\n // delete data.user_type;\r\n // delete data.emergency_contact;\r\n if (this.state.actions === \"edit\") {\r\n data.user_id = editRecord.user_id;\r\n \r\n }\r\n data.phone_code = \"+\" + parsePhoneNumber(data.phone_number).countryCallingCode;\r\n data.phone_number = parsePhoneNumber(data.phone_number).nationalNumber;\r\n\r\n //console.log(data); return false;\r\n this.setState({ loading: true });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let records = this.state.records;\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n data.user_type = data.designation;\r\n \r\n if((data.designation==\"Doctor\"|| data.designation==\"doctor\") && (this.state.actions !== \"edit\"))\r\n {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(checkadddoctorvalidity, {user_id:this.props.userdata.id,user_type : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let checkdata = res.data;\r\n console.log(res);\r\n console.log(checkdata);\r\n console.log(checkdata.adddoctorvalidity);\r\n if (checkdata.status == \"1\")\r\n this.setState({\r\n doctorvalidity: checkdata.adddoctorvalidity,\r\n \r\n });\r\n if(checkdata.adddoctorvalidity==false)\r\n {\r\n this.setState({\r\n showadddoctorPopup: true,\r\n loading:false,\r\n \r\n });\r\n \r\n }\r\n if(checkdata.adddoctorvalidity==true)\r\n { \r\n let { employeeData, errors, editRecord } = this.state;\r\n let data = employeeData;\r\n if (this.state.actions === \"add\") {\r\n console.log(data);\r\n axios\r\n .post(addEmployee, data, CONFIG)\r\n \r\n .then((res) => {\r\n \r\n let resData = res.data;\r\n console.log(resData.data);\r\n console.log(resData.status);\r\n if (resData.status === \"1\") {\r\n this.setState({ \r\n errorMessage: \"\",\r\n addEmployeeSuccess: { status: \"\", message: \"\" }});\r\n let user = {};\r\n let records = this.state.records;\r\n user.s_no = records.length + 1;\r\n user.employee_id = resData.data;\r\n console.log(user);\r\n console.log(resData);\r\n user.user_id = resData.user.id;\r\n user.professional_id = resData.data;\r\n user.email = employeeData.email;\r\n user.first_name = employeeData.first_name;\r\n user.last_name = employeeData.last_name;\r\n user.designation = employeeData.designation;\r\n user.speciality = employeeData.speciality;\r\n user.dob = employeeData.date_of_birth;\r\n user.gender = employeeData.gender;\r\n user.marital_status = employeeData.marital_status;\r\n user.blood_group = employeeData.blood_group;\r\n user.doc_status = \"Yes\";\r\n // user.mobile_number = employeeData.phone_number;\r\n // console.log(employeeData)\r\n \r\n \r\n user.mobile_number = (employeeData.phone_number.includes(employeeData.phone_code)|| employeeData.phone_code === null) ? employeeData.phone_number : employeeData.phone_code.concat(employeeData.phone_number);\r\n user.emergency_contact = employeeData.emergency_number;\r\n user.consulting_fees = employeeData.consulting_fees;\r\n \r\n \r\n \r\n specialities_array.forEach((element, index) => {\r\n // console.log(details.speciality.indexOf(element.id));\r\n \r\n if (employeeData.speciality === element.id) {\r\n user.speciality = element.id;\r\n user.Specialities = element.name;\r\n }\r\n \r\n });\r\n console.log(user); //return false;\r\n records.push(user);\r\n this.setState({\r\n records: records,\r\n // addEmployeeSuccess: resData,\r\n loading: false,\r\n });\r\n toast.success(\"The Employee details have been added successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearForm();\r\n \r\n console.log(user);\r\n if(employeeData.designation == \"doctor\"||employeeData.designation == \"Doctor\"){\r\n //on success of adding the doctor to hospital call shift planner\r\n this.createEvent(user);\r\n }\r\n \r\n } else {\r\n let empdata = employeeData;\r\n \r\n empdata.designation = {\r\n label: employeeData.designation,\r\n value: employeeData.designation,\r\n };\r\n specialities_array.forEach((element, index) => {\r\n // console.log(details.speciality.indexOf(element.id));\r\n \r\n if (employeeData.speciality === element.id) {\r\n empdata.speciality = {\r\n label: element.name,\r\n value: element.id\r\n };\r\n }\r\n console.log(employeeData.speciality);\r\n });\r\n \r\n \r\n empdata.gender = {\r\n label: employeeData.gender,\r\n value: employeeData.gender,\r\n };\r\n empdata.blood_group = {\r\n label: employeeData.blood_group,\r\n value: employeeData.blood_group,\r\n };\r\n empdata.marital_status = {\r\n label: employeeData.marital_status,\r\n value: employeeData.marital_status,\r\n };\r\n console.log(employeeData);\r\n let phncode = employeeData.phone_code;\r\n console.log(phncode);\r\n empdata.phone_number = employeeData.phone_number.includes(phncode) ? employeeData.phone_number : employeeData.phone_code.concat(employeeData.phone_number);\r\n \r\n empdata.phone_code = employeeData.phone_code\r\n this.setState({\r\n records: records,\r\n addEmployeeSuccess: resData,\r\n employeeData: empdata,\r\n loading: false,\r\n });\r\n // window.location.reload();\r\n }\r\n })\r\n .catch((e) => { console.log(e) });\r\n } else {\r\n if(data.speciality==undefined)\r\n {\r\n data.speciality=editRecord.speciality;\r\n }\r\n \r\n console.log(data.speciality);\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n axios\r\n .put(updateEmployee, data, CONFIG)\r\n .then((list) => {\r\n let user = {};\r\n console.log(list);\r\n if (list.data.status === \"1\") {\r\n this.setState({ loading: false });\r\n toast.success(\"The Employee details have been updated successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n getAllBusinessUserList,\r\n { business_id: this.props.userdata.id },\r\n CONFIG\r\n )\r\n .then((list) => {\r\n let users = [];\r\n let userlist = list.data.data;\r\n userlist.forEach((element, index) => {\r\n let user = {};\r\n user.s_no = index + 1;\r\n user.employee_id = element.id;\r\n user.status = element.status;\r\n \r\n user.user_id = element.user_id;\r\n user.professional_id = element.professional_id;\r\n user.email = element.email;\r\n user.doc_status = element.doc_status;\r\n user.first_name = element.first_name;\r\n user.last_name = element.last_name;\r\n user.designation = element.designation;\r\n user.speciality = element.speciality;\r\n user.Specialities = element.Specialities;\r\n user.dob = element.date_of_birth;\r\n user.gender = element.gender;\r\n user.marital_status = element.marital_status;\r\n user.blood_group = element.blood_group;\r\n \r\n user.mobile_number = (element.phone_number.includes(element.phone_code) || element.phone_code== null )? element.phone_number :\r\n element.phone_code.concat(element.phone_number);\r\n user.phone_code = element.phone_code;\r\n user.emergency_contact = element.emergency_number;\r\n user.consulting_fees = element.consulting_fees;\r\n users[index] = user;\r\n userlist.sort((a,b) => a.id - b.id);\r\n });\r\n \r\n this.setState({ records: users });\r\n })\r\n .catch((e) => { console.error(e) });\r\n \r\n \r\n this.clearMessage();\r\n this.clearForm();\r\n console.log(data);\r\n user.employee_id = data.employee_id;\r\n \r\n console.log(user);\r\n \r\n user.user_id = data.user_id;\r\n user.professional_id = data.employee_id;\r\n user.email = data.email;\r\n user.first_name = data.first_name;\r\n user.last_name = data.last_name;\r\n user.doc_status = data.doc_status;\r\n \r\n // user.speciality = employeeData.speciality.label;\r\n \r\n \r\n specialities_array.forEach((element, index) => {\r\n // console.log(details.speciality.indexOf(element.id));\r\n \r\n if (user.speciality === element.id) {\r\n user.speciality = element.id;\r\n user.Specialities = element.name;\r\n }\r\n });\r\n user.speciality=user.speciality.value;\r\n const offsetDate = new Date(data.date_of_birth.getTime() - (data.date_of_birth.getTimezoneOffset() * 60000));\r\n data.date_of_birth = offsetDate;\r\n \r\n user.dob = offsetDate;\r\n user.gender = data.gender;\r\n user.marital_status = data.marital_status;\r\n user.blood_group = data.blood_group;\r\n // user.mobile_number = data.phone_number;\r\n user.mobile_number = data.phone_code.concat(data.phone_number)\r\n \r\n user.emergency_contact = data.emergency_number;\r\n user.consulting_fees = data.consulting_fees;\r\n user.designation = data.designation;\r\n /** Updating the data table */\r\n let existingRecords = this.state.records;\r\n var index = existingRecords.findIndex(\r\n (item) => item.employee_id === data.employee_id\r\n );\r\n existingRecords.splice(index, 1, user);\r\n \r\n this.setState({ records: existingRecords });\r\n \r\n this.setState({ records});\r\n //this.setState({ addEmployeeSuccess: list.data });\r\n \r\n \r\n //window.location.reload();\r\n } else {\r\n let empdata = employeeData;\r\n console.log(empdata)\r\n \r\n \r\n \r\n specialities_array.forEach((element, index) => {\r\n // console.log(details.speciality.indexOf(element.id));\r\n \r\n if (employeeData.speciality === element.id) {\r\n empdata.speciality = {\r\n label: element.name,\r\n value: element.id\r\n };\r\n }\r\n });\r\n \r\n empdata.gender = {\r\n label: employeeData.gender,\r\n value: employeeData.gender,\r\n };\r\n empdata.blood_group = {\r\n label: employeeData.blood_group,\r\n value: employeeData.blood_group,\r\n };\r\n empdata.marital_status = {\r\n label: employeeData.marital_status,\r\n value: employeeData.marital_status,\r\n };\r\n empdata.phone_number = employeeData.phone_code.concat(employeeData.phone_number)\r\n empdata.phone_code = employeeData.phone_code;\r\n this.setState({\r\n records,\r\n addEmployeeSuccess: list.data,\r\n employeeData: empdata,\r\n loading: false\r\n });\r\n // window.location.reload();\r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n }\r\n if(data.designation==\"Doctor\"|| data.designation==\"doctor\" && this.state.actions == \"edit\")\r\n {\r\n if(data.speciality==undefined)\r\n {\r\n data.speciality=editRecord.speciality;\r\n }\r\n \r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n axios\r\n .put(updateEmployee, data, CONFIG)\r\n .then((list) => {\r\n let user = {};\r\n console.log(list);\r\n if (list.data.status === \"1\") {\r\n this.setState({ loading: false });\r\n toast.success(\"The Employee details have been updated successfully.\",{\r\n className:\"toast-success\"\r\n }); \r\n this.clearMessage();\r\n this.clearForm();\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n getAllBusinessUserList,\r\n { business_id: this.props.userdata.id },\r\n CONFIG\r\n )\r\n .then((list) => {\r\n let users = [];\r\n let userlist = list.data.data;\r\n userlist.sort((a,b) => a.id - b.id);\r\n userlist.forEach((element, index) => {\r\n let user = {};\r\n user.s_no = index + 1;\r\n user.employee_id = element.id;\r\n user.status = element.status;\r\n \r\n user.user_id = element.user_id;\r\n user.professional_id = element.professional_id;\r\n user.email = element.email;\r\n user.doc_status = element.doc_status;\r\n user.first_name = element.first_name;\r\n user.last_name = element.last_name;\r\n user.designation = element.designation;\r\n user.speciality = element.speciality;\r\n user.Specialities = element.Specialities;\r\n user.dob = element.date_of_birth;\r\n user.gender = element.gender;\r\n user.marital_status = element.marital_status;\r\n user.blood_group = element.blood_group;\r\n \r\n user.mobile_number = (element.phone_number.includes(element.phone_code) || element.phone_code== null )? element.phone_number :\r\n element.phone_code.concat(element.phone_number);\r\n user.phone_code = element.phone_code;\r\n user.emergency_contact = element.emergency_number;\r\n user.consulting_fees = element.consulting_fees;\r\n users[index] = user;\r\n \r\n });\r\n \r\n this.setState({ records: users });\r\n })\r\n .catch((e) => { console.error(e) });\r\n\r\n\r\n\r\n this.clearMessage();\r\n this.clearForm();\r\n console.log(data);\r\n user.employee_id = data.employee_id;\r\n\r\n console.log(user);\r\n\r\n user.user_id = data.user_id;\r\n user.professional_id = data.employee_id;\r\n user.email = data.email;\r\n user.first_name = data.first_name;\r\n user.last_name = data.last_name;\r\n user.doc_status = data.doc_status;\r\n\r\n // user.speciality = employeeData.speciality.label;\r\n\r\n\r\n specialities_array.forEach((element, index) => {\r\n // console.log(details.speciality.indexOf(element.id));\r\n\r\n if (user.speciality === element.id) {\r\n user.speciality = element.id;\r\n user.Specialities = element.name;\r\n }\r\n });\r\n user.speciality=user.speciality.value;\r\n const offsetDate = new Date(data.date_of_birth.getTime() - (data.date_of_birth.getTimezoneOffset() * 60000));\r\n data.date_of_birth = offsetDate;\r\n \r\n user.dob = offsetDate;\r\n user.gender = data.gender;\r\n user.marital_status = data.marital_status;\r\n user.blood_group = data.blood_group;\r\n // user.mobile_number = data.phone_number;\r\n user.mobile_number = data.phone_code.concat(data.phone_number)\r\n\r\n user.emergency_contact = data.emergency_number;\r\n user.consulting_fees = data.consulting_fees;\r\n user.designation = data.designation;\r\n /** Updating the data table */\r\n let existingRecords = this.state.records;\r\n var index = existingRecords.findIndex(\r\n (item) => item.employee_id === data.employee_id\r\n );\r\n existingRecords.splice(index, 1, user);\r\n \r\n this.setState({ records: existingRecords });\r\n\r\n this.setState({ records});\r\n //this.setState({ addEmployeeSuccess: list.data });\r\n \r\n \r\n //window.location.reload();\r\n } else {\r\n let empdata = employeeData;\r\n console.log(empdata)\r\n\r\n\r\n\r\n specialities_array.forEach((element, index) => {\r\n // console.log(details.speciality.indexOf(element.id));\r\n\r\n if (employeeData.speciality === element.id) {\r\n empdata.speciality = {\r\n label: element.name,\r\n value: element.id\r\n };\r\n }\r\n });\r\n\r\n empdata.gender = {\r\n label: employeeData.gender,\r\n value: employeeData.gender,\r\n };\r\n empdata.blood_group = {\r\n label: employeeData.blood_group,\r\n value: employeeData.blood_group,\r\n };\r\n empdata.marital_status = {\r\n label: employeeData.marital_status,\r\n value: employeeData.marital_status,\r\n };\r\n empdata.phone_number = employeeData.phone_code.concat(employeeData.phone_number)\r\n empdata.phone_code = employeeData.phone_code;\r\n this.setState({\r\n records,\r\n addEmployeeSuccess: list.data,\r\n employeeData: empdata,\r\n loading: false\r\n });\r\n // window.location.reload();\r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n \r\n \r\n }\r\n console.log(this.state.doctorvalidity);\r\n if(data.designation==\"Staff\" ||data.designation==\"Nurse\")\r\n {\r\n if (this.state.actions === \"add\") {\r\n console.log(data);\r\n axios\r\n .post(addEmployee, data, CONFIG)\r\n \r\n .then((res) => {\r\n \r\n let resData = res.data;\r\n console.log(resData.data);\r\n console.log(resData.status);\r\n if (resData.status === \"1\") {\r\n this.setState({ \r\n errorMessage: \"\",\r\n addEmployeeSuccess: { status: \"\", message: \"\" }});\r\n let user = {};\r\n user.employee_id = resData.data;\r\n console.log(user);\r\n console.log(resData);\r\n user.user_id = resData.user.id;\r\n user.professional_id = resData.data;\r\n user.email = employeeData.email;\r\n user.first_name = employeeData.first_name;\r\n user.last_name = employeeData.last_name;\r\n user.designation = employeeData.designation;\r\n user.speciality = employeeData.speciality;\r\n user.dob = employeeData.date_of_birth;\r\n user.gender = employeeData.gender;\r\n user.marital_status = employeeData.marital_status;\r\n user.blood_group = employeeData.blood_group;\r\n user.doc_status = \"Yes\";\r\n // user.mobile_number = employeeData.phone_number;\r\n // console.log(employeeData)\r\n \r\n \r\n user.mobile_number = (employeeData.phone_number.includes(employeeData.phone_code)|| employeeData.phone_code === null) ? employeeData.phone_number : employeeData.phone_code.concat(employeeData.phone_number);\r\n user.emergency_contact = employeeData.emergency_number;\r\n user.consulting_fees = employeeData.consulting_fees;\r\n \r\n \r\n \r\n specialities_array.forEach((element, index) => {\r\n // console.log(details.speciality.indexOf(element.id));\r\n \r\n if (employeeData.speciality === element.id) {\r\n user.speciality = element.id;\r\n user.Specialities = element.name;\r\n }\r\n \r\n });\r\n console.log(user); //return false;\r\n records.push(user);\r\n this.setState({\r\n records: records,\r\n // addEmployeeSuccess: resData,\r\n loading: false,\r\n });\r\n toast.success(\"The Employee details have been added successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearForm();\r\n \r\n console.log(user);\r\n if(employeeData.designation == \"doctor\"||employeeData.designation == \"Doctor\"){\r\n //on success of adding the doctor to hospital call shift planner\r\n this.createEvent(user);\r\n }\r\n \r\n } else {\r\n let empdata = employeeData;\r\n \r\n empdata.designation = {\r\n label: employeeData.designation,\r\n value: employeeData.designation,\r\n };\r\n specialities_array.forEach((element, index) => {\r\n // console.log(details.speciality.indexOf(element.id));\r\n \r\n if (employeeData.speciality === element.id) {\r\n empdata.speciality = {\r\n label: element.name,\r\n value: element.id\r\n };\r\n }\r\n console.log(employeeData.speciality);\r\n });\r\n \r\n \r\n empdata.gender = {\r\n label: employeeData.gender,\r\n value: employeeData.gender,\r\n };\r\n empdata.blood_group = {\r\n label: employeeData.blood_group,\r\n value: employeeData.blood_group,\r\n };\r\n empdata.marital_status = {\r\n label: employeeData.marital_status,\r\n value: employeeData.marital_status,\r\n };\r\n console.log(employeeData);\r\n let phncode = employeeData.phone_code;\r\n console.log(phncode);\r\n empdata.phone_number = employeeData.phone_number.includes(phncode) ? employeeData.phone_number : employeeData.phone_code.concat(employeeData.phone_number);\r\n \r\n empdata.phone_code = employeeData.phone_code\r\n this.setState({\r\n records: records,\r\n addEmployeeSuccess: resData,\r\n employeeData: empdata,\r\n loading: false,\r\n });\r\n // window.location.reload();\r\n }\r\n })\r\n .catch((e) => { console.log(e) });\r\n } else {\r\n if(data.speciality==undefined)\r\n {\r\n data.speciality=editRecord.speciality;\r\n }\r\n \r\n console.log(data.speciality);\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n axios\r\n .put(updateEmployee, data, CONFIG)\r\n .then((list) => {\r\n let user = {};\r\n console.log(list);\r\n if (list.data.status === \"1\") {\r\n this.setState({ loading: false });\r\n toast.success(\"The Employee details have been updated successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n getAllBusinessUserList,\r\n { business_id: this.props.userdata.id },\r\n CONFIG\r\n )\r\n .then((list) => {\r\n let users = [];\r\n let userlist = list.data.data;\r\n userlist.forEach((element, index) => {\r\n let user = {};\r\n user.s_no = index + 1;\r\n user.employee_id = element.id;\r\n user.status = element.status;\r\n \r\n user.user_id = element.user_id;\r\n user.professional_id = element.professional_id;\r\n user.email = element.email;\r\n user.doc_status = element.doc_status;\r\n user.first_name = element.first_name;\r\n user.last_name = element.last_name;\r\n user.designation = element.designation;\r\n user.speciality = element.speciality;\r\n user.Specialities = element.Specialities;\r\n user.dob = element.date_of_birth;\r\n user.gender = element.gender;\r\n user.marital_status = element.marital_status;\r\n user.blood_group = element.blood_group;\r\n \r\n user.mobile_number = (element.phone_number.includes(element.phone_code) || element.phone_code== null )? element.phone_number :\r\n element.phone_code.concat(element.phone_number);\r\n user.phone_code = element.phone_code;\r\n user.emergency_contact = element.emergency_number;\r\n user.consulting_fees = element.consulting_fees;\r\n users[index] = user;\r\n userlist.sort((a,b) => a.id - b.id);\r\n });\r\n \r\n this.setState({ records: users });\r\n })\r\n .catch((e) => { console.error(e) });\r\n \r\n \r\n this.clearMessage();\r\n this.clearForm();\r\n console.log(data);\r\n user.employee_id = data.employee_id;\r\n \r\n console.log(user);\r\n \r\n user.user_id = data.user_id;\r\n user.professional_id = data.employee_id;\r\n user.email = data.email;\r\n user.first_name = data.first_name;\r\n user.last_name = data.last_name;\r\n user.doc_status = data.doc_status;\r\n \r\n // user.speciality = employeeData.speciality.label;\r\n \r\n \r\n specialities_array.forEach((element, index) => {\r\n // console.log(details.speciality.indexOf(element.id));\r\n \r\n if (user.speciality === element.id) {\r\n user.speciality = element.id;\r\n user.Specialities = element.name;\r\n }\r\n });\r\n user.speciality=user.speciality.value;\r\n const offsetDate = new Date(data.date_of_birth.getTime() - (data.date_of_birth.getTimezoneOffset() * 60000));\r\n data.date_of_birth = offsetDate;\r\n \r\n user.dob = offsetDate;\r\n user.gender = data.gender;\r\n user.marital_status = data.marital_status;\r\n user.blood_group = data.blood_group;\r\n // user.mobile_number = data.phone_number;\r\n user.mobile_number = data.phone_code.concat(data.phone_number)\r\n \r\n user.emergency_contact = data.emergency_number;\r\n user.consulting_fees = data.consulting_fees;\r\n user.designation = data.designation;\r\n /** Updating the data table */\r\n let existingRecords = this.state.records;\r\n var index = existingRecords.findIndex(\r\n (item) => item.employee_id === data.employee_id\r\n );\r\n existingRecords.splice(index, 1, user);\r\n \r\n this.setState({ records: existingRecords });\r\n \r\n this.setState({ records});\r\n //this.setState({ addEmployeeSuccess: list.data });\r\n \r\n \r\n //window.location.reload();\r\n } else {\r\n let empdata = employeeData;\r\n console.log(empdata)\r\n \r\n \r\n \r\n specialities_array.forEach((element, index) => {\r\n // console.log(details.speciality.indexOf(element.id));\r\n \r\n if (employeeData.speciality === element.id) {\r\n empdata.speciality = {\r\n label: element.name,\r\n value: element.id\r\n };\r\n }\r\n });\r\n \r\n empdata.gender = {\r\n label: employeeData.gender,\r\n value: employeeData.gender,\r\n };\r\n empdata.blood_group = {\r\n label: employeeData.blood_group,\r\n value: employeeData.blood_group,\r\n };\r\n empdata.marital_status = {\r\n label: employeeData.marital_status,\r\n value: employeeData.marital_status,\r\n };\r\n empdata.phone_number = employeeData.phone_code.concat(employeeData.phone_number)\r\n empdata.phone_code = employeeData.phone_code;\r\n this.setState({\r\n records,\r\n addEmployeeSuccess: list.data,\r\n employeeData: empdata,\r\n loading: false\r\n });\r\n // window.location.reload();\r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n }\r\n \r\n };\r\n\r\n clearMessage() {\r\n setTimeout(() => {\r\n this.setState({\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n addEmployeeSuccess: { status: \"\", message: \"\" },\r\n searchTableSuccess: { status: \"\", message: \"\" },\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n });\r\n }, 3000);\r\n }\r\n\r\n clearForm = () => {\r\n this.setState({\r\n actions: \"add\",\r\n editRecord: null,\r\n addEmployeeSuccess: { status: \"\", message: \"\" },\r\n employeeData: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n gender: \"\",\r\n speciality: \"\",\r\n designation: \"\",\r\n date_of_birth: \"\",\r\n phone_number: \"\",\r\n blood_group: \"\",\r\n emergency_contact: \"\",\r\n marital_status: \"\",\r\n business_id: \"\",\r\n consulting_fees: \"\",\r\n email: \"\",\r\n },\r\n showDocFields:false,\r\n errors: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n gender: \"\",\r\n speciality: \"\",\r\n designation: \"\",\r\n date_of_birth: \"\",\r\n phone_number: \"\",\r\n blood_group: \"\",\r\n emergency_contact: \"\",\r\n marital_status: \"\",\r\n email: \"\",\r\n business_id: \"\",\r\n consulting_fees: \"\",\r\n error: \"\",\r\n },\r\n });\r\n };\r\n\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n getAllBusinessUserList,\r\n { business_id: this.props.userdata.id },\r\n CONFIG\r\n )\r\n .then((list) => {\r\n let users = [];\r\n let userlist = list.data.data;\r\n userlist.sort((a,b) => a.id - b.id);\r\n userlist.forEach((element, index) => {\r\n let user = {};\r\n user.s_no = index + 1;\r\n user.employee_id = element.id;\r\n user.status = element.status;\r\n\r\n user.user_id = element.user_id;\r\n user.professional_id = element.professional_id;\r\n user.email = element.email;\r\n user.first_name = element.first_name;\r\n user.last_name = element.last_name;\r\n user.designation = element.designation;\r\n user.speciality = element.speciality;\r\n user.Specialities = element.Specialities;\r\n user.dob = element.date_of_birth;\r\n user.gender = element.gender;\r\n user.marital_status = element.marital_status;\r\n user.blood_group = element.blood_group;\r\n user.doc_status = element.doc_status;\r\n console.log(element.phone_number);\r\n console.log(element.phone_code);\r\n user.mobile_number = (element.phone_number.includes(element.phone_code) || element.phone_code== null )? element.phone_number :\r\n element.phone_code.concat(element.phone_number);\r\n user.phone_code = element.phone_code;\r\n user.emergency_contact = element.emergency_number;\r\n user.consulting_fees = element.consulting_fees;\r\n users[index] = user;\r\n \r\n });\r\n\r\n this.setState({ records: users });\r\n })\r\n .catch((e) => { console.error(e) });\r\n\r\n let specialities = [];\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n specialities_array.forEach((element, index) => {\r\n specialities.push({ value: element.id, label: element.name });\r\n });\r\n specialities_array = specialities;\r\n this.setState({ specialities_array: specialities_array });\r\n };\r\n\r\n\r\n render() {\r\n const {\r\n employeeData,\r\n errors,\r\n successMessage,\r\n errorMessage,\r\n loading,\r\n searchData,\r\n searchTableSuccess,\r\n specialities_array,\r\n addEmployeeSuccess,\r\n searchErrorMessage,\r\n hospitaltimeout\r\n } = this.state;\r\n let PopupClose = () => {\r\n // window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n let PopupConfirm = () => {\r\n window.location.href = \"/showsubscription\";\r\n\r\n };\r\n let DoctorPopupClose = () => {\r\n this.setState({ showadddoctorPopup: false })\r\n };\r\n \r\n let DoctorPopupConfirm = () => {\r\n window.location.href = \"/showsubscription\";\r\n \r\n };\r\n return (\r\n
    \r\n \r\n \r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n\r\n\r\n\r\n

    Employee List

    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n
    \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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\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.actions === \"add\"\r\n ? \"Add\"\r\n : \"Edit\"}\r\n  Employee
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n {/*
    \r\n \r\n {this.state.addEmployeeSuccess}\r\n \r\n
    */}\r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    ) : \"\"}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {/* */}\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* */}\r\n ) : \"\"}\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n

    Token Number

    \r\n
    {selected_queue.preference ? selected_queue.preference : \"--\"}
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n

    Appointment Time

    \r\n
    {selected_queue.expected_time ? Moment(selected_queue.expected_time).format(\"hh:mm A\") : \"--\"}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Wait Time

    \r\n\r\n
    {moment.duration(selected_queue.waitTime).asMinutes() > 0\r\n ? moment.duration(selected_queue.waitTime).asMinutes().toFixed() + ' min'\r\n // Moment(selected_queue.waitTime, 'HH:mm:ss:').diff(moment().startOf('day'), 'minutes') + ' min'\r\n : \"0 min\"}
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Distance to Clinic

    \r\n\r\n
    {selected_queue.distance ? selected_queue.distance : '--'}
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n

    Duration to Clinic

    \r\n\r\n
    {selected_queue.duration ? selected_queue.duration : '--'}
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n

    \r\n Status:{selected_queue.status}

    \r\n\r\n {selected_queue.q_id ? ( Appointment Details) : \"\"}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    Vital Details
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Height\r\n\r\n \"\"\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n cm \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Weight\r\n \"\"\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n kg \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Temp\r\n \"\"\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n °F \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    BMI\r\n \"\"\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n BMI\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    BP\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n mmHg \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Pulse\r\n \"\"\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n per min\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    BMI Result
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {\"<\" + 18.5}\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\"18.5 - 24.9\"}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\"25 - 34.9\"}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\">\" + 45}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* \r\n BMI = {selected_queue.bmi ? selected_queue.bmi : 0} Kg/m2\r\n BMI = {46.8} Kg/m2 \r\n */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Health Tips
    \r\n
    \r\n
    \r\n {allnewsFeeds.length ? allnewsFeeds.map(\r\n (feeds, index) => {\r\n return (\r\n
    \r\n
    \r\n\r\n

    {feeds.short_description}

    \r\n

    \r\n\r\n\r\n\r\n\r\n
    \r\n this.gotofeeds(feeds)} className=\"signupbtn abtn button\">Know More\r\n \r\n\r\n
    \r\n )\r\n }\r\n ) : \"\"\r\n }\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Notifications
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    Upcoming appointment

    \r\n
    \r\n \r\n {\r\n this.state.upcomingAppointment.length ? this.state.upcomingAppointment.map(\r\n \r\n (data, i) => {\r\n return (data.payment_status=='Completed' || (data.payment_status==\"Pending\" && data.schedule_type === \"inperson_direct\"))?\r\n ():(\"\")\r\n }) \r\n : \"\"\r\n }\r\n {this.state.upcomingfamilyAppointment.length ? this.state.upcomingfamilyAppointment.map(\r\n (data, i) => {\r\n return (data.payment_status=='Completed' || (data.payment_status==\"Pending\" && data.schedule_type === \"inperson_direct\"))?():(\"\")\r\n }) : \"\"}\r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n

    {prescription_count} New prescription

    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    Guide
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps,mapDispatchToProps)(Dashboard));","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { CONFIG, Razor_CONFIG } from \"../../../../config/data\";\r\nimport axios from \"axios\";\r\nimport CheckboxOrRadioGroup from \"../../../UI/CheckboxOrRadioGroup\";\r\nimport ToggleButton from \"../../../UI/ToggleButton\";\r\nimport InputField from \"../../../UI/InputField\";\r\nimport SpanField from \"../../../UI/SpanField\";\r\nimport Spinner from \"../../../UI/Spinner\";\r\nimport Select from \"react-select\";\r\nimport * as moment from \"moment\";\r\nimport { Bar, Line } from \"react-chartjs-2\";\r\nimport Validation from \"../../../../actions/Validation\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../modal/IdleModal'\r\nimport \"../../../../assets/css/mystyle.css\";\r\n\r\n\r\nimport {\r\n getTimeFormat,\r\n getTimeFormatToUI,\r\n getDateISOFormat\r\n\r\n} from \"../../../../constants/globalLevelFunctions\";\r\n\r\nimport {\r\n getAllHospitalQueueReport,\r\n getAllReviewsReport,\r\n updateAdminDetails,\r\n getDocByBusiness,\r\n getCharturl,\r\n getPharmacyByUserId,\r\n updateDoctorStatus,\r\n UpdateQueueDrOfficeScheduleChange,\r\n getTimeoutbycategory\r\n} from \"../../../../config/url.json\";\r\nimport LoadingHeartrate from \"../../../UI/Heartrate\";\r\nimport Dnaspinner from \"../../../UI/Dnaspinner\";\r\n\r\nfunction mapStateToProps(state) {\r\n console.log(state);\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nconst scheduleType = [{ label: \"Token\", value: \"Queue\" }, { label: \"Appointment\", value: \"Appointment\" }];\r\nconst time_break = [\r\n { label: \"Mins\", value: \"Mins\" },\r\n { label: \"Hours\", value: \"Hours\" },\r\n];\r\n\r\n\r\nconst __DEV__ = document.domain === 'https://dbp74y1qpj.execute-api.ap-south-1.amazonaws.com'\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n};\r\n}\r\nfunction loadScript(src) {\r\n return new Promise((resolve) => {\r\n const script = document.createElement('script')\r\n script.src = src\r\n script.onload = () => {\r\n resolve(true)\r\n }\r\n script.onerror = () => {\r\n resolve(false)\r\n }\r\n document.body.appendChild(script)\r\n })\r\n}\r\nconst doctor_arrived = [\r\n { value: 1, label: \"Yes\" },\r\n { value: 0, label: \"No\" },\r\n];\r\nconst hospital_opened = [\r\n { value: 1, label: \"Yes\" },\r\n { value: 0, label: \"No\" },\r\n];\r\nconst state = {\r\n labels: [\"January\", \"February\", \"March\", \"April\", \"May\"],\r\n datasets: [\r\n {\r\n label: \"Check-In\",\r\n /* backgroundColor: \"rgba(75,192,192,1)\", */\r\n \r\n // borderColor: \"rgba(0,0,0,1)\",\r\n borderWidth: 2,\r\n data: [65, 59, 80, 81, 56],\r\n },\r\n ],\r\n};\r\nclass Dashboard extends Component {\r\n constructor(props) {\r\n super(props);\r\n var today = new Date(),\r\n\r\n time = today.getHours() + ':' + today.getMinutes() + ':' + today.getSeconds();\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout=this.state;\r\n this.state = {\r\n timeout:hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n adminstatus: this.props.userdata.adminstatus,\r\n selected_schedule_day_id: \"\",\r\n queue_report_today: [],\r\n queue_report_yesterday: [],\r\n reviews_data: [],\r\n chart_data: [],\r\n admin_data: {\r\n daily_info_is_open: \"\",\r\n schedule_type: [],\r\n daily_info_cycle_time: \"\",\r\n daily_info_reschedule_time: \"\",\r\n daily_info_open_time: \"\",\r\n open_exacttime: \"\",\r\n cycle_time: \"\",\r\n cycle_time_break: {\r\n label: \"Mins\",\r\n value: \"Hours\",\r\n },\r\n reschedule_time: \"\",\r\n reschedule_time_break: {\r\n label: \"Mins\",\r\n value: \"Hours\",\r\n },\r\n },\r\n doctors_list_data: [],\r\n errors: {},\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n doctorStatusSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n currentTime: time,\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n \r\n }\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n handleclose() {\r\n this.setState({showPopupModal: false})\r\n }\r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n};\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n console.log('user is active', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n handleUsehere() {\r\n this.setState({showPopupModal: false})\r\n }\r\n handleInput = (e) => {\r\n let data = this.state.admin_data;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n\r\n if (e.target.name == \"cycle_time\") {\r\n if (data.cycle_time_break.label === \"Mins\") {\r\n value = value > 59 ? \"\" : value;\r\n } else {\r\n value = value > 24 ? \"\" : value;\r\n }\r\n } else if (e.target.name === \"reschedule_time\") {\r\n if (data.reschedule_time_break.label === \"Mins\") {\r\n value = value > 59 ? \"\" : value;\r\n } else {\r\n value = value > 24 ? \"\" : value;\r\n }\r\n }\r\n data[name] = value;\r\n this.setState({ admin_data: data });\r\n console.log(this.state.admin_data);\r\n };\r\n handleArrayInput = (i, selectoption) => {\r\n // let data = this.state.doctors_list_data;\r\n // let name = e.target.name;\r\n // let value = e.target.value;\r\n // data[name] = value;\r\n // this.setState({ doctors_list_data: data });\r\n console.log(selectoption.target.value);\r\n let data = this.state.doctors_list_data;\r\n data[i].doctor_exactarrivaltime = selectoption.target.value\r\n console.log(data);\r\n this.setState({ doctors_list_data: data });\r\n }\r\n handleTimingSelect = (i, j, selectoption) => {\r\n\r\n let data = this.state.doctors_list_data;\r\n data[i].selected_schedule_day_id = selectoption.target.value\r\n this.setState({ doctors_list_data: data });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.admin_data;\r\n let errors = this.state.errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ admin_data: data, errors: errors });\r\n }\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.admin_data;\r\n data[e.name] = selectedOptions;\r\n\r\n if (e.name == \"cycle_time_break\") {\r\n data.cycle_time = \"\";\r\n } else if (e.name == \"reschedule_time_break\") {\r\n data.reschedule_time = \"\";\r\n }\r\n this.setState({ admin_data: data });\r\n };\r\n handleSechduleType = (e) => {\r\n let data = this.state.admin_data;\r\n\r\n data.schedule_type = e.target.value;\r\n this.setState({ admin_data: data });\r\n };\r\n \r\n componentDidMount = () => {\r\n\r\n\r\n // const handleInvalidToken = e => {\r\n // if (e.key === 'accessToken' && e.oldValue && !e.newValue) {\r\n // // Your logout logic here\r\n // this.handleLogout()\r\n // }\r\n // }\r\n \r\n // window.addEventListener('storage', handleInvalidToken)\r\n \r\n // return function cleanup() {\r\n // window.removeEventListener('storage', handleInvalidToken)\r\n // }\r\n // window.addEventListener('storage', () => {\r\n // window.alert('another window or tab is open')\r\n \r\n // }, false)\r\n \r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n \r\n\r\n \r\n this.setState({ loading: true })\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let url = getAllHospitalQueueReport + \"?business_id=\" + this.props.userdata.id; \r\n axios\r\n .get(url, null, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n\r\n if (data.status !== \"0\")\r\n this.setState({\r\n queue_report_today: data.data.today,\r\n queue_report_yesterday: data.data.yesterday,\r\n });\r\n else {\r\n this.setState({\r\n queue_report_today: [],\r\n queue_report_yesterday: [],\r\n });\r\n }\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let getAllReviewsReporturl =\r\n getAllReviewsReport + \"?business_id=\" + this.props.userdata.id;\r\n axios\r\n .get(getAllReviewsReporturl, null, CONFIG)\r\n .then((result) => {\r\n if (result.data.status === \"1\") {\r\n this.setState({ reviews_data: result.data.data[0] });\r\n } else {\r\n this.setState({ reviews_data: [] });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e.data);\r\n console.log(\"business user getbyid failed\");\r\n });\r\n\r\n // get graph data\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let getCharturldata =\r\n getCharturl + \"?business_id=\" + this.props.userdata.id;\r\n axios\r\n .get(getCharturldata, null, CONFIG)\r\n .then((result) => {\r\n if (result.data.status === \"1\") {\r\n \r\n let chart_data = {\r\n labels: Object.keys(result.data.data),\r\n datasets: [\r\n {\r\n label: \"Check-In\",\r\n backgroundColor: \"rgba(218, 0, 0, 0.8)\",\r\n /* backgroundColor: [\r\n \"rgba(245, 40, 145, 0.8)\",\r\n \"rgba(218, 0, 0, 0.8)\",\r\n \"rgba(0, 122, 80, 0.8)\",\r\n ], */\r\n // borderColor: \"rgba(41,184,246,1)\",\r\n borderWidth: 2,\r\n data: Object.values(result.data.data),\r\n },\r\n ],\r\n };\r\n this.setState({ chart_data: chart_data });\r\n } else {\r\n // this.setState({ chart_data: [] });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"business user getbyid failed\");\r\n });\r\n if (this.props.access_token) {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(\r\n getDocByBusiness,\r\n {\r\n n_business_id: this.props.userdata.id, n_currentdate: getDateISOFormat(new Date()),\r\n },\r\n CONFIG\r\n )\r\n .then((res) => {\r\n let data = res.data;\r\n // console.log(data);\r\n // var ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), 'my-secret-key@123').toString();\r\n // console.log(ciphertext);\r\n // var bytes = CryptoJS.AES.decrypt(ciphertext, 'my-secret-key@123');\r\n // var decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\r\n // console.log(decryptedData);\r\n // console.log(decryptedData.data);\r\n // console.log(decryptedData.status);\r\n // console.log(res);\r\n if (data.status !== \"0\") {\r\n let resdata = data.data;\r\n console.log(resdata);\r\n let doctorList = [];\r\n resdata.forEach((element, index) => {\r\n let doctor = {};\r\n console.log(element);\r\n doctor.first_name = element.doctor_name;\r\n // doctor.last_name = element.last_name;\r\n doctor.id = element.business_user_id;\r\n doctor.user_id = element.business_user_id;\r\n doctor.is_doctor_arrived = element.is_doctor_arrived == \"1\" ? \"Yes\" : \"No\";\r\n doctor.doctor_Appointments = element.doctor_Appointments;\r\n doctor.schedule_type = element.schedule_type;\r\n doctor.selected_schedule_day_id = element.doctor_Appointments[0].schedule_day_id;\r\n\r\n doctor.doctor_exactarrivaltime = element.doctor_exactarrivaltime ? element.doctor_exactarrivaltime : moment().format(\"HH:mm:00\");\r\n doctorList[index] = doctor;\r\n });\r\n this.setState({ doctors_list_data: doctorList });\r\n }\r\n })\r\n .catch((e) => { });\r\n\r\n }\r\n let { currentTime } = this.state;\r\n axios\r\n .post(getPharmacyByUserId, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let responseData = response.data;\r\n let admin_data = this.state.admin_data;\r\n if (responseData.status === \"1\") {\r\n let data = responseData.data[0];\r\n admin_data.daily_info_is_open = data.daily_info_is_open\r\n ? \"Yes\"\r\n : \"No\";\r\n admin_data.daily_info_open_time = data.daily_info_open_time\r\n ? data.daily_info_open_time\r\n : \"\";\r\n\r\n var time = admin_data.daily_info_open_time.toString();\r\n\r\n time = time.substr(11, 8);\r\n console.log(time);\r\n console.log(admin_data.daily_info_open_time);\r\n\r\n admin_data.daily_info_open_time = time;\r\n admin_data.schedule_type = data.schedule_type\r\n ? data.schedule_type\r\n : [];\r\n admin_data.open_exacttime = currentTime;\r\n if (data.daily_info_cycle_time) {\r\n let cycleTime_UI_Data = getTimeFormatToUI(\r\n data.daily_info_cycle_time\r\n );\r\n admin_data.cycle_time = cycleTime_UI_Data.Time;\r\n admin_data.cycle_time_break = {\r\n label: cycleTime_UI_Data.Type,\r\n value: cycleTime_UI_Data.Type,\r\n };\r\n }\r\n\r\n if (data.daily_info_reschedule_time) {\r\n let rescheduleTime_UI_Data = getTimeFormatToUI(\r\n data.daily_info_reschedule_time\r\n );\r\n admin_data.reschedule_time = rescheduleTime_UI_Data.Time;\r\n admin_data.reschedule_time_break = {\r\n label: rescheduleTime_UI_Data.Type,\r\n value: rescheduleTime_UI_Data.Type,\r\n };\r\n }\r\n this.setState({ admin_data: admin_data });\r\n this.setState({ loading: false })\r\n }\r\n });\r\n };\r\n handleToggle = (checkedData, obj) => {\r\n //if value is off make it on & viceversa\r\n obj.target.value = obj.target.value === \"on\" ? \"off\" : \"on\";\r\n\r\n let admin_data = this.state.admin_data;\r\n // if obj is \"on\" make backend variable as Yes and viceversa. It has to behave like radio button\r\n admin_data[obj.target.name] = obj.target.value === \"on\" ? \"Yes\" : \"No\";\r\n\r\n this.setState({ admin_data });\r\n };\r\n updateDoctorDetails = (e, i) => {\r\n console.log(e, i)\r\n let { currentTime } = this.state;\r\n let doc_list = this.state.doctors_list_data;\r\n console.log(doc_list)\r\n let doctorRecord = \"\";\r\n let doctorStatus = \"\";\r\n let schedule_day_id = \"\";\r\n let doctor_exactarrivaltime = \"\";\r\n doc_list.forEach((element, index) => {\r\n if (e === index) {\r\n\r\n doctorStatus = element.is_doctor_arrived;\r\n doctorRecord = element.user_id;\r\n schedule_day_id = element.selected_schedule_day_id;\r\n doctor_exactarrivaltime = element.doctor_exactarrivaltime;\r\n console.log(element.is_doctor_arrived);\r\n // if (element.is_doctor_arrived === 1) {\r\n // doctor_exactarrivaltime = currentTime;\r\n // doctor_exactarrivaltime = element.doctor_exactarrivaltime;\r\n // }\r\n // else {\r\n // doctor_exactarrivaltime = null;\r\n // doctor_exactarrivaltime = element.doctor_exactarrivaltime;\r\n // }\r\n\r\n }\r\n });\r\n // this.setState({ doctors_list_data: doc_list });\r\n\r\n\r\n console.log(doc_list);\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let reqdata = {\r\n user_id: doctorRecord,\r\n business_id: this.props.userdata.id,\r\n is_doctor_arrived: doctorStatus === \"Yes\" ? 1 : 0,\r\n doctor_exactarrivaltime: doctor_exactarrivaltime\r\n };\r\n axios\r\n .post(updateDoctorStatus, reqdata, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n\r\n if (data.status !== \"0\") {\r\n data.error_type = \"success\";\r\n this.setState({\r\n doctorStatusSuccess: data,\r\n });\r\n if (doctorStatus == 'Yes') {\r\n let datas = {\r\n \"n_business_id\": reqdata.business_id,\r\n \"n_schedule_day_id\": schedule_day_id,\r\n \"n_business_user_id\": doctorRecord,\r\n \"n_schedule_type\": \"DR\",\r\n \"n_savedtime\": reqdata.doctor_exactarrivaltime,\r\n };\r\n console.log(datas)\r\n axios\r\n .post(UpdateQueueDrOfficeScheduleChange, datas)\r\n .then((res) => {\r\n console.log(res);\r\n }).catch((e) => {\r\n console.log(e);\r\n });\r\n }\r\n\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n }\r\n dynamichandleToggle = (checkedData, i, obj) => {\r\n console.log(i, checkedData, obj)\r\n //if value is off make it on & viceversa\r\n obj.target.value = obj.target.value === \"on\" ? \"off\" : \"on\";\r\n let { currentTime } = this.state;\r\n let doc_list = this.state.doctors_list_data;\r\n\r\n let doctorRecord = \"\";\r\n let doctorStatus = \"\";\r\n let schedule_day_id = \"\";\r\n let schedule_type = \"\";\r\n doc_list.forEach((element, index) => {\r\n if (element.id == obj.target.name.split(\"|\")[1]) {\r\n element.is_doctor_arrived = obj.target.value === \"on\" ? \"Yes\" : \"No\";\r\n doctorStatus = element.is_doctor_arrived;\r\n doctorRecord = element.user_id;\r\n schedule_day_id = element.selected_schedule_day_id;\r\n schedule_type = element.schedule_type;\r\n console.log(element.is_doctor_arrived);\r\n if (element.is_doctor_arrived === \"Yes\") {\r\n\r\n doc_list[i].doctor_exactarrivaltime = moment().format(\"HH:mm:ss\");\r\n // doctor_exactarrivaltime = element.doctor_exactarrivaltime;\r\n }\r\n else {\r\n // doctor_exactarrivaltime = null;\r\n // doctor_exactarrivaltime = element.doctor_exactarrivaltime;\r\n }\r\n\r\n }\r\n });\r\n\r\n this.setState({ doctors_list_data: doc_list });\r\n\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let reqdata = {\r\n user_id: doctorRecord,\r\n business_id: this.props.userdata.id,\r\n is_doctor_arrived: doctorStatus === \"Yes\" ? 1 : 0,\r\n doctor_exactarrivaltime: doctorStatus === \"Yes\" ? moment().format(\"HH:mm:ss\") : null\r\n };\r\n axios\r\n .post(updateDoctorStatus, reqdata, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n\r\n if (data.status !== \"0\") {\r\n data.error_type = \"success\";\r\n this.setState({\r\n doctorStatusSuccess: data,\r\n });\r\n // console.log(schedule_type.toLowerCase(),doctorStatus); return false;\r\n if (doctorStatus == 'Yes' && schedule_type.toLowerCase() !== \"appointment\") {\r\n let datas = {\r\n \"n_business_id\": reqdata.business_id,\r\n \"n_schedule_day_id\": schedule_day_id,\r\n \"n_business_user_id\": doctorRecord,\r\n \"n_schedule_type\": \"DR\",\r\n \"n_savedtime\": moment().utc().format('HH:mm:ss'),\r\n };\r\n console.log(datas)\r\n axios\r\n .post(UpdateQueueDrOfficeScheduleChange, datas)\r\n .then((res) => {\r\n console.log(res);\r\n }).catch((e) => {\r\n console.log(e);\r\n });\r\n }\r\n\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n };\r\n updateAdminDetails = (event) => {\r\n event.preventDefault();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let { admin_data, errors, currentTime } = this.state;\r\n console.log(this.state.currentTime);\r\n console.log(currentTime);\r\n admin_data.type = \"HospitalDasboardAdmin\";\r\n\r\n errors = Validation(admin_data, errors);\r\n\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n // console.log(admin_data.daily_info_open_time + \":00\");\r\n // console.log(getDateISOFormat(new Date()));\r\n // console.log(getDateISOFormat(new Date()) + \" \" + admin_data.daily_info_open_time + \":00\")\r\n let data = {\r\n business_id: this.props.userdata.id,\r\n is_open: admin_data.daily_info_is_open === \"Yes\" ? 1 : 0,\r\n cycle_time: getTimeFormat(\r\n admin_data.cycle_time,\r\n admin_data.cycle_time_break.label\r\n ),\r\n reschedule_time: getTimeFormat(\r\n admin_data.reschedule_time,\r\n admin_data.reschedule_time_break.label\r\n ),\r\n open_time:\r\n getDateISOFormat(new Date()) + \" \" + admin_data.daily_info_open_time,\r\n schedule_type: admin_data.schedule_type\r\n ? admin_data.schedule_type.toString()\r\n : \"\",\r\n open_exacttime: currentTime,\r\n };\r\n axios\r\n .put(updateAdminDetails, data, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n\r\n if (data.status !== \"0\") {\r\n data.error_type = \"success\";\r\n this.setState({\r\n formSuccess: data,\r\n });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n } else {\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n }\r\n };\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n doctorStatusSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n let errors = this.state.errors;\r\n errors.daily_info_open_time = \"\";\r\n this.setState({ errors:errors });\r\n\r\n };\r\n\r\n\r\n displayRazorpay = () => {\r\n const res = loadScript('https://checkout.razorpay.com/v1/checkout.js')\r\n\r\n if (!res) {\r\n alert('Razorpay SDK failed to load. Are you online?')\r\n return\r\n }\r\n const option = {\r\n method: 'POST',\r\n // headers: new Headers({ 'content-type': 'application/json' }),\r\n mode: 'no-cors'\r\n };\r\n const data = '';\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios.post(\"https://qa.api.klinicq.com/payment/api/razorpay\", null, Razor_CONFIG).then((res) => {\r\n // let data = res.data;\r\n\r\n // if (data.status !== \"0\")\r\n // this.setState({\r\n // queue_report_today: data.data.today,\r\n // queue_report_yesterday: data.data.yesterday,\r\n // });\r\n // else {\r\n // this.setState({\r\n // queue_report_today: [],\r\n // queue_report_yesterday: [],\r\n // });\r\n // }c\r\n console.log(res);\r\n // let data = res;\r\n let data = res.data;\r\n console.log(data.currency);\r\n const options = {\r\n // key: __DEV__ ? 'rzp_test_CObt3PWG73pjBs' : 'PRODUCTION_KEY',\r\n key: 'rzp_test_CObt3PWG73pjBs',\r\n currency: data.currency,\r\n amount: data.amount.toString(),\r\n order_id: data.id,\r\n name: 'Billing and Payment',\r\n description: '',\r\n image: 'https://wtmprofileimagesbucket.s3.ap-south-1.amazonaws.com/logo.png',\r\n handler: function (response) {\r\n alert(response.razorpay_payment_id)\r\n alert(response.razorpay_order_id)\r\n alert(response.razorpay_signature)\r\n },\r\n prefill: {\r\n name: 'elatestrazor',\r\n email: 'sdfdsjfh2@ndsfdf.com',\r\n phone_number: '9899999999'\r\n }\r\n }\r\n console.log(options)\r\n // window.setTimeout(() => {\r\n console.log('hi')\r\n const paymentObject = new window.Razorpay(options)\r\n paymentObject.open()\r\n // }, 1000);\r\n\r\n // res.json();\r\n }).catch((e) => { console.log(e) });\r\n // const data = await fetch(\"http://localhost:1337/razorpay\", { method: 'POST' }).then((t) => {\r\n // console.log(t)\r\n // t.json();\r\n // }\r\n\r\n // )\r\n\r\n // const data = await fetch('http://localhost:1337/payment/api/razorpay', { method: 'POST' }).then((t) =>\r\n // t.json()\r\n // )\r\n\r\n\r\n\r\n\r\n }\r\n render() {\r\n\r\n\r\n // const __DEV__ = document.domain === 'localhost'\r\n const {\r\n queue_report_yesterday,\r\n queue_report_today,\r\n reviews_data,\r\n queue_data,\r\n errors,\r\n admin_data,\r\n formSuccess,\r\n doctorStatusSuccess,\r\n chart_data,\r\n loading,\r\n hospitaltimeout,\r\n idleTimeout,\r\n } = this.state;\r\n \r\n let loggedinUserId = this.props.userdata.id;\r\n let navigation = {};\r\n navigation.userId = loggedinUserId;\r\n\r\n return (\r\n\r\n
    \r\n \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n \r\n {loading && }\r\n\r\n
    \r\n
    \r\n\r\n

    Dashboard

    \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n
    \r\n\r\n
    Today
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Queue-In

    \r\n\r\n

    {queue_report_today.queuein}

    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Check-In

    \r\n\r\n

    {queue_report_today.checkin}

    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Cancelled

    \r\n

    {queue_report_today.cancelled}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    Yesterday
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Consultation

    \r\n\r\n

    {queue_report_yesterday.visits}

    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Cancelled

    \r\n\r\n

    {queue_report_yesterday.cancelled}

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    Messages
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n

    You have 14 new messages

    \r\n
    \r\n
    \r\n \r\n \r\n

    \r\n 256 read messages\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    Approvals
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n

    15 new medicines waiting for approval

    \r\n
    \r\n
    \r\n \r\n \r\n

    \r\n 6 Approved appointments\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Administration
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n {scheduleType.map((option) => {\r\n return (\r\n \r\n -1}\r\n type=\"radio\"\r\n id={option.label}\r\n />\r\n \r\n
    )\r\n })}\r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Update\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Doctors List
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {this.state.doctors_list_data.map((el, i) => (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {el.doctor_Appointments.map(\r\n (option, j) => {\r\n return (\r\n \r\n\r\n
    \r\n {/* {el.selected_schedule_day_id}
    */}\r\n {/* {option.schedule_day_id}
    */}\r\n \r\n \r\n {option.event_name} ({option.starttime} -{\" \"}\r\n {option.endtime})\r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n );\r\n }\r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/*
    \r\n \r\n Update\r\n \r\n
    */}\r\n
    \r\n\r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Notifications
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n

    Upcoming Appointment

    \r\n
    \r\n
    \r\n \r\n \r\n

    \r\n Calender\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Check-in trend last week
    \r\n
    \r\n \r\n\r\n {/* */}\r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Reviews
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n */}\r\n \r\n
    \r\n \r\n \r\n \r\n

    {reviews_data.reviewLike} reviews

    \r\n
    \r\n
    \r\n \r\n \r\n

    \r\n 27 reviews\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    Dummy
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    Statement
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n

    You have 3 new statements

    \r\n
    \r\n
    \r\n \r\n \r\n

    \r\n \r\n Download previous month statements\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    Recent News
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n \r\n \r\n {/* */}\r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Dashboard);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n// import ProfileHeader from \"../components/container/ProfileHeader\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport PharmacyHeader from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport BusinessDashboard from \"../components/container/layout/business/Dashboard\";\r\nimport BusinessUserDashboard from \"../components/container/layout/business_user/Dashboard\";\r\nimport ClientDashboard from \"../components/container/layout/client/Dashboard\";\r\nimport PharmacyDashboard from \"../components/container/layout/pharmacy/Dashboard\"\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nclass Dashboard extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n // vitalDetails: [],\r\n // prescription_count: 0,\r\n // queue_data: [],\r\n };\r\n }\r\n\r\n componentDidMount = () => {\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // const checkinData = { client_id: this.props.userdata.id };\r\n // axios\r\n // .post(getVitalDetail, checkinData, CONFIG)\r\n // .then((res) => {\r\n // let data = res.data;\r\n // console.log(data);\r\n // if (data.status !== \"0\")\r\n // this.setState({\r\n // vitalDetails: data.vital_detail,\r\n // prescription_count: data.prescriptions,\r\n // });\r\n // else {\r\n // this.setState({\r\n // vitalDetails: [],\r\n // prescription_count: data.prescriptions,\r\n // });\r\n // }\r\n // })\r\n // .catch((e) => {});\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // axios\r\n // .post(getQEntryByClientId, { client_id: this.props.userdata.id }, CONFIG)\r\n // .then((result) => {\r\n // console.log(result);\r\n // if (result.data.status === \"1\") {\r\n // this.setState({ queue_data: result.data.data[0] });\r\n // } else {\r\n // this.setState({ queue_data: [] });\r\n // }\r\n // })\r\n // .catch((e) => {\r\n // console.log(e.data);\r\n // console.log(\"business user getbyid failed\");\r\n // });\r\n };\r\n render() {\r\n // const { vitalDetails, prescription_count, queue_data } = this.state;\r\n let loggedinUserId = this.props.userdata.id;\r\n let navigation = {};\r\n navigation.userId = loggedinUserId;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"pharmacy\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"pharmacy\" ? (\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.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"pharmacy\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(Dashboard);\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport { getQueueStatus } from \"../constants/globalLevelFunctions\";\r\nimport { GetallQEntries, getDocByBusiness } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport { ExpirePopup } from \"../components/UI/ExpirePopup\";\r\nimport * as moment from \"moment\";\r\nimport { getDateISOFormat } from \"../constants/globalLevelFunctions\";\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n };\r\n}\r\n\r\nclass QueueList extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n showexpirePopup: this.props.validity,\r\n hospitalpopup:false,\r\n timestamp: 'no timestamp yet',\r\n doc_list: [],\r\n selected_doctor: \"\",\r\n doctor_appointment: [],\r\n queue: {\r\n id: \"\",\r\n client_id: \"\",\r\n business_id: \"\",\r\n first_name: \"\",\r\n last_name: \"\",\r\n age: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n marital_status: \"\",\r\n phone_number: \"\",\r\n status: \"cancelled\",\r\n patient_name: \"\",\r\n actual_checkin_time: \"\",\r\n expected_time: \"\",\r\n waitTime: \"\",\r\n },\r\n queueList: [],\r\n selectedQueue: [],\r\n loading: false,\r\n };\r\n this.columns = [\r\n // {\r\n // key: \"token_no\",\r\n // text: \"Token No\",\r\n // className: \"token_no\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // },\r\n {\r\n key: \"preference\",\r\n text: \"Token No\",\r\n className: \"preference\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return record.status === \"Check-Out\" ? 0 : record.preference ;\r\n },\r\n },\r\n {\r\n key: \"patient_name\",\r\n text: \"Patient Name\",\r\n className: \"patient_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"id\",\r\n text: \"Patient ID\",\r\n className: \"id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return record.phone_number === \"\" ? record.parent_phone_number:record.phone_number ;\r\n },\r\n },\r\n \r\n\r\n {\r\n key: \"expected_time\",\r\n text: \"Token Time\",\r\n className: \"expected_time\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return moment(record.expected_time).format(\"hh:mm A\");\r\n },\r\n },\r\n {\r\n key: \"actual_checkin_time\",\r\n text: \"Check-In Time\",\r\n className: \"actual_checkin_time\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return record.actual_checkin_time ? moment(record.actual_checkin_time).format(\"hh:mm A\") : \"\";\r\n },\r\n },\r\n\r\n {\r\n key: \"status\",\r\n text: \"Queue-In\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"status\",\r\n text: \"Check-In\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"status\",\r\n text: \"Consultation\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"status\",\r\n text: \"Check-Out\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n );\r\n },\r\n },\r\n // {\r\n // key: \"status\",\r\n // text: \"Cancelled\",\r\n // className: \"text-center\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // cell: (record) => {\r\n // return (\r\n // \r\n // \r\n // {\" \"}\r\n // \r\n // \r\n // );\r\n // },\r\n // },\r\n {\r\n key: \"payment_status\",\r\n text: \"Payment Status\",\r\n className: \"payment_status\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"waitTime\",\r\n text: \"Wait Time\",\r\n className: \"waitTime\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return (record.status === \"Consulting\" || record.status === \"Check-Out\") ? \"-\" : record.waitTime ? record.waitTime : \"\";\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n\r\n\r\n\r\n\r\n componentDidMount = () => {\r\n // socketObj.on('getQueueStatus', () => {\r\n // this.refreshData();\r\n // });\r\n // let record = this.state.queue;\r\n // let list = this.state.queueList;\r\n // list.push(record);\r\n this.setState({ loading: true });\r\n\r\n const data = {\r\n n_business_id: this.props.userdata.id,\r\n n_currentdate: getDateISOFormat(new Date()),\r\n };\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getDocByBusiness, data, CONFIG)\r\n .then((result) => {\r\n\r\n let doc_list = [], doctor_shift = [];\r\n result.data.data.forEach((element, index) => {\r\n if (element.schedule_type.toLowerCase() !== 'appointment')\r\n doc_list.push({ value: element.business_user_id, label: element.doctor_name, doctor_Appointments: element.doctor_Appointments });\r\n });\r\n if (doc_list.length) {\r\n doc_list[0].doctor_Appointments.forEach((doc, k) => {\r\n doctor_shift.push({ value: doc.schedule_day_id, label: \"Shift \" + (k + 1) + \"(\" + doc.starttime + \" - \" + doc.endtime + \")\" })\r\n })\r\n }\r\n\r\n\r\n this.setState({ doctor_appointment: result.data.data, doc_list: doc_list, selected_doctor: doc_list[0], doctor_shift: doctor_shift, selected_shift: doctor_shift[0], loading: false });\r\n this.getQueueEntries(doc_list[0].value, doctor_shift[0].value);\r\n\r\n\r\n })\r\n .catch((e) => { console.log(e); this.setState({ loading: false }) });\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // axios\r\n // .post(\r\n // GetallQEntries,\r\n // { business_id: this.props.userdata.id },\r\n // CONFIG\r\n // )\r\n // .then((res) => {\r\n\r\n // this.setState({ loading: false });\r\n // let doc_list = [];\r\n // if (res.data.status === \"1\") {\r\n\r\n // res.data.data.forEach((element, index) => {\r\n\r\n // doc_list.push({ value: index, label: element[0].doc_name });\r\n // });\r\n\r\n // this.setState({ queueList: res.data.data, doc_list: doc_list, selected_doctor: doc_list[0], selectedQueue: res.data.data[0] })\r\n // } else {\r\n // this.setState({ queueList: [], selectedQueue: [], doc_list: [] })\r\n\r\n // }\r\n\r\n // })\r\n // .catch((e) => { });\r\n };\r\n getQueueEntries(business_user_id, schedule_day_id) {\r\n this.setState({ loading: true });\r\n if (business_user_id !== \"\" && schedule_day_id !== \"\") {\r\n let reqdata = {\r\n business_id: this.props.userdata.id,\r\n business_user_id: business_user_id,\r\n schedule_day_id: schedule_day_id\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(GetallQEntries, reqdata, CONFIG)\r\n .then((result) => {\r\n let qdata = result.data.data;\r\n \r\n console.log(qdata)\r\n this.setState({ selectedQueue: qdata, loading: false });\r\n }).catch((err) => { console.log('queue list error' + err) });\r\n }\r\n }\r\n\r\n refreshData = () => {\r\n\r\n\r\n this.getQueueEntries(this.state.selected_doctor.value, this.state.selected_shift.value);\r\n // this.getQueueEntries(doc_list[0].value, doctor_shift[0].value);\r\n\r\n };\r\n\r\n\r\n\r\n componentDidCatch = () => {\r\n const script = document.createElement(\"script\");\r\n\r\n script.src =\r\n \"https://s3.ap-south-1.amazonaws.com/klinicq.com/menu-app.js\";\r\n script.async = true;\r\n\r\n document.body.appendChild(script);\r\n };\r\n\r\n handleselectChange = (selectedoption, event) => {\r\n\r\n let { doc_list } = this.state;\r\n let doctor_shift = [];\r\n if (event.name === \"doc_list\") {\r\n\r\n doc_list[event.name] = selectedoption\r\n\r\n\r\n selectedoption.doctor_Appointments.forEach((doc, k) => {\r\n doctor_shift.push({ value: doc.schedule_day_id, label: \"Shift \" + (k + 1) + \"(\" + doc.starttime + \" - \" + doc.endtime + \")\" })\r\n })\r\n\r\n this.setState({ doc_list: doc_list, selected_doctor: selectedoption, doctor_shift: doctor_shift, selected_shift: doctor_shift[0] });\r\n this.getQueueEntries(selectedoption.value, doctor_shift[0].value)\r\n }\r\n if (event.name === 'doctor_shift') {\r\n\r\n this.setState({ selected_shift: selectedoption })\r\n this.getQueueEntries(this.state.selected_doctor.value, selectedoption.value)\r\n }\r\n }\r\n render() {\r\n const { headerinfo, queueList, doc_list,loading } = this.state;\r\n let loggedinUserId = this.props.userdata.id;\r\n let navigation = {};\r\n navigation.userId = loggedinUserId;\r\n console.log(this.state.showexpirePopup)\r\n console.log(this.state.hospitalpopup);\r\n let PopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n let PopupConfirm = () => {\r\n this.props.history.push({\r\n pathname: \"/showsubscription\",\r\n state: {}\r\n });\r\n };\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n\r\n {/*

    \r\n This is the timer value: {this.state.timestamp}\r\n

    */}\r\n\r\n

    Token List

    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n \r\n {/*
    */}\r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n\r\n
    \r\n
    \r\n \r\n
    )}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(QueueList);\r\n","import React, { Component,Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport { getAppointmentStatus } from \"../constants/globalLevelFunctions\";\r\nimport { GetHospitalAppointmentList, getDocByBusiness } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport { ExpirePopup } from \"../components/UI/ExpirePopup\";\r\nimport * as moment from \"moment\";\r\nimport { getDateISOFormat } from \"../constants/globalLevelFunctions\";\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport Dnaspinner from '../components/UI/Dnaspinner';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n };\r\n }\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n\r\n };\r\n}\r\n\r\nclass AppointmentList extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n \r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n showexpirePopup: this.props.validity,\r\n timestamp: 'no timestamp yet',\r\n doc_list: [],\r\n selected_doctor: \"\",\r\n doctor_appointment: [],\r\n queue: {\r\n id: \"\",\r\n client_id: \"\",\r\n business_id: \"\",\r\n first_name: \"\",\r\n last_name: \"\",\r\n age: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n marital_status: \"\",\r\n phone_number: \"\",\r\n status: \"cancelled\",\r\n patient_name: \"\",\r\n actual_checkin_time: \"\",\r\n expected_time: \"\",\r\n waitTime: \"\",\r\n },\r\n queueList: [],\r\n selectedQueue: [],\r\n loading: false,\r\n };\r\n this.columns = [\r\n // {\r\n // key: \"token_no\",\r\n // text: \"Token No\",\r\n // className: \"token_no\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // },\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"patient_name\",\r\n text: \"Patient Name\",\r\n className: \"patient_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"patient_id\",\r\n text: \"Patient ID\",\r\n className: \"patient_id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return record.phone_number ? record.phone_number:record.parent_phone_number ;\r\n },\r\n },\r\n \r\n \r\n \r\n\r\n {\r\n key: \"appt_time\",\r\n text: \"Appointment Time\",\r\n className: \"appt_time\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return moment(record.appt_time).format(\"hh:mm A\");\r\n },\r\n },\r\n {\r\n key: \"appt_status\",\r\n text: \"Status\",\r\n className: \"appt_status\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n if(record.appt_status === 'RESCHEDULE')\r\n {\r\n return \"Rescheduled\";\r\n } else if(record.appt_status==='SCHEDULED')\r\n {\r\n return \"Scheduled\";\r\n }else\r\n return record.appt_status;\r\n },\r\n },\r\n {\r\n key: \"payment_status\",\r\n text: \"Payment Status\",\r\n className: \"payment_status\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"schedule_type\",\r\n text: \"Appointment Type\",\r\n className: \"schedule_type\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return record.schedule_type === 'online' ? 'Online':record.schedule_type;\r\n },\r\n },\r\n {\r\n key: \"appt_statusscheduled\",\r\n text: \"Scheduled\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"appt_statuschekin\",\r\n text: \"Check-In\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"appt_statusconsult\",\r\n text: \"Consultation\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"appt_statuscheckout\",\r\n text: \"Check-Out\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n );\r\n },\r\n },\r\n // {\r\n // key: \"status\",\r\n // text: \"Cancelled\",\r\n // className: \"text-center\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // cell: (record) => {\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 this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n\r\n\r\n componentDidMount = () => {\r\n // socketObj.on('getAppointmentStatus', () => {\r\n // this.refreshData();\r\n // });\r\n // let record = this.state.queue;\r\n // let list = this.state.queueList;\r\n // list.push(record);\r\n this.setState({ loading: true });\r\n \r\n const data = {\r\n n_business_id: this.props.userdata.id,\r\n n_currentdate: getDateISOFormat(new Date()),\r\n };\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getDocByBusiness, data, CONFIG)\r\n .then((result) => {\r\n \r\n let doc_list = [], doctor_shift = [];\r\n result.data.data.forEach((element, index) => {\r\n if (element.schedule_type.toLowerCase() === 'appointment')\r\n doc_list.push({ value: element.business_user_id, label: element.doctor_name, doctor_Appointments: element.doctor_Appointments });\r\n });\r\n // if (doc_list.length) {\r\n // doc_list[0].doctor_Appointments.forEach((doc, k) => {\r\n // doctor_shift.push({ value: doc.schedule_day_id, label: \"Shift \" + (k + 1) + \"(\" + doc.starttime + \" - \" + doc.endtime + \")\" })\r\n // })\r\n // }\r\n \r\n \r\n this.setState({ doctor_appointment: result.data.data, doc_list: doc_list, selected_doctor: doc_list[0], \r\n //doctor_shift: doctor_shift, selected_shift: doctor_shift[0], \r\n loading: false });\r\n this.getAppointments(doc_list[0].value, //doctor_shift[0].value\r\n );\r\n \r\n \r\n })\r\n .catch((e) => { console.log(e); this.setState({ loading: false }) });\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // axios\r\n // .post(\r\n // GetallQEntries,\r\n // { business_id: this.props.userdata.id },\r\n // CONFIG\r\n // )\r\n // .then((res) => {\r\n \r\n // this.setState({ loading: false });\r\n // let doc_list = [];\r\n // if (res.data.status === \"1\") {\r\n \r\n // res.data.data.forEach((element, index) => {\r\n \r\n // doc_list.push({ value: index, label: element[0].doc_name });\r\n // });\r\n \r\n // this.setState({ queueList: res.data.data, doc_list: doc_list, selected_doctor: doc_list[0], selectedQueue: res.data.data[0] })\r\n // } else {\r\n // this.setState({ queueList: [], selectedQueue: [], doc_list: [] })\r\n \r\n // }\r\n \r\n // })\r\n // .catch((e) => { });\r\n };\r\n getAppointments(business_user_id) {\r\n this.setState({ loading: true });\r\n if (business_user_id !== \"\" ) {\r\n let reqdata = {\r\n business_id: this.props.userdata.id,\r\n business_user_id: business_user_id,\r\n // schedule_day_id: schedule_day_id\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(GetHospitalAppointmentList, reqdata, CONFIG)\r\n .then((result) => {\r\n let doctorupcoming = result.data.data, doctorupcomingarray = [];\r\n doctorupcoming.forEach((element, index) => {\r\n\r\n element.s_no = index + 1;\r\n \r\n doctorupcomingarray.push(element);\r\n });\r\n this.setState({ selectedQueue: doctorupcomingarray, loading: false });\r\n }).catch((err) => { console.log('queue list error' + err) });\r\n }\r\n }\r\n \r\n refreshData = () => {\r\n \r\n \r\n this.getAppointments(this.state.selected_doctor.value)\r\n };\r\n \r\n \r\n\r\n \r\n handleselectChange = (selectedoption, event) => {\r\n \r\n let { doc_list } = this.state;\r\n let doctor_shift = [];\r\n if (event.name === \"doc_list\") {\r\n \r\n doc_list[event.name] = selectedoption\r\n \r\n \r\n selectedoption.doctor_Appointments.forEach((doc, k) => {\r\n doctor_shift.push({ value: doc.schedule_day_id, label: \"Shift \" + (k + 1) + \"(\" + doc.starttime + \" - \" + doc.endtime + \")\" })\r\n })\r\n \r\n this.setState({ doc_list: doc_list, selected_doctor: selectedoption, doctor_shift: doctor_shift, selected_shift: doctor_shift[0] });\r\n this.getAppointments(selectedoption.value)\r\n }\r\n if (event.name === 'doctor_shift') {\r\n \r\n this.setState({ selected_shift: selectedoption })\r\n this.getAppointments(this.state.selected_doctor.value)\r\n }\r\n }\r\n render() {\r\n const { headerinfo, queueList, doc_list,loading } = this.state;\r\n let loggedinUserId = this.props.userdata.id;\r\n let navigation = {};\r\n navigation.userId = loggedinUserId;\r\n console.log(this.state.showexpirePopup)\r\n let PopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n let PopupConfirm = () => {\r\n this.props.history.push({\r\n pathname: \"/showsubscription\",\r\n state: {}\r\n });\r\n \r\n };\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {(this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n \r\n {/*

    \r\n This is the timer value: {this.state.timestamp}\r\n

    */}\r\n \r\n

    Appointment List

    \r\n
    \r\n \r\n {/*
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(AppointmentList);","import React, { Component, Fragment } from \"react\";\r\nimport { Map, GoogleApiWrapper, Marker, InfoWindow } from \"google-maps-react\";\r\nimport { connect } from \"react-redux\";\r\nimport SideBar from \"../components/container/layout/client/SideBar\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport axios from \"axios\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport * as moment from \"moment\";\r\nimport Label from \"../components/UI/Label\";\r\nimport {\r\n getAllBusinessList,\r\n searchBusiness,\r\n getClientFamilyDetails,\r\n getDocByBusiness,\r\n getDocByBusinesswithspeciality,\r\n addCheckinURL,\r\n addQueue_modified,\r\n getTimeoutbycategory,\r\n createNotification,\r\n RazorPayPayment,\r\n getCredentials,\r\n updateclientqueuestatus,\r\n getpaymenttypeforbusiness,\r\n getdoctordetails,\r\n UpdateQueueRemove,\r\n CancelQueue,\r\n getServiceChargesbycategory\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport { gender } from \"../config/data\";\r\nimport { getDateISOFormat, getPatientsubstring } from \"../constants/globalLevelFunctions\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport Validation from \"../actions/Validation\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport TextArea from \"../components/UI/TextArea\";\r\nimport Footerad from \"../components/UI/Footerad\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal'\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nimport {\r\n VISIT_TYPE\r\n} from \"../../src/constants/config/data\";\r\nimport {\r\n\r\n getGivenDateStringFormat\r\n\r\n} from \"../constants/globalLevelFunctions\";\r\nconst mapStyles = {\r\n width: \"100%\",\r\n height: \"100%\",\r\n};\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n user: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n searchData: state.SearchReducer.searchData,\r\n userdata: state.AuthReducer.user,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n setSearchData: (data) => dispatch({ type: \"SET_SEARCH_DATA\", payload: data })\r\n };\r\n}\r\nfunction loadScript(src) {\r\n return new Promise((resolve) => {\r\n const script = document.createElement('script')\r\n script.src = src\r\n script.onload = () => {\r\n resolve(true)\r\n }\r\n script.onerror = () => {\r\n resolve(false)\r\n }\r\n document.body.appendChild(script)\r\n })\r\n}\r\n\r\nclass Search extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const timeout = this.state;\r\n var today = new Date(),\r\n\r\n Todaydate = today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear();\r\n var thisday = getGivenDateStringFormat(today);\r\n\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n // {\r\n // key: \"first_name\",\r\n // text: \"M/F\",\r\n // className: \"first_name\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // cell: (record) => {\r\n\r\n // return (\r\n // \r\n // \r\n // \r\n // )\r\n // }\r\n // },\r\n {\r\n key: \"expected_wait_time\",\r\n text: \"Wait Time\",\r\n className: \"expected_wait_time\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"business_name\",\r\n text: \"Hospital Name\",\r\n className: \"business_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"hospital_name\",\r\n text: \"Hospital Address\",\r\n className: \"hospital_name\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n {\r\n record.business_name\r\n }\r\n -{\" \"}\r\n {\r\n record.wait_time\r\n }{\" \"}\r\n ,{\" \"}\r\n {\r\n record.kilometer\r\n }{\" \"}\r\n ,{\" \"}\r\n {record.city}{\" \"}\r\n ,\r\n {record.state}\r\n \r\n )\r\n }\r\n },\r\n /* {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n align: \"left\",\r\n sortable: true,\r\n }, */\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n width: 100,\r\n className: \"phone_number\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n },\r\n },\r\n {\r\n key: \"directions\",\r\n text: \"Directions\",\r\n className: \"directions\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\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 key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 200,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n Select\r\n \r\n \r\n )\r\n },\r\n\r\n },\r\n ];\r\n this.state = {\r\n timeout: timeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n records: [],\r\n // queuein_data: [],\r\n loading: false,\r\n business_list: [],\r\n showingInfoWindow: false,\r\n activeMarker: {},\r\n selectedPlace: {},\r\n userlist:[],\r\n business_name: \"\",\r\n latitude: \"\",\r\n longitude: \"\",\r\n bookModel: false,\r\n // IsNext:false,\r\n currentdate: thisday,\r\n visit_type: VISIT_TYPE[0],\r\n payment_mode: \"\",\r\n searchData: {\r\n business_name: props.searchData ? props.searchData.business_name : \"\",\r\n doctor_name: props.searchData ? props.searchData.doctor_name : \"\",\r\n facility: props.searchData ? props.searchData.facility : \"\",\r\n speciality: props.searchData ? props.searchData.speciality : \"\",\r\n city: props.searchData ? props.searchData.city : \"\",\r\n gender: props.searchData ? props.searchData.gender : \"\",\r\n distance:\r\n props.searchData && props.searchData.distance != \"\"\r\n ? props.searchData.distance\r\n : \"25\",\r\n reviews: props.searchData ? props.searchData.reviews : \"\",\r\n distance_type:\r\n props.searchData && props.searchData.distance != \"\"\r\n ? props.searchData.distance_type\r\n : \"KM\",\r\n\r\n },\r\n searchresults: {\r\n data: [],\r\n },\r\n\r\n queuein_data: {\r\n n_client_id: \"\",\r\n n_business_id: \"\",\r\n n_business_user_id: \"\",\r\n n_schedule_day_id: \"\",\r\n n_savedtime: \"\",\r\n n_status: \"\",\r\n n_isActive: \"\",\r\n business_name: \"\",\r\n address: \"\",\r\n expected_wait_time: \"\",\r\n schedule_type: \"\",\r\n other_comments: \"\",\r\n payment_mode: \"\",\r\n },\r\n selectedPlace: { value: \"\", label: \"\" },\r\n doctor_list: [],\r\n selected_doc: { value: \"\", label: \"\" },\r\n doctor_appointment_detail_list: [],\r\n selected_doctor_appointment_detail_list: [],\r\n selected_doc_schedule_type: \"\",\r\n\r\n family_list: [],\r\n enableqin: false,\r\n listofClientForQueue: [],\r\n loggedInClient: { client_id: \"\", name: \"\", relationship: \"\" },\r\n error: \"\",\r\n openModal: false,\r\n errors: {\r\n doctor_name: \"\",\r\n other_comments: \"\",\r\n payment_type_error: \"\"\r\n },\r\n searchErrorMessage: \"\",\r\n // category: this.props.appdata.category,\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.onMarkerClick = this.onMarkerClick.bind(this);\r\n this.onClose = this.onClose.bind(this);\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n\r\n showFamilydetail = (value, el) => {\r\n this.setState({ loading: true });\r\n // console.log(this.state.searchData.speciality.value);\r\n if (this.state.searchData.speciality.value == undefined || this.state.searchData.speciality.value == null || this.state.searchData.speciality.value == \"\") {\r\n const data = {\r\n n_business_id: value.user_id,\r\n n_currentdate: getDateISOFormat(new Date()),\r\n\r\n };\r\n console.log(data);\r\n if (value.user_id !== \"\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getDocByBusiness, data, CONFIG)\r\n .then((result) => {\r\n\r\n let resData = result.data.data;\r\n console.log(result);\r\n console.log(resData);\r\n let queuein_data = {};\r\n\r\n queuein_data.n_business_id = value.user_id;\r\n queuein_data.business_name = value.business_name;\r\n queuein_data.address = value.address1 + \" \" + value.city;\r\n queuein_data.expected_wait_time = value.expected_wait_time;\r\n\r\n let doctor_appointment_detail_list = [];\r\n let docList = [];\r\n\r\n console.log(resData);\r\n if (resData) {\r\n resData.forEach((element, index) => {\r\n let doctor_obj = {};\r\n\r\n doctor_obj.doc_name = element.doctor_name;\r\n doctor_obj.business_user_id = element.business_user_id;\r\n doctor_obj.schedule_day_id = element.schedule_day_id;\r\n doctor_obj.schedule_id = element.schedule_id;\r\n doctor_obj.schedule_type = element.schedule_type;\r\n\r\n doctor_obj.appt_id = element.appt_id;\r\n doctor_obj.doctor_Appointments = element.doctor_Appointments;\r\n\r\n doctor_appointment_detail_list.push(doctor_obj);\r\n docList.push({\r\n value: element.business_user_id,\r\n label: element.doctor_name,\r\n speciality_name: element.speciality_name,\r\n });\r\n });\r\n }\r\n if(resData.length==0)\r\n {\r\n toast.error(\"There are no doctors in this hospital.\", {\r\n className: \"toast-error\"\r\n });\r\n {this.setState({loading:false});\r\n }\r\n }\r\n\r\n console.log(docList);\r\n\r\n this.setState({\r\n doctor_list: docList,\r\n queuein_data: queuein_data,\r\n doctor_appointment_detail_list: doctor_appointment_detail_list,\r\n });\r\n\r\n console.log(this.state.doctor_appointment_detail_list);\r\n\r\n axios\r\n .post(getdoctordetails, { business_id: this.state.queuein_data.n_business_id, business_user_id: docList[0].value }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n // return false;\r\n if (response.status !== \"0\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ doctor_details: response.data });\r\n }\r\n\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n\r\n //By default select on doctor\r\n let selected_doc = docList[0];\r\n let selected_appointment = [];\r\n let selected_doc_schedule_type = this.setState.selected_doc_schedule_type;\r\n\r\n //Based on default doctor selection select corresponding appointment details\r\n doctor_appointment_detail_list.forEach((element, index) => {\r\n if (element.business_user_id == docList[0].value) {\r\n selected_appointment = element.doctor_Appointments;\r\n selected_doc_schedule_type = element.schedule_type;\r\n }\r\n });\r\n\r\n this.setState({\r\n selected_doc: selected_doc,\r\n selected_doctor_appointment_detail_list: selected_appointment,\r\n selected_doc_schedule_type: selected_doc_schedule_type\r\n });\r\n console.log(this.state.selected_doctor_appointment_detail_list);\r\n console.log(this.state.selected_doc);\r\n\r\n this.setState({ openModal: true, loading: false });\r\n })\r\n .catch((e) => { });\r\n\r\n axios\r\n .post(getpaymenttypeforbusiness, { user_id: value.user_id }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n\r\n console.log(data.data[0].payment_type);\r\n if (data.status === \"1\")\r\n this.setState({\r\n paymenttypeforhospital: data.data[0].payment_type\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n }\r\n } else {\r\n const data = {\r\n n_business_id: value.user_id,\r\n n_currentdate: getDateISOFormat(new Date()),\r\n speciality: this.state.searchData.speciality.value,\r\n\r\n };\r\n console.log(data);\r\n if (value.user_id !== \"\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getDocByBusinesswithspeciality, data, CONFIG)\r\n .then((result) => {\r\n\r\n let resData = result.data.data;\r\n console.log(result);\r\n console.log(resData);\r\n let queuein_data = {};\r\n\r\n queuein_data.n_business_id = value.user_id;\r\n queuein_data.business_name = value.business_name;\r\n queuein_data.address = value.address1 + \" \" + value.city;\r\n queuein_data.expected_wait_time = value.expected_wait_time;\r\n\r\n let doctor_appointment_detail_list = [];\r\n let docList = [];\r\n\r\n console.log(resData);\r\n if (resData) {\r\n resData.forEach((element, index) => {\r\n let doctor_obj = {};\r\n\r\n doctor_obj.doc_name = element.doctor_name;\r\n doctor_obj.business_user_id = element.business_user_id;\r\n doctor_obj.schedule_day_id = element.schedule_day_id;\r\n doctor_obj.schedule_id = element.schedule_id;\r\n doctor_obj.schedule_type = element.schedule_type;\r\n doctor_obj.appt_id = element.appt_id;\r\n doctor_obj.doctor_Appointments = element.doctor_Appointments;\r\n\r\n doctor_appointment_detail_list.push(doctor_obj);\r\n docList.push({\r\n value: element.business_user_id,\r\n speciality_name: element.speciality_name,\r\n label: element.doctor_name,\r\n });\r\n });\r\n }\r\n\r\n\r\n console.log(docList);\r\n\r\n this.setState({\r\n doctor_list: docList,\r\n queuein_data: queuein_data,\r\n doctor_appointment_detail_list: doctor_appointment_detail_list,\r\n });\r\n\r\n console.log(this.state.doctor_appointment_detail_list);\r\n\r\n //By default select on doctor\r\n let selected_doc = docList[0];\r\n let selected_appointment = [];\r\n let selected_doc_schedule_type = this.setState.selected_doc_schedule_type;\r\n\r\n //Based on default doctor selection select corresponding appointment details\r\n doctor_appointment_detail_list.forEach((element, index) => {\r\n if (element.business_user_id == docList[0].value) {\r\n selected_appointment = element.doctor_Appointments;\r\n selected_doc_schedule_type = element.schedule_type;\r\n }\r\n });\r\n\r\n this.setState({\r\n selected_doc: selected_doc,\r\n selected_doctor_appointment_detail_list: selected_appointment,\r\n selected_doc_schedule_type: selected_doc_schedule_type\r\n });\r\n\r\n axios\r\n .post(getdoctordetails, { business_id: this.state.queuein_data.n_business_id, business_user_id: docList[0].value }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n // return false;\r\n if (response.status !== \"0\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ doctor_details: response.data });\r\n }\r\n\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n console.log(this.state.selected_doctor_appointment_detail_list);\r\n console.log(this.state.selected_doc);\r\n\r\n this.setState({ openModal: true, loading: false });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n axios\r\n .post(getpaymenttypeforbusiness, { user_id: value.user_id }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n\r\n console.log(data.data[0].payment_type);\r\n if (data.status === \"1\")\r\n this.setState({\r\n paymenttypeforhospital: data.data[0].payment_type\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n }\r\n };\r\n closePopup = (e) => {\r\n this.setState({\r\n openModal: false, errors: {}, error: \"\", payment_mode: \"\",\r\n /* queuein_data: {}, */\r\n listofClientForQueue: [],\r\n // IsNext:false\r\n });\r\n };\r\n\r\n closebookPopup = (e) => {\r\n console.log(this.state.bookModel)\r\n // console.log(this.state.editModel)\r\n console.log(this.state.rebookModel)\r\n\r\n this.setState({\r\n bookModel: false,\r\n editModel: false,\r\n rebookModel: false,\r\n\r\n\r\n });\r\n\r\n };\r\n\r\n bookQueueappointment = (e) => {\r\n let { queuein_data, errors } = this.state;\r\n\r\n axios\r\n .post(getdoctordetails, { business_id: this.state.queuein_data.n_business_id, business_user_id: this.state.selected_doc.value }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n // return false;\r\n if (response.status !== \"0\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ doctor_details: response.data });\r\n }\r\n\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n\r\n\r\n this.setState({ payment_type_error: \"\" });\r\n let q_id = this.state.qId;\r\n this.displayRazorpay(q_id);\r\n }\r\n displayRazorpay = (q_id) => {\r\n /* let clientData = this.state.clientData;\r\n let queue_data = clientData.queue_data; */\r\n let { queuein_data, errors } = this.state;\r\n console.log(q_id)\r\n const res = loadScript('https://checkout.razorpay.com/v1/checkout.js')\r\n\r\n if (!res) {\r\n alert('Razorpay SDK failed to load. Are you online?')\r\n return\r\n }\r\n const option = {\r\n method: 'POST',\r\n // headers: new Headers({ 'content-type': 'application/json' }),\r\n mode: 'no-cors'\r\n };\r\n\r\n let paymentForm = this.state.selectedHours;\r\n let data = {};\r\n let consulting_fees = ((this.state.doctor_details && this.state.payment_mode == \"Online\")) ? this.state.doctor_details.consulting_fees : \"\";\r\n let service_charges = this.state.directservice_charges;\r\n let total_charges = parseInt(consulting_fees) + parseInt(service_charges);\r\n data.payable_amt = (this.state.payment_mode == \"Online\") ? total_charges : service_charges;\r\n let payment_status = (this.state.payment_mode == \"Online\") ? 'Completed' : 'Pending';\r\n let payment_type = this.state.payment_mode;\r\n let selected_doc = this.state.selected_doc.label;\r\n //\r\n console.log(data);\r\n /* let doc_firstname=this.state.doctor_details.first_name;\r\n let doc_lastname=this.state.doctor_details.last_name; */\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n let razorpay_key = \"\";\r\n axios\r\n .post(getCredentials, {\r\n \"credential_type\": \"razorpay\"\r\n })\r\n .then((res) => {\r\n console.log(res.data);\r\n razorpay_key = res.data.data[0].value;\r\n\r\n\r\n\r\n axios.post(RazorPayPayment, data, data).then((res) => {\r\n console.log(res);\r\n let data = res.data;\r\n // this.sendBillingmail(this.state.doctor_details);\r\n // let vendorData = this.state.vendorData;\r\n // let paymentForm = this.state.paymentForm;\r\n // console.log(vendorData);\r\n console.log(razorpay_key);\r\n const options = {\r\n // key: __DEV__ ? 'rzp_test_CObt3PWG73pjBs' : 'PRODUCTION_KEY',\r\n key: razorpay_key,\r\n currency: data.currency,\r\n amount: data.amount.toString(),\r\n order_id: data.id,\r\n name: 'Billing and Payment',\r\n description: '',\r\n image: 'https://wtmprofileimagesbucket.s3.ap-south-1.amazonaws.com/logo.png',\r\n handler: function (response) {\r\n console.log(response);\r\n // alert(response.razorpay_payment_id)\r\n // return false; \r\n // alert(response.razorpay_order_id)\r\n // alert(response.razorpay_signature)\r\n\r\n /* let req_data = {\r\n status:'queue-in',\r\n 'order_id': response.razorpay_order_id,\r\n 'payment_id': response.razorpay_payment_id,\r\n // 'vendor_id': vendorData.id,\r\n // vendor_subscription: vendorData.vendor_subscription.id,\r\n // number_of_months: paymentForm.months.value,\r\n // amount: paymentForm.payable_amt,\r\n amount: consulting_fees,\r\n payment_status: payment_status,\r\n service_charges:service_charges,\r\n payment_type:payment_type,\r\n q_id: q_id\r\n \r\n } */\r\n toast.success(\"Your Appointment has been confirmed with Dr. \" + selected_doc, {\r\n className: \"toast-success\",\r\n });\r\n const url = updateclientqueuestatus;\r\n let req_data = {\r\n status: 'queue-in',\r\n 'order_id': response.razorpay_order_id,\r\n 'payment_id': response.razorpay_payment_id,\r\n // 'vendor_id': vendorData.id,\r\n // vendor_subscription: vendorData.vendor_subscription.id,\r\n // number_of_months: paymentForm.months.value,\r\n // amount: paymentForm.payable_amt,\r\n amount: consulting_fees,\r\n payment_status: payment_status,\r\n service_charges: service_charges,\r\n scharges_paymentstatus: 'Completed',\r\n payment_type: payment_type,\r\n q_id: q_id\r\n\r\n };\r\n\r\n axios.post(updateclientqueuestatus, req_data, CONFIG).then((res) => {\r\n console.log(res);\r\n\r\n setTimeout(\r\n () =>\r\n (res.data.status) ?\r\n window.location.href = \"/scheduleconfirmation/\" + q_id : \"\"\r\n ,\r\n 1000\r\n );\r\n\r\n }).catch((err) => {\r\n\r\n\r\n })\r\n },\r\n\r\n prefill: {\r\n name: this.props.userdata.first_name + \" \" + this.props.userdata.last_name,\r\n email: this.props.userdata.email,\r\n contact: this.props.userdata.phone_number\r\n },\r\n modal: {\r\n confirm_close: true, // this is set to true, if we want confirmation when clicked on cross button.\r\n // This function is executed when checkout modal is closed\r\n // There can be 3 reasons when this modal is closed.\r\n ondismiss: async (reason) => {\r\n const {\r\n reason: paymentReason, field, step, code,\r\n } = reason && reason.error ? reason.error : {};\r\n // Reason 1 - when payment is cancelled. It can happend when we click cross icon or cancel any payment explicitly. \r\n if (reason === undefined) {\r\n console.log('cancelled');\r\n let cancel_data = {\r\n status: 'Cancelled',\r\n amount: consulting_fees,\r\n payment_status: \"\",\r\n service_charges: service_charges,\r\n payment_type: payment_type,\r\n q_id: q_id\r\n\r\n };\r\n const handlePayment = async (url, cancel_data) => {\r\n try {\r\n const response = await axios.post(url, cancel_data);\r\n return response.data;\r\n\r\n } catch (error) {\r\n console.error('Error:', error);\r\n throw error;\r\n }\r\n };\r\n let queuedata = {\r\n \"n_business_id\": queuein_data.n_business_id,\r\n \"n_business_user_id\": queuein_data.n_business_user_id,\r\n \"n_schedule_day_id\": queuein_data.n_schedule_day_id,\r\n \"n_q_id\": q_id,\r\n \"n_status\": \"D\",\r\n \"n_schedule_type\": \"D\",\r\n \"n_preference\": 1\r\n }\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(UpdateQueueRemove, queuedata)\r\n .then(() => {\r\n\r\n }).catch(() => {\r\n console.log(\"Update queue failed\");\r\n });\r\n let cancelData = {\r\n\r\n q_id: q_id,\r\n\r\n };\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(CancelQueue, cancelData)\r\n .then(() => {\r\n\r\n }).catch(() => {\r\n console.log(\"Cancelld Queue\");\r\n });\r\n handlePayment(updateclientqueuestatus, cancel_data);\r\n toast.error(\"Your Appointment and Payment has been Cancelled.\", {\r\n className: \"toast-error\",\r\n });\r\n // handlePayment('Cancelled');\r\n }\r\n // Reason 2 - When modal is auto closed because of time out\r\n else if (reason === 'timeout') {\r\n console.log('timedout');\r\n let cancel_data = {\r\n status: 'Cancelled',\r\n amount: consulting_fees,\r\n payment_status: \"\",\r\n service_charges: service_charges,\r\n payment_type: payment_type,\r\n q_id: q_id\r\n\r\n };\r\n const handlePayment = async (url, cancel_data) => {\r\n try {\r\n const response = await axios.post(url, cancel_data);\r\n return response.data;\r\n } catch (error) {\r\n console.error('Error:', error);\r\n throw error;\r\n }\r\n };\r\n let queuedata = {\r\n \"n_business_id\": queuein_data.n_business_id,\r\n \"n_business_user_id\": queuein_data.n_business_user_id,\r\n \"n_schedule_day_id\": queuein_data.n_schedule_day_id,\r\n \"n_q_id\": q_id,\r\n \"n_status\": \"D\",\r\n \"n_schedule_type\": \"D\",\r\n \"n_preference\": 1\r\n }\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(UpdateQueueRemove, queuedata)\r\n .then(() => {\r\n\r\n }).catch(() => {\r\n console.log(\"Update queue failed\");\r\n });\r\n let cancelData = {\r\n\r\n q_id: q_id,\r\n\r\n };\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(CancelQueue, cancelData)\r\n .then(() => {\r\n\r\n }).catch(() => {\r\n console.log(\"Cancelld Queue\");\r\n });\r\n handlePayment(updateclientqueuestatus, cancel_data);\r\n toast.error(\"Your Appointment and Payment has been Cancelled.\", {\r\n className: \"toast-error\",\r\n });\r\n // handlePayment('timedout');\r\n }\r\n // Reason 3 - When payment gets failed.\r\n else {\r\n console.log('failed');\r\n console.log(paymentReason);\r\n let cancel_data = {\r\n status: 'Cancelled',\r\n amount: consulting_fees,\r\n payment_status: \"\",\r\n service_charges: service_charges,\r\n payment_type: payment_type,\r\n q_id: q_id\r\n\r\n };\r\n const handlePayment = async (url, cancel_data) => {\r\n try {\r\n const response = await axios.post(url, cancel_data);\r\n return response.data;\r\n } catch (error) {\r\n console.error('Error:', error);\r\n throw error;\r\n }\r\n };\r\n let queuedata = {\r\n \"n_business_id\": queuein_data.n_business_id,\r\n \"n_business_user_id\": queuein_data.n_business_user_id,\r\n \"n_schedule_day_id\": queuein_data.n_schedule_day_id,\r\n \"n_q_id\": q_id,\r\n \"n_status\": \"D\",\r\n \"n_schedule_type\": \"D\",\r\n \"n_preference\": 1\r\n }\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(UpdateQueueRemove, queuedata)\r\n .then(() => {\r\n\r\n }).catch(() => {\r\n console.log(\"Update queue failed\");\r\n });\r\n let cancelData = {\r\n\r\n \"n_q_id\": q_id,\r\n\r\n };\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(CancelQueue, cancelData)\r\n .then(() => {\r\n\r\n }).catch(() => {\r\n console.log(\"Cancelld Queue\");\r\n });\r\n handlePayment(updateclientqueuestatus, cancel_data);\r\n toast.error(\"Your Appointment and Payment has been Cancelled.\", {\r\n className: \"toast-error\",\r\n });\r\n /* handlePayment('failed', {\r\n paymentReason, field, step, code,\r\n }); */\r\n }\r\n },\r\n },\r\n timeout: 300, // Time limit in Seconds\r\n theme: {\r\n color: '#037ac7', // Custom color for your checkout modal.\r\n },\r\n }\r\n const paymentObject = new window.Razorpay(options)\r\n paymentObject.on('payment.submit', (response) => {\r\n // paymentMethod.current = response.method;\r\n // alert(response.method);\r\n });\r\n paymentObject.on('payment.failed', function (response) {\r\n // alert(response.error.code);\r\n // alert(response.error.description);\r\n // alert(response.error.source);\r\n // alert(response.error.step);\r\n // alert(response.error.reason);\r\n // alert(response.error.metadata.order_id);\r\n // alert(response.error.metadata.payment_id);\r\n });\r\n\r\n paymentObject.open()\r\n\r\n }).catch((e) => { console.log(e) });\r\n\r\n })\r\n .catch((e) => {\r\n console.log(e)\r\n });\r\n\r\n\r\n\r\n\r\n }\r\n openbookQueueAppointment = (e) => {\r\n\r\n let { queuein_data, errors } = this.state;\r\n let listofClientForQueue = this.state.listofClientForQueue;\r\n\r\n //Need to change from string to array after fix the queue issue\r\n // queuein_data.n_client_id = listofClientForQueue;\r\n console.log(listofClientForQueue);\r\n queuein_data.n_client_id = listofClientForQueue.length > 0 ? listofClientForQueue[0].client_id : null;\r\n queuein_data.clientList = listofClientForQueue;\r\n queuein_data.n_status = \"queue-in\";\r\n queuein_data.n_isActive = \"yes\";\r\n queuein_data.n_savedtime = new Date();\r\n if (this.state.selected_doc) {\r\n queuein_data.n_business_user_id = this.state.selected_doc.value;\r\n queuein_data.doc_name = this.state.selected_doc.label;\r\n } else {\r\n queuein_data.n_business_user_id = \"\"\r\n }\r\n\r\n queuein_data.type = \"createQueue\";\r\n queuein_data.schedule_type = this.state.selected_doc_schedule_type.toLowerCase();\r\n queuein_data.payment_mode = this.state.payment_mode;\r\n\r\n this.setState({ queuein_data: queuein_data });\r\n\r\n this.setState({ payment_type_error: \"\" });\r\n errors = Validation(queuein_data, errors);\r\n console.log(errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n\r\n\r\n\r\n if (errors.formIsValid && queuein_data.schedule_type.toLowerCase() != \"appointment\") {\r\n\r\n /* */\r\n let listofClientIdForQueue = []\r\n listofClientForQueue.map((item) => {\r\n listofClientIdForQueue.push(item.client_id);\r\n });\r\n queuein_data.clientList = listofClientIdForQueue;\r\n // console.log(queuein_data); return false;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(addQueue_modified, this.state.queuein_data, CONFIG)\r\n .then((response) => {\r\n console.log(response.data);\r\n let result = response.data;\r\n console.log(result.data[0]);\r\n if (result.data[0].status === '100') {\r\n let qId = result.data[0].qId;\r\n if (this.state.payment_mode == 'Direct') {\r\n this.closePopup();\r\n toast.success(\"Your Appointment has been confirmed with Dr. \" + this.state.selected_doc.label, {\r\n className: \"toast-success\",\r\n });\r\n\r\n setTimeout(\r\n () =>\r\n (result.data.status) ?\r\n window.location.href = '/dashboard' : \"\"\r\n ,\r\n 1000\r\n );\r\n window.location.replace(\"/scheduleconfirmation/\" + qId);\r\n return true;\r\n }\r\n this.displayRazorpay(result.data[0].qId);\r\n let Checkindata = {\r\n business_id: queuein_data.n_business_id,\r\n client_id: queuein_data.n_client_id,\r\n business_user_id: this.state.selected_doc.value,\r\n other_comments: queuein_data.other_comments,\r\n q_id: qId,\r\n\r\n };\r\n console.log(Checkindata);\r\n let notificationdata = {\r\n message_from: queuein_data.n_business_id,\r\n message_to: this.props.user.id,\r\n message: \"Token has been created successfully.\",\r\n link: \"/scheduleconfirmation/\" + qId,\r\n\r\n }\r\n\r\n\r\n axios\r\n .post(addCheckinURL, Checkindata, CONFIG)\r\n .then((result) => {\r\n if (result.data.status === \"1\") {\r\n\r\n\r\n\r\n\r\n axios.post(createNotification, notificationdata).then((res) => {\r\n console.log(qId)\r\n this.setState({ qId: qId });\r\n this.closePopup();\r\n this.openbookAppointment();\r\n\r\n /* toast.success(\"Your Appointment has been confirmed with Dr. \"+ this.state.selected_doc.label , {\r\n className: \"toast-success\",\r\n }); \r\n setTimeout(\r\n () =>\r\n (res.data.status) ?\r\n window.location.href = '/dashboard' : \"\"\r\n ,\r\n 1000\r\n ); */\r\n // window.location.replace(\"/scheduleconfirmation/\" + qId);\r\n }).catch((e) => {\r\n\r\n });\r\n\r\n }\r\n })\r\n .catch((e) => {\r\n\r\n });\r\n\r\n // this.setState({ bookModel: true,openModal:false });\r\n } else {\r\n console.log(result);\r\n // this.closePopup();\r\n\r\n let errors = this.state.errors;\r\n errors.message = result.data[0].message;\r\n this.setState({ errors: errors });\r\n }\r\n })\r\n .catch((e) => { });\r\n\r\n }\r\n }\r\n\r\n };\r\n createAppointmentandAddQueue() {\r\n\r\n let { queuein_data, errors } = this.state;\r\n let listofClientForQueue = this.state.listofClientForQueue;\r\n\r\n //Need to change from string to array after fix the queue issue\r\n // queuein_data.n_client_id = listofClientForQueue;\r\n console.log(listofClientForQueue);\r\n queuein_data.n_client_id = listofClientForQueue.length > 0 ? listofClientForQueue[0].client_id : null;\r\n queuein_data.clientList = listofClientForQueue;\r\n queuein_data.n_status = \"queue-in\";\r\n queuein_data.n_isActive = \"yes\";\r\n queuein_data.n_savedtime = new Date();\r\n if (this.state.selected_doc) {\r\n queuein_data.n_business_user_id = this.state.selected_doc.value;\r\n queuein_data.doc_name = this.state.selected_doc.label;\r\n } else {\r\n queuein_data.n_business_user_id = \"\"\r\n }\r\n\r\n queuein_data.type = \"createQueue\";\r\n queuein_data.schedule_type = this.state.selected_doc_schedule_type.toLowerCase();\r\n\r\n\r\n this.setState({ queuein_data: queuein_data });\r\n\r\n errors = Validation(queuein_data, errors);\r\n console.log(errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n\r\n\r\n\r\n if (errors.formIsValid && queuein_data.schedule_type.toLowerCase() != \"appointment\") {\r\n\r\n /* */\r\n let listofClientIdForQueue = []\r\n listofClientForQueue.map((item) => {\r\n listofClientIdForQueue.push(item.client_id);\r\n });\r\n queuein_data.clientList = listofClientIdForQueue;\r\n // console.log(queuein_data); return false;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(addQueue_modified, this.state.queuein_data, CONFIG)\r\n .then((response) => {\r\n console.log(response.data);\r\n let result = response.data;\r\n console.log(result.data[0]);\r\n if (result.data[0].status === '100') {\r\n let qId = result.data[0].qId;\r\n\r\n\r\n let Checkindata = {\r\n business_id: queuein_data.n_business_id,\r\n client_id: queuein_data.n_client_id,\r\n business_user_id: this.state.selected_doc.value,\r\n other_comments: queuein_data.other_comments,\r\n q_id: qId,\r\n\r\n };\r\n console.log(Checkindata);\r\n let notificationdata = {\r\n message_from: queuein_data.n_business_id,\r\n message_to: this.props.user.id,\r\n message: \"Token has been created successfully.\",\r\n link: \"/scheduleconfirmation/\" + qId,\r\n\r\n }\r\n\r\n\r\n axios\r\n .post(addCheckinURL, Checkindata, CONFIG)\r\n .then((result) => {\r\n if (result.data.status === \"1\") {\r\n\r\n axios\r\n .post(getdoctordetails, { business_id: this.state.queuein_data.n_business_id, business_user_id: this.state.selected_doc.value }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n // return false;\r\n if (response.status !== \"0\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ doctor_details: response.data });\r\n }\r\n\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n\r\n axios\r\n .post(getpaymenttypeforbusiness, { user_id: this.state.queuein_data.n_business_id }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n\r\n console.log(data.data[0].payment_type);\r\n if (data.status === \"1\")\r\n this.setState({\r\n paymenttypeforhospital: data.data[0].payment_type\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n axios.post(createNotification, notificationdata).then((res) => {\r\n console.log(qId)\r\n this.setState({ qId: qId });\r\n this.closePopup();\r\n this.openbookAppointment();\r\n\r\n /* toast.success(\"Your Appointment has been confirmed with Dr. \"+ this.state.selected_doc.label , {\r\n className: \"toast-success\",\r\n }); \r\n setTimeout(\r\n () =>\r\n (res.data.status) ?\r\n window.location.href = '/dashboard' : \"\"\r\n ,\r\n 1000\r\n ); */\r\n // window.location.replace(\"/scheduleconfirmation/\" + qId);\r\n }).catch((e) => {\r\n\r\n });\r\n\r\n }\r\n })\r\n .catch((e) => {\r\n\r\n });\r\n\r\n\r\n } else {\r\n console.log(result);\r\n // this.closePopup();\r\n let errors = this.state.errors;\r\n errors.message = result.data[0].message;\r\n this.setState({ errors: errors });\r\n }\r\n })\r\n .catch((e) => { });\r\n\r\n } else if (errors.formIsValid) {\r\n this.props.history.push({\r\n pathname: \"/client_book_appointments\",\r\n state: {\r\n business_id: this.state.queuein_data.n_business_id,\r\n business_name: this.state.queuein_data.business_name,\r\n business_user_id: this.state.queuein_data.n_business_user_id,\r\n doc_name: this.state.queuein_data.doc_name,\r\n other_comments: this.state.queuein_data.other_comments,\r\n client_details: queuein_data.clientList[0],\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n createAppointment() {\r\n\r\n let { queuein_data, errors } = this.state;\r\n let listofClientForQueue = this.state.listofClientForQueue;\r\n\r\n //Need to change from string to array after fix the queue issue\r\n // queuein_data.n_client_id = listofClientForQueue;\r\n console.log(listofClientForQueue);\r\n queuein_data.n_client_id = listofClientForQueue.length > 0 ? listofClientForQueue[0].client_id : null;\r\n queuein_data.clientList = listofClientForQueue;\r\n queuein_data.n_status = \"queue-in\";\r\n queuein_data.n_isActive = \"yes\";\r\n queuein_data.n_savedtime = new Date();\r\n if (this.state.selected_doc) {\r\n queuein_data.n_business_user_id = this.state.selected_doc.value;\r\n queuein_data.doc_name = this.state.selected_doc.label;\r\n } else {\r\n queuein_data.n_business_user_id = \"\"\r\n }\r\n\r\n queuein_data.type = \"createQueue\";\r\n queuein_data.schedule_type = this.state.selected_doc_schedule_type.toLowerCase();\r\n\r\n\r\n this.setState({ queuein_data: queuein_data });\r\n\r\n errors = Validation(queuein_data, errors);\r\n console.log(errors);\r\n this.setState({ errors: errors });\r\n\r\n\r\n if (errors.formIsValid) {\r\n this.props.history.push({\r\n pathname: \"/client_book_appointments\",\r\n state: {\r\n business_id: this.state.queuein_data.n_business_id,\r\n business_name: this.state.queuein_data.business_name,\r\n business_user_id: this.state.queuein_data.n_business_user_id,\r\n doc_name: this.state.queuein_data.doc_name,\r\n other_comments: this.state.queuein_data.other_comments,\r\n client_details: queuein_data.clientList[0],\r\n }\r\n });\r\n }\r\n\r\n }\r\n handleselectUpdateChange = (selected) => {\r\n console.log(selected);\r\n this.setState({ visit_type: selected })\r\n }\r\n handlePaymentSelect = (e) => {\r\n const { name, value } = e.target;\r\n let errors = this.state.errors;\r\n if (e.target.value) {\r\n errors.payment_type_error = \"\";\r\n }\r\n\r\n this.setState({\r\n [name]: value,\r\n payment_type_error: \"\",\r\n\r\n });\r\n }\r\n selectMemberForQueueIn(value, element) {\r\n\r\n console.log(value);\r\n // let selectedClientId = value.client_id;\r\n let selectedClientId = value;\r\n let { errors, listofClientForQueue } = this.state\r\n\r\n if (!listofClientForQueue.includes(selectedClientId)) {\r\n listofClientForQueue.push(selectedClientId);\r\n } else {\r\n const deleteIndex = listofClientForQueue\r\n .map((item) => item)\r\n .indexOf(selectedClientId);\r\n listofClientForQueue.splice(deleteIndex, 1);\r\n }\r\n if (listofClientForQueue.length === 0) {\r\n\r\n errors.n_client_id = \"Please select atleast one person\";\r\n errors.message = \"\";\r\n errors.formIsValid = false;\r\n this.setState({ errors: errors });\r\n } else {\r\n errors.n_client_id = \"\";\r\n errors.message = \"\";\r\n this.setState({ listofClientForQueue });\r\n }\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ searchData: data, errors: errors });\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.searchData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n data[name] = value;\r\n if (\r\n name === \"doctor_name\" ||\r\n name === \"city\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ searchData: data });\r\n\r\n };\r\n handleQueueInput = (e) => {\r\n let data = this.state.queuein_data;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n errors[name] = \"\";\r\n this.setState({ queuein_data: data, errors });\r\n }\r\n handleselectDocChange = (selectedOptions, e) => {\r\n let data = this.state.selected_doc;\r\n data = selectedOptions;\r\n\r\n console.log(selectedOptions);\r\n\r\n\r\n\r\n this.setState({ selected_doc: data });\r\n\r\n console.log(this.state.doctor_appointment_detail_list);\r\n\r\n let appointmentDetails = this.state.doctor_appointment_detail_list;\r\n\r\n let selected_appointment = this.state\r\n .selected_doctor_appointment_detail_list;\r\n\r\n let selected_doc_schedule_type = this.state.selected_doc_schedule_type;\r\n\r\n appointmentDetails.forEach((element, index) => {\r\n console.log(element.business_user_id);\r\n console.log(element.doctor_Appointments);\r\n if (element.business_user_id == selectedOptions.value) {\r\n console.log(\"true\");\r\n selected_appointment = element.doctor_Appointments;\r\n selected_doc_schedule_type = element.schedule_type;\r\n } else {\r\n console.log(\"false\");\r\n }\r\n });\r\n this.setState({\r\n selected_doctor_appointment_detail_list: selected_appointment,\r\n selected_doc_schedule_type: selected_doc_schedule_type\r\n });\r\n\r\n\r\n axios\r\n .post(getdoctordetails, { business_id: this.state.queuein_data.n_business_id, business_user_id: selectedOptions.value }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n // return false;\r\n if (response.status !== \"0\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ doctor_details: response.data, payment_mode: \"\" });\r\n }\r\n\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n\r\n };\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = selectedOptions;\r\n if (e.name === \"business_name\" && null != selectedOptions) {\r\n console.log(selectedOptions);\r\n data.latitude = selectedOptions.latitude;\r\n data.longitude = selectedOptions.longitude;\r\n this.searchBusiness();\r\n\r\n } else {\r\n data.latitude = this.state.latitude;\r\n data.longitude = this.state.longitude;\r\n }\r\n this.setState({ searchData: data });\r\n\r\n // this.searchBusiness();\r\n };\r\n handlespecialityselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = selectedOptions;\r\n data.latitude = this.state.latitude;\r\n data.longitude = this.state.longitude;\r\n this.setState({ searchData: data });\r\n\r\n };\r\n\r\n reviewChange(value, field) {\r\n let data = this.state.searchData;\r\n console.log(data);\r\n /* To uncheck the star*/\r\n if (data.reviews == 5) {\r\n value = 0;\r\n }\r\n\r\n var searchReviewId = document.getElementById(\"SearchReviewId\");\r\n for (var i = 0; i < 5; i++) {\r\n if (i < value && data.reviews != 5) {\r\n searchReviewId.children[i].classList.add(\"fa-star\");\r\n } else {\r\n searchReviewId.children[i].classList.remove(\"fa-star\");\r\n }\r\n }\r\n\r\n data.reviews = value;\r\n console.log(value);\r\n this.setState({ searchData: data });\r\n }\r\n handleDistanceChange = (event) => {\r\n let data = this.state.searchData;\r\n data.distance = event.target.value;\r\n this.setState({ searchData: data });\r\n };\r\n handleTimingSelect = (event) => {\r\n let data = this.state.queuein_data;\r\n let errors = this.state.errors;\r\n data.n_schedule_day_id = event.target.value;\r\n errors.n_schedule_day_id = \"\";\r\n this.setState({ queuein_data: data });\r\n };\r\n getmyLocation = () => {\r\n const location = window.navigator && window.navigator.geolocation\r\n\r\n if (location) {\r\n location.getCurrentPosition((position) => {\r\n console.log(position.coords);\r\n console.log(\"position.coords\");\r\n this.setState({\r\n latitude: position.coords.latitude,\r\n longitude: position.coords.longitude,\r\n }, () => {\r\n this.getData();\r\n })\r\n }, (error) => {\r\n // this.setState({ latitude: '9.9261153', longitude: '78.1140983' },\r\n // () => {\r\n // this.getData();\r\n // })\r\n\r\n }, { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 })\r\n }\r\n else {\r\n this.getData();\r\n }\r\n }\r\n\r\n componentDidMount = () => {\r\n console.log(this.props.user.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.user.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n timeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n axios\r\n .post(getServiceChargesbycategory, { category: 'Direct' }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.service_charges);\r\n if (data.status == \"1\")\r\n this.setState({\r\n directservice_charges: data.data.service_charges\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n axios\r\n .post(getServiceChargesbycategory, { category: 'Online' }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.service_charges);\r\n if (data.status == \"1\")\r\n this.setState({\r\n onlineservice_charges: data.data.service_charges\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n this.getData();\r\n this.getmyLocation();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .get(getAllBusinessList, null, CONFIG)\r\n .then((list) => {\r\n console.log(list)\r\n let business = [];\r\n let userlist = list.data.data;\r\n console.log(userlist);\r\n userlist.forEach((element, index) => {\r\n business.push({ label: element.business_name, value: element.user_id })\r\n\r\n });\r\n\r\n this.setState({ business_list: business,userlist:userlist });\r\n\r\n })\r\n .catch((e) => { console.log(e) });\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n\r\n getData = () => {\r\n console.log(this.state.latitude);\r\n let searchData = this.state.searchData;\r\n searchData.latitude = this.state.latitude ? this.state.latitude.toString() : \"\";\r\n searchData.longitude = this.state.longitude ? this.state.longitude.toString() : \"\";\r\n this.setState({ searchData });\r\n // this.reviewChange(this.state.searchData.reviews);\r\n // this.searchBusiness();\r\n console.log(\"Latitude is :\", this.state.latitude);\r\n console.log(\"Longitude is :\", this.state.longitude);\r\n\r\n let loggedInClient = {};\r\n loggedInClient.client_id = this.props.user.id;\r\n loggedInClient.name = this.props.user.first_name;\r\n loggedInClient.relationship = \"Self\";\r\n\r\n this.setState({ loggedInClient });\r\n // this.setState({ latitude: latitude, longitude: longitude });\r\n\r\n //To get the Family details\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getClientFamilyDetails, { client_id: this.props.user.id }, CONFIG)\r\n .then((client_family) => {\r\n let list = [];\r\n list.unshift(this.state.loggedInClient);\r\n this.setState({ family_list: list });\r\n\r\n let dataArr = client_family.data.data;\r\n\r\n let family_list = this.state.family_list;\r\n dataArr.forEach((element, index) => {\r\n let family_member = {};\r\n family_member.client_id = element.user_id;\r\n family_member.name = element.first_name + \" \" + element.last_name;\r\n family_member.relationship = element.relationship;\r\n\r\n family_list[index + 1] = family_member;\r\n this.setState({ family_list: family_list, client_name: family_member.name });\r\n });\r\n this.setState({ enableqin: true });\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n\r\n clearSearchData = () => {\r\n var searchData = this.state.searchData;\r\n let searchErrorMessage = this.state.searchErrorMessage;\r\n searchData.business_name = \"\";\r\n searchData.doctor_name = \"\";\r\n searchData.facility = \"\";\r\n searchData.speciality = \"\";\r\n searchData.gender = \"\";\r\n searchData.city = \"\";\r\n searchData.distance = 5;\r\n searchData.distance_type = \"KM\";\r\n this.props.setSearchData(searchData);\r\n this.setState({ searchErrorMessage: \"\" });\r\n this.setState({\r\n searchData: searchData,\r\n searchresults: {\r\n data: [],\r\n }\r\n });\r\n searchData.reviews = 0;\r\n // this.getData();\r\n this.getmyLocation();\r\n };\r\n searchBusiness = () => {\r\n console.log(\"param\");\r\n\r\n\r\n\r\n let params = this.state.searchData;\r\n console.log(params.speciality);\r\n if ((null === params.speciality || \"\" === params.speciality) && params.business_name == \"\") {\r\n this.setState({ searchErrorMessage: \"Choose the Speciality field and Distance field to search.\", });\r\n return;\r\n }\r\n else {\r\n this.setState({ searchErrorMessage: \"\", });\r\n }\r\n // let params = this.state.searchData;\r\n console.log(params);\r\n let data = {\r\n category: params.category ? params.category.label : \"\",\r\n business_name: params.business_name ? params.business_name.label : \"\",\r\n doctor_name: params.doctor_name ? params.doctor_name : \"\",\r\n facility: params.facility ? params.facility.value : \"\",\r\n speciality: params.speciality ? params.speciality.value : \"\",\r\n city: params.city,\r\n gender: params.gender ? params.gender.value : \"\",\r\n distance: params.distance,\r\n //distance: \"\",\r\n reviews: params.reviews,\r\n latitude: params.latitude,\r\n longitude: params.longitude,\r\n // latitude: \"\",\r\n // longitude: \"\",\r\n distance_type: params.distance_type,\r\n // distance_type: \"\",\r\n visit_type: params.visit_type,\r\n };\r\n\r\n console.log(data);\r\n axios\r\n .post(searchBusiness, data, CONFIG)\r\n .then((searchresults) => {\r\n console.log(\"business list\");\r\n\r\n if (searchresults.data.status === \"1\") {\r\n console.log(searchresults);\r\n\r\n this.setState({ searchresults: searchresults.data, latitude: searchresults.data.data[0].latitude, longitude: searchresults.data.data[0].longitude });\r\n let result = this.state.searchresults;\r\n if (result.data.length) {\r\n result.data.forEach((element, index) => {\r\n\r\n // console.log(element);\r\n /* if (element.user_id !== \"\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .get(queueBusinessURL + element.user_id)\r\n .then((details) => {\r\n console.log(\"got response for waittime\");\r\n element.wait_time = details.data.waitTime;\r\n })\r\n .catch((e) => {});\r\n }*/\r\n element.s_no = index + 1;\r\n result.data[index] = element;\r\n });\r\n console.log(result);\r\n let records = result.data;\r\n console.log(result.data);\r\n window.setTimeout(() => {\r\n this.setState({ searchresults: result, records: records });\r\n }, 500);\r\n }\r\n } else {\r\n this.setState({ searchErrorMessage: searchresults.data.message + \",”Try adjusting the distance limit.”\" });\r\n this.setState({\r\n searchresults: {\r\n data: [],\r\n }\r\n });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"business list failed\");\r\n });\r\n };\r\n\r\n\r\n\r\n onMapClicked = (props) => {\r\n if (this.state.showingInfoWindow) {\r\n this.setState({\r\n showingInfoWindow: false,\r\n activeMarker: null,\r\n });\r\n }\r\n };\r\n displayInfo = () => {\r\n return this.state.searchresults\r\n ? this.state.searchresults.data.map((business, index) => {\r\n return (\r\n \r\n
    \r\n

    {business.business_name}

    \r\n
    \r\n \r\n );\r\n })\r\n : \"\";\r\n };\r\n onMarkerClick = (props, marker, e) => {\r\n console.log(\"Marker clicked:\", props); // Debugging\r\n this.setState({\r\n selectedPlace: props,\r\n activeMarker: marker,\r\n showingInfoWindow: true\r\n });\r\n }\r\n \r\n onClose = () => {\r\n if (this.state.showingInfoWindow) {\r\n this.setState({\r\n showingInfoWindow: false,\r\n activeMarker: null\r\n });\r\n }\r\n }\r\n \r\n getCenterValue = (mapProps, map) => {\r\n console.log(mapProps.center);\r\n let url = new URL(map.mapUrl);\r\n let ll = url.searchParams.get(\"ll\");\r\n console.log(ll.split(\",\"));\r\n\r\n console.log(\"param\");\r\n let params = this.state.searchData;\r\n params.latitude = ll.split(\",\")[0];\r\n params.longitude = ll.split(\",\")[1];\r\n console.log(params);\r\n //console.log(params.latitude);\r\n //console.log(params.longitude);\r\n console.log(this.state.searchresults);\r\n //this.setState({searchData: params});\r\n\r\n let data = {\r\n category: params.category ? params.category.label : \"\",\r\n business_name: params.business_name ? params.business_name.label : \"\",\r\n doctor_name: params.doctor_name ? params.doctor_name : \"\",\r\n facility: params.facility ? params.facility.value : \"\",\r\n speciality: params.speciality ? params.speciality.value : \"\",\r\n city: params.city,\r\n gender: params.gender ? params.gender.value : \"\",\r\n distance: params.distance,\r\n reviews: params.reviews,\r\n latitude: ll.split(\",\")[0],\r\n longitude: ll.split(\",\")[1],\r\n distance_type: params.distance_type,\r\n visit_type: params.visit_type,\r\n };\r\n\r\n\r\n axios\r\n .post(searchBusiness, data, CONFIG)\r\n .then((searchresults) => {\r\n console.log(\"business list\");\r\n\r\n if (searchresults.data.status === \"1\") {\r\n console.log(searchresults);\r\n // this.setState({ searchresults: searchresults.data });\r\n let result = this.state.searchresults;\r\n if (result.data.length) {\r\n result.data.forEach((element, index) => {\r\n result.data[index] = element;\r\n });\r\n window.setTimeout(() => {\r\n // this.setState({ searchresults: result });\r\n }, 500);\r\n }\r\n } else {\r\n this.setState({ error: searchresults.data.message });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"business list failed\");\r\n });\r\n\r\n\r\n\r\n\r\n };\r\n displayMarkersnew = () => {\r\n if (!this.state.userlist) {\r\n return null;\r\n }\r\n \r\n return this.state.userlist.map((hospital, index) => {\r\n const icon = hospital.status === 'Approved'\r\n ? require('../assets/images/MapIcon.png')\r\n : require('../assets/images/pending.png');\r\n \r\n const scaledSize = hospital.status === 'Approved'\r\n ? new window.google.maps.Size(60, 60) // Smaller size for pending status\r\n : new window.google.maps.Size(40, 40); // Larger size for non-pending status\r\n \r\n return (\r\n \r\n );\r\n });\r\n };\r\n \r\n displayMarkers = () => {\r\n let mapImage = require(\"../assets/images/map-pin.png\")\r\n let iconMarker = new window.google.maps.MarkerImage(\r\n mapImage,\r\n null /* size is determined at runtime */,\r\n null /* origin is 0,0 */,\r\n null /* anchor is bottom center of the scaled image */,\r\n new window.google.maps.Size(100, 100)\r\n );\r\n return this.state.searchresults\r\n ? this.state.searchresults.data.map((business, index) => {\r\n //This need to replcae real waiting time from queue table\r\n\r\n\r\n\r\n let waitingtime = business.expected_wait_time\r\n // console.log(waitingtime)\r\n // if (!before30min) {\r\n return (\r\n \r\n );\r\n // }\r\n\r\n })\r\n : \"\";\r\n };\r\n render() {\r\n let {\r\n business_list,\r\n errors,\r\n searchData,\r\n searchresults,\r\n queuein_data,\r\n family_list,\r\n\r\n } = this.state;\r\n let category_array = this.props.appdata.length\r\n ? this.props.appdata[0].category\r\n : [];\r\n let category = [];\r\n\r\n category_array.forEach((element, index) => {\r\n category.push({ value: element.id, label: element.category_name });\r\n });\r\n category_array = category;\r\n\r\n let facility_list = this.props.appdata.length\r\n ? this.props.appdata[0].facilities\r\n : [];\r\n let facility = [];\r\n\r\n facility_list.forEach((element, index) => {\r\n facility.push({ value: element.id, label: element.facility_name });\r\n });\r\n facility_list = facility;\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n let specialities = [];\r\n specialities_array.forEach((element, index) => {\r\n specialities.push({ value: element.id, label: element.name });\r\n });\r\n specialities_array = specialities;\r\n const { selected_doc, doctor_list, timeout, searchErrorMessage, loading, Todaydate, thisday } = this.state;\r\n\r\n return (\r\n \r\n
    \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n
    \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.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={timeout} />\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n

    Queue-in

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {searchData.distance}\r\n \r\n
    \r\n
    \r\n \r\n \r\n KM\r\n \r\n
    \r\n
    \r\n \r\n \r\n Miles\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n \r\n \r\n \r\n \r\n \r\n

    \r\n
    \r\n
    \r\n */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n Clear\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n\r\n \r\n \r\n Queue-In\r\n \r\n \r\n \r\n\r\n
    \r\n {queuein_data.business_name} , {queuein_data.address}{\" \"}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {this.state.selected_doc_schedule_type.toLowerCase() == 'appointment' ?\r\n (\r\n Next\r\n ) : \"\"}   \r\n {this.state.selected_doc_schedule_type.toLowerCase() != 'appointment' ?\r\n (\r\n Next\r\n ) : \"\"}   \r\n\r\n \r\n Cancel\r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n \r\n \r\n \r\n Book a Token Appointment\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {queuein_data.business_name}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {queuein_data.doc_name}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.currentdate}\r\n
    \r\n
    \r\n\r\n\r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n this.handleFamilyDetailChange(\r\n \"date_of_birth\",\r\n date\r\n )\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    Medical History
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n {disease_array.map((option) => {\r\n return (\r\n \r\n
    \r\n
    \r\n -1\r\n }\r\n />\r\n \r\n {option}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    Family Medical History
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n Father\r\n
    \r\n
    \r\n Mother\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n Father\r\n
    \r\n
    \r\n Mother\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {parent_disease_array.map(\r\n (option, i) => {\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
    Medicine History
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Yes\r\n \r\n
    \r\n
    \r\n \r\n \r\n No\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Yes\r\n \r\n
    \r\n
    \r\n \r\n \r\n No\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Social History
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {SOCIAL_HISTORY.map(\r\n (option, i) => {\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  Add\r\n \r\n\r\n \r\n Update\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n\r\n {/* \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n\r\n {/* \r\n \r\n \r\n \r\n \r\n
    Are you sure?
    \r\n
    \r\n
    \r\n \r\n Ok\r\n \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ClientFamilyDetails);","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Select from \"react-select\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport { gender } from \"../config/data\";\r\nimport Label from \"../components/UI/Label\";\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n user: state.AuthReducer.user,\r\n };\r\n}\r\n\r\nclass SearchFilter extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n business_list: [],\r\n\r\n latitude: \"\",\r\n longitude: \"\",\r\n searchData: {\r\n category: \"\",\r\n business_name: \"\",\r\n doctor_name: \"\",\r\n facility: \"\",\r\n speciality: \"\",\r\n city: \"\",\r\n zip_code: \"\",\r\n gender: \"\",\r\n distance: \"5\",\r\n distance_type: \"KM\",\r\n reviews: \"\",\r\n visit_type: \"oncall\",\r\n },\r\n errors: [\r\n {\r\n doctor_name: \"\",\r\n city: \"\",\r\n },\r\n ],\r\n // category: this.props.appdata.category,\r\n };\r\n }\r\n\r\n searchBusiness = (e) => {\r\n e.preventDefault();\r\n this.props.setSearchData(this.state.searchData);\r\n\r\n window.location.replace(\"/search\");\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ searchData: data, errors: errors });\r\n }\r\n handleInput = (e) => {\r\n let data = this.state.searchData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n name === \"doctor_name\" ||\r\n name === \"city\" \r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ searchData: data });\r\n };\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ businessData: data });\r\n };\r\n reviewChange(value, field) {\r\n let data = this.state.searchData;\r\n console.log(data);\r\n /* To uncheck the star*/\r\n if (data.reviews === 5) {\r\n value = 0;\r\n }\r\n\r\n var searchReviewId = document.getElementById(\"SearchReviewId\");\r\n console.log(searchReviewId);\r\n for (var i = 0; i < 5; i++) {\r\n if (i < value && data.reviews !== 5) {\r\n searchReviewId.children[i].classList.add(\"fa-star\");\r\n } else {\r\n searchReviewId.children[i].classList.remove(\"fa-star\");\r\n }\r\n }\r\n\r\n data.reviews = value;\r\n this.setState({ searchData: data });\r\n }\r\n handleDistanceChange = (event) => {\r\n let data = this.state.searchData;\r\n data.distance = event.target.value;\r\n this.setState({ searchData: data });\r\n };\r\n render() {\r\n let { searchData } = this.state;\r\n\r\n let category_array = this.props.appdata.length\r\n ? this.props.appdata[0].category\r\n : [];\r\n let category = [];\r\n\r\n category_array.forEach((element, index) => {\r\n category.push({ value: element.id, label: element.category_name });\r\n });\r\n category_array = category;\r\n\r\n let facility_list = this.props.appdata.length\r\n ? this.props.appdata[0].facilities\r\n : [];\r\n let facility = [];\r\n\r\n facility_list.forEach((element, index) => {\r\n facility.push({ value: element.id, label: element.facility_name });\r\n });\r\n facility_list = facility;\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n let specialities = [];\r\n specialities_array.forEach((element, index) => {\r\n specialities.push({ value: element.id, label: element.name });\r\n });\r\n specialities_array = specialities;\r\n return (\r\n
    \r\n
    \r\n
    Search Hospital
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Oncall\r\n \r\n
    \r\n
    \r\n \r\n \r\n In-Person\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {searchData.distance}\r\n \r\n
    \r\n
    \r\n \r\n \r\n KM\r\n \r\n
    \r\n
    \r\n \r\n \r\n Miles\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n \r\n \r\n \r\n \r\n \r\n

    \r\n
    \r\n
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Next\r\n \r\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 mapDispatchToProps = (dispatch) => {\r\n return {\r\n setSearchData: (searchData) =>\r\n dispatch({ type: \"SET_SEARCH_DATA\", payload: searchData }),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SearchFilter);\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SideBar from \"../components/container/layout/client/SideBar\";\r\n//import SideBarNew from \"../components/container/layout/client/SideBarNew\";\r\nimport axios from \"axios\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport Select from \"react-select\";\r\nimport TextArea from \"../components/UI/TextArea\";\r\nimport Label from \"../components/UI/Label\";\r\nimport {\r\n getallFavouritesbyclientId,\r\n getClientFamilyDetails,\r\n getBusinessScheduleDayId,\r\n queueURL,\r\n queueBusinessURL,\r\n getDocByBusiness,\r\n addCheckinURL,\r\n addQueue_modified,\r\n getTimeoutbycategory,\r\n createNotification,\r\n getpaymenttypeforbusiness,\r\n getdoctordetails,\r\n CancelQueue,\r\n UpdateQueueRemove,\r\n updateclientqueuestatus,\r\n RazorPayPayment,\r\n getCredentials,\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport SearchFilter from \"../views/SearchFilter\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from \"../components/UI/Footerad\";\r\nimport { getDateISOFormat, getPatientsubstring } from \"../constants/globalLevelFunctions\";\r\nimport Validation from \"../actions/Validation\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal'\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n user: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n \r\n userdata: state.AuthReducer.user,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nfunction loadScript(src) {\r\n return new Promise((resolve) => {\r\n const script = document.createElement('script')\r\n script.src = src\r\n script.onload = () => {\r\n resolve(true)\r\n }\r\n script.onerror = () => {\r\n resolve(false)\r\n }\r\n document.body.appendChild(script)\r\n })\r\n}\r\n\r\nclass ClientFavourites extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const timeout=this.state;\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n // {\r\n // key: \"first_name\",\r\n // text: \"M/F\",\r\n // className: \"first_name\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // cell: (record) => {\r\n \r\n // return (\r\n // \r\n // \r\n // \r\n // )\r\n // }\r\n // },\r\n {\r\n key: \"business_name\",\r\n text: \"Hospital Name\",\r\n className: \"business_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"speciality_detail\",\r\n text: \"Speciality\",\r\n className: \"speciality_detail\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"address\",\r\n text: \"Address\",\r\n className: \"address\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n {\r\n key: \"wait_time\",\r\n text: \"Wait Time\",\r\n width: 100,\r\n className: \"wait_time\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n {\r\n key: \"directions\",\r\n text: \"Directions\",\r\n className: \"directions\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\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 key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 200,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n Select\r\n \r\n \r\n )\r\n },\r\n \r\n },\r\n ];\r\n this.state = {\r\n timeout:timeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n \r\n loading: false,\r\n loggedInuserId: props.user.id,\r\n loggedInuserName: props.user.first_name,\r\n access_token: props.access_token,\r\n payment_mode: \"\",\r\n favouritesList: [\r\n {\r\n business_name: \"\",\r\n businessId: \"\",\r\n wait_time: \"\",\r\n speciality_detail: \"\",\r\n address: \"\",\r\n },\r\n ],\r\n queuein_data: {\r\n business_name: \"\",\r\n schedule_day_id: \"\",\r\n n_schedule_day_id: \"\",\r\n businessId: \"\",\r\n address: \"\",\r\n expected_wait_time: \"\",\r\n no_of_additional_persion: \"\",\r\n payment_mode:\"\",\r\n\r\n },\r\n selectedPlace: { value: \"\", label: \"\" },\r\n doctor_list: [],\r\n selected_doc: { value: \"\", label: \"\" },\r\n doctor_appointment_detail_list: [],\r\n selected_doctor_appointment_detail_list: [],\r\n selected_doc_schedule_type: \"\",\r\n\r\n family_list: [{ client_id: \"\", name: \"\", relationship: \"\" }],\r\n enableqin: false,\r\n listofClientForQueue: [],\r\n loggedInClient: { client_id: \"\", name: \"\", relationship: \"\" },\r\n error: \"\",\r\n\r\n openModal: false,\r\n errors: {\r\n doctor_name: \"\",\r\n other_comments:\"\",\r\n payment_type_error:\"\"\r\n },\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n \r\n }\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n\r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n};\r\n\r\n _onAction(e) {\r\n \r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n \r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n \r\n showFamilydetail = (value, el) => {\r\nconsole.log(value);\r\n \r\n const data = {\r\n n_business_id: value.businessId,\r\n n_currentdate: getDateISOFormat(new Date()),\r\n };\r\n if (value.businessId !== \"\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getDocByBusiness, data, CONFIG)\r\n .then((result) => {\r\n\r\n let resData = result.data.data;\r\n \r\n let queuein_data = {};\r\n\r\n queuein_data.n_business_id = value.businessId;\r\n queuein_data.business_name = value.business_name;\r\n queuein_data.address = value.address;\r\n queuein_data.expected_wait_time = value.expected_wait_time;\r\n\r\n let doctor_appointment_detail_list = [];\r\n let docList = [];\r\n\r\n \r\n if (resData) {\r\n resData.forEach((element, index) => {\r\n let doctor_obj = {};\r\n\r\n doctor_obj.doc_name = element.doctor_name;\r\n doctor_obj.business_user_id = element.business_user_id;\r\n doctor_obj.schedule_day_id = element.schedule_day_id;\r\n doctor_obj.schedule_id = element.schedule_id;\r\n doctor_obj.schedule_type = element.schedule_type;\r\n doctor_obj.appt_id = element.appt_id;\r\n doctor_obj.doctor_Appointments = element.doctor_Appointments;\r\n\r\n doctor_appointment_detail_list.push(doctor_obj);\r\n docList.push({\r\n value: element.business_user_id,\r\n label: element.doctor_name,\r\n speciality_name: element.speciality_name,\r\n });\r\n });\r\n }\r\n\r\n\r\n \r\n\r\n this.setState({\r\n doctor_list: docList,\r\n queuein_data: queuein_data,\r\n doctor_appointment_detail_list: doctor_appointment_detail_list,\r\n });\r\n\r\n axios\r\n .post(getdoctordetails, {business_id:this.state.queuein_data.n_business_id,business_user_id:docList[0].value}, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n // return false;\r\n if (response.status !== \"0\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ doctor_details: response.data });\r\n }\r\n \r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n //By default select on doctor\r\n let selected_doc = docList[0];\r\n let selected_appointment = [];\r\n let selected_doc_schedule_type = this.setState.selected_doc_schedule_type;\r\n\r\n //Based on default doctor selection select corresponding appointment details\r\n doctor_appointment_detail_list.forEach((element, index) => {\r\n if (element.business_user_id == docList[0].value) {\r\n selected_appointment = element.doctor_Appointments;\r\n selected_doc_schedule_type = element.schedule_type;\r\n }\r\n });\r\n\r\n this.setState({\r\n selected_doc: selected_doc,\r\n selected_doctor_appointment_detail_list: selected_appointment,\r\n selected_doc_schedule_type: selected_doc_schedule_type\r\n });\r\n \r\n\r\n this.setState({ openModal: true });\r\n })\r\n .catch((e) => { });\r\n axios\r\n .post(getpaymenttypeforbusiness, { user_id: value.businessId}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n \r\n console.log(data.data[0].payment_type);\r\n if (data.status === \"1\")\r\n this.setState({\r\n paymenttypeforhospital: data.data[0].payment_type\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n \r\n }\r\n };\r\n closePopup = (e) => {\r\n this.setState({\r\n openModal: false, errors: {}, error: \"\",payment_mode:\"\",\r\n queuein_data: {}, listofClientForQueue: []\r\n });\r\n };\r\n\r\n openbookQueueAppointment = (e)=>{\r\n \r\n let { queuein_data, errors } = this.state;\r\n let listofClientForQueue = this.state.listofClientForQueue;\r\n\r\n //Need to change from string to array after fix the queue issue\r\n // queuein_data.n_client_id = listofClientForQueue;\r\n console.log(listofClientForQueue);\r\n queuein_data.n_client_id = listofClientForQueue.length > 0 ? listofClientForQueue[0].client_id : null;\r\n queuein_data.clientList = listofClientForQueue;\r\n queuein_data.n_status = \"queue-in\";\r\n queuein_data.n_isActive = \"yes\";\r\n queuein_data.n_savedtime = new Date();\r\n if (this.state.selected_doc) {\r\n queuein_data.n_business_user_id = this.state.selected_doc.value;\r\n queuein_data.doc_name = this.state.selected_doc.label;\r\n } else {\r\n queuein_data.n_business_user_id = \"\"\r\n }\r\n\r\n queuein_data.type = \"createQueue\";\r\n queuein_data.schedule_type = this.state.selected_doc_schedule_type.toLowerCase();\r\n queuein_data.payment_mode=this.state.payment_mode;\r\n\r\n this.setState({ queuein_data: queuein_data });\r\n \r\n this.setState({payment_type_error : \"\"});\r\n errors = Validation(queuein_data, errors);\r\n console.log(errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n\r\n\r\n\r\n if (errors.formIsValid && queuein_data.schedule_type.toLowerCase() != \"appointment\") {\r\n\r\n /* */\r\n let listofClientIdForQueue = []\r\n listofClientForQueue.map((item) => {\r\n listofClientIdForQueue.push(item.client_id);\r\n });\r\n queuein_data.clientList = listofClientIdForQueue;\r\n // console.log(queuein_data); return false;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(addQueue_modified, this.state.queuein_data, CONFIG)\r\n .then((response) => {\r\n console.log(response.data);\r\n let result = response.data;\r\n console.log(result.data[0]);\r\n if (result.data[0].status === '100') {\r\n let qId = result.data[0].qId;\r\n\r\n this.displayRazorpay(result.data[0].qId);\r\n let Checkindata = {\r\n business_id: queuein_data.n_business_id,\r\n client_id: queuein_data.n_client_id,\r\n business_user_id : this.state.selected_doc.value,\r\n other_comments: queuein_data.other_comments,\r\n q_id: qId,\r\n\r\n };\r\n console.log(Checkindata);\r\n let notificationdata = {\r\n message_from: queuein_data.n_business_id,\r\n message_to: this.props.user.id,\r\n message: \"Token has been created successfully.\",\r\n link: \"/scheduleconfirmation/\" + qId,\r\n\r\n }\r\n\r\n\r\n axios\r\n .post(addCheckinURL, Checkindata, CONFIG)\r\n .then((result) => {\r\n if (result.data.status === \"1\") {\r\n \r\n \r\n \r\n \r\n axios.post(createNotification, notificationdata).then((res) => {\r\n console.log(qId)\r\n this.setState({ qId: qId });\r\n this.closePopup();\r\n this.openbookAppointment();\r\n \r\n /* toast.success(\"Your Appointment has been confirmed with Dr. \"+ this.state.selected_doc.label , {\r\n className: \"toast-success\",\r\n }); \r\n setTimeout(\r\n () =>\r\n (res.data.status) ?\r\n window.location.href = '/dashboard' : \"\"\r\n ,\r\n 1000\r\n ); */\r\n // window.location.replace(\"/scheduleconfirmation/\" + qId);\r\n }).catch((e) => {\r\n\r\n });\r\n\r\n }\r\n })\r\n .catch((e) => {\r\n\r\n });\r\n\r\n // this.setState({ bookModel: true,openModal:false });\r\n } else {\r\n console.log(result);\r\n // this.closePopup();\r\n\r\n let errors = this.state.errors;\r\n errors.message = result.data[0].message;\r\n this.setState({ errors: errors });\r\n }\r\n })\r\n .catch((e) => { });\r\n\r\n }\r\n }\r\n \r\n };\r\n \r\n createAppointment() {\r\n\r\n let { queuein_data, errors } = this.state;\r\n let listofClientForQueue = this.state.listofClientForQueue;\r\n\r\n //Need to change from string to array after fix the queue issue\r\n // queuein_data.n_client_id = listofClientForQueue;\r\n console.log(listofClientForQueue);\r\n queuein_data.n_client_id = listofClientForQueue.length > 0 ? listofClientForQueue[0].client_id : null;\r\n queuein_data.clientList = listofClientForQueue;\r\n queuein_data.n_status = \"queue-in\";\r\n queuein_data.n_isActive = \"yes\";\r\n queuein_data.n_savedtime = new Date();\r\n if (this.state.selected_doc) {\r\n queuein_data.n_business_user_id = this.state.selected_doc.value;\r\n queuein_data.doc_name = this.state.selected_doc.label;\r\n } else {\r\n queuein_data.n_business_user_id = \"\"\r\n }\r\n\r\n queuein_data.type = \"createQueue\";\r\n queuein_data.schedule_type = this.state.selected_doc_schedule_type.toLowerCase();\r\n \r\n\r\n this.setState({ queuein_data: queuein_data });\r\n\r\n errors = Validation(queuein_data, errors);\r\n console.log(errors);\r\n this.setState({ errors: errors });\r\n\r\n\r\n if (errors.formIsValid) {\r\n this.props.history.push({\r\n pathname: \"/client_book_appointments\",\r\n state: {\r\n business_id: this.state.queuein_data.n_business_id,\r\n business_name: this.state.queuein_data.business_name,\r\n business_user_id: this.state.queuein_data.n_business_user_id,\r\n doc_name: this.state.queuein_data.doc_name,\r\n other_comments: this.state.queuein_data.other_comments,\r\n client_details: queuein_data.clientList[0],\r\n }\r\n });\r\n }\r\n \r\n }\r\n createAppointmentandAddQueue() {\r\n\r\n let { queuein_data, errors } = this.state;\r\n let listofClientForQueue = this.state.listofClientForQueue;\r\n\r\n //Need to change from string to array after fix the queue issue\r\n // queuein_data.n_client_id = listofClientForQueue;\r\n \r\n queuein_data.n_client_id = listofClientForQueue.length > 0 ? listofClientForQueue[0].client_id : null;\r\n queuein_data.clientList = listofClientForQueue;\r\n queuein_data.n_status = \"queue-in\";\r\n queuein_data.n_isActive = \"yes\";\r\n queuein_data.n_savedtime = new Date();\r\n if (this.state.selected_doc) {\r\n queuein_data.n_business_user_id = this.state.selected_doc.value;\r\n queuein_data.doc_name = this.state.selected_doc.label;\r\n } else {\r\n queuein_data.n_business_user_id = \"\"\r\n }\r\n\r\n queuein_data.type = \"createQueue\";\r\n queuein_data.schedule_type = this.state.selected_doc_schedule_type;\r\n\r\n this.setState({ queuein_data: queuein_data });\r\n\r\n errors = Validation(queuein_data, errors);\r\n this.setState({ errors: errors });\r\nconsole.log(errors)\r\n if (errors.formIsValid) {\r\n\r\n\r\n\r\n if (errors.formIsValid && queuein_data.schedule_type != \"appointment\") {\r\n\r\n /* */\r\n let listofClientIdForQueue = []\r\n listofClientForQueue.map((item) => {\r\n listofClientIdForQueue.push(item.client_id);\r\n });\r\n queuein_data.clientList = listofClientIdForQueue;\r\n \r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(addQueue_modified, this.state.queuein_data, CONFIG)\r\n .then((response) => {\r\n \r\n let result = response.data;\r\n \r\n if (result.data[0].status === '100') {\r\n let qId = result.data[0].qId;\r\n\r\n\r\n let Checkindata = {\r\n business_id: queuein_data.n_business_id,\r\n client_id: queuein_data.n_client_id,\r\n business_user_id:this.state.selected_doc.value,\r\n other_comments: queuein_data.other_comments,\r\n q_id: qId,\r\n\r\n };\r\n\r\n axios\r\n .post(addCheckinURL, Checkindata, CONFIG)\r\n .then((result) => {\r\n if (result.data.status === \"1\") {\r\n\r\n this.closePopup();\r\n \r\n // this.props.history.push(\"/scheduleconfirmation/\" + qid);\r\n window.location.replace(\"/scheduleconfirmation/\" + qId);\r\n }\r\n })\r\n .catch((e) => {\r\n\r\n });\r\n\r\n\r\n } else {\r\n \r\n // this.closePopup();\r\n let errors = this.state.errors;\r\n errors.message = result.data[0].message;\r\n this.setState({ errors: errors });\r\n }\r\n })\r\n .catch((e) => { });\r\n\r\n } else if (errors.formIsValid) {\r\n this.props.history.push({\r\n pathname: \"/client_book_appointments\",\r\n state: {\r\n business_id: this.state.queuein_data.n_business_id,\r\n business_name: this.state.queuein_data.business_name,\r\n business_user_id: this.state.queuein_data.n_business_user_id,\r\n doc_name: this.state.queuein_data.doc_name,\r\n other_comments: this.state.queuein_data.other_comments,\r\n client_details: queuein_data.clientList[0],\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n selectMemberForQueueIn(value, element) {\r\n\r\n \r\n // let selectedClientId = value.client_id;\r\n let selectedClientId = value;\r\n let { errors, listofClientForQueue } = this.state\r\n\r\n if (!listofClientForQueue.includes(selectedClientId)) {\r\n listofClientForQueue.push(selectedClientId);\r\n } else {\r\n const deleteIndex = listofClientForQueue\r\n .map((item) => item)\r\n .indexOf(selectedClientId);\r\n listofClientForQueue.splice(deleteIndex, 1);\r\n }\r\n if (listofClientForQueue.length === 0) {\r\n\r\n errors.n_client_id = \"Please select atleast one person\";\r\n errors.formIsValid = false;\r\n this.setState({ errors: errors });\r\n } else {\r\n errors.n_client_id = \"\";\r\n this.setState({ listofClientForQueue });\r\n }\r\n }\r\n\r\n componentDidMount = () => {\r\n this.setState({ loading: true });\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.user.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n \r\n if (data.status == \"1\")\r\n this.setState({\r\n timeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n let members = [];\r\n\r\n let loggedInClient = {};\r\n loggedInClient.client_id = this.state.loggedInuserId;\r\n loggedInClient.name = this.state.loggedInuserName;\r\n loggedInClient.relationship = \"Self\";\r\n\r\n this.setState({ loggedInClient });\r\n this.getData();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.state.access_token}`;\r\n axios\r\n .post(\r\n getallFavouritesbyclientId,\r\n { client_id: this.state.loggedInuserId },\r\n CONFIG\r\n )\r\n .then((list) => {\r\n \r\n let favouritesList = [];\r\n\r\n let favouritesArr = list.data.data;\r\n \r\n favouritesArr.forEach((element, index) => {\r\n let favourite = {};\r\n favourite.s_no = index+1;\r\n favourite.business_name = element.business_name;\r\n favourite.businessId = element.businessId;\r\n favourite.speciality_detail = element.speciality_detail;\r\n favourite.address = element.Address;\r\n favourite.wait_time = element.expected_wait_time;\r\n // if (favourite.businessId != \"\") {\r\n // axios\r\n // .get(queueBusinessURL + favourite.businessId)\r\n // .then((details) => {\r\n // \r\n // favourite.wait_time = details.data.waitTime;\r\n // })\r\n // .catch((e) => { });\r\n // }\r\n // if (favourite.wait_time !== \"\") {\r\n favouritesList[index] = favourite;\r\n // }\r\n\r\n \r\n });\r\n\r\n // window.setTimeout(() => {\r\n this.setState({ favouritesList, loading: false });\r\n // }, 1000);\r\n\r\n })\r\n .catch((e) => { });\r\n };\r\n getData = () => {\r\n\r\n // let loggedInClient = {};\r\n // loggedInClient.client_id = this.props.user.id;\r\n // loggedInClient.name = this.props.user.first_name;\r\n // loggedInClient.relationship = \"Self\";\r\n\r\n // this.setState({ loggedInClient });\r\n // this.setState({ latitude: latitude, longitude: longitude });\r\n //To get the Family details\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getClientFamilyDetails, { client_id: this.props.user.id }, CONFIG)\r\n .then((client_family) => {\r\n \r\n\r\n let list = [];\r\n list.unshift(this.state.loggedInClient);\r\n this.setState({ family_list: list });\r\n\r\n let dataArr = client_family.data.data;\r\n\r\n let family_list = this.state.family_list;\r\n dataArr.forEach((element, index) => {\r\n let family_member = {};\r\n family_member.client_id = element.user_id;\r\n family_member.name = element.first_name + \" \" + element.last_name;\r\n family_member.relationship = element.relationship;\r\n\r\n family_list[index + 1] = family_member;\r\n this.setState({ family_list: family_list });\r\n });\r\n this.setState({ enableqin: true });\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n handlequeueIn(value, el) {\r\n \r\n \r\n\r\n let queuein_data = {};\r\n queuein_data.business_name = value.business_name;\r\n queuein_data.address = value.address;\r\n queuein_data.expected_wait_time = value.expected_wait_time;\r\n queuein_data.businessId = value.businessId;\r\n queuein_data.expected_wait_time = value.wait_time;\r\n\r\n if (value.businessId != \"\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.state.access_token}`;\r\n axios\r\n .get(getBusinessScheduleDayId + value.businessId)\r\n .then((schedules) => {\r\n let scheduleArr = schedules.data;\r\n\r\n scheduleArr.forEach((element, index) => {\r\n queuein_data.schedule_day_id = element.schedule_day_id;\r\n });\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n this.setState({ queuein_data });\r\n\r\n let family_list = [];\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.state.access_token}`;\r\n axios\r\n .post(\r\n getClientFamilyDetails,\r\n { client_id: this.state.loggedInuserId },\r\n CONFIG\r\n )\r\n .then((client_family) => {\r\n let dataArr = client_family.data.data;\r\n\r\n dataArr.forEach((element, index) => {\r\n let family_member = {};\r\n family_member.client_id = element.id;\r\n family_member.name = element.first_name + \" \" + element.last_name;\r\n family_member.relationship = element.relationship;\r\n\r\n family_list[index] = family_member;\r\n this.setState({ family_list });\r\n });\r\n\r\n let list = this.state.family_list;\r\n list.unshift(this.state.loggedInClient);\r\n this.setState({ family_list: list });\r\n this.setState({ enableqin: true });\r\n })\r\n .catch((e) => { });\r\n }\r\n handleQueueInput = (e) => {\r\n let data = this.state.queuein_data;\r\n let errors=this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n errors[name]=\"\";\r\n this.setState({ queuein_data: data,errors });\r\n \r\n }\r\n handleselectDocChange = (selectedOptions, e) => {\r\n let data = this.state.selected_doc;\r\n data = selectedOptions;\r\n\r\n this.setState({ selected_doc: data });\r\n\r\n \r\n\r\n let appointmentDetails = this.state.doctor_appointment_detail_list;\r\n\r\n let selected_appointment = this.state\r\n .selected_doctor_appointment_detail_list;\r\n\r\n let selected_doc_schedule_type = this.state.selected_doc_schedule_type;\r\n\r\n appointmentDetails.forEach((element, index) => {\r\n \r\n if (element.business_user_id == selectedOptions.value) {\r\n \r\n selected_appointment = element.doctor_Appointments;\r\n selected_doc_schedule_type = element.schedule_type;\r\n } else {\r\n \r\n }\r\n });\r\n this.setState({\r\n selected_doctor_appointment_detail_list: selected_appointment,\r\n selected_doc_schedule_type: selected_doc_schedule_type\r\n });\r\n axios\r\n .post(getdoctordetails, {business_id:this.state.queuein_data.n_business_id,business_user_id:selectedOptions.value}, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n // return false;\r\n if (response.status !== \"0\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ doctor_details: response.data,payment_mode:\"\" });\r\n }\r\n\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n\r\n };\r\n\r\n selectMemberForQueueIn(value, element) {\r\n\r\n \r\n // let selectedClientId = value.client_id;\r\n let selectedClientId = value;\r\n let { errors, listofClientForQueue } = this.state\r\n\r\n if (!listofClientForQueue.includes(selectedClientId)) {\r\n listofClientForQueue.push(selectedClientId);\r\n } else {\r\n const deleteIndex = listofClientForQueue\r\n .map((item) => item)\r\n .indexOf(selectedClientId);\r\n listofClientForQueue.splice(deleteIndex, 1);\r\n }\r\n if (listofClientForQueue.length === 0) {\r\n\r\n errors.n_client_id = \"Please select atleast one person\";\r\n errors.message=\"\";\r\n errors.formIsValid = false;\r\n this.setState({ errors: errors });\r\n } else {\r\n errors.n_client_id = \"\";\r\n errors.message=\"\";\r\n this.setState({ listofClientForQueue });\r\n }\r\n }\r\n handleTimingSelect = (event) => {\r\n let data = this.state.queuein_data;\r\n let errors=this.state.errors;\r\n data.n_schedule_day_id = event.target.value;\r\n errors.n_schedule_day_id=\"\";\r\n this.setState({ queuein_data: data });\r\n\r\n };\r\n handlePaymentSelect = (e) => {\r\n const { name, value } = e.target;\r\n let errors = this.state.errors;\r\n if(e.target)\r\n {\r\n errors.payment_type_error=\"\";\r\n }\r\n \r\n this.setState({\r\n [name]: value,\r\n payment_type_error:\"\",\r\n \r\n });\r\n }\r\n displayRazorpay = (q_id) => {\r\n /* let clientData = this.state.clientData;\r\n let queue_data = clientData.queue_data; */\r\n let { queuein_data, errors } = this.state;\r\n console.log(q_id)\r\n const res = loadScript('https://checkout.razorpay.com/v1/checkout.js')\r\n \r\n if (!res) {\r\n alert('Razorpay SDK failed to load. Are you online?')\r\n return\r\n }\r\n const option = {\r\n method: 'POST',\r\n // headers: new Headers({ 'content-type': 'application/json' }),\r\n mode: 'no-cors'\r\n };\r\n \r\n let paymentForm = this.state.selectedHours;\r\n let data = {};\r\n let consulting_fees = ((this.state.doctor_details && this.state.payment_mode==\"Online\")) ? this.state.doctor_details.consulting_fees:\"\";\r\n let service_charges=10;\r\n let total_charges=parseInt(consulting_fees)+parseInt(service_charges);\r\n data.payable_amt =(this.state.payment_mode==\"Online\") ? total_charges : service_charges;\r\n let payment_status=(this.state.payment_mode==\"Online\") ? 'Completed':'Pending';\r\n let payment_type=this.state.payment_mode;\r\n let selected_doc=this.state.selected_doc.label;\r\n //\r\n console.log(data);\r\n /* let doc_firstname=this.state.doctor_details.first_name;\r\n let doc_lastname=this.state.doctor_details.last_name; */\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n let razorpay_key = \"\";\r\n axios\r\n .post(getCredentials, {\r\n \"credential_type\":\"razorpay\"\r\n })\r\n .then((res) => {\r\n console.log(res.data);\r\n razorpay_key = res.data.data[0].value;\r\n \r\n \r\n \r\n axios.post(RazorPayPayment, data, data).then((res) => {\r\n console.log(res);\r\n let data = res.data;\r\n // this.sendBillingmail(this.state.doctor_details);\r\n // let vendorData = this.state.vendorData;\r\n // let paymentForm = this.state.paymentForm;\r\n // console.log(vendorData);\r\n console.log(razorpay_key);\r\n const options = {\r\n // key: __DEV__ ? 'rzp_test_CObt3PWG73pjBs' : 'PRODUCTION_KEY',\r\n key: razorpay_key,\r\n currency: data.currency,\r\n amount: data.amount.toString(),\r\n order_id: data.id,\r\n name: 'Billing and Payment',\r\n description: '',\r\n image: 'https://wtmprofileimagesbucket.s3.ap-south-1.amazonaws.com/logo.png',\r\n handler: function (response) {\r\n console.log(response);\r\n // alert(response.razorpay_payment_id)\r\n // return false; \r\n // alert(response.razorpay_order_id)\r\n // alert(response.razorpay_signature)\r\n \r\n /* let req_data = {\r\n status:'queue-in',\r\n 'order_id': response.razorpay_order_id,\r\n 'payment_id': response.razorpay_payment_id,\r\n // 'vendor_id': vendorData.id,\r\n // vendor_subscription: vendorData.vendor_subscription.id,\r\n // number_of_months: paymentForm.months.value,\r\n // amount: paymentForm.payable_amt,\r\n amount: consulting_fees,\r\n payment_status: payment_status,\r\n service_charges:service_charges,\r\n payment_type:payment_type,\r\n q_id: q_id\r\n \r\n } */\r\n toast.success(\"Your Appointment has been confirmed with Dr. \"+ selected_doc , {\r\n className: \"toast-success\",\r\n }); \r\n const url = updateclientqueuestatus;\r\n let req_data = {\r\n status:'queue-in',\r\n 'order_id': response.razorpay_order_id,\r\n 'payment_id': response.razorpay_payment_id,\r\n // 'vendor_id': vendorData.id,\r\n // vendor_subscription: vendorData.vendor_subscription.id,\r\n // number_of_months: paymentForm.months.value,\r\n // amount: paymentForm.payable_amt,\r\n amount: consulting_fees,\r\n payment_status: payment_status,\r\n service_charges:service_charges,\r\n scharges_paymentstatus:'Completed',\r\n payment_type:payment_type,\r\n q_id: q_id\r\n \r\n };\r\n \r\n axios.post(updateclientqueuestatus, req_data, CONFIG).then((res) => {\r\n console.log(res);\r\n \r\n setTimeout(\r\n () =>\r\n (res.data.status) ?\r\n window.location.href =\"/scheduleconfirmation/\" + q_id : \"\"\r\n ,\r\n 1000\r\n );\r\n \r\n }).catch((err) => {\r\n \r\n \r\n }) \r\n },\r\n \r\n prefill: {\r\n name: this.props.userdata.first_name+\" \"+this.props.userdata.last_name,\r\n email: this.props.userdata.email,\r\n contact: this.props.userdata.phone_number\r\n },\r\n modal: {\r\n confirm_close: true, // this is set to true, if we want confirmation when clicked on cross button.\r\n // This function is executed when checkout modal is closed\r\n // There can be 3 reasons when this modal is closed.\r\n ondismiss: async (reason) => {\r\n const {\r\n reason: paymentReason, field, step, code,\r\n } = reason && reason.error ? reason.error : {};\r\n // Reason 1 - when payment is cancelled. It can happend when we click cross icon or cancel any payment explicitly. \r\n if (reason === undefined) {\r\n console.log('cancelled');\r\n let cancel_data = {\r\n status:'Cancelled',\r\n amount: consulting_fees,\r\n payment_status: \"\",\r\n service_charges:service_charges,\r\n payment_type:payment_type,\r\n q_id: q_id\r\n \r\n };\r\n const handlePayment = async (url, cancel_data) => {\r\n try {\r\n const response = await axios.post(url, cancel_data);\r\n return response.data;\r\n } catch (error) {\r\n console.error('Error:', error);\r\n throw error;\r\n }\r\n }; \r\n let queuedata = {\r\n \"n_business_id\": queuein_data.n_business_id,\r\n \"n_business_user_id\": queuein_data.n_business_user_id,\r\n \"n_schedule_day_id\": queuein_data.n_schedule_day_id,\r\n \"n_q_id\": q_id,\r\n \"n_status\": \"D\",\r\n \"n_schedule_type\": \"D\",\r\n \"n_preference\": 1\r\n }\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(UpdateQueueRemove, queuedata)\r\n .then(() => {\r\n \r\n }).catch(() => {\r\n console.log(\"Update queue failed\");\r\n }); \r\n let cancelData = {\r\n \r\n q_id: q_id,\r\n \r\n };\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(CancelQueue, cancelData)\r\n .then(() => {\r\n \r\n }).catch(() => {\r\n console.log(\"Cancelld Queue\");\r\n }); \r\n handlePayment(updateclientqueuestatus,cancel_data);\r\n toast.error(\"Your Appointment has been Cancelled.\" , {\r\n className: \"toast-error\",\r\n }); \r\n // handlePayment('Cancelled');\r\n } \r\n // Reason 2 - When modal is auto closed because of time out\r\n else if (reason === 'timeout') {\r\n console.log('timedout');\r\n let cancel_data = {\r\n status:'Cancelled',\r\n amount: consulting_fees,\r\n payment_status: \"\",\r\n service_charges:service_charges,\r\n payment_type:payment_type,\r\n q_id: q_id\r\n \r\n };\r\n const handlePayment = async (url, cancel_data) => {\r\n try {\r\n const response = await axios.post(url, cancel_data);\r\n return response.data;\r\n } catch (error) {\r\n console.error('Error:', error);\r\n throw error;\r\n }\r\n }; \r\n let queuedata = {\r\n \"n_business_id\": queuein_data.n_business_id,\r\n \"n_business_user_id\": queuein_data.n_business_user_id,\r\n \"n_schedule_day_id\": queuein_data.n_schedule_day_id,\r\n \"n_q_id\": q_id,\r\n \"n_status\": \"D\",\r\n \"n_schedule_type\": \"D\",\r\n \"n_preference\": 1\r\n }\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(UpdateQueueRemove, queuedata)\r\n .then(() => {\r\n \r\n }).catch(() => {\r\n console.log(\"Update queue failed\");\r\n }); \r\n let cancelData = {\r\n \r\n q_id: q_id,\r\n \r\n };\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(CancelQueue, cancelData)\r\n .then(() => {\r\n \r\n }).catch(() => {\r\n console.log(\"Cancelld Queue\");\r\n }); \r\n handlePayment(updateclientqueuestatus,cancel_data);\r\n toast.error(\"Your Appointment has been Cancelled.\" , {\r\n className: \"toast-error\",\r\n }); \r\n // handlePayment('timedout');\r\n } \r\n // Reason 3 - When payment gets failed.\r\n else {\r\n console.log('failed');\r\n console.log(paymentReason);\r\n let cancel_data = {\r\n status:'Cancelled',\r\n amount: consulting_fees,\r\n payment_status: \"\",\r\n service_charges:service_charges,\r\n payment_type:payment_type,\r\n q_id: q_id\r\n \r\n };\r\n const handlePayment = async (url, cancel_data) => {\r\n try {\r\n const response = await axios.post(url, cancel_data);\r\n return response.data;\r\n } catch (error) {\r\n console.error('Error:', error);\r\n throw error;\r\n }\r\n }; \r\n let queuedata = {\r\n \"n_business_id\": queuein_data.n_business_id,\r\n \"n_business_user_id\": queuein_data.n_business_user_id,\r\n \"n_schedule_day_id\": queuein_data.n_schedule_day_id,\r\n \"n_q_id\": q_id,\r\n \"n_status\": \"D\",\r\n \"n_schedule_type\": \"D\",\r\n \"n_preference\": 1\r\n }\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(UpdateQueueRemove, queuedata)\r\n .then(() => {\r\n \r\n }).catch(() => {\r\n console.log(\"Update queue failed\");\r\n }); \r\n let cancelData = {\r\n \r\n \"n_q_id\": q_id,\r\n \r\n };\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(CancelQueue, cancelData)\r\n .then(() => {\r\n \r\n }).catch(() => {\r\n console.log(\"Cancelld Queue\");\r\n }); \r\n handlePayment(updateclientqueuestatus,cancel_data);\r\n toast.error(\"Your Appointment has been Cancelled.\" , {\r\n className: \"toast-error\",\r\n }); \r\n /* handlePayment('failed', {\r\n paymentReason, field, step, code,\r\n }); */\r\n }\r\n },\r\n },\r\n timeout: 300, // Time limit in Seconds\r\n theme: {\r\n color: '#037ac7', // Custom color for your checkout modal.\r\n },\r\n }\r\n const paymentObject = new window.Razorpay(options)\r\n paymentObject.on('payment.submit', (response) => {\r\n // paymentMethod.current = response.method;\r\n // alert(response.method);\r\n });\r\n paymentObject.on('payment.failed', function (response){\r\n // alert(response.error.code);\r\n // alert(response.error.description);\r\n // alert(response.error.source);\r\n // alert(response.error.step);\r\n // alert(response.error.reason);\r\n // alert(response.error.metadata.order_id);\r\n // alert(response.error.metadata.payment_id);\r\n });\r\n \r\n paymentObject.open()\r\n \r\n }).catch((e) => { console.log(e) });\r\n \r\n }) \r\n .catch((e) => { \r\n console.log(e)\r\n });\r\n \r\n \r\n \r\n \r\n }\r\n render() {\r\n const { favouritesList, queuein_data, family_list,timeout,loading } = this.state;\r\n \r\n const { selected_doc, doctor_list, errors } = this.state;\r\n\r\n return (\r\n \r\n
    \r\n {/* */}\r\n
    \r\n {/* */}\r\n {loading && }\r\n
    \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.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={timeout} />\r\n\r\n
    \r\n
    \r\n
    \r\n

    Favorites

    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n {favouritesList.length ? (
    \r\n
    Select Hospital
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {favouritesList.length ? (
    \r\n \r\n
    ) : \"\"}\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n No Data Available\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n {/* \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {queuein_data.business_name} ,{\" \"}\r\n {queuein_data.address}{\" \"}\r\n \r\n Estimated wait time{\" \"}\r\n \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.error}\r\n \r\n
    \r\n\r\n {family_list.map((el, i) => (\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Queue-in\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* */}\r\n {/** end of row */}\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n Queue-In\r\n \r\n\r\n\r\n\r\n
    \r\n {queuein_data.business_name} , {queuein_data.address}{\" \"}\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {this.state.selected_doc_schedule_type.toLowerCase()=='appointment'?\r\n (\r\n Next\r\n ):\"\"}   \r\n {this.state.selected_doc_schedule_type.toLowerCase()!='appointment'?\r\n ( \r\n Next\r\n ):\"\"}   \r\n \r\n \r\n Cancel\r\n \r\n
    \r\n \r\n\r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps,mapDispatchToProps)(ClientFavourites));\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { getAllBusinessUserList } from \"../config/url.json\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport SideBar from \"../components/container/SideBar\";\r\nimport SearchFilter from \"../views/SearchFilter\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nclass ClientAppointments extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loggedInuserId: props.userdata.id,\r\n access_token: props.access_token,\r\n users_list: [\r\n {\r\n businessuser_id: \"\",\r\n businessuser_name: \"\",\r\n speciality: \"\",\r\n experience: \"\",\r\n address: \"\",\r\n fees: \"\",\r\n feedback_percentage: \"\",\r\n no_of_feedback: \"\",\r\n },\r\n ],\r\n };\r\n }\r\n\r\n componentDidMount = () => {\r\n let users = [];\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.state.access_token}`;\r\n\r\n axios\r\n .get(getAllBusinessUserList, CONFIG)\r\n .then((list) => {\r\n console.log(\"buser\");\r\n console.log(list.data);\r\n let userlist = list.data.data;\r\n userlist.forEach((element, index) => {\r\n let user = {};\r\n user.businessuser_id = element.business_user_id;\r\n user.businessuser_name = element.business_user_name;\r\n user.address = element.address;\r\n user.speciality = element.speciality;\r\n user.experience = element.experience;\r\n user.fees = element.fees;\r\n user.feedback_percentage = element.feedback_percentage;\r\n user.no_of_feedback = element.no_of_feedback;\r\n users[index] = user;\r\n });\r\n\r\n this.setState({ users_list: users });\r\n })\r\n .catch((e) => {});\r\n };\r\n\r\n handleBookAppointment = (e) =>{\r\n this.props.history.push({\r\n pathname:\"/client_book_appointments\",\r\n /* state:{\r\n registered_detail:this.state.registered_detail\r\n }*/\r\n });\r\n }\r\n\r\n render() {\r\n const { users_list } = this.state;\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
    Appointments
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {users_list.map((el, i) => (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {el.businessuser_name}

    \r\n

    {el.speciality}

    \r\n

    \r\n {el.experience} experience overall\r\n

    \r\n

    \r\n {el.address}{\" \"}\r\n  \r\n {\" \"}\r\n Gold Dental Care + more\r\n

    \r\n

    \r\n {\" \"}\r\n {el.fees} Consultation free at\r\n client\r\n

    \r\n
    \r\n

    \r\n {\" \"}\r\n \r\n \r\n {el.no_of_feedback} feedback\r\n \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\" \"}\r\n  Available Today\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/** first column */}\r\n \r\n
    \r\n {/*endof first row */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps)(ClientAppointments));\r\n\r\n\r\n","import React, { Component,Fragment } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport Heading4 from \"../../components/UI/Heading4\";\r\nimport InputField from \"../UI/InputField\";\r\nimport TextArea from \"../UI/TextArea\";\r\nimport CheckboxOrRadioGroup from \"../UI/CheckboxOrRadioGroup\";\r\n// import Button from '../UI/Button'\r\nimport axios from \"axios\";\r\nimport { UpdateBusiness, updateavatar } from \"../../config/url.json\";\r\nimport { CountryDropdown, RegionDropdown } from \"react-country-region-selector\";\r\nimport Label from \"../UI/Label\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport PhoneInput, { isValidPhoneNumber, parsePhoneNumber } from \"react-phone-number-input\";\r\nimport SpanField from \"../UI/SpanField\";\r\nimport Select from \"react-select\";\r\nimport { AUTH_CONFIG, CONFIG, imageconfig } from \"../../config/data\";\r\nimport { getBusinessById } from \"../../config/url.json\";\r\nimport ErrorAlert from \"../UI/ErrorAlert\";\r\nimport S3 from \"react-aws-s3\";\r\n\r\n\r\n// const token = localStorage.getItem(\"token\");\r\nfunction mapStateToProps(state) {\r\n console.log(state.appdata);\r\n\r\n return {\r\n appdata: state.AppData,\r\n };\r\n}\r\nconst google = window.google;\r\nconst scheduleType = [{ label: \"Token\", value: \"Queue\" }, { label: \"Appointment\", value: \"Appointment\" }];\r\nconst working_days = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\r\n\r\nclass BusinessSignup1 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedSchedule: [],\r\n file: \"\",\r\n imagePreviewUrl: \"\",\r\n businessData: {\r\n user_id: \"\",\r\n business_name: \"\",\r\n email: \"\",\r\n // password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n user_type: \"hospital\",\r\n phone_number: \"\",\r\n phone_code: \"\",\r\n fax_number: \"\",\r\n website: \"\",\r\n year_of_build: \"\",\r\n capacity: \"\",\r\n schedule_type: \"\",\r\n selected_category: \"\",\r\n payment_type:\"\",\r\n working_hours: {\r\n morning_opens_at: '',\r\n morning_close_at: '',\r\n evening_opens_at: '',\r\n evening_close_at: '',\r\n hours_24: false,\r\n },\r\n\r\n working_days: [],\r\n working_all_days: false,\r\n speciality: [],\r\n facility: [],\r\n profile_summary: \"\",\r\n google_loc_id:\"\",\r\n },\r\n errors: {\r\n business_name: \"\",\r\n email: \"\",\r\n // password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n fax_number: \"\",\r\n website: \"\",\r\n year_of_build: \"\",\r\n capacity: \"\",\r\n schedule_type: \"\",\r\n working_hours_morning: \"\",\r\n working_hours_evening: \"\",\r\n working_days: \"\",\r\n speciality: \"\",\r\n facility: \"\",\r\n profile_summary: \"\",\r\n phone_number:\"\",\r\n },\r\n error: \"\",\r\n };\r\n // this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n this.autocomplete = null;\r\n this.handleWorkhoursChange = this.handleWorkhoursChange.bind(this);\r\n this.handleInput = this.handleInput.bind(this);\r\n }\r\n\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { businessData,errors } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n // console.log(place);\r\n // console.log(place.name);\r\n var lat = place.geometry.location.lat();\r\n // get lng\r\n var lng = place.geometry.location.lng();\r\n businessData.latitude = lat.toString();\r\n businessData.longitude = lng.toString();\r\n businessData.google_loc_id = place.url;\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n // var valShort = place.address_components[i].short_name;\r\n // console.log(val);\r\n if (addressType === \"administrative_area_level_1\")\r\n businessData.state = val;\r\n if (addressType === \"locality\")\r\n businessData.city = val;\r\n if (addressType === \"country\") businessData.country = val;\r\n // if (addressType === \"street_number\") {\r\n\r\n businessData.address1 = place.name;\r\n // }\r\n if (addressType === \"sublocality_level_1\") businessData.address2 = val;\r\n if (addressType === \"postal_code\") businessData.zip_code = val;\r\n }\r\n }\r\n errors.state=\"\";\r\n errors.city=\"\";\r\n errors.zip_code=\"\";\r\n this.setState({\r\n businessData,errors\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address1\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n axios\r\n .post(\r\n getBusinessById,\r\n { business_id: this.props.userdata.id },\r\n AUTH_CONFIG\r\n )\r\n .then((response) => {\r\n console.log(\"userData\");\r\n console.log(response.data);\r\n if (response.data.status === \"1\") {\r\n // this.setState({});\r\n // console.log(response.data.data);\r\n let data = response.data.data[0];\r\n console.log(data);\r\n let speciality = [];\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n if (data.speciality) {\r\n let arr1=data.speciality.split(',');\r\n arr1.forEach((e1,i)=>specialities_array.forEach((element, index) => {\r\n if (e1==element.id) {\r\n speciality.push({\r\n value: element.id,\r\n label: element.name,\r\n });\r\n }\r\n }\r\n ))\r\n }\r\n data.speciality = speciality;\r\n\r\n let facility = [];\r\n let facilities_array = this.props.appdata\r\n ? this.props.appdata[0].facilities\r\n : [];\r\n if (data.facility) {\r\n facilities_array.forEach((element, index) => {\r\n if (data.facility.indexOf(element.id) > -1) {\r\n facility.push({\r\n value: element.id,\r\n label: element.facility_name,\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n data.facility = facility;\r\n\r\n let working_hours = {\r\n morning_opens_at: '',\r\n morning_close_at: '',\r\n evening_opens_at: '',\r\n evening_close_at: '',\r\n hours_24: false,\r\n };\r\n if (\"null\" === data.working_hours || null == data.working_hours || \"\" === data.working_hours) {\r\n data.working_hours = working_hours;\r\n } else {\r\n data.working_hours = data.working_hours;\r\n }\r\n\r\n data.schedule_type = data.schedule_type ? data.schedule_type : \"\";\r\n // data.working_all_days = data.working_all_days;\r\n // if (data.working_days !== null) {\r\n // data.working_all_days = false;\r\n // } else if (data.working_days.length === 7) {\r\n // data.working_all_days = true;\r\n // }\r\n\r\n /* Working Days section */\r\n if (null == data.working_days) {\r\n data.working_days = [];\r\n } else {\r\n data.working_days = data.working_days;\r\n if (7 === data.working_days.length) {\r\n data.working_all_days = true;\r\n } else {\r\n data.working_all_days = false;\r\n }\r\n }\r\n\r\n if (null !== data.category) {\r\n this.category_array.forEach((element, index) => {\r\n if (data.category.indexOf(element.value) > -1) {\r\n data.selected_category = element;\r\n }\r\n });\r\n }\r\n console.log(data);\r\n data.phone_number = data.phone_number.includes(\"+91\") ? data.phone_number : data.phone_code.concat(data.phone_number);\r\n\r\n // data.phone_number = data.phone_number ? data.phone_code.concat(data.phone_number) : \"\";\r\n console.log(data);\r\n\r\n // var errors = Validation(data, this.state.errors);\r\n // data.phone_number = data.phone_code.concat(data.phone_number);\r\n this.setState({ businessData: data });\r\n } else {\r\n this.setState({ error: response.data.message });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"business user getbyid failed\");\r\n });\r\n }\r\n handlePaymentSelect = (e) => {\r\n const { name, value } = e.target;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n handleInput = (e) => {\r\n let data = this.state.businessData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\nlet errors = this.state.errors\r\n if (\r\n name === \"capacity\" ||\r\n name === \"year_of_build\" ||\r\n name === \"business_name\" ||\r\n name === \"address1\" ||\r\n name === \"address2\" ||\r\n name === \"city\" ||\r\n name === \"zip_code\" ||\r\n name === \"fax_number\" ||\r\n name === \"email\" ||\r\n name === \"website\"||\r\n name === \"phone_number\"\r\n \r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name]=\"\"\r\n }\r\n this.setState({ businessData: data,errors });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.businessData;\r\n let errors = this.state.errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n // const value1 = value.slice(0, max);\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ businessData: data, errors: errors });\r\n }\r\n /* for country detail change */\r\n selectCountry(val) {\r\n let data = this.state.businessData;\r\n data.country = val;\r\n let errors = this.state.errors\r\n errors.country = \"\"\r\n this.setState({ businessData: data,errors });\r\n }\r\n /* for state detail change */\r\n\r\n selectState(val) {\r\n let data = this.state.businessData;\r\n data.state = val;\r\n let errors = this.state.errors\r\n errors.state=\"\"\r\n this.setState({ businessData: data,errors });\r\n }\r\n handlePhoneInput = (event) => {\r\n let businessData = this.state.businessData;\r\n businessData.phone_number = event;\r\n let errors = this.state.errors\r\n errors.phone_number = \"\"\r\n this.setState({ businessData,errors });\r\n };\r\n handleSechduleType = (e) => {\r\n let data = this.state.businessData;\r\n data.schedule_type = [e.target.value];\r\n let errors = this.state.errors\r\n errors.schedule_type= \"\"\r\n this.setState({ businessData: data,errors });\r\n };\r\n handleWorkingDays = (e) => {\r\n let data = this.state.businessData;\r\n // let working_days_data = data.working_days;\r\n let working_all_days_data = data.working_all_days;\r\nlet errors = this.state.errors\r\n if (\"allDaysId\" === e.target.id) {\r\n working_all_days_data = !working_all_days_data;\r\n\r\n data.working_all_days = working_all_days_data;\r\n\r\n data.working_all_days\r\n ? (data.working_days = working_days)\r\n : (data.working_days = []);\r\n } else {\r\n const newSelection = e.target.value;\r\n let newSelectionArray;\r\n\r\n if (data.working_days.indexOf(newSelection) > -1) {\r\n newSelectionArray = data.working_days.filter((s) => s !== newSelection);\r\n console.log(newSelectionArray);\r\n } else {\r\n newSelectionArray = [...data.working_days, newSelection];\r\n console.log(newSelectionArray);\r\n }\r\n\r\n data.working_days = newSelectionArray;\r\n let wd = [];\r\n data.working_days.forEach((element, index) => {\r\n if (working_days.indexOf(element) > -1) {\r\n wd.push(element);\r\n }\r\n });\r\n\r\n data.working_days = wd;\r\n }\r\nif(data.working_days.length>0)\r\nerrors.working_days = \"\"\r\n\r\n data.working_days.length === 7\r\n ? (data.working_all_days = true)\r\n : (data.working_all_days = false);\r\n\r\n this.setState({ businessData: data,errors });\r\n };\r\n /* for work detail change */\r\n handleWorkhoursChange(field, value) {\r\n let data = this.state.businessData;\r\n let working_hours_data = data.working_hours;\r\n let errors = this.state.errors;\r\n console.log(working_hours_data);\r\n if(working_hours_data == \"\"){\r\n working_hours_data =\r\n {\r\n morning_opens_at: '',\r\n morning_close_at: '',\r\n evening_opens_at: '',\r\n evening_close_at: '',\r\n hours_24: false,\r\n };\r\n }\r\n if (\"24Hours\" === field) {\r\n working_hours_data.hours_24 = !working_hours_data.hours_24;\r\n working_hours_data.morning_opens_at = '00:00'; errors.morning_opens_at=\"\";\r\n working_hours_data.morning_close_at = '11:59';errors.morning_close_at=\"\";\r\n working_hours_data.evening_opens_at = '12:00';errors.evening_opens_at=\"\";\r\n working_hours_data.evening_close_at = '23:59';errors.evening_close_at=\"\";\r\n } else {\r\n working_hours_data.hours_24 = false;\r\n working_hours_data[`${field}`] = value.target.value;\r\n errors[`${field}`] =\"\";\r\n }\r\n console.log(working_hours_data);\r\n data.working_hours = working_hours_data;\r\n\r\nerrors.working_hours = \"\"\r\n this.setState({ businessData: data,errors });\r\n }\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.businessData;\r\n data[e.name] = selectedOptions;\r\nlet errors = this.state.errors\r\nerrors[e.name] = \"\"\r\n this.setState({ businessData: data,errors });\r\n };\r\n handleFormSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n let { businessData, errors } = this.state;\r\n console.log(businessData);\r\n businessData.user_type = \"hospitalsignup\";\r\n\r\n errors = Validation(businessData, errors);\r\n\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n console.log(\"form is valid\");\r\n\r\n let speciality = [];\r\n let data = businessData;\r\n\r\n if (data.speciality) {\r\n data.speciality.forEach((element) => speciality.push(element.value));\r\n }\r\n\r\n data.speciality = speciality.toString();\r\n\r\n data.category = data.selected_category\r\n ? data.selected_category.value\r\n : \"\";\r\n\r\n data.category = data.category.toString();\r\n\r\n data.schedule_type = data.schedule_type ? data.schedule_type : \"\";\r\n\r\n data.schedule_type = data.schedule_type.toString();\r\n\r\n let facility = [];\r\n\r\n if (data.facility) {\r\n data.facility.forEach((element) => facility.push(element.value));\r\n }\r\n\r\n data.facility = facility.toString();\r\n data.payment_type=this.state.payment_mode;\r\n \r\n try {\r\n\r\n // data.phone_number = data.phone_number.replace(data.phone_code, '');\r\n data.phone_code = \"+\" + parsePhoneNumber(data.phone_number).countryCallingCode;\r\n data.phone_number = parsePhoneNumber(data.phone_number).nationalNumber;\r\n\r\n const result = axios.put(UpdateBusiness, data, AUTH_CONFIG);\r\n console.log(result);\r\n const p = Promise.resolve(result);\r\n\r\n let resultdata = p.then((value) => {\r\n // console.log(value.data.status);\r\n // console.log(value.data.data);\r\n if (value.data.status === \"1\") {\r\n // this.props.history.push(\"/dashboard\");\r\n window.location.replace(\"/dashboard\");\r\n }\r\n if (value.data.status === \"0\") {\r\n data.phone_number = data.phone_code.concat(data.phone_number);\r\n\r\n this.setState({ error: value.data.message, businessData: data,errors:errors });\r\n }\r\n });\r\n // dispatch(\r\n // addUserDeails(result.data)\r\n // )\r\n } catch (e) {\r\n // dispatch(\r\n // addError(e.message)\r\n // )\r\n }\r\n }\r\n };\r\n imageUpload = (event) => {\r\n event.preventDefault();\r\n let file = event.target.files[0];\r\n let newfileName = event.target.files[0].name;\r\n\r\n // console.log(imageconfig);\r\n imageconfig.dirName = 'business/' + this.props.userdata.id\r\n console.log(imageconfig);\r\n\r\n const reacts3client = new S3(imageconfig);\r\n console.log(reacts3client)\r\n reacts3client.uploadFile(file, newfileName).then(data => {\r\n console.log(data)\r\n if (data.status === 204) {\r\n console.log('success');\r\n let resultdata = {\r\n 'avatar': data.location,\r\n 'user_id': this.props.userdata.id,\r\n 'user_type': \"business\"\r\n }\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n axios.post(updateavatar, resultdata, CONFIG).then((result) => {\r\n this.setState({ profile_img: URL.createObjectURL(file), addPopup: false });\r\n })\r\n } else {\r\n console.log('error');\r\n this.setState({ profile_img: URL.createObjectURL(file), addPopup: false });\r\n }\r\n });\r\n\r\n };\r\n render() {\r\n const { businessData, errors, error } = this.state;\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n let specialities = [];\r\n specialities_array.forEach((element, index) => {\r\n specialities.push({ value: element.id, label: element.name });\r\n });\r\n specialities_array = specialities;\r\n\r\n let facilities_array = this.props.appdata\r\n ? this.props.appdata[0].facilities\r\n : [];\r\n let facilities = [];\r\n facilities_array.forEach((element, index) => {\r\n facilities.push({ value: element.id, label: element.facility_name });\r\n });\r\n facilities_array = facilities;\r\n\r\n let category_array = this.props.appdata.length\r\n ? this.props.appdata[0].category\r\n : [];\r\n let category = [];\r\n\r\n category_array.forEach((element, index) => {\r\n category.push({ value: element.id, label: element.category_name });\r\n });\r\n this.category_array = category;\r\n return (\r\n
    \r\n {error ? : null}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Working hours *
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {/* */}\r\n \r\n \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {/* */}\r\n \r\n \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Working days*
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Speciality*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Facilities
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* {businessData.facility\r\n ? businessData.facility.map((facility, index) => {\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 Pay online\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Pay at Clinic\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps)(BusinessSignup1));\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Heading4 from \"../../components/UI/Heading4\";\r\nimport InputField from \"../UI/InputField\";\r\nimport TextArea from \"../UI/TextArea\";\r\nimport CheckboxOrRadioGroup from \"../UI/CheckboxOrRadioGroup\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport DatePicker from \"react-date-picker\";\r\n// import Button from '../UI/Button'\r\nimport axios from \"axios\";\r\nimport { CountryDropdown, RegionDropdown } from \"react-country-region-selector\";\r\nimport Label from \"../UI/Label\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport PhoneInput, { isValidPhoneNumber,parsePhoneNumber } from \"react-phone-number-input\";\r\nimport TimePicker from \"react-bootstrap-time-picker\";\r\nimport SpanField from \"../UI/SpanField\";\r\nimport Select from \"react-select\";\r\nimport GenderField from \"../UI/GenderField\";\r\nimport StarField from \"../UI/StarField\";\r\nimport YearPick from \"../UI/YearPick\";\r\nimport MonthPick from \"../UI/MonthPick\";\r\nimport * as moment from \"moment\";\r\nimport { blood_group, gender, AUTH_CONFIG, language, CONFIG, imageconfig } from \"../../config/data\";\r\nimport {\r\n MONTH_PAIR,\r\n BLOOD_GROUPS,\r\n EDUCATION_OPTIONS,\r\n} from \"../../constants/config/data\";\r\nimport { getBusinessUserById, updateBusinessUser,updateavatar,updatedigitalsignature } from \"../../config/url.json\";\r\nimport { Popup } from \"../../components/UI/Popup\";\r\nimport { UncontrolledTooltip } from \"reactstrap\";\r\nimport { Route, withRouter } from \"react-router-dom\";\r\nimport {\r\n parseObjectValue,\r\n stringToLabelValue,\r\n} from \"../../constants/globalLevelFunctions\";\r\nimport S3 from \"react-aws-s3\";\r\nimport ReactDOM from 'react-dom'\r\nimport SignatureCanvas from 'react-signature-canvas'\r\nimport SignaturePad from 'react-signature-canvas'\r\nimport { ContactsOutlined } from \"@material-ui/icons\";\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n access_token: state.AuthReducer.access_token,\r\n userdata: state.AuthReducer.user,\r\n };\r\n}\r\nconst google = window.google;\r\nconst scuedueType = [\"Queue\", \"appointment\"];\r\nconst working_days = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\r\n\r\nconst currentYear = new Date().getFullYear();\r\nconst fromMonth = new Date(currentYear, 0);\r\nconst toMonth = new Date(currentYear + 10, 11);\r\nconst blood_group_options = BLOOD_GROUPS;\r\n\r\nlet eq_record = {\r\n id: \"\",\r\n education: \"\",\r\n specialization: \"\",\r\n university: \"\",\r\n completion_month: \"\",\r\n completion_year: \"\",\r\n completion_year_month:\"\"\r\n};\r\n\r\nlet cert_record = {\r\n organization: \"\",\r\n specialization: \"\",\r\n valid_URL: \"\",\r\n certification_completion_month: \"\",\r\n certification_completion_year: \"\",\r\n valid_upto_month: \"\",\r\n valid_upto_year: \"\",\r\n};\r\n\r\nlet experience_record = {\r\n hospital: \"\",\r\n ex_address: \"\",\r\n ex_city: \"\",\r\n ex_state: \"\",\r\n ex_country: \"\",\r\n ex_zipcode:\"\",\r\n experience_from: \"\",\r\n experience_to: \"\",\r\n};\r\n\r\nlet medical_licence_record = {\r\n organization: \"\",\r\n licence_Id: \"\",\r\n expiration_date: \"\",\r\n};\r\n\r\nclass BusinessUserSignup1 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n alldaysbtnClicked: false,\r\n hoursdisabled: false,\r\n checkalldays: false,\r\n trimmedDataURL: null,\r\n is_clear:false,\r\n is_addeducation:false,\r\n businessUserData: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n profile_pic: \"\",\r\n image:\"\",\r\n date_of_birth: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n gender: \"\",\r\n blood_group: \"\",\r\n licence_id: \"\",\r\n expiry_date: \"\",\r\n user_type: \"business_user\",\r\n schedule_type: [],\r\n qualification: \"\",\r\n educational_qualification: [],\r\n certification: [],\r\n experience: [],\r\n medical_licence_details: [],\r\n working_hours: {\r\n morning_opens_at: '',\r\n morning_close_at: '',\r\n evening_opens_at: '',\r\n evening_close_at: '',\r\n hours_24: false,\r\n },\r\n working_days: [],\r\n working_all_days: false,\r\n schedule_type:\"\",\r\n speciality: [],\r\n profile_summary: \"\",\r\n language: \"\",\r\n education: \"\",\r\n specialization: \"\",\r\n university: \"\",\r\n completion_year: \"\",\r\n completion_month: \"\",\r\n organization: \"\",\r\n specialization: \"\",\r\n valid_URL: \"\",\r\n certification_completion_month: \"\",\r\n certification_completion_year: \"\",\r\n valid_upto_month: \"\",\r\n valid_upto_year: \"\",\r\n hospital:\"\",\r\n ex_address:\"\",\r\n ex_city:\"\",\r\n ex_country:\"\",\r\n ex_state:\"\",\r\n experience_from:\"\",\r\n experience_to:\"\",\r\n\r\n },\r\n\r\n educational_qualification_formData: {\r\n id: \"\",\r\n education: \"\",\r\n specialization: \"\",\r\n university: \"\",\r\n completion_month: \"\",\r\n completion_year: \"\",\r\n },\r\n\r\n certifications_formData: {\r\n organization: \"\",\r\n specialization: \"\",\r\n valid_URL: \"\",\r\n certification_completion_month: \"\",\r\n certification_completion_year: \"\",\r\n valid_upto_month: \"\",\r\n valid_upto_year: \"\",\r\n },\r\n\r\n experiences_formData: {\r\n hospital: \"\",\r\n ex_address: \"\",\r\n ex_city: \"\",\r\n ex_state: \"\",\r\n ex_country: \"\",\r\n ex_zipcode:\"\",\r\n experience_from: \"\",\r\n experience_to: \"\",\r\n },\r\n\r\n errors: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n profile_pic: \"\",\r\n image:\"\",\r\n date_of_birth: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n gender: \"\",\r\n blood_group: \"\",\r\n licence_id: \"\",\r\n expiry_date: \"\",\r\n schedule_type: \"\",\r\n working_hours_morning: \"\",\r\n working_hours_evening: \"\",\r\n working_days: \"\",\r\n speciality: \"\",\r\n profile_summary: \"\",\r\n education: \"\",\r\n specialization: \"\",\r\n university: \"\",\r\n completion_year: fromMonth,\r\n completion_month: \"\",\r\n completion_year_month: \"\",\r\n qualification: \"\",\r\n },\r\n educational_qualification_errors: [\r\n {\r\n education: \"\",\r\n specialization: \"\",\r\n university: \"\",\r\n completion_year_month: \"\",\r\n },\r\n ],\r\n certificate_errors: [\r\n {\r\n organization: \"\",\r\n specialization: \"\",\r\n valid_URL: \"\",\r\n certification_completion_month: \"\",\r\n certification_completion_year: \"\",\r\n valid_upto_month: \"\",\r\n valid_upto_year: \"\",\r\n },\r\n ],\r\n experiences_errors: [\r\n {\r\n hospital: \"\",\r\n ex_address: \"\",\r\n city: \"\",\r\n state: \"\",\r\n country: \"\",\r\n ex_zipcode:\"\",\r\n experience_from: \"\",\r\n experience_to: \"\",\r\n },\r\n ],\r\n genderoptions: [\"Male\", \"Female\"],\r\n };\r\n\r\n this.columns = [\r\n {\r\n key: \"id\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"education\",\r\n text: \"Education\",\r\n className: \"education\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"specialization\",\r\n text: \"Specialization\",\r\n className: \"specialization\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"university\",\r\n text: \"University\",\r\n className: \"university\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"completion_year_month\",\r\n text: \"Completion Date\",\r\n className: \"completion_year_month\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n this.onDeleteClick(record, \"education\")}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n\r\n this.certificateColumns = [\r\n {\r\n key: \"id\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"organization\",\r\n text: \"Organization\",\r\n className: \"organization\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"specialization\",\r\n text: \"Specialization\",\r\n className: \"specialization\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"valid_URL\",\r\n text: \"Valid URL\",\r\n className: \"valid_URL\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"completion_year_month\",\r\n text: \"Completion Date\",\r\n className: \"certification_completion\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"valid_date\",\r\n text: \"Valid Date\",\r\n className: \"valid_Date\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n this.onDeleteClick(record, \"certificate\")}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n\r\n this.experienceColumns = [\r\n {\r\n key: \"id\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"hospital\",\r\n text: \"Hospital\",\r\n className: \"hospital\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"ex_address\",\r\n text: \"Address\",\r\n className: \"ex_address\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"ex_city\",\r\n text: \"City\",\r\n className: \"ex_city\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"ex_state\",\r\n text: \"State\",\r\n className: \"ex_state\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"ex_country\",\r\n text: \"Country\",\r\n className: \"ex_country\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"ex_zipcode\",\r\n text: \"Pincode\",\r\n className: \"ex_zipcode\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"experience_from\",\r\n text: \"Experience From\",\r\n className: \"experience_from\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return moment(record.experience_from).format(\"DD-MMM-yyyy\");\r\n },\r\n },\r\n {\r\n key: \"experience_to\",\r\n text: \"Experience To\",\r\n className: \"experience_to\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return moment(record.experience_to).format(\"DD-MMM-yyyy\");\r\n },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n this.onDeleteClick(record, \"experience\")}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n show_pagination: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_info: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n this.handleExperiencePlaceSelect = this.handleExperiencePlaceSelect.bind(\r\n this\r\n );\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleEductionCompletionYearMonthChange = this.handleEductionCompletionYearMonthChange.bind(\r\n this\r\n );\r\n \r\n }\r\n componentDidMount() {\r\n this.autocomplete_ex_address = new google.maps.places.Autocomplete(\r\n document.getElementById(\"ex_address\"),\r\n {}\r\n );\r\n\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address1\"),\r\n {}\r\n );\r\n\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n this.autocomplete_ex_address.addListener(\r\n \"place_changed\",\r\n this.handleExperiencePlaceSelect\r\n );\r\n\r\n window.setTimeout(() => {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(\r\n getBusinessUserById,\r\n { business_user_id: this.props.userdata.id },\r\n AUTH_CONFIG\r\n )\r\n .then((response) => {\r\n if (response.data.status === \"1\") {\r\n let resultData = response.data.data;\r\n console.log(response.data.data);\r\n /* Data of birth section */\r\n resultData.date_of_birth = moment(\r\n resultData.date_of_birth,\r\n moment.defaultFormat\r\n ).toDate();\r\n this.handleDOBChange(resultData.date_of_birth);\r\nconsole.log(resultData);\r\n resultData.expiry_date = resultData.expiry_date\r\n ? moment(resultData.expiry_date, moment.defaultFormat).toDate()\r\n : \"\";\r\n // this.handleExDateChange(resultData.expiry_date);\r\n /* Gender Section*/\r\n let convertedgender = [];\r\n\r\n if (resultData.gender != null) {\r\n convertedgender = {\r\n label: resultData.gender,\r\n value: resultData.gender,\r\n };\r\n }\r\n resultData.gender = convertedgender;\r\n\r\n /* Blodd Group */\r\n\r\n let obj = {};\r\n blood_group_options.filter(function (item) {\r\n if (resultData.blood_group == item.value)\r\n resultData.blood_group = item;\r\n });\r\n\r\n /* Working Hours secton */\r\n if (\r\n \"null\" === resultData.working_hours ||\r\n null == resultData.working_hours\r\n ) {\r\n let working_hours = {\r\n morning_shift_start: '',\r\n morning_shift_end: '',\r\n evening_shift_start: '',\r\n evening_shift_end: '',\r\n hours_24: false,\r\n };\r\n resultData.working_hours = working_hours;\r\n } else {\r\n resultData.working_hours = resultData.working_hours;\r\n }\r\n\r\n /* Working Days section */\r\n if (null == resultData.working_days) {\r\n resultData.working_days = [];\r\n } else {\r\n resultData.working_days = (resultData.working_days);\r\n if (7 === resultData.working_days.length) {\r\n resultData.working_all_days = true;\r\n } else {\r\n resultData.working_all_days = false;\r\n }\r\n }\r\n\r\n /* Summary */\r\n resultData.profile_summary =\r\n null == resultData.profile_summary\r\n ? \"\"\r\n : resultData.profile_summary;\r\n resultData.address1 =\r\n null == resultData.address1 ? \"\" : resultData.address1;\r\n resultData.address2 =\r\n null == resultData.address2 ? \"\" : resultData.address2;\r\n resultData.city = null == resultData.city ? \"\" : resultData.city;\r\n\r\n resultData.language = stringToLabelValue(resultData.language);\r\n\r\n resultData.educational_qualification = resultData.educational_qualification ? resultData.educational_qualification:[];\r\n resultData.certification = \r\n resultData.certification ? resultData.certification : []\r\n ;\r\n resultData.experience = resultData.experience ? resultData.experience : [];\r\n\r\n let speciality = [];\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n /* if (resultData.speciality) {\r\n specialities_array.forEach((element, index) => {\r\n if (resultData.speciality.indexOf(element.id) > -1) {\r\n speciality.push({\r\n value: element.id,\r\n label: element.name,\r\n });\r\n }\r\n });\r\n } */\r\n if (resultData.speciality) {\r\n specialities_array.forEach((element) => {\r\n // console.log(details.speciality.includes(element.id));\r\n if (resultData.speciality.includes(element.id) === true && resultData.speciality===element.id.toString()) {\r\n speciality.push({\r\n value: element.id,\r\n label: element.name,\r\n });\r\n }\r\n });\r\n }\r\n resultData.speciality = speciality;\r\n resultData.schedule_type = resultData.schedule_type ? resultData.schedule_type : \"\";\r\n resultData.phone_number = resultData.phone_number ? resultData.phone_code.concat(resultData.phone_number):\"\";\r\n resultData.image=resultData.image;\r\nconsole.log(resultData)\r\n this.setState({\r\n businessUserData: resultData,\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"business user getbyid failed\");\r\n console.log(e);\r\n });\r\n }, 1000);\r\n }\r\n clear = (e) => {\r\n e.preventDefault();\r\n this.sigPad.clear()\r\n }\r\n trim = (e) => {\r\n e.preventDefault();\r\n let errors =this.state.errors;\r\n this.setState({trimmedDataURL: this.sigPad.getTrimmedCanvas().toDataURL('image/png')})\r\n\r\n let image=this.sigPad.getTrimmedCanvas().toDataURL('image/png');\r\n console.log(image);\r\n if(image!=null)\r\n {\r\n let data=this.state.businessUserData;\r\n let errors=this.state.errors;\r\n data.image=image;\r\n errors.image=\"\";\r\n \r\n let resultdata = {\r\n 'image': image,\r\n 'user_id': this.props.userdata.id\r\n \r\n }\r\n axios.post(updatedigitalsignature, resultdata, CONFIG).then((result) => {\r\n console.log(\"updated ds\");\r\n })\r\n \r\n this.setState({is_clear:true});\r\n this.setState({errors:errors});\r\n \r\n }\r\n }\r\n selectFile=(event)=> {\r\n let errors =this.state.errors;\r\n errors.image=\"\";\r\n event.preventDefault();\r\n let base64code=\"\";\r\n let currentFile= event.target.files[0]; \r\n let previewImage= URL.createObjectURL(event.target.files[0]);\r\n let asciitext=this.getbase64(currentFile);\r\n //console.log(asciitext);\r\n \r\n this.setState({\r\n currentFile: event.target.files[0],\r\n previewImage: URL.createObjectURL(event.target.files[0]),\r\n \r\n });\r\n // console.log(previewImage);\r\n // console.log(currentFile);\r\n \r\n }\r\n onLoad=(image)=>\r\n {\r\n this.base64code=image;\r\n console.log(this.base64code);\r\n console.log(image);\r\n if(image!=null){\r\n let data=this.state.businessUserData;\r\n let errors=this.state.errors;\r\n data.image=image;\r\n errors.image=\"\";\r\n \r\n let resultdata = {\r\n 'image': image,\r\n 'user_id': this.props.userdata.id\r\n \r\n }\r\n axios.post(updatedigitalsignature, resultdata, CONFIG).then((result) => {\r\n console.log(\"updated ds\");\r\n })\r\n this.setState({is_clear:true});\r\n this.setState({errors:errors});\r\n \r\n }\r\n \r\n \r\n }\r\n getbase64=(currentFile)=>{\r\n \r\n let reader = new FileReader();\r\n reader.readAsDataURL(currentFile);\r\n reader.onload=()=>\r\n {\r\n this.onLoad(reader.result);\r\n }\r\n \r\n }\r\n \r\n \r\n /* download=(e)=>{\r\nlet link=e.currentTarget;\r\nlink.setAttribute('download','canvas.png');\r\nlet image=this.sigPad.current.toDataURL('image/png');\r\nlink.setAttribute('href',image);\r\n } */\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.businessUserData;\r\n let errors = this.state.errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ businessUserData: data, errors: errors });\r\n }\r\n\r\n\r\n handleExperiencePlaceSelect() {\r\n let place = this.autocomplete_ex_address.getPlace();\r\n\r\n let { experiences_formData,experiences_errors } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n\r\n if (addressType === \"administrative_area_level_1\")\r\n {\r\n experiences_formData.ex_state = val;\r\n experiences_errors.ex_state = \"\"\r\n }\r\n if (addressType === \"locality\")\r\n {\r\n experiences_formData.ex_city = val;\r\n experiences_errors.ex_city=\"\"\r\n }\r\n if (addressType === \"country\")\r\n {\r\n experiences_formData.ex_country = val;\r\n experiences_errors.ex_country=\"\"\r\n }\r\n\r\n experiences_formData.ex_address = place.name;\r\n if (addressType === \"postal_code\") {\r\n experiences_formData.ex_zipcode = val;\r\n experiences_errors.ex_zipcode = \"\"\r\n }\r\n }\r\n }\r\n\r\n this.setState({\r\n experiences_formData,experiences_errors\r\n });\r\n }\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { businessUserData,errors } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n\r\n if (addressType === \"administrative_area_level_1\"){\r\n businessUserData.state = val;\r\n errors.state = \"\"\r\n } \r\n \r\n if (addressType === \"locality\")\r\n {\r\n \r\n businessUserData.city = val;\r\n errors.city = \"\"\r\n }\r\n if (addressType === \"country\") {businessUserData.country = val;errors.country=\"\"}\r\n\r\n businessUserData.address1 = place.name;\r\n errors.address1 = \"\"\r\n if (addressType === \"sublocality_level_1\")\r\n {\r\n businessUserData.address2 = val;\r\n errors.address2 = \"\"\r\n }\r\n if (addressType === \"postal_code\") {\r\n businessUserData.zip_code = val;\r\n errors.zip_code = \"\"\r\n }\r\n }\r\n }\r\n\r\n this.setState({\r\n businessUserData,errors\r\n });\r\n }\r\n handleFormSubmit = (e) => {\r\n e.preventDefault();\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : []; \r\n let { businessUserData, errors } = this.state;\r\n businessUserData.user_type = \"business_user\";\r\n errors = Validation(businessUserData, errors);\r\n console.log(errors);\r\n console.log(businessUserData);\r\n \r\n let formData = this.state.educational_qualification_formData;\r\n formData.type = \"addEducationDetail\";\r\n\r\n let { educational_qualification_errors } = this.state;\r\n educational_qualification_errors.formIsValid = true;\r\n if(!businessUserData.educational_qualification.length){\r\n \r\n console.log(educational_qualification_errors)\r\n educational_qualification_errors = Validation(formData, educational_qualification_errors);\r\n this.setState({ educational_qualification_errors: educational_qualification_errors });\r\n }\r\n this.setState({ errors: errors });\r\n\r\n let updateData = businessUserData;\r\n\r\n\r\n if (errors.formIsValid &&educational_qualification_errors.formIsValid){\r\n if(this.state.is_addeducation===true)\r\n {\r\n updateData.type = \"doctor\";\r\n updateData.blood_group = updateData.blood_group.value;\r\n updateData.gender = updateData.gender.value;\r\n\r\n let speciality = [];\r\n updateData.phone_code = \"+\" + parsePhoneNumber(updateData.phone_number).countryCallingCode;\r\n updateData.phone_number = parsePhoneNumber(updateData.phone_number).nationalNumber;\r\n const offsetDate = new Date(updateData.date_of_birth.getTime() - (updateData.date_of_birth.getTimezoneOffset() * 60000));\r\n updateData.date_of_birth = offsetDate;\r\n \r\n updateData.date_of_birth=offsetDate;\r\n // updateData.date_of_birth=moment(updateData.date_of_birth).format('DD-MM-YYYY').toString();\r\n // console.log(updateData);return false;\r\n /* if (updateData.speciality) {\r\n updateData.speciality.forEach((element) =>\r\n speciality.push(element.value)\r\n );\r\n }\r\n updateData.speciality = speciality.toString(); */\r\n\r\n if(updateData.speciality!==undefined){\r\n specialities_array.forEach((element, index) => {\r\n \r\n if (updateData.speciality === element.id) {\r\n updateData.speciality = element.id;\r\n updateData.Specialities = element.name;\r\n }\r\n \r\n });\r\n updateData.speciality=updateData.speciality.value;\r\n }\r\n let lang = [];\r\n\r\n if (updateData.language) {\r\n updateData.language.forEach((element) => lang.push(element.value));\r\n }\r\n updateData.language = lang.toString();\r\n \r\n medical_licence_record.licence_Id = updateData.licence_id;\r\n medical_licence_record.expiration_date = moment(updateData.expiry_date,moment.defaultFormat).toDate();\r\n medical_licence_record.id = 1;\r\n updateData.medical_licence_details = [medical_licence_record];\r\n\r\n updateData.schedule_type = updateData.schedule_type ? updateData.schedule_type : \"\";\r\n\r\n updateData.schedule_type = updateData.schedule_type.toString();\r\n\r\n console.log(updateData);\r\n try {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n const result = axios.put(updateBusinessUser, updateData, AUTH_CONFIG);\r\n\r\n const p = Promise.resolve(result);\r\n\r\n p.then((value) => {\r\n if (value.data.status === \"1\") {\r\n // this.props.history.push(\"/dashboard\");\r\n window.location.replace(\"/dashboard\");\r\n }\r\n if (value.data.status === \"0\") {\r\n \r\n updateData.phone_number = updateData.phone_code.concat(updateData.phone_number);\r\n\r\n this.setState({ error: value.data.message, businessUserData: updateData});\r\n }\r\n });\r\n } catch (e) {\r\n alert(e);\r\n }\r\n }\r\n }\r\n };\r\n\r\n handleInputChange = (e) => {\r\n let data = this.state.businessUserData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\nlet {errors} =this.state;\r\n\r\n if (\r\n name === \"first_name\" ||\r\n name === \"last_name\" ||\r\n name === \"address1\" ||\r\n name === \"address2\" ||\r\n name === \"city\" ||\r\n name === \"zip_code\" ||\r\n name === \"email\" ||\r\n name === \"licence_id\"||\r\n name === \"qualification\"||\r\n name ===\"valid_URL\"\r\n \r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name]=\"\";\r\n errors.address1=\"\";\r\n errors.city=\"\";\r\n errors.state=\"\";\r\n errors.country=\"\";\r\n errors.zip_code=\"\";\r\n \r\n }\r\n this.setState({ businessUserData: data,errors });\r\n };\r\n\r\n handleDOBChange = (date) => {\r\n let errors = this.state.errors;\r\n let businessUserData = this.state.businessUserData;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n businessUserData.date_of_birth = offsetDate;\r\n this.setState({ businessUserData: businessUserData });\r\n errors.date_of_birth=\"\";\r\n this.setState({ errors });\r\n };\r\n\r\n handlePhoneInputChange = (event) => {\r\n let errors = this.state.errors;\r\n let businessUserData = this.state.businessUserData;\r\n businessUserData.phone_number = event;\r\n this.setState({ businessUserData });\r\n errors.phone_number=\"\";\r\n this.setState({ errors });\r\n };\r\n\r\n /* for country detail change */\r\n selectCountry(val) {\r\n let errors = this.state.errors;\r\n let data = this.state.businessUserData;\r\n data.country = val;\r\n this.setState({ businessUserData: data });\r\n errors.country=\"\";\r\n this.setState({ errors });\r\n }\r\n\r\n /* for state detail change */\r\n selectState(val) {\r\n let errors = this.state.errors;\r\n let data = this.state.businessUserData;\r\n data.state = val;\r\n this.setState({ businessUserData: data });\r\n errors.state=\"\";\r\n this.setState({ errors });\r\n }\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.businessUserData;\r\n data[e.name] = selectedOptions;\r\n this.setState({ businessUserData: data });\r\n errors.language=\"\";\r\n this.setState({ errors });\r\n };\r\n handlebloodgroupselectChange = (selectedOptions, e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.businessUserData;\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ businessUserData: data });\r\n errors.blood_group=\"\";\r\n this.setState({ errors });\r\n };\r\n\r\n handlegenderselectChange = (selectedOptions, e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.businessUserData;\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ businessUserData: data });\r\n errors.gender=\"\";\r\n this.setState({ errors });\r\n };\r\n handlespecialityselectChange = (selectedOptions, e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.businessUserData;\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ businessUserData: data });\r\n errors.speciality=\"\";\r\n this.setState({ errors });\r\n };\r\n\r\n\r\n handleYearMonthChange = (name, selectedOptions) => {\r\n let errors = this.state.errors;\r\n let data = this.state.businessUserData;\r\n data[name] = selectedOptions;\r\n this.setState({ businessUserData: data });\r\n errors = {};\r\n this.setState({ errors });\r\n };\r\n\r\n handleExDateChange = (date) => {\r\n let errors = this.state.errors;\r\n let businessUserData = this.state.businessUserData;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n businessUserData.expiry_date = offsetDate;\r\n\r\n errors.expiry_date = \"\"\r\n this.setState({ businessUserData: businessUserData,errors });\r\n\r\n };\r\n\r\n handleSechduleType = (e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.businessUserData;\r\n data.schedule_type = [e.target.value];\r\n errors.schedule_type = \"\"\r\n this.setState({ businessUserData: data,errors });\r\n\r\n };\r\n handleWorkingDays = (e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.businessUserData;\r\n let working_all_days_data = data.working_all_days;\r\n\r\n if (\"allDaysId\" === e.target.id) {\r\n working_all_days_data = !working_all_days_data;\r\n\r\n data.working_all_days = working_all_days_data;\r\n\r\n data.working_all_days\r\n ? (data.working_days = working_days)\r\n : (data.working_days = []);\r\n } else {\r\n const newSelection = e.target.value;\r\n let newSelectionArray;\r\n\r\n if (data.working_days.indexOf(newSelection) > -1) {\r\n newSelectionArray = data.working_days.filter((s) => s !== newSelection);\r\n } else {\r\n newSelectionArray = [...data.working_days, newSelection];\r\n }\r\n\r\n data.working_days = newSelectionArray;\r\n let wd = [];\r\n data.working_days.forEach((element, index) => {\r\n if (working_days.indexOf(element) > -1) {\r\n wd.push(element);\r\n }\r\n });\r\n\r\n data.working_days = wd;\r\n }\r\n\r\n data.working_days.length === 7\r\n ? (data.working_all_days = true)\r\n : (data.working_all_days = false);\r\n if ( data.working_days.length > 0) errors.working_days = \"\";\r\n\r\n\r\n this.setState({ businessUserData: data,errors });\r\n\r\n };\r\n handleWorkhoursChange(field, value) {\r\n let errors = this.state.errors;\r\n let data = this.state.businessUserData;\r\n let working_hours_data = data.working_hours;\r\n if (\"24Hours\" === field) {\r\n working_hours_data.hours_24 = !working_hours_data.hours_24;\r\n working_hours_data.morning_shift_start = '00:00';errors.morning_shift_start=\"\";\r\n working_hours_data.morning_shift_end = '11:59';errors.morning_shift_end=\"\";\r\n working_hours_data.evening_shift_start = '12:00';errors.evening_shift_start=\"\";\r\n working_hours_data.evening_shift_end = '23:59';errors.evening_shift_end = \"\";\r\n \r\n \r\n } else {\r\n working_hours_data.hours_24 = false;\r\n working_hours_data[`${field}`] = value.target.value;\r\n errors[`${field}`] = \"\"\r\n }\r\n\r\n data.working_hours = working_hours_data;\r\n\r\n errors.working_hours = \"\";\r\n this.setState({ businessUserData: data,errors });\r\n }\r\n enableHours() {\r\n let field = this.state.businessUserData;\r\n this.setState({ businessUserData: !field.hoursdisabled });\r\n }\r\n\r\n handleEductionCompletionYearMonthChange(completion_year_month) {\r\n this.setState({ completion_year_month });\r\n }\r\n\r\n /* for education change */\r\n addEducationDetail(e) {\r\n e.preventDefault();\r\n let formData = this.state.educational_qualification_formData;\r\n formData.type = \"addEducationDetail\";\r\n let { educational_qualification_errors } = this.state;\r\n console.log(educational_qualification_errors)\r\n educational_qualification_errors = Validation(formData, educational_qualification_errors);\r\n this.setState({ educational_qualification_errors: educational_qualification_errors });\r\n\r\n if (educational_qualification_errors.formIsValid) {\r\n let data = this.state.businessUserData;\r\n\r\n let records = data.educational_qualification;\r\n\r\n let record = Object.assign({}, eq_record);\r\n\r\n record.id = records.length + 1;\r\n record.education = formData.education;\r\n record.education_id = formData.education;\r\n record.specialization_id = formData.specialization.value;\r\n record.specialization = formData.specialization.label;\r\n record.university = formData.university;\r\n record.completion_year_month =\r\n MONTH_PAIR.get(formData.completion_month) +\r\n \"-\" +\r\n formData.completion_year;\r\n\r\n records.push(record);\r\n this.setState({ records: records });\r\n\r\n let x = Object.assign({}, eq_record);\r\n\r\n this.setState({ educational_qualification_formData: x,educational_qualification_errors,is_addeducation:true });\r\n }\r\n }\r\n\r\n onDeleteClick(record, tableName) {\r\n this.setState({ addPopup: true, record: record, tableName: tableName });\r\n }\r\n\r\n deleteRecord(record, tableName) {\r\n if (\"education\" === tableName) {\r\n let records = this.state.businessUserData.educational_qualification;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ educational_qualification: records });\r\n } else if (\"certificate\" === tableName) {\r\n let records = this.state.businessUserData.certification;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ certifications: records });\r\n } else if (\"experience\" === tableName) {\r\n let records = this.state.businessUserData.experience;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ experiences: records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n }\r\n\r\n editRecord(record) {\r\n let dataObj = this.state.educational_qualification_formData;\r\n dataObj.id = record.id;\r\n dataObj.education = { value: record.education_id, label: record.education };\r\n dataObj.specialization = {\r\n value: record.specialization_id,\r\n label: record.specialization,\r\n };\r\n dataObj.university = record.university;\r\n\r\n var completionObj = record.completion_year_month.split(\"-\");\r\n\r\n dataObj.completion_month = this.getMonthValue(completionObj[0]);\r\n\r\n dataObj.completion_year = completionObj[1];\r\n\r\n this.setState({ educational_qualification_formData: dataObj });\r\n }\r\n\r\n getMonthValue(val) {\r\n return [...MONTH_PAIR.entries()]\r\n .filter(({ 1: v }) => v === val)\r\n .map(([k]) => k);\r\n }\r\n\r\n handleEducationDetailChange(field, value) {\r\n let fields = this.state.educational_qualification_formData;\r\nlet {educational_qualification_errors} =this.state;\r\n\r\n if (field === \"education\") {\r\n fields.education = value;\r\n //educational_qualification_errors.education = \"\"\r\n } else if (field === \"specialization\") {\r\n fields.specialization = value;\r\n // educational_qualification_errors.specialization = \"\"\r\n } else if (field === \"university\") {\r\n fields.university = value.target.value;\r\n //educational_qualification_errors.university = \"\"\r\n } else if (field === \"completion_year\") {\r\n fields.completion_year = value;\r\n //educational_qualification_errors.completion_year = \"\"\r\n } else if (field === \"completion_month\") {\r\n fields.completion_month = value;\r\n //educational_qualification_errors.completion_month = \"\"\r\n }\r\n this.setState({\r\n educational_qualification_formData: fields,\r\n educational_qualification_errors\r\n });\r\n }\r\n handleEducationInputChange = (e) => {\r\n let data = this.state.educational_qualification_formData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let {educational_qualification_errors} = this.state; \r\n\r\n if (\r\n name === \"university\" || name === \"education\" \r\n \r\n ) {\r\n this.validateMaxLengthforeducation(name, value, max);\r\n } else {\r\n data[name] = value;\r\n // educational_qualification_errors[name] = \"\"\r\n }\r\n \r\n \r\n this.setState({ educational_qualification_formData: data,educational_qualification_errors });\r\n };\r\n validateMaxLengthforeducation(name, value, max) {\r\n let data = this.state.educational_qualification_formData;\r\n let errors = this.state.educational_qualification_errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n // errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ educational_qualification_formData: data, educational_qualification_errors: errors });\r\n }\r\n\r\n\r\n handleCertificationChange(field, value) {\r\n let fields = this.state.certifications_formData;\r\nlet certificate_errors = this.state.certificate_errors;\r\n if (field === \"organization\") {\r\n fields.organization = value.target.value;\r\n certificate_errors.organization = \"\"\r\n } else if (field === \"specialization\") {\r\n fields.specialization = value.target.value;\r\n certificate_errors.specialization = \"\"\r\n } else if (field === \"valid_URL\") {\r\n fields.valid_URL = value.target.value;\r\n certificate_errors.valid_URL = \"\"\r\n } else if (field === \"certification_completion_month\") {\r\n fields.certification_completion_month = value;\r\n certificate_errors.certification_completion_month = \"\"\r\n } else if (field === \"certification_completion_year\") {\r\n fields.certification_completion_year = value;\r\n certificate_errors.certification_completion_year = \"\"\r\n } else if (field === \"valid_upto_month\") {\r\n fields.valid_upto_month = value;\r\n certificate_errors.valid_upto_month = \"\"\r\n } else if (field === \"valid_upto_year\") {\r\n fields.valid_upto_year = value;\r\n certificate_errors.valid_upto_year = \"\"\r\n }\r\n this.setState({\r\n certifications_formData: fields,\r\n certificate_errors\r\n });\r\n }\r\n handleCertificateInputChange = (e) => {\r\n let data = this.state.certifications_formData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\nlet certificate_errors = this.state.certificate_errors;\r\n if (\r\n name === \"specialization\" ||\r\n name === \"organization\" ||\r\n name === \"valid_URL\"\r\n \r\n ) {\r\n this.validateMaxLengthforcertificates(name, value, max);\r\n } else {\r\n certificate_errors[name] = \"\"\r\n data[name] = value;\r\n }\r\n \r\n \r\n this.setState({ certifications_formData: data,certificate_errors });\r\n };\r\n\r\n validateMaxLengthforcertificates(name, value, max) {\r\n let data = this.state.certifications_formData;\r\n let certificate_errors = this.state.certificate_errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n certificate_errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n certificate_errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ certifications_formData: data, certificate_errors: certificate_errors });\r\n }\r\n\r\n \r\n /* for certifications change */\r\n addCertificationDetail() {\r\n let formData = this.state.certifications_formData;\r\n formData.type = \"addCertificate\";\r\n let { certificate_errors } = this.state;\r\n certificate_errors = Validation(formData, certificate_errors);\r\n console.log(certificate_errors);\r\n this.setState({ certificate_errors: certificate_errors });\r\n\r\n if (certificate_errors.formIsValid) {\r\n let records = this.state.businessUserData.certification;\r\n\r\n let record = Object.assign({}, cert_record);\r\n\r\n record.id = records.length + 1;\r\n record.organization = formData.organization;\r\n record.specialization = formData.specialization;\r\n record.valid_URL = formData.valid_URL;\r\n record.completion_year_month =\r\n MONTH_PAIR.get(formData.certification_completion_month) +\r\n \"-\" +\r\n formData.certification_completion_year;\r\n record.valid_date =\r\n MONTH_PAIR.get(formData.valid_upto_month) +\r\n \"-\" +\r\n formData.valid_upto_year;\r\n\r\n records.push(record);\r\n this.setState({ certifications: records });\r\n\r\n let initalData = Object.assign({}, cert_record);\r\nconsole.log(initalData);\r\n this.setState({ certifications_formData: initalData,certificate_errors });\r\n } else\r\n {\r\n this.setState({certificate_errors})\r\n }\r\n }\r\n\r\n /* for education change */\r\n addExperienceDetail() {\r\n let formData = this.state.experiences_formData;\r\n formData.type = \"addExperience\";\r\n let { experiences_errors } = this.state;\r\n experiences_errors = Validation(formData, experiences_errors);\r\n console.log(experiences_errors)\r\n this.setState({ experiences_errors: experiences_errors });\r\n\r\n if (experiences_errors.formIsValid) {\r\n let records = this.state.businessUserData.experience;\r\n\r\n let record = Object.assign({}, experience_record);\r\n\r\n record.id = records.length + 1;\r\n record.hospital = formData.hospital;\r\n record.ex_address = formData.ex_address;\r\n record.ex_city = formData.ex_city;\r\n record.ex_state = formData.ex_state;\r\n record.ex_country = formData.ex_country;\r\n record.ex_zipcode = formData.ex_zipcode;\r\n record.experience_from = formData.experience_from;\r\n record.experience_to = formData.experience_to;\r\n\r\n records.push(record);\r\n this.setState({ experiences: records });\r\n\r\n let initalData = Object.assign({}, experience_record);\r\n\r\n this.setState({ experiences_formData: initalData,experiences_errors });\r\n } \r\n }\r\n\r\n handleExperienceChange(field, value) {\r\n let fields = this.state.experiences_formData;\r\nlet experiences_errors = this.state.experiences_errors;\r\n if (field === \"hospital\") {\r\n fields.hospital = value.target.value;\r\n experiences_errors.hospital = \"\"\r\n } else if (field === \"ex_address\") {\r\n fields.ex_address = value.target.value;\r\n experiences_errors.ex_address = \"\"\r\n } else if (field === \"ex_city\") {\r\n fields.ex_city = value.target.value;\r\n experiences_errors.ex_city = \"\"\r\n } else if (field === \"ex_state\") {\r\n fields.ex_state = value;\r\n experiences_errors.ex_state = \"\"\r\n } else if (field === \"ex_country\") {\r\n fields.ex_country = value;\r\n experiences_errors.ex_country = \"\"\r\n } else if (field === \"ex_zipcode\") {\r\n fields.ex_zipcode = value;\r\n experiences_errors.ex_zipcode = \"\"\r\n }\r\n else if (field === \"experience_from\") {\r\n fields.experience_from = value;\r\n experiences_errors.experience_from = \"\"\r\n } else if (field === \"experience_to\") {\r\n fields.experience_to = value;\r\n experiences_errors.experience_to = \"\"\r\n }\r\n\r\n this.setState({\r\n experiences_formData: fields,\r\n });\r\n }\r\n handleExperienceInputChange = (e) => {\r\n let data = this.state.experiences_formData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\nlet {experiences_errors} = this.state;\r\n if (\r\n name === \"ex_address\" ||\r\n name === \"ex_city\" ||\r\n name === \"hospital\"\r\n \r\n ) {\r\n this.validateMaxLengthforexperiences(name, value, max);\r\n } else {\r\n data[name] = value;\r\n experiences_errors[name]=\"\"\r\n }\r\n \r\n \r\n this.setState({ experiences_formData: data,experiences_errors });\r\n };\r\n validateMaxLengthforexperiences(name, value, max) {\r\n let data = this.state.experiences_formData;\r\n let experiences_errors = this.state.experiences_errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n experiences_errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n experiences_errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ experiences_formData: data, experiences_errors: experiences_errors });\r\n }\r\n\r\n imageUpload = (event) => {\r\n event.preventDefault();\r\n let file = event.target.files[0];\r\n let newfileName = event.target.files[0].name;\r\n\r\n // console.log(imageconfig);\r\n imageconfig.dirName = 'business_user/' + this.props.userdata.id\r\n console.log(imageconfig);\r\n\r\n const reacts3client = new S3(imageconfig);\r\n console.log(reacts3client)\r\n reacts3client.uploadFile(file, newfileName).then(data => {\r\n console.log(data)\r\n if (data.status === 204) {\r\n console.log('success');\r\n let resultdata = {\r\n 'avatar': data.location,\r\n 'user_id': this.props.userdata.id,\r\n 'user_type': \"business_user\"\r\n }\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n axios.post(updateavatar, resultdata, CONFIG).then((result) => {\r\n this.setState({ profile_img: URL.createObjectURL(file), addPopup: false });\r\n })\r\n } else {\r\n console.log('error');\r\n this.setState({ profile_img: URL.createObjectURL(file), addPopup: false });\r\n }\r\n });\r\n\r\n };\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () =>\r\n this.deleteRecord(this.state.record, this.state.tableName);\r\n\r\n const certification_options = [\r\n { value: \"eandv\", label: \"Eye and Vision\" },\r\n { value: \"echo\", label: \"Echo Workshop\" },\r\n { value: \"homeo\", label: \"Homeopathic\" },\r\n ];\r\n\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n let specialities = [];\r\n specialities_array.forEach((element, index) => {\r\n specialities.push({ value: element.id, label: element.name });\r\n });\r\n specialities_array = specialities;\r\n\r\n let specializations_array = this.props.appdata\r\n ? this.props.appdata[0].specializations\r\n : [];\r\n let specializations = [];\r\n specializations_array.forEach((element, index) => {\r\n specializations.push({ value: element.id, label: element.name });\r\n });\r\n specializations_array = specializations;\r\n\r\n const {\r\n businessUserData,\r\n errors,\r\n educational_qualification,\r\n educational_qualification_formData,\r\n educational_qualification_errors,\r\n certifications,\r\n certifications_formData,\r\n certificate_errors,\r\n experiences,\r\n experiences_formData,\r\n experiences_errors,\r\n trimmedDataURL,\r\n previewImage,\r\n currentFile,\r\n } = this.state;\r\n const phone_number = businessUserData.phone_number;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    BASIC DETAILS

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Degree (Ex: M.B.B.S., M.D., F.R.C.S.,)\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Speciality\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    OTHER DETAILS

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Working hours \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n \r\n \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n \r\n\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n Working days\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Educational Qualifications*\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {/* */}\r\n \r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    0)?\"visibleHidden\":\"\"}>\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.businessUserData.educational_qualification && this.state.businessUserData.educational_qualification.length ? (\r\n 0\r\n ? \"show-reactData-table\"\r\n : \"hide-reactData-table\"\r\n }\r\n >\r\n \r\n
    \r\n ):\"\"}\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Certifications/memerships\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n 0\r\n ? \"show-reactData-table\"\r\n : \"hide-reactData-table\"\r\n }\r\n >\r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    Experience
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \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.businessUserData.experience && this.state.businessUserData.experience.length ? (\r\n 0\r\n ? \"show-reactData-table\"\r\n : \"hide-reactData-table\"\r\n }\r\n >\r\n \r\n
    ):\"\"}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n Sign Up\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nexport default withRouter(connect(mapStateToProps)(BusinessUserSignup1));\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { Redirect} from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\n// import Heading4 from '../../components/UI/Heading4';\r\nimport InputField from \"../UI/InputField\";\r\nimport ToggleButton from \"../UI/ToggleButton\";\r\nimport MonthPick from \"../UI/MonthPick\";\r\nimport ErrorAlert from \"../UI/ErrorAlert\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport DatePicker from \"react-date-picker\";\r\n// import Button from '../UI/Button'\r\nimport axios from \"axios\";\r\nimport { updateClient, getClientById, updateavatar } from \"../../config/url.json\";\r\nimport { CountryDropdown, RegionDropdown } from \"react-country-region-selector\";\r\nimport Label from \"../UI/Label\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport PhoneInput, { isValidPhoneNumber, parsePhoneNumber } from \"react-phone-number-input\";\r\nimport CheckboxGroup from \"../../components/UI/CheckboxGroup\";\r\n// import TimePicker from 'react-bootstrap-time-picker';\r\nimport SpanField from \"../UI/SpanField\";\r\nimport Select from \"react-select\";\r\nimport ModernDatepicker from \"react-modern-datepicker\";\r\nimport Button from \"../UI/Button\";\r\nimport YearPick from \"../UI/YearPick\";\r\nimport * as moment from \"moment\";\r\nimport { SOCIAL_HISTORY } from \"../../constants/config/data\";\r\nimport S3 from \"react-aws-s3\";\r\nimport {\r\n nationalityArray,\r\n blood_group,\r\n gender,\r\n language,\r\n relationship,\r\n employee_status,\r\n marital_status,\r\n card_type,\r\n AUTH_CONFIG,\r\n CONFIG,\r\n imageconfig\r\n} from \"../../config/data\";\r\nimport { stringToLabelValue } from \"../../constants/globalLevelFunctions\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n access_token: state.AuthReducer.access_token,\r\n userdata: state.AuthReducer.user,\r\n };\r\n}\r\nconst google = window.google;\r\n\r\nlet nationality = [];\r\nnationalityArray.forEach((element) => {\r\n nationality.push({ value: element, label: element });\r\n});\r\nconst currentYear = new Date().getFullYear();\r\n\r\nclass ClientSignup1 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: \"\",\r\n image: \"\",\r\n clientData: {\r\n user_id: \"\",\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n blood_group: \"\",\r\n gender: \"\",\r\n marital_status: \"\",\r\n phone_code: \"\",\r\n nationality: \"\",\r\n language: \"\",\r\n email: \"\",\r\n password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n user_type: \"patient\",\r\n phone_number: \"\",\r\n emergency_contact: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n relationship: \"\",\r\n phone_number: \"\",\r\n },\r\n vehicle_details: {\r\n vehicle_make: \"\",\r\n vehicle_model: \"\",\r\n vehicle_registration: \"\",\r\n year_of_make: \"\",\r\n vin_number: \"\",\r\n },\r\n payment_details: {\r\n credit_card: \"\",\r\n card_name: \"\",\r\n expiry_month: \"\",\r\n expiry_year: \"\",\r\n cvv: \"\",\r\n payment_option: \"\",\r\n },\r\n employment_details: {\r\n employer_name: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n employee_status: \"\",\r\n },\r\n insurance_details: {\r\n insurance_provider: \"\",\r\n policy_id_number: \"\",\r\n health_insurance_confirmation: \"\",\r\n patient_policy_holder: \"\",\r\n },\r\n medical_history: [],\r\n family_medical_history: [],\r\n social_habits: [],\r\n },\r\n family_medical_history_SelectedOptions: [],\r\n selectedSocialHabits: [],\r\n newselectedSocialHabits: [],\r\n family_details: [\r\n {\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n relationship: \"\",\r\n blood_group: \"\",\r\n phone_number: \"\",\r\n },\r\n ],\r\n errors: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n blood_group: \"\",\r\n gender: \"\",\r\n marital_status: \"\",\r\n nationality: \"\",\r\n language: \"\",\r\n email: \"\",\r\n password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n emergency_contact: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n relationship: \"\",\r\n phone_number: \"\",\r\n },\r\n employment_details: {\r\n employer_name: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n employee_status: \"\",\r\n },\r\n },\r\n family_details_errors: [\r\n {\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n relationship: \"\",\r\n blood_group: \"\",\r\n phone_number: \"\",\r\n },\r\n ],\r\n insurance_details_errors: [\r\n {\r\n insurance_provider: \"\",\r\n policy_id_number: \"\",\r\n\r\n }\r\n\r\n ],\r\n };\r\n // this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n this.autocomplete = null;\r\n this.empautocomplete = null;\r\n this.handleWorkhoursChange = this.handleWorkhoursChange.bind(this);\r\n this.handleInput = this.handleInput.bind(this);\r\n this.handleEmployeePlaceSelect = this.handleEmployeePlaceSelect.bind(this);\r\n\r\n }\r\n\r\n handleEmployeePlaceSelect() {\r\n let newplace = this.empautocomplete.getPlace();\r\n\r\n let { clientData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n\r\n for (var i = 0; i < newplace.address_components.length; i++) {\r\n var addressType = newplace.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = newplace.address_components[i][componentForm[addressType]];\r\n\r\n if (addressType === \"administrative_area_level_1\")\r\n clientData.employment_details.state = val;\r\n if (addressType === \"locality\")\r\n clientData.employment_details.city = val;\r\n if (addressType === \"country\")\r\n clientData.employment_details.country = val;\r\n\r\n clientData.employment_details.address = newplace.name;\r\n // if (addressType === \"sublocality_level_1\")\r\n // clientData.employment_details.address2 = val;\r\n if (addressType === \"postal_code\")\r\n clientData.employment_details.zip_code = val;\r\n }\r\n }\r\n\r\n this.setState({\r\n clientData,\r\n });\r\n }\r\n handlePlaceSelect() {\r\n\r\n let place = this.autocomplete.getPlace();\r\n console.log(place);\r\n let { clientData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n\r\n if (addressType === \"administrative_area_level_1\")\r\n clientData.state = val;\r\n if (addressType === \"locality\")\r\n clientData.city = val;\r\n if (addressType === \"country\") clientData.country = val;\r\n\r\n clientData.address1 = place.name;\r\n if (addressType === \"sublocality_level_1\") clientData.address2 = val;\r\n if (addressType === \"postal_code\") clientData.zip_code = val;\r\n }\r\n }\r\n\r\n this.setState({\r\n clientData,\r\n });\r\n }\r\n\r\n /* for education change */\r\n addFamilyDetail() {\r\n this.setState((prevState) => ({\r\n family_details: [\r\n ...prevState.family_details,\r\n {\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n relationship: \"\",\r\n blood_group: \"\",\r\n phone_number: \"\",\r\n },\r\n ],\r\n }));\r\n }\r\n\r\n removeFamilyDetail(i) {\r\n let family_details = [...this.state.family_details];\r\n family_details.splice(i, 1);\r\n this.setState({ family_details });\r\n }\r\n handleEmploymentDetails(field, value) {\r\n let data = this.state.clientData;\r\n let errors=this.state.errors;\r\n if (\r\n field === \"country\" ||\r\n field === \"state\" ||\r\n field === \"employee_status\" \r\n \r\n ){\r\n data.employment_details[field] = value;\r\n }\r\n else if (field === \"phone_number\") {\r\n \r\n if ((value !== \"\" && value !== undefined) &&\r\n !isValidPhoneNumber(data.employment_details[field]) && value.length > 13) {\r\n \r\n errors.employment_details[field] = \"Please enter valid employee Phone number.\";\r\n \r\n \r\n } else {\r\n \r\n \r\n data.employment_details[field] = value;\r\n errors.employment_details[field] = \"\";\r\n }\r\n }\r\n this.setState({ clientData: data });\r\n }\r\n handleEmploymentDetailsInput = (e) => {\r\n\r\n let data = this.state.clientData.employment_details;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n\r\n if (\r\n name === \"employer_name\" ||\r\n name === \"address\" ||\r\n name === \"city\" ||\r\n name === \"zip_code\"\r\n ) {\r\n this.validateMaxLengthemploymentdetails(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ employment_details: data });\r\n\r\n\r\n };\r\n validateMaxLengthemploymentdetails(name, value, max) {\r\n let data = this.state.clientData.employment_details;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ employment_details: data, errors: errors });\r\n }\r\n handleParentMedicalHistory = (e) => {\r\n let data = this.state.family_medical_history_SelectedOptions;\r\n let newSelection = e.target.value;\r\n\r\n if (data.includes(newSelection)) {\r\n data.splice(data.indexOf(newSelection), 1);\r\n } else {\r\n data.push(newSelection);\r\n }\r\n\r\n this.setState({ family_medical_history_SelectedOptions: data });\r\n };\r\n\r\n handleSocialHabitSelection = (e) => {\r\n let data = this.state.selectedSocialHabits;\r\n let newSelection = e.target.value;\r\n let isExist = false;\r\n\r\n if (data != null) {\r\n // prepopulate existing values\r\n if (data.includes(newSelection)) {\r\n data.splice(data.indexOf(newSelection), 1);\r\n } else {\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].includes(newSelection.split(\"|\").shift())) {\r\n data[i] = newSelection;\r\n isExist = true;\r\n break;\r\n }\r\n }\r\n if (!isExist) data.push(newSelection);\r\n }\r\n this.setState({ selectedSocialHabits: data });\r\n } else {\r\n //new signup\r\n let newSocialHabits = this.state.newselectedSocialHabits;\r\n newSelection.split(\"|\").shift();\r\n newSocialHabits.push(newSelection);\r\n this.setState({ newselectedSocialHabits: newSocialHabits });\r\n this.setState({ selectedSocialHabits: newSocialHabits });\r\n }\r\n };\r\n\r\n handleFamilyMedicalHistory = (e) => {\r\n let errors = this.state.errors;\r\n const newSelection = e.target.value;\r\n let newSelectionArray;\r\n let data = this.state.clientData;\r\n if (data.family_medical_history.indexOf(newSelection) > -1) {\r\n newSelectionArray = data.family_medical_history.filter(\r\n (s) => s !== newSelection\r\n );\r\n } else {\r\n newSelectionArray = [...data.family_medical_history, newSelection];\r\n }\r\n\r\n data.family_medical_history = newSelectionArray;\r\n this.setState({ clientData: data, errors });\r\n };\r\n handleMedicalHistory = (e) => {\r\n let errors = this.state.errors;\r\n const newSelection = e.target.value;\r\n let newSelectionArray;\r\n let data = this.state.clientData;\r\n if (data.medical_history.indexOf(newSelection) > -1) {\r\n newSelectionArray = data.medical_history.filter(\r\n (s) => s !== newSelection\r\n );\r\n } else {\r\n newSelectionArray = [...data.medical_history, newSelection];\r\n }\r\n\r\n data.medical_history = newSelectionArray;\r\n this.setState({ clientData: data, errors });\r\n };\r\n\r\n handleInsuranceDetails(field, value) {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData;\r\n if(field===\"insurance_provider\"||field===\"policy_id_number\")\r\n {\r\n\r\n if(!data.insurance_details[field].match(/^[A-Za-z0-9]+$/)){\r\n errors.insurance_details[field]=\"Enter a valid insurance detail.\";\r\n }else\r\n {\r\n data.insurance_details[field]=value;\r\n errors.insurance_details[field]=\"\";\r\n \r\n } \r\n \r\n }\r\n if (\r\n field === \"health_insurance_confirmation\" ||\r\n field === \"patient_policy_holder\"\r\n ) {\r\n data.insurance_details[field] =\r\n value.target.checked === true ? \"Yes\" : \"No\";\r\n } else {\r\n data.insurance_details[field] = value.target.value;\r\n }\r\n\r\n this.setState({ clientData: data, errors });\r\n }\r\n handleInsuranceDetailsInput = (e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData.insurance_details;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n\r\n if (\r\n name === \"insurance_provider\" ||\r\n name === \"policy_id_number\"\r\n ) {\r\n this.validateMaxLengthinsurancedetails(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ insurance_details: data, errors });\r\n\r\n\r\n };\r\n validateMaxLengthinsurancedetails(name, value, max) {\r\n let data = this.state.clientData.insurance_details;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ insurance_details: data, errors });\r\n }\r\n\r\n handelVehicleDetails(field, value) {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData;\r\n data.vehicle_details[field] = value.target.value;\r\n this.setState({ clientData: data, errors });\r\n }\r\n handelPaymentDetails(field, value) {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData;\r\n if (\r\n field === \"card_type\" ||\r\n field === \"expiry_month\" ||\r\n field === \"expiry_year\"\r\n ) {\r\n data.payment_details[field] = value;\r\n } else {\r\n data.payment_details[field] = value.target.value;\r\n }\r\n this.setState({ clientData: data, errors });\r\n }\r\n handelEmergencyContact(field, value) {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData;\r\n if (field === \"relationship\")\r\n {\r\n data.emergency_contact[field] = value;\r\n }\r\n else if (field === \"phone_number\")\r\n {\r\n // console.log(value);\r\n\r\n if ((value !== \"\" && value !== undefined) &&\r\n !isValidPhoneNumber(data.emergency_contact[field]) && value.length > 13) {\r\n // console.log(value);\r\n errors.emergency_contact[field] = \"Please enter a valid Phone number.\";\r\n //const value1 = value.slice(0, 13);\r\n\r\n //data.emergency_contact[field] = value1;\r\n\r\n } else {\r\n\r\n data.emergency_contact[field] = value;\r\n errors.emergency_contact[field] = \"\";\r\n \r\n }\r\n\r\n }\r\n this.setState({ clientData: data, errors });\r\n }\r\n handleEmergencyContactInput = (e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData.emergency_contact;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n\r\n if (\r\n name === \"first_name\" ||\r\n name === \"last_name\"\r\n ) {\r\n this.validateMaxLengthemergencycontact(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ emergency_contact: data, errors });\r\n\r\n\r\n };\r\n validateMaxLengthemergencycontact(name, value, max) {\r\n let data = this.state.clientData.emergency_contact;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ emergency_contact: data, errors });\r\n }\r\n\r\n\r\n handleFamilyDetailChange(i, value, field) {\r\n let fields = this.state.family_details;\r\n // let errors = this.state.educationerror;\r\n\r\n if (value === \"first_name\") {\r\n fields[i].first_name = field.target.value;\r\n // errors[i].year_month_of_completion = '';\r\n } else if (value === \"last_name\") {\r\n fields[i].last_name = field.target.value;\r\n // errors[i].register_id = '';\r\n } else if (value === \"date_of_birth\") {\r\n fields[i].date_of_birth = field;\r\n // errors[i].education = '';\r\n } else if (value === \"gender\") {\r\n fields[i].gender = field;\r\n // errors[i].specialization = '';\r\n } else if (value === \"relationship\") {\r\n fields[i].relationship = field;\r\n // errors[i].university = '';\r\n } else if (value === \"blood_group\") {\r\n fields[i].blood_group = field;\r\n } else if (value === \"phone_number\") {\r\n fields[i].phone_number = field;\r\n }\r\n\r\n this.setState({\r\n family_details: fields,\r\n });\r\n }\r\n\r\n handleFamilyDetailChangeInput = (e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.family_details;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n\r\n if (\r\n name === \"first_name\" ||\r\n name === \"last_name\"\r\n ) {\r\n this.validateMaxLengthfamilydetails(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ family_details: data, errors });\r\n\r\n\r\n };\r\n validateMaxLengthfamilydetails(name, value, max) {\r\n let data = this.state.family_details;\r\n let errors = this.state.family_details_errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ family_details: data, errors });\r\n }\r\n handleDOBChange = (date) => {\r\n console.log(date);\r\n\r\n if (date !== \"\") {\r\n let errors = this.state.errors;\r\n let clientData = this.state.clientData;\r\n clientData.date_of_birth = date;\r\n\r\n this.setState({ clientData: clientData });\r\n errors.date_of_birth = \"\";\r\n this.setState({ errors });\r\n }\r\n\r\n };\r\n componentDidMount() {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address1\"),\r\n {}\r\n );\r\n\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n this.empautocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n\r\n this.empautocomplete.addListener(\"place_changed\", this.handleEmployeePlaceSelect);\r\n\r\n window.setTimeout(() => {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getClientById, { client_id: this.props.userdata.id }, AUTH_CONFIG)\r\n .then((response) => {\r\n if (response.data.status === \"1\") {\r\n let data = response.data.data;\r\n console.log(data.date_of_birth);\r\n\r\n let family_details = response.data.data.family_details;\r\n if (family_details == null) {\r\n family_details = [\r\n {\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n relationship: \"\",\r\n blood_group: \"\",\r\n phone_number: \"\",\r\n },\r\n ];\r\n } else {\r\n if (family_details.length)\r\n family_details[0].date_of_birth = moment(\r\n family_details[0].date_of_birth,\r\n moment.defaultFormat\r\n ).toDate();\r\n }\r\n\r\n this.setState({ family_details: family_details });\r\n console.log(data.payment_details)\r\n if (\r\n \"null\" === data.payment_details ||\r\n null == data.payment_details\r\n ) {\r\n data.payment_details = {\r\n credit_card: \"\",\r\n card_name: \"\",\r\n expiry_month: \"\",\r\n expiry_year: \"\",\r\n cvv: \"\",\r\n payment_option: \"\",\r\n };\r\n } else {\r\n // data.payment_details = data.payment_details;\r\n }\r\n if (\r\n \"null\" === data.vehicle_details ||\r\n null == data.vehicle_details\r\n ) {\r\n data.vehicle_details = {\r\n vehicle_make: \"\",\r\n vehicle_model: \"\",\r\n vehicle_registration: \"\",\r\n year_of_make: \"\",\r\n vin_number: \"\",\r\n };\r\n } else {\r\n data.vehicle_details = JSON.parse(data.vehicle_details);\r\n }\r\n if (data.emergency_contact == null) {\r\n data.emergency_contact = {\r\n first_name: \"\",\r\n last_name: \"\",\r\n relationship: \"\",\r\n phone_number: \"\",\r\n };\r\n }\r\n if (data.employment_details == null) {\r\n data.employment_details = {\r\n employer_name: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n employee_status: \"\",\r\n };\r\n }\r\n if (data.insurance_details === null || data.insurance_details === \"\") {\r\n data.insurance_details = {\r\n insurance_provider: \"\",\r\n policy_id_number: \"\",\r\n health_insurance_confirmation: \"\",\r\n patient_policy_holder: \"\",\r\n };\r\n }\r\n console.log(data.date_of_birth);\r\n\r\n const yourDate = data.date_of_birth;\r\n\r\n data.date_of_birth = data.date_of_birth ? moment(yourDate, moment.defaultFormat).toDate() : \"\";\r\n //moment(yourDate).format('DD-MM-YYYY').toDate();\r\n //\r\n this.handleDOBChange(data.date_of_birth);\r\n\r\n if (data.family_medical_history == null) {\r\n data.family_medical_history = [];\r\n } else {\r\n this.setState({\r\n family_medical_history_SelectedOptions: this.getInitalLoadFamilyMedicalHistory(\r\n data\r\n ),\r\n });\r\n }\r\n\r\n if (\"null\" === data.social_habits) {\r\n this.setState({ selectedSocialHabits: [] });\r\n } else {\r\n this.setState({\r\n selectedSocialHabits: data.social_habits,\r\n });\r\n }\r\n\r\n if (data.medical_history == null) {\r\n data.medical_history = [];\r\n }\r\n\r\n let convertedblood = [];\r\n if (data.blood_group != null) {\r\n convertedblood = {\r\n label: data.blood_group,\r\n value: data.blood_group,\r\n };\r\n }\r\n\r\n let convertedgender = [];\r\n if (data.gender != null) {\r\n convertedgender = {\r\n label: data.gender,\r\n value: data.gender,\r\n };\r\n }\r\n let convertedmarital_status = [];\r\n if (data.marital_status != null) {\r\n convertedmarital_status =\r\n {\r\n label: data.marital_status,\r\n value: data.marital_status,\r\n };\r\n\r\n }\r\n\r\n data.language = stringToLabelValue(data.language);\r\n\r\n console.log(data);\r\n data.phone_number = data.phone_number ? data.phone_code.concat(data.phone_number) : \"\";\r\n\r\n\r\n\r\n console.log(data);\r\n let convertednationality = [];\r\n if (data.nationality != null) {\r\n convertednationality = {\r\n label: data.nationality,\r\n value: data.nationality,\r\n };\r\n }\r\n data.nationality = convertednationality;\r\n data.gender = convertedgender;\r\n data.blood_group = convertedblood;\r\n data.marital_status = convertedmarital_status;\r\n // data.first_name = response.data.data;\r\n console.log(data);\r\n\r\n this.setState({\r\n clientData: data,\r\n // family_details: JSON.parse(response.data.data.family_details),\r\n });\r\n } else {\r\n this.setState({ error: response.data.message });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e)\r\n console.log(\"business user getbyid failed\");\r\n });\r\n }, 1000);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.clientData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ clientData: data, errors: errors });\r\n }\r\n handleInput = (e) => {\r\n\r\n let data = this.state.clientData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let { errors } = this.state;\r\n\r\n if (\r\n name === \"first_name\" ||\r\n name === \"last_name\" ||\r\n name === \"email\" ||\r\n name === \"city\" ||\r\n name === \"zip_code\" ||\r\n name === \"phone_number\" ||\r\n name === \"address1\" ||\r\n name === \"address2\"\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ clientData: data });\r\n errors[name] = \"\";\r\n errors.address1 = \"\";\r\n errors.city = \"\";\r\n errors.state = \"\";\r\n errors.country = \"\";\r\n errors.zip_code = \"\";\r\n this.setState({ errors });\r\n };\r\n /* for country detail change */\r\n selectCountry(val) {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData;\r\n data.country = val;\r\n this.setState({ clientData: data });\r\n errors.country = \"\";\r\n this.setState({ errors });\r\n }\r\n /* for state detail change */\r\n\r\n selectState(val) {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData;\r\n data.state = val;\r\n this.setState({ clientData: data });\r\n errors.state = \"\";\r\n this.setState({ errors });\r\n }\r\n handlePhoneInput = (event) => {\r\n let errors = this.state.errors;\r\n let clientData = this.state.clientData;\r\n clientData.phone_number = event;\r\n this.setState({ clientData });\r\n errors.phone_number = \"\";\r\n this.setState({ errors });\r\n };\r\n handleSechduleType = (e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData;\r\n data.schedule_type = [e.target.value];\r\n this.setState({ clientData: data });\r\n errors.schedule_type = \"\";\r\n this.setState({ errors });\r\n };\r\n handleWorkingDays = (e) => {\r\n let errors = this.state.errors;\r\n const newSelection = e.target.value;\r\n let newSelectionArray;\r\n let data = this.state.clientData;\r\n if (data.working_days.indexOf(newSelection) > -1) {\r\n newSelectionArray = data.working_days.filter((s) => s !== newSelection);\r\n } else {\r\n newSelectionArray = [...data.working_days, newSelection];\r\n }\r\n\r\n data.working_days = newSelectionArray;\r\n if (data.working_days.length > 0) errors.working_days = \"\";\r\n\r\n this.setState({ clientData: data });\r\n\r\n this.setState({ errors });\r\n };\r\n /* for work detail change */\r\n handleWorkhoursChange(value, field) {\r\n let errors = this.state.errors;\r\n let fields = this.state.clientData;\r\n\r\n if (value === \"morning_opens_at\") {\r\n fields.working_hours.morning_opens_at = field;\r\n } else if (value === \"morning_close_at\") {\r\n fields.working_hours.morning_close_at = field;\r\n } else if (value === \"evening_opens_at\") {\r\n fields.working_hours.evening_opens_at = field;\r\n } else if (value === \"evening_close_at\") {\r\n fields.working_hours.evening_close_at = field;\r\n }\r\n\r\n this.setState({ clientData: fields });\r\n errors.working_hours = \"\";\r\n this.setState({ errors });\r\n }\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData;\r\n data[e.name] = selectedOptions;\r\n this.setState({ clientData: data });\r\n errors.language = \"\";\r\n this.setState({ errors: errors });\r\n };\r\n\r\n handlebloodgroupselectChange = (selectedOptions, e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData;\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ clientData: data });\r\n errors.blood_group = \"\";\r\n this.setState({ errors });\r\n };\r\n\r\n handlegenderselectChange = (selectedOptions, e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData;\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ clientData: data });\r\n errors.gender = \"\";\r\n this.setState({ errors });\r\n };\r\n handlenationalityselectChange = (selectedOptions, e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData;\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ clientData: data });\r\n errors.nationality = \"\";\r\n this.setState({ errors });\r\n };\r\n\r\n\r\n handlemaritalstatusselectChange = (selectedOptions, e) => {\r\n let errors = this.state.errors;\r\n let data = this.state.clientData;\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ clientData: data });\r\n errors.marital_status = \"\";\r\n this.setState({ errors });\r\n };\r\n\r\n /* remove unwanted pipe sign and F-Father & M-mother wordings */\r\n getFamilyMedicalHistoryDetails = () => {\r\n let selectedFamilyDiseases = this.state\r\n .family_medical_history_SelectedOptions;\r\n\r\n let fatherDiseases = [];\r\n let motherDiseases = [];\r\n\r\n selectedFamilyDiseases.forEach((element) => {\r\n if (element.includes(\"F\")) {\r\n fatherDiseases.push(parseInt(element.replace(\"|F\", \"\")));\r\n } else if (element.includes(\"M\")) {\r\n motherDiseases.push(parseInt(element.replace(\"|M\", \"\")));\r\n }\r\n });\r\n\r\n let familyHistoryDiseases = [\r\n { relationship: \"Father\", disease: fatherDiseases },\r\n { relationship: \"Mother\", disease: motherDiseases },\r\n ];\r\n\r\n return familyHistoryDiseases;\r\n };\r\n\r\n getInitalLoadFamilyMedicalHistory = (data) => {\r\n let FamilyhistoryData = [];\r\n if (data.family_medical_history !== \"\" &&\r\n data.family_medical_history != null && !data.family_medical_history.length) {\r\n data.family_medical_history.map((element) => {\r\n if (\"Father\" === element.relationship) {\r\n element.disease.forEach((element) => {\r\n FamilyhistoryData.push(element + \"|F\");\r\n });\r\n } else if (\"Mother\" === element.relationship) {\r\n element.disease.forEach((element) => {\r\n FamilyhistoryData.push(element + \"|M\");\r\n });\r\n }\r\n });\r\n }\r\n return FamilyhistoryData;\r\n };\r\n\r\n handleFormSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n let { clientData, errors, family_details } = this.state;\r\n clientData.family_details = family_details;\r\n clientData.user_type = \"patient\";\r\n\r\n errors = Validation(clientData, errors);\r\n console.log(errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n // LoginApi(ClientData);\r\n let data = {};\r\n data.blood_group = clientData.blood_group.label;\r\n data.gender = clientData.gender.label;\r\n data.marital_status = clientData.marital_status.label;\r\n\r\n let lang = [];\r\n\r\n if (clientData.language) {\r\n clientData.language.forEach((element) => lang.push(element.value));\r\n }\r\n data.language = lang.toString();\r\n\r\n data.nationality = clientData.nationality.label;\r\n data.first_name = clientData.first_name;\r\n data.last_name = clientData.last_name;\r\n data.address1 = clientData.address1;\r\n data.address2 = clientData.address2;\r\n data.city = clientData.city;\r\n data.country = clientData.country;\r\n data.state = clientData.state;\r\n data.zip_code = clientData.zip_code;\r\n const offsetDate = new Date(clientData.date_of_birth.getTime() - (clientData.date_of_birth.getTimezoneOffset() * 60000));\r\n clientData.date_of_birth = offsetDate;\r\n \r\n data.date_of_birth = offsetDate;\r\n // moment(clientData.date_of_birth).format('DD-MM-YYYY').toString()\r\n data.phone_number = clientData.phone_number;\r\n data.email = clientData.email;\r\n data.user_id = clientData.user_id;\r\n data.emergency_contact = clientData.emergency_contact;\r\n\r\n data.vehicle_details = clientData.vehicle_details;\r\n data.employment_details = clientData.employment_details;\r\n data.insurance_details = clientData.insurance_details;\r\n data.medical_history = clientData.medical_history;\r\n\r\n //get parent object for family medical history\r\n data.family_medical_history = this.getFamilyMedicalHistoryDetails();\r\n data.social_habits = this.state.selectedSocialHabits;\r\n data.payment_details = clientData.payment_details;\r\n data.family_details = clientData.family_details;\r\n // data.phone_number = data.phone_number.replace(data.phone_code, '');\r\n data.phone_code = \"+\" + parsePhoneNumber(clientData.phone_number).countryCallingCode;\r\n data.phone_number = parsePhoneNumber(clientData.phone_number).nationalNumber;\r\n\r\n\r\n try {\r\n const result = axios.put(updateClient, data, AUTH_CONFIG);\r\n const p = Promise.resolve(result);\r\n p.then((value) => {\r\n if (value.data.status === \"1\") {\r\n toast.success(\"SUCCESS!! Your Registration is Complete. \", {\r\n className: \"toast-success\",\r\n state: { showToast: true }\r\n });\r\n // this.fileUpload(this.state.file).then((response)=>{\r\n // console.log(response.data);\r\n\r\n window.location.replace(\"/dashboard\");\r\n\r\n // })\r\n // this.props.history.push(\"/dashboard\");\r\n }\r\n if (value.data.status === \"0\") {\r\n data.phone_number = data.phone_code.concat(data.phone_number);\r\n\r\n this.setState({ error: value.data.message,clientData:data });\r\n }\r\n });\r\n // dispatch(\r\n // addUserDeails(result.data)\r\n // )\r\n } catch (e) {\r\n // dispatch(\r\n // addError(e.message)\r\n // )\r\n }\r\n } else {\r\n }\r\n };\r\n onUploadChange = (event) => {\r\n // this.setState({file:e.target.files[0]});\r\n let file = event.target.files[0];\r\n let newfileName = event.target.files[0].name;\r\n\r\n // console.log(imageconfig);\r\n imageconfig.dirName = 'client/' + this.props.userdata.id\r\n console.log(imageconfig);\r\n\r\n const reacts3client = new S3(imageconfig);\r\n console.log(reacts3client)\r\n reacts3client.uploadFile(file, newfileName).then(data => {\r\n console.log(data)\r\n if (data.status === 204) {\r\n console.log('success');\r\n let resultdata = {\r\n 'avatar': data.location,\r\n 'user_id': this.props.userdata.id,\r\n 'user_type': \"client\"\r\n }\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n axios.post(updateavatar, resultdata, CONFIG).then(() => {\r\n this.setState({ profile_img: URL.createObjectURL(file), addPopup: false });\r\n })\r\n } else {\r\n console.log('error');\r\n this.setState({ profile_img: URL.createObjectURL(file), addPopup: false });\r\n }\r\n });\r\n }\r\n // fileUpload(file){\r\n // console.log(file);\r\n // if(file){\r\n // const data = new FormData();\r\n // // data.append(\"title\", title);\r\n // data.append(\"file\", file);\r\n // // data.append(\"desc\", desc);\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // axios.post(uploadImage+'?user_id='+this.props.userdata.id,data, CONFIG).then((result)=>{\r\n // console.log(result)\r\n // }) \r\n // }\r\n\r\n // }\r\n\r\n\r\n\r\n render() {\r\n const {\r\n clientData,\r\n errors,\r\n family_details,\r\n family_details_errors,\r\n insurance_details_errors,\r\n error,\r\n family_medical_history_SelectedOptions,\r\n selectedSocialHabits,\r\n } = this.state;\r\n\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n let disease_array = this.props.appdata\r\n ? this.props.appdata[0].diseases\r\n : [];\r\n let disease = [];\r\n disease_array.forEach((element) => {\r\n disease.push(element.disease_name);\r\n });\r\n disease_array = disease;\r\n let parent_disease_array = this.props.appdata\r\n ? this.props.appdata[0].diseases\r\n : [];\r\n\r\n let specialities = [];\r\n specialities_array.forEach((element) => {\r\n specialities.push({ value: element.id, label: element.name });\r\n });\r\n specialities_array = specialities;\r\n\r\n let facilities_array = this.props.appdata\r\n ? this.props.appdata[0].facilities\r\n : [];\r\n let facilities = [];\r\n facilities_array.forEach((element) => {\r\n facilities.push({ value: element.id, label: element.facility_name });\r\n });\r\n facilities_array = facilities;\r\n return (\r\n
    \r\n {error ? : null}\r\n\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n

    PERSONAL DETAILS

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n \r\n \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {family_details.map((family_details, i) => (\r\n \r\n
    \r\n {i === 0 ? (\r\n
    \r\n Family details\r\n \r\n \r\n \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n {i !== 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\r\n \r\n this.handleFamilyDetailChange(\r\n i,\r\n \"date_of_birth\",\r\n date\r\n )\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n Emergency contact\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    Vehicle Details
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    EMPLOYMENT DETAILS

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Insurance details\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\n {/* */}\r\n \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Medical History
    \r\n
    \r\n
    \r\n
    \r\n {disease_array.map((option) => {\r\n return (\r\n \r\n
    \r\n
    \r\n -1\r\n }\r\n />\r\n \r\n {option}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Family medical history
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n Father\r\n
    \r\n
    \r\n Mother\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n Father\r\n
    \r\n
    \r\n Mother\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n Father\r\n
    \r\n
    \r\n Mother\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n Father\r\n
    \r\n
    \r\n Mother\r\n
    \r\n
    \r\n
    \r\n
    \r\n {parent_disease_array.map((option, i) => {\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
    Social history
    \r\n
    \r\n
    \r\n
    \r\n {SOCIAL_HISTORY.map((option, i) => {\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
    Payment details
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* */}\r\n \r\n {/* */}\r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps)(ClientSignup1));\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport Heading4 from \"../../components/UI/Heading4\";\r\nimport InputField from \"../UI/InputField\";\r\nimport TextArea from \"../UI/TextArea\";\r\nimport CheckboxOrRadioGroup from \"../UI/CheckboxOrRadioGroup\";\r\n// import Button from '../UI/Button'\r\nimport axios from \"axios\";\r\nimport { updateProfilePharmacy, updateavatar } from \"../../config/url.json\";\r\nimport { CountryDropdown, RegionDropdown } from \"react-country-region-selector\";\r\nimport Label from \"../UI/Label\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport PhoneInput, { isValidPhoneNumber, parsePhoneNumber } from \"react-phone-number-input\";\r\nimport SpanField from \"../UI/SpanField\";\r\nimport Select from \"react-select\";\r\nimport { AUTH_CONFIG, CONFIG, imageconfig } from \"../../config/data\";\r\nimport { getPharmacyByUserId } from \"../../config/url.json\";\r\nimport ErrorAlert from \"../UI/ErrorAlert\";\r\nimport S3 from \"react-aws-s3\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport * as moment from \"moment\";\r\n// const token = localStorage.getItem(\"token\");\r\nfunction mapStateToProps(state) {\r\n console.log(state.appdata);\r\n\r\n return {\r\n appdata: state.AppData,\r\n };\r\n}\r\nconst google = window.google;\r\nconst scheduleType = [{ label: \"Token\", value: \"Queue\" }, { label: \"Appointment\", value: \"Appointment\" }];\r\nconst working_days = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\r\n\r\nclass PharmacySignup1 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedSchedule: [],\r\n file: \"\",\r\n imagePreviewUrl: \"\",\r\n pharmacyData: {\r\n user_id: \"\",\r\n pharmacy_name: \"\",\r\n email: \"\",\r\n // password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n user_type: \"pharmacy\",\r\n phone_number: \"\",\r\n phone_code: \"\",\r\n fax_number: \"\",\r\n website: \"\",\r\n year_of_build: \"\",\r\n capacity: \"\",\r\n schedule_type: \"\",\r\n selected_category: \"\",\r\n payment_type: \"\",\r\n working_hours: {\r\n morning_opens_at: '',\r\n morning_close_at: '',\r\n evening_opens_at: '',\r\n evening_close_at: '',\r\n hours_24: false,\r\n },\r\n\r\n working_days: [],\r\n working_all_days: false,\r\n // speciality: [],\r\n facility: [],\r\n pharmacist_name: \"\",\r\n pharmacist_license: \"\",\r\n // pharmacist_license_expirydate:\"\",\r\n selected_firm: \"\",\r\n pharmacist_owner: \"\",\r\n shopact_license: \"\",\r\n // shopact_license_expirydate:\"\",\r\n cin: \"\",\r\n gstreg_type:\"\",\r\n pan: \"\",\r\n gst_no: \"\",\r\n gst_country: \"\",\r\n gst_state: \"\",\r\n food_licence: \"\",\r\n food_expirydate: \"\",\r\n drug_licence1: \"\",\r\n licence1_expirydate: \"\",\r\n drug_licence2: \"\",\r\n licence2_expirydate: \"\",\r\n drug_licence3: '',\r\n licence3_expirydate: \"\",\r\n profile_summary: \"\",\r\n google_loc_id: \"\",\r\n },\r\n errors: {\r\n pharmacy_name: \"\",\r\n email: \"\",\r\n // password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n fax_number: \"\",\r\n website: \"\",\r\n year_of_build: \"\",\r\n capacity: \"\",\r\n schedule_type: \"\",\r\n working_hours_morning: \"\",\r\n working_hours_evening: \"\",\r\n working_days: \"\",\r\n // speciality: \"\",\r\n facility: \"\",\r\n profile_summary: \"\",\r\n phone_number: \"\",\r\n },\r\n error: \"\",\r\n };\r\n // this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n this.autocomplete = null;\r\n this.handleWorkhoursChange = this.handleWorkhoursChange.bind(this);\r\n this.handleInput = this.handleInput.bind(this);\r\n }\r\n\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { pharmacyData, errors } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n // console.log(place);\r\n // console.log(place.name);\r\n var lat = place.geometry.location.lat();\r\n // get lng\r\n var lng = place.geometry.location.lng();\r\n pharmacyData.latitude = lat.toString();\r\n pharmacyData.longitude = lng.toString();\r\n pharmacyData.google_loc_id = place.url;\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n // var valShort = place.address_components[i].short_name;\r\n // console.log(val);\r\n if (addressType === \"administrative_area_level_1\")\r\n pharmacyData.state = val;\r\n if (addressType === \"locality\")\r\n pharmacyData.city = val;\r\n if (addressType === \"country\") pharmacyData.country = val;\r\n // if (addressType === \"street_number\") {\r\n\r\n pharmacyData.address1 = place.name;\r\n // }\r\n if (addressType === \"sublocality_level_1\") pharmacyData.address2 = val;\r\n if (addressType === \"postal_code\") pharmacyData.zip_code = val;\r\n }\r\n }\r\n errors.state = \"\";\r\n errors.city = \"\";\r\n errors.zip_code = \"\";\r\n this.setState({\r\n pharmacyData, errors\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address1\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n axios\r\n .post(\r\n getPharmacyByUserId,\r\n { user_id: this.props.userdata.id },\r\n AUTH_CONFIG\r\n )\r\n .then((response) => {\r\n console.log(\"userData\");\r\n console.log(response.data);\r\n if (response.data.status === \"1\") {\r\n let data = response.data.data[0];\r\n console.log(data);\r\n\r\n data.working_hours = data.working_hours || this.state.pharmacyData.working_hours;\r\n\r\n if (data.working_days === null) {\r\n data.working_days = [];\r\n } else {\r\n data.working_all_days = data.working_days.length === 7;\r\n }\r\n\r\n this.category_array.forEach((element) => {\r\n if (data.category && data.category.includes(element.value)) {\r\n data.selected_category = element;\r\n }\r\n });\r\n\r\n data.selected_firm = {\r\n label: data.selected_firm,\r\n value: data.selected_firm,\r\n };\r\n data.gstreg_type = {\r\n label: data.gstreg_type,\r\n value: data.gstreg_type,\r\n };\r\n\r\n data.phone_number = data.phone_number.includes(\"+91\")\r\n ? data.phone_number\r\n : data.phone_code.concat(data.phone_number);\r\n\r\n if (data.pharmacist_license) {\r\n const pharmacist_license = JSON.parse(data.pharmacist_license);\r\n data.pharmacist_license = pharmacist_license.pharmacist_license;\r\n data.pharmacist_license_expirydate = pharmacist_license.pharmacist_license_expirydate;\r\n }\r\n if (data.food_licence) {\r\n const food_licence = JSON.parse(data.food_licence);\r\n data.food_licence = food_licence.food_licence;\r\n data.food_expirydate = food_licence.food_expirydate;\r\n }\r\n if (data.shopact_license) {\r\n const shopact_license = JSON.parse(data.shopact_license);\r\n data.shopact_license = shopact_license.shopact_license;\r\n data.shopact_license_expirydate = shopact_license.shopact_license_expirydate;\r\n }\r\n if (data.drug_licence1) {\r\n const drug_licence1 = JSON.parse(data.drug_licence1);\r\n data.drug_licence1 = drug_licence1.drug_licence1;\r\n data.licence1_expirydate = drug_licence1.licence1_expirydate;\r\n }\r\n if (data.drug_licence2) {\r\n const drug_licence2 = JSON.parse(data.drug_licence2);\r\n data.drug_licence2 = drug_licence2.drug_licence2;\r\n data.licence2_expirydate = drug_licence2.licence2_expirydate;\r\n }\r\n if (data.drug_licence3) {\r\n const drug_licence3 = JSON.parse(data.drug_licence3);\r\n data.drug_licence3 = drug_licence3.drug_licence3;\r\n data.licence3_expirydate = drug_licence3.licence3_expirydate;\r\n }\r\n\r\n this.setState({ pharmacyData: data });\r\n } else {\r\n this.setState({ error: response.data.message });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"business user getbyid failed\", e);\r\n });\r\n }\r\n handlePaymentSelect = (e) => {\r\n const { name, value } = e.target;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n handleInput = (e) => {\r\n let data = this.state.pharmacyData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors\r\n if (\r\n name === \"capacity\" ||\r\n name === \"year_of_build\" ||\r\n name === \"pharmacy_name\" ||\r\n name === \"address1\" ||\r\n name === \"address2\" ||\r\n name === \"city\" ||\r\n name === \"zip_code\" ||\r\n name === \"fax_number\" ||\r\n name === \"email\" ||\r\n name === \"website\" ||\r\n name === \"phone_number\"\r\n\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ pharmacyData: data, errors });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n // const value1 = value.slice(0, max);\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ pharmacyData: data, errors: errors });\r\n }\r\n /* for country detail change */\r\n selectCountry(val) {\r\n let data = this.state.pharmacyData;\r\n data.country = val;\r\n let errors = this.state.errors\r\n errors.country = \"\"\r\n this.setState({ pharmacyData: data, errors });\r\n }\r\n /* for state detail change */\r\n\r\n selectState(val) {\r\n let data = this.state.pharmacyData;\r\n data.state = val;\r\n let errors = this.state.errors\r\n errors.state = \"\"\r\n this.setState({ pharmacyData: data, errors });\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n pharmacyData.phone_number = event;\r\n let errors = this.state.errors\r\n errors.phone_number = \"\"\r\n this.setState({ pharmacyData, errors });\r\n };\r\n handleSechduleType = (e) => {\r\n let data = this.state.pharmacyData;\r\n data.schedule_type = [e.target.value];\r\n let errors = this.state.errors\r\n errors.schedule_type = \"\"\r\n this.setState({ pharmacyData: data, errors });\r\n };\r\n handleWorkingDays = (e) => {\r\n let data = this.state.pharmacyData;\r\n // let working_days_data = data.working_days;\r\n let working_all_days_data = data.working_all_days;\r\n let errors = this.state.errors\r\n if (\"allDaysId\" === e.target.id) {\r\n working_all_days_data = !working_all_days_data;\r\n\r\n data.working_all_days = working_all_days_data;\r\n\r\n data.working_all_days\r\n ? (data.working_days = working_days)\r\n : (data.working_days = []);\r\n } else {\r\n const newSelection = e.target.value;\r\n let newSelectionArray;\r\n\r\n if (data.working_days.indexOf(newSelection) > -1) {\r\n newSelectionArray = data.working_days.filter((s) => s !== newSelection);\r\n console.log(newSelectionArray);\r\n } else {\r\n newSelectionArray = [...data.working_days, newSelection];\r\n console.log(newSelectionArray);\r\n }\r\n\r\n data.working_days = newSelectionArray;\r\n let wd = [];\r\n data.working_days.forEach((element, index) => {\r\n if (working_days.indexOf(element) > -1) {\r\n wd.push(element);\r\n }\r\n });\r\n\r\n data.working_days = wd;\r\n }\r\n if (data.working_days.length > 0)\r\n errors.working_days = \"\"\r\n\r\n data.working_days.length === 7\r\n ? (data.working_all_days = true)\r\n : (data.working_all_days = false);\r\n\r\n this.setState({ pharmacyData: data, errors });\r\n };\r\n /* for work detail change */\r\n handleWorkhoursChange(field, value) {\r\n let data = this.state.pharmacyData;\r\n let working_hours_data = data.working_hours;\r\n let errors = this.state.errors;\r\n console.log(working_hours_data);\r\n if (working_hours_data == \"\") {\r\n working_hours_data =\r\n {\r\n morning_opens_at: '',\r\n morning_close_at: '',\r\n evening_opens_at: '',\r\n evening_close_at: '',\r\n hours_24: false,\r\n };\r\n }\r\n if (\"24Hours\" === field) {\r\n working_hours_data.hours_24 = !working_hours_data.hours_24;\r\n working_hours_data.morning_opens_at = '00:00'; errors.morning_opens_at = \"\";\r\n working_hours_data.morning_close_at = '11:59'; errors.morning_close_at = \"\";\r\n working_hours_data.evening_opens_at = '12:00'; errors.evening_opens_at = \"\";\r\n working_hours_data.evening_close_at = '23:59'; errors.evening_close_at = \"\";\r\n } else {\r\n working_hours_data.hours_24 = false;\r\n working_hours_data[`${field}`] = value.target.value;\r\n errors[`${field}`] = \"\";\r\n }\r\n console.log(working_hours_data);\r\n data.working_hours = working_hours_data;\r\n\r\n errors.working_hours = \"\"\r\n this.setState({ pharmacyData: data, errors });\r\n }\r\n\r\n selectgstCountry(val) {\r\n let data = this.state.pharmacyData;\r\n data.gst_country = val;\r\n this.setState({ pharmacyData: data });\r\n }\r\n selectgstState(val) {\r\n let data = this.state.pharmacyData;\r\n data.gst_state = val;\r\n this.setState({ pharmacyData: data });\r\n }\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n pharmacyData: {\r\n ...prevState.pharmacyData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n // Function to format date to dd-MM-YYYY\r\n formatDateToDDMMYYYY(date) {\r\n const d = new Date(date);\r\n const day = (`0${d.getDate()}`).slice(-2); // Pad single digit days with a leading zero\r\n const month = (`0${d.getMonth() + 1}`).slice(-2); // Pad single digit months with a leading zero (months are 0-based)\r\n const year = d.getFullYear();\r\n\r\n return `${day}-${month}-${year}`;\r\n }\r\n\r\n\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.pharmacyData;\r\n data[e.name] = selectedOptions;\r\n let errors = this.state.errors\r\n errors[e.name] = \"\"\r\n this.setState({ pharmacyData: data, errors });\r\n };\r\n handleFormSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n let { pharmacyData, errors } = this.state;\r\n console.log(pharmacyData);\r\n pharmacyData.user_type = \"pharmacysignup\";\r\n\r\n errors = Validation(pharmacyData, errors);\r\n let pharmacist_license = {\r\n pharmacist_license: pharmacyData.pharmacist_license,\r\n pharmacist_license_expirydate: pharmacyData.pharmacist_license_expirydate\r\n };\r\n let shopact_license = {\r\n shopact_license: pharmacyData.shopact_license,\r\n shopact_license_expirydate: pharmacyData.shopact_license_expirydate\r\n };\r\n let food_licence = {\r\n food_licence: pharmacyData.food_licence,\r\n food_expirydate: pharmacyData.food_expirydate\r\n };\r\n\r\n let drug_licence1 = {\r\n drug_licence1: pharmacyData.drug_licence1,\r\n licence1_expirydate: pharmacyData.licence1_expirydate\r\n };\r\n let drug_licence2 = {\r\n drug_licence2: pharmacyData.drug_licence2,\r\n licence2_expirydate: pharmacyData.licence2_expirydate\r\n };\r\n let drug_licence3 = {\r\n drug_licence3: pharmacyData.drug_licence3,\r\n licence3_expirydate: pharmacyData.licence3_expirydate\r\n };\r\n console.log(drug_licence3);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n console.log(\"form is valid\");\r\n\r\n \r\n let data = pharmacyData;\r\n\r\n \r\n\r\n data.category = data.selected_category\r\n ? data.selected_category.value\r\n : \"\";\r\n\r\n data.category = data.category.toString();\r\n\r\n \r\n try {\r\n\r\n \r\n data.phone_code = \"+\" + parsePhoneNumber(data.phone_number).countryCallingCode;\r\n data.phone_number = parsePhoneNumber(data.phone_number).nationalNumber;\r\n data.pharmacist_name = data.pharmacist_name;\r\n data.pharmacist_license = pharmacist_license;\r\n data.pharmacist_owner = data.pharmacist_owner;\r\n data.shopact_license = shopact_license;\r\n data.selected_firm=data.selected_firm.label;\r\n data.cin = data.cin;\r\n data.gstreg_type = data.gstreg_type.label;\r\n data.gst_no = data.gst_no;\r\n data.gst_country = data.gst_country;\r\n data.gst_state = data.gst_state;\r\n data.pan = data.pan;\r\n data.food_licence = food_licence;\r\n data.drug_licence1 = drug_licence1;\r\n data.drug_licence2 = drug_licence2;\r\n data.drug_licence3 = drug_licence3;\r\n const result = axios.put(updateProfilePharmacy, data, AUTH_CONFIG);\r\n console.log(result);\r\n const p = Promise.resolve(result);\r\n\r\n let resultdata = p.then((value) => {\r\n \r\n if (value.data.status === \"1\") {\r\n \r\n window.location.replace(\"/dashboard\");\r\n }\r\n if (value.data.status === \"0\") {\r\n data.phone_number = data.phone_code.concat(data.phone_number);\r\n\r\n this.setState({ error: value.data.message, pharmacyData: data, errors: errors });\r\n }\r\n });\r\n \r\n } catch (e) {\r\n \r\n console.log(e.message);\r\n }\r\n }\r\n };\r\n \r\n /* handleFormSubmit = async (e) => {\r\n e.preventDefault();\r\n \r\n let { pharmacyData, errors } = this.state;\r\n console.log(pharmacyData);\r\n pharmacyData.user_type = \"pharmacysignup\";\r\n \r\n // errors = Validation(pharmacyData, errors);\r\n \r\n // Ensure all required licenses are properly formatted\r\n const formatLicense = (license, expiryDate) => JSON.stringify({\r\n [license]: pharmacyData[license],\r\n [`${license}_expirydate`]: pharmacyData[expiryDate],\r\n });\r\n \r\n let pharmacist_license = formatLicense('pharmacist_license', 'pharmacist_license_expirydate');\r\n let shopact_license = formatLicense('shopact_license', 'shopact_license_expirydate');\r\n let food_licence = formatLicense('food_licence', 'food_expirydate');\r\n let drug_licence1 = formatLicense('drug_licence1', 'licence1_expirydate');\r\n let drug_licence2 = formatLicense('drug_licence2', 'licence2_expirydate');\r\n let drug_licence3 = formatLicense('drug_licence3', 'licence3_expirydate');\r\n \r\n this.setState({ errors: errors });\r\n \r\n if (errors.formIsValid) {\r\n console.log(\"form is valid\");\r\n let data = pharmacyData;\r\n\r\n try {\r\n data.phone_code = \"+\" + parsePhoneNumber(data.phone_number).countryCallingCode;\r\n data.phone_number = parsePhoneNumber(data.phone_number).nationalNumber;\r\n data.pharmacist_license = pharmacist_license;\r\n data.shopact_license = shopact_license;\r\n data.food_licence = food_licence;\r\n data.drug_licence1 = drug_licence1;\r\n data.drug_licence2 = drug_licence2;\r\n data.drug_licence3 = drug_licence3;\r\n data.category = data.selected_category ? data.selected_category.value : '';\r\n data.gstreg_type = data.gstreg_type.label;\r\n \r\n const result = await axios.put(updateProfilePharmacy, data, AUTH_CONFIG);\r\n console.log(result);\r\n \r\n if (result.data.status === \"1\") {\r\n window.location.replace(\"/dashboard\");\r\n } else if (result.data.status === \"0\") {\r\n data.phone_number = data.phone_code.concat(data.phone_number);\r\n this.setState({ error: result.data.message, pharmacyData: data, errors: errors });\r\n }\r\n } catch (e) {\r\n console.log(e.message);\r\n }\r\n }\r\n }; */\r\n \r\n imageUpload = (event) => {\r\n event.preventDefault();\r\n let file = event.target.files[0];\r\n let newfileName = event.target.files[0].name;\r\n\r\n // console.log(imageconfig);\r\n imageconfig.dirName = 'pharmacy/' + this.props.userdata.id\r\n console.log(imageconfig);\r\n\r\n const reacts3client = new S3(imageconfig);\r\n console.log(reacts3client)\r\n reacts3client.uploadFile(file, newfileName).then(data => {\r\n console.log(data)\r\n if (data.status === 204) {\r\n console.log('success');\r\n let resultdata = {\r\n 'avatar': data.location,\r\n 'user_id': this.props.userdata.id,\r\n 'user_type': \"pharmacy\"\r\n }\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n axios.post(updateavatar, resultdata, CONFIG).then((result) => {\r\n this.setState({ profile_img: URL.createObjectURL(file), addPopup: false });\r\n })\r\n } else {\r\n console.log('error');\r\n this.setState({ profile_img: URL.createObjectURL(file), addPopup: false });\r\n }\r\n });\r\n\r\n };\r\n render() {\r\n const { pharmacyData, errors, error } = this.state;\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n let specialities = [];\r\n specialities_array.forEach((element, index) => {\r\n specialities.push({ value: element.id, label: element.name });\r\n });\r\n specialities_array = specialities;\r\n\r\n let facilities_array = this.props.appdata\r\n ? this.props.appdata[0].facilities\r\n : [];\r\n let facilities = [];\r\n facilities_array.forEach((element, index) => {\r\n facilities.push({ value: element.id, label: element.facility_name });\r\n });\r\n facilities_array = facilities;\r\n\r\n let category_array = this.props.appdata.length\r\n ? this.props.appdata[0].category\r\n : [];\r\n let category = [];\r\n\r\n category_array.forEach((element, index) => {\r\n category.push({ value: element.id, label: element.category_name });\r\n });\r\n this.category_array = category;\r\n\r\n const gstreg_type = [\r\n { value: 'registered', label: 'Registered' },\r\n { value: 'non-registered', label: 'Non-Registered' }\r\n ];\r\n const firm_array = [\r\n { value: 'proprietory', label: 'Proprietory' },\r\n { value: 'partnership', label: 'Partnership' },\r\n { value: 'private limited', label: 'Private Limited' },\r\n { value: 'limited', label: 'Limited' }\r\n ];\r\n\r\n\r\n return (\r\n
    \r\n {error ? : null}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Working hours *
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Working days*
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \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.selectgstCountry(val)}\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.selectgstState(val)}\r\n placeholder=\"State\"\r\n />\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \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.handleDatePickerChange(date, 'food_expirydate')}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n disabled={!pharmacyData.food_licence}\r\n />\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \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.handleDatePickerChange(date, 'licence1_expirydate')}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n disabled={!pharmacyData.drug_licence1}\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \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.handleDatePickerChange(date, 'licence2_expirydate')}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n disabled={!pharmacyData.drug_licence2}\r\n />\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleDatePickerChange(date, 'licence3_expirydate')}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n disabled={!pharmacyData.drug_licence3}\r\n />\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    Speciality*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Facilities
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n\r\n
       
    \r\n
       
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n Pay online\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Pay at Clinic\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    */}\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps)(PharmacySignup1));\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport BusinessSignup1 from \"../components/container/BusinessSignup1\";\r\nimport BusinessUserSignup1 from \"../components/container/BusinessUserSignup1\";\r\nimport ClientSignup1 from \"../components/container/ClientSignup1\";\r\nimport LogoSection from \"../components/UI/LogoSection\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport Heading4 from \"../components/UI/Heading4\";\r\nimport logo from '../assets/images/logo.png'\r\nimport PharmacySignup1 from \"../components/container/PharmacySignup1\";\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n userdata: state.AuthReducer.user,\r\n };\r\n}\r\n\r\n\r\nclass UpdateProfile extends Component {\r\n render() {\r\n \r\n return (\r\n
    \r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type === \"hospital\" ||\r\n this.props.userdata.user_type === \"business\" ? (\r\n \r\n \r\n Home{\" \"}\r\n {\" \"}\r\n

    \r\n Register Hospital\r\n

    \r\n
    \r\n ) : this.props.userdata.user_type === \"doctor\" ||\r\n this.props.userdata.user_type === \"business_user\" ? (\r\n \r\n \r\n Home{\" \"}\r\n {\" \"}\r\n \r\n Register DOCTOR\r\n \r\n \r\n ) : this.props.userdata.user_type === \"pharmacy\" ? (\r\n \r\n \r\n Home{\" \"}\r\n {\" \"}\r\n \r\n Register PHARMACY\r\n \r\n \r\n ) : (\r\n \r\n \r\n Home{\" \"}\r\n {\" \"}\r\n \r\n Register Client\r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"LOGO\"\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type === \"hospital\" ||\r\n this.props.userdata.user_type === \"business\" ? (\r\n \r\n ) : this.props.userdata.user_type === \"doctor\" ||\r\n this.props.userdata.user_type === \"business_user\" ? (\r\n \r\n ) : this.props.userdata.user_type === \"pharmacy\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(UpdateProfile);\r\n","import React, {Fragment} from 'react';\r\n\r\nconst LoadingSpinner = (props) => (\r\n \r\n {props.title}\r\n \r\n \r\n \r\n);\r\n\r\nexport default LoadingSpinner;\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../assets/css/mystyle.css\";\r\nimport { getallclientbyBusiness } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n \r\n { header: 'Registration ID', key: 'registration_id' },\r\n { header: 'First Name', key: 'first_name' },\r\n { header: 'Last Name', key: 'last_name' },\r\n // { header: 'Name', key: 'name' },\r\n { header: 'Date of birth', key: 'date_of_birth' },\r\n { header: 'Blood Group', key: 'blood_group' }, \r\n { header: 'Mobile Number', key: 'phone_number' },\r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'PatientList';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n \r\n const newdata=props.records;\r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n newdata.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n });\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Patient List has been downloaded successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SideBar from \"../components/container/SideBar\";\r\nimport Header from \"../components/container/layout/business/Header\";\r\n// import MobileSidebar from \"../components/container/layout/client/MobileSidebar\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport Popup from \"../components/UI/Popup\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport ExpirePopup from \"../components/UI/ExpirePopup\";\r\nimport { blood_group, gender, maritial_status } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport { removeClientFromBusiness } from \"../config/url.json\";\r\nimport Validation from \"../actions/Validation\";\r\nimport * as moment from \"moment\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport axios from \"axios\";\r\nimport {\r\n getallclientbyBusiness,\r\n updateClient,\r\n addClient,\r\n getBusinessScheduleDayId,\r\n createQueue,\r\n getTimeoutbycategory\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport ClientsExport from \"./ClientsExport\";\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nclass Clients extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n showexpirePopup: this.props.validity,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n edit_clicked:false,\r\n records: [],\r\n actions: \"update\",\r\n loading: false,\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n newClientId: [],\r\n deletePopup: false,\r\n clientData: {\r\n s_no: \"\",\r\n user_id: \"\",\r\n registration_id: \"\",\r\n name: \"\",\r\n first_name: \"\",\r\n last_name: \"\",\r\n age: \"\",\r\n blood_group: \"\",\r\n phone_number: \"\",\r\n phone_code:\"\",\r\n gender: \"\",\r\n maritial_status: \"\",\r\n date_of_birth: \"\",\r\n },\r\n errors: {\r\n user_id: \"\",\r\n registration_id: \"\",\r\n first_name: \"\",\r\n last_name: \"\",\r\n age: \"\",\r\n blood_group: \"\",\r\n phone_number: \"\",\r\n gender: \"\",\r\n maritial_status: \"\",\r\n date_of_birth: \"\",\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"registration_id\",\r\n text: \"Registration ID\",\r\n className: \"registration_id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"name\",\r\n text: \"Name\",\r\n className: \"name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n\r\n {\r\n key: \"date_of_birth\",\r\n text: \"Date of Birth\",\r\n className: \"date_of_birth\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return moment(record.date_of_birth).format(\"DD-MMM-yyyy\");\r\n },\r\n },\r\n\r\n {\r\n key: \"blood_group\",\r\n text: \"Blood Group\",\r\n className: \"blood_group\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"phone_number\",\r\n text: \"Mobile Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n this.setState({ deletePopup: true, record: record })\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n componentDidMount = () => {\r\n\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getallclientbyBusiness, { business_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let clientList = list.data;\r\n console.log(list);\r\n let clientDataArr = [];\r\n clientList.data.sort((a,b) => a.id - b.id);\r\n clientList.data.forEach((element, index) => {\r\n console.log(element);\r\n let clientData = {};\r\n clientData.s_no = index + 1;\r\n clientData.queue_id = element.queue_id;\r\n clientData.registration_id = element.id;\r\n clientData.user_id = element.client_id;\r\n clientData.first_name=element.first_name;\r\n clientData.last_name=element.last_name;\r\n clientData.name = element.first_name + \" \" + element.last_name;\r\n clientData.age = element.age;\r\n clientData.blood_group = element.blood_group;\r\n clientData.phone_code=element.phone_code;\r\n clientData.phone_number = (element.phone_number==null)?element.phone_number: (element.phone_number.includes(\"+91\")? element.phone_number :element.phone_code+element.phone_number);\r\n clientData.gender = element.gender;\r\n if (element.gender === 1) {\r\n clientData.gender = \"Female\";\r\n } else if (element.gender === 0) {\r\n clientData.gender = \"Male\";\r\n } else if (element.gender === 2){\r\n clientData.gender = \"Other\";\r\n }\r\n\r\n clientData.maritial_status = element.marital_status;\r\n clientData.date_of_birth = element.date_of_birth;\r\n // if (element.date_of_birth !== \"\") {\r\n // clientData.date_of_birth = moment(element.date_of_birth).format(\r\n // \"DD-MM-YYYY\"\r\n // );\r\n // }\r\n clientDataArr[index] = clientData;\r\n \r\n });\r\n \r\n console.log(clientDataArr);\r\n this.setState({ records: clientDataArr });\r\n })\r\n .catch((e) => { console.log(e)});\r\n };\r\n\r\n cancel = () => {\r\n // s_no: \"\",\r\n // user_id: \"\",\r\n // registration_id: \"\",\r\n // first_name: \"\",\r\n // last_name: \"\",\r\n // age: \"\",\r\n // blood_group: \"\",\r\n // phone_number: \"\",\r\n // gender: \"\",\r\n // maritial_status: \"\",\r\n // date_of_birth: \"\",\r\n let data = this.state.clientData;\r\n data.s_no = \"\";\r\n data.user_id = \"\";\r\n data.registration_id = \"\";\r\n data.first_name = \"\";\r\n data.last_name = \"\";\r\n data.age = \"\";\r\n data.blood_group = \"\";\r\n data.phone_number = \"\";\r\n data.gender = \"\";\r\n data.maritial_status = \"\";\r\n data.date_of_birth = \"\";\r\n let errors = this.state.errors;\r\n errors = {};\r\n\r\n this.setState({ clientData: data, actions: \"update\",searchErrorMessage:\"\",edit_clicked:false });\r\n this.setState({ errors:errors });\r\n };\r\n editRecord = (record) => {\r\n console.log(record);\r\n this.setState({ actions: \"edit\",edit_clicked:true });\r\n\r\n let clientData = this.state.clientData;\r\n clientData.s_no = record.s_no;\r\n clientData.id = record.id;\r\n clientData.registration_id = record.registration_id;\r\n clientData.user_id = record.user_id;\r\n let name = record.name;\r\n var nameArr = name.split(/\\s+/);\r\n clientData.name = record.name;\r\n clientData.first_name = nameArr.slice(0, -1).join(\" \");\r\n clientData.last_name = nameArr.pop();\r\n clientData.age = record.age;\r\n clientData.queue_id = record.queue_id;\r\n clientData.blood_group = {\r\n label: record.blood_group,\r\n value: record.blood_group,\r\n };\r\n clientData.phone_number = record.phone_number;\r\n clientData.gender = {\r\n label: record.gender,\r\n value: record.gender,\r\n };\r\n\r\n clientData.maritial_status = {\r\n label: record.maritial_status,\r\n value: record.maritial_status,\r\n };\r\n \r\n clientData.date_of_birth = moment(\r\n record.date_of_birth,\r\n moment.defaultFormat\r\n ).toDate();\r\n this.handlePatientChange(\"date_of_birth\", clientData.date_of_birth);\r\n console.log(clientData.date_of_birth);\r\n this.setState({ clientData: clientData });\r\n };\r\n\r\n deleteRecord(record) {\r\n // let record = this.state.recordToDelete;\r\n\r\n console.log(record);\r\n // let drug_id = record.drug_id;\r\n let queue_id = record.queue_id;\r\n let client_id=record.user_id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(removeClientFromBusiness, { queue_id: queue_id,client_id:client_id }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n\r\n const deleteIndex = records\r\n .map((item) => item.queue_id)\r\n .indexOf(record.queue_id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n // this.setState({ tableSuccess: res.data });\r\n toast.success(\"The Patient record has been deleted successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch((e) => { });\r\n this.setState({ deletePopup: false, record: null });\r\n\r\n this.setState({\r\n confirmedDelete: false,\r\n });\r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n \r\n };\r\n cancelDelete() {\r\n this.setState({\r\n showDeleteConfirmPopup: !this.state.showDeleteConfirmPopup,\r\n });\r\n }\r\n\r\n handlePatientChange(value, field) {\r\n let fields = this.state.clientData;\r\n let errors = this.state.errors;\r\n console.log(field);\r\n if (value === \"first_name\") {\r\n fields.first_name = field.target.value;\r\n errors.first_name = '';\r\n } else if (value === \"last_name\") {\r\n fields.last_name = field.target.value;\r\n errors.last_name = '';\r\n } else if (value === \"date_of_birth\") {\r\n fields.date_of_birth = field;\r\n errors.date_of_birth = '';\r\n } else if (value === \"gender\") {\r\n fields.gender = field;\r\n errors.gender = '';\r\n } else if (value === \"blood_group\") {\r\n fields.blood_group = field;\r\n errors.blood_group='';\r\n } else if (value === \"phone_number\") {\r\n fields.phone_number = field;\r\n errors.phone_number='';\r\n } else if (value === \"maritial_status\") {\r\n fields.maritial_status = field;\r\n errors.maritial_status = '';\r\n }\r\n\r\n this.setState({\r\n clientData: fields,\r\n });\r\n }\r\n handleDOBChange = (date) => {\r\n let clientData = this.state.clientData;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n clientData.date_of_birth = offsetDate;\r\n this.setState({ ClientData: clientData });\r\n };\r\n updateClientRec() {\r\n let { clientData, errors } = this.state;\r\n clientData.type = \"clientlist\";\r\n errors = Validation(clientData, errors);\r\n this.setState({ errors: errors });\r\nconsole.log(errors);\r\nconsole.log(clientData); //return false;\r\n let data = {};\r\n data.first_name = clientData.first_name;\r\n data.last_name = clientData.last_name;\r\n data.age = clientData.age;\r\n data.gender = clientData.gender.label;\r\n data.marital_status = clientData.maritial_status.label;\r\n data.maritial_status = clientData.maritial_status.label;\r\n data.blood_group = clientData.blood_group.label;\r\n data.phone_number = clientData.phone_number;\r\n data.s_no = clientData.s_no;\r\n data.registration_id = clientData.registration_id;\r\n data.user_id = clientData.user_id;\r\n\r\n if(data.user_id===\"\"||null==data.user_id)\r\n {\r\n this.setState({\r\n searchErrorMessage:\r\n \"Please edit the client records to update\",\r\n });\r\n return;\r\n } else {\r\n this.setState({\r\n searchErrorMessage: \"\",\r\n });\r\n }\r\n if (errors.formIsValid) {\r\n // this.setState({ errors:\"\" });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n // let url = this.state.actions === \"add\" ? addClient : updateClient;\r\n/* \r\n if (this.state.actions === \"add\") {\r\n if (clientData.date_of_birth !== \"\") {\r\n data.date_of_birth = moment(clientData.date_of_birth).format(\r\n \"DD-MM-YYYY\"\r\n );\r\n }\r\n\r\n this.setState({ loading: true }, () => {\r\n axios.post(url, data, CONFIG).then((res) => {\r\n if (res.data.status === \"1\") {\r\n \r\n let businessId = this.props.userdata.id;\r\n let createdClientData = res.data.data;\r\n let createdClientId = createdClientData.user_id;\r\n\r\n if (businessId !== \"\") {\r\n let queueData = {};\r\n queueData.clientList = [createdClientId];\r\n queueData.status = \"Queue-In\";\r\n queueData.is_active = \"No\";\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .get(getBusinessScheduleDayId + businessId)\r\n .then((schedules) => {\r\n let scheduleArr = schedules.data;\r\n\r\n scheduleArr.forEach((element, index) => {\r\n queueData.schedule_day_id = element.schedule_day_id;\r\n });\r\n\r\n if (queueData.clientList.length !== 0) {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(createQueue, queueData)\r\n .then((response) => {\r\n let result = response.data.data[0];\r\n if (result.status === \"100\") {\r\n let newRecord = {};\r\n newRecord.s_no = this.state.records.length + 1;\r\n newRecord.user_id = createdClientData.user_id;\r\n newRecord.registration_id = createdClientData.id;\r\n newRecord.name =\r\n createdClientData.first_name +\r\n \" \" +\r\n createdClientData.last_name;\r\n newRecord.blood_group =\r\n createdClientData.blood_group;\r\n newRecord.age = createdClientData.age;\r\n newRecord.phone_number =\r\n createdClientData.phone_number;\r\n newRecord.gender = createdClientData.gender;\r\n newRecord.maritial_status =\r\n createdClientData.marital_status;\r\n newRecord.date_of_birth =\r\n createdClientData.date_of_birth;\r\n\r\n let records = this.state.records;\r\n records.push(newRecord);\r\n this.setState({ records });\r\n toast.success(\"Patient Added Successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n this.setState({ loading: false });\r\n \r\n this.cancel();\r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n }\r\n });\r\n });\r\n } else { */\r\n \r\n data.date_of_birth = clientData.date_of_birth;\r\n\r\n this.setState({ loading: true }, () => {\r\n axios.put(updateClient, data, CONFIG).then((res) => {\r\n this.setState({ loading: false });\r\n data.date_of_birth = moment(data.date_of_birth).format();\r\n data.name = data.first_name + \" \" + data.last_name;\r\n data.marital_status = clientData.maritial_status.label;\r\n data.maritial_status = clientData.maritial_status.label;\r\n\r\n // let records = this.state.records;\r\n /** Updating the data table */\r\n let existingRecords = this.state.records;\r\n var index = existingRecords.findIndex(\r\n (item) => item.user_id === data.user_id\r\n );\r\n existingRecords.splice(index, 1, data);\r\n this.setState({ records: existingRecords });\r\n // this.setState({ formSuccess: res.data });\r\n toast.success(\"The Patient details have been updated successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n this.cancel();\r\n this.clearMessage();\r\n\r\n let actions = \"update\";\r\n this.setState({ actions });\r\n\r\n }\r\n );\r\n });\r\n // }\r\n }\r\n }\r\n render() {\r\n const {\r\n clientData,\r\n errors,\r\n loading,\r\n formSuccess,\r\n tableSuccess,\r\n hospitaltimeout,\r\n searchErrorMessage,edit_clicked\r\n } = this.state;\r\n const modalVar = this.state.showDeleteConfirmPopup;\r\n let PopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n let PopupConfirm = () => {\r\n window.location.href = \"/showsubscription\";\r\n\r\n };\r\n return (\r\n\r\n
    \r\n \r\n {/* */}\r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n

    Patient List

    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {edit_clicked?(
    \r\n
    \r\n
    \r\n
    \r\n {\" \"}\r\n {this.state.actions === \"edit\"\r\n ? \"Edit\"\r\n : \"Edit\"}{\" \"}\r\n Patient\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {searchErrorMessage ? (\r\n \r\n {searchErrorMessage}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\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.handleDOBChange(date)\r\n }\r\n placeholder={\"Select your DOB\"}\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n */}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \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.actions === \"add\"\r\n ? \"Add\"\r\n : \"Update\"}\r\n \r\n \r\n Search\r\n \r\n \r\n Reset\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    Search
    \r\n
    \r\n\r\n
    \r\n {searchErrorMessage ? (\r\n \r\n {searchErrorMessage}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    */}\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/* \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    */}\r\n\r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    Search Result
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n {/* */}\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Diseases);\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../assets/css/mystyle.css\";\r\nimport { getAllDrugs } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n \r\n { header: 'S.no', key: 's_no' },\r\n { header: 'Drug Name', key: 'drug_name' },\r\n { header: 'Active Incredients', key: 'active_ingredients' },\r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'DrugList';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n //get data through props\r\n const newdata=props.records;\r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n newdata.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n });\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"The Drug list has been downloaded successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../assets/css/mystyle.css\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n\r\n \r\n { header: 'Drug Name', key: 'drug_name' },\r\n { header: 'Active Incredients', key: 'active_ingredients' },\r\n \r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'PharmacyDrugTemplate';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n /* data.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n }); */\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Drug List Template has been generated successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Header from \"../components/container/layout/business/Header\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Label from \"../components/UI/Label\";\r\nimport {\r\n getAllMasterDrug,\r\n getAllDrugs,\r\n getAllDrugTypes,\r\n getAllDrugCategories,\r\n addDrug,\r\n updateDrug,\r\n deleteDrug,\r\n searchDrug,\r\n getAllDrugMeasures,\r\n getTimeoutbycategory,\r\n hospitaldrugimport\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Validation from \"../actions/Validation\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Button, Modal, ModalHeader, ModalBody } from \"reactstrap\";\r\n// Import React Table\r\nimport \"react-table/react-table.css\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport ExpirePopup from \"../components/UI/ExpirePopup\"\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport DrugsExport from \"./DrugsExport\";\r\nimport DrugTemplate from \"./DrugTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport LoadingHeartrate from \"../components/UI/Heartrate\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass Drugs extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n showexpirePopup: this.props.validity,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n\r\n searchrecords: [],\r\n drug_action: \"Add\",\r\n loading: false,\r\n addDrugSuccess: \"\",\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n search_action: false,\r\n recordToDelete: [],\r\n drugTypes: [],\r\n drugCategories: [],\r\n masterdrugNames: [],\r\n newDatatoAdd: {},\r\n addPopup: false,\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n drugList: {\r\n s_no: \"\",\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n },\r\n drugData: {\r\n id: \"\",\r\n drug_id: \"\",\r\n searchdrug_id:\"\",\r\n manufacturer: \"\",\r\n drug_name: \"\",\r\n generic_name:\"\",\r\n drug_type: \"\",\r\n drug_category: \"\",\r\n active_ingredients: \"\",\r\n unit_of_measure: \"\",\r\n },\r\n errors: {\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_type: \"\",\r\n drug_category: \"\",\r\n unit_of_measure: \"\",\r\n generic_name:\"\",\r\n active_ingredients: \"\",\r\n manufacturer:\"\",\r\n },\r\n searchData: {\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n generic_name:\"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n editformSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n searchTableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n columns: [\r\n { title: \"Drug Id\", field: \"drug_id\" },\r\n { title: \"Drug Name\", field: \"drug_name\" },\r\n { title: \"Drug Category\", field: \"drug_category\" },\r\n { title: \"Drug Type\", field: \"drug_type\" },\r\n { title: \"Manufacturer\", field: \"manufacturer\" },\r\n { title: \"Active Ingredients\", field: \"active_ingredients\" },\r\n ],\r\n data: [\r\n {\r\n drug_id: \"1\",\r\n drug_name: \"da\",\r\n drug_category: \"ds\",\r\n drug_type: \"sdd\",\r\n manufacturer: \"sdsd\",\r\n active_ingredients: \"adsfd\",\r\n },\r\n ],\r\n searchErrorMessage: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n },\r\n {\r\n key: \"drug_id\",\r\n text: \"Drug ID\",\r\n className: \"drug_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"drug_name\",\r\n text: \"Drug Name\",\r\n className: \"drug_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"generic_name\",\r\n text: \"Generic Name\",\r\n className: \"generic_name\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n \r\n },\r\n /* {\r\n key: \"drug_category\",\r\n text: \"Drug Category\",\r\n className: \"drug_category\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n },\r\n \r\n {\r\n key: \"drug_type\",\r\n text: \"Drug Type\",\r\n className: \"drug_type\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n },\r\n */\r\n {\r\n key: \"manufacturer\",\r\n text: \"Manufacturer\",\r\n className: \"manufacturer\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n },\r\n\r\n {\r\n key: \"active_ingredients\",\r\n text: \"Active Incredients\",\r\n className: \"active_ingredients\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n },\r\n {\r\n key: \"unit_of_measure\",\r\n text: \"Unit of Measure\",\r\n className: \"unit_of_measure\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.searchcolumns = [\r\n // {\r\n // key: \"s_no\",\r\n // text: \"S.No\",\r\n // className: \"s_no\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // },\r\n {\r\n key: \"drug_id\",\r\n text: \"Drug ID\",\r\n className: \"drug_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"drug_name_hide\",\r\n text: \"drug_name_hide\",\r\n className: \"drug_name hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n /* {\r\n key: \"drug_category_hide\",\r\n text: \"drug_category_hide\",\r\n className: \"drug_category_hide hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"drug_type_hide\",\r\n text: \"drug_type_hide\",\r\n className: \"drug_type_hide hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n */ {\r\n key: \"unit_of_measure_hide\",\r\n text: \"unit_of_measure_hide\",\r\n className: \"unit_of_measure_hide hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"drug_name\",\r\n text: \"Drug Name\",\r\n className: \"drug_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n // cell: (record) =>\r\n // {\r\n // return (\r\n // \r\n\r\n /* \r\n */\r\n // \r\n // \r\n // );\r\n // },\r\n },\r\n {\r\n key: \"generic_name\",\r\n text: \"Generic Name\",\r\n className: \"generic_name\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n \r\n },\r\n {\r\n key: \"unit_of_measure\",\r\n text: \"Unit of Measure\",\r\n className: \"unit_of_measure\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n // cell: (record) => {\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 key: \"drug_category\",\r\n text: \"Drug Category\",\r\n className: \"drug_category\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n },\r\n\r\n {\r\n key: \"drug_type\",\r\n text: \"Drug Type\",\r\n className: \"drug_type\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n \r\n },\r\n */\r\n {\r\n key: \"manufacturer\",\r\n text: \"Manufacturer\",\r\n className: \"manufacturer\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n\r\n // cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n // return (\r\n // \r\n // );\r\n // },\r\n },\r\n\r\n {\r\n key: \"active_ingredients\",\r\n text: \"Active Incredients\",\r\n className: \"active_ingredients\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n\r\n // cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n // return (\r\n // \r\n // );\r\n // },\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n }\r\n }\r\n handleCategoryColumnChange = (value, record, field) => {\r\n // console.log(field);\r\n // console.log(value);\r\n // console.log(record);\r\n value[field] = record;\r\n // console.log(record);\r\n // record.availability = \"Yes\" === record.availability ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(value);\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value=event.target.value;\r\n if (\r\n event.target.name === \"searchdrug_id\"\r\n \r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.drugid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.drugid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateColumnChange(record);\r\n };\r\n UpdateColumnChange = (record) => {\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex].drug_id = record.drug_id;\r\n records[recIndex].drug_name = record.drug_name;\r\n records[recIndex].drug_category = record.drug_category;\r\n records[recIndex].drug_type = record.drug_type;\r\n\r\n this.setState({ searchrecords: records });\r\n };\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllMasterDrug, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugNameList = drugMasterRespons.data.data;\r\n let masterdrugNames = [];\r\n masterdrugNameList.forEach((element) => {\r\n masterdrugNames.push({\r\n value: element.id,\r\n label: element.drug_name,\r\n manufacturer: \"\",\r\n active_incredient: \"\",\r\n });\r\n });\r\n\r\n this.setState({ masterdrugNames });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugTypes, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugTypeResponse) => {\r\n let drugTypeList = drugTypeResponse.data.data;\r\n let drugTypes = [];\r\n drugTypeList.forEach((element) => {\r\n drugTypes.push({ value: element.id, label: element.drug_type });\r\n });\r\n\r\n this.setState({ drugTypes });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugCategories, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugCategoryResponse) => {\r\n let list = drugCategoryResponse.data.data;\r\n\r\n let drugCategories = [];\r\n list.forEach((element) => {\r\n drugCategories.push({\r\n value: element.id,\r\n label: element.drug_category,\r\n });\r\n });\r\n this.setState({ drugCategories });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugs, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.drug_id = element.drug_id;\r\n drugData.drug_name = element.drug_name;\r\n drugData.drug_type = element.drug_type;\r\n drugData.drug_category = element.drug_category;\r\n drugData.manufacturer = element.manufacturer;\r\n drugData.active_ingredients = element.active_ingredients;\r\n drugData.unit_of_measure = element.unit_of_measure;\r\n drugData.generic_name=element.generic_name;\r\n drugDataArr[index] = drugData;\r\n });\r\n\r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n axios\r\n .post(getAllDrugMeasures, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugmeasureList = drugMasterRespons.data.data;\r\n console.log(masterdrugmeasureList);\r\n let masterdrugmeasure = [];\r\n masterdrugmeasureList.forEach((element) => {\r\n masterdrugmeasure.push({\r\n value: element.unit_of_measure,\r\n label: element.unit_of_measure,\r\n\r\n });\r\n });\r\n\r\n this.setState({ masterdrugmeasure });\r\n })\r\n .catch(() => { });\r\n };\r\n addRecord = (record) => {\r\n let formvalid = true;\r\n if (record.searchdrug_id === \"\") {\r\n record.drugid_error = \"Please enter drug id\";\r\n formvalid = false;\r\n } else {\r\n record.drugid_error = \"\";\r\n }\r\n if (record.drug_name.label === \"\") {\r\n formvalid = false;\r\n record.drugname_error = \"Please enter drug name\";\r\n } else {\r\n record.drugname_error = \"\";\r\n }\r\n if(record.generic_name===\"\")\r\n {\r\n formvalid = false;\r\n record.generic_name_error = \"Please enter generic name\";\r\n } else {\r\n record.generic_name_error = \"\";\r\n }\r\n if (record.drug_category && record.drug_category.label === \"\") {\r\n formvalid = false;\r\n record.drugcategory_error = \"Please enter drug category\";\r\n } else {\r\n record.drugcategory_error = \"\";\r\n }\r\n if (record.drug_type && record.drug_type.label === \"\") {\r\n record.drugtype_error = \"Please enter drug type\";\r\n formvalid = false;\r\n } else {\r\n record.drugtype_error = \"\";\r\n }\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex] = record;\r\n this.setState({ searchrecords: records });\r\n if (formvalid) {\r\n this.setState({ drug_action: \"Add\" });\r\n // this.setState({ newDatatoAdd: record, loading: true });\r\n // this.addorupdateDrug();\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let selectedData = record;\r\n // console.log(selectedData); return false;\r\n let data = {};\r\n data.user_id = this.props.userdata.id;\r\n data.drug_id = selectedData.searchdrug_id;\r\n data.drug_name = selectedData.drug_name;\r\n data.drug_type = selectedData.drug_type;\r\n data.drug_category = selectedData.drug_category;\r\n data.unit_of_measure = selectedData.unit_of_measure;\r\n data.manufacturer = selectedData.manufacturer;\r\n data.active_ingredients = selectedData.active_ingredients;\r\n data.generic_name=selectedData.generic_name;\r\n axios\r\n .post(addDrug, data, CONFIG)\r\n .then((addDrugResponse) => {\r\n let res = addDrugResponse.data;\r\n console.log(addDrugResponse)\r\n if (res.status === \"1\") {\r\n let drug = {};\r\n let records = this.state.records;\r\n drug.s_no = this.state.records.length + 1;\r\n drug.drug_id = data.drug_id;\r\n drug.id = res.data[0].id;\r\n drug.drug_name = data.drug_name;\r\n drug.drug_category = data.drug_category;\r\n drug.unit_of_measure = data.unit_of_measure;\r\n drug.manufacturer = data.manufacturer;\r\n drug.drug_type = data.drug_type;\r\n drug.active_ingredients = data.active_ingredients;\r\n drug.generic_name=data.generic_name;\r\n records.push(drug);\r\n // this.setState({ searchrecords: records });\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n toast.success(\"The Drug details have been added successfully. \", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Drug could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n }\r\n };\r\n editRecord(record) {\r\n let drug_action = this.state.drug_action;\r\n drug_action = \"Edit\";\r\n this.setState({ drug_action });\r\n\r\n let drugData = this.state.drugData;\r\n drugData.s_no = record.s_no;\r\n drugData.id = record.id;\r\n drugData.drug_id = record.drug_id;\r\n drugData.drug_name = record.drug_name;\r\n // drugData.drug_name = {\r\n // label: record.drug_name,\r\n // value: record.drug_name,\r\n // };\r\n drugData.manufacturer = record.manufacturer;\r\n drugData.drug_type = {\r\n label: record.drug_type,\r\n value: record.drug_type,\r\n };\r\n drugData.drug_category = {\r\n label: record.drug_category,\r\n value: record.drug_category,\r\n };\r\n drugData.unit_of_measure = {\r\n label: record.unit_of_measure,\r\n value: record.unit_of_measure,\r\n };\r\n drugData.active_ingredients = record.active_ingredients;\r\n drugData.generic_name=record.generic_name;\r\n this.setState({ drugData: drugData });\r\n }\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.drugData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n // if (e.name === \"drug_name\") {\r\n // data.manufacturer = selectedOptions.manufacturer;\r\n // data.active_ingredients = selectedOptions.active_ingredients;\r\n // }\r\n this.setState({ drugData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n handlesearchinputChange = (eve) => {\r\n let data = this.state.searchData;\r\n\r\n data[eve.target.name] = eve.target.value;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n handlesearchselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n\r\n // if (e.name === \"drug_name\") {\r\n // data.manufacturer = selectedOptions.manufacturer;\r\n // data.active_ingredients = selectedOptions.active_ingredients;\r\n // } else {\r\n // data[e.name] = selectedOptions;\r\n // }\r\n // if (e.name === \"manufacturer\" || e.name === \"active_ingredients\") {\r\n // data[e.name] = selectedOptions.target.value;\r\n // } else {\r\n data[e.name] = selectedOptions;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.drugData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ drugData: data, errors: errors });\r\n }\r\n handleInput = (e) => {\r\n let data = this.state.drugData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n name === \"drug_id\" ||\r\n name === \"drug_name\" ||\r\n name === \"manufacturer\" ||\r\n name === \"active_ingredients\"||\r\n name === \"generic_name\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ drugData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n\r\n addorupdateDrug() {\r\n let url = this.state.drug_action === \"Add\" ? addDrug : updateDrug;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n\r\n let { drugData, errors } = this.state;\r\n drugData.type = \"drug\";\r\n errors = Validation(drugData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n let data = {};\r\n data.s_no = drugData.s_no;\r\n data.user_id = this.props.userdata.id;\r\n data.id = drugData.id;\r\n data.drug_id = drugData.drug_id;\r\n data.drug_name = drugData.drug_name;\r\n //data.drug_type = drugData.drug_type.label;\r\n data.unit_of_measure = drugData.unit_of_measure.label;\r\n //data.drug_category = drugData.drug_category.label;\r\n data.manufacturer = drugData.manufacturer;\r\n data.active_ingredients = drugData.active_ingredients;\r\n data.generic_name=drugData.generic_name;\r\n let records = this.state.records;\r\n if (this.state.drug_action === \"Add\") {\r\n axios\r\n .post(url, data, CONFIG)\r\n .then((addDrugResponse) => {\r\n let res = addDrugResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n let drug = {};\r\n\r\n drug.s_no = this.state.records.length + 1;\r\n drug.drug_id = data.drug_id;\r\n drug.id = res.data[0].id;\r\n drug.drug_name = data.drug_name;\r\n drug.drug_category = data.drug_category;\r\n drug.manufacturer = data.manufacturer;\r\n drug.unit_of_measure = data.unit_of_measure;\r\n drug.generic_name=data.generic_name;\r\n drug.drug_type = data.drug_type;\r\n drug.active_ingredients = data.active_ingredients;\r\n records.push(drug);\r\n // this.setState({ searchrecords: records });\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n editformSuccess: res,\r\n\r\n });\r\n toast.success(\"The Drug details have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Drug could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n } else {\r\n axios\r\n .put(url, data, CONFIG)\r\n .then((updateDrugResponse) => {\r\n let updateResponse = updateDrugResponse.data;\r\n if (updateResponse.status === \"1\") {\r\n let addDrugSuccess = this.state.addDrugSuccess;\r\n addDrugSuccess = updateResponse.message;\r\n this.setState({ addDrugSuccess: addDrugSuccess });\r\n\r\n /** Updating the data table */\r\n let existingRecords = this.state.records;\r\n var index = existingRecords.findIndex(\r\n (item) => item.id === data.id\r\n );\r\n existingRecords.splice(index, 1, data);\r\n this.setState({ records: existingRecords });\r\n this.setState({ tableSuccess: updateResponse });\r\n this.setState({ editformSuccess: updateResponse });\r\n toast.success(\"The Drug details have been updated successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({ tableSuccess: updateResponse });\r\n this.setState({ editformSuccess: updateResponse });\r\n toast.error(\"Drug could not be updated. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n this.setState({ loading: false });\r\n })\r\n .catch(() => { });\r\n }\r\n }\r\n }\r\n\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n\r\n }\r\n\r\n cancelDelete() {\r\n this.setState({\r\n showDeleteConfirmPopup: !this.state.showDeleteConfirmPopup,\r\n });\r\n }\r\n\r\n deleteRecord(record) {\r\n let userId = record.id;\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deleteDrug, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\", loading: false });\r\n this.setState({ tableSuccess: res.data });\r\n toast.error(\"The Drug detail has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugs, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.drug_id = element.drug_id;\r\n drugData.drug_name = element.drug_name;\r\n drugData.drug_type = element.drug_type;\r\n drugData.drug_category = element.drug_category;\r\n drugData.generic_name=element.generic_name;\r\n drugData.manufacturer = element.manufacturer;\r\n drugData.active_ingredients = element.active_ingredients;\r\n drugData.unit_of_measure = element.unit_of_measure;\r\n drugDataArr[index] = drugData;\r\n });\r\n \r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n \r\n })\r\n .catch(() => { });\r\n \r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n searchTableSuccess: { message: \"\" },\r\n editformSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n clearAll=()=> {\r\n let drug_action = this.state.drug_action;\r\n drug_action = \"Add\";\r\n this.setState({ drug_action });\r\n let drugData = {};\r\n drugData.drug_id = \"\";\r\n drugData.drug_name = \"\";\r\n drugData.manufacturer = \"\";\r\n drugData.drug_category = \"\";\r\n drugData.generic_name=\"\";\r\n drugData.drug_type = \"\";\r\n drugData.active_ingredients = \"\";\r\n drugData.unit_of_measure = \"\";\r\n let errors = {\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_type: \"\",\r\n drug_category: \"\",\r\n unit_of_measure: \"\",\r\n }\r\n let tableSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let formSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let editformSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let searchTableSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n }\r\n \r\n\r\n this.setState({ drugData, errors, tableSuccess, formSuccess, editformSuccess, searchTableSuccess, searchErrorMessage: \"\",searchrecords: [],search_action:false });\r\n \r\n\r\n }\r\n clearimport=()=>{\r\n this.setState({ file:\"\" });\r\n };\r\n searchandshowDrug() {\r\n let drugData = this.state.drugData;\r\n console.log(drugData);\r\n if (\r\n (drugData.drug_name === \"\" || null === drugData.drug_name) &&\r\n (drugData.drug_category === \"\" || null === drugData.drug_category) &&\r\n (drugData.drug_type === \"\" || null === drugData.drug_type) &&\r\n (drugData.unit_of_measure === \"\" || null === drugData.unit_of_measure) &&\r\n drugData.manufacturer === \"\" &&\r\n drugData.active_ingredients === \"\" &&\r\n drugData.generic_name===\"\"\r\n ) {\r\n this.setState({\r\n searchErrorMessage:\r\n \"Choose any one of the search filters other than Drug ID.\",\r\n });\r\n return;\r\n } else {\r\n this.setState({\r\n searchErrorMessage: \"\",\r\n });\r\n }\r\n let data = {};\r\n data.drug_name = drugData.drug_name;\r\n data.drug_category = drugData.drug_category\r\n ? drugData.drug_category.label\r\n : \"\";\r\n data.drug_type = drugData.drug_type ? drugData.drug_type.label : \"\";\r\n data.manufacturer = drugData.manufacturer;\r\n data.active_ingredients = drugData.active_ingredients;\r\n data.generic_name=drugData.generic_name;\r\n data.unit_of_measure=drugData.unit_of_measure.label;\r\n data.type = \"admin\";\r\n data.user_id = this.props.userdata.id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(searchDrug, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n let data = [];\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n // console.log(this.state.masterdrugmeasure[0]);\r\n records.forEach((element) => {\r\n console.log(element);\r\n console.log(element.drug_name);\r\n console.log(element.drug_category);\r\n console.log(element.unit_of_measure);\r\n data.push({\r\n drug_id: \"\",\r\n drug_name: element.drug_name,\r\n drug_name_hide: element.drug_name,\r\n drug_category: element.drug_category,\r\n unit_of_measure: element.unit_of_measure,\r\n drug_category_hide: element.drug_category,\r\n drug_type: element.drug_type,\r\n drug_type_hide: element.drug_type,\r\n generic_name:element.generic_name,\r\n manufacturer: element.manufacturer,\r\n active_ingredients: element.active_ingredients,\r\n id: element.id,\r\n drugid_error: \"\",\r\n drugcategory_error: \"\",\r\n drugtype_error: \"\",\r\n drugname_error: \"\",\r\n generic_name_error:\"\",\r\n manufacturer_error:\"\",\r\n active_incredients_error:\"\",\r\n });\r\n });\r\n\r\n this.setState({ searchrecords: data });\r\n this.setState({\r\n search_action: true,\r\n });\r\n } else {\r\n this.setState({ searchErrorMessage:\"No Drug Found\",searchrecords: [], search_action: true });\r\n }\r\n });\r\n });\r\n }\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n console.log(event.target.files[0]);\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ drugData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n};\r\nonFileUpload = () => {\r\n\r\n if (this.state.drugData.length) {\r\n axios.post(hospitaldrugimport, {data: this.state.drugData,user_id:this.props.userdata.id}).then((result) => {\r\n console.log(result);\r\n this.setState({ formSuccess: result.data, file: \"\", drugData: [] })\r\n axios\r\n .post(getAllDrugs, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.drug_id = element.drug_id;\r\n drugData.drug_name = element.drug_name;\r\n drugData.drug_type = element.drug_type;\r\n drugData.drug_category = element.drug_category;\r\n drugData.generic_name=element.generic_name;\r\n drugData.manufacturer = element.manufacturer;\r\n drugData.active_ingredients = element.active_ingredients;\r\n drugData.unit_of_measure = element.unit_of_measure;\r\n drugDataArr[index] = drugData;\r\n });\r\n \r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n};\r\n render() {\r\n\r\n let ExpirePopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let ExpirePopupConfirm = () => {\r\n window.location.href = \"/showsubscription\";\r\n\r\n };\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n const {\r\n drugData,\r\n drugTypes,\r\n drugCategories,\r\n errors,\r\n loading,\r\n searchTableSuccess,\r\n editformSuccess,\r\n tableSuccess,\r\n searchErrorMessage,\r\n hospitaltimeout,\r\n formSuccess,\r\n } = this.state;\r\n const modalVar = this.state.showDeleteConfirmPopup;\r\n\r\n return (\r\n
    \r\n {/* */}\r\n \r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {loading && } \r\n{/* {loading && } */}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Drug List

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Import Drug
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {/*
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    */}\r\n
    \r\n \r\n
    \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.drug_action === \"Add\"\r\n ? \"Add\"\r\n : \"Edit\"}{\" \"}\r\n / Search Drug
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n {searchErrorMessage ? (\r\n \r\n {searchErrorMessage}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n */}\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \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.drug_action === \"Add\"\r\n ? \"Add\"\r\n : \"Update\"}\r\n \r\n \r\n Search\r\n \r\n \r\n
    \r\n {\" \"}\r\n \r\n {\"\"}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    Search Drug
    \r\n
    \r\n
    \r\n
    \r\n {searchErrorMessage ? (\r\n \r\n {searchErrorMessage}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \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.handleStatusColumnChange(record)}\r\n options={onlineOptions}\r\n />\r\n );\r\n },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n \r\n }\r\n\r\n \r\n handleStatusColumnChange = (record) => {\r\n record.drug_status = \"Active\" === record.drug_status ? \"In-active\" : \"Active\";\r\n this.UpdateColumnChange(record);\r\n };\r\n\r\n UpdateColumnChange = (record) => {\r\n console.log(record);\r\n record.user_id = this.props.userdata.id;\r\n axios.post(updateDrugPlanningDetails, record, CONFIG).then((list) => {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n\r\n records[recIndex].drug_status = record.drug_status;\r\n // records[recIndex].supplier_id = record.supplier_id;\r\n // records[recIndex].category = record.category;\r\n // records[recIndex].type = record.type;\r\n // records[recIndex].manufacturer = record.manufacturer;\r\n // records[recIndex].order_unit= record.order_unit;\r\n // records[recIndex].min_lot=record.min_lot;\r\n // records[recIndex].max_lot = record.max_lot;\r\n // records[recIndex].discount = record.discount;\r\n // records[recIndex].gst = record.gst;\r\n // records[recIndex].price_per_unit = record.price_per_unit;\r\n // records[recIndex].status = record.status;\r\n // records[recIndex].user_id = record.user_id;\r\n // records[recIndex].id = record.id;\r\n\r\n this.setState({ records, tableSuccess: list.data });\r\n toast.success(\"Drug status updated \",{\r\n className:\"toast-success\"\r\n });\r\n this.clearMessage();\r\n });\r\n };\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n searchTableSuccess: { message: \"\" },\r\n editformSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n componentDidMount = () => {\r\n\r\n \r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getDrugPlanningDetails, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n \r\n drugList.forEach((element, index) => {\r\n console.log(element);\r\n let drugData = {};\r\n drugData = element\r\n \r\n drugData.s_no = index + 1;\r\n \r\n drugDataArr[index] = drugData;\r\n });\r\n\r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n \r\n };\r\n \r\n editRecord(record) {\r\n \r\n this.props.history.push(\r\n \"/editdrug/\" + record.id\r\n );\r\n }\r\n\r\n \r\n\r\n \r\n\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n\r\n cancelDelete() {\r\n this.setState({\r\n showDeleteConfirmPopup: !this.state.showDeleteConfirmPopup,\r\n });\r\n }\r\n\r\n deleteRecord(record) {\r\n let userId = record.id;\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deleteDrug, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\", loading: false });\r\n this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n \r\n })\r\n .catch(() => { });\r\n }\r\n \r\n\r\n render() {\r\n const {\r\n loading,\r\n searchTableSuccess,\r\n } = this.state;\r\n const modalVar = this.state.showDeleteConfirmPopup;\r\n\r\n return (\r\n
    \r\n {/* */}\r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Drug List

    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n Add Drug\r\n \r\n \r\n\r\n
    \r\n \r\n \r\n this.setState({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n
    \r\n {/* */}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Are you sure you want to delete this record? ?\r\n
    \r\n
    \r\n
    \r\n this.okDelete.bind(this)}\r\n >\r\n Ok\r\n \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(PharDrugList);\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport SideBar from \"../components/container/SideBar\";\r\nimport Header from \"../components/container/layout/business/Header\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nclass ClientCheckin 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
    Hospital Details
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Patient details
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n \r\n \r\n
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n
    \r\n\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\r\n
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\t\t\t\t\t\t\t\t\t
    Vital details
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Additional Check-in
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Patient nameDate of birthBlood GroupGenderRelationshipCheck in
    Kumar 12/12/2000O+MaleSon
    Mira10/02/1972-FemaleSpouse
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(ClientCheckin);","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../../assets/css/mystyle.css\";\r\nimport { getLabList } from \"../../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n \r\n { header: 'S.no', key: 's_no' },\r\n { header: 'Lab ID(5 chars)', key: 'laboratory_id' },\r\n { header: 'Lab Name', key: 'laboratory_name' },\r\n { header: 'Address', key: 'laboratory_location' },\r\n { header: 'Phone Number(10 chars)', key: 'phone_number' },\r\n { header: 'Email', key: 'email' },\r\n { header: ' Online Laboratory', key: 'online_prescription' },\r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'LabList';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n \r\n \r\n const newdata=props.records;\r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n newdata.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n });\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Laboratories List has been downloaded successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../../assets/css/mystyle.css\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n\r\n { header: 'Laboratory ID(5 Chars)', key: 'laboratory_id' },\r\n { header: 'Laboratory Name', key: 'laboratory_name' },\r\n { header: 'laboratory_location', key: 'laboratory_location' }, \r\n { header: 'online_prescription', key: 'online_prescription' },\r\n { header: 'Phone Number(10 Chars)', key: 'phone_number' },\r\n { header: 'Email', key: 'email' },\r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'LabTemplate';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n /* data.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n }); */\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Laboratory List Template has been generated successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../../components/UI/Popup\";\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport ToggleButton from \"../../components/UI/ToggleButton\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Label from \"../../components/UI/Label\";\r\nimport {\r\n getLabList,\r\n addLab,\r\n updateLab,\r\n deleteLab,\r\n getTimeoutbycategory,\r\n hospitallabimport,\r\n} from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport Select from \"react-select\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal';\r\nimport LabListExport from \"./LabListExport\";\r\nimport LabTemplate from \"./LabTemplate\";\r\nimport LoadingSpinner from \"../../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../../components/UI/Popupinfo\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\nconst onlineOptions = [\r\n { value: 1, label: \"Yes\" },\r\n { value: 0, label: \"No\" },\r\n];\r\n\r\nclass LabList extends Component {\r\n constructor(props) {\r\n \r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout=this.state;\r\nthis.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout:hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n \r\n records: [],\r\n\r\n addPopup: false,\r\n actions: \"add\",\r\n\r\n labData: {\r\n laboratory_id: \"\",\r\n laboratory_name: \"\",\r\n laboratory_location: \"\",\r\n phone_number: \"\",\r\n phone_code: \"+91\",\r\n online_prescription_obj: { value: \"\", label: \"\" },\r\n online_prescription: \"No\",\r\n checked: false,\r\n },\r\n\r\n errors: {\r\n laboratory_id: \"\",\r\n laboratory_name: \"\",\r\n laboratory_location: \"\",\r\n online_prescription: \"\",\r\n phone_number: \"\",\r\n phone_code: \"+91\",\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess : {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formaddSuccess : {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n tableaddSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"laboratory_id\",\r\n text: \"Laboratory ID\",\r\n className: \"laboratory_id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"laboratory_name\",\r\n text: \"Laboratory Name\",\r\n className: \"laboratory_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"laboratory_location\",\r\n text: \"Address\",\r\n className: \"laboratory_location\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Laboratory\",\r\n className: \"online_prescription sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n let obj = {\r\n label: record.online_prescription,\r\n value: \"Yes\" === record.online_prescription ? 1 : 0,\r\n };\r\n return (\r\n \r\n \r\n {/*
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    */}\r\n \r\n \r\n \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.actions === \"add\" ? \"Add\" : \"Edit\"} Laboratory
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.actions === \"add\" ? \"+ Add\" : \"Update\"}\r\n \r\n\r\n \r\n {\"Cancel\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* \r\n {this.state.actions === \"add\" ? \"+ Add\" : \"Update\"}\r\n \r\n\r\n \r\n {\"Cancel\"}\r\n */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps,mapDispatchToProps)(LabList));\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../../assets/css/mystyle.css\";\r\nimport { getPharmacyList } from \"../../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n \r\n { header: 'S.no', key: 's_no' },\r\n { header: 'Pharmacy ID(5 chars)', key: 'pharmacy_id' },\r\n { header: 'Pharmacy Name', key: 'pharmacy_name' },\r\n { header: 'Address', key: 'pharmacy_location' },\r\n { header: 'Phone Number(10 chars)', key: 'phone_number' },\r\n { header: 'Email', key: 'email' }, \r\n { header: ' Online Prescription', key: 'online_prescription' },\r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'PharmacyList';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n \r\n const newdata=props.records;\r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n newdata.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n });\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Pharmacies List has been downloaded successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../../assets/css/mystyle.css\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n\r\n { header: 'Pharmacy ID(5 Chars)', key: 'pharmacy_id' },\r\n { header: 'Pharmacy Name', key: 'pharmacy_name' },\r\n { header: 'Address', key: 'pharmacy_location' }, \r\n { header: 'Online Prescription', key: 'online_prescription' },\r\n { header: 'Email', key: 'email' },\r\n { header: 'Phone Number(10 Chars)', key: 'phone_number' },\r\n\r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'PharmacyListTemplate';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n /* data.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n }); */\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Pharmacy List Template has been generated successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getPharmacyList,\r\n addPharmacy,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport\r\n} from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport Select from \"react-select\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../../components/UI/Label\";\r\nimport PharmacyListExport from \"./PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../../components/UI/Popupinfo\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\n\r\nclass PharmacyList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n pharmacyData: {\r\n pharmacy_id: \"\",\r\n searchpharmacy_id:\"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address1: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n online_prescription_obj: { value: \"\", label: \"\" },\r\n online_prescription: \"\",\r\n pharmacy_verification:\"\",\r\n pharmacyuser_id:\"\"\r\n },\r\n\r\n errors: {\r\n pharmacy_id: \"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n online_prescription: \"\",\r\n pharmacy_verification:\"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n }\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_id\",\r\n text: \"Pharmacy ID\",\r\n className: \"pharmacy_id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Address\",\r\n className: \"pharmacy_location\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n \r\n {record.pharmacy_location}\r\n \r\n \r\n \r\n );\r\n\r\n }\r\n\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n // cell: (record) => {\r\n // let obj = {\r\n // label: record.online_prescription,\r\n // value: (\"Yes\" === record.online_prescription) ? 1 : 0\r\n // }\r\n // return (\r\n // \r\n \r\n {/*
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    */}\r\n \r\n \r\n \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.actions === \"add\"\r\n ? \"Add\"\r\n : \"Edit\"}{\" \"} / Search\r\n Pharmacy
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {searchErrorMessage !== \"\" ? (\r\n \r\n {searchErrorMessage}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleColumnChange(record)}\r\n options={availabilityOptions}\r\n />\r\n );\r\n },\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"total\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"occupied\",\r\n text: \"Occupied\",\r\n className: \"occupied\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"available\",\r\n text: \"Available\",\r\n className: \"available\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n \r\n }\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n\r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n \r\n};\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n console.log('user is active', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n\r\n UpdateColumnChange = (data) => {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios.put(updateFacility, data, CONFIG).then((list) => {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", data.id);\r\n\r\n records[recIndex].facility_id = data.facility_id;\r\n records[recIndex].facility_name = data.facility_name;\r\n records[recIndex].availability = data.availability;\r\n records[recIndex].facility_category = data.facility_category;\r\n records[recIndex].facility_category_id = data.facility_category_id;\r\n records[recIndex].occupied = data.occupied;\r\n // console.log(records[recIndex].available);\r\n // if (records[recIndex].availability === \"No\") {\r\n // records[recIndex].available = \"0\";\r\n // records[recIndex].occupied = records[recIndex].total;\r\n // }\r\n\r\n records[recIndex].available = data.available;\r\n records[recIndex].total = data.total;\r\n records[recIndex].id = data.id;\r\n\r\n this.setState({ records, tableSuccess: list.data });\r\n this.clearMessage();\r\n });\r\n };\r\n UpdateFacility = (e) => {\r\n e.preventDefault();\r\n let { facilityData, errors } = this.state;\r\n facilityData.type = \"facilityList\";\r\n this.setState({ loading: true });\r\n errors = Validation(facilityData, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n let data = this.state.facilityData;\r\n data.user_id = this.props.userdata.id;\r\n data.availability = data.facility_availability.label;\r\n data.facility_category_id = data.facility_category_obj.value;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let url = this.state.actions === \"add\" ? addFacility : updateFacility;\r\n if (this.state.actions === \"add\") {\r\n axios.post(url, data, CONFIG).then((list) => {\r\n if (0 === list.data.status) {\r\n this.setState({ loading: false });\r\n this.setState({ errors: { facility_id: list.data.message } });\r\n } else {\r\n let addFacility = {};\r\n addFacility.facility_id = data.facility_id;\r\n addFacility.facility_name = data.facility_name;\r\n addFacility.facility_category = data.facility_category_obj.label;\r\n addFacility.facility_category_id = data.facility_category_id;\r\n addFacility.availability = data.facility_availability.label;\r\n addFacility.id = list.data.data[0].id;\r\n addFacility.occupied = data.occupied;\r\n addFacility.available = data.available;\r\n addFacility.total = data.total;\r\n let records = this.state.records;\r\n addFacility.s_no = records.length + 1;\r\n records.push(addFacility);\r\n this.setState({ records });\r\n // this.setState({ formSuccess: list.data });\r\n toast.success(\"The Facility details have been added successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n } else {\r\n axios.put(url, data, CONFIG).then((list) => {\r\n if (0 === list.data.status) {\r\n this.setState({ loading: false });\r\n this.setState({ errors: { facility_id: list.data.message } });\r\n } else {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", data.id);\r\n\r\n records[recIndex].facility_id = data.facility_id;\r\n records[recIndex].facility_name = data.facility_name;\r\n records[recIndex].availability = data.facility_availability.label;\r\n records[recIndex].facility_category =\r\n data.facility_category_obj.label;\r\n records[recIndex].facility_category_id =\r\n data.facility_availability.value;\r\n records[recIndex].occupied = data.occupied;\r\n records[recIndex].available = data.available;\r\n records[recIndex].total = data.total;\r\n records[recIndex].id = data.id;\r\n\r\n this.setState({ records });\r\n // this.setState({ formSuccess: list.data });\r\n toast.success(\"The Facility details have been updated successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n clearErrors = (errors) => {\r\n errors.facility_id = \"\";\r\n errors.facility_name = \"\";\r\n errors.facility_category = \"\";\r\n errors.occupied = \"\";\r\n errors.availability = \"\";\r\n errors.available = \"\";\r\n errors.total = \"\";\r\n return errors;\r\n };\r\n\r\n cancel = () => {\r\n let data = this.state.facilityData;\r\n data.facility_id = \"\";\r\n data.facility_name = \"\";\r\n data.id = \"\";\r\n data.user_id = \"\";\r\n data.facility_category_obj = {};\r\n data.facility_availability = {};\r\n data.occupied = \"\";\r\n data.available = \"\";\r\n data.total = \"\";\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ facilityData: data, actions: \"add\", errors: errors });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n\r\n editRecord(record) {\r\n let facilityData = this.state.facilityData;\r\n facilityData.facility_id = record.facility_id;\r\n facilityData.facility_name = record.facility_name;\r\n facilityData.id = record.id;\r\n facilityData.user_id = record.user_id;\r\n facilityData.facility_category_obj = {\r\n label: record.facility_category,\r\n value: record.facility_category_id,\r\n };\r\n facilityData.facility_availability = {\r\n label: record.availability,\r\n value: \"Yes\" === record.availability ? 1 : 0,\r\n };\r\n facilityData.occupied = record.occupied;\r\n facilityData.available = record.available;\r\n facilityData.total = record.total;\r\n\r\n let errors = this.state.errors;\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n facilityData: facilityData,\r\n actions: \"edit\",\r\n errors: errors,\r\n });\r\n }\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllFacilities, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let facilitieslist = list.data.data;\r\n\r\n facilitieslist.forEach((element, index) => {\r\n let facility = {};\r\n facility.s_no = index + 1;\r\n facility.facility_id = element.FacilityId;\r\n facility.facility_name = element.FacilityName;\r\n facility.facility_category = element.FacilityCategory;\r\n facility.facility_category_id = element.FacilityCategoryId;\r\n facility.id = element.id;\r\n facility.availability = element.availability;\r\n facility.occupied = element.occupied;\r\n facility.available = element.available;\r\n facility.total = element.total;\r\n\r\n facilitieslist[index] = facility;\r\n });\r\n\r\n // let clientmedicinehistory = {};\r\n this.setState({ records: facilitieslist });\r\n })\r\n .catch((e) => { });\r\n\r\n axios\r\n .post(getAllFacilityCategory, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let facilityCategory = list.data.data;\r\n\r\n let facilityCategorylist = [];\r\n\r\n facilityCategory.forEach((element, index) => {\r\n facilityCategorylist.push({\r\n value: element.id,\r\n label: element.name,\r\n });\r\n });\r\n\r\n // let clientmedicinehistory = {};\r\n this.setState({ facilityCategory: facilityCategorylist });\r\n })\r\n .catch((e) => { });\r\n };\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n let userId = record.id;\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deleteFacility, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\", loading: false });\r\n // this.setState({ tableSuccess: res.data });\r\n toast.error(\"The Facility detail has been deleted successfully.\",{\r\n className:\"toast-error\"\r\n });\r\n this.clearMessage();\r\n })\r\n .catch((e) => { });\r\n }\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.facilityData;\r\n let errors=this.state.errors;\r\n data[e.name] = selectedOptions;\r\n errors.facility_category=\"\";\r\n if (data.facility_availability.value === 0) {\r\n data.available = \"0\";\r\n // data.occupied = data.total;\r\n } else {\r\n data.available = data.total - data.occupied;\r\n }\r\n this.setState({ facilityData: data });\r\n };\r\n handleselectavailabilityChange= (selectedOptions, e) => {\r\n let data = this.state.facilityData;\r\n let errors=this.state.errors;\r\n data[e.name] = selectedOptions;\r\n errors.availability=\"\";\r\n }\r\n handleColumnChange = (record) => {\r\n record.availability = \"Yes\" === record.availability ? \"No\" : \"Yes\";\r\n if (record.availability === \"No\") {\r\n record.available = \"0\";\r\n } else {\r\n record.available = record.total - record.occupied\r\n }\r\n this.UpdateColumnChange(record);\r\n };\r\n\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.facilityData;\r\n let errors = this.state.errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ facilityData: data, errors: errors });\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.facilityData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n //const re = /^[0-9\\b]+$/;\r\n let errors=this.state.errors;\r\n\r\n \r\n if (name === \"total\" || name === \"available\" || name === \"occupied\")\r\n {\r\n \r\n data[e.target.name] = e.target.value.replace(/[^0-9]/ig, '');\r\n errors.occupied=\"\";\r\n errors.total=\"\";\r\n errors.available=\"\";\r\n \r\n \r\n }\r\n if (data.facility_availability.value === 0) {\r\n data.available = \"0\";\r\n // data.occupied = data.total;\r\n \r\n data.available = data.total - data.occupied;\r\n }\r\n if (name === \"occupied\" || name === \"total\")\r\n {\r\n data.available = data.total - data.occupied;\r\n \r\n }\r\n else if (\r\n name === \"facility_id\" ||\r\n name === \"facility_name\" \r\n \r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n \r\n }\r\n\r\n this.setState({ facilityData: data });\r\n };\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n const {\r\n facilityData,\r\n facilityCategory,\r\n errors,\r\n formSuccess,\r\n tableSuccess,\r\n hospitaltimeout\r\n } = this.state;\r\n return (\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n

    Facility List

    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \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.actions === \"add\" ? \"Add\" : \"Edit\"} Facility
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \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.actions === \"add\" ? \"+ Add\" : \"Update\"}\r\n \r\n\r\n \r\n {\"Cancel\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps,mapDispatchToProps)(FacilityList));\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n// import FooterSection from \"../../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\n// import BusinessUserSideBar from \"../../components/container/SideBar\";\r\n// import Header from \"../../components/container/layout/business/Header\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport BottomNavigation from \"@material-ui/core/BottomNavigation\";\r\nimport BottomNavigationAction from \"@material-ui/core/BottomNavigationAction\";\r\nimport PersonIcon from \"@material-ui/icons/Person\";\r\nimport { Popup } from \"../../components/UI/Popup\";\r\nimport Label from \"../../components/UI/Label\";\r\nimport {\r\n getAllFacilities,\r\n addRoom,\r\n updateRoom,\r\n updateRoomAvailability,\r\n deleteRoom,\r\n getAllRooms,\r\n getTimeoutbycategory,\r\n getclientbyphonenumber,\r\n getDocByBusiness,getBusinessById,getAllBusinessUserList,admitPatient\r\n} from \"../../config/url.json\";\r\nimport * as moment from \"moment\";\r\n\r\nimport {\r\n getDateISOFormat,\r\n getPatientProfileColor,\r\n calculate_age,setDaysoftheWeek\r\n} from \"../../constants/globalLevelFunctions\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport Select from \"react-select\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Tooltip from '@mui/material/Tooltip';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\nconst availabilityOptions = [\r\n { value: \"Yes\", label: \"Yes\" },\r\n { value: \"No\", label: \"No\" },\r\n];\r\n\r\nconst roomStatus = [\r\n { value: \"Cleaned\", label: \"Cleaned\" },\r\n { value: \"Sanitised\", label: \"Sanitised\" },\r\n { value: \"Not-cleaned\", label: \"Not-cleaned\" },\r\n { value: \"In-progress\", label: \"In-progress\" },\r\n \r\n];\r\n\r\nconst initalValue = {\r\n from: \"\",\r\n to: \"\",\r\n totalDays: 0,\r\n patient_id:\"\",\r\n doctor_id:\"\",\r\n selectedDoc: \"\",\r\n \r\n errors: {\r\n selectedDoc: \"\",\r\n shift: \"\",\r\n to: \"\",\r\n patient_id:\"\",\r\n doctor_id:\"\",\r\n from: \"\",\r\n \r\n },\r\n};\r\nclass Rooms extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout=this.state;\r\n\r\n this.state = {\r\n searchData:{phone_number:\"\",error:\"\"},\r\n patientBasicData:[],\r\n all_nurse:[],\r\n selectedPerson:\"\",\r\n room_id:[],\r\n admitdata: initalValue,\r\n doctor_list: [],\r\n selected_doc: {},\r\n selected_nurse:{},\r\n openModal: false,\r\n selectedRoom:{},\r\n timeout:hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n records: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n facilityCategory: [],\r\n roomData: {\r\n id: \"\",\r\n room_id: \"\",\r\n description: \"\",\r\n facilities:\"\",\r\n status:\"\",\r\n price_per_day:\"\",\r\n is_available:\"\"\r\n },\r\n\r\n errors: {\r\n room_id: \"\",\r\n description: \"\",\r\n facilities:\"\",\r\n status:\"\",\r\n price_per_day:\"\",\r\n is_available:\"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"room_id\",\r\n text: \"Room ID\",\r\n className: \"room_id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n // {\r\n // key: \"description\",\r\n // text: \"Description\",\r\n // className: \"description\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // },\r\n\r\n {\r\n key: \"facilities_name\",\r\n text: \"Facilities\",\r\n className: \"facilities_name\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"status\",\r\n text: \"Room Status\",\r\n className: \"status\", \r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"price_per_day\",\r\n text: \"Price Per Day\",\r\n className: \"price_per_day\", \r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"admit_date\",\r\n text: \"Admission date\",\r\n className: \"admit_date\", \r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n \r\n return (\r\n record.is_patient_available == \"1\" ? record.admit_date:\"\"\r\n );\r\n },\r\n },\r\n {\r\n key: \"discharge_date\",\r\n text: \"Discharge date\",\r\n className: \"discharge_date\", \r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n \r\n return (\r\n record.is_patient_available == \"1\" ? record.discharge_date:\"\"\r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"is_available\",\r\n text: \"Availability\",\r\n className: \"is_available\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n let obj = {\r\n label: record.is_available,\r\n value: record.is_available,\r\n };\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    )}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {selectedRoom.is_patient_available==\"1\"?(\r\n
    {selectedRoom.nurse_name}
    \r\n ):(\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.handleDOBChange(date)}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n\r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \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.fileUploaded==true && this.state.clientData.user_id!==uploadedUser_id &&\r\n this.state.clientData.user_id!==undefined)?\r\n (

    Uploading Medical Images for other patient pls Wait...

    ):\"\"} */}\r\n\r\n {message.length > 0 && (\r\n
    \r\n
      \r\n {message.map((item, i) => {\r\n return
    • {item}
    • ;\r\n })}\r\n
    \r\n
    \r\n )}\r\n{/* {(this.state.fileUploaded==true && this.state.clientData.user_id==uploadedUser_id)?\r\n
    \r\n
    List of Files
    \r\n
      \r\n {fileInfos &&\r\n fileInfos.map((file, index) => (\r\n
    • \r\n {file.name}\r\n \"Document\"\r\n
    • \r\n ))}\r\n\r\n
    \r\n
    :\"\"}\r\n */}\r\n {/* {(this.state.clientData.user_id==uploadedUser_id)? \r\n
    \r\n {(this.fileArray ||[]).map(url => (\r\n \"...\"\r\n ))}\r\n
    :\"\"} */}\r\n
    \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.is_add_btn ? null : (\r\n \r\n )}\r\n \r\n \r\n \r\n
    \r\n {this.state.is_add_btn == true ?\r\n \r\n Add Patient{\" \"}\r\n : \r\n Add Patient{\" \"}\r\n }\r\n \r\n \r\n {this.state.is_check_in\r\n ? \"Checked-In\"\r\n : \"Check In\"}\r\n \r\n \r\n {\" \"}\r\n \r\n Reset\r\n \r\n
    \r\n\r\n \r\n \r\n \r\n Cancel Appointment\r\n \r\n \r\n \r\n
    \r\n

    \r\n Are you sure you want to cancel the appointment ?\r\n

    \r\n\r\n
    \r\n
    \r\n {\r\n this.setState({\r\n cancelModel: false,\r\n cancelRecord: {},\r\n });\r\n }}\r\n >\r\n No\r\n \r\n
    \r\n  \r\n
    \r\n \r\n Yes\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    Vital Details
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    Height */}\r\n
    Height\r\n \"\"\r\n
    \r\n
    \r\n\r\n
    \r\n {/*
    */}\r\n \r\n
    \r\n cm \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    Weight */}\r\n
    Weight\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n {/*
    */}\r\n \r\n
    \r\n {/* kg */}\r\n kg \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    Temp */}\r\n
    Temp\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n {/*
    */}\r\n \r\n
    \r\n {/* °F */}\r\n °F \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    BMI */}\r\n
    BMI\r\n \"\"\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n {/*
    */}\r\n \r\n
    \r\n BMI\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    BP */}\r\n
    BP\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n {/*
    */}\r\n \r\n
    \r\n mmHg \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    Pulse */}\r\n
    Pulse\r\n \"\"\r\n\r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n \r\n
    \r\n per min\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    Symptom List
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n {this.state.selectedSymptoms}\r\n\r\n {!this.state.is_check_in && this.state.symptoms.map((symptom, i) => {\r\n return (\r\n
    \r\n -1}\r\n\r\n />\r\n \r\n {symptom.symptom_name}\r\n \r\n
    \r\n );\r\n })}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Symptom Category
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {symptomCategory.map(\r\n (symptom, index) => {\r\n return (\r\n \r\n this.searchAndShowSymptom(\r\n symptom,\r\n index\r\n )\r\n }\r\n >\r\n {symptom.label}\r\n \r\n );\r\n }\r\n )}\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    )}\r\n\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(PatientCheckin));\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../../components/UI/Popup\";\r\nimport {\r\n getAllReferralDetails,\r\n updateReferralDetails,\r\n} from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport Select from \"react-select\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\n\r\nconst status = [\r\n { value: \"Pending\", label: \"Pending\" },\r\n { value: \"Accepted\", label: \"Accepted\" },\r\n];\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\nclass ReferralDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n records: [],\r\n\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"name\",\r\n text: \"Name\",\r\n className: \"name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"category\",\r\n text: \"Category\",\r\n className: \"category1\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email-Id\",\r\n className: \"email\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone number\",\r\n className: \"phone_number\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"credit_amount\",\r\n text: \"Credit Points\",\r\n className: \"credit_amount\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"points_redeemed_status\",\r\n text: \"Points status\",\r\n className: \"points_redeemed_status\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"status\",\r\n text: \"Status\",\r\n className: \"status\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n let obj = {\r\n label: record.status,\r\n value: record.status,\r\n };\r\n return (\r\n \r\n \r\n {/*
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    */}\r\n \r\n \r\n \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.actions === \"add\" ? \"Add\" : \"Edit\"} Medicine Supplies
    \r\n
    \r\n {/*
    \r\n \r\n
    \r\n */}\r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n \r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n );\r\n}\r\n}\r\n\r\nexport default connect(mapStateToProps)(PharmacyProfile);","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal'\r\nimport IdleTimer from 'react-idle-timer';\r\nimport Select from \"react-select\";\r\nimport BottomNavigation from \"@material-ui/core/BottomNavigation\";\r\nimport BottomNavigationAction from \"@material-ui/core/BottomNavigationAction\";\r\nimport TextArea from \"../components/UI/TextArea\";\r\nimport PersonIcon from \"@material-ui/icons/Person\";\r\nimport { ExpirePopup } from \"../components/UI/ExpirePopup\";\r\nimport * as moment from \"moment\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport Label from \"../components/UI/Label\";\r\nimport S3 from \"react-aws-s3\";\r\nimport {\r\n blood_group,\r\n gender,\r\n relationship,\r\n} from \"../constants/config/data\";\r\nimport {\r\n getPatientAppointmentColor, calculate_age\r\n} from \"../constants/globalLevelFunctions\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport {\r\n getMasterSymptoms,\r\n getTimeoutbycategory,\r\n UpdateQueueRemove,\r\n getTodayAppointmentbyphonenumber, getSymptomByCategory,addCheckinURL,\r\n updateclientappointmentstatus,saveClientAppointment,addMedicalrecordspath\r\n} from \"../config/url.json\";\r\nimport {clientmedimageconfig} from \"../../src/config/data\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport Dnaspinner from '../components/UI/Dnaspinner';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n }\r\n\r\nclass AppointmentCheckin extends Component {\r\n fileObj = [];\r\n fileArray = [];\r\n \r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.searchData = {\r\n phone_number: \"\",\r\n errors: \"\",\r\n };\r\n\r\n this.clientData = {\r\n\r\n user_id: \"\",\r\n business_user_id:\"\",\r\n id: \"\",\r\n relationship: {},\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n blood_group: \"\",\r\n doctor_name:\"\",\r\n\r\n // checkin_category: checkin_category,\r\n reason_for_visit: \"\",\r\n other_comments: \"\",\r\n\r\n //patient basic check up\r\n height: \"\",\r\n weight: \"\",\r\n bmi: \"\",\r\n temperature: \"\",\r\n bp: \"\",\r\n pulse: \"\",\r\n symptoms: \"\",\r\n };\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n selectedSymptoms: [],\r\n symptoms: [],\r\n activeIndex: '',\r\n cloneSymptoms: [],\r\n\r\n symptomCategory: [],\r\n patientBasicData: [],\r\n is_add_btn: false,\r\n searchData: this.searchData,\r\n showexpirePopup: true,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n loading: false,\r\n cancelModel: false,\r\n searchSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n clientData: this.clientData,\r\n errors: {},\r\n showModal: false,\r\n selectedFiles: undefined,\r\n progressInfos: [],\r\n message: [],\r\n\r\n fileInfos: [],\r\n file: [null],\r\n fileUploaded:false,\r\n uploadedUser_id:\"\",\r\n }\r\n\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.selectFiles = this.selectFiles.bind(this);\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n handleLogout = (e) => {\r\n\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n // this.props.logout();\r\n this.props.history.push(\"/\");\r\n\r\n };\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n // this.props.logout();\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n /* handleDOBChange = (date) => {\r\n let data = this.state.clientData;\r\n let errors = this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n data.date_of_birth = offsetDate;\r\n errors.date_of_birth = \"\";\r\n this.setState({ clientData: data, errors });\r\n }; */\r\n componentDidMount = () => {\r\n \r\n console.log(this.state.clientData.user_id); \r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getMasterSymptoms, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let symptomCategory = list.data.data;\r\n let symptomCategorylist = [];\r\n symptomCategory.forEach((element) => {\r\n symptomCategorylist.push({\r\n value: element.id,\r\n label: element.symptom_category,\r\n });\r\n });\r\n var result = symptomCategorylist.reduce((unique, o) => {\r\n if (!unique.some(obj => obj.label === o.label)) {\r\n unique.push(o);\r\n }\r\n return unique;\r\n }, []);\r\n\r\n result.push({ label: \"Others\", value: \"0\" })\r\n this.setState({ symptomCategory: result });\r\n })\r\n .catch(() => { });\r\n }\r\n cancelAppointment = () => {\r\n console.log(this.state.clientData)\r\n this.setState({\r\n cancelModel: true,\r\n });\r\n };\r\n handleReset = () => {\r\n // let data = this.state.clientData;\r\n let data = Object.assign({}, this.clientData);\r\n console.log(data);\r\n let errors = this.state.errors;\r\n errors = {};\r\n\r\n this.setState({\r\n clientData: data,\r\n selectedPerson: \"addNewFamilyPerson\",\r\n family_details: [],\r\n is_add_btn: false,\r\n disable_insert_queue: false,\r\n is_queued: false,\r\n is_check_in: false,\r\n expected_time: \"\",\r\n errors: errors,\r\n // symptoms:[],\r\n reason_for_visit: \"\",\r\n selectedSymptoms: [],\r\n selectedFiles:undefined,\r\n fileObj: [],\r\n fileArray : [],\r\n url:\"\",\r\n file:\"\",\r\n });\r\n };\r\n conformCancelAppointment = () => {\r\n console.log(this.state.clientData);\r\n let clientData = this.state.clientData;\r\n \r\n let data = { client_appt_id: clientData.client_appt_id, \"process\": \"Cancel\" }\r\n axios.post(saveClientAppointment, data).then((response) => {\r\n if (response.data.status === 1) {\r\n \r\n let req_data = {\r\n \r\n appt_status: 'Cancelled',\r\n client_appt_id: clientData.client_appt_id\r\n \r\n }\r\n axios\r\n .post(updateclientappointmentstatus, req_data, CONFIG)\r\n .then((res) => {console.log(res)}).catch((e) => {\r\n \r\n });\r\n \r\n let searchSuccess = {\r\n message: \"Your appointment was canceled successfully.\",\r\n status: \"1\",\r\n };\r\n toast.success(\"Your appointment was canceled successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.setState({ loading: false, cancelModel: false });\r\n this.clearMessage();\r\n this.handleReset();\r\n //update the check-in patient height, weigth and temperature\r\n // this.saveCheckInData();\r\n // this.getPatientDetail();\r\n this.reloadPage();\r\n \r\n }\r\n })\r\n \r\n \r\n .catch(() => {\r\n this.setState({ loading: false, cancelModel: false });\r\n alert(\"Error while update queue status\");\r\n });\r\n };\r\n getPatientDetail = () => {\r\n // event.preventDefault();\r\n\r\n let searchData = this.state.searchData;\r\n if (searchData.phone_number === \"\") {\r\n searchData.error = \"Phone number is required\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n if (searchData.phone_number.length !== 10) {\r\n searchData.error = \"Enter a valid phone number\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n // console.log(searchData);return false;\r\n if (searchData.phone_number !== \"\") {\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n getTodayAppointmentbyphonenumber,\r\n { phone_number: searchData.phone_number },\r\n CONFIG\r\n )\r\n .then((result) => {\r\n console.log(result);\r\n this.setState({ loading: false });\r\n this.handleReset();\r\n let patientBasicData = [];\r\n console.log(result.data.data.length)\r\n if (result.data.status === \"1\" && result.data.data.length) {\r\n let response = result.data.data;\r\n let is_queued = false, is_check_in = false;\r\n response.map((data) => {\r\n console.log(data);\r\n // data.reason_for_visit=\"\";\r\n is_queued = (data.status === \"SCHEDULED\" || data.status===\"RESCHEDULE\");\r\n is_check_in = (data.status === \"Check-In\"|| data.status===\"Consulting\");\r\n\r\n data.gender = { label: data.gender, value: data.gender };\r\n data.blood_group = {\r\n label: data.blood_group,\r\n value: data.blood_group,\r\n };\r\n\r\n data.date_of_birth = moment(\r\n data.date_of_birth,\r\n moment.defaultFormat\r\n ).toDate();\r\n\r\n if (!data.relationship) {\r\n data.relationship = {\r\n label: \"self\",\r\n value: \"self\",\r\n };\r\n } else {\r\n data.relationship = {\r\n label: data.relationship,\r\n value: data.relationship,\r\n };\r\n }\r\n\r\n\r\n data.height = data.height;\r\n\r\n data.weight = data.weight;\r\n data.bmi = data.bmi;\r\n data.temperature = data.temperature;\r\n data.bp = data.bp;\r\n data.pulse = data.pulse;\r\n data.queue_number = data.preference;\r\n data.reason_for_visit = data.reason_for_visit;\r\n data.symptoms = data.symptoms;\r\n data.other_comments = data.other_comments;\r\n data.business_user_id = data.business_user_id;\r\n patientBasicData.push(data);\r\n });\r\nconsole.log(patientBasicData);\r\n\r\n // let family_details = result.data.family_details;\r\n\r\n searchData.error = \"\";\r\n this.setState({\r\n // family_details: family_details,\r\n searchData: searchData,\r\n searchSuccess: result.data.message,\r\n is_queued: is_queued,\r\n is_check_in: is_check_in,\r\n // is_add_btn: false,\r\n });\r\n /* toast.success(\"Patient details listed Successfully. \", {\r\n className: \"toast-success\"\r\n }); */\r\n //By default select the parent profile picture in navigation icon\r\n\r\n //Family Details\r\n\r\n // family_details.map((data, i) => {\r\n\r\n // if (data.queue_data.length) {\r\n // data.queue_data = data.queue_data[0];\r\n // }\r\n // patientBasicData.push(data);\r\n // });\r\n\r\n this.setState({\r\n patientBasicData: patientBasicData,\r\n selectedPerson: result.data.data[0].client_id,\r\n });\r\n console.log(this.state.selectedPerson.value);\r\nconsole.log( result.data.data[0].client_appt_id);\r\n // console.log(data)\r\n this.setState({\r\n clientData: patientBasicData[0],\r\n\r\n });\r\n\r\n this.clearMessage();\r\n } else {\r\n console.log(result.data.message)\r\n searchData.error = \"No appoinment found\";\r\n this.setState({\r\n searchData,\r\n\r\n clientData: {},\r\n patientBasicData: [],\r\n loading: false,\r\n selectedPerson: \"\",\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n console.log(e.data);\r\n console.log(\"business user getbyid failed\");\r\n // searchData.error = e.data.message;\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n searchSuccess: { message: \"\" },\r\n loading:false\r\n }),\r\n\r\n 5000\r\n );\r\n };\r\n reloadPage = () => {\r\n this.handleReset();\r\n let patientBasicData = this.state.patientBasicData;\r\n patientBasicData = [];\r\n\r\n let searchData = this.state.searchData;\r\n searchData = { phone_number: \"\", errors: \"\" };\r\n\r\n let selectedPerson = this.state.selectedPerson;\r\n selectedPerson = \"\";\r\n\r\n this.setState({\r\n patientBasicData: patientBasicData,\r\n selectedPerson: selectedPerson,\r\n searchData: searchData,\r\n fileObj: [],\r\n fileArray : [],\r\n file:\"\"\r\n });\r\n };\r\n handlePhoneInput = (event) => {\r\n event.preventDefault();\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n data[event.target.name] = event.target.value\r\n .replace(/\\s/g, \"\")\r\n .replace(/[^0-9+]+/g, \"\");\r\n data.error = \"\";\r\n this.setState({ searchData: data, errors });\r\n };\r\n handleSymptomSearch = (e) => {\r\n let cloneSymptoms = this.state.cloneSymptoms;\r\n if (null == e.target.value || \"\" === e.target.value) {\r\n this.setState({\r\n symptoms: cloneSymptoms\r\n });\r\n } else {\r\n //let symptoms = this.state.symptoms;\r\n const filteredSymptopms = cloneSymptoms.filter(symptom => {\r\n return symptom.symptom_name.toLowerCase().includes(e.target.value.toLowerCase());\r\n });\r\n this.setState({\r\n symptoms: filteredSymptopms\r\n });\r\n }\r\n\r\n\r\n };\r\n selectSymptom = (symptom, e) => {\r\n const options = this.state.selectedSymptoms;\r\n let index;\r\n\r\n // check if the check box is checked or unchecked\r\n if (e.target.checked) {\r\n // add the numerical value of the checkbox to options array\r\n options.push(e.target.value);\r\n } else {\r\n // or remove the value from the unchecked checkbox from the array\r\n index = options.indexOf(e.target.value);\r\n options.splice(index, 1);\r\n }\r\n let selectedSymptoms = [];\r\n\r\n\r\n\r\n options.forEach((element) => {\r\n\r\n selectedSymptoms.push({\r\n value: element,\r\n label: element,\r\n });\r\n });\r\n this.setState({ selectedSymptoms: options });\r\n\r\n let consult = this.state.clientData;\r\n\r\n consult.symptoms = selectedSymptoms;\r\n\r\n\r\n this.setState({\r\n clientData: consult,\r\n });\r\n };\r\n selectCheckin = (details) => {\r\n\r\n let data = this.state.clientData;\r\n\r\n data = {\r\n first_name: details.first_name,\r\n last_name: details.last_name,\r\n phone_number: details.phone_number,\r\n user_id: details.user_id,\r\n business_user_id:details.business_user_id,\r\n doctor_name:details.doctor_name, \r\n id: details.id,\r\n date_of_birth: moment(\r\n details.date_of_birth,\r\n moment.defaultFormat\r\n ).toDate(),\r\n reason_for_visit: \"\",\r\n symptoms: \"\",\r\n height: \"\",\r\n weight: \"\",\r\n bmi: \"\",\r\n temperature: \"\",\r\n bp: \"\",\r\n pulse: \"\",\r\n selectedSymptoms: [],\r\n other_comments: \"\",\r\n selectedFiles:undefined,\r\n fileObj: [],\r\n fileArray : [],\r\n file:\"\"\r\n\r\n };\r\n\r\n if (\"string\" === typeof details.gender) {\r\n data.gender = {\r\n label: details.gender,\r\n value: details.gender,\r\n };\r\n } else {\r\n data.gender = details.gender;\r\n }\r\n\r\n if (\"string\" === typeof details.relationship) {\r\n data.relationship = {\r\n label: details.relationship,\r\n value: details.relationship,\r\n };\r\n } else {\r\n data.relationship = details.relationship;\r\n }\r\n\r\n if (\"string\" === typeof details.blood_group) {\r\n data.blood_group = {\r\n label: details.blood_group,\r\n value: details.blood_group,\r\n };\r\n } else {\r\n data.blood_group = details.blood_group;\r\n }\r\n\r\n //If queue data is present then show the paitent selected doctor\r\n\r\n let is_queued = false;\r\n let is_check_in = false;\r\n if (details.status != '') {\r\n\r\n is_queued = (details.status === \"SCHEDULED\" || details.status===\"RESCHEDULE\");\r\n is_check_in = (details.status === \"Check-In\"|| details.status===\"Consulting\");\r\n data.height = details.height ? details.height : \"\";\r\n\r\n data.weight = details.weight ? details.weight : \"\";\r\n data.bmi = details.bmi ? details.bmi : \"\";\r\n data.temperature = details.temperature ? details.temperature : \"\";\r\n data.bp = details.bp ? details.bp : \"\";\r\n data.pulse = details.pulse ? details.pulse : \"\";\r\n data.reason_for_visit = details.reason_for_visit;\r\n data.symptoms = details.symptoms;\r\n data.other_comments = details.other_comments;\r\n data.appt_time=details.appt_time;\r\n\r\n\r\n\r\n } else {\r\n data.height = details.height ? details.height : \"\";\r\n\r\n data.weight = details.weight ? details.weight : \"\";\r\n data.bmi = details.bmi ? details.bmi : \"\";\r\n data.temperature = details.temperature ? details.temperature : \"\";\r\n data.bp = details.bp ? details.bp : \"\";\r\n data.pulse = details.pulse ? details.pulse : \"\";\r\n data.reason_for_visit = details.reason_for_visit;\r\n data.symptoms = details.symptoms;\r\n data.other_comments = details.other_comments;\r\n }\r\ndata.client_appt_id = details.client_appt_id;\r\n\r\n this.setState({\r\n clientData: data,\r\n\r\n is_queued: is_queued,\r\n is_check_in: is_check_in,\r\n selectedPerson:data.client_id,\r\n is_add_btn: false,\r\n });\r\n };\r\n handleChange = ( event,newValue) => {\r\n this.handleReset();\r\n console.log(newValue);\r\n this.setState({\r\n selectedPerson: newValue,\r\n \r\n });\r\n console.log(this.state.patientBasicData);\r\n if (\"addNewFamilyPerson\" !== newValue) {\r\n let detail = this.state.patientBasicData.filter((obj) => obj.client_id === newValue);\r\n console.log(detail[0]);\r\n this.selectCheckin(detail[0]);\r\n }\r\n if(document.getElementById(\"uploadfile\").value!=\"\")\r\n {\r\n document.getElementById(\"uploadfile\").value = \"\";\r\n }\r\n };\r\n handlePatientChange(value, field) {\r\n let fields = this.state.clientData;\r\n let errors = this.state.errors;\r\n if (value === \"gender\") {\r\n fields.gender = field;\r\n errors.gender = \"\";\r\n // errors[i].specialization = '';\r\n } else if (value === \"reason_for_visit\") {\r\n fields.reason_for_visit = field;\r\n errors.reason_for_visit = \"\";\r\n\r\n } else if (value === \"blood_group\") {\r\n fields.blood_group = field;\r\n } else if (value === \"emergency_schedule\") {\r\n fields.emergency_schedule = field;\r\n } else if (value === \"checkin_category\") {\r\n fields.checkin_category = field;\r\n\r\n if (field.label === \"Normal\") {\r\n this.setState({ disable_insert_queue: false });\r\n } else {\r\n this.setState({ disable_insert_queue: true });\r\n }\r\n this.getQueueList();\r\n } else if (value === \"disease\") {\r\n fields.disease = field;\r\n // errors[i].specialization = '';\r\n } else if (value === \"relationship\") {\r\n fields.relationship = field;\r\n errors.relationship = \"\";\r\n }\r\n\r\n this.setState({\r\n clientData: fields,\r\n });\r\n }\r\n searchAndShowSymptom(searchData, index) {\r\n\r\n let data = {};\r\n data.symptom_category = searchData.label;\r\n data.user_id = this.props.userdata.id;\r\n console.log(data.user_id);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(getSymptomByCategory, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let errors=this.state;\r\n let result = searchres.data;\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n let symptoms = [];\r\n records.forEach((element) => {\r\n symptoms.push({\r\n symptom_name: element.symptom_name,\r\n id: element.id,\r\n });\r\n });\r\n errors.symptoms=\"\";\r\n this.setState({\r\n symptoms: symptoms,\r\n cloneSymptoms: symptoms,\r\n // consult: { symptoms: symptoms[0].symptom_name },\r\n activeIndex: index,\r\n errors:errors\r\n // selectedSymptoms: [],\r\n });\r\n } else {\r\n this.setState({\r\n symptoms: [],\r\n // consult: { symptoms: [] },\r\n activeIndex: index,\r\n // selectedSymptoms: [],\r\n });\r\n }\r\n });\r\n });\r\n }\r\n handleCheckin = (event) => {\r\n //socketObj.emit(\"queueStatusChanged\", () => { });\r\n\r\n event.preventDefault();\r\n let clientData = this.state.clientData;\r\n let searchData = this.state.searchData;\r\n console.log(clientData)\r\n if(clientData.status === \"Check-In\"){\r\n return ;\r\n }\r\n if (searchData.phone_number === \"\") {\r\n return;\r\n }\r\n let errors = {};\r\n if (!this.state.clientData.reason_for_visit) {\r\n errors.reason_for_visit = \"Please choose a diagnosis\";\r\n this.setState({ errors: errors });\r\n return;\r\n } else {\r\n errors.reason_for_visit = \"\";\r\n this.setState({ errors: errors });\r\n }\r\n if (this.state.clientData.symptoms==\"\"||this.state.clientData.symptoms==null||this.state.clientData.symptoms==undefined) {\r\n errors.symptoms = \"Please choose the symptoms\";\r\n this.setState({ errors: errors });\r\n return;\r\n } else {\r\n errors.symptoms = \"\";\r\n this.setState({ errors: errors });\r\n }\r\n\r\n \r\n // console.log(clientData);return false;\r\n this.setState({ loading: true });\r\n let Checkindata = {\r\n business_id: this.props.userdata.id,\r\n business_user_id:clientData.business_user_id,\r\n\r\n client_id: clientData.user_id,\r\n reason_for_visit: clientData.reason_for_visit,\r\n other_comments: clientData.other_comments,\r\n height: clientData.height,\r\n weight: clientData.weight,\r\n bmi: clientData.bmi,\r\n temperature: clientData.temperature,\r\n bp: clientData.bp,\r\n pulse: clientData.pulse,\r\n q_id: clientData.client_appt_id,\r\n symptoms: clientData.symptoms\r\n };\r\n console.log(Checkindata);\r\n axios\r\n .post(addCheckinURL, Checkindata, CONFIG)\r\n .then((result) => {\r\n\r\n\r\n let req_data = {\r\n \r\n appt_status: 'Check-In',\r\n client_appt_id: clientData.client_appt_id\r\n \r\n }\r\n axios\r\n .post(updateclientappointmentstatus, req_data, CONFIG)\r\n .then((res) => {\r\n console.log(res);\r\n if (result.data.status === \"1\") {\r\n // let searchSuccess = {\r\n // message: \"Patient Check-In details added successfully\",\r\n // status: \"1\",\r\n // };\r\n toast.success(\"Your Patient has been checked in successfully. \", {\r\n className: \"toast-success\"\r\n });\r\n searchData.phone_number = \"\";\r\n searchData.error=\"\";\r\n\r\n \r\n \r\n \r\n }\r\n \r\n // this.getPatientDetail();\r\n this.reloadPage();\r\n this.clearMessage();\r\n }).catch(() => {\r\n \r\n });\r\n console.log(result.data); //return false;\r\n \r\n })\r\n .catch((e) => {\r\n let searchSuccess = {\r\n message: e.data,\r\n status: \"0\",\r\n };\r\n this.setState({ searchSuccess, loading: false });\r\n this.clearMessage();\r\n });\r\n };\r\n handleInput = (e) => {\r\n e.preventDefault();\r\n let data = this.state.clientData;\r\n data[e.target.name] = e.target.value;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n \r\n if (e.target.name === 'height' || e.target.name === 'weight') {\r\n \r\n data.bmi = ((data.weight /\r\n data.height /\r\n data.height) *\r\n 10000).toFixed(1);\r\n \r\n }\r\n \r\n if (\r\n name === \"first_name\" ||\r\n name === \"last_name\"\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else if (e.target.name === \"height\" || e.target.name === \"weight\" || e.target.name === \"pulse\") {\r\n data[e.target.name] = e.target.value.replace(/[^0-9]/ig, '');\r\n }\r\n else if (e.target.name === \"bp\") {\r\n data[e.target.name] = e.target.value.replace(/[^0-9+\\-\\/\\*\\(\\)]/ig, '');\r\n }\r\n else if (e.target.name === \"temperature\") {\r\n data[e.target.name] = e.target.value.replace(/[^0-9]^[+-]?\\d*(?:[.,]\\d*)?$/ig, '');\r\n }\r\n else {\r\n \r\n data[name] = value;\r\n \r\n }\r\n this.setState({ clientData: data });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.clientData;\r\n let errors = this.state.errors;\r\n \r\n \r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n \r\n }\r\n this.setState({ clientData: data, errors });\r\n }\r\n render() {\r\n const { searchSuccess, errors, symptomCategory, activeIndex, hospitaltimeout,message,selectedFiles,loading } = this.state;\r\n let disease_array = this.props.appdata\r\n ? this.props.appdata[0].diseases\r\n : [];\r\n let disease = [];\r\n disease_array.forEach((element) => {\r\n disease.push({\r\n label: element.disease_name,\r\n value: element.disease_name,\r\n });\r\n });\r\n disease_array = disease;\r\n let PopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n let PopupConfirm = () => {\r\n window.location.href = \"/showsubscription\"\r\n // this.props.history.push({\r\n // pathname: \"/showsubscription\",\r\n // state: {}\r\n // });\r\n };\r\n\r\n\r\n return (\r\n
    \r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n \r\n {/* */}\r\n {loading && }\r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n
    \r\n\r\n
    \r\n\r\n

    Hospital Details

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n  \r\n \r\n  \r\n \r\n \r\n \r\n
    \r\n Search\r\n \r\n \r\n \r\n Reset\r\n \r\n \r\n {this.state.patientBasicData.length ? (\r\n \r\n Cancel\r\n \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.patientBasicData.length === 0 ? (\r\n \"\"\r\n ) : (\r\n
    \r\n\r\n \r\n {this.state.patientBasicData.map((data) => {\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
    Patient Details
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.clientData.relationship &&\r\n this.state.clientData.relationship.label ===\r\n \"self\" ? (\r\n \r\n ) : (\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n option.label === \"Normal\"\r\n ) && this.state.clientData.checkin_category}\r\n onChange={this.handlePatientChange.bind(\r\n this,\r\n \"checkin_category\"\r\n )}\r\n options={checkin_category}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.clientData.checkin_category && this.state.clientData.checkin_category.label === 'Normal' ? () : (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n */}\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.clientData.appt_time}\r\n
    \r\n\r\n
    \r\n \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.selectedPerson!==undefined || this.state.selectedPerson!==\"\")?(\r\n
    \r\n
    ):\"\"}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {this.state.is_add_btn ? null : (\r\n \r\n )}\r\n \r\n \r\n \r\n
    \r\n {/* {this.state.is_add_btn == true ?\r\n \r\n Add Patient{\" \"}\r\n : \r\n Add Patient{\" \"}\r\n } */}\r\n \r\n \r\n {this.state.is_check_in\r\n ? \"Checked-In\"\r\n : \"Check In\"}\r\n \r\n \r\n {\" \"}\r\n \r\n Reset\r\n \r\n
    \r\n\r\n \r\n \r\n \r\n Cancel Appointment\r\n \r\n \r\n \r\n
    \r\n

    \r\n Are you sure you want to Cancel the appoinment ?\r\n

    \r\n\r\n
    \r\n
    \r\n {\r\n this.setState({\r\n cancelModel: false,\r\n cancelRecord: {},\r\n });\r\n }}\r\n >\r\n No\r\n \r\n
    \r\n  \r\n
    \r\n \r\n Yes\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    Vital Details
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Height\r\n \"\"\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n {/* cm */}\r\n cm \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Weight\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n kg \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Temp\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {/* °F */}\r\n °F \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    BMI\r\n {/*
    BMI */}\r\n \"\"\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n BMI\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    BP\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n mmHg \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Pulse\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n per min\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Symptom List
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n {this.state.selectedSymptoms}\r\n\r\n {this.state.symptoms.map((symptom) => {\r\n return (\r\n
    \r\n -1}\r\n\r\n />\r\n \r\n {symptom.symptom_name}\r\n \r\n
    \r\n );\r\n })}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Symptom Category
    \r\n
    \r\n
    \r\n
    \r\n {symptomCategory.map(\r\n (symptom, index) => {\r\n return (\r\n \r\n this.searchAndShowSymptom(\r\n symptom,\r\n index\r\n )\r\n }\r\n >\r\n {symptom.label}\r\n \r\n );\r\n }\r\n )}\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n selectFiles(event) {\r\n /* this.setState({\r\n progressInfos: [],\r\n selectedFiles: event.target.files,\r\n }); */\r\n \r\n let selectedFiles= event.target.files;\r\n this.fileObj.push(selectedFiles);\r\n /* const MAX_LENGTH = 11;\r\n if (Array.from(event.target.files).length > MAX_LENGTH) {\r\n event.preventDefault();\r\n alert(`Cannot upload files more than ${MAX_LENGTH}`);\r\n return;\r\n } */\r\n // console.log(this.fileObj[0].length);\r\n if(this.fileObj[0].length>=11)\r\n {\r\n alert('exceeds');\r\n }else{\r\n // let a=this.fileObj[0].length;\r\n \r\n for (let i = 0; i < this.fileObj[0].length; i++) {\r\n \r\n // console.log(this.fileObj[0][i]);\r\n // this.fileArray.push(URL.createObjectURL(this.fileObj[0][i]))\r\n \r\n let file = event.target.files[i];\r\n // console.log(event.target.files[i]);\r\n let newfileName = event.target.files[i].name;\r\n console.log(newfileName);\r\n let uploadedUser_id=this.state.selectedPerson;\r\n // console.log(imageconfig);\r\n clientmedimageconfig.dirName = 'client_previous_medicalrecords/' + uploadedUser_id\r\n const reacts3client = new S3(clientmedimageconfig);\r\n console.log(reacts3client)\r\n reacts3client.uploadFile(file, newfileName).then(data => {\r\n console.log(data);\r\n \r\n console.log(data.location);\r\n if (data.status === 204) {\r\n console.log('success');\r\n \r\n let resultdata = {\r\n 'client_id': this.state.clientData.user_id,\r\n 'business_id':this.props.userdata.id,\r\n 'image_url': data.location,\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios.post(addMedicalrecordspath, resultdata, CONFIG).then(() => {\r\n let searchSuccess = {\r\n message: \"Medical records uploaded successfully\",\r\n status: \"1\",\r\n };\r\n this.setState({ searchSuccess ,uploadedUser_id,selectedFiles:undefined });\r\n \r\n })\r\n \r\n } else {\r\n console.log('error');\r\n // this.setState({ profile_img: URL.createObjectURL(file), addPopup: false });\r\n }\r\n });\r\n }\r\n \r\n // this.setState({ file: this.fileArray })\r\n }\r\n }\r\n}\r\n\r\nexport default withRouter(connect(\r\n mapStateToProps,mapDispatchToProps\r\n)(AppointmentCheckin));","\r\nimport React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\n\r\nimport BusinessUserSideBar from \"../../components/container/SideBar\";\r\nimport Header from \"../../components/container/layout/business/Header\";\r\n\r\nimport { Spinner } from \"../../components/UI/Spinner\";\r\n\r\nimport LabList from \"./LabList\";\r\nimport PharmacyList from \"./PharmacyList\";\r\nimport FacilityList from \"./FacilityList\";\r\nimport Rooms from \"./Rooms\";\r\nimport PatientCheckin from \"./PatientCheckin\";\r\nimport ReferralDetails from \"./ReferralDetails\";\r\nimport BusinessuserProfile from \"./BusinessuserProfile\";\r\nimport ClientProfile from \"./ClientProfile\";\r\nimport MedicineSupplies from \"../../views/MedicineSupplies\";\r\nimport PharmacyProfile from \"./PharmacyProfile\";\r\nimport ExpirePopup from \"../../components/UI/ExpirePopup\";\r\nimport AppointmentCheckin from \"../../views/AppointmentCheckin\";\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n\r\n };\r\n}\r\n\r\n\r\nclass BusinessLayout extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showexpirePopup: this.props.validity,\r\n };\r\n }\r\n\r\n\r\n getPage = () => {\r\n if (\"MedicineSupplies\" === this.props.page) {\r\n return ;\r\n }\r\n else if (\"labList\" === this.props.page) {\r\n console.log(this.props);\r\n return ;\r\n } else if (\"patientCheckin\" === this.props.page) {\r\n return ;\r\n } else if (\"appointmentCheckin\" === this.props.page) {\r\n return ;\r\n } else if (\"facilityList\" === this.props.page) {\r\n return ;\r\n } else if (\"pharmacyList\" === this.props.page) {\r\n return ;\r\n } else if (\"pharmacyProfile\" === this.props.page) {\r\n return ;\r\n } else if (\"ReferralDetails\" === this.props.page) {\r\n\r\n return ;\r\n } else if (\"businessuserProfile\" === this.props.page) {\r\n\r\n return ;\r\n } else if (\"clientProfile\" === this.props.page) {\r\n return ;\r\n }\r\n else if (\"rooms\" === this.props.page) {\r\n return ;\r\n }\r\n };\r\n\r\n render() {\r\n\r\n let PopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let PopupConfirm = () => {\r\n window.location.href = \"/showsubscription\";\r\n\r\n };\r\n return (\r\n
    \r\n {(\"ReferralDetails\" === this.props.page || \"businessuserProfile\" === this.props.page) ? \"\" : (\r\n )}\r\n\r\n {/* */}\r\n \r\n
    \r\n
    \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.getPage()}\r\n \r\n
    \r\n {/* */}\r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(BusinessLayout);\r\n","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\n\r\nfunction SideBar(props) {\r\n const handleLogout = (e) => {\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n props.logout();\r\n props.history.push(\"/\");\r\n };\r\n const [click, setClick] = React.useState(false);\r\n const handleClick = () => setClick(!click);\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 Dashboard\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n News Feeds\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Offers\r\n \r\n
    • \r\n\r\n
    • \r\n \r\n \r\n Footer Advertisement\r\n\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Notifications\r\n\r\n \r\n
    • \r\n\r\n
    • \r\n \r\n \r\n \r\n Promocode\r\n\r\n \r\n
    • \r\n\r\n
    • \r\n \r\n \r\n Master Drug Import\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Speciality Management\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Master Symptom Import\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Subscription Plan\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Advertisement Management\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Hospital List\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Doctor List\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Patient List\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Pharmacy List\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Lab List\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Timeout\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Service Charges\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Doctor Count Subscription\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Transfer type for Stock\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Queue Report\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Appointment Report\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Queue Completed Report\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n Appt Completed Report\r\n \r\n
    • \r\n\r\n
    • \r\n \r\n \r\n Video Upload\r\n \r\n
    • \r\n\r\n
    • \r\n \r\n \r\n Sign out\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 loggedIn: state.AuthReducer.loggedIn,\r\n user: state.AuthReducer.user,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n};\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(SideBar)\r\n);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n\r\n };\r\n}\r\n\r\n\r\nclass Header 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\nexport default connect(\r\n mapStateToProps,\r\n)(Header);","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport * as moment from \"moment\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport {\r\n getAllPromocode,\r\n\r\n addpromocode,\r\n updatepromocode,\r\n deletepromocode,\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Validation from \"../actions/Validation\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport FooterSection from '../components/UI/FooterSection';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\n\r\nclass Promocode extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n records: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n\r\n promocodeData: {\r\n id: \"\",\r\n promo_code: \"\",\r\n percentage: \"\",\r\n expires_at: \"\",\r\n\r\n },\r\n\r\n errors: {\r\n promo_code: \"\",\r\n percentage: \"\",\r\n expires_at: \"\",\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"id\",\r\n text: \"Id\",\r\n className: \"hidden-column\",\r\n TrOnlyClassName: \"hidden-column\",\r\n\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"promo_code\",\r\n text: \"Promo code\",\r\n className: \"promo_code\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"percentage\",\r\n text: \"Percentage\",\r\n className: \"percentage\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n\r\n {\r\n key: \"expires_at\",\r\n text: \"Expires at\",\r\n className: \"expires_at\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n UpdateColumnChange = (data) => {\r\n\r\n axios.put(updatepromocode, data, CONFIG).then((list) => {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", data.id);\r\n\r\n records[recIndex].promo_code = data.promo_code;\r\n records[recIndex].percentage = data.percentage;\r\n records[recIndex].expires_at = data.expires_at;\r\n records[recIndex].id = data.id;\r\n\r\n this.setState({ records, tableSuccess: list.data });\r\n this.clearMessage();\r\n });\r\n };\r\n Updatepromocode = (e) => {\r\n e.preventDefault();\r\n let { promocodeData, errors } = this.state;\r\n let data = {};\r\n data.type = \"promocodeList\";\r\n data.expires_at = promocodeData.expires_at ? moment(promocodeData.expires_at).format(\"YYYY-MM-DD\") : \"\";\r\n data.promo_code = promocodeData.promo_code;\r\n data.percentage = promocodeData.percentage;\r\n this.setState({ loading: true });\r\n errors = Validation(data, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n // console.log(data); return false;\r\n\r\n let url = this.state.actions === \"add\" ? addpromocode : updatepromocode;\r\n if (this.state.actions === \"add\") {\r\n axios.post(url, data, CONFIG).then((list) => {\r\n if ('0' === list.data.status) {\r\n this.setState({ loading: false });\r\n\r\n this.setState({ errors: { promo_code: list.data.message } });\r\n } else {\r\n let addpromocode = {};\r\n addpromocode.promo_code = data.promo_code;\r\n addpromocode.percentage = data.percentage;\r\n addpromocode.expires_at = moment(data.expires_at).format('DD-MM-YYYY');\r\n\r\n addpromocode.id = list.data.data;\r\n\r\n let records = this.state.records;\r\n addpromocode.s_no = records.length + 1;\r\n records.push(addpromocode);\r\n this.setState({ records, formSuccess: list.data });\r\n\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n } else {\r\n data.id = promocodeData.id;\r\n console.log(data)\r\n axios.put(url, data, CONFIG).then((list) => {\r\n if ('0' === list.data.status) {\r\n this.setState({ loading: false });\r\n this.setState({ errors: { promocode_id: list.data.message } });\r\n } else {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", data.id);\r\n console.log(recIndex);\r\n console.log(records);\r\n records[recIndex].promo_code = data.promo_code;\r\n records[recIndex].percentage = data.percentage;\r\n records[recIndex].expires_at = moment(data.expires_at).format('DD-MM-YYYY');\r\n records[recIndex].id = data.id;\r\n\r\n this.setState({ records, formSuccess: list.data });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n clearErrors = (errors) => {\r\n errors.promo_code = \"\";\r\n errors.percentage = \"\";\r\n errors.expires_at = \"\";\r\n return errors;\r\n };\r\n\r\n cancel = () => {\r\n let data = this.state.promocodeData;\r\n data.promo_code = \"\";\r\n data.percentage = \"\";\r\n data.id = \"\";\r\n data.expires_at = \"\";\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ promocodeData: data, actions: \"add\", errors: errors });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n\r\n editRecord(record) {\r\n console.log(record)\r\n let promocodeData = {};\r\n promocodeData.promo_code = record.promo_code;\r\n promocodeData.percentage = record.percentage;\r\n promocodeData.id = record.id;\r\n\r\n promocodeData.expires_at = moment(\r\n record.expires_at,\r\n moment.defaultFormat\r\n ).toDate();\r\n console.log(promocodeData)\r\n let errors = this.state.errors;\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n promocodeData: promocodeData,\r\n actions: \"edit\",\r\n errors: errors,\r\n });\r\n }\r\n componentDidMount = () => {\r\n\r\n axios\r\n .post(getAllPromocode, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let promocodelist = list.data.data;\r\n\r\n promocodelist.forEach((element, index) => {\r\n let promocode = {};\r\n promocode.s_no = index + 1;\r\n promocode.promo_code = element.promo_code;\r\n promocode.expires_at = moment(element.expires_at).format('DD-MM-YYYY');\r\n promocode.percentage = element.percentage;\r\n promocode.id = element.id;\r\n\r\n promocodelist[index] = promocode;\r\n });\r\n\r\n // let clientmedicinehistory = {};\r\n console.log(promocodelist)\r\n this.setState({ records: promocodelist });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n };\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n let userId = record.id;\r\n this.setState({ loading: true });\r\n\r\n axios\r\n .delete(deletepromocode, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\", loading: false });\r\n this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.promocodeData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n const re = /^[0-9\\b]+$/;\r\n if (name === \"percentage\") {\r\n if (value === \"\" || re.test(value)) {\r\n data[name] = value;\r\n }\r\n } else {\r\n data[name] = value;\r\n }\r\n\r\n this.setState({ promocodeData: data });\r\n };\r\n handleExpiresatChange = (date) => {\r\n let promocodeData = this.state.promocodeData;\r\n promocodeData.expires_at = date;\r\n this.setState({ promocodeData: promocodeData });\r\n };\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const {\r\n promocodeData,\r\n\r\n errors,\r\n formSuccess,\r\n tableSuccess,\r\n } = this.state;\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

    Promocode List

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {this.state.actions === \"add\" ? \"Add\" : \"Edit\"} promocode
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \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.handleExpiresatChange(date)}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n \r\n
    \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.actions === \"add\" ? \"+ Add\" : \"Update\"}\r\n \r\n\r\n \r\n {\"Cancel\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(Promocode);","\r\nimport React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\n\r\n\r\nimport {\r\n getallfooterad,\r\n\r\n addfooterad,\r\n updatefooterad,\r\n} from \"../config/url.json\";\r\nimport S3 from \"react-aws-s3\";\r\nimport { CONFIG, imageconfig } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Validation from \"../actions/Validation\";\r\nimport FooterSection from '../components/UI/FooterSection';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\nconst status = [\r\n { value: \"Active\", label: \"Active\" },\r\n { value: \"In-active\", label: \"In-active\" },\r\n];\r\n\r\nconst availabilityOptions = [\r\n { value: 1, label: \"Yes\" },\r\n { value: 0, label: \"No\" },\r\n];\r\n\r\nclass FooterAdverdisement extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n records: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n\r\n footerData: {\r\n id: \"\",\r\n footer_adverdisement: \"\",\r\n status: \"\",\r\n\r\n\r\n },\r\n\r\n errors: {\r\n id: \"\",\r\n footer_adverdisement: \"\",\r\n status: \"\",\r\n\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n vendor_image_url: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"id\",\r\n text: \"Id\",\r\n className: \"hidden-column\",\r\n TrOnlyClassName: \"hidden-column\",\r\n\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"footer_adverdisement\",\r\n text: \"Footer Advertisment\",\r\n className: \"footer_adverdisement\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n\r\n return (\r\n );\r\n },\r\n },\r\n {\r\n key: \"status\",\r\n text: \"Status\",\r\n className: \"status\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n\r\n\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.onDeleteClick(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n UpdateColumnChange = (data) => {\r\n\r\n axios.put(updatefooterad, data, CONFIG).then((list) => {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", data.id);\r\n\r\n records[recIndex].footer_adverdisement = data.footer_adverdisement;\r\n records[recIndex].status = data.status;\r\n // records[recIndex].expires_at = data.expires_at;\r\n records[recIndex].id = data.id;\r\n\r\n this.setState({ records, tableSuccess: list.data });\r\n this.clearMessage();\r\n });\r\n };\r\n updatefooterad = (e) => {\r\n e.preventDefault();\r\n let { footerData, errors } = this.state;\r\n let data = {};\r\n data.type = \"footerAd\";\r\n // data.expires_at = footerData.expires_at ? moment(footerData.expires_at).format(\"YYYY-MM-DD\") : \"\";\r\n data.footer_adverdisement = footerData.footer_adverdisement;\r\n data.status = footerData.status.value;\r\n this.setState({ loading: true });\r\n errors = Validation(data, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n // console.log(data); return false;\r\n\r\n let url = this.state.actions === \"add\" ? addfooterad : updatefooterad;\r\n if (this.state.actions === \"add\") {\r\n axios.post(url, data, CONFIG).then((list) => {\r\n if ('0' === list.data.status) {\r\n this.setState({ loading: false });\r\n\r\n this.setState({ errors: { footer_adverdisement: list.data.message } });\r\n } else {\r\n let addfooterad = {};\r\n addfooterad.footer_adverdisement = data.footer_adverdisement;\r\n addfooterad.status = data.status;\r\n // addfooterad.expires_at = moment(data.expires_at).format('DD-MM-YYYY');\r\n\r\n addfooterad.id = list.data.data;\r\n\r\n let records = this.state.records;\r\n addfooterad.s_no = records.length + 1;\r\n records.push(addfooterad);\r\n this.setState({ records, formSuccess: list.data });\r\n\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n } else {\r\n data.id = footerData.id;\r\n console.log(data)\r\n axios.post(url, data, CONFIG).then((list) => {\r\n if ('0' === list.data.status) {\r\n this.setState({ loading: false });\r\n this.setState({ errors: { footer_adverdisement: list.data.message } });\r\n } else {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", data.id);\r\n console.log(recIndex);\r\n console.log(records);\r\n records[recIndex].footer_adverdisement = data.footer_adverdisement;\r\n records[recIndex].status = data.status;\r\n // records[recIndex].expires_at = moment(data.expires_at).format('DD-MM-YYYY');\r\n records[recIndex].id = data.id;\r\n\r\n this.setState({ records, formSuccess: list.data });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n clearErrors = (errors) => {\r\n errors.footer_adverdisement = \"\";\r\n errors.status = \"\";\r\n // errors.expires_at = \"\";\r\n return errors;\r\n };\r\n\r\n cancel = () => {\r\n let data = this.state.footerData;\r\n data.footer_adverdisement = \"\";\r\n data.status = \"\";\r\n data.id = \"\";\r\n // data.expires_at = \"\";\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ footerData: data, actions: \"add\", errors: errors });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n\r\n editRecord(record) {\r\n console.log(record)\r\n let footerData = {};\r\n footerData.footer_adverdisement = record.footer_adverdisement;\r\n footerData.status = { \"label\": record.status, \"value\": record.status };\r\n footerData.id = record.id;\r\n\r\n\r\n console.log(footerData)\r\n let errors = this.state.errors;\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n footerData: footerData,\r\n actions: \"edit\",\r\n errors: errors,\r\n });\r\n }\r\n componentDidMount = () => {\r\n\r\n axios\r\n .post(getallfooterad, { user_type: 'admin' }, CONFIG)\r\n .then((list) => {\r\n let footeradlist = list.data.data;\r\n\r\n footeradlist.forEach((element, index) => {\r\n let footerad = {};\r\n footerad.s_no = index + 1;\r\n footerad.footer_adverdisement = element.footer_adverdisement;\r\n // footerad.expires_at = moment(element.expires_at).format('DD-MM-YYYY');\r\n footerad.status = element.status;\r\n footerad.id = element.id;\r\n\r\n footeradlist[index] = footerad;\r\n });\r\n\r\n // let clientmedicinehistory = {};\r\n console.log(footeradlist)\r\n this.setState({ records: footeradlist });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n };\r\n // onDeleteClick(record) {\r\n // this.setState({ addPopup: true, record: record });\r\n // }\r\n // deleteRecord(record) {\r\n // let userId = record.id;\r\n // this.setState({ loading: true });\r\n\r\n // axios\r\n // .delete(deletefooterad, { data: { id: userId } }, CONFIG)\r\n // .then((res) => {\r\n // let response = res.data;\r\n // if (response.status === \"1\") {\r\n // let records = this.state.records;\r\n // const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n // records.splice(deleteIndex, 1);\r\n // this.setState({ records });\r\n // }\r\n // this.setState({ addPopup: false, record: \"\", loading: false });\r\n // this.setState({ tableSuccess: res.data });\r\n // this.clearMessage();\r\n // })\r\n // .catch((e) => { });\r\n // }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.footerData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n const re = /^[0-9\\b]+$/;\r\n if (name === \"percentage\") {\r\n if (value === \"\" || re.test(value)) {\r\n data[name] = value;\r\n }\r\n } else {\r\n data[name] = value;\r\n }\r\n\r\n this.setState({ footerData: data });\r\n };\r\n\r\n onUploadChange = (event) => {\r\n event.preventDefault();\r\n\r\n console.log(event.target.files[0]);\r\n let file = event.target.files[0];\r\n\r\n let img = URL.createObjectURL(event.target.files[0]);\r\n\r\n this.setState({ vendor_image_url: img });\r\n let newfileName = event.target.files[0].name;\r\n imageconfig.dirName = \"footer_adverdisement\";\r\n\r\n console.log(imageconfig);\r\n const reacts3client = new S3(imageconfig);\r\n console.log(reacts3client);\r\n reacts3client.uploadFile(file, newfileName).then((data) => {\r\n console.log(data);\r\n if (data.status === 204) {\r\n console.log(\"success\");\r\n let footerData = this.state.footerData;\r\n footerData.footer_adverdisement = data.location;\r\n this.setState({ footerData: footerData });\r\n } else {\r\n console.log(\"error\");\r\n }\r\n });\r\n };\r\n handleColumnChange = (selectedOptions) => {\r\n console.log(selectedOptions)\r\n let footerData = this.state.footerData;\r\n footerData.status = selectedOptions\r\n this.setState({ footerData: footerData });\r\n };\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const {\r\n footerData,\r\n\r\n errors,\r\n formSuccess,\r\n tableSuccess,\r\n } = this.state;\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

    Footer Advertisment List

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    {this.state.actions === \"add\" ? \"Add\" : \"Edit\"} Footer Advertisment
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Choose file\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {/** experience and membership section */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Reviews
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {\" \"}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Comments
    \r\n
    \r\n
    \r\n \r\n {commentsArr\r\n ? commentsArr.map((element, index) => {\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 {element.commenter\r\n ? element.commenter\r\n : \"\"}{\" \"}\r\n \r\n {\" \"}\r\n {element.reviewed_on\r\n ? element.reviewed_on\r\n : \"\"}\r\n \r\n
    \r\n \r\n \r\n

    \r\n

    \r\n {element.comment_text\r\n ? element.comment_text\r\n : \"\"}\r\n

    \r\n
    \r\n
    \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(ViewBusinessUserProfile);\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Header from \"../../components/container/layout/client/Header\";\r\n//import ClientSideBar from \"../components/container/layout/client/SideBarNew\";\r\n//import ClientSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../../components/container/SideBar\";\r\nimport Select from \"react-select\";\r\nimport ToggleButton from \"../../components/UI/ToggleButton\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\nimport Label from \"../../components/UI/Label\";\r\nimport DatePicker from \"react-date-picker\";\r\n//import Button from '../../UI/Button';\r\nimport * as moment from \"moment\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\nimport {\r\n nationalityArray,\r\n gender,\r\n language,\r\n relationship,\r\n maritial_status,\r\n card_type,\r\n} from \"../../config/data\";\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport { CountryDropdown, RegionDropdown } from \"react-country-region-selector\";\r\n//import Label from '../../UI/Label';\r\nimport axios from \"axios\";\r\nimport { getClientById } from \"../../config/url.json\";\r\nimport { updateClient } from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport MonthPick from \"../../components/UI/MonthPick\";\r\nimport YearPick from \"../../components/UI/YearPick\";\r\nimport { Spinner } from \"../../components/UI/Spinner\";\r\nimport Dnaspinner from \"../../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nconst google = window.google;\r\n\r\nlet nationality = [];\r\nnationalityArray.forEach((element) => {\r\n nationality.push({ value: element, label: element });\r\n});\r\nconst currentYear = new Date().getFullYear();\r\n\r\nclass ViewClientProfile extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loggedInuserId: props.userdata.id,\r\n access_token: props.access_token,\r\n isDisable: true,\r\n editEnabled: false,\r\n editDisabled: true,\r\n formSuccess: { status: \"\", message: \"\" },\r\n headerInfo: {\r\n avatar: \"\",\r\n full_name: \"\",\r\n registeration_id: \"\",\r\n blood_group: \"\",\r\n },\r\n clientData: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n blood_group: \"\",\r\n gender: \"\",\r\n maritial_status: \"\",\r\n nationality: \"\",\r\n language: \"\",\r\n email: \"\",\r\n password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n user_type: \"patient\",\r\n phone_number: \"\",\r\n emergency_contact: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n relationship: \"\",\r\n phone_number: \"\",\r\n },\r\n vehicle_details: [\r\n {\r\n vehicle_make: \"\",\r\n vehicle_model: \"\",\r\n vehicle_registration: \"\",\r\n year_of_make: \"\",\r\n vin_number: \"\",\r\n },\r\n ],\r\n\r\n payment_details: [\r\n {\r\n credit_card: \"\",\r\n card_name: \"\",\r\n card_type: \"\",\r\n expiry_month: \"\",\r\n expiry_year: \"\",\r\n cvv: \"\",\r\n payment_option: \"\",\r\n },\r\n ],\r\n employment_details: {\r\n employer_name: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n employee_status: \"\",\r\n },\r\n insurance_details: {\r\n insurance_provider: \"\",\r\n policy_id_number: \"\",\r\n health_insurance_confirmation: \"\",\r\n patient_policy_holder: \"\",\r\n },\r\n medical_history: [],\r\n family_medical_history: [],\r\n },\r\n vehicle_details: [\r\n {\r\n vehicle_make: \"\",\r\n vehicle_model: \"\",\r\n vehicle_registration: \"\",\r\n year_of_make: \"\",\r\n vin_number: \"\",\r\n },\r\n ],\r\n\r\n payment_details: [\r\n {\r\n credit_card: \"\",\r\n card_name: \"\",\r\n card_type: \"\",\r\n expiry_month: \"\",\r\n expiry_year: \"\",\r\n cvv: \"\",\r\n payment_option: \"\",\r\n },\r\n ],\r\n family_details: [\r\n {\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n relationship: \"\",\r\n blood_group: \"\",\r\n phone_number: \"\",\r\n },\r\n ],\r\n errors: {\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n blood_group: \"\",\r\n gender: \"\",\r\n maritial_status: \"\",\r\n nationality: \"\",\r\n language: \"\",\r\n email: \"\",\r\n password: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n },\r\n family_details_errors: [\r\n {\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n relationship: \"\",\r\n blood_group: \"\",\r\n phone_number: \"\",\r\n },\r\n ],\r\n };\r\n // this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n // this.autocomplete = null;\r\n //this.handleWorkhoursChange = this.handleWorkhoursChange.bind(this);\r\n this.handleInput = this.handleInput.bind(this);\r\n // this.handleEmployeePlaceSelect = this.handleEmployeePlaceSelect.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address1\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n //this.autocomplete = new google.maps.places.Autocomplete(document.getElementById('address'), {})\r\n //this.autocomplete.addListener(\"place_changed\", this.handleEmployeePlaceSelect)\r\n console.log(this.props.user_id);\r\n //console.log(this.props.location.state.user_id);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.state.access_token}`;\r\n axios\r\n .post(getClientById, { client_id: this.props.user_id }, CONFIG)\r\n .then((result) => {\r\n if (result.data.status === \"1\") {\r\n let data = result.data.data;\r\n let family_details = result.data.data.family_details;\r\n\r\n this.setState({ family_details: family_details });\r\n let ExistingvehicleDetails = this.state.vehicle_details;\r\n let ExistingPaymentDetails = this.state.payment_details;\r\n\r\n if (data.payment_details == null) {\r\n data.payment_details = {\r\n credit_card: \"\",\r\n card_name: \"\",\r\n expiry_month: \"\",\r\n expiry_year: \"\",\r\n cvv: \"\",\r\n payment_option: \"\",\r\n };\r\n } else {\r\n // data.payment_details = data.payment_details;\r\n }\r\n if (data.vehicle_details == null) {\r\n data.vehicle_details = {\r\n vehicle_make: \"\",\r\n vehicle_model: \"\",\r\n vehicle_registration: \"\",\r\n year_of_make: \"\",\r\n vin_number: \"\",\r\n };\r\n } else {\r\n data.vehicle_details = JSON.parse(data.vehicle_details);\r\n // console.log( JSON.parse(data.vehicle_details));\r\n // ExistingvehicleDetails = JSON.parse(data.vehicle_details);\r\n }\r\n if (data.emergency_contact == null) {\r\n data.emergency_contact = {\r\n first_name: \"\",\r\n last_name: \"\",\r\n relationship: \"\",\r\n phone_number: \"\",\r\n };\r\n }\r\n if (data.employment_details == null) {\r\n data.employment_details = {\r\n employer_name: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n employee_status: \"\",\r\n };\r\n }\r\n if (data.insurance_details == null) {\r\n data.insurance_details = {\r\n insurance_provider: \"\",\r\n policy_id_number: \"\",\r\n health_insurance_confirmation: \"\",\r\n patient_policy_holder: \"\",\r\n };\r\n }\r\n const yourDate = data.date_of_birth;\r\n\r\n data.date_of_birth = moment(yourDate, moment.defaultFormat).toDate();\r\n\r\n this.handleDOBChange(data.date_of_birth);\r\n\r\n if (data.family_medical_history == null) {\r\n data.family_medical_history = [];\r\n }\r\n if (data.medical_history == null) {\r\n data.medical_history = [];\r\n }\r\n let convertedblood = [];\r\n if (data.blood_group != null) {\r\n convertedblood = {\r\n label: data.blood_group,\r\n value: data.blood_group,\r\n };\r\n }\r\n\r\n let convertedgender = [];\r\n if (data.gender != null) {\r\n convertedgender = {\r\n label: data.gender,\r\n value: data.gender,\r\n };\r\n }\r\n let convertedmaritial_status = [];\r\n if (data.marital_status != null) {\r\n convertedmaritial_status = {\r\n label: data.marital_status,\r\n value: data.marital_status,\r\n };\r\n }\r\n let convertedlanguage = [];\r\n if (data.language != null) {\r\n convertedlanguage = {\r\n label: data.language,\r\n value: data.language,\r\n };\r\n }\r\n data.language = convertedlanguage;\r\n let convertednationality = [];\r\n if (data.nationality != null) {\r\n convertednationality = {\r\n label: data.nationality,\r\n value: data.nationality,\r\n };\r\n }\r\n data.nationality = convertednationality;\r\n data.gender = convertedgender;\r\n data.blood_group = convertedblood;\r\n data.maritial_status = convertedmaritial_status;\r\n data.phone_number = data.phone_code == null ? \"+91\"+data.phone_number : data.phone_code.concat(data.phone_number);\r\n ExistingvehicleDetails.splice(0, 1, data.vehicle_details);\r\n\r\n ExistingPaymentDetails.splice(0, 1, data.payment_details);\r\n\r\n this.setState({\r\n vehicle_details: ExistingvehicleDetails,\r\n payment_details: ExistingPaymentDetails,\r\n });\r\n this.setState({\r\n clientData: data,\r\n\r\n // family_details: JSON.parse(response.data.data.family_details),\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e)\r\n console.log(\"business user getbyid failed\",e);\r\n });\r\n console.log(\"mountdone\");\r\n console.log(this.state.vehicle_details);\r\n }\r\n\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n addDisResponseMessage: { message: \"\" },\r\n formSuccess: { message: \"\" },\r\n searchformSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n\r\n addVehicleDetail() {\r\n this.setState((prevState) => ({\r\n vehicle_details: [\r\n ...prevState.vehicle_details,\r\n {\r\n vehicle_make: \"\",\r\n vehicle_model: \"\",\r\n vehicle_registration: \"\",\r\n year_of_make: \"\",\r\n vin_number: \"\",\r\n },\r\n ],\r\n }));\r\n }\r\n\r\n removeVehicleDetail(i) {\r\n let vehicle_details = [...this.state.vehicle_details];\r\n vehicle_details.splice(i, 1);\r\n this.setState({ vehicle_details });\r\n }\r\n\r\n handleVehicleDetailChange(i, value, field) {\r\n let fields = this.state.vehicle_details;\r\n\r\n if (value === \"vehicle_make\") {\r\n fields[i].vehicle_make = field.target.value;\r\n } else if (value === \"vehicle_model\") {\r\n fields[i].vehicle_model = field.target.value;\r\n } else if (value === \"vehicle_registration\") {\r\n fields[i].vehicle_registration = field.target.value;\r\n } else if (value === \"year_of_make\") {\r\n fields[i].year_of_make = field.target.value;\r\n } else if (value === \"vin_number\") {\r\n fields[i].vin_number = field.target.value;\r\n }\r\n this.setState({\r\n vehicle_details: fields,\r\n });\r\n }\r\n\r\n addPaymentDetail() {\r\n this.setState((prevState) => ({\r\n payment_details: [\r\n ...prevState.payment_details,\r\n {\r\n credit_card: \"\",\r\n card_name: \"\",\r\n card_type: \"\",\r\n expiry_month: \"\",\r\n expiry_year: \"\",\r\n cvv: \"\",\r\n payment_option: \"\",\r\n },\r\n ],\r\n }));\r\n }\r\n\r\n removePaymentDetail(i) {\r\n let payment_details = [...this.state.payment_details];\r\n payment_details.splice(i, 1);\r\n this.setState({ payment_details });\r\n }\r\n\r\n handlePaymentDetailChange(i, value, field) {\r\n let fields = this.state.payment_details;\r\n console.log(value);\r\n console.log(field);\r\n\r\n if (value === \"credit_card\") {\r\n fields[i].credit_card = field.target.value;\r\n } else if (value === \"card_name\") {\r\n fields[i].card_name = field.target.value;\r\n } else if (value === \"cvv\") {\r\n fields[i].cvv = field.target.value;\r\n } else if (value === \"payment_option\") {\r\n fields[i].payment_option = field.target.value;\r\n } else if (value === \"card_type\") {\r\n fields[i].card_type = field;\r\n } else if (value === \"expiry_month\") {\r\n fields[i].expiry_month = field;\r\n } else if (value === \"expiry_year\") {\r\n fields[i].expiry_year = field;\r\n }\r\n this.setState({\r\n vehicle_details: fields,\r\n });\r\n }\r\n\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { clientData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n\r\n if (addressType === \"administrative_area_level_1\")\r\n clientData.state = val;\r\n if (addressType === \"locality\")\r\n clientData.city = val;\r\n if (addressType === \"country\") clientData.country = val;\r\n\r\n clientData.address1 = place.name;\r\n if (addressType === \"sublocality_level_1\") clientData.address2 = val;\r\n if (addressType === \"postal_code\") clientData.zip_code = val;\r\n }\r\n }\r\n\r\n this.setState({\r\n clientData,\r\n });\r\n }\r\n\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.clientData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ clientData: data, errors: errors });\r\n }\r\n handleInput = (e) => {\r\n let data = this.state.clientData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n\r\n if (\r\n name === \"first_name\" ||\r\n name === \"last_name\" ||\r\n name === \"email\" ||\r\n name === \"city\" ||\r\n name === \"zip_code\" ||\r\n name === \"phone_number\"\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ clientData: data });\r\n };\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.clientData;\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ clientData: data });\r\n };\r\n\r\n /* for country detail change */\r\n selectCountry(val) {\r\n let data = this.state.clientData;\r\n data.country = val;\r\n this.setState({ clientData: data });\r\n }\r\n /* for state detail change */\r\n\r\n selectState(val) {\r\n let data = this.state.clientData;\r\n data.state = val;\r\n this.setState({ clientData: data });\r\n }\r\n handleback()\r\n {\r\n document.location.href = \"/client-profile\";\r\n //window.location.history(\"/client-profile\"); \r\n // this.props.history.push(\"/client-profile\"); \r\n }\r\n\r\n handlePhoneInput = (event) => {\r\n let clientData = this.state.clientData;\r\n clientData.phone_number = event;\r\n this.setState({ clientData });\r\n };\r\n\r\n handleDOBChange = (date) => {\r\n let clientData = this.state.clientData;\r\n clientData.date_of_birth = date;\r\n this.setState({ clientData: clientData });\r\n };\r\n\r\n handleEmploymentDetails(field, value) {\r\n let data = this.state.clientData;\r\n if (\r\n field === \"country\" ||\r\n field === \"state\" ||\r\n field === \"employee_status\" ||\r\n field === \"phone_number\"\r\n )\r\n data.employment_details[field] = value;\r\n else data.employment_details[field] = value.target.value;\r\n this.setState({ clientData: data });\r\n }\r\n\r\n handleInsuranceDetails(field, event) {\r\n let data = this.state.clientData;\r\n\r\n console.log(\"handle inc change\");\r\n console.log(field);\r\n console.log(event.target.checked);\r\n\r\n if (\r\n field === \"health_insurance_confirmation\" ||\r\n field === \"patient_policy_holder\"\r\n ) {\r\n data.insurance_details[field] =\r\n event.target.checked === true ? \"Yes\" : \"No\";\r\n } else {\r\n data.insurance_details[field] = event.target.value;\r\n }\r\n\r\n this.setState({ clientData: data });\r\n }\r\n\r\n handelVehicleDetails(field, value) {\r\n let data = this.state.clientData;\r\n data.vehicle_details[field] = value.target.value;\r\n this.setState({ clientData: data });\r\n }\r\n handelPaymentDetails(field, value) {\r\n let data = this.state.clientData;\r\n if (\r\n field === \"card_type\" ||\r\n field === \"expiry_month\" ||\r\n field === \"expiry_year\"\r\n )\r\n data.payment_details[field] = value;\r\n else data.payment_details[field] = value.target.value;\r\n\r\n this.setState({ clientData: data });\r\n }\r\n\r\n handelEmergencyContact(field, value) {\r\n let data = this.state.clientData;\r\n if (field === \"relationship\" || field === \"phone_number\")\r\n data.emergency_contact[field] = value;\r\n else data.emergency_contact[field] = value.target.value;\r\n\r\n this.setState({ clientData: data });\r\n }\r\n\r\n editProfile() {\r\n this.setState({ editEnabled: !this.state.editEnabled });\r\n this.setState({ editDisabled: !this.state.editDisabled });\r\n\r\n //enable the fields to edit\r\n this.setState({ isDisable: !this.state.isDisable });\r\n }\r\n\r\n cancelEdit() {\r\n this.setState({ editDisabled: !this.state.editDisabled });\r\n this.setState({ editEnabled: !this.state.editEnabled });\r\n }\r\n\r\n updateProfile = (e) => {\r\n e.preventDefault();\r\n\r\n let clientData = this.state.clientData;\r\n let errors = this.state.errors;\r\n clientData.user_id = this.props.user_id;\r\n\r\n let data = {};\r\n data.blood_group = clientData.blood_group.label;\r\n data.gender = clientData.gender.label;\r\n data.marital_status = clientData.maritial_status.label;\r\n data.language = clientData.language.label;\r\n data.nationality = clientData.nationality.label;\r\n data.first_name = clientData.first_name;\r\n data.last_name = clientData.last_name;\r\n data.address1 = clientData.address1;\r\n data.address2 = clientData.address2;\r\n data.city = clientData.city;\r\n data.country = clientData.country;\r\n data.state = clientData.state;\r\n data.zip_code = clientData.zip_code;\r\n data.date_of_birth = clientData.date_of_birth;\r\n data.phone_code=clientData.phone_code;\r\n data.phone_number = clientData.phone_number;\r\n data.email = clientData.email;\r\n data.user_id = this.props.user_id;\r\n data.emergency_contact = clientData.emergency_contact;\r\n data.vehicle_details = clientData.vehicle_details;\r\n data.employment_details = clientData.employment_details;\r\n data.insurance_details = clientData.insurance_details;\r\n data.medical_history = clientData.medical_history;\r\n data.family_medical_history = clientData.family_medical_history;\r\n data.payment_details = clientData.payment_details;\r\n data.family_details = clientData.family_details;\r\n\r\n clientData.user_type = \"patient\";\r\n\r\n errors = Validation(clientData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.state.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios\r\n .put(updateClient, data, CONFIG)\r\n .then((result) => {\r\n console.log(result);\r\n this.setState({ loading: false });\r\n this.setState({ formSuccess: result.data });\r\n this.clearMessage();\r\n })\r\n .catch(() => {\r\n console.log(\"business user getbyid failed\");\r\n });\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n clientData,\r\n payment_details,\r\n errors,\r\n formSuccess,\r\n loading\r\n } = this.state;\r\n\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n let disease_array = this.props.appdata\r\n ? this.props.appdata[0].diseases\r\n : [];\r\n let disease = [];\r\n disease_array.forEach((element) => {\r\n disease.push(element.disease_name);\r\n });\r\n disease_array = disease;\r\n\r\n let specialities = [];\r\n specialities_array.forEach((element) => {\r\n specialities.push({ value: element.id, label: element.name });\r\n });\r\n specialities_array = specialities;\r\n\r\n let facilities_array = this.props.appdata\r\n ? this.props.appdata[0].facilities\r\n : [];\r\n let facilities = [];\r\n facilities_array.forEach((element) => {\r\n facilities.push({ value: element.id, label: element.facility_name });\r\n });\r\n facilities_array = facilities;\r\n return (\r\n
    \r\n
    \r\n {/* */}\r\n {loading && }\r\n {/*
    */}\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {/* \r\n Back\r\n */}\r\n\r\n
    \r\n
    Primary contact
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \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.handleDOBChange(date)\r\n }\r\n disabled={true}\r\n />\r\n \r\n
    \r\n
    \r\n\r\n
    {\" \"}\r\n {/** end of first column */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Employment details
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\" \"}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.handleEmploymentDetails(\r\n \"state\",\r\n val\r\n )\r\n }\r\n placeholder=\"State\"\r\n disabled={true}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.handleEmploymentDetails(\r\n \"country\",\r\n val\r\n )\r\n }\r\n disabled={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 \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    Medical Insurance
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Policy Holder Confirmation
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n\r\n {/*
    \r\n \r\n \r\n
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n \r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Emergency contact
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n {/** end of second column */}\r\n
    \r\n\r\n {/* */}\r\n \r\n
    \r\n \r\n
    \r\n \r\n {/** end of row */}\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(ViewClientProfile);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ViewBusinessProfile from \"./ViewBusinessProfile\";\r\nimport ViewBusinessUserProfile from \"./ViewBusinessUserProfile\";\r\nimport ViewClientProfile from \"./ViewClientProfile\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n searchData: state.SearchReducer.searchData,\r\n };\r\n}\r\n\r\n\r\nclass ViewProfile extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n }\r\n render() {\r\n return (\r\n
    \r\n {this.props.location.state.user_type === \"hospital\" ? (\r\n \r\n ) : this.props.location.state.user_type === \"employee\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(ViewProfile);\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../assets/css/mystyle.css\";\r\nimport { getAllSymptom } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n \r\n { header: 'S.no', key: 's_no' },\r\n { header: 'Symptom ID', key: 'symptom_id' },\r\n { header: 'Symptom Name', key: 'symptom_name' },\r\n { header: 'Symptom Category', key: 'symptom_category' },\r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'SymptomsList';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n const newdata=props.records;\r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n newdata.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n });\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Symptoms list has been downloaded successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SideBar from \"../components/container/SideBar\";\r\nimport Header from \"../components/container/layout/business/Header\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getAllSymptom,\r\n getAllSymptomCategory,\r\n addSymptom,\r\n updateSymptom,\r\n deleteSymptom,\r\n searchSymptom,\r\n getMasterSymptoms,\r\n getTimeoutbycategory\r\n} from \"../config/url.json\";\r\nimport Label from \"../components/UI/Label\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Validation from \"../actions/Validation\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport Popup from \"../components/UI/Popup\";\r\nimport Footerad from \"../components/UI/Footerad\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport ExpirePopup from \"../components/UI/ExpirePopup\"\r\nimport SymptomsExport from \"./SymptomsExport\";\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport LoadingHeartrate from \"../components/UI/Heartrate\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass Symptoms extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n showexpirePopup: this.props.validity,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n searchrecords: [],\r\n loading: false,\r\n deletePopup: false,\r\n record: null,\r\n actions: \"add\",\r\n symptomCategory: [],\r\n editRecord: null,\r\n symptomData: {\r\n symptom_id: \"\",\r\n searchsymptom_id:\"\",\r\n symptom_name: \"\",\r\n symptom_category: \"\",\r\n type: \"symptom\",\r\n },\r\n masterSymptoms: [],\r\n masterSymptomCategory: [],\r\n errors: {\r\n symptom_id: \"\",\r\n symptom_name: \"\",\r\n symptom_category: \"\",\r\n symptomid_error:\"\",\r\n },\r\n searchData: {\r\n symptom_name: \"\",\r\n symptom_category: \"\",\r\n },\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n search_action: false,\r\n searchTableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n editformSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n \r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"symptom_id\",\r\n text: \"Symptom ID\",\r\n className: \"Symptom_id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"symptom_name\",\r\n text: \"Symptom Name\",\r\n className: \"symptom_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n\r\n {\r\n key: \"symptom_category\",\r\n text: \"Symptom Category\",\r\n className: \"symptom_category\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n this.setState({ deletePopup: true, record: record })\r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n \r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.searchcolumns = [\r\n {\r\n key: \"symptom_id\",\r\n text: \"Symptom ID\",\r\n className: \"symptom_id\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 10,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"symptom_name\",\r\n text: \"Symptom Name\",\r\n className: \"symptom_name\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n // cell: (record) => {\r\n // return (\r\n // \r\n // \r\n // \r\n // \r\n // );\r\n // },\r\n\r\n },\r\n {\r\n key: \"symptom_category_hide\",\r\n text: \"symptom_category_hide\",\r\n className: \"symptom_category_hide hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"symptom_category\",\r\n text: \"Symptom Category\",\r\n className: \"symptom_category\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n // cell: (record) => {\r\n // return (\r\n // \r\n /* \r\n this.handleCategoryColumnChange(\r\n record,\r\n value,\r\n \"symptom_category\"\r\n )\r\n }\r\n options={this.state.symptomCategory}\r\n /> */\r\n // \r\n // \r\n // \r\n // );\r\n // },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n componentDidMount = () => {\r\n\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getMasterSymptoms, null, CONFIG)\r\n .then((masterlist) => {\r\n\r\n let masterlists = masterlist.data.data;\r\n let masterSymptoms = [], masterSymptomCategory = [];\r\n masterlists.forEach((element, index) => {\r\n masterSymptoms.push({ label: element.symptom_name, value: element.symptom_name })\r\n masterSymptomCategory.push({ label: element.symptom_category, value: element.symptom_category })\r\n });\r\n\r\n var masterSymptomCategory1 = masterSymptomCategory.reduce((unique, o) => {\r\n if (!unique.some(obj => obj.label === o.label)) {\r\n unique.push(o);\r\n }\r\n return unique;\r\n }, []);\r\n console.log(masterSymptoms);\r\n console.log(masterSymptomCategory);\r\n this.setState({ masterSymptoms: masterSymptoms, masterSymptomCategory: masterSymptomCategory1 });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSymptom, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let symptomlist = list.data.data;\r\n\r\n symptomlist.forEach((element, index) => {\r\n let symptom = {};\r\n symptom.s_no = index + 1;\r\n symptom.symptom_id = element.symptom_id;\r\n symptom.symptom_name = element.symptom_name;\r\n symptom.symptom_category = element.symptom_category;\r\n symptom.id = element.id;\r\n\r\n symptomlist[index] = symptom;\r\n });\r\n\r\n this.setState({ records: symptomlist });\r\n })\r\n .catch((e) => { });\r\n\r\n axios\r\n .post(getAllSymptomCategory, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let symptomCategory = list.data.data;\r\n let symptomCategorylist = [];\r\n\r\n symptomCategory.forEach((element, index) => {\r\n symptomCategorylist.push({\r\n value: element.id,\r\n label: element.symptom_category,\r\n });\r\n });\r\n\r\n this.setState({ symptomCategory: symptomCategorylist });\r\n })\r\n .catch((e) => { });\r\n };\r\n\r\n UpdateSymptom = (e) => {\r\n e.preventDefault();\r\n let { symptomData, errors } = this.state;\r\n symptomData.type = \"symptom\";\r\n errors = Validation(symptomData, errors);\r\n console.log(errors);\r\n console.log(symptomData);\r\n this.setState({ errors: errors });\r\n if (!errors.formIsValid) {\r\n return;\r\n }\r\n let data = {};\r\n // let data = this.state.symptomData;\r\n\r\n let symptomDataupdated = data;\r\n data.user_id = this.props.userdata.id;\r\n data.symptom_category = symptomData.symptom_category\r\n ? symptomData.symptom_category.label\r\n : \"\";\r\n data.symptom_name = symptomData.symptom_name\r\n ? symptomData.symptom_name.label\r\n : \"\";\r\n data.id = this.state.symptomData.id;\r\n data.symptom_id=symptomData.symptom_id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios({\r\n method: this.state.actions === \"add\" ? \"post\" : \"put\",\r\n url: this.state.actions === \"add\" ? addSymptom : updateSymptom,\r\n data: data,\r\n headers: CONFIG.headers,\r\n }).then(\r\n (res) => {\r\n let resData = res.data;\r\n console.log(res.data);\r\n if(res.data.status==\"0\")\r\n {\r\n console.log(res.data.message);\r\n // this.setState({ successMessage: res.data.message });\r\n }\r\n if (res.status !== 200 || !resData) {\r\n \r\n this.setState({\r\n errors: {\r\n symptom_id: \"Symptom ID already exists\",\r\n },\r\n });\r\n // this.cancel();\r\n this.clearMessage();\r\n\r\n return;\r\n }\r\n\r\n /* if (res.data.status === \"0\") {\r\n this.setState({\r\n errors: {\r\n symptom_id: \"Select Symptom Name and Symptom Category\",\r\n },\r\n });\r\n */ // let symptomDataupdated = {\r\n // symptom_id: data.symptom_id,\r\n // symptom_name: data.symptom_name,\r\n // user_id: data.user_id,\r\n // symptom_category: this.state.symptomData.symptom_category,\r\n // };\r\n\r\n /* this.setState({ symptomData: symptomDataupdated });\r\n return;\r\n }\r\n */\r\n let member = {};\r\n member.type = \"symptom\";\r\n member.symptom_id = data.symptom_id;\r\n member.symptom_name = data.symptom_name;\r\n member.symptom_category = data.symptom_category;\r\n let records = this.state.records;\r\n resData = res.data.data;\r\n if (this.state.actions === \"add\" && resData) {\r\n member.id = resData[0] && resData[0].id > 0 ? resData[0].id : null;\r\n member.s_no = records.length + 1;\r\n records.push(member);\r\n toast.success(\"The Symptom details have been added successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n \r\n } else if (this.state.actions === \"edit\" && this.state.editRecord) {\r\n member.id = data.id;\r\n member.s_no = this.state.editRecord.s_no;\r\n records.splice(records.indexOf(this.state.editRecord), 1, member);\r\n this.setState({\r\n editRecord: null,\r\n });\r\n toast.success(\"The Symptom details have been Updated successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n } else {\r\n \r\n this.setState({\r\n errors: {\r\n error: \"Symptom ID already exists\",\r\n },\r\n searchrecords:records,\r\n });\r\n // this.cancel();\r\n this.clearMessage();\r\n toast.error(res.data.message +\".Symptom could not be Added. \",{\r\n className:\"toast-error\"\r\n });\r\n return;\r\n \r\n }\r\n \r\n this.setState({\r\n records: records,\r\n actions: \"add\",\r\n errorMessage: \"\",\r\n /* successMessage: `Symptom ${this.state.actions === \"add\" ? \"added\" : \"updated\"\r\n } successfully.`,\r\n editformSuccess: `Symptom ${this.state.actions === \"add\" ? \"added\" : \"updated\"\r\n } successfully.`, */\r\n symptomData: {\r\n symptom_id: \"\",\r\n symptom_name: \"\",\r\n symptom_category: \"\",\r\n },\r\n });\r\n this.clearMessage();\r\n },\r\n (err) => {\r\n this.setState({\r\n actions: \"add\",\r\n errorMessage: `Symptom failed to ${this.state.actions === \"add\" ? \"add\" : \"update\"\r\n }.`,\r\n successMessage: \"\",\r\n symptomData: {\r\n symptom_id: \"\",\r\n symptom_name: \"\",\r\n symptom_category: \"\",\r\n },\r\n });\r\n this.clearMessage();\r\n }\r\n );\r\n };\r\n\r\n clearForm = () => {\r\n let errors=this.state.errors;\r\n this.setState({\r\n actions: \"add\",\r\n editRecord: null,\r\n symptomData: {\r\n symptom_id: \"\",\r\n symptom_name: \"\",\r\n symptom_category: \"\",\r\n },\r\n errors: {\r\n symptom_id: \"\",\r\n symptom_name: \"\",\r\n symptom_category: \"\",\r\n error: \"\",\r\n },\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n });\r\n errors={};\r\n this.setState({errors,searchrecords: [], searchErrorMessage: \"\", search_action: false});\r\n };\r\n\r\n clearMessage() {\r\n // let errors=this.state.errors;\r\n setTimeout(() => {\r\n this.setState({\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n searchTableSuccess:\"\",\r\n errors:\"\",\r\n });\r\n }, 5000);\r\n /* errors.error=\"\";\r\n\r\n errors={};\r\n this.setState({errors}); */\r\n }\r\n cancel = () => {\r\n let data = this.state.symptomData;\r\n data.symptom_id = \"\";\r\n data.symptom_name = \"\";\r\n data.id = \"\";\r\n data.symptom_category = \"\";\r\n \r\n \r\n this.setState({ symptomData: data });\r\n};\r\n editRecord(record) {\r\n\r\n let symptomData = this.state.symptomData;\r\n symptomData.symptom_id = record.symptom_id;\r\n symptomData.symptom_name = {\r\n label: record.symptom_name,\r\n value: record.symptom_name,\r\n };\r\n symptomData.id = record.id;\r\n symptomData.user_id = record.user_id;\r\n symptomData.symptom_category = {\r\n label: record.symptom_category,\r\n value: record.symptom_category,\r\n };\r\n this.setState({ editRecord: record });\r\n this.setState({ symptomData: symptomData, actions: \"edit\" });\r\n }\r\n\r\n deleteRecord(record) {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deleteSymptom, { data: { id: record.id } }, CONFIG)\r\n .then((res) => {\r\n const resData = res.data;\r\n if (res.status !== 200 || !resData || resData.status === \"0\") {\r\n this.setState({\r\n errorMessage: \"Unexpected error occured. Please try again.\",\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n return;\r\n }\r\n\r\n let records = this.state.records;\r\n const deleteIndex = records.indexOf(record);\r\n records.splice(deleteIndex, 1);\r\n this.setState({\r\n records\r\n \r\n });\r\n // this.setState({ \r\n // successMessage: \"Symptom deleted successfully.\",\r\n // });\r\n toast.error(\"The Symptom detail has been deleted successfully.\",{\r\n className:\"toast-error\"\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => {\r\n this.setState({\r\n errorMessage: \"Symptom failed to delete.\",\r\n });\r\n toast.error(\"Symptom could not be deleted. \",{\r\n className:\"toast-error\"\r\n });\r\n this.clearMessage();\r\n });\r\n this.setState({ deletePopup: false, record: null });\r\n }\r\n\r\n handleselectsymptom_categoryChange = (selectedOptions, e) => {\r\n let errors=this.state.errors;\r\n let data = this.state.symptomData;\r\n data[e.name] = selectedOptions;\r\n errors.symptom_category=\"\";\r\n this.setState({ symptomData: data,errors });\r\n };\r\n handleselectChange = (selectedOptions, e) => {\r\n let errors=this.state.errors;\r\n let data = this.state.symptomData;\r\n data[e.name] = selectedOptions;\r\n errors.symptom_name=\"\";\r\n this.setState({ symptomData: data,errors,searchErrorMessage: \"\" });\r\n };\r\n\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.symptomData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n // errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ symptomData: data, errors: errors });\r\n }\r\n handleInput = (e) => {\r\n let data = this.state.symptomData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n name === \"symptom_id\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ symptomData: data,searchErrorMessage: \"\" });\r\n };\r\n\r\n handleCategoryColumnChange = (value, record, field) => {\r\n value[field] = record;\r\n this.UpdateColumnChange(value);\r\n };\r\n\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value=event.target.value;\r\n if (\r\n event.target.name === \"searchsymptom_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.symptomid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.symptomid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateColumnChange(record);\r\n };\r\n\r\n UpdateColumnChange = (record) => {\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex].symptom_id = record.symptom_id;\r\n records[recIndex].symptom_name = record.symptom_name;\r\n records[recIndex].symptom_category = record.symptom_category;\r\n this.setState({ searchrecords: records });\r\n };\r\n\r\n handleSearchInput = (e) => {\r\n let data = this.state.searchData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n \r\n this.setState({ searchData: data });\r\n };\r\n\r\n searchAndShowSymptom() {\r\n let symptomData = this.state.symptomData;\r\n if (\r\n (symptomData.symptom_name === \"\" || null == symptomData.symptom_name) &&\r\n (symptomData.symptom_category === \"\" || null == symptomData.symptom_category)\r\n ) {\r\n this.setState({\r\n searchErrorMessage:\r\n \"Choose any one of the search filters other than Symptom ID.\",\r\n });\r\n return;\r\n } else {\r\n this.setState({\r\n searchErrorMessage: \"\",\r\n });\r\n }\r\n let data = {};\r\n data.symptom_name = symptomData.symptom_name.label;\r\n data.symptom_category = symptomData.symptom_category.label;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(searchSymptom, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n let symptoms = [];\r\n records.forEach((element) => {\r\n symptoms.push({\r\n symptom_id: \"\",\r\n symptom_name: element.symptom_name,\r\n symptom_category_hide: element.symptom_category,\r\n symptom_category: element.symptom_category,\r\n\r\n id: element.id,\r\n symptomid_error: \"\",\r\n symptomname_error: \"\",\r\n symptomcategory_error: \"\",\r\n });\r\n });\r\n\r\n this.setState({ searchrecords: symptoms });\r\n this.setState({\r\n search_action: true,\r\n });\r\n } else {\r\n this.setState({ searchrecords: [], search_action: true });\r\n }\r\n });\r\n });\r\n }\r\n\r\n addRecord = (record) => {\r\n let formvalid = true;\r\n if (record.searchsymptom_id === \"\") {\r\n record.symptomid_error = \"Please enter symptom id\";\r\n formvalid = false;\r\n } else {\r\n record.symptomid_error = \"\";\r\n }\r\n if (record.symptom_name === \"\") {\r\n formvalid = false;\r\n record.symptomname_error = \"Please enter symptom name\";\r\n } else {\r\n record.symptomname_error = \"\";\r\n }\r\n if (record.symptom_category === \"\") {\r\n formvalid = false;\r\n record.symptomcategory_error = \"Please enter symptom category\";\r\n } else {\r\n record.symptomcategory_error = \"\";\r\n }\r\n let _searchRecords = this.state.searchrecords;\r\n const recIndex = findWithAttr(_searchRecords, \"id\", record.id);\r\n _searchRecords[recIndex] = record;\r\n this.setState({ searchrecords: _searchRecords });\r\n if (!formvalid) {\r\n return;\r\n }\r\n\r\n this.setState({ actions: \"add\", loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let selectedData = record;\r\n console.log(selectedData)\r\n let data = {};\r\n data.user_id = this.props.userdata.id;\r\n data.symptom_id = selectedData.searchsymptom_id;\r\n data.symptom_name = selectedData.symptom_name;\r\n data.symptom_category = selectedData.symptom_category;\r\nconsole.log(data);\r\n axios\r\n .post(addSymptom, data, CONFIG)\r\n .then((result) => {\r\n let res = result.data;\r\n if (res.status === \"1\") {\r\n let symptom = {};\r\n let records = this.state.records;\r\n symptom.s_no = this.state.records.length + 1;\r\n symptom.symptom_id = data.symptom_id;\r\n symptom.id = res.data[0].id;\r\n symptom.symptom_name = data.symptom_name;\r\n symptom.symptom_category = data.symptom_category;\r\n console.log(symptom);\r\n records.push(symptom);\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n\r\n this.clearMessage();\r\n this.cancel();\r\n } else {\r\n this.setState({\r\n searchrecords: _searchRecords,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch((e) => { });\r\n };\r\n handlesearchselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = selectedOptions;\r\n this.setState({ searchData: data });\r\n };\r\n\r\n render() {\r\n const {\r\n symptomData,\r\n // symptomCategory,\r\n errors,\r\n searchData,\r\n successMessage,\r\n errorMessage,\r\n searchTableSuccess,\r\n loading,\r\n searchErrorMessage,\r\n editformSuccess,\r\n hospitaltimeout\r\n } = this.state;\r\n let PopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let PopupConfirm = () => {\r\n window.location.href = \"/showsubscription\";\r\n\r\n };\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n return (\r\n
    \r\n \r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n

    Symptom List

    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n this.setState({ deletePopup: false })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {this.state.actions === \"add\"\r\n ? \"Add\"\r\n : \"Edit\"}{\" \"}\r\n / Search Symptom
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n {searchErrorMessage ? (\r\n \r\n {searchErrorMessage}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n \r\n \r\n \r\n
    */}\r\n {/* */}\r\n \r\n
    \r\n \r\n
    \r\n
    \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.actions === \"add\"\r\n ? \"Add\"\r\n : \"Update\"}\r\n \r\n \r\n Search\r\n \r\n \r\n Reset\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    Search
    \r\n
    \r\n\r\n
    \r\n {searchErrorMessage ? (\r\n \r\n {searchErrorMessage}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    */}\r\n {/* \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {/* */}\r\n {/* \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n */}\r\n {/*
    \r\n
    \r\n
    \r\n
    */}\r\n\r\n \r\n
    \r\n
    \r\n
    Search Result
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n\r\n\r\n \r\n\r\n \r\n \r\n )}\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Symptoms);\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n// import InputField from \"../../../components/UI/InputField\";\r\nimport axios from \"axios\";\r\nimport {\r\n getCheckinDetails,\r\n getClientShortDetail,\r\n updateCheckin,\r\n} from \"../../../config/url.json\";\r\nimport { CONFIG } from \"../../../config/data\";\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\n// function mapDispatchToProps(dispatch) {\r\n// return {};\r\n// }\r\n\r\nclass ConsultHeader extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n checkinData: [],\r\n headerInfo: {},\r\n };\r\n }\r\n handleInput = (e) => {\r\n let data = this.state.checkinData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n this.setState({ checkinData: data });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n console.log(this.props.id)\r\n // const checkinData = { id: this.props.id };\r\n data.id = this.props.id;\r\n\r\n axios\r\n .put(updateCheckin, { id: this.props.id,height:data.height,weight:data.weight,temperature:data.temperature,bp:data.bp,pulse:data.pulse }, CONFIG)\r\n .then((res) => {\r\n let data = res.data.data || res.data.date;\r\n if (res.data.status !== \"1\" || !data) {\r\n return;\r\n }\r\n\r\n // this.setState({\r\n // checkinData: data,\r\n // });\r\n }).catch((e) => { });\r\n }\r\n componentDidMount = () => {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n console.log(this.props.id)\r\n const checkinData = { id: this.props.id };\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n console.log(res);\r\n let data = res.data.data || res.data.date;\r\n if (res.data.status !== \"1\" || !data) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n checkinData: data,\r\n });\r\n\r\n // window.setTimeout(() => {\r\n console.log(data.client_id);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n // let client_id = this.state.checkinData.client_id;\r\n // console.log(this.props.userdata.id)\r\n axios\r\n .post(getClientShortDetail, { client_id: this.state.checkinData.client_id })\r\n .then((short_details) => {\r\n if (short_details.data.status === \"1\") {\r\n let info = short_details.data.data[0];\r\n let headerInfo = {};\r\n headerInfo.avatar = info.avatar;\r\n headerInfo.full_name = info.first_name;\r\n headerInfo.registeration_id = info.patient_id;\r\n headerInfo.blood_group = info.blood_group;\r\n headerInfo.age = info.age;\r\n headerInfo.profile_percentage = info.profile_percentage;\r\n this.setState({ headerInfo });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"client short info failed\");\r\n });\r\n // }, 1000);\r\n })\r\n .catch((e) => { });\r\n };\r\n\r\n render() {\r\n const { checkinData, headerInfo } = this.state;\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 Patient ID:\r\n {headerInfo.registeration_id}\r\n \r\n
    \r\n
    \r\n \r\n {headerInfo.full_name}, {headerInfo.age}\r\n {headerInfo.gender}\r\n \r\n {headerInfo.blood_group}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Height\r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n cm \r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Weight\r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n kg \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Temperature\r\n \r\n\r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n °F\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    BP\r\n \r\n\r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n mmHg \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Pulse\r\n \r\n\r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n per min\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(ConsultHeader);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport CheckboxOrRadioGroup from '../components/UI/CheckboxOrRadioGroup';\r\nimport InputField from '../components/UI/InputField';\r\n//import FooterSection from \"../components/UI/FooterSection\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport {\r\n consultDoctor, getMasterPharmacy, getCheckinDetails,getQEntryById, updatePrescription,\r\n UpdateQueueForCheckOut,sendemail,sendsms,updateclientappointmentstatus,getconsultingfeesforbusinessuser,updateconsultationfee,\r\n getBusinessShortDetail,getBusinessuserShortDetail,getPharmacydetailsbyid,getwrittenprescriptionbyid\r\n} from \"../config/url.json\";\r\nimport Select from \"react-select\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport { Visibility } from '@material-ui/icons';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n\r\n };\r\n}\r\nconst followup = ['followup'];\r\nclass FollowupDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n checkindetails:{},\r\n followupData: {\r\n followup: 0,\r\n fee: 0,\r\n prescription: 0,\r\n pharmacy_array: [],\r\n pharmacy_details:\"\",\r\n follow_up_details:\"\",\r\n consultation_fee:\"\", \r\n pharmacy_location:\"\",\r\n pharmacyuser_id:\"\" \r\n },\r\n \r\n errors:\r\n {\r\n follow_up_details:\"\",\r\n consultation_fee:\"\", \r\n\r\n },\r\n checkinData: {\r\n\r\n }\r\n }\r\n }\r\n componentDidMount() {\r\n \r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n console.log(this.props.id)\r\n const checkinData = { id: this.props.id };\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n \r\n let data = res.data.data || res.data.date;\r\n if (res.data.status !== \"1\" || !data) {\r\n return;\r\n }\r\n let followupData = this.state.followupData;\r\n followupData.client_id = data.client_id;\r\n followupData.business_id = data.business_id;\r\n followupData.consultation_fee= data.consultation_fee;\r\n followupData.follow_up_details = data.follow_up_details;\r\n followupData.pharmacy_details = data.pharmacy_details;\r\n followupData.prescription = data.prescription;\r\n followupData.followup = data.followup;\r\n followupData.fee = data.fee;\r\n console.log(followupData);\r\n // followupData.diagnosis = \"ddd\";\r\n followupData.id = data.id;\r\n\r\n this.setState({\r\n checkinData: data,\r\n checkindetails:res.data.data,\r\n followupData: followupData,\r\n pharmacy_name:this.state.followupData.pharmacy_details.label,\r\n pharmacy_id:this.state.followupData.pharmacy_details.value\r\n });\r\n console.log(this.state.checkindetails);\r\n console.log(this.state.followupData.pharmacy_details.label);\r\n console.log(this.state.followupData.pharmacy_details.value);\r\n\r\n \r\n axios\r\n .post(getMasterPharmacy, {user_id: this.state.checkindetails.business_id}, CONFIG)\r\n .then((res) => {\r\n console.log(res);\r\n let pharmacy_array = res.data.data;\r\n \r\n let pharmacyList = [];\r\n \r\n pharmacy_array.forEach((element, index) => {\r\n pharmacyList.push({\r\n value: element.pharmacy_id,\r\n label: element.pharmacy_name,\r\n });\r\n });\r\n \r\n this.setState({ pharmacy_array: pharmacyList });\r\n })\r\n \r\n \r\n axios\r\n .post(getBusinessShortDetail, { business_id: this.state.checkindetails.business_id }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n // return false;\r\n if (response.status !== \"0\") {\r\n \r\n this.setState({ hospital_details: response.data[0],hospital_address:response.data[0].address1,\r\n business_name:response.data[0].business_name,hospital_city:response.data[0].city,\r\n hospital_state:response.data[0].state,hospital_zipcode:response.data[0].zip_code });\r\n }\r\n console.log(this.state.hospital_details);\r\n console.log(this.state.hospital_address);\r\n\r\n })\r\n \r\n .catch((e) => { });\r\n if(followupData.consultation_fee === \"\" || followupData.consultation_fee === null || followupData.consultation_fee === undefined){\r\n let reqdata = {\r\n business_id:this.state.checkindetails.business_id,\r\n business_user_id: this.props.userdata.id,\r\n \r\n };\r\n axios\r\n .post(getconsultingfeesforbusinessuser, reqdata, CONFIG)\r\n .then((res) => {\r\n \r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data[0].consulting_fees);\r\n followupData.consultation_fee =data.data[0].consulting_fees; \r\n if (data.status === \"1\"){\r\n this.setState({\r\n consultation_fee: data.data[0].consulting_fees,\r\n followupData\r\n \r\n });\r\n }\r\n \r\n \r\n \r\n })\r\n .catch((e) => { });\r\n }\r\n \r\n \r\n \r\n \r\n }).catch((e) => { });\r\n\r\n axios\r\n .post(getBusinessuserShortDetail,{business_user_id:this.props.userdata.id}, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response.data);\r\n console.log(response.data.last_name);\r\n\r\n // return false;\r\n if (response.status == \"1\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ doctor_name: response.data.first_name +' '+ response.data.last_name,speciality_name:response.data.speciality_name });\r\n }\r\n \r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n\r\n let requestdata = {\r\n \r\n 'id': this.props.match.params.id\r\n \r\n }\r\n axios\r\n .post(getwrittenprescriptionbyid, requestdata, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data[0].writtenprescriptionimage);\r\n if (data.status === \"1\")\r\n this.setState({\r\n writtenprescriptionimage: data.data[0].writtenprescriptionimage\r\n \r\n });\r\n \r\n })\r\n\r\n \r\n }\r\n updateData = (e) => {\r\n // let data = this.state.followupData;\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // this.setState({ loading: true }, () => {\r\n // axios\r\n // .post(consultDoctor, data, CONFIG)\r\n // .then((res) => {\r\n // this.setState({ loading: false });\r\n // const result = res.data;\r\n // if (result.status === \"1\") {\r\n // this.setState({ successMessage: result.message });\r\n // } else {\r\n // this.setState({\r\n // errorMessage:\r\n // result.message || \"Failed to submit prescription details\",\r\n // });\r\n // }\r\n // })\r\n // .catch((e) => {\r\n // this.setState({\r\n // loading: false,\r\n // errorMessage: \"Failed to submit consultant details\",\r\n // });\r\n // });\r\n this.props.history.push(\"/print_prescription/\" + this.props.match.params.id + \"/doctor\");\r\n this.props.history.replace({\r\n pathname: \"/print_prescription/\" + this.props.match.params.id + \"/doctor\",\r\n state: {\r\n business_id:this.state.checkinData.business_id,\r\n Reg_id:this.state.checkinData.Reg_id,\r\n patient_name:this.state.checkinData.first_name,\r\n business_user_id:this.state.checkinData.business_user_id,\r\n business_name:this.state.business_name,\r\n doctor_name:this.state.doctor_name,\r\n speciality_name:this.state.speciality_name,\r\n pharmacy_name:this.state.followupData.pharmacy_details.label,\r\n pharmacy_location: this.state.pharmacy_location,\r\n hospital_address:this.state.hospital_address,\r\n hospital_city:this.state.hospital_city,\r\n hospital_state:this.state.hospital_state,\r\n hospital_zipcode:this.state.hospital_zipcode,\r\n writtenprescriptionimage:this.state.writtenprescriptionimage\r\n }\r\n });\r\n // });\r\n }\r\n CheckOut = (e) => {\r\n\r\n this.setState({ loading: true }) \r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n let clientapppointmentId = this.state.checkinData.q_id;\r\n let checkindetails = this.state.checkindetails;\r\n let followupData = this.state.followupData;\r\n console.log(this.state.checkindetails);\r\n console.log(this.state.followupData);\r\n let msgreqdata = {\r\n \"to\" : checkindetails.email,\r\n \"subject\" : \"Followup Remainder\",\r\n \"mailHeader\" : \"Followup Remainder\",\r\n \"message\": `Dear ${checkindetails.first_name},

    Just a friendly remainder,you have an upcoming appointment in ${followupData.follow_up_details} days at ${checkindetails.business_name} for checkups.

    Please arrive 10 mins prior to your appointment time.Thank you.

    Sincerely,

    KlinicQ Team.

    `\r\n }\r\n console.log(msgreqdata);\r\n let notificationdata = {\r\n \"message_code\": \"FOLLOW_UP\",\r\n \"language_code\": \"en\",\r\n \"data\": {\r\n \"patient_name\": checkindetails.first_name,\r\n \"followup_days\": followupData.follow_up_details,\r\n \"business_name\":checkindetails.business_name,\r\n // patient_name,followup_days,business_name\r\n \r\n },\r\n \"receiver\": {\r\n \"phoneNumber\": checkindetails.phone_code.concat(checkindetails.phone_number)\r\n }\r\n };\r\n console.log(notificationdata);\r\n // return false;\r\n if(checkindetails.schedule_type == 'appointment' && checkindetails.appointment_type =='inperson'||checkindetails.schedule_type == 'appointment' && checkindetails.appointment_type =='inperson_direct')\r\n {\r\n let reqdata = {\r\n \"order_id\": \"\",\r\n \"payment_id\": \"\",\r\n \"amount\": \"\",\r\n \"appt_status\":\"Check-Out\",\r\n \"payment_status\": \"\",\r\n \"checkin_id\":checkindetails.id,\r\n \"client_appt_id\": checkindetails.q_id\r\n };\r\n console.log(checkindetails);\r\n\r\n// return false;\r\n\r\n axios\r\n .post(updateclientappointmentstatus, reqdata, CONFIG)\r\n .then((response) => {\r\n if(checkindetails.follow_up_details != \"\" && checkindetails.email != \"\"){\r\n \r\n \r\n\r\n\r\n \r\n console.log(msgreqdata);\r\n // console.log(this.props.userdata);\r\n \r\n axios\r\n .post(sendemail, msgreqdata)\r\n .then((res) => {\r\n let resdata = res.data; \r\n axios\r\n .post(sendsms, notificationdata)\r\n .then((result) => {\r\n console.log(result)\r\n }).catch((err) => {\r\n console.log(err);\r\n })\r\n console.log(resdata);\r\n this.setState({ loading: false });\r\n let data = {\r\n message:\"\",\r\n status:\"\"\r\n }\r\n if (resdata===true) {\r\n data.error_type = \"success\";\r\n data.message = \"Referral email send successfully\"\r\n data.status = \"1\"\r\n this.setState({\r\n formSuccess: data,\r\n });\r\n this.setState({ loading: false });\r\n \r\n } else {\r\n data.error_type = \"error\";\r\n data.message = \"Failed\"\r\n data.status = \"0\"\r\n this.setState({\r\n formSuccess: data,\r\n });\r\n this.setState({ loading: false });\r\n \r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n }\r\n this.setState({ loading: false })\r\n \r\n \r\n // this.setState({ QueuesuccessMsg: \"Queue status updated successfully\" });\r\n \r\n toast.success(\"Check out Completed Successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n \r\n setTimeout(\r\n () =>\r\n window.location.href = \"/consult\",\r\n 5000\r\n );\r\n \r\n \r\n }).catch((error) => {\r\n console.log(\"Update queue failed\");\r\n })\r\n }\r\n else if(checkindetails.schedule_type == 'appointment' && checkindetails.appointment_type=='online'){\r\n let reqdata = {\r\n \"order_id\": \"\",\r\n \"payment_id\": \"\",\r\n \"amount\": \"\",\r\n \"appt_status\":\"Completed\",\r\n \"payment_status\": \"\",\r\n \"checkin_id\":checkindetails.id,\r\n \"client_appt_id\": checkindetails.q_id\r\n };\r\n console.log(checkindetails);\r\n\r\n// return false;\r\n\r\n axios\r\n .post(updateclientappointmentstatus, reqdata, CONFIG)\r\n .then((response) => {\r\n if(checkindetails.follow_up_details != \"\" && checkindetails.email != \"\"){\r\n \r\n \r\n\r\n\r\n \r\n console.log(msgreqdata);\r\n // console.log(this.props.userdata);\r\n \r\n axios\r\n .post(sendemail, msgreqdata)\r\n .then((res) => {\r\n let resdata = res.data; \r\n axios\r\n .post(sendsms, notificationdata)\r\n .then((result) => {\r\n console.log(result)\r\n }).catch((err) => {\r\n console.log(err);\r\n })\r\n console.log(resdata);\r\n this.setState({ loading: false });\r\n let data = {\r\n message:\"\",\r\n status:\"\"\r\n }\r\n if (resdata===true) {\r\n data.error_type = \"success\";\r\n data.message = \"Referral email send successfully\"\r\n data.status = \"1\"\r\n this.setState({\r\n formSuccess: data,\r\n });\r\n this.setState({ loading: false });\r\n \r\n } else {\r\n data.error_type = \"error\";\r\n data.message = \"Failed\"\r\n data.status = \"0\"\r\n this.setState({\r\n formSuccess: data,\r\n });\r\n this.setState({ loading: false });\r\n \r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n }\r\n this.setState({ loading: false })\r\n \r\n \r\n // this.setState({ QueuesuccessMsg: \"Queue status updated successfully\" });\r\n \r\n toast.success(\"The Consultation was completed successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n \r\n setTimeout(\r\n () =>\r\n window.location.href = \"/consult\",\r\n 5000\r\n );\r\n \r\n \r\n }).catch((error) => {\r\n console.log(\"Update queue failed\");\r\n })\r\n } else {\r\n axios.post(getQEntryById, { q_id: clientapppointmentId }, CONFIG)\r\n .then((queue_data) => {\r\n \r\n if (queue_data.data.status === '1') {\r\n let queuein_data = queue_data.data.data[0]\r\n queuein_data.status = 'Check-Out'\r\n this.setState({ queue_data: queuein_data })\r\n let queuedata = {\r\n \"n_business_id\": queuein_data.business_id,\r\n \"n_business_user_id\": queuein_data.business_user_id,\r\n \"n_schedule_day_id\": queuein_data.schedule_day_id,\r\n \"n_q_id\": queuein_data.q_id,\r\n \"n_status\": \"Check-Out\",\r\n \"n_schedule_type\": \"CHKOUT\",\r\n \"n_preference\": \"1\"\r\n }\r\n \r\n // return false;\r\n // {\r\n // \"n_business_id\": \"7405dfa0-a5c4-11ea-ba30-05b511e3603e\",\r\n // \"n_schedule_day_id\": \"f4e6f51b-bdc8-11eb-97e3-0ad8e4601dac\", \r\n // \"n_status\": \"Check-Out\", \r\n // \"n_business_user_id\": \"ef98dcf0-bdc8-11eb-a631-39b54728a3e8\",\r\n // \"n_schedule_type\": \"CHKOUT\",\r\n // \"n_q_id\":\"2a8efbc1-035b-452c-96fd-f1f2f531885f\",\r\n // \"n_preference\":\"1\"\r\n // }\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(UpdateQueueForCheckOut, queuedata)\r\n .then((response) => {\r\n \r\n \r\n \r\n \r\n if(checkindetails.follow_up_details != \"\"){\r\n \r\n console.log(msgreqdata);\r\n // console.log(this.props.userdata);\r\n \r\n axios\r\n .post(sendemail, msgreqdata)\r\n .then((res) => {\r\n let resdata = res.data; \r\n axios\r\n .post(sendsms, notificationdata)\r\n .then((result) => {\r\n console.log(result)\r\n }).catch((err) => {\r\n console.log(err);\r\n })\r\n console.log(resdata);\r\n this.setState({ loading: false });\r\n let data = {\r\n message:\"\",\r\n status:\"\"\r\n }\r\n if (resdata===true) {\r\n data.error_type = \"success\";\r\n data.message = \"Referral email send successfully\"\r\n data.status = \"1\"\r\n this.setState({\r\n formSuccess: data,\r\n });\r\n this.setState({ loading: false });\r\n \r\n } else {\r\n data.error_type = \"error\";\r\n data.message = \"Failed\"\r\n data.status = \"0\"\r\n this.setState({\r\n formSuccess: data,\r\n });\r\n this.setState({ loading: false });\r\n \r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n \r\n \r\n \r\n \r\n let data = { id: this.props.match.params.id, business_id: queuein_data.business_id };\r\n axios.post(updatePrescription, data, CONFIG).then((list) => {\r\n toast.success(\"Check out Completed Successfully.\",{\r\n className:\"toast-success\"\r\n }); window.location.href = \"/consult\";\r\n return false\r\n \r\n }).catch((e) => {\r\n console.log(\"Update queue failed\");\r\n toast.error(\"Check out could not be Completed.\",{\r\n className:\"toast-error\"\r\n });\r\n });\r\n this.setState({ loading: false })\r\n \r\n \r\n // setTimeout(\r\n // () =>\r\n // toast.success(\"Check out Completed Successfully.\",{\r\n // className:\"toast-success\"\r\n // }), window.location.href = \"/consult\",\r\n // 5000\r\n // );\r\n \r\n // this.props.history.push(\"/consult\");\r\n \r\n }).catch((e) => {\r\n console.log(\"Update queue failed\");\r\n });\r\n }\r\n }).catch((e) => {\r\n console.log(\"Get appoinment by id failed\");\r\n });\r\n\r\n }\r\n \r\n \r\n }\r\n handleCheckbox = (e) => {\r\n console.log(e.target.checked);\r\n console.log(e.target.name);\r\n let data = this.state.followupData;\r\n let name = e.target.name;\r\n data[name] = e.target.checked === true ? 1 : 0;\r\n data.client_id = this.state.checkinData.client_id;\r\n data.business_id = this.state.checkinData.business_id;\r\n data.consultation_fee=data.consultation_fee;\r\n \r\n this.setState({ followupData: data });\r\n console.log(data)\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios\r\n .post(consultDoctor, data, CONFIG)\r\n .then((res) => {\r\n this.setState({ loading: false });\r\n const result = res.data;\r\n if (result.status === \"1\") {\r\n this.setState({ successMessage: result.message });\r\n } else {\r\n this.setState({\r\n errorMessage:\r\n result.message || \"Failed to submit prescription details\",\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n this.setState({\r\n loading: false,\r\n errorMessage: \"Failed to submit consultant details\",\r\n });\r\n });\r\n });\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.followupData;\r\n let errors = this.state.errors;\r\n if(name===\"follow_up_details\"||name===\"consultation_fee\")\r\n {\r\n value = value.replace(/[^0-9]/ig,'');\r\n }\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ followupData: data, errors: errors });\r\n }\r\n \r\n handleInput = (e) => {\r\n let data = this.state.followupData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n console.log(max);\r\n \r\n if (\r\n name === \"follow_up_details\" ) \r\n { \r\n \r\n \r\n \r\n this.validateMaxLength(name, value, max);\r\n }\r\n \r\n else\r\n {\r\n data[name] = value;\r\n }\r\n this.setState({ followupData: data });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios\r\n .post(consultDoctor, data, CONFIG)\r\n .then((res) => {\r\n this.setState({ loading: false });\r\n const result = res.data;\r\n if (result.status === \"1\") {\r\n this.setState({ successMessage: result.message });\r\n } else {\r\n this.setState({\r\n errorMessage:\r\n result.message || \"Failed to submit prescription details\",\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n this.setState({\r\n loading: false,\r\n errorMessage: \"Failed to submit consultant details\",\r\n });\r\n });\r\n });\r\n }\r\n handleconsultationfeeInput = (e) => {\r\n let data = this.state.followupData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n console.log(max);\r\n this.setState({ followupData: data }); \r\n if ( name === \"consultation_fee\" ) \r\n { \r\n \r\n \r\n \r\n this.validateMaxLength(name, value, max);\r\n }\r\n \r\n else\r\n {\r\n data[name] = value;\r\n }\r\n this.setState({ followupData: data });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .put(updateconsultationfee, { id: this.props.id,consultation_fee:data.consultation_fee }, CONFIG)\r\n .then((res) => {\r\n let data = res.data.data || res.data.date;\r\n if (res.data.status !== \"1\" || !data) {\r\n return;\r\n }\r\n }).catch((e) => { });\r\n\r\n }\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n console.log(selectedOptions);\r\n console.log(e.name);\r\n let data = this.state.followupData;\r\n data[e.name] = selectedOptions;\r\n console.log(selectedOptions);\r\n console.log(selectedOptions.value);\r\n this.setState({ followupData: data });\r\n\r\n axios\r\n .post(getPharmacydetailsbyid,{pharmacy_id:this.state.followupData.pharmacy_details.value}, CONFIG)\r\n .then((res) => {\r\n //console.log(res);\r\n // console.log(res.data);\r\n let response = res.data;\r\n console.log(response.data[0]);\r\n console.log(response.data[0].pharmacy_location);\r\n\r\n // return false;\r\n if (response.status == \"1\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ pharmacy_location: response.data[0].pharmacy_location,pharmacyuser_id:response.data[0].pharmacyuser_id });\r\n\r\n this.state.followupData.pharmacy_location=response.data[0].pharmacy_location;\r\n this.state.followupData.pharmacyuser_id=response.data[0].pharmacyuser_id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios\r\n .post(consultDoctor, data, CONFIG)\r\n .then((res) => {\r\n this.setState({ loading: false });\r\n const result = res.data;\r\n if (result.status === \"1\") {\r\n this.setState({ successMessage: \"Your Assessment has been updated successfully.\" });\r\n } else {\r\n this.setState({\r\n errorMessage:\r\n result.message || \"Failed to submit prescription details\",\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n this.setState({\r\n loading: false,\r\n errorMessage: \"Failed to submit consultant details\",\r\n });\r\n });\r\n });\r\n\r\n\r\n }\r\n \r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n\r\n \r\n };\r\n render() {\r\n const {\r\n followupData, pharmacy_array,errors,consultation_fee\r\n } = this.state;\r\n return (\r\n\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {/* */}\r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n Send\r\n   \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(\r\n mapStateToProps,\r\n)(ReferralDoctor)\r\n);","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { getPrescription, getPrescriptionHistory, getCheckinDetails,GetHistoryVitals,getClientspreviousmedicalrecords } from \"../config/url.json\";\r\nimport * as moment from \"moment\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport Lightbox from 'react-18-image-lightbox';\r\nimport 'react-18-image-lightbox/style.css'; // This only needs to be imported once in your app\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n access_token: state.AuthReducer.access_token,\r\n\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n\r\n };\r\n}\r\n\r\nclass ConsultationHistory extends Component {\r\n constructor(props) {\r\n super(props);\r\n console.log(props)\r\n console.log(\"props\")\r\n this.state = {\r\n checkinData: [],\r\n loading: false,\r\n records: [],\r\n selectedOption: [\"0\"],\r\n filter: \"\",\r\n result: [],\r\n errors: {\r\n Todate: \"\",\r\n Fromdate: \"\",\r\n },\r\n error: \"\",\r\n photoIndex: 0,\r\n isOpen: false,\r\n noImage:false,\r\n };\r\n this.columns = [\r\n {\r\n key: \"medicine_description\",\r\n text: \"Medicine Description\",\r\n className: \"medicine_description\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"days\",\r\n text: \"Days\",\r\n className: \"days\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"before_food\",\r\n text: \"Before Food\",\r\n className: \"before_food\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record, i) => {\r\n return record.before_food === 1 ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n \"\"\r\n );\r\n },\r\n },\r\n {\r\n key: \"morning\",\r\n text: \"Morning\",\r\n className: \"morning\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"noon\",\r\n text: \"Noon\",\r\n className: \"noon\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"night\",\r\n text: \"Night\",\r\n className: \"night\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"total\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n componentDidMount() {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n console.log(this.props.id)\r\n this.setState({ loading: true, filter: \"month\" });\r\n const checkinData = { id: this.props.id };\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n let data = res.data.data || res.data.date;\r\n if (res.data.status !== \"1\" || !data) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n checkinData: data,\r\n });\r\n \r\n this.getReport('month',\"\",\"\");\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const postData1 = { client_id: this.state.checkinData.client_id };\r\n axios\r\n .post(GetHistoryVitals, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n console.log(data.with_in_30[0].height);\r\n console.log(data.with_in_30[0].weight);\r\n console.log(data.with_in_30[0].bp);\r\n console.log(data.with_in_30[0].pulse);\r\n console.log(data.with_in_30[0].temperature);\r\n console.log(data.with_in_30[0].bmi);\r\n \r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n with_in_week: data.with_in_week,\r\n with_in_30: data.with_in_30,\r\n with_in_3_months: data.with_in_3_months,\r\n with_in_6_months: data.with_in_6_months,\r\n with_in_year: data.with_in_year,\r\n with_in_2_years: data.with_in_2_years,\r\n Historyheight: data.with_in_week.length ? data.with_in_week[0].height\r\n : data.with_in_30.length ? data.with_in_30[0].height\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].height\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].height\r\n : data.with_in_year.length ? data.with_in_year[0].height\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].height\r\n : [],\r\n Historyweight: data.with_in_week.length ? data.with_in_week[0].weight\r\n : data.with_in_30.length ? data.with_in_30[0].weight\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].weight\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].weight\r\n : data.with_in_year.length ? data.with_in_year[0].weight\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].weight\r\n : [],\r\n \r\n Historytemperature: data.with_in_week.length ? data.with_in_week[0].temperature\r\n : data.with_in_30.length ? data.with_in_30[0].temperature\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].temperature\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].temperature\r\n : data.with_in_year.length ? data.with_in_year[0].temperature\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].temperature\r\n : [],\r\n Historybmi: data.with_in_week.length ? data.with_in_week[0].bmi\r\n : data.with_in_30.length ? data.with_in_30[0].bmi\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bmi\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bmi\r\n : data.with_in_year.length ? data.with_in_year[0].bmi\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bmi\r\n : [],\r\n Historybp: data.with_in_week.length ? data.with_in_week[0].bp\r\n : data.with_in_30.length ? data.with_in_30[0].bp\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bp\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bp\r\n : data.with_in_year.length ? data.with_in_year[0].bp\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bp\r\n : [],\r\n Historypulse: data.with_in_week.length ? data.with_in_week[0].pulse\r\n : data.with_in_30.length ? data.with_in_30[0].pulse\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].pulse\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].pulse\r\n : data.with_in_year.length ? data.with_in_year[0].pulse\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].pulse\r\n : [],\r\n });\r\n } else {\r\n this.setState({ error: res.data.message });\r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getClientspreviousmedicalrecords,{client_id: this.state.checkinData.client_id}, CONFIG)\r\n .then((ImageurlRespons) => {\r\n let ImageurldataList = ImageurlRespons.data.data;\r\n console.log(ImageurldataList);\r\n if(ImageurldataList==undefined)\r\n {\r\n this.setState({ noImage:true });\r\n \r\n }\r\n \r\n /* if(ImageurldataList.status==\"1\")\r\n {\r\n */\r\n console.log(ImageurldataList);\r\n let ImageurlList = [];\r\n ImageurldataList.forEach((element, index) => {\r\n ImageurlList.push({\r\n value: element.image_url,\r\n label: element.image_url,\r\n \r\n });\r\n });\r\n const stringnew=ImageurlList.map(({value})=>value)\r\n \r\n // console.log(stringnew);\r\n // let stringpath=stringnew[0];\r\n // let stringone=stringnew[1];\r\n console.log(ImageurlList);\r\n \r\n for(var i=0;i { });\r\n \r\n \r\n })\r\n .catch((e) => { });\r\n \r\n }\r\n refreshData = () => {\r\n \r\n this.setState({ loading: true, filter: \"month\" });\r\n this.getReport('month',\"\",\"\");\r\n \r\n };\r\n clear=()=>\r\n {\r\n this.state.Fromdate=\"\";\r\n this.state.Todate=\"\";\r\n this.setState({result:[]});\r\n }\r\n handlePrescriptionChange = (index, event) => {\r\n\r\n console.log(index);\r\n // console.log(event);\r\n // console.log(event.target.checked);\r\n let {\r\n\r\n // selectedOption,\r\n result,\r\n show_prescriptions,\r\n records,\r\n consultation_fee,\r\n business_name,\r\n first_name,\r\n last_name,\r\n created_at,\r\n } = this.state;\r\n\r\n records = result[index];\r\n console.log(records)\r\n show_prescriptions = result[index].show_prescriptions;\r\n consultation_fee=result[index].consultation_fee;\r\n business_name=result[index].business_name;\r\n first_name=result[index].first_name;\r\n last_name=result[index].last_name;\r\n created_at=result[index].created_at;\r\n\r\n\r\n console.log(records);\r\n this.setState({\r\n selectedOption: event.target.checked ? [index] : [],\r\n records: records ? records : [],\r\n show_prescriptions: show_prescriptions\r\n });\r\n };\r\n handlefilterSelect = (e) => {\r\n const { name, value } = e.target;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n console.log(value);\r\n this.getReport(value, \"\", \"\");\r\n }\r\n handleFromChange = (date) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n \r\n this.setState({ Fromdate: offsetDate });\r\n\r\n this.getReport(\"custom\", offsetDate, this.state.Todate);\r\n };\r\n handleToChange = (date) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n this.setState({ Todate: offsetDate });\r\n\r\n this.getReport(\"custom\", this.state.Fromdate,offsetDate);\r\n };\r\n\r\n getReport = (filter, from, to) => {\r\n console.log(filter);\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n // let {Todate,Fromdate} = this.state;\r\n console.log(from)\r\n console.log(to)\r\n // if(filter == 'custom' && Todate != null && Fromdate != null ){\r\n // postData1 = { client_id: this.props.userdata.id, filter: \"month\" };\r\n // } else {\r\n let postData1 = { client_id: this.state.checkinData.client_id, filter: filter, start_date: from, end_date: to };\r\n // }\r\n\r\n axios\r\n .post(getPrescriptionHistory, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n console.log(data);\r\n this.setState({\r\n result: data,\r\n\r\n records: (data.length)\r\n ? data\r\n : [],\r\n // show_prescriptions: data.length ? data.show_prescriptions : true,\r\n show_prescriptions: true,\r\n selectedOption: [],\r\n loading: false\r\n\r\n });\r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n result,\r\n selectedOption,\r\n records,\r\n errors,\r\n Historyheight,\r\n Historyweight,\r\n Historytemperature,\r\n Historybmi,\r\n Historybp,\r\n Historypulse,\r\n stringnew,\r\n photoIndex,\r\n isOpen,\r\n noImage\r\n } = this.state;\r\n // console.log(with_in_week.length);\r\n return (\r\n \r\n
    \r\n {/* */}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    Discharge summary
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    Diagnosis: {records.reason_for_visit ? records.reason_for_visit.map(e => e.label).join(', ') : \"\"}

    \r\n

    Reason for visit: {records.other_comments}

    \r\n

    Prescription:

    \r\n {records.medicine_description ? records.medicine_description.map((element, index) => {\r\n return (\r\n
  • \r\n {element.medicine_description}
  • )\r\n }) : \"\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Client Old Medical Images
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n {isOpen && (\r\n this.setState({ isOpen: false })}\r\n onMovePrevRequest={() =>\r\n this.setState({\r\n photoIndex: (photoIndex + stringnew.length - 1) % stringnew.length,\r\n })\r\n }\r\n onMoveNextRequest={() =>\r\n this.setState({\r\n photoIndex: (photoIndex + 1) % stringnew.length,\r\n })\r\n }\r\n />\r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Previous Vital details
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Height\r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n cm \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Weight\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n kg \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Temp\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n F \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    BMI\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n bmi\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    BP\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n mmHg \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Pulse\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n per min\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Others
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n

    \r\n

    \r\n

    \r\n

    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    Prescription
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Monthly\r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n Custom\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n {(this.state.filter === \"custom\") ?\r\n (
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.handleFromChange(date)\r\n }\r\n placeholder={\"Select the From date\"}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\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.handleToChange(date)\r\n }\r\n placeholder={\"Select the From date\"}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n\r\n
    \r\n\r\n
    ) : \"\"\r\n }\r\n {result.length\r\n ? result.map((history, index) => {\r\n return (\r\n
    \r\n -1\r\n }\r\n onChange={this.handlePrescriptionChange.bind(\r\n this,\r\n\r\n index\r\n )}\r\n />\r\n \r\n {moment(\r\n history.created_at\r\n ).format(\"DD MMM\")}\r\n - \r\n {history.other_comments\r\n ? history.\r\n other_comments\r\n : \"\"}\r\n \r\n
    \r\n );\r\n })\r\n : (
    No record found
    )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n {/* \r\n\r\n\r\n */}\r\n
    \r\n );\r\n\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(ConsultationHistory);","import React, { Component,Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport { getDateISOFormat, getPatientsubstring } from \"../constants/globalLevelFunctions\";\r\n//import FooterSection from \"../components/UI/FooterSection\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport CheckboxOrRadioGroup from \"../components/UI/CheckboxOrRadioGroup\";\r\nimport Label from \"../components/UI/Label\";\r\nimport * as moment from \"moment\";\r\nimport {\r\n consultPsychiatristDoctor, getAllBusinessList, getCheckinDetails,getQEntryById, createNotification,\r\n UpdateQueueForCheckOut,sendemail,sendsms,updateclientappointmentstatus,searchBusiness,getDocByBusiness,getDocByBusinesswithspeciality\r\n} from \"../config/url.json\";\r\nimport {\r\n stringToLabelValue,\r\n getKeyFromValue,\r\n getMaxIdOfRecords,\r\n calculate_age,\r\n } from \"../constants/globalLevelFunctions\";\r\nimport Select from \"react-select\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport TextArea from \"../components/UI/TextArea\";\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport Dnaspinner from '../components/UI/Dnaspinner';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n\r\n };\r\n}\r\nconst education_level = [\"Primary School\", \"Secondary School\",\"Graduate\",\"Post Graduate\",\"No Formal Education\"];\r\nconst occupation = [\"Student\", \"Employed\",\"Self-Employed\",\"Retired\",\"Unemployed\"];\r\nconst followup = ['followup'];\r\nlet eq_record = {\r\n id: \"\",\r\n education: \"\",\r\n specialization: \"\",\r\n university: \"\",\r\n completion_month: \"\",\r\n completion_year: \"\",\r\n };\r\n \r\n let cert_record = {\r\n education_level: \"\",\r\n specialization: \"\",\r\n valid_URL: \"\",\r\n certification_completion_month: \"\",\r\n certification_completion_year: \"\",\r\n valid_upto_month: \"\",\r\n valid_upto_year: \"\",\r\n id: \"\",\r\n };\r\n \r\n let experience_record = {\r\n hospital: \"\",\r\n ex_address: \"\",\r\n ex_city: \"\",\r\n ex_state: \"\",\r\n ex_country: \"\",\r\n ex_zipcode:\"\",\r\n experience_from: \"\",\r\n experience_to: \"\",\r\n id: \"\",\r\n };\r\nlet socio_demographic_record = {\r\n id: \"\",\r\n education_level: \"\",\r\n occupation: \"\",\r\n living_situation: \"\",\r\n };\r\nclass CaseHistorypsychiatrist extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n };\r\n \r\n this.state = {\r\n business_list: [],\r\n searchData:{business_name:\"\",speciality:\"\"},\r\n speciality_error:\"\",\r\n searchresults: {\r\n data: [],\r\n },\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n selected_doc: { value: \"\", label: \"\" },\r\n doctor_list: [],\r\n openModal: false,\r\n selected_doctor_appointment_detail_list: [],\r\n selected_doc_schedule_type: \"\",\r\n checkindetails:{},\r\n socio_demographic_details: [],\r\n queuein_data:{\r\n \r\n },\r\n socio_demographic_formData: {\r\n education_level: \"\",\r\n occupation: \"\",\r\n living_situation: \"\",\r\n id: \"\",\r\n },\r\n socio_demographic_error: {\r\n education_level: \"\",\r\n occupation: \"\",\r\n living_situation: \"\",\r\n },\r\n }\r\n\r\n this.socio_demographic_columns = [\r\n {\r\n key: \"id\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"education_level\",\r\n text: \"Education Level\",\r\n className: \"education_level\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"occupation\",\r\n text: \"Occupation\",\r\n className: \"occupation\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"living_situation\",\r\n text: \"Living Situation\",\r\n className: \"living_situation\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n show: false,\r\n width: 100,\r\n align: \"left\",\r\n className: \"hideAction\",\r\n TrOnlyClassName: \"hideAction\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n {\r\n this.setState({ medEdit: true, medAction: \"edit\" });\r\n this.editMedicalRecord(record);\r\n }}\r\n >\r\n \r\n \r\n this.onDeleteClick(record, \"socioDemographic\")}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n }\r\n onDeleteClick(record, tableName) {\r\n this.setState({ addPopup: true, record: record, tableName: tableName });\r\n }\r\n \r\n deleteRecord(record, tableName) {\r\n if (\"education\" === tableName) {\r\n let records = this.state.businessUserData.educational_qualification;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n toast.success(\"Education deleted.Please save the changes. \",{\r\n className:\"toast-success\"\r\n });\r\n } else if (\"certificate\" === tableName) {\r\n let records = this.state.businessUserData.certification;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n toast.success(\"Certificate deleted.Please save the changes. \",{\r\n className:\"toast-success\"\r\n });\r\n } else if (\"experience\" === tableName) {\r\n let records = this.state.businessUserData.experience;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n toast.success(\"Experience deleted.Please save the changes. \",{\r\n className:\"toast-success\"\r\n });\r\n } else if (\"socioDemographic\" === tableName) {\r\n let records = this.state.socio_demographic_details;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n toast.success(\"Socio Demographic deleted.Please save the changes. \",{\r\n className:\"toast-success\"\r\n });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n }\r\n componentDidMount() {\r\n \r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n console.log(this.props.id)\r\n const checkinData = { id: this.props.id };\r\n\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n let data = res.data.data || res.data.date;\r\n if (res.data.status !== \"1\" || !data) {\r\n return;\r\n }\r\n\r\n \r\n console.log(res.data.status)\r\n this.setState({\r\n checkindetails:res.data.data,\r\n client_id:this.state.checkindetails.client_id,\r\n business_id:this.state.checkindetails.business_id,\r\n business_user_id:this.state.checkindetails.business_user_id,\r\n \r\n });\r\n console.log(this.state.checkindetails);\r\n console.log(this.state.checkindetails.client_id);\r\n \r\n \r\n \r\n }).catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .get(getAllBusinessList, null, CONFIG)\r\n .then((list) => {\r\n console.log(list)\r\n let business = [];\r\n let userlist = list.data.data;\r\n userlist.forEach((element, index) => {\r\n business.push({ label: element.business_name, value: element.user_id })\r\n });\r\n \r\n this.setState({ business_list: business });\r\n })\r\n .catch((e) => { console.log(e) });\r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n \r\n }),\r\n 5000\r\n );\r\n };\r\n \r\n searchBusiness = () => {\r\n console.log(\"param\");\r\n\r\n \r\n \r\n let params = this.state.searchData;\r\n console.log(params);\r\n // if(params // 👈 null and undefined check\r\n // && Object.keys(params).length === 0 && params.constructor === Object){\r\n // console.log(params);\r\n // this.setState({speciality_error:\"Please choose Speciality to Search\",});\r\n // return;\r\n // }\r\n if(null===params.speciality || \"\" === params.speciality) \r\n {\r\n console.log(\"params\");\r\n this.setState({speciality_error:\"Select your Specialty field to search.\",});\r\n return;\r\n } \r\n else \r\n {\r\n this.setState({ speciality_error: \"\", });\r\n }\r\n // let params = this.state.searchData;\r\n console.log(params);\r\n let data = {\r\n \r\n business_name: params.business_name ? params.business_name.label : \"\",\r\n speciality: params.speciality ? params.speciality.value : \"\",\r\n \r\n };\r\n \r\n console.log(data);\r\n this.setState({loading: true});\r\n axios\r\n .post(searchBusiness, data, CONFIG)\r\n .then((searchresults) => {\r\n console.log(\"business list\");\r\n\r\n if (searchresults.data.status === \"1\") {\r\n console.log(searchresults);\r\n this.setState({ searchresults: searchresults.data });\r\n let result = this.state.searchresults;\r\n if (result.data.length) {\r\n result.data.forEach((element, index) => {\r\n\r\n // console.log(element);\r\n /* if (element.user_id !== \"\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .get(queueBusinessURL + element.user_id)\r\n .then((details) => {\r\n console.log(\"got response for waittime\");\r\n element.wait_time = details.data.waitTime;\r\n })\r\n .catch((e) => {});\r\n }*/\r\n element.s_no = index+1;\r\n result.data[index] = element;\r\n });\r\n console.log(result);\r\n window.setTimeout(() => {\r\n this.setState({ searchresults: result });\r\n }, 500);\r\n }\r\n } else {\r\n this.setState({ errorMessage: searchresults.data.message });\r\n this.setState({ \r\n searchresults:{\r\n data: [],\r\n } \r\n });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n errorMessage:\"\",\r\n });\r\n }, 5000);\r\n }\r\n this.setState({loading: false});\r\n })\r\n .catch((e) => {\r\n console.log(\"business list failed\");\r\n });\r\n };\r\n \r\n handleInput = (e) => {\r\n let data = this.state.followupData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n console.log(max);\r\n \r\n if (\r\n name === \"follow_up_details\" || name === \"consultation_fee\" ) \r\n { \r\n \r\n \r\n \r\n this.validateMaxLength(name, value, max);\r\n }\r\n \r\n else\r\n {\r\n data[name] = value;\r\n }\r\n this.setState({ followupData: data });\r\n \r\n }\r\n\r\n closePopup = (e) => {\r\n this.setState({\r\n openModal: false, errors: {}, error: \"\",successMessage:\"\",errorMessage:\"\",\r\n listofClientForQueue: []\r\n });\r\n };\r\n showFamilydetail = (value, el) => {\r\n this.setState({ loading: true });\r\n // console.log(this.state.searchData.speciality.value);\r\n if(this.state.searchData.speciality==undefined||this.state.searchData.speciality==null||this.state.searchData.speciality==\"\")\r\n {\r\n const data = {\r\n n_business_id: value.user_id,\r\n n_currentdate: getDateISOFormat(new Date()),\r\n \r\n };\r\n console.log(data);\r\n if (value.user_id !== \"\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getDocByBusiness, data, CONFIG)\r\n .then((result) => {\r\n \r\n let resData = result.data.data;\r\n console.log(result);\r\n console.log(resData);\r\n let queuein_data = {};\r\n \r\n queuein_data.n_business_id = value.user_id;\r\n queuein_data.business_name = value.business_name;\r\n queuein_data.address = value.address1 + \" \" + value.city;\r\n queuein_data.expected_wait_time = value.expected_wait_time;\r\n \r\n let doctor_appointment_detail_list = [];\r\n let docList = [];\r\n \r\n console.log(resData);\r\n if (resData) {\r\n resData.forEach((element, index) => {\r\n let doctor_obj = {};\r\n \r\n doctor_obj.doc_name = element.doctor_name;\r\n doctor_obj.business_user_id = element.business_user_id;\r\n doctor_obj.schedule_day_id = element.schedule_day_id;\r\n doctor_obj.schedule_id = element.schedule_id;\r\n doctor_obj.schedule_type = element.schedule_type;\r\n \r\n doctor_obj.appt_id = element.appt_id;\r\n doctor_obj.doctor_Appointments = element.doctor_Appointments;\r\n \r\n doctor_appointment_detail_list.push(doctor_obj);\r\n docList.push({\r\n value: element.business_user_id,\r\n label: element.doctor_name,\r\n speciality_name: element.speciality_name,\r\n });\r\n });\r\n }\r\n \r\n \r\n console.log(docList);\r\n \r\n this.setState({\r\n doctor_list: docList,\r\n queuein_data:queuein_data,\r\n doctor_appointment_detail_list: doctor_appointment_detail_list,\r\n });\r\n \r\n console.log(this.state.doctor_appointment_detail_list);\r\n \r\n //By default select on doctor\r\n let selected_doc = docList[0];\r\n let selected_appointment = [];\r\n let selected_doc_schedule_type = this.setState.selected_doc_schedule_type;\r\n \r\n //Based on default doctor selection select corresponding appointment details\r\n doctor_appointment_detail_list.forEach((element, index) => {\r\n if (element.business_user_id == docList[0].value) {\r\n selected_appointment = element.doctor_Appointments;\r\n selected_doc_schedule_type = element.schedule_type;\r\n }\r\n });\r\n \r\n this.setState({\r\n selected_doc: selected_doc,\r\n selected_doctor_appointment_detail_list: selected_appointment,\r\n selected_doc_schedule_type: selected_doc_schedule_type\r\n });\r\n console.log(this.state.selected_doctor_appointment_detail_list);\r\n console.log(this.state.selected_doc);\r\n \r\n this.setState({ openModal: true, loading: false });\r\n })\r\n .catch((e) => { });\r\n }\r\n }else\r\n {\r\n const data = {\r\n n_business_id: value.user_id,\r\n n_currentdate: getDateISOFormat(new Date()),\r\n speciality:this.state.searchData.speciality.value,\r\n \r\n };\r\n console.log(data);\r\n if (value.user_id !== \"\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getDocByBusinesswithspeciality, data, CONFIG)\r\n .then((result) => {\r\n \r\n let resData = result.data.data;\r\n console.log(result);\r\n console.log(resData);\r\n let queuein_data = {};\r\n \r\n queuein_data.n_business_id = value.user_id;\r\n queuein_data.business_name = value.business_name;\r\n queuein_data.address = value.address1 + \" \" + value.city;\r\n queuein_data.expected_wait_time = value.expected_wait_time;\r\n \r\n let doctor_appointment_detail_list = [];\r\n let docList = [];\r\n \r\n console.log(resData);\r\n if (resData) {\r\n resData.forEach((element, index) => {\r\n let doctor_obj = {};\r\n \r\n doctor_obj.doc_name = element.doctor_name;\r\n doctor_obj.business_user_id = element.business_user_id;\r\n doctor_obj.schedule_day_id = element.schedule_day_id;\r\n doctor_obj.schedule_id = element.schedule_id;\r\n doctor_obj.schedule_type = element.schedule_type;\r\n doctor_obj.appt_id = element.appt_id;\r\n doctor_obj.doctor_Appointments = element.doctor_Appointments;\r\n \r\n doctor_appointment_detail_list.push(doctor_obj);\r\n docList.push({\r\n value: element.business_user_id,\r\n speciality_name: element.speciality_name,\r\n label: element.doctor_name,\r\n });\r\n });\r\n }\r\n \r\n \r\n console.log(docList);\r\n \r\n this.setState({\r\n doctor_list: docList,\r\n queuein_data:queuein_data,\r\n doctor_appointment_detail_list: doctor_appointment_detail_list,\r\n });\r\n \r\n console.log(this.state.doctor_appointment_detail_list);\r\n \r\n //By default select on doctor\r\n let selected_doc = docList[0];\r\n let selected_appointment = [];\r\n let selected_doc_schedule_type = this.setState.selected_doc_schedule_type;\r\n \r\n //Based on default doctor selection select corresponding appointment details\r\n doctor_appointment_detail_list.forEach((element, index) => {\r\n if (element.business_user_id == docList[0].value) {\r\n selected_appointment = element.doctor_Appointments;\r\n selected_doc_schedule_type = element.schedule_type;\r\n }\r\n });\r\n \r\n this.setState({\r\n selected_doc: selected_doc,\r\n selected_doctor_appointment_detail_list: selected_appointment,\r\n selected_doc_schedule_type: selected_doc_schedule_type\r\n });\r\n console.log(this.state.selected_doctor_appointment_detail_list);\r\n console.log(this.state.selected_doc);\r\n \r\n this.setState({ openModal: true, loading: false });\r\n })\r\n .catch((e) => { });\r\n }\r\n \r\n }\r\n };\r\n handleselectDocChange = (selectedOptions, e) => {\r\n let data = this.state.selected_doc;\r\n data = selectedOptions;\r\n \r\n this.setState({ selected_doc: data });\r\n \r\n console.log(this.state.doctor_appointment_detail_list);\r\n \r\n let appointmentDetails = this.state.doctor_appointment_detail_list;\r\n \r\n let selected_appointment = this.state\r\n .selected_doctor_appointment_detail_list;\r\n \r\n let selected_doc_schedule_type = this.state.selected_doc_schedule_type;\r\n \r\n appointmentDetails.forEach((element, index) => {\r\n console.log(element.business_user_id);\r\n console.log(element.doctor_Appointments);\r\n if (element.business_user_id == selectedOptions.value) {\r\n console.log(\"true\");\r\n selected_appointment = element.doctor_Appointments;\r\n selected_doc_schedule_type = element.schedule_type;\r\n } else {\r\n console.log(\"false\");\r\n }\r\n });\r\n this.setState({\r\n selected_doctor_appointment_detail_list: selected_appointment,\r\n selected_doc_schedule_type: selected_doc_schedule_type\r\n });\r\n };\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n let errors=this.state.errors;\r\n // console.log(e.name);\r\n data[e.name] = selectedOptions;\r\n \r\n // if (e.name === \"business_name\" && null != selectedOptions) {\r\n // console.log(selectedOptions);\r\n // data.latitude = selectedOptions.latitude;\r\n // data.longitude = selectedOptions.longitude;\r\n // } else {\r\n // data.latitude = this.state.latitude;\r\n // data.longitude = this.state.longitude;\r\n // }\r\n this.setState({ searchData: data,errors,speciality_error:\"\" });\r\n \r\n \r\n };\r\n handleQueueInput = (e) => {\r\n let data = this.state.queuein_data;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n this.setState({ queuein_data: data });\r\n }\r\n createNotification = ()=>{\r\n let { queuein_data, selected_doc,checkindetails } = this.state;\r\n console.log(queuein_data); \r\n console.log(checkindetails); \r\n let message = \"

    Hi \"+checkindetails.first_name+\" \"+checkindetails.last_name+ \",

    \"+\"Thank you for visiting \"+ selected_doc.label + \" referred you for an appointment at \" + queuein_data.business_name + \" hospital for checkups.

    Please arrive 10 minutes prior to your appointment time.Thank you.

    Sincerely,

    KlinicQ Team.

    \";\r\n //return false;\r\n \r\n let notification_message=\"Hi \"+checkindetails.first_name+\" \"+checkindetails.last_name+ \",\"+\" Thank you for visiting \"+ selected_doc.label + \" referred you for an appointment at \" + queuein_data.business_name + \" hospital for checkups. Please arrive 10 minutes prior to your appointment time.Thank you.Sincerely,KlinicQ Team.\";\r\n \r\n let notificationdata = {\r\n message_from: selected_doc.value,\r\n message_to: checkindetails.client_id,\r\n message: notification_message,\r\n link: \"\",\r\n\r\n }\r\n\r\n\r\n let reqdata = {\r\n \"to\" : checkindetails.email,\r\n \"subject\" : \"Referral Doctor\",\r\n \"mailHeader\" : \"Referral Doctor\",\r\n \"message\": message\r\n }\r\n let notificationdata1 = {\r\n \"message_code\": \"REFERRAL_DOCTOR\",\r\n \"language_code\": \"en\",\r\n \"data\": {\r\n \"doctor_name\": selected_doc.label,\r\n \"business_name\": queuein_data.business_name\r\n \r\n },\r\n \"receiver\": {\r\n \"phoneNumber\": checkindetails.phone_code.concat(checkindetails.phone_number)\r\n }\r\n };\r\n\r\n \r\n this.setState({ loading: true }, () => {\r\n axios.post(createNotification, notificationdata).then((res) => {\r\n\r\n\r\n\r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data; \r\n console.log(res);\r\n axios\r\n .post(sendsms, notificationdata1)\r\n .then((response) => { console.log(response) }).catch((err) => {\r\n console.log(err);\r\n })\r\n /* toast.success(\"Referral doctor successfully.\", {\r\n className: \"toast-success\",\r\n }); */\r\n this.setState({successMessage:\"The Referral mail has been sent successfully.\",loading: false});\r\n this.clearMessage();\r\n })\r\n .catch((e) => { console.log(e) });\r\n\r\n\r\n\r\n this.closePopup();\r\n // console.log(this.state.queuein_data); return false;\r\n // this.props.history.push(\"/scheduleconfirmation/\" + qid);\r\n \r\n // window.location.replace(\"/scheduleconfirmation/\" + qId);\r\n }).catch((e) => {\r\n\r\n });\r\n });\r\n\r\n \r\n\r\n\r\n \r\n \r\n }\r\n clear = () => {\r\n let search = {business_name:\"\",speciality:\"\"}; \r\n let searchresults= {\r\n data: [],\r\n };\r\n this.setState({searchresults:searchresults,searchData:search,speciality_error:\"\",errorMessage:\"\"});\r\n \r\n }\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () =>\r\n this.deleteRecord(this.state.record, this.state.tableName);\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n let specialities = [];\r\n specialities_array.forEach((element, index) => {\r\n specialities.push({ value: element.id, label: element.name });\r\n });\r\n specialities_array = specialities;\r\n const {\r\n business_list,searchData,searchresults,selected_doc, doctor_list,loading,successMessage,\r\n errorMessage,socio_demographic_formData,\r\n socio_demographic_error,\r\n } = this.state;\r\n return (\r\n\r\n
    \r\n {/* */}\r\n {loading && }\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Socio Demographc Data\r\n {\r\n this.setState({\r\n medEdit: true,\r\n });\r\n }}\r\n >\r\n \r\n \r\n
    \r\n {this.state.socio_demographic_details && this.state.socio_demographic_details.length ? ( \r\n 0\r\n ? \"show-reactData-table w-100\"\r\n : \"hide-reactData-table col-sm-12\"\r\n }\r\n >\r\n \r\n
    \r\n ):\"\"}\r\n \r\n \r\n {/*
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {/* \r\n \r\n */}\r\n
    \r\n \r\n \r\n \r\n Queue-In\r\n \r\n \r\n \r\n {/* */}\r\n
    \r\n {\" \"}\r\n \r\n {this.state.error}\r\n \r\n
    \r\n {/* \r\n
    \r\n \r\n
    \r\n */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"s_no\", billing_record.s_no);\r\n if (null != record) {\r\n records[recIndex].selectedSearchBoxValue = record;\r\n records[recIndex].fee = record.amount;\r\n records[recIndex].gst_rate = record.tax_percentage + \" %\";\r\n records[recIndex].gst_amount =\r\n (record.tax_percentage / 100) * record.amount;\r\n records[recIndex].total_amount =\r\n Number(records[recIndex].fee) +\r\n Number(records[recIndex].gst_amount);\r\n } else {\r\n records[recIndex].selectedSearchBoxValue = \"\";\r\n records[recIndex].fee = \"\";\r\n records[recIndex].gst_rate = \"\";\r\n records[recIndex].gst_amount = \"\";\r\n records[recIndex].total_amount = \"\";\r\n }\r\n\r\n console.log(recIndex);\r\n console.log(records.length - 1);\r\n if (recIndex === records.length - 1) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = records.length + 1;\r\n records.push(default_rec);\r\n }\r\n this.setState({ records }, () => {\r\n this.calculateSection();\r\n });\r\n }}\r\n />\r\n );\r\n } else {\r\n return billing_record.description;\r\n }\r\n };\r\n */\r\n submitPrescription() {\r\n const postData = this.state.consultData;\r\n postData.medicine_description = this.state.records;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios\r\n .post(consultDoctor, postData, CONFIG)\r\n .then((res) => {\r\n this.setState({ loading: false });\r\n const result = res.data;\r\n if (result.status === \"1\") {\r\n this.setState({ PrescriptionsuccessMessage:\"Your Prescription details have been updated successfully.\" });\r\n } else {\r\n this.setState({\r\n PrescriptionerrorMessage:\r\n result.message || \"Failed to submit prescription details\",\r\n });\r\n }\r\n this.setState({ activeTab: \"Follow up\" })\r\n\r\n })\r\n .catch((e) => {\r\n this.setState({\r\n loading: false,\r\n errorMessage: \"Failed to submit consultant details\",\r\n activeTab: \"Follow up\"\r\n });\r\n });\r\n\r\n\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n deleteRecord(record) {\r\n \r\n const selectedDrugs = this.state.records;\r\n console.log(selectedDrugs);\r\n const deleteIndex = selectedDrugs.indexOf(record);\r\n selectedDrugs.splice(deleteIndex, 1);\r\n this.setState({records: selectedDrugs });\r\n this.setState({ PrescriptionerrorMessage: \"Your Drugs have been deleted successfully.\" });\r\n this.clearMessage();\r\n }\r\n\r\n handleTableCheckboxChange = (e) => {\r\n let data = this.state.records;\r\n let id = e.target.id.split(\"-\")[1];\r\n data[id][e.target.name] = e.target.checked ? 1 : 0;\r\n this.setState({ records: data });\r\n };\r\n\r\n handleSymptomSearch = (e) => {\r\n let cloneSymptoms = this.state.cloneSymptoms;\r\n if (null == e.target.value || \"\" === e.target.value) {\r\n this.setState({\r\n symptoms: cloneSymptoms\r\n });\r\n } else {\r\n //let symptoms = this.state.symptoms;\r\n const filteredSymptopms = cloneSymptoms.filter(symptom => {\r\n return symptom.symptom_name.toLowerCase().includes(e.target.value.toLowerCase());\r\n });\r\n this.setState({\r\n symptoms: filteredSymptopms\r\n });\r\n }\r\n\r\n\r\n };\r\n\r\n handleTableInput = (e, index) => {\r\n let data = this.state.records;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[index][name] = value;\r\n this.setState({ records: data });\r\n };\r\n\r\n handleCheckbox = (e) => {\r\n let data = this.state.searchRecords;\r\n let id = e.target.id.split(\"-\")[1];\r\n\r\n let name = e.target.name;\r\n let value = e.target.checked;\r\n data[id][name] = value;\r\n this.setState({ searchRecords: data });\r\n\r\n };\r\n\r\n handleSearchInput = (e) => {\r\n let data = this.state.searchData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n this.setState({ searchData: data });\r\n };\r\n\r\n handleSearchSelect = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = selectedOptions;\r\n this.setState({ searchData: data });\r\n //console.log(selectedOptions.label);\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const checkinData = { id: this.props.match.params.id };\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n this.setState({ checkinDetails: res.data.data })\r\n \r\n\r\n if (res.data.status === \"1\") {\r\n console.log(selectedOptions.label);\r\n \r\n axios\r\n .post(getAllActiveingredientsforDrugs,{user_id:res.data.data.business_id,drug_name:selectedOptions.label}, CONFIG)\r\n .then((ActiveIngredientdrugRespons) => {\r\n let ActiveIngredientNameList = ActiveIngredientdrugRespons.data.data;\r\n let ActiveIngredientList = [];\r\n ActiveIngredientNameList.forEach((element, index) => {\r\n ActiveIngredientList.push({\r\n value: element.id,\r\n label: element.active_ingredients,\r\n manufacturer: \"\"\r\n \r\n });\r\n });\r\n\r\n this.setState({ ActiveIngredientList });\r\n \r\n }).catch((e) => { });\r\n } \r\n \r\n }).catch((e) => { });\r\n\r\n\r\n };\r\n handleSearchGenericNameselect= (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = selectedOptions;\r\n this.setState({ searchData: data });\r\n\r\n \r\n };\r\n handleSearchactiveingredientsSelect= (activeselectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = activeselectedOptions;\r\n this.setState({ searchData: data });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const checkinData = { id: this.props.match.params.id };\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n this.setState({ checkinDetails: res.data.data })\r\n \r\n\r\n if (res.data.status === \"1\") {\r\n \r\n \r\n axios\r\n .post(getAllgenericnameforactiveingredients,{user_id:res.data.data.business_id,active_ingredients:activeselectedOptions.label}, CONFIG)\r\n .then((GenericNameRespons) => {\r\n let GenericNameFullList = GenericNameRespons.data.data;\r\n let GenericNameList = [];\r\n GenericNameFullList.forEach((element, index) => {\r\n GenericNameList.push({\r\n value: element.id,\r\n label: element.generic_name,\r\n manufacturer: \"\"\r\n \r\n });\r\n });\r\n\r\n this.setState({ GenericNameList });\r\n \r\n }).catch((e) => { });\r\n } \r\n \r\n }).catch((e) => { });\r\n\r\n\r\n };\r\n componentDidMount = () => {\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const checkinData = { id: this.props.match.params.id };\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n this.setState({ checkinDetails: res.data.data })\r\n\r\n\r\n if (res.data.status === \"1\") {\r\n\r\n console.log(this.state.checkinDetails);\r\n console.log(res.data.data);\r\n console.log(res.data.data.reason_for_visit);\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSymptom, { user_id: res.data.data.business_id }, CONFIG)\r\n .then((list) => {\r\n let symptomlist = list.data.data;\r\n\r\n symptomlist.forEach((element, index) => {\r\n let symptom = {};\r\n symptom.label = element.symptom_name;\r\n symptom.value = element.symptom_name;\r\n symptom.symptom_name = element.symptom_name;\r\n symptom.symptom_category = element.symptom_category;\r\n symptom.id = element.id;\r\n\r\n symptomlist[index] = symptom;\r\n });\r\n\r\n this.setState({ symptomlist: symptomlist });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getMasterSymptoms, { user_id: res.data.data.business_id }, CONFIG)\r\n .then((list) => {\r\n let symptomCategory = list.data.data;\r\n let symptomCategorylist = [];\r\n symptomCategory.forEach((element) => {\r\n symptomCategorylist.push({\r\n value: element.id,\r\n label: element.symptom_category,\r\n });\r\n });\r\n var result = symptomCategorylist.reduce((unique, o) => {\r\n if (!unique.some(obj => obj.label === o.label)) {\r\n unique.push(o);\r\n }\r\n return unique;\r\n }, []);\r\n\r\n result.push({ label: \"Others\", value: \"0\" })\r\n this.setState({ symptomCategory: result });\r\n })\r\n .catch((e) => { });\r\n\r\n }\r\n\r\n\r\n }).catch((e) => { });\r\n\r\n\r\n\r\n axios\r\n .post(getAllDrugTypes, null, CONFIG)\r\n .then((drugTypeResponse) => {\r\n let drugTypeList = drugTypeResponse.data.data;\r\n let drugTypes = [];\r\n drugTypeList.forEach((element, index) => {\r\n drugTypes.push({ value: element.id, label: element.drug_type });\r\n });\r\n\r\n this.setState({ drugTypes });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n\r\n\r\n\r\n\r\n axios\r\n .post(getAllMasterDisease, null, CONFIG)\r\n .then((list) => {\r\n const data = list.data.data;\r\n let diseaseList = [];\r\n data.forEach((element) => {\r\n diseaseList.push({\r\n value: element.disease_name,\r\n label: element.disease_name,\r\n });\r\n });\r\n\r\n this.setState({ diseaseList: diseaseList });\r\n })\r\n .catch((e) => { });\r\n\r\n // consultation codes\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const postData = { id: this.props.match.params.id };\r\n axios\r\n .post(getPrescription, postData, CONFIG)\r\n .then((res) => {\r\n let data = res.data.data || res.data.date;\r\n if (res.data.status !== \"1\" || !data || !data[0]) {\r\n return;\r\n }\r\n console.log(data[0]);\r\n console.log(data[0].medicine_description);\r\n this.setState({\r\n consultData: data[0],\r\n records: data[0].medicine_description || [],\r\n consult: data[0] || [],\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n // get search select options\r\n/* axios\r\n .post(getAllMasterDrug, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugNameList = drugMasterRespons.data.data;\r\n let drugList = [];\r\n masterdrugNameList.forEach((element, index) => {\r\n drugList.push({\r\n value: element.id,\r\n label: element.drug_name,\r\n manufacturer: \"\",\r\n active_incredient: \"\",\r\n });\r\n });\r\n\r\n this.setState({ drugList });\r\n })\r\n .catch((e) => { });\r\n */\r\n const consultData=this.state.consultData;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n this.setState({ checkinDetails: res.data.data })\r\n \r\n\r\n if (res.data.status === \"1\") {\r\n\r\n \r\n axios\r\n .post(getAllHospitalDrug,{user_id:res.data.data.business_id}, CONFIG)\r\n .then((drugRespons) => {\r\n let drugNameList = drugRespons.data.data;\r\n let drugList = [];\r\n drugNameList.forEach((element, index) => {\r\n drugList.push({\r\n value: element.id,\r\n label: element.drug_name,\r\n manufacturer: \"\",\r\n active_incredient: \"\",\r\n });\r\n });\r\n\r\n this.setState({ drugList });\r\n \r\n }).catch((e) => { });\r\n\r\n axios\r\n .post(getAllActiveingredientsforhospital,{user_id:res.data.data.business_id}, CONFIG)\r\n .then((ActiveIngredientdrugRespons) => {\r\n let ActiveIngredientNameList = ActiveIngredientdrugRespons.data.data;\r\n let ActiveIngredientList = [];\r\n ActiveIngredientNameList.forEach((element, index) => {\r\n ActiveIngredientList.push({\r\n value: element.id,\r\n label: element.active_ingredients,\r\n manufacturer: \"\"\r\n \r\n });\r\n });\r\n\r\n this.setState({ ActiveIngredientList });\r\n }).catch((e) => { });\r\n\r\n axios\r\n .post(getAllgenericnameforhospital,{user_id:res.data.data.business_id}, CONFIG)\r\n .then((GenericNameRespons) => {\r\n let GenericNameFullList = GenericNameRespons.data.data;\r\n let GenericNameList = [];\r\n GenericNameFullList.forEach((element, index) => {\r\n GenericNameList.push({\r\n value: element.id,\r\n label: element.generic_name,\r\n manufacturer: \"\"\r\n \r\n });\r\n });\r\n\r\n this.setState({ GenericNameList });\r\n \r\n }).catch((e) => { });\r\n } \r\n \r\n }).catch((e) => { });\r\n\r\n axios\r\n .post(getAllDrugCategories, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugCategoryResponse) => {\r\n let list = drugCategoryResponse.data.data;\r\n let drugCategories = [];\r\n list.forEach((element, index) => {\r\n drugCategories.push({\r\n value: element.id,\r\n label: element.drug_category,\r\n });\r\n });\r\n this.setState({ drugCategories });\r\n })\r\n .catch((e) => { });\r\n\r\n \r\n };\r\n\r\n searchAndShowSymptom(searchData, index) {\r\n\r\n let data = {};\r\n data.symptom_category = searchData.label;\r\n data.user_id = this.props.userdata.id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(getSymptomByCategory, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n let symptoms = [];\r\n records.forEach((element) => {\r\n symptoms.push({\r\n symptom_name: element.symptom_name,\r\n id: element.id,\r\n });\r\n });\r\nlet options = [];\r\nlet consultsymp = this.state.consult.symptoms;\r\nif(consultsymp){\r\n consultsymp.forEach((el, index) => {\r\n options.push(el.label);\r\n \r\n });\r\n\r\n}\r\n \r\n \r\n let uniqueoptions = options.filter((c, index) => {\r\n return options.indexOf(c) === index;\r\n });\r\n\r\n\r\n this.setState({\r\n symptoms: symptoms,\r\n cloneSymptoms: symptoms,\r\n // consult: { symptoms: symptoms[0].symptom_name },\r\n activeIndex: index,\r\n selectedSymptoms: uniqueoptions,\r\n });\r\n } else {\r\n this.setState({\r\n symptoms: [],\r\n // consult: { symptoms: [] },\r\n activeIndex: index,\r\n // selectedSymptoms: [],\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n selectSymptom = (symptom, e) => {\r\n const options = this.state.selectedSymptoms;\r\n let index;\r\n\r\n // check if the check box is checked or unchecked\r\n if (e.target.checked) {\r\n // add the numerical value of the checkbox to options array\r\n options.push(e.target.value);\r\n } else {\r\n // or remove the value from the unchecked checkbox from the array\r\n index = options.indexOf(e.target.value);\r\n options.splice(index, 1);\r\n }\r\n let consult = this.state.consult;\r\n\r\n let selectedSymptoms = [];\r\n\r\n let consultsymp = consult.symptoms;\r\n if(consultsymp){\r\n consultsymp.forEach((el, index) => {\r\n options.push(el.label); \r\n }); \r\n }\r\n \r\n\r\n let uniqueoptions = options.filter((c, index) => {\r\n return options.indexOf(c) === index;\r\n });\r\n uniqueoptions.forEach((e,i)=>{\r\n selectedSymptoms.push({label:e,value:e})\r\n })\r\n this.setState({ selectedSymptoms: uniqueoptions });\r\n\r\n \r\n consult.symptoms = selectedSymptoms;\r\n\r\n\r\n this.setState({\r\n consult,\r\n });\r\n };\r\n\r\n submitAssesment() {\r\n const data = this.state.consult;\r\n data.client_id = this.state.consultData.client_id; // TODO: replace this with actual client id\r\n data.business_id = this.state.consultData.business_id;\r\n data.id = this.props.match.params.id;\r\n \r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(consultDoctor, data, CONFIG).then(\r\n (res) => {\r\n const result = res.data;\r\n if (result.status === \"1\") {\r\n this.setState({ successMessage: \"Your Assessment has been updated successfully.\", consult: data });\r\n } else {\r\n this.setState({\r\n errorMessage:\r\n result.message || \"Failed to submit consultant details\",\r\n consult: data,\r\n });\r\n }\r\n\r\n this.setState({ loading: false, consult: data, activeTab: \"Prescription\" });\r\n },\r\n (err) => {\r\n this.setState({\r\n loading: false,\r\n errorMessage: \"Failed to submit consultant details\",\r\n consult: data,\r\n activeTab: \"Prescription\"\r\n });\r\n }\r\n );\r\n });\r\n this.clearMessage();\r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n PrescriptionsuccessMessage: \"\",\r\n PrescriptionerrorMessage: \"\",\r\n }),\r\n 5000\r\n );\r\n };\r\n\r\n handleInput = (e) => {\r\n let data = this.state.consult;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n this.setState({ consult: data });\r\n };\r\n\r\n Back=()=>\r\n {\r\n document.location.href=\"/canvas/\"+this.props.match.params.id;\r\n }\r\n\r\n handleSelect = (selectedOptions, e) => {\r\n\r\n let data = this.state.consult;\r\n data[e.name] = selectedOptions;\r\n if (e.name === \"symptoms\") {\r\n \r\n\r\n \r\nlet options = [];\r\n\r\n\r\n let consultsymp = selectedOptions;\r\nif(consultsymp){\r\n consultsymp.forEach((el, index) => {\r\n options.push(el.label);\r\n \r\n });\r\n\r\n}\r\n \r\n \r\n let uniqueoptions = options.filter((c, index) => {\r\n return options.indexOf(c) === index;\r\n });\r\n\r\nthis.setState({selectedSymptoms:uniqueoptions})\r\n\r\n \r\n }\r\n this.setState({ consult: data });\r\n };\r\n activateTab(activateTab, e) {\r\n\r\n this.setState({ activeTab: activateTab });\r\n }\r\n CheckOut = (e) => {\r\n\r\n this.setState({ loading: true })\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n let clientapppointmentId = this.state.checkinData.q_id;\r\n axios.post(getQEntryById, { q_id: clientapppointmentId }, CONFIG)\r\n .then((queue_data) => {\r\n\r\n if (queue_data.data.status === '1') {\r\n let queuein_data = queue_data.data.data[0]\r\n queuein_data.status = 'Check-Out'\r\n this.setState({ queue_data: queuein_data })\r\n let queuedata = {\r\n \"n_business_id\": queuein_data.business_id,\r\n \"n_business_user_id\": queuein_data.business_user_id,\r\n \"n_schedule_day_id\": queuein_data.schedule_day_id,\r\n \"n_q_id\": queuein_data.q_id,\r\n \"n_status\": \"Check-Out\",\r\n \"n_schedule_type\": \"CHKOUT\",\r\n \"n_preference\": \"1\"\r\n }\r\n\r\n // return false;\r\n // {\r\n // \"n_business_id\": \"7405dfa0-a5c4-11ea-ba30-05b511e3603e\",\r\n // \"n_schedule_day_id\": \"f4e6f51b-bdc8-11eb-97e3-0ad8e4601dac\", \r\n // \"n_status\": \"Check-Out\", \r\n // \"n_business_user_id\": \"ef98dcf0-bdc8-11eb-a631-39b54728a3e8\",\r\n // \"n_schedule_type\": \"CHKOUT\",\r\n // \"n_q_id\":\"2a8efbc1-035b-452c-96fd-f1f2f531885f\",\r\n // \"n_preference\":\"1\"\r\n // }\r\n const postData = this.state.consultData;\r\n// console.log(postData); console.log(queuein_data);return false;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(UpdateQueueForCheckOut, queuedata)\r\n .then((response) => {\r\n\r\n\r\n\r\n\r\n\r\n let reqdata = {\r\n \"to\" : \"elangamanir@gmail.com\",\r\n \"subject\" : \"Followup Remainder\",\r\n \"mailHeader\" : \"Followup Remainder\",\r\n \"message\": \"Hi Name, Your have followup remainder in 2 days in myhos for checkup. \"\r\n }\r\n let notificationdata = {\r\n \"message_code\": \"FOLLOW_UP\",\r\n \"language_code\": \"en\",\r\n \"data\": {\r\n \"patient_name\": queuein_data.first_name,\r\n \"followup_days\": reqdata.message,\r\n \"business_name\":\"\",\r\n // patient_name,followup_days,business_name\r\n \r\n },\r\n \"receiver\": {\r\n \"phoneNumber\": \"+919944053296\"\r\n }\r\n };\r\n console.log(reqdata);\r\n // console.log(this.props.userdata);\r\n \r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data; \r\n axios\r\n .post(sendsms, notificationdata)\r\n .then((result) => {\r\n console.log(result)\r\n }).catch((err) => {\r\n console.log(err);\r\n })\r\n console.log(resdata);\r\n this.setState({ loading: false });\r\n let data = {\r\n message:\"\",\r\n status:\"\"\r\n }\r\n if (resdata===true) {\r\n data.error_type = \"success\";\r\n data.message = \"Referral email send successfully\"\r\n data.status = \"1\"\r\n this.setState({\r\n formSuccess: data,\r\n });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n } else {\r\n data.error_type = \"error\";\r\n data.message = \"Failed\"\r\n data.status = \"0\"\r\n this.setState({\r\n formSuccess: data,\r\n });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n\r\n\r\n let data = { id: this.props.match.params.id, business_id: queuein_data.business_id };\r\n axios.post(updatePrescription, data, CONFIG).then((list) => {\r\n return false\r\n\r\n }).catch((e) => {\r\n console.log(\"Update queue failed\");\r\n toast.error(\"Check out could not be Completed.\",{\r\n className:\"toast-error\"\r\n });\r\n });\r\n this.setState({ loading: false })\r\n\r\n\r\n // this.setState({ QueuesuccessMsg: \"Queue status updated successfully\" });\r\n toast.success(\"The Consultation was completed successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n \r\n\r\n window.location.href = \"/consult\";\r\n // this.props.history.push(\"/consult\");\r\n\r\n }).catch((e) => {\r\n console.log(\"Update queue failed\");\r\n });\r\n }\r\n }).catch((e) => {\r\n console.log(\"Get appoinment by id failed\");\r\n });\r\n\r\n }\r\n render() {\r\n const {\r\n symptomCategory,\r\n consult,\r\n successMessage,\r\n errorMessage,\r\n PrescriptionerrorMessage, PrescriptionsuccessMessage,\r\n loading,\r\n diseaseList,\r\n symptomlist,\r\n activeIndex,\r\n\r\n //prescriptionss code\r\n searchData,\r\n searchRecords,\r\n drugUnits,\r\n drugList,\r\n ActiveIngredientList,\r\n GenericNameList,\r\n drugCategories,\r\n drugTypes,\r\n QueuesuccessMsg,\r\n checkinDetails,\r\n consultData\r\n } = this.state;\r\n return (\r\n
    \r\n \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \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.userdata.speciality_name=='Physiotherapy')?\r\n (\r\n \r\n \r\n {\" \"}\r\n Case History{\" \"}\r\n \r\n \r\n {\" \"}\r\n Case History{\" \"}\r\n \r\n \r\n ):''}\r\n \r\n \r\n \r\n {\" \"}\r\n Assessment{\" \"}\r\n \r\n \r\n {\" \"}\r\n Assessment{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Prescription{\" \"}\r\n \r\n \r\n Prescription{\" \"}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Follow up{\" \"}\r\n \r\n \r\n Follow up{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Referral Doctor{\" \"}\r\n \r\n \r\n Referral Doctor{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n History{\" \"}\r\n \r\n \r\n History{\" \"}\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n {QueuesuccessMsg ? (
    \r\n
    \r\n ) : \"\"}\r\n
    \r\n\r\n\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Reason for Visit
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.submitAssesment()\r\n }\r\n >\r\n Next\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Symptom List
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {this.state.symptoms.map((symptom, i) => {\r\n return (\r\n
    \r\n -1}\r\n\r\n />\r\n \r\n {symptom.symptom_name}\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Symptom Category
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {symptomCategory.map(\r\n (symptom, index) => {\r\n return (\r\n \r\n this.searchAndShowSymptom(\r\n symptom,\r\n index\r\n )\r\n }\r\n >\r\n {symptom.label}\r\n \r\n );\r\n }\r\n )}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    Prescription
    \r\n \r\n this.Back()\r\n }\r\n >\r\n Written Prescription\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n {/*
    */}\r\n
    \r\n
    \r\n \r\n Previous\r\n \r\n
    \r\n
    \r\n \r\n this.submitPrescription()\r\n }\r\n >\r\n Next\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    Search Drug
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n {/*
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {/*
    */}\r\n
    \r\n \r\n
    */}\r\n {/*
    \r\n \r\n
    \r\n {/*
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \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.searchAndShowDrug()\r\n }\r\n >\r\n Search\r\n \r\n
    \r\n
    \r\n {searchRecords.map((drug, i) => {\r\n return (\r\n
    \r\n \r\n \r\n {drug.drug_name}\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n {searchRecords && searchRecords.length ? (\r\n
    \r\n this.addDrug()}\r\n >\r\n \r\n  Add to Cart\r\n \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps,mapDispatchToProps)(Prescription);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SideBar from \"../components/container/layout/client/SideBar\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport Select from \"react-select\";\r\n\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { getPrescription, getPrescriptionHistory, getTimeoutbycategory,getClientEntireFamilyDetails } from \"../config/url.json\";\r\nimport * as moment from \"moment\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal'\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass ClientPrescription extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const timeout = this.state;\r\n\r\n this.state = {\r\n timeout: timeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n show_prescriptions: true,\r\n loading: false,\r\n records: [],\r\n filter: \"\",\r\n errors: {\r\n Todate: \"\",\r\n Fromdate: \"\",\r\n },\r\n result: [],\r\n selectedOption: [\"0\"],\r\n FamilyData: {\r\n member_name: \"\",\r\n user_id:\"\",\r\n },\r\n error: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"medicine_description\",\r\n text: \"Medicine Name\",\r\n className: \"medicine_description\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"days\",\r\n text: \"Days\",\r\n className: \"days\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"before_food\",\r\n text: \"Before Food\",\r\n className: \"before_food\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record, i) => {\r\n return record.before_food === 1 ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n \"\"\r\n );\r\n },\r\n },\r\n {\r\n key: \"morning\",\r\n text: \"Morning\",\r\n className: \"morning\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"noon\",\r\n text: \"Noon\",\r\n className: \"noon\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"night\",\r\n text: \"Night\",\r\n className: \"night\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"total\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n \r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n \r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n \r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n } \r\n }\r\n\r\n componentDidMount() {\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n \r\n axios\r\n .post(getClientEntireFamilyDetails,{client_id: this.props.userdata.id}, CONFIG)\r\n .then((FamilyDataRespons) => {\r\n let FamilyDataList = FamilyDataRespons.data.data;\r\n let FamilymemberList = [];\r\n FamilyDataList.forEach((element, index) => {\r\n FamilymemberList.push({\r\n value: element.user_id,\r\n label: element.first_name + ' ' + element.last_name,\r\n \r\n });\r\n \r\n });\r\n let selected_familymember=FamilymemberList[0];\r\n this.setState({ FamilymemberList,selected_familymember:selected_familymember });\r\n \r\n }).catch((e) => { });\r\n \r\n\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n timeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n this.setState({ loading: true, filter: \"month\" });\r\n\r\n let postData1 = { client_id: this.props.userdata.id, filter:\"month\"};\r\n \r\n \r\n axios\r\n .post(getPrescriptionHistory, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n this.setState({ loading: false });\r\n console.log(data[0].medicine_description);\r\n console.log(res.data);\r\n\r\n const medicine_details=data[0].medicine_description;\r\n console.log(medicine_details[0].morning);\r\n console.log(\"morning\");\r\n console.log(medicine_details.length);\r\n let i=0;\r\n for(i=0;i<=medicine_details.length-1;i++)\r\n {\r\n if(medicine_details[i].morning>=1)\r\n {\r\n console.log(\"Take \"+medicine_details[i].morning+\" pill of \"+medicine_details[i].medicine_description+\"\")\r\n }\r\n } \r\n console.log(\"noon\");\r\n //let i=0;\r\n for(i=0;i<=medicine_details.length-1;i++)\r\n {\r\n if(medicine_details[i].noon >=1)\r\n {\r\n console.log(\"Take \"+medicine_details[i].noon +\" pill of \"+medicine_details[i].medicine_description+\"\")\r\n }\r\n } \r\n\r\n console.log(\"night\");\r\n //let i=0;\r\n for(i=0;i<=medicine_details.length-1;i++)\r\n {\r\n if(medicine_details[i].night >=1)\r\n {\r\n console.log(\"Take \"+medicine_details[i].night +\" pill of \"+medicine_details[i].medicine_description+\"\")\r\n }\r\n } \r\n\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;s\r\n // }\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n result: data,\r\n \r\n records: (data.length && data.medicine_description != null)\r\n ? data.medicine_description\r\n : [],\r\n // show_prescriptions: data.length ? data.show_prescriptions : true,\r\n show_prescriptions: true,\r\n selectedOption:[],\r\n loading: false\r\n \r\n });\r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n // this.getReport('month');\r\n }\r\n handleselectChange = (element, i) => {\r\n /* let data = this.state.FamilyData;\r\n data[i.name] = element;\r\n */ let newdata = this.state.selected_familymember;\r\n newdata = element;\r\n \r\n this.setState({ selected_familymember: newdata });\r\n // this.setState({ selected_familymember:element.value });\r\n \r\n // console.log(this.state.family_member);\r\n \r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n let postData1 = { client_id: element.value, filter: this.state.filter, start_date: this.state.Fromdate, end_date: this.state.Todate };\r\n \r\n axios\r\n .post(getPrescriptionHistory, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n result: data,\r\n\r\n records: (data.length>0) ? data : [],\r\n records: (data.length && data.medicine_description != null)\r\n ? data.medicine_description\r\n : [],\r\n show_prescriptions: true,\r\n selectedOption: [],\r\n loading: false,\r\n \r\n\r\n });\r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n \r\n }\r\n refreshData = () => {\r\n const FamilyData = this.state.FamilyData;\r\n FamilyData.member_name=\"\";\r\n this.setState({ FamilyData: FamilyData });\r\n \r\n this.setState({ loading: true, filter: \"month\" });\r\n\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n let postData1 = { client_id: this.props.userdata.id, filter: 'month', start_date: this.state.Fromdate, end_date: this.state.Todate };\r\n \r\n axios\r\n .post(getPrescriptionHistory, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n result: data,\r\n\r\n records: (data.length>0) ? data : [],\r\n records: (data.length && data.medicine_description != null)\r\n ? data.medicine_description\r\n : [],\r\n show_prescriptions: true,\r\n selectedOption: [],\r\n loading: false\r\n\r\n });\r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n \r\n axios\r\n .post(getClientEntireFamilyDetails,{client_id: this.props.userdata.id}, CONFIG)\r\n .then((FamilyDataRespons) => {\r\n let FamilyDataList = FamilyDataRespons.data.data;\r\n let FamilymemberList = [];\r\n FamilyDataList.forEach((element, index) => {\r\n FamilymemberList.push({\r\n value: element.user_id,\r\n label: element.first_name + ' ' + element.last_name,\r\n \r\n });\r\n \r\n });\r\n this.setState({ selected_familymember: FamilymemberList[0]});\r\n })\r\n };\r\n\r\n clear=()=>\r\n {\r\n this.state.Fromdate=\"\";\r\n this.state.Todate=\"\";\r\n this.setState({result:[]});\r\n }\r\n handlePrescriptionChange = ( index, event) => {\r\n \r\n console.log(index);\r\n // console.log(event);\r\n // console.log(event.target.checked);\r\n let {\r\n\r\n // selectedOption,\r\n result,\r\n show_prescriptions,\r\n records,\r\n } = this.state;\r\n \r\n records = result[index].medicine_description;\r\n console.log(records)\r\n show_prescriptions = result[index].show_prescriptions;\r\n \r\n\r\n \r\n console.log(show_prescriptions);\r\n this.setState({\r\n selectedOption: event.target.checked ? [index] : [],\r\n records: records ? records : [],\r\n show_prescriptions: show_prescriptions\r\n });\r\n };\r\n handlefilterSelect = (e) => {\r\n const { name, value } = e.target;\r\n this.state.Fromdate=\"\";\r\n this.state.Todate=\"\";\r\n this.setState({\r\n [name]: value\r\n });\r\nconsole.log(value);\r\n this.getReport(value,\"\",\"\");\r\n }\r\n handleFromChange = (date) => {\r\n \r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n this.setState({ Fromdate: offsetDate });\r\n \r\n this.getReport(\"custom\",offsetDate,this.state.Todate);\r\n };\r\n handleToChange = (date) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n this.setState({ Todate: offsetDate });\r\n \r\n this.getReport(\"custom\",this.state.Fromdate,offsetDate);\r\n };\r\n\r\n getReport = (filter,from,to) => {\r\n console.log(filter);\r\n this.setState({loading: true});\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n // let {Todate,Fromdate} = this.state;\r\n console.log(from)\r\n console.log(to)\r\n // if(filter == 'custom' && Todate != null && Fromdate != null ){\r\n // postData1 = { client_id: this.props.userdata.id, filter: \"month\" };\r\n // } else {\r\n let postData1 = { client_id: this.state.selected_familymember.value, filter: filter,start_date:from,end_date:to };\r\n // }\r\n \r\n axios\r\n .post(getPrescriptionHistory, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n result: data,\r\n\r\n records: (data.length && data.medicine_description != null)\r\n ? data.medicine_description\r\n : [],\r\n // show_prescriptions: data.length ? data.show_prescriptions : true,\r\n show_prescriptions: true,\r\n selectedOption:[],\r\n loading: false\r\n\r\n });\r\n \r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n errors,\r\n selectedOption,\r\n show_prescriptions,\r\n error,\r\n result,\r\n timeout,\r\n family_data,\r\n FamilymemberList,\r\n FamilyData,\r\n selected_familymember,\r\n } = this.state;\r\n // console.log(with_in_week.length);\r\n return (\r\n
    \r\n {/* */}\r\n {loading && }\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.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={timeout} />\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Prescription

    \r\n \r\n
    \r\n {show_prescriptions ? (\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {error ? (\r\n {error}\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n
    \r\n {/*
    */}\r\n
    \r\n \r\n
    \r\n */}\r\n \r\n {/*
    \r\n \r\n
    */}\r\n {'\\n'}\r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n
    \r\n {/*
    \r\n
    */}\r\n
    \r\n
    \r\n //
    \r\n ) : (\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {error ? (\r\n {error}\r\n ) : (\r\n \"\"\r\n )}\r\n To view this Prescription, Please Subscribe any of our plan Click here to subscribe\r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n {/*
    \r\n\r\n
    \r\n
    Prescription
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Monthly\r\n \r\n
    \r\n\r\n
    \r\n\r\n \r\n \r\n Custom\r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n {(this.state.filter === \"custom\") ?\r\n (
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.handleFromChange(date)\r\n }\r\n placeholder={\"Select the From date\"}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.handleToChange(date)\r\n }\r\n placeholder={\"Select the From date\"}\r\n />\r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    ) : \"\"\r\n } \r\n
    \r\n
    \r\n {result.length\r\n ? result.map((history, index) => {\r\n return (\r\n
    \r\n -1\r\n }\r\n onChange={this.handlePrescriptionChange.bind(\r\n this,\r\n \r\n index\r\n )}\r\n />\r\n \r\n {moment(\r\n history.created_at\r\n ).format(\"DD MMM\")}\r\n -\r\n {history.other_comments\r\n ? history\r\n .other_comments\r\n : \"\"}\r\n \r\n \r\n
    \r\n );\r\n })\r\n : (\r\n
    No record found
    \r\n ) }\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n \r\n\r\n \r\n \r\n
    \r\n\r\n\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ClientMedicineScheduling);\r\n","import React, { Component } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport SideBar from \"../components/container/layout/client/SideBar\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport Select from \"react-select\";\r\n\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { getPrescriptionHistory, getTimeoutbycategory,getClientEntireFamilyDetails,GetHistoryVitals,getClientspreviousmedicalrecords } from \"../config/url.json\";\r\nimport * as moment from \"moment\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal'\r\nimport DatePicker from \"react-date-picker\";\r\nimport { data } from 'jquery';\r\nimport { consultation_fee } from '../constants/config/data';\r\nimport Lightbox from 'react-18-image-lightbox';\r\nimport 'react-18-image-lightbox/style.css'; // This only needs to be imported once in your app\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Dnaspinner from '../components/UI/Dnaspinner';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nclass ClientConsultation extends Component {\r\n imageSrc=[];\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const timeout = this.state;\r\n\r\n this.state = {\r\n timeout: timeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n show_prescriptions: true,\r\n loading: false,\r\n records: [],\r\n result: [],\r\n selectedOption: [\"0\"],\r\n filter: \"\",\r\n error: \"\", errors: {\r\n Todate: \"\",\r\n Fromdate: \"\",\r\n },\r\n FamilyData: {\r\n member_name: \"\",\r\n user_id:\"\",\r\n },\r\n photoIndex: 0,\r\n isOpen: false,\r\n NoImage:false,\r\n };\r\n this.columns = [\r\n {\r\n key: \"medicine_description\",\r\n text: \"Medicine Description\",\r\n className: \"medicine_description\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"days\",\r\n text: \"Days\",\r\n className: \"days\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"before_food\",\r\n text: \"Before Food\",\r\n className: \"before_food\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record, i) => {\r\n return record.before_food === 1 ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n \"\"\r\n );\r\n },\r\n },\r\n {\r\n key: \"morning\",\r\n text: \"Morning\",\r\n className: \"morning\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"noon\",\r\n text: \"Noon\",\r\n className: \"noon\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"night\",\r\n text: \"Night\",\r\n className: \"night\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"total\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n\r\n\r\n componentDidMount() {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getClientEntireFamilyDetails,{client_id: this.props.userdata.id}, CONFIG)\r\n .then((FamilyDataRespons) => {\r\n let FamilyDataList = FamilyDataRespons.data.data;\r\n let FamilymemberList = [];\r\n FamilyDataList.forEach((element, index) => {\r\n FamilymemberList.push({\r\n value: element.user_id,\r\n label: element.first_name + ' ' + element.last_name,\r\n \r\n });\r\n });\r\n let selected_familymember=FamilymemberList[0];\r\n this.setState({ FamilymemberList,selected_familymember:selected_familymember });\r\n \r\n }).catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getClientspreviousmedicalrecords,{client_id: this.props.userdata.id}, CONFIG)\r\n .then((ImageurlRespons) => {\r\n let ImageurldataList = ImageurlRespons.data.data;\r\n /* console.log(ImageurlRespons.data.status);\r\n if(ImageurlRespons.data.status==\"0\")\r\n {\r\n this.setState({ error: ImageurlRespons.data.message });\r\n } */\r\n if(ImageurlRespons.data.status==='0')\r\n {\r\n // this.setState({ errorMessage: ImageurlRespons.data.message });\r\n this.setState({ NoImage:true });\r\n toast.error(ImageurlRespons.data.message , {\r\n className: \"toast-error\"\r\n });\r\n \r\n // console.log(ImageurlRespons.data.message);\r\n }else{\r\n console.log(ImageurldataList);\r\n\r\n let ImageurlList = [];\r\n ImageurldataList.forEach((element, index) => {\r\n ImageurlList.push({\r\n value: element.image_url,\r\n label: element.image_url,\r\n \r\n });\r\n });\r\n const stringnew=ImageurlList.map(({value})=>value)\r\n \r\n console.log(stringnew[0]);\r\n // let stringpath=stringnew[0];\r\n // let stringone=stringnew[1];\r\n //console.log(ImageurlList);\r\n\r\nfor(var i=0;i { });\r\n\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n timeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n this.setState({ loading: true, filter: \"month\" });\r\n // this.getReport('month');\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const postData1 = { client_id: this.props.userdata.id };\r\n axios\r\n .post(GetHistoryVitals, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n console.log(data.with_in_30[0].height);\r\n console.log(data.with_in_30[0].weight);\r\n console.log(data.with_in_30[0].bp);\r\n console.log(data.with_in_30[0].pulse);\r\n console.log(data.with_in_30[0].temperature);\r\n console.log(data.with_in_30[0].bmi);\r\n \r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n with_in_week: data.with_in_week,\r\n with_in_30: data.with_in_30,\r\n with_in_3_months: data.with_in_3_months,\r\n with_in_6_months: data.with_in_6_months,\r\n with_in_year: data.with_in_year,\r\n with_in_2_years: data.with_in_2_years,\r\n Historyheight: data.with_in_week.length ? data.with_in_week[0].height\r\n : data.with_in_30.length ? data.with_in_30[0].height\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].height\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].height\r\n : data.with_in_year.length ? data.with_in_year[0].height\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].height\r\n : [],\r\n Historyweight: data.with_in_week.length ? data.with_in_week[0].weight\r\n : data.with_in_30.length ? data.with_in_30[0].weight\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].weight\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].weight\r\n : data.with_in_year.length ? data.with_in_year[0].weight\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].weight\r\n : [],\r\n \r\n Historytemperature: data.with_in_week.length ? data.with_in_week[0].temperature\r\n : data.with_in_30.length ? data.with_in_30[0].temperature\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].temperature\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].temperature\r\n : data.with_in_year.length ? data.with_in_year[0].temperature\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].temperature\r\n : [],\r\n Historybmi: data.with_in_week.length ? data.with_in_week[0].bmi\r\n : data.with_in_30.length ? data.with_in_30[0].bmi\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bmi\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bmi\r\n : data.with_in_year.length ? data.with_in_year[0].bmi\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bmi\r\n : [],\r\n Historybp: data.with_in_week.length ? data.with_in_week[0].bp\r\n : data.with_in_30.length ? data.with_in_30[0].bp\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bp\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bp\r\n : data.with_in_year.length ? data.with_in_year[0].bp\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bp\r\n : [],\r\n Historypulse: data.with_in_week.length ? data.with_in_week[0].pulse\r\n : data.with_in_30.length ? data.with_in_30[0].pulse\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].pulse\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].pulse\r\n : data.with_in_year.length ? data.with_in_year[0].pulse\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].pulse\r\n : [],\r\n });\r\n } else {\r\n this.setState({ error: res.data.message });\r\n }\r\n })\r\n .catch((e) => { });\r\n let postData2 = { client_id: this.props.userdata.id, filter:\"month\" };\r\n // }\r\n \r\n axios\r\n .post(getPrescriptionHistory, postData2, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n console.log(data.length);\r\n this.setState({\r\n result: data,\r\n \r\n records: (data.length) ? data : [],\r\n show_prescriptions: true,\r\n selectedOption: [],\r\n loading: false\r\n \r\n });\r\n \r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // const postData1 = { client_id: this.props.userdata.id };\r\n // axios\r\n // .post(getPrescriptionHistory, postData1, CONFIG)\r\n // .then((res) => {\r\n // let data = res.data.consultantHistory || res.data.consultantHistory;\r\n // console.log(data);\r\n // console.log(res.data);\r\n // // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // // return;\r\n // // }\r\n // if (res.data.status === \"1\") {\r\n // this.setState({\r\n // with_in_week: data.with_in_week,\r\n // with_in_30: data.with_in_30,\r\n // with_in_3_months: data.with_in_3_months,\r\n // with_in_6_months: data.with_in_6_months,\r\n // with_in_year: data.with_in_year,\r\n // with_in_2_years: data.with_in_2_years,\r\n // records: data.with_in_week.length\r\n // ? data.with_in_week[0]\r\n // : [],\r\n // show_prescriptions: data.with_in_week.length ? data.with_in_week[0].show_prescriptions : true,\r\n // });\r\n // } else {\r\n // this.setState({ error: res.data.message });\r\n // }\r\n // })\r\n // .catch((e) => { });\r\n }\r\n handleselectChange = (element, i) => {\r\n /* let data = this.state.FamilyData;\r\n data[i.name] = element;\r\n this.setState({ FamilyData: data }); */\r\n let newdata = this.state.selected_familymember;\r\n newdata = element;\r\n this.setState({ selected_familymember: newdata });\r\n this.setState({Historyheight:[],Historyweight:[],Historytemperature:[],Historybmi:[],Historybp:[],Historypulse:[]});\r\n console.log(element);\r\n \r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n let postData1 = { client_id: element.value, filter: this.state.filter, start_date: this.state.Fromdate, end_date: this.state.Todate };\r\n \r\n axios\r\n .post(getPrescriptionHistory, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n result: data,\r\n \r\n records: (data.length>0) ? data : [],\r\n \r\n show_prescriptions: true,\r\n selectedOption: [],\r\n loading: false\r\n \r\n });\r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const postData2 = { client_id: element.value };\r\n axios\r\n .post(GetHistoryVitals, postData2, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n console.log(data.with_in_30[0].height);\r\n console.log(data.with_in_30[0].weight);\r\n console.log(data.with_in_30[0].bp);\r\n console.log(data.with_in_30[0].pulse);\r\n console.log(data.with_in_30[0].temperature);\r\n console.log(data.with_in_30[0].bmi);\r\n \r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n with_in_week: data.with_in_week,\r\n with_in_30: data.with_in_30,\r\n with_in_3_months: data.with_in_3_months,\r\n with_in_6_months: data.with_in_6_months,\r\n with_in_year: data.with_in_year,\r\n with_in_2_years: data.with_in_2_years,\r\n Historyheight: data.with_in_week.length ? data.with_in_week[0].height\r\n : data.with_in_30.length ? data.with_in_30[0].height\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].height\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].height\r\n : data.with_in_year.length ? data.with_in_year[0].height\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].height\r\n : [],\r\n Historyweight: data.with_in_week.length ? data.with_in_week[0].weight\r\n : data.with_in_30.length ? data.with_in_30[0].weight\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].weight\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].weight\r\n : data.with_in_year.length ? data.with_in_year[0].weight\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].weight\r\n : [],\r\n \r\n Historytemperature: data.with_in_week.length ? data.with_in_week[0].temperature\r\n : data.with_in_30.length ? data.with_in_30[0].temperature\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].temperature\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].temperature\r\n : data.with_in_year.length ? data.with_in_year[0].temperature\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].temperature\r\n : [],\r\n Historybmi: data.with_in_week.length ? data.with_in_week[0].bmi\r\n : data.with_in_30.length ? data.with_in_30[0].bmi\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bmi\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bmi\r\n : data.with_in_year.length ? data.with_in_year[0].bmi\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bmi\r\n : [],\r\n Historybp: data.with_in_week.length ? data.with_in_week[0].bp\r\n : data.with_in_30.length ? data.with_in_30[0].bp\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bp\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bp\r\n : data.with_in_year.length ? data.with_in_year[0].bp\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bp\r\n : [],\r\n Historypulse: data.with_in_week.length ? data.with_in_week[0].pulse\r\n : data.with_in_30.length ? data.with_in_30[0].pulse\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].pulse\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].pulse\r\n : data.with_in_year.length ? data.with_in_year[0].pulse\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].pulse\r\n : [],\r\n });\r\n } else {\r\n this.setState({ error: res.data.message });\r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n // this.setState({ selected_familymember }); \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({stringnew:[]});\r\n axios\r\n .post(getClientspreviousmedicalrecords,postData2, CONFIG)\r\n .then((ImageurlRespons) => {\r\n let ImageurldataList = ImageurlRespons.data.data;\r\n if(ImageurlRespons.data.status==='0')\r\n {\r\n this.setState({ errorMessage: ImageurlRespons.data.message ,NoImage:true});\r\n toast.error(ImageurlRespons.data.message , {\r\n className: \"toast-error\"\r\n });\r\n \r\n // console.log(ImageurlRespons.data.message);\r\n }else{\r\n console.log(ImageurldataList);\r\n let ImageurlList = [];\r\n ImageurldataList.forEach((element, index) => {\r\n ImageurlList.push({\r\n value: element.image_url,\r\n label: element.image_url,\r\n \r\n });\r\n });\r\n const stringnew=ImageurlList.map(({value})=>value)\r\n \r\n for(var i=0;i { });\r\n \r\n\r\n }\r\n handlePrescriptionChange = (index, event) => {\r\n\r\n console.log(index);\r\n // console.log(event);\r\n // console.log(event.target.checked);\r\n let {\r\n\r\n // selectedOption,\r\n result,\r\n show_prescriptions,\r\n consultation_fee,\r\n business_name,\r\n first_name,\r\n last_name,\r\n created_at,\r\n pharmacy_details,\r\n records,\r\n } = this.state;\r\n\r\n records = result[index];\r\n console.log(records)\r\n show_prescriptions = result[index].show_prescriptions;\r\n consultation_fee=result[index].consultation_fee;\r\n business_name=result[index].business_name;\r\n first_name=result[index].first_name;\r\n last_name=result[index].last_name;\r\n created_at=result[index].created_at;\r\n pharmacy_details=result[index].pharmacy_details;\r\n console.log(records);\r\n this.setState({\r\n selectedOption: event.target.checked ? [index] : [],\r\n records: records ? records : [],\r\n show_prescriptions: show_prescriptions,\r\n consultation_fee:consultation_fee\r\n\r\n });\r\n };\r\n handlefilterSelect = (e) => {\r\n const { name, value } = e.target;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n console.log(value);\r\n this.getReport(value, \"\", \"\");\r\n }\r\n handleFromChange = (date) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n this.setState({ Fromdate: offsetDate });\r\n\r\n this.getReport(\"custom\", offsetDate, this.state.Todate);\r\n };\r\n handleToChange = (date) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n this.setState({ Todate: offsetDate });\r\n\r\n this.getReport(\"custom\", this.state.Fromdate, offsetDate);\r\n };\r\n\r\n getReport = (filter, from, to) => {\r\n console.log(filter);\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n // let {Todate,Fromdate} = this.state;\r\n console.log(from)\r\n console.log(to)\r\n // if(filter == 'custom' && Todate != null && Fromdate != null ){\r\n // postData1 = { client_id: this.props.userdata.id, filter: \"month\" };\r\n // } else {\r\n let postData1 = { client_id: this.state.selected_familymember.value, filter: filter, start_date: from, end_date: to };\r\n // }\r\n\r\n axios\r\n .post(getPrescriptionHistory, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n console.log(data.length);\r\n this.setState({\r\n result: data,\r\n\r\n records: (data.length) ? data : [],\r\n show_prescriptions: true,\r\n selectedOption: [],\r\n loading: false\r\n\r\n });\r\n \r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n refreshData = () => {\r\n const FamilyData = this.state.FamilyData;\r\n FamilyData.member_name=\"\";\r\n this.setState({ FamilyData: FamilyData,errorMessage:\"\" });\r\n \r\n this.setState({ loading: true, filter: \"month\" });\r\n // this.getReport('month');\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const postData1 = { client_id: this.props.userdata.id };\r\n axios\r\n .post(GetHistoryVitals, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n console.log(data.with_in_30[0].height);\r\n console.log(data.with_in_30[0].weight);\r\n console.log(data.with_in_30[0].bp);\r\n console.log(data.with_in_30[0].pulse);\r\n console.log(data.with_in_30[0].temperature);\r\n console.log(data.with_in_30[0].bmi);\r\n \r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n with_in_week: data.with_in_week,\r\n with_in_30: data.with_in_30,\r\n with_in_3_months: data.with_in_3_months,\r\n with_in_6_months: data.with_in_6_months,\r\n with_in_year: data.with_in_year,\r\n with_in_2_years: data.with_in_2_years,\r\n Historyheight: data.with_in_week.length ? data.with_in_week[0].height\r\n : data.with_in_30.length ? data.with_in_30[0].height\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].height\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].height\r\n : data.with_in_year.length ? data.with_in_year[0].height\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].height\r\n : [],\r\n Historyweight: data.with_in_week.length ? data.with_in_week[0].weight\r\n : data.with_in_30.length ? data.with_in_30[0].weight\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].weight\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].weight\r\n : data.with_in_year.length ? data.with_in_year[0].weight\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].weight\r\n : [],\r\n \r\n Historytemperature: data.with_in_week.length ? data.with_in_week[0].temperature\r\n : data.with_in_30.length ? data.with_in_30[0].temperature\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].temperature\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].temperature\r\n : data.with_in_year.length ? data.with_in_year[0].temperature\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].temperature\r\n : [],\r\n Historybmi: data.with_in_week.length ? data.with_in_week[0].bmi\r\n : data.with_in_30.length ? data.with_in_30[0].bmi\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bmi\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bmi\r\n : data.with_in_year.length ? data.with_in_year[0].bmi\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bmi\r\n : [],\r\n Historybp: data.with_in_week.length ? data.with_in_week[0].bp\r\n : data.with_in_30.length ? data.with_in_30[0].bp\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bp\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bp\r\n : data.with_in_year.length ? data.with_in_year[0].bp\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bp\r\n : [],\r\n Historypulse: data.with_in_week.length ? data.with_in_week[0].pulse\r\n : data.with_in_30.length ? data.with_in_30[0].pulse\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].pulse\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].pulse\r\n : data.with_in_year.length ? data.with_in_year[0].pulse\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].pulse\r\n : [],\r\n });\r\n } else {\r\n this.setState({ error: res.data.message });\r\n }\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n \r\n axios\r\n .post(getClientEntireFamilyDetails,{client_id: this.props.userdata.id}, CONFIG)\r\n .then((FamilyDataRespons) => {\r\n let FamilyDataList = FamilyDataRespons.data.data;\r\n let FamilymemberList = [];\r\n FamilyDataList.forEach((element, index) => {\r\n FamilymemberList.push({\r\n value: element.user_id,\r\n label: element.first_name + ' ' + element.last_name,\r\n \r\n });\r\n \r\n });\r\n this.setState({ selected_familymember: FamilymemberList[0]});\r\n })\r\n let postData2 = { client_id: this.props.userdata.id, filter:\"month\"};\r\n // }\r\n \r\n axios\r\n .post(getPrescriptionHistory, postData2, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n console.log(data.length);\r\n this.setState({\r\n result: data,\r\n \r\n records: (data.length) ? data : [],\r\n show_prescriptions: true,\r\n selectedOption: [],\r\n loading: false\r\n \r\n });\r\n \r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n axios\r\n .post(getClientspreviousmedicalrecords,{client_id: this.props.userdata.id}, CONFIG)\r\n .then((ImageurlRespons) => {\r\n let ImageurldataList = ImageurlRespons.data.data;\r\n if(ImageurlRespons.data.status==='0')\r\n {\r\n this.setState({ errorMessage: ImageurlRespons.data.message ,NoImage:true});\r\n toast.error(ImageurlRespons.data.message , {\r\n className: \"toast-error\"\r\n });\r\n \r\n // console.log(ImageurlRespons.data.message);\r\n }else{\r\n console.log(ImageurldataList);\r\n let ImageurlList = [];\r\n ImageurldataList.forEach((element, index) => {\r\n ImageurlList.push({\r\n value: element.image_url,\r\n label: element.image_url,\r\n \r\n });\r\n });\r\n const stringnew=ImageurlList.map(({value})=>value)\r\n \r\n console.log(stringnew[0]);\r\n // let stringpath=stringnew[0];\r\n // let stringone=stringnew[1];\r\n //console.log(ImageurlList);\r\n\r\nfor(var i=0;i { });\r\n };\r\n clear=()=>\r\n {\r\n this.state.Fromdate=\"\";\r\n this.state.Todate=\"\";\r\n this.setState({result:[]});\r\n }\r\n render() {\r\n const {\r\n loading,\r\n result,\r\n selectedOption,\r\n show_prescriptions,\r\n records,\r\n timeout, errors,\r\n family_data,\r\n FamilymemberList,\r\n FamilyData,\r\n // error,\r\n Historyheight,Historyweight,Historytemperature,Historybmi,Historybp,Historypulse,Historyfamilyheight,\r\n ImageurlList,\r\n stringnew,\r\n photoIndex,\r\n isOpen,\r\n selected_familymember,\r\n errorMessage,\r\n successMessage\r\n\r\n \r\n } = this.state;\r\n // console.log(with_in_week.length);\r\n return (\r\n
    \r\n {/* */}\r\n {loading && }\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.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={timeout} />\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Consultation summary

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n cm \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Weight\r\n \"\"\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n Kg \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Temp\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n °F \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    BMI\r\n \"\"\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n bmi\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    BP\r\n \"\"\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n mmHg \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Pulse\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n per min\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Others
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n \r\n {/*

    */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ) :\r\n (
    \r\n
    \r\n
    \r\n
    \r\n To view this Consultation Summary, Please subscribe any of our plan Click here to subscribe\r\n
    \r\n
    \r\n
    \r\n\r\n
    )}\r\n \r\n
    \r\n\r\n\r\n
    \r\n
    History
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Monthly\r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n Custom\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n {(this.state.filter === \"custom\") ?\r\n (
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.handleFromChange(date)\r\n }\r\n placeholder={\"Select the From date\"}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\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.handleToChange(date)\r\n }\r\n placeholder={\"Select the From date\"}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    ) : \"\"\r\n }\r\n {result.length\r\n ? result.map((history, index) => {\r\n return (\r\n \r\n
    \r\n -1\r\n }\r\n onChange={this.handlePrescriptionChange.bind(\r\n this,\r\n\r\n index\r\n )}\r\n />\r\n \r\n {moment(\r\n history.created_at\r\n ).format(\"DD MMM\")}\r\n -\r\n {history.other_comments\r\n ? history\r\n .other_comments\r\n : \"\"}\r\n \r\n
    \r\n );\r\n })\r\n : (
    No record found
    )}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n {/* */}\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n );\r\n\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(ClientConsultation);","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SideBar from \"../components/container/layout/client/SideBar\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { getPrescriptionHistory } from \"../config/url.json\";\r\nimport * as moment from \"moment\";\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nclass Consultationsummary extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n records: [],\r\n with_in_week: [],\r\n with_in_30: [],\r\n with_in_3_months: [],\r\n with_in_6_months: [],\r\n with_in_year: [],\r\n with_in_2_years: [],\r\n selectedOption: [\"with_in_week0\"],\r\n error: \"\",\r\n show_prescriptions: true\r\n };\r\n this.columns = [\r\n {\r\n key: \"medicine_description\",\r\n text: \"Medicine Description\",\r\n className: \"medicine_description\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"days\",\r\n text: \"Days\",\r\n className: \"days\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"before_food\",\r\n text: \"Before Food\",\r\n className: \"before_food\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record, i) => {\r\n return record.before_food === 1 ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n \"\"\r\n );\r\n },\r\n },\r\n {\r\n key: \"morning\",\r\n text: \"Morning\",\r\n className: \"morning\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"noon\",\r\n text: \"Noon\",\r\n className: \"noon\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"night\",\r\n text: \"Night\",\r\n className: \"night\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"total\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const postData1 = { client_id: this.props.userdata.id };\r\n axios\r\n .post(getPrescriptionHistory, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n with_in_week: data.with_in_week,\r\n with_in_30: data.with_in_30,\r\n with_in_3_months: data.with_in_3_months,\r\n with_in_6_months: data.with_in_6_months,\r\n with_in_year: data.with_in_year,\r\n with_in_2_years: data.with_in_2_years,\r\n records: data.with_in_week.length\r\n ? data.with_in_week[0].medicine_description\r\n : [],\r\n show_prescriptions: data.with_in_week.length\r\n ? data.with_in_week[0].show_prescriptions\r\n : true,\r\n });\r\n } else {\r\n this.setState({ error: res.data.message });\r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n }\r\n handlePrescriptionChange = (data, dataindex, index, event) => {\r\n console.log(data);\r\n // console.log(dataindex);\r\n // console.log(index);\r\n // console.log(event);\r\n // console.log(event.target.checked);\r\n let {\r\n with_in_week,\r\n with_in_30,\r\n with_in_3_months,\r\n with_in_6_months,\r\n with_in_year,\r\n with_in_2_years,\r\n show_prescriptions,\r\n records,\r\n } = this.state;\r\n if (data === \"with_in_week\") {\r\n records = with_in_week[index].medicine_description;\r\n show_prescriptions = with_in_week[index].show_prescriptions;\r\n }\r\n\r\n if (data === \"with_in_30\") {\r\n records = with_in_30[index].medicine_description;\r\n show_prescriptions = with_in_30[index].show_prescriptions;\r\n }\r\n if (data === \"with_in_3_months\") {\r\n records = with_in_3_months[index].medicine_description;\r\n show_prescriptions = with_in_3_months[index].show_prescriptions;\r\n }\r\n if (data === \"with_in_6_months\") {\r\n records = with_in_6_months[index].medicine_description;\r\n show_prescriptions = with_in_6_months[index].show_prescriptions;\r\n console.log(show_prescriptions)\r\n }\r\n if (data === \"with_in_year\") {\r\n records = with_in_year[index].medicine_description;\r\n show_prescriptions = with_in_year[index].show_prescriptions;\r\n }\r\n if (data === \"with_in_2_years\") {\r\n records = with_in_2_years[index].medicine_description;\r\n show_prescriptions = with_in_2_years[index].show_prescriptions;\r\n }\r\n\r\n console.log(records);\r\n console.log(show_prescriptions);\r\n this.setState({\r\n selectedOption: event.target.checked ? [dataindex] : [],\r\n records: event.target.checked ? records : [],\r\n show_prescriptions: show_prescriptions\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n with_in_week,\r\n with_in_30,\r\n with_in_3_months,\r\n with_in_6_months,\r\n with_in_year,\r\n with_in_2_years,\r\n selectedOption,\r\n show_prescriptions,\r\n error,\r\n } = this.state;\r\n console.log(with_in_week.length);\r\n return (\r\n
    \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    Prescription
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {error ? (\r\n {error}\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n
    \r\n
    {show_prescriptions ? () : \"\"}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Prescription
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n With in a week\r\n
    \r\n \r\n \r\n
    \r\n {with_in_week.length\r\n ? with_in_week.map((history, index) => {\r\n return (\r\n
    \r\n -1\r\n }\r\n onChange={this.handlePrescriptionChange.bind(\r\n this,\r\n \"with_in_week\",\r\n \"with_in_week\" + index,\r\n index\r\n )}\r\n />\r\n \r\n {moment(\r\n history.created_at\r\n ).format(\"DD MMM\")}\r\n -\r\n {\r\n history.reason_for_visit[0]\r\n .label\r\n }\r\n \r\n
    \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n With in 30 days\r\n
    \r\n \r\n \r\n
    \r\n {with_in_30.length\r\n ? with_in_30.map((history, index) => {\r\n return (\r\n
    \r\n -1\r\n }\r\n onChange={this.handlePrescriptionChange.bind(\r\n this,\r\n \"with_in_30\",\r\n \"with_in_30\" + index,\r\n index\r\n )}\r\n />\r\n \r\n {moment(\r\n history.created_at\r\n ).format(\"DD MMM\")}\r\n -\r\n {\r\n history.reason_for_visit[0]\r\n .label\r\n }\r\n \r\n
    \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n With in 3 months\r\n
    \r\n \r\n \r\n
    \r\n {with_in_3_months.length\r\n ? with_in_3_months.map(\r\n (history, index) => {\r\n return (\r\n
    \r\n -1\r\n }\r\n onChange={this.handlePrescriptionChange.bind(\r\n this,\r\n \"with_in_3_months\",\r\n \"with_in_3_months\" +\r\n index,\r\n index\r\n )}\r\n />\r\n \r\n {moment(\r\n history.created_at\r\n ).format(\"DD MMM\")}\r\n -\r\n {\r\n history\r\n .reason_for_visit[0]\r\n .label\r\n }\r\n \r\n
    \r\n );\r\n }\r\n )\r\n : \"\"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n With in 6 months\r\n
    \r\n \r\n \r\n
    \r\n {with_in_6_months.length\r\n ? with_in_6_months.map(\r\n (history, index) => {\r\n return (\r\n
    \r\n
    \r\n -1\r\n }\r\n onChange={this.handlePrescriptionChange.bind(\r\n this,\r\n \"with_in_6_months\",\r\n \"with_in_6_months\" +\r\n index,\r\n index\r\n )}\r\n />\r\n \r\n {moment(\r\n history.created_at\r\n ).format(\"DD MMM\")}\r\n -\r\n {\r\n history\r\n .reason_for_visit[0]\r\n .label\r\n }\r\n \r\n
    \r\n
    \r\n );\r\n }\r\n )\r\n : \"\"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n With in a Year\r\n
    \r\n \r\n \r\n
    \r\n {with_in_year.length\r\n ? with_in_year.map((history, index) => {\r\n return (\r\n
    \r\n -1\r\n }\r\n onChange={this.handlePrescriptionChange.bind(\r\n this,\r\n \"with_in_year\",\r\n \"with_in_year\" + index,\r\n index\r\n )}\r\n />\r\n \r\n {moment(\r\n history.created_at\r\n ).format(\"DD MMM\")}\r\n -\r\n {\r\n history.reason_for_visit[0]\r\n .label\r\n }\r\n \r\n
    \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n With in 2 Year\r\n
    \r\n \r\n \r\n
    \r\n {with_in_2_years.length\r\n ? with_in_2_years.map(\r\n (history, index) => {\r\n return (\r\n
    \r\n -1\r\n }\r\n onChange={this.handlePrescriptionChange.bind(\r\n this,\r\n \"with_in_2_years\",\r\n \"with_in_2_years\" + index,\r\n index\r\n )}\r\n />\r\n \r\n {moment(\r\n history.created_at\r\n ).format(\"DD MMM\")}\r\n -\r\n {\r\n history\r\n .reason_for_visit[0]\r\n .label\r\n }\r\n \r\n
    \r\n );\r\n }\r\n )\r\n : \"\"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(Consultationsummary);\r\n","import React, { Component } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport SideBar from \"../components/container/layout/client/SideBar\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport Select from \"react-select\";\r\n\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { getPrescriptionHistoryforAppt, getTimeoutbycategory,getClientEntireFamilyDetails,GetHistoryVitalsforAppt,getClientspreviousmedicalrecords } from \"../config/url.json\";\r\nimport * as moment from \"moment\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal'\r\nimport DatePicker from \"react-date-picker\";\r\nimport { data } from 'jquery';\r\nimport { consultation_fee } from '../constants/config/data';\r\nimport Lightbox from 'react-18-image-lightbox';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Dnaspinner from '../components/UI/Dnaspinner';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nclass ClientApptConsultation extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const timeout = this.state;\r\n\r\n this.state = {\r\n timeout: timeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n show_prescriptions: true,\r\n loading: false,\r\n records: [],\r\n result: [],\r\n selectedOption: [\"0\"],\r\n filter: \"\",\r\n error: \"\", errors: {\r\n Todate: \"\",\r\n Fromdate: \"\",\r\n },\r\n FamilyData: {\r\n member_name: \"\",\r\n user_id:\"\",\r\n },\r\n photoIndex: 0,\r\n isOpen: false\r\n };\r\n this.columns = [\r\n {\r\n key: \"medicine_description\",\r\n text: \"Medicine Description\",\r\n className: \"medicine_description\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"days\",\r\n text: \"Days\",\r\n className: \"days\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"before_food\",\r\n text: \"Before Food\",\r\n className: \"before_food\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record, i) => {\r\n return record.before_food === 1 ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n \"\"\r\n );\r\n },\r\n },\r\n {\r\n key: \"morning\",\r\n text: \"Morning\",\r\n className: \"morning\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"noon\",\r\n text: \"Noon\",\r\n className: \"noon\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"night\",\r\n text: \"Night\",\r\n className: \"night\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"total\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n\r\n\r\n componentDidMount() {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getClientEntireFamilyDetails,{client_id: this.props.userdata.id}, CONFIG)\r\n .then((FamilyDataRespons) => {\r\n let FamilyDataList = FamilyDataRespons.data.data;\r\n let FamilymemberList = [];\r\n FamilyDataList.forEach((element, index) => {\r\n FamilymemberList.push({\r\n value: element.user_id,\r\n label: element.first_name + ' ' + element.last_name,\r\n \r\n });\r\n });\r\n let selected_familymember=FamilymemberList[0];\r\n this.setState({ FamilymemberList,selected_familymember:selected_familymember });\r\n \r\n }).catch((e) => { });\r\n console.log(this.props.userdata.user_type);\r\n\r\n axios\r\n .post(getClientspreviousmedicalrecords,{client_id: this.props.userdata.id}, CONFIG)\r\n .then((ImageurlRespons) => {\r\n let ImageurldataList = ImageurlRespons.data.data;\r\n /* console.log(ImageurlRespons.data.status);\r\n if(ImageurlRespons.data.status==\"0\")\r\n {\r\n this.setState({ error: ImageurlRespons.data.message });\r\n } */\r\n console.log(ImageurldataList);\r\n\r\n let ImageurlList = [];\r\n ImageurldataList.forEach((element, index) => {\r\n ImageurlList.push({\r\n value: element.image_url,\r\n label: element.image_url,\r\n \r\n });\r\n });\r\n const stringnew=ImageurlList.map(({value})=>value)\r\n \r\n console.log(stringnew[0]);\r\n // let stringpath=stringnew[0];\r\n // let stringone=stringnew[1];\r\n //console.log(ImageurlList);\r\n\r\n for(var i=0;i { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n timeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n this.setState({ loading: true, filter: \"month\" });\r\n // this.getReport('month');\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const postData1 = { client_id: this.props.userdata.id };\r\n axios\r\n .post(GetHistoryVitalsforAppt, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n console.log(data.with_in_30[0].height);\r\n console.log(data.with_in_30[0].weight);\r\n console.log(data.with_in_30[0].bp);\r\n console.log(data.with_in_30[0].pulse);\r\n console.log(data.with_in_30[0].temperature);\r\n console.log(data.with_in_30[0].bmi);\r\n \r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n with_in_week: data.with_in_week,\r\n with_in_30: data.with_in_30,\r\n with_in_3_months: data.with_in_3_months,\r\n with_in_6_months: data.with_in_6_months,\r\n with_in_year: data.with_in_year,\r\n with_in_2_years: data.with_in_2_years,\r\n Historyheight: data.with_in_week.length ? data.with_in_week[0].height\r\n : data.with_in_30.length ? data.with_in_30[0].height\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].height\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].height\r\n : data.with_in_year.length ? data.with_in_year[0].height\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].height\r\n : [],\r\n Historyweight: data.with_in_week.length ? data.with_in_week[0].weight\r\n : data.with_in_30.length ? data.with_in_30[0].weight\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].weight\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].weight\r\n : data.with_in_year.length ? data.with_in_year[0].weight\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].weight\r\n : [],\r\n \r\n Historytemperature: data.with_in_week.length ? data.with_in_week[0].temperature\r\n : data.with_in_30.length ? data.with_in_30[0].temperature\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].temperature\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].temperature\r\n : data.with_in_year.length ? data.with_in_year[0].temperature\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].temperature\r\n : [],\r\n Historybmi: data.with_in_week.length ? data.with_in_week[0].bmi\r\n : data.with_in_30.length ? data.with_in_30[0].bmi\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bmi\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bmi\r\n : data.with_in_year.length ? data.with_in_year[0].bmi\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bmi\r\n : [],\r\n Historybp: data.with_in_week.length ? data.with_in_week[0].bp\r\n : data.with_in_30.length ? data.with_in_30[0].bp\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bp\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bp\r\n : data.with_in_year.length ? data.with_in_year[0].bp\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bp\r\n : [],\r\n Historypulse: data.with_in_week.length ? data.with_in_week[0].pulse\r\n : data.with_in_30.length ? data.with_in_30[0].pulse\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].pulse\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].pulse\r\n : data.with_in_year.length ? data.with_in_year[0].pulse\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].pulse\r\n : [],\r\n });\r\n } else {\r\n this.setState({ error: res.data.message });\r\n }\r\n })\r\n .catch((e) => { });\r\n let postData2 = { client_id: this.props.userdata.id, filter: \"month\" };\r\n \r\n axios\r\n .post(getPrescriptionHistoryforAppt, postData2, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n result: data,\r\n \r\n records: (data.length>0) ? data : [],\r\n \r\n show_prescriptions: true,\r\n selectedOption: [],\r\n loading: false\r\n \r\n });\r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // const postData1 = { client_id: this.props.userdata.id };\r\n // axios\r\n // .post(getPrescriptionHistory, postData1, CONFIG)\r\n // .then((res) => {\r\n // let data = res.data.consultantHistory || res.data.consultantHistory;\r\n // console.log(data);\r\n // console.log(res.data);\r\n // // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // // return;\r\n // // }\r\n // if (res.data.status === \"1\") {\r\n // this.setState({\r\n // with_in_week: data.with_in_week,\r\n // with_in_30: data.with_in_30,\r\n // with_in_3_months: data.with_in_3_months,\r\n // with_in_6_months: data.with_in_6_months,\r\n // with_in_year: data.with_in_year,\r\n // with_in_2_years: data.with_in_2_years,\r\n // records: data.with_in_week.length\r\n // ? data.with_in_week[0]\r\n // : [],\r\n // show_prescriptions: data.with_in_week.length ? data.with_in_week[0].show_prescriptions : true,\r\n // });\r\n // } else {\r\n // this.setState({ error: res.data.message });\r\n // }\r\n // })\r\n // .catch((e) => { });\r\n }\r\n handleselectChange = (element, i) => {\r\n /* let data = this.state.FamilyData;\r\n data[i.name] = element;\r\n this.setState({ FamilyData: data }); */\r\n let newdata = this.state.selected_familymember;\r\n newdata = element;\r\n this.setState({ selected_familymember: newdata });\r\n this.setState({Historyheight:[],Historyweight:[],Historytemperature:[],Historybmi:[],Historybp:[],Historypulse:[]});\r\n console.log(element);\r\n \r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n let postData1 = { client_id: element.value, filter: this.state.filter, start_date: this.state.Fromdate, end_date: this.state.Todate };\r\n \r\n axios\r\n .post(getPrescriptionHistoryforAppt, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n result: data,\r\n \r\n records: (data.length>0) ? data : [],\r\n \r\n show_prescriptions: true,\r\n selectedOption: [],\r\n loading: false\r\n \r\n });\r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const postData2 = { client_id: element.value };\r\n axios\r\n .post(GetHistoryVitalsforAppt, postData2, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n console.log(data.with_in_30[0].height);\r\n console.log(data.with_in_30[0].weight);\r\n console.log(data.with_in_30[0].bp);\r\n console.log(data.with_in_30[0].pulse);\r\n console.log(data.with_in_30[0].temperature);\r\n console.log(data.with_in_30[0].bmi);\r\n \r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n with_in_week: data.with_in_week,\r\n with_in_30: data.with_in_30,\r\n with_in_3_months: data.with_in_3_months,\r\n with_in_6_months: data.with_in_6_months,\r\n with_in_year: data.with_in_year,\r\n with_in_2_years: data.with_in_2_years,\r\n Historyheight: data.with_in_week.length ? data.with_in_week[0].height\r\n : data.with_in_30.length ? data.with_in_30[0].height\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].height\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].height\r\n : data.with_in_year.length ? data.with_in_year[0].height\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].height\r\n : [],\r\n Historyweight: data.with_in_week.length ? data.with_in_week[0].weight\r\n : data.with_in_30.length ? data.with_in_30[0].weight\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].weight\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].weight\r\n : data.with_in_year.length ? data.with_in_year[0].weight\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].weight\r\n : [],\r\n \r\n Historytemperature: data.with_in_week.length ? data.with_in_week[0].temperature\r\n : data.with_in_30.length ? data.with_in_30[0].temperature\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].temperature\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].temperature\r\n : data.with_in_year.length ? data.with_in_year[0].temperature\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].temperature\r\n : [],\r\n Historybmi: data.with_in_week.length ? data.with_in_week[0].bmi\r\n : data.with_in_30.length ? data.with_in_30[0].bmi\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bmi\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bmi\r\n : data.with_in_year.length ? data.with_in_year[0].bmi\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bmi\r\n : [],\r\n Historybp: data.with_in_week.length ? data.with_in_week[0].bp\r\n : data.with_in_30.length ? data.with_in_30[0].bp\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bp\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bp\r\n : data.with_in_year.length ? data.with_in_year[0].bp\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bp\r\n : [],\r\n Historypulse: data.with_in_week.length ? data.with_in_week[0].pulse\r\n : data.with_in_30.length ? data.with_in_30[0].pulse\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].pulse\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].pulse\r\n : data.with_in_year.length ? data.with_in_year[0].pulse\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].pulse\r\n : [],\r\n });\r\n } else {\r\n this.setState({ error: res.data.message });\r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n // this.setState({ selected_familymember }); \r\n\r\n\r\n this.setState({stringnew:[]});\r\n axios\r\n .post(getClientspreviousmedicalrecords,postData2, CONFIG)\r\n .then((ImageurlRespons) => {\r\n let ImageurldataList = ImageurlRespons.data.data;\r\n if(ImageurlRespons.data.status==='0')\r\n {\r\n this.setState({ errorMessage: ImageurlRespons.data.message });\r\n toast.error(ImageurlRespons.data.message , {\r\n className: \"toast-error\"\r\n });\r\n \r\n // console.log(ImageurlRespons.data.message);\r\n }else{\r\n console.log(ImageurldataList);\r\n let ImageurlList = [];\r\n ImageurldataList.forEach((element, index) => {\r\n ImageurlList.push({\r\n value: element.image_url,\r\n label: element.image_url,\r\n \r\n });\r\n });\r\n const stringnew=ImageurlList.map(({value})=>value)\r\n \r\n for(var i=0;i { });\r\n \r\n\r\n }\r\n handlePrescriptionChange = (index, event) => {\r\n\r\n console.log(index);\r\n // console.log(event);\r\n // console.log(event.target.checked);\r\n let {\r\n\r\n // selectedOption,\r\n result,\r\n show_prescriptions,\r\n consultation_fee,\r\n business_name,\r\n first_name,\r\n last_name,\r\n created_at,\r\n pharmacy_details,\r\n records,\r\n } = this.state;\r\n\r\n records = result[index];\r\n console.log(records)\r\n show_prescriptions = result[index].show_prescriptions;\r\n consultation_fee=result[index].consultation_fee;\r\n business_name=result[index].business_name;\r\n first_name=result[index].first_name;\r\n last_name=result[index].last_name;\r\n created_at=result[index].created_at;\r\n pharmacy_details=result[index].pharmacy_details;\r\n console.log(records);\r\n this.setState({\r\n selectedOption: event.target.checked ? [index] : [],\r\n records: records ? records : [],\r\n show_prescriptions: show_prescriptions,\r\n consultation_fee:consultation_fee\r\n\r\n });\r\n };\r\n handlefilterSelect = (e) => {\r\n const { name, value } = e.target;\r\n\r\n this.setState({\r\n [name]: value\r\n });\r\n console.log(value);\r\n this.getReport(value, \"\", \"\");\r\n }\r\n handleFromChange = (date) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n this.setState({ Fromdate: offsetDate });\r\n\r\n this.getReport(\"custom\", offsetDate, this.state.Todate);\r\n };\r\n handleToChange = (date) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n this.setState({ Todate: offsetDate });\r\n\r\n this.getReport(\"custom\", this.state.Fromdate, offsetDate);\r\n };\r\n\r\n getReport = (filter, from, to) => {\r\n console.log(filter);\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n // let {Todate,Fromdate} = this.state;\r\n console.log(from)\r\n console.log(to)\r\n // if(filter == 'custom' && Todate != null && Fromdate != null ){\r\n // postData1 = { client_id: this.props.userdata.id, filter: \"month\" };\r\n // } else {\r\n let postData1 = { client_id: this.state.selected_familymember.value, filter: filter, start_date: from, end_date: to };\r\n // }\r\n\r\n axios\r\n .post(getPrescriptionHistoryforAppt, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n console.log(data.length);\r\n this.setState({\r\n result: data,\r\n\r\n records: (data.length) ? data : [],\r\n show_prescriptions: true,\r\n selectedOption: [],\r\n loading: false\r\n\r\n });\r\n \r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n refreshData = () => {\r\n const FamilyData = this.state.FamilyData;\r\n FamilyData.member_name=\"\";\r\n this.setState({ FamilyData: FamilyData });\r\n \r\n this.setState({ loading: true, filter: \"month\" });\r\n this.getReport('month');\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const postData1 = { client_id: this.props.userdata.id };\r\n axios\r\n .post(GetHistoryVitalsforAppt, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n console.log(data.with_in_30[0].height);\r\n console.log(data.with_in_30[0].weight);\r\n console.log(data.with_in_30[0].bp);\r\n console.log(data.with_in_30[0].pulse);\r\n console.log(data.with_in_30[0].temperature);\r\n console.log(data.with_in_30[0].bmi);\r\n \r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n with_in_week: data.with_in_week,\r\n with_in_30: data.with_in_30,\r\n with_in_3_months: data.with_in_3_months,\r\n with_in_6_months: data.with_in_6_months,\r\n with_in_year: data.with_in_year,\r\n with_in_2_years: data.with_in_2_years,\r\n Historyheight: data.with_in_week.length ? data.with_in_week[0].height\r\n : data.with_in_30.length ? data.with_in_30[0].height\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].height\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].height\r\n : data.with_in_year.length ? data.with_in_year[0].height\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].height\r\n : [],\r\n Historyweight: data.with_in_week.length ? data.with_in_week[0].weight\r\n : data.with_in_30.length ? data.with_in_30[0].weight\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].weight\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].weight\r\n : data.with_in_year.length ? data.with_in_year[0].weight\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].weight\r\n : [],\r\n \r\n Historytemperature: data.with_in_week.length ? data.with_in_week[0].temperature\r\n : data.with_in_30.length ? data.with_in_30[0].temperature\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].temperature\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].temperature\r\n : data.with_in_year.length ? data.with_in_year[0].temperature\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].temperature\r\n : [],\r\n Historybmi: data.with_in_week.length ? data.with_in_week[0].bmi\r\n : data.with_in_30.length ? data.with_in_30[0].bmi\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bmi\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bmi\r\n : data.with_in_year.length ? data.with_in_year[0].bmi\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bmi\r\n : [],\r\n Historybp: data.with_in_week.length ? data.with_in_week[0].bp\r\n : data.with_in_30.length ? data.with_in_30[0].bp\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].bp\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].bp\r\n : data.with_in_year.length ? data.with_in_year[0].bp\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].bp\r\n : [],\r\n Historypulse: data.with_in_week.length ? data.with_in_week[0].pulse\r\n : data.with_in_30.length ? data.with_in_30[0].pulse\r\n : data.with_in_3_months.length ? data.with_in_3_months[0].pulse\r\n : data.with_in_6_months.length ? data.with_in_6_months[0].pulse\r\n : data.with_in_year.length ? data.with_in_year[0].pulse\r\n : data.with_in_2_years.length ? data.with_in_2_years[0].pulse\r\n : [],\r\n });\r\n } else {\r\n this.setState({ error: res.data.message });\r\n }\r\n })\r\n .catch((e) => { });\r\n axios\r\n .post(getClientEntireFamilyDetails,{client_id: this.props.userdata.id}, CONFIG)\r\n .then((FamilyDataRespons) => {\r\n let FamilyDataList = FamilyDataRespons.data.data;\r\n let FamilymemberList = [];\r\n FamilyDataList.forEach((element, index) => {\r\n FamilymemberList.push({\r\n value: element.user_id,\r\n label: element.first_name + ' ' + element.last_name,\r\n \r\n });\r\n \r\n });\r\n this.setState({ selected_familymember: FamilymemberList[0]});\r\n })\r\n };\r\n clear=()=>\r\n {\r\n this.state.Fromdate=\"\";\r\n this.state.Todate=\"\";\r\n this.setState({result:[]});\r\n }\r\n render() {\r\n const {\r\n loading,\r\n result,\r\n selectedOption,\r\n show_prescriptions,\r\n records,\r\n timeout, errors,\r\n family_data,\r\n FamilymemberList,\r\n FamilyData,\r\n // error,\r\n Historyheight,Historyweight,Historytemperature,Historybmi,Historybp,Historypulse,Historyfamilyheight,\r\n selected_familymember,\r\n stringnew,\r\n photoIndex,\r\n isOpen,\r\n } = this.state;\r\n // console.log(with_in_week.length);\r\n return (\r\n
    \r\n {/* */}\r\n {loading && }\r\n
    \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.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={timeout} />\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Consultation summary

    \r\n
    \r\n \r\n \r\n
    \r\n cm \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Weight\r\n \"\"\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n Kg \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Temp\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n °F \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    BMI\r\n \"\"\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n bmi\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    BP\r\n \"\"\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n mmHg \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Pulse\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n per min\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Others
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n \r\n {/*

    */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ) :\r\n (
    \r\n
    \r\n
    \r\n
    \r\n To view this Consultation Summary, Please subscribe any of our Plan Click here to subscribe\r\n
    \r\n
    \r\n
    \r\n\r\n
    )}\r\n \r\n
    \r\n\r\n\r\n
    \r\n
    History
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Monthly\r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n Custom\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n {(this.state.filter === \"custom\") ?\r\n (
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.handleFromChange(date)\r\n }\r\n placeholder={\"Select the From date\"}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\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.handleToChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n placeholder={\"Select the From date\"}\r\n />\r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    ) : \"\"\r\n }\r\n {result.length\r\n ? result.map((history, index) => {\r\n return (\r\n \r\n
    \r\n -1\r\n }\r\n onChange={this.handlePrescriptionChange.bind(\r\n this,\r\n\r\n index\r\n )}\r\n />\r\n \r\n {moment(\r\n history.created_at\r\n ).format(\"DD MMM\")}\r\n -\r\n {history.other_comments\r\n ? history\r\n .other_comments\r\n : \"\"}\r\n \r\n
    \r\n );\r\n })\r\n : (
    No record found
    )}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n {/* */}\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n );\r\n\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(ClientApptConsultation);","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SideBar from \"../components/container/layout/client/SideBar\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport Select from \"react-select\";\r\n\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { getPrescription, getPrescriptionHistoryforAppt, getTimeoutbycategory,getClientEntireFamilyDetails } from \"../config/url.json\";\r\nimport * as moment from \"moment\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal'\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass ClientApptPrescription extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const timeout = this.state;\r\n\r\n this.state = {\r\n timeout: timeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n show_prescriptions: true,\r\n loading: false,\r\n records: [],\r\n filter: \"\",\r\n errors: {\r\n Todate: \"\",\r\n Fromdate: \"\",\r\n },\r\n result: [],\r\n selectedOption: [\"0\"],\r\n FamilyData: {\r\n member_name: \"\",\r\n user_id:\"\",\r\n },\r\n error: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"medicine_description\",\r\n text: \"Medicine Name\",\r\n className: \"medicine_description\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"days\",\r\n text: \"Days\",\r\n className: \"days\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"before_food\",\r\n text: \"Before Food\",\r\n className: \"before_food\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record, i) => {\r\n return record.before_food === 1 ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n \"\"\r\n );\r\n },\r\n },\r\n {\r\n key: \"morning\",\r\n text: \"Morning\",\r\n className: \"morning\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"noon\",\r\n text: \"Noon\",\r\n className: \"noon\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"night\",\r\n text: \"Night\",\r\n className: \"night\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"total\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n \r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n \r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n \r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n } \r\n }\r\n\r\n componentDidMount() {\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n \r\n axios\r\n .post(getClientEntireFamilyDetails,{client_id: this.props.userdata.id}, CONFIG)\r\n .then((FamilyDataRespons) => {\r\n let FamilyDataList = FamilyDataRespons.data.data;\r\n let FamilymemberList = [];\r\n FamilyDataList.forEach((element, index) => {\r\n FamilymemberList.push({\r\n value: element.user_id,\r\n label: element.first_name + ' ' + element.last_name,\r\n \r\n });\r\n });\r\n let selected_familymember=FamilymemberList[0];\r\n this.setState({ FamilymemberList,selected_familymember:selected_familymember });\r\n \r\n \r\n }).catch((e) => { });\r\n \r\n\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n timeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n this.setState({ loading: true, filter: \"month\" });\r\n // this.getReport('month');\r\n\r\n let postData1 = { client_id: this.props.userdata.id, filter:\"month\"};\r\n // }\r\n \r\n axios\r\n .post(getPrescriptionHistoryforAppt, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n result: data,\r\n \r\n records: (data.length && data.medicine_description != null)\r\n ? data.medicine_description\r\n : [],\r\n // show_prescriptions: data.length ? data.show_prescriptions : true,\r\n show_prescriptions: true,\r\n selectedOption:[],\r\n loading: false\r\n \r\n });\r\n \r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n handleselectChange = (element, i) => {\r\n /* let data = this.state.FamilyData;\r\n data[i.name] = element;\r\n this.setState({ FamilyData: data }); */\r\n let newdata = this.state.selected_familymember;\r\n newdata = element;\r\n \r\n this.setState({ selected_familymember: newdata }); \r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n let postData1 = { client_id: element.value, filter: this.state.filter, start_date: this.state.Fromdate, end_date: this.state.Todate };\r\n \r\n axios\r\n .post(getPrescriptionHistoryforAppt, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n result: data,\r\n\r\n records: (data.length>0) ? data : [],\r\n records: (data.length && data.medicine_description != null)\r\n ? data.medicine_description\r\n : [],\r\n show_prescriptions: true,\r\n selectedOption: [],\r\n loading: false\r\n\r\n });\r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n // this.setState({ selected_familymember }); \r\n }\r\n refreshData = () => {\r\n const FamilyData = this.state.FamilyData;\r\n FamilyData.member_name=\"\";\r\n this.setState({ FamilyData: FamilyData });\r\n \r\n this.setState({ loading: true, filter: \"month\" });\r\n\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n let postData1 = { client_id: this.props.userdata.id, filter: 'month', start_date: this.state.Fromdate, end_date: this.state.Todate };\r\n \r\n axios\r\n .post(getPrescriptionHistoryforAppt, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n result: data,\r\n\r\n records: (data.length>0) ? data : [],\r\n records: (data.length && data.medicine_description != null)\r\n ? data.medicine_description\r\n : [],\r\n show_prescriptions: true,\r\n selectedOption: [],\r\n loading: false\r\n\r\n });\r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n \r\n axios\r\n .post(getClientEntireFamilyDetails,{client_id: this.props.userdata.id}, CONFIG)\r\n .then((FamilyDataRespons) => {\r\n let FamilyDataList = FamilyDataRespons.data.data;\r\n let FamilymemberList = [];\r\n FamilyDataList.forEach((element, index) => {\r\n FamilymemberList.push({\r\n value: element.user_id,\r\n label: element.first_name + ' ' + element.last_name,\r\n \r\n });\r\n \r\n });\r\n this.setState({ selected_familymember: FamilymemberList[0]});\r\n })\r\n };\r\n\r\n clear=()=>\r\n {\r\n this.state.Fromdate=\"\";\r\n this.state.Todate=\"\";\r\n this.setState({result:[]});\r\n }\r\n handlePrescriptionChange = ( index, event) => {\r\n \r\n console.log(index);\r\n // console.log(event);\r\n // console.log(event.target.checked);\r\n let {\r\n\r\n // selectedOption,\r\n result,\r\n show_prescriptions,\r\n records,\r\n } = this.state;\r\n \r\n records = result[index].medicine_description;\r\n console.log(records)\r\n show_prescriptions = result[index].show_prescriptions;\r\n \r\n\r\n \r\n console.log(records);\r\n this.setState({\r\n selectedOption: event.target.checked ? [index] : [],\r\n records: records ? records : [],\r\n show_prescriptions: show_prescriptions\r\n });\r\n };\r\n handlefilterSelect = (e) => {\r\n const { name, value } = e.target;\r\n this.state.Fromdate=\"\";\r\n this.state.Todate=\"\";\r\n this.setState({\r\n [name]: value\r\n });\r\nconsole.log(value);\r\n this.getReport(value,\"\",\"\");\r\n }\r\n handleFromChange = (date) => {\r\n \r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n this.setState({ Fromdate: offsetDate });\r\n \r\n this.getReport(\"custom\",offsetDate,this.state.Todate);\r\n };\r\n handleToChange = (date) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n this.setState({ Todate: offsetDate });\r\n \r\n this.getReport(\"custom\",this.state.Fromdate,offsetDate);\r\n };\r\n\r\n getReport = (filter,from,to) => {\r\n console.log(filter);\r\n this.setState({loading: true});\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n // let {Todate,Fromdate} = this.state;\r\n console.log(from)\r\n console.log(to)\r\n // if(filter == 'custom' && Todate != null && Fromdate != null ){\r\n // postData1 = { client_id: this.props.userdata.id, filter: \"month\" };\r\n // } else {\r\n let postData1 = { client_id: this.state.selected_familymember.value, filter: filter,start_date:from,end_date:to };\r\n // }\r\n \r\n axios\r\n .post(getPrescriptionHistoryforAppt, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n if (res.data.status === \"1\") {\r\n this.setState({\r\n result: data,\r\n\r\n records: (data.length && data.medicine_description != null)\r\n ? data.medicine_description\r\n : [],\r\n // show_prescriptions: data.length ? data.show_prescriptions : true,\r\n show_prescriptions: true,\r\n selectedOption:[],\r\n loading: false\r\n\r\n });\r\n \r\n } else {\r\n this.setState({ error: res.data.message, loading: false });\r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n errors,\r\n selectedOption,\r\n show_prescriptions,\r\n error,\r\n result,\r\n timeout,\r\n family_data,\r\n FamilymemberList,\r\n FamilyData,\r\n selected_familymember,\r\n } = this.state;\r\n // console.log(with_in_week.length);\r\n return (\r\n
    \r\n {/* */}\r\n {loading && }\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.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={timeout} />\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Prescription

    \r\n \r\n
    \r\n {show_prescriptions ? (\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {error ? (\r\n {error}\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n
    \r\n {/*
    */}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {/*
    \r\n
    \r\n

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

    \r\n
    \r\n
    */}\r\n \r\n \r\n
    \r\n
    \r\n \r\n Send\r\n \r\n
    \r\n {/*
    \r\n \r\n this.setState({ copied: true })\r\n }\r\n >\r\n \r\n \r\n
    */}\r\n \r\n
    \r\n {this.state.copied ? (\r\n \r\n Copied.\r\n \r\n ) : null}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Number of Referral
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Referrals Accepted
    \r\n
    \r\n \r\n \r\n \r\n

    \r\n {\r\n referral_details.numberofreferrals_accepted\r\n }\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Referral Points
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Redeem Points
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Redeem\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n\r\n \r\n\r\n\r\n {/* */}\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps,mapDispatchToProps)(Referrals);\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n queueAssignmentList,\r\n QueueAssignmentListbySelectedDoctor,\r\n getMasterPharmacy,\r\n consultDoctor,\r\n updateQueueStatus,\r\n getDocByBusiness,\r\n getTimeoutbycategory,\r\n sendsms,\r\n sendemail,\r\n getBusinessShortDetail,\r\n getPharmacydetailsbyid,\r\n getBusinessuserShortDetail\r\n} from \"../config/url.json\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport { ExpirePopup } from \"../components/UI/ExpirePopup\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport moment from \"moment\";\r\nimport Select from \"react-select\";\r\nimport { DAY_TYPES } from \"../constants/config/data\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { getDateISOFormat } from \"../constants/globalLevelFunctions\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity,\r\n business_short_detail: state.SearchReducer.business_short_detail\r\n\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nclass QueueAssignment extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout=this.state;\r\n\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout:hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n showexpirePopup: this.props.validity,\r\n doc_list: [],\r\n selected_doctor: \"\",\r\n doctor_appointment: [],\r\n queue: {\r\n id: \"\",\r\n client_id: \"\",\r\n business_id: \"\",\r\n business_user_id:\"\",\r\n first_name: \"\",\r\n last_name: \"\",\r\n age: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n marital_status: \"\",\r\n phone_number: \"\",\r\n status: \"cancelled\",\r\n patient_name: \"\",\r\n actual_checkin_time: \"\",\r\n expected_time: \"\",\r\n waitTime: \"\",\r\n },\r\n successMessage: {\r\n message: \"\",\r\n status: \"1\",\r\n },\r\n errorMessage:\"\",\r\n errors:{\r\n pharmacy_details: \"\",\r\n follow_up_details: \"\",\r\n consultation_fee: \"\",\r\n },\r\n actionFormData: {\r\n registrationId: \"\",\r\n pharmacy_details: \"\",\r\n follow_up_details: \"\",\r\n consultation_fee: \"\",\r\n medicine_description:\"\",\r\n selectedDaysType: \"\",\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n\r\n },\r\n cancelModel: false,\r\n queueList: [],\r\n pharmacy_array: [],\r\n selectedRecord: \"\",\r\n cancelSelRecord: {},\r\n admin_working_hours_detail: {\r\n doctor_arrived: \"Yes\",\r\n hospital_opened: \"Yes\",\r\n hospital_opened_data: \"No\",\r\n doctor_arrived_data: \"No\",\r\n schedule_type: \"\",\r\n cycle_time: \"\",\r\n cycle_time_break: { label: \"min\", value: \"min\" },\r\n reschedule_time: \"\",\r\n reschedule_time_break: { label: \"min\", value: \"min\" },\r\n hospital_open_date: moment().format(\"YYYY-MM-DD\"),\r\n hospital_open_time: moment().format(\"HH:mm\"),\r\n doctor_arrival_date: moment().format(\"YYYY-MM-DD\"),\r\n doctor_arrival_time: moment().format(\"HH:mm\"),\r\n },\r\n };\r\n this.columns = [\r\n {\r\n // key: \"queue_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n this.editRecord(record)}\r\n className=\"tableAnchorTag\"\r\n >\r\n {record.s_no}\r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"patient_id\",\r\n text: \"Patient ID\",\r\n className: \"patient_id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"patient_name\",\r\n text: \"Patient Name\",\r\n className: \"patient_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n\r\n {\r\n key: \"dob\",\r\n text: \"Date of Birth\",\r\n className: \"date_of_birth\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return moment(record.dob).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n key: \"blood_group\",\r\n text: \"Blood Group\",\r\n className: \"blood_group\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"phone_number\",\r\n text: \"Mobile Number\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return record.phone_number ? record.phone_number:record.parent_phone_number ;\r\n },\r\n },\r\n {\r\n key: \"TokenDate\",\r\n text: \"Token Date\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"TokenTime\",\r\n text: \"Token Time\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"wait_time\",\r\n text: \"Wait Time\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"status\",\r\n text: \"Status\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"payment_status\",\r\n text: \"Payment Status\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n /* {\r\n key: \"edit\",\r\n text: \"Edit\",\r\n className: \"edit\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n\r\n this.editRecord(record)}\r\n >\r\n \r\n \r\n\r\n \r\n );\r\n },\r\n },\r\n */ {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n\r\n {record.isprescription ? (\r\n this.editRecord(record)}\r\n >\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {record.isfee ? (\r\n this.editRecord(record)}\r\n >\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {record.isfollowup ? (\r\n this.editRecord(record)}\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.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n \r\n }\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n\r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n};\r\n\r\n _onAction(e) {\r\n \r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n console.log('user is active', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n \r\n\r\n cancelRecord(record) {\r\n let selrecord = this.state.selectedRecord;\r\n\r\n if (selrecord) {\r\n this.setState(\r\n {\r\n cancelSelRecord: selrecord,\r\n },\r\n this.setState({\r\n cancelModel: true,\r\n })\r\n );\r\n }\r\n\r\n }\r\n\r\n editRecord(record) {\r\nconsole.log(record)\r\n let actionFormData = {\r\n registrationId: \"\",\r\n pharmacy_details: \"\",\r\n follow_up_details: \"\",\r\n consultation_fee: \"\",\r\n medicine_description:\"\",\r\n selectedDaysType: \"\",\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n\r\n };\r\n let selectedRecord = this.state.selectedRecord;\r\n console.log(selectedRecord);\r\n selectedRecord = record;\r\n\r\n actionFormData.registrationId = record.patient_id;\r\n actionFormData.email = record.email;\r\n actionFormData.phone_number = record.phone_number;\r\n actionFormData.phone_code = record.phone_code;\r\n actionFormData.first_name = record.first_name;\r\n actionFormData.medicine_description = record.medicine_description;\r\n\r\n actionFormData.consultation_fee = record.consultation_fee\r\n ? record.consultation_fee\r\n : \"\";\r\n actionFormData.pharmacy_details = record.pharmacy_details\r\n ? record.pharmacy_details\r\n : \"\";\r\n\r\n if (record.follow_up_details) {\r\n let temp_array = record.follow_up_details;\r\n actionFormData.follow_up_details = temp_array;\r\n actionFormData.selectedDaysType = {\r\n label: temp_array,\r\n value: temp_array,\r\n };\r\n }\r\n console.log(record.pharmacy_details.value);\r\n console.log(record.pharmacy_details.label);\r\n axios\r\n .post(getPharmacydetailsbyid,{id:record.pharmacy_details.value}, CONFIG)\r\n .then((res) => {\r\n //console.log(res);\r\n // console.log(res.data);\r\n let response = res.data;\r\n console.log(response.data[0]);\r\n console.log(response.data[0].pharmacy_location);\r\n\r\n // return false;\r\n if (response.status == \"1\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ pharmacy_location: response.data[0].pharmacy_location });\r\n }\r\n\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n\r\n axios\r\n .post(getBusinessuserShortDetail,{business_user_id:record.business_user_id}, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response.data);\r\n console.log(response.data.last_name);\r\n\r\n // return false;\r\n if (response.status == \"1\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ doctor_name: response.data.first_name +' '+ response.data.last_name,speciality_name:response.data.speciality_name });\r\n }\r\n\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n\r\n\r\n\r\n this.setState({ actionFormData: actionFormData });\r\n this.setState({ selectedRecord: selectedRecord });\r\n \r\n }\r\n\r\n conformCancelAppointment = () => {\r\n let record = this.state.cancelSelRecord;\r\n let data = {};\r\n data.n_business_id = this.props.userdata.id;\r\n data.n_business_user_id = \"\";\r\n data.n_schedule_day_id = record.schedule_day_id;\r\n data.n_q_id = record.q_id;\r\n data.n_status = \"Cancelled\";\r\n data.n_preference = record.preference;\r\n data.n_savefor = \"C\";\r\n console.log(data);\r\n axios\r\n .post(updateQueueStatus, data)\r\n .then((res) => {\r\n console.log(res);\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n queueAssignmentList,\r\n { business_id: this.props.userdata.id },\r\n CONFIG\r\n )\r\n .then((res) => {\r\n\r\n let resdata = res.data.data;\r\n let queueList = [];\r\n resdata.forEach((element, index) => {\r\n let queue = {};\r\n queue.queue_no = element.preference;\r\n queue.patient_id = element.patient_id;\r\n queue.patient_name = element.first_name + \" \" + element.last_name;\r\n queue.dob = element.date_of_birth;\r\n queue.gender = element.gender;\r\n queue.blood_group = element.blood_group;\r\n queue.phone_number = element.phone_number;\r\n queue.app_time = element.expected_time;\r\n queue.wait_time = element.waitTime;\r\n queue.status = element.status;\r\n queue.checkin_id = element.checkin_id;\r\n queue.isfee = element.fee;\r\n queue.isprescription = element.prescription;\r\n queue.isfollowup = element.followup;\r\n queue.client_id = element.client_id;\r\n queue.business_user_id=element.business_user_id;\r\n queue.id = element.id;\r\n queue.q_id = element.q_id;\r\n queue.schedule_day_id = element.schedule_day_id;\r\n queue.pharmacy_details = element.pharmacy_details\r\n ? element.pharmacy_details\r\n : \"\";\r\n queue.consultation_fee = element.consultation_fee\r\n ? element.consultation_fee\r\n : \"\";\r\n queue.follow_up_details = element.follow_up_details\r\n ? element.follow_up_details\r\n : \"\";\r\n queueList[index] = queue;\r\n });\r\n\r\n // let clientmedicinehistory = {};\r\n this.setState({ queueList: queueList });\r\n })\r\n .catch((e) => { });\r\n this.closePopup();\r\n })\r\n .catch((e) => { });\r\n\r\n };\r\n\r\n clearActionForm = () => {\r\n // e.preventDefault();\r\nlet errors=this.state.errors;\r\n let actionFormData = this.state.actionFormData;\r\n actionFormData.registrationId = \"\";\r\n actionFormData.pharmacy_details = {};\r\n actionFormData.follow_up_details = \"\";\r\n actionFormData.consultation_fee = \"\";\r\n actionFormData.selectedDaysType = \"\";\r\n actionFormData.medicine_description = \"\";\r\n this.setState({ actionFormData: actionFormData,errors:\"\" });\r\n this.setState({ selectedRecord: \"\" });\r\n\r\n };\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n successMessage: { message: \"\" },\r\n \r\n }),\r\n 5000\r\n );\r\n };\r\n performAction = (e) => {\r\n\r\n const postData = this.state.selectedRecord;\r\n\r\n if (\"\" === postData || null === postData) {\r\n alert(\"Select any one of the record fields.\");\r\n\r\n } else {\r\n postData.business_id = this.props.userdata.id;\r\n postData.pharmacy_details = this.state.actionFormData.pharmacy_details;\r\n postData.business_user_id=this.state.actionFormData.business_user_id;\r\n postData.follow_up_details =\r\n this.state.actionFormData.follow_up_details;\r\n postData.consultation_fee = this.state.actionFormData.consultation_fee;\r\n postData.medicine_description = this.state.actionFormData.medicine_description;\r\n postData.id = postData.checkin_id;\r\n if (\"complete\" === e.target.id) {\r\n // postData.status = \"complete\";\r\n }\r\n postData.actionType = e.target.id;\r\n let errors = this.state.errors;\r\n errors.pharmacy_details = \"\";\r\n errors.follow_up_details = \"\";\r\n errors.consultation_fee = \"\";\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios\r\n .post(consultDoctor, postData, CONFIG)\r\n .then((res) => {\r\n \r\n const result = res.data;\r\n let successMessage = this.state.successMessage;\r\n if (result.status === \"1\") \r\n this.setState({ successMessage: result });\r\n if (\"print\" === postData.actionType) {\r\n if(postData.pharmacy_details === \"\" || !postData.pharmacy_details)\r\n {\r\n errors.pharmacy_details = \"Please choose pharmacy\";\r\n this.setState({errors})\r\n return false; \r\n }\r\n else \r\n {\r\n /* this.props.history.push(\r\n \"/hospitalprint_prescription/\" + postData.id + \"/business\");\r\n */ this.props.history.push({\r\n pathname: \"/hospitalprint_prescription/\" + postData.id + \"/business\",\r\n state: {\r\n business_id:this.props.userdata.id,\r\n business_name:this.state.business_name,\r\n hospital_address:this.state.hospital_address,\r\n hospital_city:this.state.hospital_city,\r\n hospital_state:this.state.hospital_state,\r\n hospital_zipcode:this.state.hospital_zipcode,\r\n patient_id:this.state.selectedRecord.patient_id,\r\n patient_name:this.state.selectedRecord.patient_name,\r\n pharmacy_name:this.state.selectedRecord.pharmacy_details.label,\r\n pharmacy_location:this.state.pharmacy_location,\r\n doctor_name:this.state.doctor_name,\r\n speciality_name:this.state.speciality_name\r\n }\r\n });\r\n }\r\n } else if (\"complete\" === postData.actionType) {\r\n console.log(postData);\r\n if(postData.consultation_fee === \"\")\r\n {\r\n \r\n\r\n errors.consultation_fee = \"The Consultation fees field is required.\";\r\n this.setState({errors}); return false;\r\n\r\n } else {\r\n // this.conformCompleteAction();\r\n this.props.history.push({\r\n pathname: \"/add_prescription/\" + postData.checkin_id,\r\n data: {\r\n business_id: this.props.userdata.id,\r\n completion_data: postData,\r\n doctor_name:this.state.doctor_name,\r\n }\r\n });\r\n }\r\n \r\n } \r\n else if(\"setupReminder\" === postData.actionType){\r\n console.log(postData)\r\n if(postData.follow_up_details === \"\")\r\n {\r\n errors.follow_up_details = \"Please enter followup days\";\r\n this.setState({errors}); return false;\r\n } else{\r\n \r\n let reqdata = {\r\n \"to\" : postData.email,\r\n \"subject\" : \"Remainder Email\",\r\n \"mailHeader\" : \"Hi \"+postData.patient_name,\r\n \"message\": \"You have an appointment remainder \"+postData.follow_up_details+\" days from today.\"\r\n }\r\n let notificationdata = {\r\n \"message_code\": \"FOLLOW_REMINDER\",\r\n \"language_code\": \"en\",\r\n \"data\": {\r\n \"patient_name\": postData.patient_name,\r\n \"followup_days\": postData.follow_up_details,\r\n \r\n },\r\n \"receiver\": {\r\n \"phoneNumber\": postData.phone_code.concat(postData.phone_number)\r\n }\r\n };\r\n console.log(notificationdata)\r\n console.log(reqdata)\r\n if(postData.phone_number){\r\n axios\r\n .post(sendsms, notificationdata)\r\n .then((result) => {\r\n console.log(result)\r\n successMessage.message=\"Remainder sent successfully to your registered mobile number.\";\r\n successMessage.status=\"1\";\r\n }).catch((err) => {\r\n console.log(err);\r\n successMessage = {message: err,status:\"0\"};\r\n })\r\n // this.setState({ successMessage: successMessage });\r\n /* toast.success(\"Remainder sent successfully to your registered mobile number.\",{\r\n className:\"toast-success\"\r\n }); */\r\n\r\n }\r\n if(postData.email){\r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data;\r\n // successMessage = {message: \"Remainder send successfully to your registered email id\",status:\"1\"};\r\n successMessage.message=\"Remainder sent successfully to your registered email Id.\";\r\n successMessage.status=\"1\";\r\n }).catch((err) => {\r\n console.log(err);\r\n successMessage = {message: err,status:\"0\"};\r\n })\r\n // this.setState({ successMessage: successMessage });\r\n /* toast.success(\"Remainder sent successfully to your registered email Id.\",{\r\n className:\"toast-success\"\r\n }); */\r\n }\r\n \r\n toast.success(\"The Remainder has been sent successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n\r\n \r\n\r\n this.clearMessage();\r\n }\r\n } else \r\n {\r\n this.setState({ errorMessage: result.message || \"Failed to submit prescription details\", });\r\n toast.error(\"Failed to submit prescription details.\",{\r\n className:\"toast-error\"\r\n });\r\n }\r\n\r\n this.setState({ loading: false });\r\n })\r\n .catch((e) => {\r\n this.setState({\r\n loading: false,\r\n errorMessage: \"Failed to submit consultant details\",\r\n });\r\n });\r\n });\r\n }\r\n };\r\n sendPrescriptionmail = (data) => {\r\n \r\n if((data.medicine_description !== \"\" || data.medicine_description !== null) && data.pharmacy_details !== \"\"){\r\n let selectedRecord = this.state.selectedRecord;\r\n // let style = \"table,th,td{border: 1px solid #dfdfdf;}\";\r\n let reqdata = { \r\n \"to\" : data.email,\r\n \"subject\" : \"Prescription for \"+selectedRecord.patient_name,\r\n \"mailHeader\" : \"Prescription for \"+selectedRecord.patient_name,\r\n \"message\": '
    Registration. No.'+data.registrationId+'
    Patient Name'+selectedRecord.patient_name+'
    Hospital Address'+ this.props.business_short_detail.business_name + \", \" + this.props.business_short_detail.address1\r\n + \", \" + this.props.business_short_detail.city\r\n + \", \" + this.props.business_short_detail.state\r\n + \" - \" + this.props.business_short_detail.zip_code+'
    ',\r\n }\r\n \r\n data.medicine_description.forEach((element, index) => {\r\n reqdata.message += '';\r\n });\r\n reqdata.message += '
    Medicine DescriptionDaysBefore FoodMorningNoonNightTotal
    '+element.medicine_description+''+element.days+''+element.before_food+''+element.morning+''+element.noon+''+element.night+''+element.total+'
    ';\r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data;\r\n console.log(resdata);\r\n \r\n }).catch((err) => {\r\n console.log(err);\r\n // successMessage = {message: err,status:\"0\"};\r\n })\r\n }\r\n \r\n\r\n }\r\n\r\n completeAction = (e) => {\r\n const postData = this.state.selectedRecord;\r\n this.sendPrescriptionmail(this.state.actionFormData);\r\n// console.log(postData); return false;\r\n\r\n this.conformCompleteAction();\r\n \r\n if (\"\" === postData || null === postData) {\r\n alert(\"Please select the record\");\r\n } else {\r\n postData.business_id = this.props.userdata.id;\r\n postData.pharmacy_details = this.state.actionFormData.pharmacy_details;\r\n\r\n postData.follow_up_details =\r\n this.state.actionFormData.follow_up_details;\r\n postData.consultation_fee = this.state.actionFormData.consultation_fee;\r\n postData.id = postData.checkin_id;\r\n if (\"finish\" === e.target.id) {\r\n postData.status = \"Completed\";\r\n }\r\n postData.actionType = e.target.id;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios\r\n .post(consultDoctor, postData, CONFIG)\r\n .then((res) => {\r\n this.setState({ loading: false });\r\n const result = res.data;\r\n if (result.status === \"1\") {\r\n console.log(result.message);\r\n let successMessage = {\r\n message: \"The Patient has completed the transaction successfully.\",\r\n status: \"1\",\r\n };\r\n toast.success(\"The Patient has completed the transaction successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n // this.setState({ successMessage });\r\n this.clearActionForm();\r\n this.clearMessage();\r\n // if (\"print\" === postData.actionType) {\r\n // this.props.history.push(\r\n // \"/print_prescription/\" + postData.id + \"/business\"\r\n // );\r\n // } else\r\n if (\"finish\" === postData.actionType) {\r\n // console.log(postData);\r\n // this.props.history.push({\r\n // pathname: \"/add_prescription\",\r\n // data: {\r\n // business_id: this.props.userdata.id,\r\n // completion_data: postData,\r\n // \r\n }\r\n // });\r\n \r\n } else {\r\n this.setState({\r\n errorMessage:\r\n result.message || \"Failed to complete the action\",\r\n });\r\n toast.error(\"Failed to complete the action.\",{\r\n className:\"toast-error\"\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n this.setState({\r\n loading: false,\r\n errorMessage: \"Failed to complete the action\",\r\n });\r\n });\r\n });\r\n }\r\n };\r\n conformCompleteAction = () => {\r\n\r\n let record = this.state.selectedRecord;\r\n let data = {};\r\n data.n_business_id = this.props.userdata.id;\r\n data.n_business_user_id = \"\";\r\n data.n_schedule_day_id = record.schedule_day_id;\r\n data.n_q_id = record.q_id;\r\n data.n_status = \"Completed\";\r\n data.n_preference = record.preference;\r\n data.n_savefor = \"C\";\r\n console.log(data);\r\n axios\r\n .post(updateQueueStatus, data)\r\n .then((res) => {\r\n console.log(res);\r\n\r\n this.getQueueDatabyselecteddoctor(this.state.selected_doctor.value,this.state.selected_shift.value)\r\n this.closePopup();\r\n })\r\n .catch((e) => { });\r\n\r\n };\r\n\r\n closePopup = (e) => {\r\n this.setState({\r\n cancelModel: false,\r\n });\r\n };\r\n\r\n handleInput = (e) => {\r\n\r\n let data = this.state.actionFormData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let errors=this.state.errors;\r\n if(name===\"follow_up_details\" || name === \"consultation_fee\")\r\n data[name] = value.replace(/[^0-9]/ig,'');\r\n else data[name] = value;\r\n this.setState({ actionFormData: data });\r\n errors.follow_up_details = \"\";\r\n };\r\n printOrder = () => {\r\n const printableElements = document.getElementById(\"printme\").innerHTML;\r\n let orderHTML =\r\n \"\" +\r\n printableElements +\r\n \"\";\r\n const oldPage = document.body.innerHTML;\r\n document.body.innerHTML = orderHTML;\r\n window.print();\r\n document.body.innerHTML = oldPage;\r\n };\r\n handleselectPharmacy = (selectedOptions, e) => {\r\n let data = this.state.actionFormData;\r\n data[e.name] = selectedOptions;\r\n this.setState({ actionFormData: data });\r\n };\r\n\r\n componentDidMount = () => {\r\n\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n // this.getData();\r\n\r\n axios\r\n .post(getMasterPharmacy, {user_id:this.props.userdata.id}, CONFIG)\r\n .then((res) => {\r\n console.log(res);\r\n let pharmacy_array = res.data.data;\r\n\r\n let pharmacyList = [];\r\n\r\n pharmacy_array.forEach((element, index) => {\r\n pharmacyList.push({\r\n value: element.id,\r\n label: element.pharmacy_name,\r\n email: element.email,\r\n });\r\n });\r\n\r\n this.setState({ pharmacy_array: pharmacyList });\r\n })\r\n .catch((e) => { });\r\n this.setState({ loading: true });\r\n\r\n const data = {\r\n n_business_id: this.props.userdata.id,\r\n n_currentdate: getDateISOFormat(new Date()),\r\n };\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getDocByBusiness, data, CONFIG)\r\n .then((result) => {\r\n\r\n let doc_list = [], doctor_shift = [];\r\n result.data.data.forEach((element, index) => {\r\n \r\n if (element.schedule_type.toLowerCase() !== 'appointment')\r\n doc_list.push({ value: element.business_user_id, label: element.doctor_name, doctor_Appointments: element.doctor_Appointments });\r\n });\r\n if (doc_list.length) {\r\n doc_list[0].doctor_Appointments.forEach((doc, k) => {\r\n doctor_shift.push({ value: doc.schedule_day_id, label: \"Shift \" + (k + 1) + \"(\" + doc.starttime + \" - \" + doc.endtime + \")\" })\r\n })\r\n }\r\n\r\n\r\n this.setState({ doctor_appointment: result.data.data, doc_list: doc_list, selected_doctor: doc_list[0], doctor_shift: doctor_shift, selected_shift: doctor_shift[0], loading: false });\r\n this.getQueueDatabyselecteddoctor(doc_list[0].value, doctor_shift[0].value);\r\n\r\n\r\n })\r\n .catch((e) => { console.log(e); this.setState({ loading: false }) });\r\n\r\n axios\r\n .post(getBusinessShortDetail, { business_id: this.props.userdata.id }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n // return false;\r\n if (response.status !== \"0\") {\r\n \r\n this.setState({ hospital_details: response.data[0],hospital_address:response.data[0].address1,\r\n business_name:response.data[0].business_name,hospital_city:response.data[0].city,\r\n hospital_state:response.data[0].state,hospital_zipcode:response.data[0].zip_code,business_name:response.data[0].business_name });\r\n }\r\n console.log(this.state.hospital_details);\r\n console.log(this.state.hospital_address);\r\n\r\n })\r\n\r\n .catch((e) => { });\r\n\r\n };\r\n \r\n getData = () => {\r\n this.setState({ loading: true });\r\n this.getQueueDatabyselecteddoctor(this.state.selected_doctor.value,this.state.selected_shift.value)\r\n }\r\n getQueueDatabyselecteddoctor = (business_user_id, schedule_day_id) => {\r\n this.setState({ loading: true });\r\nconsole.log('here')\r\n if (business_user_id !== \"\" && schedule_day_id !== \"\") {\r\n let reqdata = {\r\n business_id: this.props.userdata.id,\r\n business_user_id: business_user_id,\r\n schedule_day_id: schedule_day_id\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n QueueAssignmentListbySelectedDoctor,\r\n reqdata,\r\n CONFIG\r\n )\r\n .then((res) => {\r\n\r\n let resdata = res.data.data;\r\n let queueList = [];\r\n resdata.forEach((element, index) => {\r\n let queue = {};\r\n queue.s_no = index+1;\r\n queue.queue_no = element.preference;\r\n queue.patient_id = element.patient_id;\r\n queue.patient_name = element.first_name + \" \" + element.last_name;\r\n queue.dob = element.date_of_birth;\r\n queue.gender = element.gender;\r\n queue.blood_group = element.blood_group;\r\n queue.phone_number = element.phone_number;\r\n queue.parent_phone_number = element.parent_phone_number;\r\n queue.phone_code = element.phone_code;\r\n queue.email = element.email;\r\n queue.app_time = element.expected_time;\r\n queue.TokenDate=element.TokenDate;\r\n queue.TokenTime=element.TokenTime;\r\n \r\n queue.wait_time = element.waitTime;\r\n queue.status = element.status;\r\n queue.payment_status=element.payment_status;\r\n queue.checkin_id = element.checkin_id;\r\n queue.isfee = element.fee;\r\n queue.isprescription = element.prescription;\r\n queue.isfollowup = element.followup;\r\n queue.client_id = element.client_id;\r\n queue.business_user_id=element.business_user_id;\r\n queue.id = element.id;\r\n queue.q_id = element.q_id;\r\n queue.schedule_day_id = element.schedule_day_id;\r\n queue.medicine_description = element.medicine_description;\r\n queue.pharmacy_details = element.pharmacy_details\r\n ? element.pharmacy_details\r\n : \"\";\r\n queue.consultation_fee = element.consultation_fee\r\n ? element.consultation_fee\r\n : \"\";\r\n queue.follow_up_details = element.follow_up_details\r\n ? element.follow_up_details\r\n : \"\";\r\n queueList[index] = queue;\r\n });\r\n\r\n // let clientmedicinehistory = {};\r\n this.setState({ queueList: queueList, loading: false });\r\n })\r\n .catch((e) => { });\r\n }\r\n }\r\n handleselectChange = (selectedoption, event) => {\r\n\r\n let { doc_list } = this.state;\r\n let doctor_shift = [];\r\n if (event.name === \"doc_list\") {\r\n\r\n doc_list[event.name] = selectedoption\r\n\r\n\r\n selectedoption.doctor_Appointments.forEach((doc, k) => {\r\n doctor_shift.push({ value: doc.schedule_day_id, label: \"Shift \" + (k + 1) + \"(\" + doc.starttime + \" - \" + doc.endtime + \")\" })\r\n })\r\n\r\n this.setState({ doc_list: doc_list, selected_doctor: selectedoption, doctor_shift: doctor_shift, selected_shift: doctor_shift[0] });\r\n this.getQueueDatabyselecteddoctor(selectedoption.value, doctor_shift[0].value)\r\n }\r\n if (event.name === 'doctor_shift') {\r\n\r\n this.setState({ selected_shift: selectedoption })\r\n this.getQueueDatabyselecteddoctor(this.state.selected_doctor.value, selectedoption.value)\r\n }\r\n }\r\n render() {\r\n\r\n const {\r\n headerinfo,\r\n queueList,\r\n pharmacy_array,\r\n actionFormData,\r\n errorMessage,\r\n successMessage,\r\n errors,\r\n doc_list,\r\n hospitaltimeout,\r\n doctor_name\r\n } = this.state;\r\n let loggedinUserId = this.props.userdata.id;\r\n let navigation = {};\r\n navigation.userId = loggedinUserId;\r\n let PopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n let PopupConfirm = () => {\r\n this.props.history.push({\r\n pathname: \"/showsubscription\",\r\n state: {}\r\n });\r\n };\r\n return (\r\n\r\n\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n

    Queue Management

    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    Actions
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {/* */}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {actionFormData.registrationId}\r\n \r\n
    \r\n
    \r\n this.cancelRecord()}\r\n >\r\n Reset\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Reminder\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Billing\r\n \r\n \r\n Complete\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {/* \r\n Complete\r\n */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n {/*
    \r\n
    */}\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n\r\n \r\n\r\n \r\n
    \r\n\r\n\r\n \r\n \r\n \r\n Cancel Appointment\r\n \r\n \r\n \r\n
    \r\n

    \r\n Are you sure you want to Cancel the appoinment\r\n ?\r\n

    \r\n\r\n
    \r\n
    \r\n \r\n Yes\r\n \r\n
    \r\n  \r\n
    \r\n {\r\n this.setState({\r\n cancelModel: false,\r\n cancelRecord: {},\r\n });\r\n }}\r\n >\r\n No\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n\r\n\r\n
    \r\n \r\n\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps,mapDispatchToProps)(QueueAssignment);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SideBar from \"../components/container/layout/client/SideBar\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport Header from \"../components/container/layout/business/Header\";\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { getPrescription,getdigitalsignatureforbusinessuser,getBusinessShortDetail,getClientShortDetail,getCheckinDetails,getwrittenprescriptionbyid } from \"../config/url.json\";\r\nimport {getProfilePercentage} from \"../constants/globalLevelFunctions\";\r\nimport * as moment from \"moment\";\r\nimport { earthRadius } from \"geolib\";\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n business_short_detail: state.SearchReducer.business_short_detail,\r\n };\r\n}\r\n\r\nclass PrintPrescription extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n records: [],\r\n with_in_week: [],\r\n with_in_30: [],\r\n with_in_3_months: [],\r\n with_in_6_months: [],\r\n with_in_year: [],\r\n with_in_2_years: [],\r\n selectedOption: [\"with_in_week0\"],\r\n error: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"medicine_description\",\r\n text: \"Medicine Description\",\r\n className: \"medicine_description\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"days\",\r\n text: \"Days\",\r\n className: \"days\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"before_food\",\r\n text: \"Before Food\",\r\n className: \"before_food\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return record.before_food === 1 ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n \"\"\r\n );\r\n },\r\n },\r\n {\r\n key: \"morning\",\r\n text: \"Morning\",\r\n className: \"morning\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"noon\",\r\n text: \"Noon\",\r\n className: \"noon\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"night\",\r\n text: \"Night\",\r\n className: \"night\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"total\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n console.log(this.props.userdata.id);\r\n //console.log(this.props.location.state.business_id);\r\n console.log(this.props.location.state.pharmacy_name);\r\n console.log(this.props.location.state.pharmacy_location);\r\n console.log(this.props.location.state.hospital_address);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n console.log(this.props.checkin_id)\r\n const checkinData = { id: this.props.match.params.id };\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n let completion_data = res.data.data || res.data.date;\r\n if (res.data.status !== \"1\") {\r\n return;\r\n }\r\n console.log(completion_data)\r\nthis.setState({client_id:completion_data.client_id,q_id:completion_data.q_id,Reg_id:completion_data.Reg_id,patient_name:completion_data.first_name,business_id:completion_data.business_id});\r\n})\r\n/* .catch((e) => {\r\n console.log(\"client short info failed\");\r\n}); */\r\n const postData1 = { id: this.props.match.params.id };\r\n axios\r\n .post(getPrescription, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n console.log(res.data.status);\r\n if (res.data.status === \"1\") {\r\n console.log(res.data.data[0]);\r\n this.setState({\r\n // with_in_week: data.with_in_week,\r\n // with_in_30: data.with_in_30,\r\n // with_in_3_months: data.with_in_3_months,\r\n // with_in_6_months: data.with_in_6_months,\r\n // with_in_year: data.with_in_year,\r\n // with_in_2_years: data.with_in_2_years,\r\n records: (res.data.data[0] && null != res.data.data[0].medicine_description)\r\n ? res.data.data[0].medicine_description\r\n : [],client_id:res.data.data[0].client_id,business_id:res.data.data[0].business_id,\r\n pharmacy_location: res.data.data[0].pharmacy_location\r\n \r\n });\r\n \r\n \r\n axios\r\n .post(getClientShortDetail, { client_id: this.state.client_id })\r\n .then((short_details) => {\r\n if (short_details.data.status === \"1\") {\r\n let info = short_details.data.data[0];\r\n console.log(info);\r\n let headerInfo = {};\r\n headerInfo.avatar = info.avatar;\r\n headerInfo.full_name = info.first_name +''+info.last_name;\r\n headerInfo.registeration_id = info.patient_id;\r\n headerInfo.blood_group = info.blood_group;\r\n headerInfo.age = info.age;\r\n headerInfo.profile_percentage = info.profile_percentage;\r\n this.setState({ registeration_id:info.patient_id,patient_name:info.first_name,headerInfo });\r\n console.log(headerInfo);\r\n console.log(this.state.registeration_id);\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"client short info failed\",e);\r\n }); \r\n\r\n \r\n console.log(this.state.business_id);\r\n // if(res.data.data[0].medicine_description)\r\n // setTimeout(() => {\r\n const printableElements = document.getElementById(\"layout-wrapper\")\r\n .innerHTML;\r\n const orderHtml =\r\n \"
    \" +\r\n printableElements +\r\n \"\";\r\n document.body.innerHTML = orderHtml;\r\n console.log(this.props.match.params.id);\r\n \r\n\r\n window.print();\r\n\r\n if (this.props.match.params.user_type.toLowerCase() === 'doctor') {\r\n document.location.href = '/consult/' + this.props.match.params.id\r\n } else {\r\n document.location.href = \"/queue_assignment\";\r\n } \r\n\r\n // document.body.innerHTML = oldPage;\r\n // console.log(this.props.history.goBack())\r\n // document.location.href = \"/queue_assignment\";\r\n\r\n // document.location.href = this.props.history.goBack()\r\n // }, 1000);\r\n } else {\r\n this.setState({ error: res.data.message });\r\n }\r\n })\r\n .catch(() => { });\r\n \r\n /* let reqdata = {\r\n \r\n 'user_id': this.props.userdata.id\r\n \r\n }\r\n axios\r\n .post(getdigitalsignatureforbusinessuser, reqdata, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n \r\n if (data.status === \"1\")\r\n this.setState({\r\n image: data.data[0].image\r\n \r\n });\r\n\r\n}) */\r\n \r\n\r\naxios\r\n.post(getBusinessShortDetail, { business_id: this.state.business_id }, CONFIG)\r\n.then((short_details) => {\r\n \r\n\r\n if (short_details.data.status === \"1\") {\r\n let info = short_details.data.data[0];\r\n info.profile_percentage_style = getProfilePercentage(info.profile_percentage);\r\n \r\n this.setState({ headerinfo: info, loading: false, profile_img : info.avatar });\r\n console.log(this.state.headerinfo);\r\n this.props.setBusinessShortData(this.state.headerinfo);\r\n \r\n }\r\n})\r\n.catch((e) => {\r\n console.log(\"business short info failed\",e);\r\n}); \r\n \r\n \r\n\r\n }\r\nBack=()=>\r\n{\r\n document.location.href=\"/queue_assignment\";\r\n}\r\n render() {\r\n const {\r\n loading,\r\n error,\r\n image,\r\n writtenprescriptionimage,\r\n headerInfo,\r\n Reg_id,\r\n patient_name,\r\n doctor_name,\r\n first_name,\r\n speciality_name,\r\n records\r\n } = this.state;\r\n // console.log(with_in_week.length);\r\n console.log(this.props.userdata.id);\r\n return (\r\n
    \r\n {/* */}\r\n {loading && }\r\n
    \r\n\r\n
    \r\n {/*
    */}\r\n
    \r\n {this.props.userdata.user_type === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    Prescription
    \r\n {/* */}\r\n
    \r\n \r\n \r\n \r\n
    Hospital Name
    \r\n {this.props.userdata.user_type === \"doctor\" ?\r\n
    {this.props.location.state.business_name}
    :\"\"}\r\n {this.props.userdata.user_type === \"hospital\" ?\r\n
    {this.props.userdata.id}
    :\"\"} \r\n Hospital Address\r\n \r\n { this.props.location.state.hospital_address\r\n + \", \" + this.props.location.state.hospital_city\r\n + \", \" + this.props.location.state.hospital_state\r\n + \" - \" + this.props.location.state.hospital_zipcode }\r\n \r\n \r\n \r\n Doctor Name\r\n {this.props.location.state.doctor_name}\r\n Speciality Name\r\n {this.props.location.state.speciality_name}\r\n \r\n \r\n Registration. No.\r\n {this.props.location.state.Reg_id}\r\n Patient Name\r\n {this.props.location.state.patient_name}\r\n \r\n \r\n Pharmacy Name\r\n {this.props.location.state.pharmacy_name}\r\n Pharmacy Address\r\n {this.state.pharmacy_location}\r\n \r\n \r\n \r\n Date\r\n\r\n \r\n {moment(new Date()).format(\r\n \"DD MMM YYYY hh:mm A\"\r\n )}\r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    Patient Information
    \r\n
    \r\n
    \r\n
    Patient Name
    \r\n
    {this.props.location.state.patient_name}
    \r\n\r\n
    Registration. No.
    \r\n
    {this.props.location.state.Reg_id}
    \r\n
    \r\n
    \r\n
    \r\n
    Doctor Information
    \r\n
    \r\n
    \r\n
    Doctor Name
    \r\n
    {this.props.location.state.doctor_name}
    \r\n\r\n
    Speciality Name
    \r\n
    {this.props.location.state.speciality_name}
    \r\n
    \r\n
    \r\n
    \r\n
    Hospital Information
    \r\n
    \r\n
    \r\n
    Hospital Name
    \r\n
    {this.props.location.state.business_name}
    \r\n\r\n
    Hospital Address
    \r\n
    \r\n {this.props.location.state.hospital_address}, \r\n {this.props.location.state.hospital_city}, \r\n {this.props.location.state.hospital_state} - \r\n {this.props.location.state.hospital_zipcode}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Pharmacy Information
    \r\n
    \r\n
    \r\n
    Pharmacy Name
    \r\n
    {this.props.location.state.pharmacy_name}
    \r\n\r\n
    Pharmacy Address
    \r\n
    {this.state.pharmacy_location}
    \r\n
    \r\n
    \r\n
    */}\r\n {/*
    \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n
    Date
    \r\n
    {new Date().toLocaleString()}
    \r\n
    */}\r\n
    \r\n {error ? (\r\n {error}\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n {/*
    \r\n {records.medicine_description && records.medicine_description > 0 ? (\r\n \r\n \r\n {(records && records.length > 0) ?\r\n (records.medicine_description.map((element, index) => (\r\n \r\n \r\n ) \r\n )) : \" \"}\r\n \r\n
    {element.medicine_description}
    \r\n) : null}\r\n
    */}\r\n {records.medicine_description && records.medicine_description > 0 ? (\r\n
    \r\n \r\n \r\n
    ) :\"\"}\r\n \r\n
    \r\n
    \r\n {this.props.location.state.writtenprescriptionimage ? :\"\"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"signature\"\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(PrintPrescription);\r\n","import React, { Component } from \"react\";\r\nimport QrScanner from \"react-qr-scanner\"; // Import the correct component\r\n\r\nclass QRScanner extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n result: \"\",\r\n scanning: true, // Flag to control scanning\r\n };\r\n }\r\n\r\n handleScan = (data) => {\r\n if (data) {\r\n this.setState({ result: data.text || data, scanning: false }); // Update result in state and stop scanning\r\n console.log(\"QR Code Result:\", data.text || data);\r\n }\r\n };\r\n\r\n handleError = (err) => {\r\n console.error(\"QR Code Error:\", err.message || \"Unknown error\");\r\n };\r\n\r\n resetScanner = () => {\r\n this.setState({ result: \"\", scanning: true }); // Reset the scanner\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n

    QR Code Scanner

    \r\n {this.state.scanning ? (\r\n \r\n ) : (\r\n
    \r\n

    Scanned Result: {this.state.result}

    {/* Display the result */}\r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default QRScanner;","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport QRCode from \"react-qr-code\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport { QrReader } from 'react-qr-reader';\r\nimport QRScanner from './QrReader';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass QR_Code extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n render() {\r\n const { hospitaltimeout } = this.state;\r\n return (\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n
    \r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n
    \r\n
    \r\n

    QR Code

    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {/*
    Open the built-in camera app and point the camera at the QR Code Scanner for Check-in purposes.
    */}\r\n\r\n \r\n\r\n\r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n );\r\n }\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(QR_Code);","import React, { Component } from 'react';\r\n// import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n// import { faArrowCircleUp } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport '../assets/css/mystyle.css';\r\n\r\nclass Topmove extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isVisible: false,\r\n };\r\n this.handleScroll = this.handleScroll.bind(this);\r\n this.scrollToTop = this.scrollToTop.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.addEventListener('scroll', this.handleScroll);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('scroll', this.handleScroll);\r\n }\r\n\r\n handleScroll() {\r\n const scrollY = window.scrollY;\r\n const threshold = 10; // You can adjust this value based on when you want the button to appear\r\n\r\n if (scrollY > threshold) {\r\n this.setState({ isVisible: true });\r\n } else {\r\n this.setState({ isVisible: false });\r\n }\r\n }\r\n\r\n scrollToTop() {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth',\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.state.isVisible && (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Topmove;","import React, { useState } from 'react';\r\n\r\n\r\nconst Percentage = () => {\r\n const [activeIndex, setActiveIndex] = useState(null);\r\n\r\n const content = [\r\n \"Doctors and Patients can check their schedules, and it improves the quality of service by minimal waiting time and accessing the medical records electronically.\",\r\n \"KlinicQ application can be accessed through the cloud on any type of mobile device anywhere & anytime and on desktop at on-premises.\",\r\n \"KlinicQ flawlessly integrates with existing appointments with walk-in patients to eliminate the scheduling gaps when appointments are canceled or rescheduled.\",\r\n \"KlinicQ's appointment scheduling solutions where appointments that are updated automatically so that every patient arriving late will be automatically pushed back in the queue. Medical records can be accessed from any place & any time.\"\r\n ];\r\n\r\n const handleClick = (index) => {\r\n setActiveIndex(activeIndex === index ? null : index); // Toggle the active index\r\n };\r\n\r\n const getColor = (index) => {\r\n switch (index) {\r\n case 0: return 'lightblue'; // Color for 35%\r\n case 1: return 'lightblue'; // Color for 30%\r\n case 2: return 'lightblue'; // Color for 35%\r\n default: return 'transparent';\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Why KlinicQ?

    \r\n
    \r\n \"Profile\"\r\n
    \r\n
    \r\n
    handleClick(0)}>35%
    \r\n
    handleClick(1)}>30%
    \r\n
    handleClick(2)}>35%
    \r\n
    \r\n
    \r\n {activeIndex !== null && (\r\n

    {content[activeIndex]}

    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \"Profile\"\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Percentage;","// src/components/SlidingBenefits.js\r\nimport React, { Component } from 'react';\r\nimport { FaArrowLeft, FaArrowRight } from 'react-icons/fa';\r\n\r\n\r\nconst benefitsData = [\r\n {\r\n title: \"Increase Efficiency\",\r\n description: \"KlinicQ improves the efficiency of healthcare services by streamlining administrative tasks and optimizing workflows.\",\r\n image: require(\"../../src/assets/images/website/benefits1.png\"),\r\n },\r\n {\r\n title: \"Increased Revenue\",\r\n description: \"KlinicQ helps increase your revenue by providing better patient experiences and reducing operational costs.\",\r\n image: require(\"../../src/assets/images/website/benefits2.png\"),\r\n },\r\n {\r\n title: \"Patient Satisfaction\",\r\n description: \"KlinicQ enhances patient satisfaction by ensuring seamless communication and reducing wait times.\",\r\n image: require(\"../../src/assets/images/website/benefits4.png\"),\r\n },\r\n {\r\n title: \"Reduce Exponential Expenses\",\r\n description: \"KlinicQ provides cost-effective solutions that help you minimize operational expenses.\",\r\n image: require(\"../../src/assets/images/website/benefits3.png\"),\r\n },\r\n {\r\n title: \"Reduce Wait Time\",\r\n description: \"KlinicQ reduces wait times by optimizing scheduling and improving patient flow.\",\r\n image: require(\"../../src/assets/images/website/benefits5.png\"),\r\n },\r\n {\r\n title: \"Comprehensive Solution\",\r\n description: \"KlinicQ offers a comprehensive solution to meet all your healthcare management needs.\",\r\n image: require(\"../../src/assets/images/website/benefits6.png\"),\r\n },\r\n];\r\n\r\nclass SlidingBenefits extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n currentIndex: 0,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.interval = setInterval(() => {\r\n this.nextSlide();\r\n }, 10000); // Change slide every 10 seconds\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.interval); // Cleanup on unmount\r\n }\r\n\r\n nextSlide = () => {\r\n this.setState((prevState) => ({\r\n currentIndex: (prevState.currentIndex + 1) % benefitsData.length,\r\n }));\r\n }\r\n\r\n prevSlide = () => {\r\n this.setState((prevState) => ({\r\n currentIndex: (prevState.currentIndex - 1 + benefitsData.length) % benefitsData.length,\r\n }));\r\n }\r\n\r\n render() {\r\n const { currentIndex } = this.state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Why KlinicQ?

    \r\n

    \r\n Transform Your Practice, Elevate Patient Care.\r\n
    \r\n In today's fast-paced healthcare environment, efficiency, patient satisfaction, and cost-effectiveness are paramount.
    KlinicQ is designed to address these critical needs, empowering your practice to thrive.\r\n

    \r\n
    \r\n {benefitsData.map((benefit, index) => (\r\n
    \r\n
    \r\n

    {benefit.title}

    \r\n

    {benefit.description}

    \r\n
    \r\n
    \r\n {benefit.title}\r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n \r\n
    \r\n {benefitsData.map((_, index) => (\r\n \r\n ))}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default SlidingBenefits;\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport QRCode from \"react-qr-code\";\r\n// import Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\n// import BusinessUserSideBar from \"../components/container/SideBar\";\r\n// import ClientSideBar from \"../components/container/layout/client/SideBar\";\r\n// import FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from \"../components/UI/Footerad\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from \"react-idle-timer\";\r\nimport { IdleTimeOutModal } from \"../components/container/modal/IdleModal\";\r\n\r\nimport Headerweb from \"./Headerweb\";\r\nimport FooterWeb from \"./Footerweb\";\r\nimport Topmove from \"./Topmove\";\r\nimport Percentage from \"./Percentage\";\r\nimport Slideklinicq from \"./Slideklinicq\";\r\n// import ProfileImage3 from './assets/images/profile3.png';\r\n// import myProfilePic from '../../../assets/images/profile3.png';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nclass About extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef();\r\n const hospitaltimeout = this.state;\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n showMore: false,\r\n description:\r\n \"Are you facing the daily frustrations that come with managing a busy clinic? If any of these resonate, you're in the right place:\",\r\n };\r\n this.idleTimer = null;\r\n this.onAction = this._onAction.bind(this);\r\n this.onActive = this._onActive.bind(this);\r\n this.onIdle = this._onIdle.bind(this);\r\n this.handleClose = this.handleClose.bind(this);\r\n this.handleLogout = this.handleLogout.bind(this);\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false });\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false });\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n };\r\n\r\n _onAction(e) {\r\n console.log(\"user did something\", e);\r\n\r\n this.setState({ isTimedOut: false });\r\n }\r\n\r\n _onActive(e) {\r\n console.log(\"user is active\", e);\r\n this.setState({ isTimedOut: false });\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log(\"user is idle\", e);\r\n let isTimedOut = this.state.isTimedOut;\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true });\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true });\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n };\r\n\r\n handleMouseEnter = (description) => {\r\n this.setState({ description });\r\n };\r\n\r\n handleMouseLeave = () => {\r\n this.setState({\r\n description:\r\n \"Are you facing the daily frustrations that come with managing a busy clinic? If any of these resonate, you're in the right place:\",\r\n });\r\n };\r\n\r\n handleReadMore = () => {\r\n this.setState((prevState) => ({ showMore: !prevState.showMore }));\r\n };\r\n\r\n render() {\r\n const { hospitaltimeout } = this.state;\r\n const { showMore } = this.state;\r\n return (\r\n
    \r\n
    \r\n {/*
    */}\r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    */}\r\n {/*
    */}\r\n
    \r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    \r\n Nucleo Software Solutions:
    \r\n Empowering Healthcare Through
    Innovative Technology\r\n

    \r\n
    \r\n
    \r\n

    \r\n In the rapidly evolving landscape of life sciences and healthcare,\r\n Nucleo Software Solutions stands as your trusted partner, delivering\r\n unparalleled business consulting and Information Technology services.\r\n

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

    Our Vision

    \r\n
    \r\n \r\n
    \r\n
    Mission
    \r\n

    Nucleo Software Solutions development methodology advocates a result-driven collaborative approach and ensures the best customer service in terms of quality, on-time delivery, and cost.\r\n Nucleo Software Solutions continuously improves methodology to meet customer expectations by providing high-quality results and an enhanced delivery approach to improve responsiveness, market challenges, and competition for the business

    \r\n
    Vision
    \r\n

    Our goal is to add business value to customers in Information Technology

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

    25

    \r\n

    Years of Experience

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

    Vision

    \r\n

    Our goal is to add business value to customers in information
    Technology

    \r\n
    \r\n \r\n

    Mission

    \r\n

    To build customer value by delevering software products and
    solution is innovation and cost-effective ways with the highest
    standards in security ,delivery and customer service for the
    health industry.

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

    \r\n Vision\r\n

    \r\n

    \r\n Our goal is to add business value to customers in\r\n information
    Technology{\" \"}\r\n

    \r\n
    \r\n \r\n

    \r\n Mission\r\n

    \r\n

    \r\n To build customer value by delevering software\r\n products and
    solution is innovation and\r\n cost-effective ways with the highest
    {\" \"}\r\n standards in security ,delivery and customer\r\n service for the
    health industry.{\" \"}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \"Increase\r\n
    \r\n Vision\r\n
    \r\n Vision
    \r\n Our goal is to add business value to customers in information Technology.\r\n
    \r\n
    \r\n
    \r\n Mission\r\n
    \r\n Mission
    \r\n To build customer value by delivering software products and solutions in innovative and cost-effective ways.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n */}\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n

    Company Profile

    \r\n
    \r\n \"Profile\"\r\n
    \r\n

    Nucleo Software Solutions is an IT firm providing business consulting and Information Technology services. It consistently delivers the best value in empowered business solutions in the life sciences and healthcare industries.

    \r\n

    Nucleo Software Solutions is a pioneer in translating advanced technologies and sophisticated theories into workable solutions and creating business value to benefit its valuable customers.

    \r\n

    It provides cost-effective solutions to healthcare industries in implementing business solutions that meet diverse client needs in this modern age of converging technologies. The business community desires to harness the power of technology for the benefit of business and people.

    \r\n
    \r\n
    \r\n \"Profile\"\r\n
    \r\n
    \r\n
    */}\r\n\r\n {/*
    \r\n
    \r\n
    \r\n

    Why KlinicQ?

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Doctors and Patients can check their schedules, and it improves the quality of service by minimal waiting time and accessing the medical records electronically.

    \r\n
    \r\n \"Doctors\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    KlinicQ application can be accessed through the cloud on any type of mobile device anywhere & anytime and on desktop at on-premises.

    \r\n
    \r\n \"KlinicQ \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \"KlinicQ\r\n
    \r\n

    KlinicQ flawlessly integrates with existing appointments with walk-in patients to eliminate the scheduling gaps when appointments are canceled or rescheduled.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"KlinicQ \r\n
    \r\n

    KlinicQ's appointment scheduling solutions where appointments that are updated automatically so that every patient arriving late will be automatically pushed back in the queue. Medical records can be accessed from any place & any time.

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

    Are you Tired of Clinic Chaos? Discover the Solution You've Been Waiting For!

    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n {/* Left Circle Layout */}\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n this.handleMouseEnter(\"Are you tired of manually searching for patient records, wasting valuable time that could be spent on patient care?\")}\r\n onMouseLeave={this.handleMouseLeave}\r\n >\r\n

    Drowning in Paperwork?

    \r\n
    \r\n this.handleMouseEnter(\"Are you ready to revolutionize your clinic and embrace the future of healthcare management?\")}\r\n onMouseLeave={this.handleMouseLeave}\r\n >\r\n

    Ready for Real Change?

    \r\n
    \r\n this.handleMouseEnter(\"Want to increase your revenue by streamlining operations and improving patient satisfaction, but don't know where to start?\")}\r\n onMouseLeave={this.handleMouseLeave}\r\n >\r\n

    Struggling to Grow Your Revenue?

    \r\n
    \r\n this.handleMouseEnter(\"Looking to reduce operational costs without compromising the quality of patient care you provide?\")}\r\n onMouseLeave={this.handleMouseLeave}\r\n >\r\n

    Overwhelmed by Operational Costs?

    \r\n
    \r\n this.handleMouseEnter(\"Struggling with limited clinic space and overcrowded waiting rooms, impacting patient comfort and workflow?\")}\r\n onMouseLeave={this.handleMouseLeave}\r\n >\r\n

    Battling Space Constraints?

    \r\n
    \r\n this.handleMouseEnter(\"Want to maximize your staff's productivity and reduce burnout, creating a more positive and efficient work environment?\")}\r\n onMouseLeave={this.handleMouseLeave}\r\n >\r\n

    Concerned About Staff Burnout?

    \r\n
    \r\n
    \r\n\r\n {/* Right Content Area */}\r\n
    \r\n

    {this.state.description}

    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n

    \r\n If you answered \"YES\" to any of these questions, you've found the solution you've been searching for!\r\n

    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n 100% Success Rate This Year\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    \r\n KlinicQ, Your Cloud-Based Solution\r\n
    for Streamlined Clinic Management & Enhanced\r\n Patient Care\r\n

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

    \r\n KlinicQ application is a cloud-based Electronic\r\n Clinical Management
    System (e CMS) that can be\r\n accessed from anywhere and anytime\r\n

    \r\n
    \r\n \r\n

    \r\n KlinicQ application is a comprehensive solution for\r\n managing Clinic
    operations safely and without\r\n manual error usually associated with\r\n
    handwriting and paper-based records.\r\n

    \r\n
    \r\n \r\n

    \r\n It has been developed to address operational issues\r\n ,streamline the\r\n
    process,and improve efficiency with proactive\r\n engagement &
    Improved medication adherence.\r\n

    \r\n
    \r\n \r\n

    \r\n It helps organize doctor scheduels,collate patient\r\n notes,health\r\n
    history,medical records,and other critical\r\n metrics in real-time,and\r\n
    handle payment effortlessly & improved patient\r\n satisfaction.\r\n

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

    Why KlinicQ?

    \r\n
    */}\r\n {/* First Row */}\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n

    Doctors and Patients can check their schedules, and it improves the quality of service by minimal waiting time and accessing the medical records electronically.

    \r\n
    \r\n \"Doctors\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    KlinicQ application can be accessed through the cloud on any type of mobile device anywhere & anytime and on desktop at on-premises.

    \r\n
    \r\n \"KlinicQ\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/* Second Row */}\r\n {/*
    \r\n
    \r\n
    \r\n \"KlinicQ\r\n
    \r\n

    KlinicQ flawlessly integrates with existing appointments with walk-in patients to eliminate the scheduling gaps when appointments are canceled or rescheduled.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"KlinicQ\r\n
    \r\n

    KlinicQ's appointment scheduling solutions where appointments that are updated automatically so that every patient arriving late will be automatically pushed back in the queue. Medical records can be accessed from any place & any time.

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

    Experience the KlinicQ Advantage

    \r\n

    \r\n Unlock unparalleled efficiency and patient satisfaction with our comprehensive healthcare solution.\r\n

    \r\n\r\n
    \r\n\r\n
    \r\n \"Boost\r\n

    Boost Efficiency

    \r\n
    \r\n

    Say goodbye to time-consuming administrative tasks.

    \r\n

    KlinicQ streamlines workflows, freeing up healthcare providers to focus on what matters most: patient care.

    \r\n
    \r\n
    \r\n
    \r\n \"Drive\r\n

    Drive Revenue

    \r\n
    \r\n

    Happy patients are loyal patients.

    \r\n

    Increase patient retention and referrals by delivering a seamless and satisfying experience.

    \r\n
    \r\n
    \r\n
    \r\n \"Patient\r\n

    Patient Satisfaction

    \r\n
    \r\n

    Save patients valuable time and enhance communication.

    \r\n

    KlinicQ ensures a convenient and stress-free healthcare journey.

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \"Minimize\r\n

    Minimize Expenses

    \r\n
    \r\n

    Reduce administrative costs and optimize resource allocation.

    \r\n

    KlinicQ helps you achieve significant savings, improving your bottom line.

    \r\n
    \r\n
    \r\n
    \r\n \"Reduce\r\n

    Reduce Wait Times

    \r\n
    \r\n

    Keep patients informed and engaged at every stage of their visit

    \r\n

    Our flawless integration minimizes wait times, transforming the patient experience

    \r\n
    \r\n
    \r\n
    \r\n \"Engagement\"\r\n

    Engagement

    \r\n
    \r\n

    Achieve flawless integration and interactions.

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

    Experience the KlinicQ Advantage

    \r\n

    \r\n Unlock unparalleled efficiency and patient satisfaction with\r\n our comprehensive healthcare solution.\r\n

    \r\n\r\n
    \r\n
    \r\n \r\n

    Boost Efficiency

    \r\n

    \r\n Streamline workflows and focus on patient care.\r\n

    \r\n
    \r\n
    \r\n \r\n

    Drive Revenue

    \r\n

    \r\n Increase retention with satisfying experiences.\r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n

    Patient Satisfaction

    \r\n

    \r\n Enhance communication for a stress-free journey.\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n

    Minimize Expenses

    \r\n

    \r\n Reduce costs and optimize resources for savings.\r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n

    Reduce Wait Times

    \r\n

    Keep patients informed and engaged.

    \r\n
    \r\n
    \r\n \r\n

    Engagement

    \r\n

    \r\n Achieve flawless integration and interactions.\r\n

    \r\n
    \r\n
    \r\n
    */}\r\n\r\n\r\n\r\n
    \r\n
    \r\n {/* Left Column: Content */}\r\n
    \r\n

    Book Your Personalized Demo

    \r\n

    \r\n Now explore how our advanced tools can revolutionize\r\n Nucleo healthcare operations. Schedule a demo with our\r\n team and unlock the full potential of innovation in\r\n healthcare.\r\n

    \r\n \r\n Book Demo\r\n \r\n
    \r\n\r\n {/* Right Column: Image */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n
    \r\n

    About KlinicQ

    \r\n
    \r\n \r\n
    \r\n

    \tKlinicQ is our Electronic Clinical Management System (e CMS) application. It is user-friendly, convenient, comprehensive, and integrated to manage all hospital operations safely and with no manual error usually associated with handwriting & paper-based records.

    \r\n

    KlinicQ application has been developed based on the best practices around the world. KlinicQ algorithm is designed to solve a fundamental and global human problem, which is wasting time waiting in line. The convenience of saving time is one of the best aspects of modern technology. It provides a solution to the outdated practice of waiting in line.

    \r\n

    KlinicQ application helps to organize the doctor schedules, collate patient notes, health history, medical records, patient records, and other critical metrics in real-time, and handling payment is effortless. Patients can find doctors based on their specialization and book online appointments through mobile apps, phone calls, or walk-ins based on specialty and waiting time.

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

    Why KlinicQ?

    \r\n
    \r\n \"Profile\"\r\n
    \r\n

    Doctors and Patients can check their schedules, and it improves the quality of service by minimal waiting time and accessing the medical records electronically.

    \r\n

    KlinicQ application can be accessed through the cloud on any type of mobile device anywhere & anytime and on desktop at on-premises.

    \r\n

    KlinicQ flawlessly integrates with existing appointments with walk-in patients to eliminate the scheduling gaps when appointments are canceled or rescheduled.

    \r\n

    KlinicQ's appointment scheduling solutions where appointments that are updated automatically so that every patient arriving late will be automatically pushed back in the queue. Medical records can be accessed from any place & any time.

    \r\n
    \r\n
    \r\n \"Profile\"\r\n
    \r\n
    \r\n
    */}\r\n\r\n {/*
    \r\n
    */}\r\n {/*
    */}\r\n {/*
    \r\n

    Why KlinicQ?

    \r\n
    \r\n \"Profile\"\r\n
    \r\n
    */}\r\n {/* First Row */}\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n

    Doctors and Patients can check their schedules, and it improves the quality of service by minimal waiting time and accessing the medical records electronically.

    \r\n
    \r\n
    \r\n

    Doctors and Patients can check their schedules, and it improves the quality of service by minimal waiting time and accessing the medical records electronically.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    KlinicQ application can be accessed through the cloud on any type of mobile device anywhere & anytime and on desktop at on-premises.

    \r\n
    \r\n
    \r\n

    KlinicQ application can be accessed through the cloud on any type of mobile device anywhere & anytime and on desktop at on-premises.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/* Second Row */}\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n

    KlinicQ flawlessly integrates with existing appointments with walk-in patients to eliminate the scheduling gaps when appointments are canceled or rescheduled.

    \r\n
    \r\n
    \r\n

    KlinicQ flawlessly integrates with existing appointments with walk-in patients to eliminate the scheduling gaps when appointments are canceled or rescheduled.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    KlinicQ's appointment scheduling solutions where appointments that are updated automatically so that every patient arriving late will be automatically pushed back in the queue. Medical records can be accessed from any place & any time.

    \r\n
    \r\n
    \r\n

    KlinicQ's appointment scheduling solutions where appointments that are updated automatically so that every patient arriving late will be automatically pushed back in the queue. Medical records can be accessed from any place & any time.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Profile\"\r\n
    \r\n
    \r\n
    */}\r\n\r\n {/*
    \r\n

    Product Road Map

    \r\n
    \r\n \"Timeline\"\r\n

    2022

    \r\n
    \r\n

    KlinicQ web application for Clinical management system is developed

    \r\n
    \r\n\r\n

    2023

    \r\n
    \r\n

    KlinicQ andorid & IOS application is developed for Physician, Hospital & Doctors

    \r\n
    \r\n\r\n

    2024

    \r\n
    \r\n

    In-pateint, Pharmacy & Laboratory application will be deployed

    \r\n
    \r\n\r\n

    2025

    \r\n
    \r\n

    e-Commerce application for Hospitals, Pharmacy & Laboratory

    \r\n
    \r\n\r\n

    2026

    \r\n
    \r\n

    One in All solution for healthcare services

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

    QR Code

    \r\n
    */}\r\n\r\n {/*
    */}\r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    Open the built-in camera app and point the camera at the QR Code Scanner for Check-in purposes.
    \r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n componentDidMount = () => {\r\n /* console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { }); */\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(About);\r\n","import React, { Component } from 'react';\r\nimport OwlCarousel from 'react-owl-carousel';\r\nimport 'owl.carousel/dist/assets/owl.carousel.css';\r\nimport 'owl.carousel/dist/assets/owl.theme.default.css';\r\nimport Profile from '../assets/images/website/profile.png';\r\n\r\nclass SimpleSlider extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.owlOptions = {\r\n items: 3, // Default to 3 items\r\n autoplay: true,\r\n autoplayTimeout: 3000,\r\n loop: true,\r\n margin: 20,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 600: {\r\n items: 2, \r\n },\r\n 800: {\r\n items: 3, \r\n },\r\n 1000: {\r\n items: 3, \r\n },\r\n },\r\n };\r\n }\r\n \r\n\r\n render() {\r\n const { hospitals } = this.props; // Expecting an array of hospitals\r\n\r\n return (\r\n
    \r\n {/*
    */}\r\n
    \r\n \r\n {hospitals.map((hospital, index) => (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n {hospital.name}\r\n
    \r\n

    Wait Time: {hospital.waitTime} Minutes

    \r\n
    \r\n
    \r\n

    {hospital.address}

    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default SimpleSlider;","// import React, { Component } from 'react';\r\n// import OwlCarousel from 'react-owl-carousel';\r\n// import 'owl.carousel/dist/assets/owl.carousel.css';\r\n// import 'owl.carousel/dist/assets/owl.theme.default.css';\r\n\r\n// // import '../assets/css/main.css';\r\n\r\n// // image path \r\n// import issue1 from '../assets/images/website/issue1.png';\r\n// import issue2 from '../assets/images/website/issue2.png';\r\n// import issue3 from '../assets/images/website/issue3.png';\r\n// import issue4 from '../assets/images/website/issue4.png';\r\n// import issue5 from '../assets/images/website/issue5.png';\r\n// import issue6 from '../assets/images/website/issue6.png';\r\n// import issue7 from '../assets/images/website/issue7.png';\r\n// import issue8 from '../assets/images/website/issue8.png';\r\n\r\n// class LogoSlider extends Component {\r\n// constructor(props) {\r\n// super(props);\r\n// this.logos = [\r\n// { 'image': issue1, 'name': 'Urinary Issues' },\r\n// { 'image': issue2, 'name': 'Kidney Issues' },\r\n// { 'image': issue3, 'name': 'Brain and Nerves' },\r\n// { 'image': issue4, 'name': 'Heart' },\r\n// { 'image': issue5, 'name': 'Dental Care' },\r\n// { 'image': issue6, 'name': 'Ear Nose Throat' },\r\n// { 'image': issue7, 'name': 'Digestive' },\r\n// { 'image': issue8, 'name': 'Cancer' },\r\n// ];\r\n\r\n// this.owlOptions = {\r\n// items: 6,\r\n// autoplay: true,\r\n// autoplayTimeout: 1000,\r\n// loop: true,\r\n// margin: 10,\r\n// responsive: {\r\n// 0: {\r\n// items: 1,\r\n// },\r\n// 600: {\r\n// items: 3,\r\n// },\r\n// 1000: {\r\n// items: 6,\r\n// },\r\n// },\r\n// };\r\n// }\r\n\r\n// render() {\r\n// return (\r\n//
    \r\n// \r\n// {this.logos.map((logo, index) => (\r\n//
    \r\n//
    \r\n// {logo.name}\r\n//
    \r\n//

    {logo.name}

    \r\n//
    \r\n// ))}\r\n//
    \r\n//
    \r\n// );\r\n// }\r\n// }\r\n\r\n// export default LogoSlider;\r\n\r\nimport React, { Component } from 'react';\r\nimport OwlCarousel from 'react-owl-carousel';\r\nimport 'owl.carousel/dist/assets/owl.carousel.css';\r\nimport 'owl.carousel/dist/assets/owl.theme.default.css';\r\nimport axios from 'axios'; // Make sure to import axios\r\nimport { CONFIG } from \"../config/data\";\r\nimport { getDateISOFormat, getPatientsubstring } from \"../constants/globalLevelFunctions\";\r\nimport { getDocByBusinesswithspeciality, getdoctordetails, getpaymenttypeforbusiness} from \"../config/url.json\"; // Adjust the import based on your project structure\r\n\r\n// image path \r\nimport issue1 from '../assets/images/website/issue1.png';\r\nimport issue2 from '../assets/images/website/issue2.png';\r\nimport issue3 from '../assets/images/website/issue3.png';\r\nimport issue4 from '../assets/images/website/issue4.png';\r\nimport issue5 from '../assets/images/website/issue5.png';\r\nimport issue6 from '../assets/images/website/issue6.png';\r\nimport issue7 from '../assets/images/website/issue7.png';\r\nimport issue8 from '../assets/images/website/issue8.png';\r\n\r\nclass LogoSlider extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n searchData: {\r\n speciality: props.searchData ? props.searchData.speciality : \"\",\r\n },\r\n loading: false,\r\n doctor_list: [],\r\n queuein_data: {},\r\n doctor_appointment_detail_list: [],\r\n selected_doc: null,\r\n selected_doctor_appointment_detail_list: [],\r\n selected_doc_schedule_type: null,\r\n doctor_details: null,\r\n openModal: false,\r\n paymenttypeforhospital: null,\r\n };\r\n\r\n this.logos = [\r\n { 'image': issue1, 'name': 'Urinary Issues' },\r\n { 'image': issue2, 'name': 'Kidney Issues' },\r\n { 'image': issue3, 'name': 'Brain and Nerves' },\r\n { 'image': issue4, 'name': 'Heart' },\r\n { 'image': issue5, 'name': 'Dental Care' },\r\n { 'image': issue6, 'name': 'Ear Nose Throat' },\r\n { 'image': issue7, 'name': 'Digestive' },\r\n { 'image': issue8, 'name': 'Cancer' },\r\n ];\r\n\r\n this.owlOptions = {\r\n items: 6,\r\n autoplay: true,\r\n autoplayTimeout: 1000,\r\n autoplayHoverPause: true,\r\n loop: true,\r\n margin: 10,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 600: {\r\n items: 3,\r\n },\r\n 1000: {\r\n items: 6,\r\n },\r\n },\r\n };\r\n }\r\n\r\n handleSpecialitySelectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = selectedOptions;\r\n data.latitude = this.state.latitude;\r\n data.longitude = this.state.longitude;\r\n this.setState({ searchData: data });\r\n };\r\n\r\n showFamilyDetail = (value, el) => {\r\n this.setState({ loading: true });\r\n const specialityValue = this.state.searchData.speciality.value;\r\n\r\n const data = {\r\n n_business_id: value.user_id,\r\n n_currentdate: getDateISOFormat(new Date()),\r\n speciality: specialityValue,\r\n };\r\n\r\n console.log(data);\r\n if (value.user_id !== \"\") {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n axios.post(getDocByBusinesswithspeciality, data, CONFIG)\r\n .then((result) => {\r\n let resData = result.data.data;\r\n console.log(result);\r\n console.log(resData);\r\n let queuein_data = {\r\n n_business_id: value.user_id,\r\n business_name: value.business_name,\r\n address: value.address1 + \" \" + value.city,\r\n expected_wait_time: value.expected_wait_time,\r\n };\r\n\r\n let doctor_appointment_detail_list = [];\r\n let docList = [];\r\n\r\n if (resData) {\r\n resData.forEach((element) => {\r\n let doctor_obj = {\r\n doc_name: element.doctor_name,\r\n business_user_id: element.business_user_id,\r\n schedule_day_id: element.schedule_day_id,\r\n schedule_id: element.schedule_id,\r\n schedule_type: element.schedule_type,\r\n appt_id: element.appt_id,\r\n doctor_Appointments: element.doctor_Appointments,\r\n };\r\n\r\n doctor_appointment_detail_list.push(doctor_obj);\r\n docList.push({\r\n value: element.business_user_id,\r\n speciality_name: element.speciality_name,\r\n label: element.doctor_name,\r\n });\r\n });\r\n }\r\n\r\n console.log(docList);\r\n\r\n this.setState({\r\n doctor_list: docList,\r\n queuein_data: queuein_data,\r\n doctor_appointment_detail_list: doctor_appointment_detail_list,\r\n });\r\n\r\n // By default select on doctor\r\n let selected_doc = docList[0];\r\n let selected_appointment = [];\r\n let selected_doc_schedule_type = this.state.selected_doc_schedule_type;\r\n\r\n // Based on default doctor selection select corresponding appointment details\r\n doctor_appointment_detail_list.forEach((element) => {\r\n if (element.business_user_id === docList[0].value) {\r\n selected_appointment = element.doctor_Appointments;\r\n selected_doc_schedule_type = element.schedule_type;\r\n }\r\n });\r\n\r\n this.setState({\r\n selected_doc: selected_doc,\r\n selected_doctor_appointment_detail_list: selected_appointment,\r\n selected_doc_schedule_type: selected_doc_schedule_type,\r\n });\r\n\r\n // Fetch doctor details\r\n axios.post(getdoctordetails, { business_id: this.state.queuein_data.n_business_id, business_user_id: docList[0].value }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n if (response.status !== \"0\") {\r\n this.setState({ doctor_details: response.data });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n\r\n // Fetch payment type for the hospital\r\n axios.post(getpaymenttypeforbusiness, { user_id: value.user_id }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n if (data.status === \"1\") {\r\n this.setState({\r\n paymenttypeforhospital: data.data[0].payment_type,\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n\r\n this.setState({ openModal: true, loading: false });\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n handleLogoClick = (logo) => {\r\n // Assuming each logo corresponds to a specific business or service\r\n // You can replace this with the actual logic to get the business details\r\n const selectedBusiness = {\r\n user_id: logo.value, // Replace with actual user_id if available\r\n business_name: logo.name, // Replace with actual business name if available\r\n address1: \"123 Main St\", // Replace with actual address if available\r\n city: \"Sample City\", // Replace with actual city if available\r\n expected_wait_time: \"15 mins\", // Replace with actual wait time if available\r\n };\r\n\r\n this.showFamilyDetail(selectedBusiness);\r\n };\r\n\r\n render() {\r\n // Extract specialities from props\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n let specialities = [];\r\n specialities_array.forEach((element) => {\r\n specialities.push({ value: element.id, label: element.name });\r\n });\r\n specialities_array = specialities;\r\n\r\n return (\r\n
    \r\n {/* Display specialities as a list */}\r\n
    \r\n
      \r\n {specialities_array.map((speciality) => (\r\n
    • {speciality.label}
    • \r\n ))}\r\n
    \r\n
    \r\n\r\n \r\n {this.logos.map((logo, index) => (\r\n
    this.handleLogoClick(logo)}>\r\n
    \r\n {logo.name}\r\n
    \r\n

    {logo.name}

    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default LogoSlider;","import React, { Component } from 'react';\r\n\r\nclass Whatsapp extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.whatsappNumber = '1234567890'; // Replace with the desired number\r\n }\r\n\r\n handleRedirect = () => {\r\n const whatsappURL = `https://wa.me/${this.whatsappNumber}`;\r\n window.open(whatsappURL, '_blank'); // Open in a new tab\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\nconst styles = {\r\n container: {\r\n position: 'fixed',\r\n left: '30px',\r\n bottom: '0px',\r\n transform: 'translateY(-50%)',\r\n zIndex: 1000,\r\n },\r\n whatsappButton: {\r\n padding: '15px',\r\n borderRadius: '50%',\r\n backgroundColor: '#25D366',\r\n border: 'none',\r\n cursor: 'pointer',\r\n boxShadow: '0 0 5px rgba(0, 0, 0, 0.2)',\r\n },\r\n logo: {\r\n width: '40px', // Adjust size as needed\r\n height: '40px', // Adjust size as needed\r\n color: 'white',\r\n },\r\n};\r\n\r\nexport default Whatsapp;\r\n","// import React, { Component } from 'react';\r\n// import OwlCarousel from 'react-owl-carousel';\r\n// import 'owl.carousel/dist/assets/owl.carousel.css';\r\n// import 'owl.carousel/dist/assets/owl.theme.default.css';\r\n\r\n\r\n// class Webadslider extends Component {\r\n// constructor(props) {\r\n// super(props);\r\n \r\n// this.adImages = [\r\n// require('../assets/images/website/Frame 6.png'),\r\n// require('../assets/images/website/Frame 7.png'),\r\n// require('../assets/images/website/Frame 8.png'),\r\n// ];\r\n\r\n// this.owlOptions = {\r\n// items: 3, \r\n// autoplay: true,\r\n// autoplayTimeout: 5000,\r\n// loop: true,\r\n// margin: 20,\r\n// responsive: {\r\n// 0: {\r\n// items: 1,\r\n// },\r\n// 600: {\r\n// items: 2,\r\n// },\r\n// 1000: {\r\n// items: 3,\r\n// },\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// {this.adImages.map((image, index) => (\r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n// {`Advertisement\r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n// ))}\r\n//
    \r\n//
    \r\n//
    \r\n// );\r\n// }\r\n// }\r\n\r\n// export default Webadslider;\r\n\r\nimport React, { Component } from 'react';\r\n\r\n\r\n// Image paths\r\nimport issue1 from '../assets/images/website/219.png';\r\nimport issue2 from '../assets/images/website/242.jpg';\r\nimport issue3 from '../assets/images/website/219.png';\r\nimport issue4 from '../assets/images/website/243.jpg';\r\n// import issue5 from '../assets/images/banner5.jpg';\r\n\r\nclass LogoSlider extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n currentIndex: 0\r\n };\r\n\r\n this.logos = [\r\n issue1,\r\n issue2,\r\n issue3,\r\n issue4\r\n // issue5\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n this.interval = setInterval(this.nextSlide, 5000); // Change image every 5 seconds\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.interval);\r\n }\r\n\r\n nextSlide = () => {\r\n this.setState({\r\n currentIndex: (this.state.currentIndex + 1) % this.logos.length\r\n });\r\n };\r\n\r\n render() {\r\n const { currentIndex } = this.state;\r\n const currentImage = this.logos[currentIndex];\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n {`Slide\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default LogoSlider;\r\n\r\n\r\n\r\n\r\n\r\n\r\n// import React, { Component } from 'react';\r\n// import OwlCarousel from 'react-owl-carousel';\r\n// import 'owl.carousel/dist/assets/owl.carousel.css';\r\n// import 'owl.carousel/dist/assets/owl.theme.default.css';\r\n\r\n\r\n// class Webadslider extends Component {\r\n// constructor(props) {\r\n// super(props);\r\n// this.adImages = [\r\n// {\r\n// src: require('../assets/images/ad1.png'),\r\n// country: 'India',\r\n// },\r\n// {\r\n// src: require('../assets/images/logo.png'),\r\n// country: 'USA',\r\n// },\r\n// {\r\n// src: require('../assets/images/ad1.png'),\r\n// country: 'India',\r\n// },\r\n// {\r\n// src: require('../assets/images/logo.png'),\r\n// country: 'USA',\r\n// },\r\n// {\r\n// src: require('../assets/images/ad1.png'),\r\n// country: 'India',\r\n// },\r\n \r\n// ];\r\n\r\n// this.owlOptions = {\r\n// items: 5, // Show 5 items at a time\r\n// autoplay: true,\r\n// autoplayTimeout: 5000,\r\n// loop: true,\r\n// margin: 20,\r\n// responsive: {\r\n// 0: {\r\n// items: 1,\r\n// },\r\n// 600: {\r\n// items: 2,\r\n// },\r\n// 1000: {\r\n// items: 5, // Show 5 items on larger screens\r\n// },\r\n// },\r\n// };\r\n// }\r\n\r\n// render() {\r\n// return (\r\n//
    \r\n//
    \r\n// \r\n// {this.adImages.map((ad, index) => (\r\n//
    \r\n//
    \r\n// {`Advertisement\r\n//
    \r\n//

    {ad.country}

    \r\n//
    \r\n//
    \r\n//
    \r\n// ))}\r\n//
    \r\n//
    \r\n//
    \r\n// );\r\n// }\r\n// }\r\n\r\n// export default Webadslider;","import React, { Component } from 'react';\r\n\r\nclass Webblog extends Component {\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Our Blog
    \r\n

    Health Insight and Updates

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Left Arrow\r\n
    \r\n
    \r\n
    \r\n
    \r\n Right Arrow\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    What to do if you think your
    child has the flu?

    \r\n
    \r\n
    \r\n

    The patient portal is designed to manage primary & family members under the same account with a unique ID for each member.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    WHO Investment Round
    Culminating moment at G20
    Summit as leader Pledge

    \r\n
    \r\n
    \r\n

    A doctor portal is designed based on the physician's specialty and can work for any specialization.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Exclusive breastfeeding
    celebrating successes and
    accelerating progress by 2030

    \r\n
    \r\n
    \r\n

    A hospital portal is designed to manage multi-specialty and different consultation modes.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Webblog;","// import React, { useState } from 'react';\r\n\r\n\r\n// const ImageCarousel = () => {\r\n// const [currentIndex, setCurrentIndex] = useState(0);\r\n// const images = [\r\n// {\r\n// src: require(\"../../src/assets/images/website/doctor2.png\"),\r\n// title: \"Benefits of Patient\",\r\n// description: \"The patient portal is designed to manage primary & family members under the same account with a unique ID for each member.\"\r\n// },\r\n// {\r\n// src: require(\"../../src/assets/images/website/doctor5.png\"),\r\n// title: \"Benefits of Physician\",\r\n// description: \"A doctor portal is designed based on the physician's specialty and can work for any specialization.\"\r\n// },\r\n// {\r\n// src: require(\"../../src/assets/images/website/doctor4.png\"),\r\n// title: \"Benefits of Hospital\",\r\n// description: \"A hospital portal is designed to manage multi-specialty and different consultation modes.\"\r\n// },\r\n// {\r\n// src: require(\"../../src/assets/images/website/doctor6.png\"),\r\n// title: \"Benefits of Pharmacy\",\r\n// description: \"Pharmacy portals simplify medication management, allowing easy prescription refills and secure communication with pharmacists.\"\r\n// }, \r\n// {\r\n// src: require(\"../../src/assets/images/website/doctor3.png\"),\r\n// title: \"Benefits of Health\",\r\n// description: \"Health portals provide a comprehensive view of patient health records.\"\r\n// },\r\n// {\r\n// src: require(\"../../src/assets/images/website/doctor6.png\"),\r\n// title: \"Benefits of Wellness\",\r\n// description: \"Wellness portals help in tracking health and wellness activities.\"\r\n// },\r\n \r\n// ];\r\n\r\n// const imagesPerPage = 3; \r\n\r\n// const nextImages = () => {\r\n// setCurrentIndex((prevIndex) => (prevIndex + imagesPerPage) % images.length);\r\n// };\r\n\r\n// const prevImages = () => {\r\n// setCurrentIndex((prevIndex) => (prevIndex - imagesPerPage + images.length) % images.length);\r\n// };\r\n\r\n// return (\r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n// {images.slice(currentIndex, currentIndex + imagesPerPage).map((image, index) => (\r\n//
    \r\n//
    \r\n//
    \r\n// {image.title}\r\n//
    \r\n//
    \r\n//

    {image.title}

    \r\n//
    \r\n//
    \r\n//

    {image.description}

    \r\n//
    \r\n//
    \r\n//
    \r\n// Arrow\r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n// ))}\r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n// Left Arrow\r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n// Right Arrow\r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n// );\r\n// };\r\n\r\n// export default ImageCarousel;\r\n\r\n// import React from 'react';\r\n\r\n// const ImageCarousel = () => {\r\n// const images = [\r\n// {\r\n// src: require(\"../../src/assets/images/website/doctor2.png\"),\r\n// title: \"Benefits of Patient\",\r\n// description: \"The patient portal is designed to manage primary & family members under the same account with a unique ID for each member.\",\r\n// link: \"https://example.com/patient-benefits\" // Add the link for the page\r\n// },\r\n// {\r\n// src: require(\"../../src/assets/images/website/doctor5.png\"),\r\n// title: \"Benefits of Doctor\",\r\n// description: \"A doctor portal is designed based on the physician's specialty and can work for any specialization.\",\r\n// link: \"https://example.com/physician-benefits\" // Add the link for the page\r\n// },\r\n// {\r\n// src: require(\"../../src/assets/images/website/doctor4.png\"),\r\n// title: \"Benefits of Hospital\",\r\n// description: \"A hospital portal is designed to manage multi-specialty and different consultation modes.\",\r\n// link: \"https://example.com/hospital-benefits\" // Add the link for the page\r\n// },\r\n// {\r\n// src: require(\"../../src/assets/images/website/doctor6.png\"),\r\n// title: \"Benefits of Pharmacy\",\r\n// description: \"Pharmacy portals simplify medication management, allowing easy prescription refills and secure communication with pharmacists.\",\r\n// link: \"https://example.com/pharmacy-benefits\" // Add the link for the page\r\n// },\r\n// {\r\n// src: require(\"../../src/assets/images/website/doctor3.png\"),\r\n// title: \"Benefits of Health\",\r\n// description: \"Health portals provide a comprehensive view of patient health records.\",\r\n// link: \"https://example.com/health-benefits\" // Add the link for the page\r\n// },\r\n// {\r\n// src: require(\"../../src/assets/images/website/doctor6.png\"),\r\n// title: \"Benefits of Wellness\",\r\n// description: \"Wellness portals help in tracking health and wellness activities.\",\r\n// link: \"https://example.com/wellness-benefits\" // Add the link for the page\r\n// },\r\n// ];\r\n\r\n// return (\r\n//
    \r\n//
    \r\n//

    Benefits

    \r\n//

    \r\n// Discover the wide-ranging benefits of using our platform. From patients to doctors, hospitals, and pharmacies, everyone stands to gain from improved efficiency, better communication, and enhanced healthcare management.\r\n//

    {/* Add a description under the header */}\r\n//
    \r\n// {images.map((image, index) => (\r\n//
    \r\n//
    \r\n//
    \r\n// {image.title}\r\n//
    \r\n//

    {image.title}

    \r\n//
    \r\n//
    \r\n//
    \r\n//

    {image.title}

    \r\n//

    {image.description}

    \r\n// \r\n// Learn More →\r\n// \r\n//
    \r\n//
    \r\n//
    \r\n// ))}\r\n//
    \r\n//
    \r\n//
    \r\n// );\r\n// };\r\n\r\n// export default ImageCarousel;\r\n\r\nimport React from 'react';\r\n\r\nconst ImageCarousel = () => {\r\n const images = [\r\n {\r\n src: require(\"../../src/assets/images/website/doctor2.png\"),\r\n title: \"Benefits of Patient\",\r\n description: \"The patient portal is designed to manage primary & family members under the same account with a unique ID for each member.\",\r\n link: \"https://example.com/patient-benefits\"\r\n },\r\n {\r\n src: require(\"../../src/assets/images/website/doctor5.png\"),\r\n title: \"Benefits of Doctor\",\r\n description: \"A doctor portal is designed based on the physician's specialty and can work for any specialization.\",\r\n link: \"https://example.com/physician-benefits\" \r\n },\r\n {\r\n src: require(\"../../src/assets/images/website/doctor4.png\"),\r\n title: \"Benefits of Hospital\",\r\n description: \"A hospital portal is designed to manage multi-specialty and different consultation modes.\",\r\n link: \"https://example.com/hospital-benefits\" \r\n },\r\n {\r\n src: require(\"../../src/assets/images/website/229.jpg\"),\r\n title: \"Benefits of Pharmacy\",\r\n description: \"Pharmacy portals simplify medication management, allowing easy prescription refills and secure communication with pharmacists.\",\r\n link: \"https://example.com/pharmacy-benefits\" \r\n },\r\n {\r\n src: require(\"../../src/assets/images/website/doctor3.png\"),\r\n title: \"Benefits of Health\",\r\n description: \"Health portals provide a comprehensive view of patient health records.\",\r\n link: \"https://example.com/health-benefits\" \r\n },\r\n {\r\n src: require(\"../../src/assets/images/website/doctor6.png\"),\r\n title: \"Benefits of Wellness\",\r\n description: \"Wellness portals help in tracking health and wellness activities.\",\r\n link: \"https://example.com/wellness-benefits\"\r\n },\r\n ];\r\n\r\n return (\r\n
    \r\n
    \r\n

    Benefits

    \r\n

    \r\n Discover the wide-ranging benefits of using our platform. From patients to doctors, hospitals, and pharmacies, everyone stands to gain from improved efficiency, better communication, and enhanced healthcare management.\r\n

    \r\n
    \r\n {images.map((image, index) => (\r\n
    \r\n
    \r\n
    \r\n {image.title}\r\n
    \r\n

    {image.title}

    \r\n

    {image.description}

    \r\n \r\n Learn More →\r\n \r\n
    \r\n
    \r\n
    {image.title}
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ImageCarousel;\r\n\r\n// import React, { useState } from 'react';\r\n\r\n// const ImageCarousel = () => {\r\n// const benefits = [\r\n// {\r\n// id: 1,\r\n// title: \"Benefits of Patient\",\r\n// description: \"The patient portal is designed to manage primary & family members under the same account with a unique ID for each member.\",\r\n// src: require(\"../../src/assets/images/website/doctor2.png\"),\r\n// link: \"https://example.com/patient-benefits\"\r\n// },\r\n// {\r\n// id: 2,\r\n// title: \"Benefits of Doctor\",\r\n// description: \"A doctor portal is designed based on the physician's specialty and can work for any specialization.\",\r\n// src: require(\"../../src/assets/images/website/doctor5.png\"),\r\n// link: \"https://example.com/physician-benefits\"\r\n// },\r\n// {\r\n// id: 3,\r\n// title: \"Benefits of Hospital\",\r\n// description: \"A hospital portal is designed to manage multi-specialty and different consultation modes.\",\r\n// src: require(\"../../src/assets/images/website/doctor4.png\"),\r\n// link: \"https://example.com/hospital-benefits\"\r\n// },\r\n// {\r\n// id: 4,\r\n// title: \"Benefits of Pharmacy\",\r\n// description: \"Pharmacy portals simplify medication management, allowing easy prescription refills and secure communication with pharmacists.\",\r\n// src: require(\"../../src/assets/images/website/doctor6.png\"),\r\n// link: \"https://example.com/pharmacy-benefits\"\r\n// },\r\n// {\r\n// id: 5,\r\n// title: \"Benefits of Nurses\",\r\n// description: \"Nurse portals help manage patient care efficiently and support seamless communication among healthcare teams.\",\r\n// src: require(\"../../src/assets/images/website/doctor3.png\"),\r\n// link: \"https://example.com/nurse-benefits\"\r\n// },\r\n// {\r\n// id: 6,\r\n// title: \"Benefits of Administration\",\r\n// description: \"Administration portals streamline administrative tasks, reduce paperwork, and improve overall hospital management.\",\r\n// src: require(\"../../src/assets/images/website/doctor3.png\"),\r\n// link: \"https://example.com/administration-benefits\"\r\n// }\r\n// ];\r\n\r\n// const [showBenefits, setShowBenefits] = useState(false);\r\n// const [hoveredBenefit, setHoveredBenefit] = useState(null);\r\n\r\n// return (\r\n//
    \r\n//
    \r\n//

    Benefits

    \r\n//

    \r\n// Discover the wide-ranging benefits of using our platform. From patients to doctors, hospitals, pharmacies, nurses, and administration, everyone stands to gain from improved efficiency, better communication, and enhanced healthcare management.\r\n//

    \r\n// {!showBenefits ? (\r\n//
    setShowBenefits(true)}>\r\n//
    Benefits of Us
    \r\n//
    Click me
    \r\n//
    \r\n// ) : (\r\n//
    \r\n// {benefits.map((benefit) => (\r\n// setHoveredBenefit(benefit.id)}\r\n// onMouseLeave={() => setHoveredBenefit(null)}\r\n// >\r\n// {hoveredBenefit !== benefit.id ? (\r\n// <>\r\n// {benefit.title}\r\n//
    {benefit.title}
    \r\n// \r\n// ) : (\r\n//
    \r\n//

    {benefit.title}

    \r\n//

    {benefit.description}

    \r\n// \r\n// Learn More →\r\n// \r\n//
    \r\n// )}\r\n//
    \r\n// ))}\r\n//
    \r\n// )}\r\n//
    \r\n//
    \r\n// );\r\n// };\r\n\r\n// export default ImageCarousel;\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\r\n\r\nconst ManagmentSlider = () => {\r\n const images = [\r\n {\r\n src: require(\"../../src/assets/images/website/patient12.jpg\"),\r\n title: \"Patient\",\r\n description: \"The patient portal is designed to manage primary & family members under the same account with a unique ID for each member.\",\r\n link: \"/patientmanagment\"\r\n },\r\n {\r\n src: require(\"../../src/assets/images/website/doctors10.jpg\"),\r\n title: \"Doctor\",\r\n description: \"A doctor portal is designed based on the physician's specialty and can work for any specialization.\",\r\n link: \"/doctormanagment\"\r\n },\r\n {\r\n src: require(\"../../src/assets/images/website/223.jpg\"),\r\n title: \"Hospital\",\r\n description: \"A hospital portal is designed to manage multi-specialty and different consultation modes.\",\r\n link: \"/hospitalmanagment\"\r\n },\r\n {\r\n src: require(\"../../src/assets/images/website/pharmacy1.jpg\"), \r\n title: \"Pharmacy\",\r\n description: \"Pharmacy portals simplify medication management, allowing easy prescription refills and secure communication with pharmacists.\",\r\n link: \"/pharmacymanagment\"\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {images.map((image, index) => (\r\n
    \r\n
    \r\n
    \r\n {image.title}\r\n

    \r\n {image.title}\r\n

    \r\n
    \r\n
    \r\n

    {image.description}

    \r\n \r\n \"Arrow\"\r\n \r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ManagmentSlider;","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Map, GoogleApiWrapper, Marker, InfoWindow } from \"google-maps-react\";\r\nimport Select from \"react-select\";\r\nimport { gender } from \"../config/data\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport { getDateISOFormat, getPatientsubstring } from \"../constants/globalLevelFunctions\";\r\nimport Validation from \"../actions/Validation\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport {\r\n getAllBusinessList,\r\n searchBusiness,\r\n getClientFamilyDetails,\r\n getDocByBusiness,\r\n getDocByBusinesswithspeciality,\r\n addCheckinURL,\r\n addQueue_modified,\r\n getTimeoutbycategory,\r\n createNotification,\r\n RazorPayPayment,\r\n getCredentials,\r\n updateclientqueuestatus,\r\n getpaymenttypeforbusiness,\r\n getdoctordetails,\r\n UpdateQueueRemove,\r\n CancelQueue,\r\n getServiceChargesbycategory\r\n} from \"../config/url.json\";\r\nimport LogoSlider from './LogoSlider';\r\nimport SimpleSlider from './Simpleslider';\r\n\r\nconst mapStyles = {\r\n width: \"100%\",\r\n height: \"115%\",\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n searchData: state.SearchReducer.searchData,\r\n userdata: state.AuthReducer.user,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n setSearchData: (data) => dispatch({ type: \"SET_SEARCH_DATA\", payload: data })\r\n };\r\n}\r\n\r\nclass HospitalSearch extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef();\r\n this.state = {\r\n timeout: {},\r\n isTimedOut: false,\r\n hospitals: [],\r\n showModal: false,\r\n visible: false,\r\n records: [],\r\n loading: false,\r\n business_list: [],\r\n business_name: \"\",\r\n latitude: \"\",\r\n longitude: \"\",\r\n bookModel: false,\r\n searchData: {\r\n business_name: props.searchData ? props.searchData.business_name : \"\",\r\n doctor_name: props.searchData ? props.searchData.doctor_name : \"\",\r\n facility: props.searchData ? props.searchData.facility : \"\",\r\n speciality: props.searchData ? props.searchData.speciality : \"\",\r\n city: props.searchData ? props.searchData.city : \"\",\r\n gender: props.searchData ? props.searchData.gender : \"\",\r\n distance: props.searchData && props.searchData.distance !== \"\" ? props.searchData.distance : \"25\",\r\n reviews: props.searchData ? props.searchData.reviews : \"\",\r\n distance_type: props.searchData && props.searchData.distance !== \"\" ? props.searchData.distance_type : \"KM\",\r\n },\r\n searchresults: {\r\n data: [],\r\n },\r\n queuein_data: {\r\n n_client_id: \"\",\r\n n_business_id: \"\",\r\n n_business_user_id: \"\",\r\n n_schedule_day_id: \"\",\r\n n_savedtime: \"\",\r\n n_status: \"\",\r\n n_isActive: \"\",\r\n business_name: \"\",\r\n address: \"\",\r\n expected_wait_time: \"\",\r\n schedule_type: \"\",\r\n other_comments: \"\",\r\n payment_mode: \"\",\r\n },\r\n selectedPlace: { value: \"\", label: \"\" },\r\n doctor_list: [],\r\n selected_doc: { value: \"\", label: \"\" },\r\n doctor_appointment_detail_list: [],\r\n selected_doctor_appointment_detail_list: [],\r\n selected_doc_schedule_type: \"\",\r\n family_list: [],\r\n enableqin: false,\r\n listofClientForQueue: [],\r\n loggedInClient: { client_id: \"\", name: \"\", relationship: \"\" },\r\n error: \"\",\r\n openModal: false,\r\n errors: {\r\n doctor_name: \"\",\r\n other_comments: \"\",\r\n payment_type_error: \"\"\r\n },\r\n searchErrorMessage: \"\",\r\n };\r\n\r\n this.onAction = this._onAction.bind(this);\r\n this.onActive = this._onActive.bind(this);\r\n this.onIdle = this._onIdle.bind(this);\r\n this.handleClose = this.handleClose.bind(this);\r\n this.handleLogout = this.handleLogout.bind(this);\r\n }\r\n\r\n handleClose() {\r\n this.setState({ showModal: false });\r\n }\r\n\r\n handleLogout(e) {\r\n this.setState({ showModal: false });\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n }\r\n\r\n _onAction(e) {\r\n console.log('user did something', e);\r\n this.setState({ isTimedOut: false });\r\n }\r\n\r\n _onActive(e) {\r\n console.log('user is active', e);\r\n this.setState({ isTimedOut: false });\r\n }\r\n\r\n _onIdle(e) {\r\n console.log('user is idle', e);\r\n let isTimedOut = this.state.isTimedOut;\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (!isTimedOut) {\r\n this.setState({ showModal: true });\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true });\r\n }\r\n if (isTimedOut) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.searchData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n data[name] = value;\r\n if (name === \"doctor_name\" || name === \"city\") {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ searchData: data });\r\n };\r\n\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ searchData: data, errors: errors });\r\n }\r\n\r\nhandleselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = selectedOptions;\r\n if (e.name === \"business_name\" && null != selectedOptions) {\r\n console.log(selectedOptions);\r\n data.latitude = selectedOptions.latitude;\r\n data.longitude = selectedOptions.longitude;\r\n this.searchBusiness();\r\n\r\n } else {\r\n data.latitude = this.state.latitude;\r\n data.longitude = this.state.longitude;\r\n }\r\n this.setState({ searchData: data });\r\n\r\n // this.searchBusiness();\r\n };\r\n handlespecialityselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = selectedOptions;\r\n data.latitude = this.state.latitude;\r\n data.longitude = this.state.longitude;\r\n this.setState({ searchData: data });\r\n \r\n };\r\n handleDistanceChange = (e) => {\r\n let data = this.state.searchData;\r\n data.distance = e.target.value;\r\n this.setState({ searchData: data });\r\n };\r\n\r\n showFamilydetail = (value, el) => {\r\n this.setState({ loading: true });\r\n // console.log(this.state.searchData.speciality.value);\r\n if(this.state.searchData.speciality.value==undefined||this.state.searchData.speciality.value==null||this.state.searchData.speciality.value==\"\")\r\n {\r\n const data = {\r\n n_business_id: value.user_id,\r\n n_currentdate: getDateISOFormat(new Date()),\r\n \r\n };\r\n console.log(data);\r\n if (value.user_id !== \"\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getDocByBusiness, data, CONFIG)\r\n .then((result) => {\r\n\r\n let resData = result.data.data;\r\n console.log(result);\r\n console.log(resData);\r\n let queuein_data = {};\r\n\r\n queuein_data.n_business_id = value.user_id;\r\n queuein_data.business_name = value.business_name;\r\n queuein_data.address = value.address1 + \" \" + value.city;\r\n queuein_data.expected_wait_time = value.expected_wait_time;\r\n\r\n let doctor_appointment_detail_list = [];\r\n let docList = [];\r\n\r\n console.log(resData);\r\n if (resData) {\r\n resData.forEach((element, index) => {\r\n let doctor_obj = {};\r\n\r\n doctor_obj.doc_name = element.doctor_name;\r\n doctor_obj.business_user_id = element.business_user_id;\r\n doctor_obj.schedule_day_id = element.schedule_day_id;\r\n doctor_obj.schedule_id = element.schedule_id;\r\n doctor_obj.schedule_type = element.schedule_type;\r\n \r\n doctor_obj.appt_id = element.appt_id;\r\n doctor_obj.doctor_Appointments = element.doctor_Appointments;\r\n\r\n doctor_appointment_detail_list.push(doctor_obj);\r\n docList.push({\r\n value: element.business_user_id,\r\n label: element.doctor_name,\r\n speciality_name: element.speciality_name,\r\n });\r\n });\r\n }\r\n\r\n\r\n console.log(docList);\r\n\r\n this.setState({\r\n doctor_list: docList,\r\n queuein_data: queuein_data,\r\n doctor_appointment_detail_list: doctor_appointment_detail_list,\r\n });\r\n\r\n console.log(this.state.doctor_appointment_detail_list);\r\n\r\n axios\r\n .post(getdoctordetails, {business_id:this.state.queuein_data.n_business_id,business_user_id:docList[0].value}, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n // return false;\r\n if (response.status !== \"0\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ doctor_details: response.data });\r\n }\r\n\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n\r\n //By default select on doctor\r\n let selected_doc = docList[0];\r\n let selected_appointment = [];\r\n let selected_doc_schedule_type = this.setState.selected_doc_schedule_type;\r\n\r\n //Based on default doctor selection select corresponding appointment details\r\n doctor_appointment_detail_list.forEach((element, index) => {\r\n if (element.business_user_id == docList[0].value) {\r\n selected_appointment = element.doctor_Appointments;\r\n selected_doc_schedule_type = element.schedule_type;\r\n }\r\n });\r\n\r\n this.setState({\r\n selected_doc: selected_doc,\r\n selected_doctor_appointment_detail_list: selected_appointment,\r\n selected_doc_schedule_type: selected_doc_schedule_type\r\n });\r\n console.log(this.state.selected_doctor_appointment_detail_list);\r\n console.log(this.state.selected_doc);\r\n\r\n this.setState({ openModal: true, loading: false });\r\n })\r\n .catch((e) => { });\r\n\r\n axios\r\n .post(getpaymenttypeforbusiness, { user_id: value.user_id}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n \r\n console.log(data.data[0].payment_type);\r\n if (data.status === \"1\")\r\n this.setState({\r\n paymenttypeforhospital: data.data[0].payment_type\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n }\r\n }else\r\n {\r\n const data = {\r\n n_business_id: value.user_id,\r\n n_currentdate: getDateISOFormat(new Date()),\r\n speciality:this.state.searchData.speciality.value,\r\n \r\n };\r\n console.log(data);\r\n if (value.user_id !== \"\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getDocByBusinesswithspeciality, data, CONFIG)\r\n .then((result) => {\r\n\r\n let resData = result.data.data;\r\n console.log(result);\r\n console.log(resData);\r\n let queuein_data = {};\r\n\r\n queuein_data.n_business_id = value.user_id;\r\n queuein_data.business_name = value.business_name;\r\n queuein_data.address = value.address1 + \" \" + value.city;\r\n queuein_data.expected_wait_time = value.expected_wait_time;\r\n\r\n let doctor_appointment_detail_list = [];\r\n let docList = [];\r\n\r\n console.log(resData);\r\n if (resData) {\r\n resData.forEach((element, index) => {\r\n let doctor_obj = {};\r\n\r\n doctor_obj.doc_name = element.doctor_name;\r\n doctor_obj.business_user_id = element.business_user_id;\r\n doctor_obj.schedule_day_id = element.schedule_day_id;\r\n doctor_obj.schedule_id = element.schedule_id;\r\n doctor_obj.schedule_type = element.schedule_type;\r\n doctor_obj.appt_id = element.appt_id;\r\n doctor_obj.doctor_Appointments = element.doctor_Appointments;\r\n\r\n doctor_appointment_detail_list.push(doctor_obj);\r\n docList.push({\r\n value: element.business_user_id,\r\n speciality_name: element.speciality_name,\r\n label: element.doctor_name,\r\n });\r\n });\r\n }\r\n\r\n\r\n console.log(docList);\r\n\r\n this.setState({\r\n doctor_list: docList,\r\n queuein_data: queuein_data,\r\n doctor_appointment_detail_list: doctor_appointment_detail_list,\r\n });\r\n\r\n console.log(this.state.doctor_appointment_detail_list);\r\n\r\n //By default select on doctor\r\n let selected_doc = docList[0];\r\n let selected_appointment = [];\r\n let selected_doc_schedule_type = this.setState.selected_doc_schedule_type;\r\n\r\n //Based on default doctor selection select corresponding appointment details\r\n doctor_appointment_detail_list.forEach((element, index) => {\r\n if (element.business_user_id == docList[0].value) {\r\n selected_appointment = element.doctor_Appointments;\r\n selected_doc_schedule_type = element.schedule_type;\r\n }\r\n });\r\n\r\n this.setState({\r\n selected_doc: selected_doc,\r\n selected_doctor_appointment_detail_list: selected_appointment,\r\n selected_doc_schedule_type: selected_doc_schedule_type\r\n });\r\n \r\n axios\r\n .post(getdoctordetails, {business_id:this.state.queuein_data.n_business_id,business_user_id:docList[0].value}, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n // return false;\r\n if (response.status !== \"0\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ doctor_details: response.data });\r\n }\r\n \r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n console.log(this.state.selected_doctor_appointment_detail_list);\r\n console.log(this.state.selected_doc);\r\n\r\n this.setState({ openModal: true, loading: false });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n axios\r\n .post(getpaymenttypeforbusiness, { user_id: value.user_id}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n \r\n console.log(data.data[0].payment_type);\r\n if (data.status === \"1\")\r\n this.setState({\r\n paymenttypeforhospital: data.data[0].payment_type\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n }\r\n };\r\n\r\n searchBusiness = () => {\r\n console.log(\"param\");\r\n\r\n \r\n \r\n let params = this.state.searchData;\r\n console.log(params.speciality);\r\n if((null===params.speciality || \"\" === params.speciality) && params.business_name == \"\") \r\n {\r\n this.setState({searchErrorMessage:\"Choose the Speciality field and Distance field to search.\",});\r\n return;\r\n } \r\n else \r\n {\r\n this.setState({ searchErrorMessage: \"\", });\r\n }\r\n // let params = this.state.searchData;\r\n console.log(params);\r\n let data = {\r\n category: params.category ? params.category.label : \"\",\r\n business_name: params.business_name ? params.business_name.label : \"\",\r\n doctor_name: params.doctor_name ? params.doctor_name : \"\",\r\n facility: params.facility ? params.facility.value : \"\",\r\n speciality: params.speciality ? params.speciality.value : \"\",\r\n city: params.city,\r\n gender: params.gender ? params.gender.value : \"\",\r\n distance: params.distance,\r\n //distance: \"\",\r\n reviews: params.reviews,\r\n latitude: params.latitude,\r\n longitude: params.longitude,\r\n // latitude: \"\",\r\n // longitude: \"\",\r\n distance_type: params.distance_type,\r\n // distance_type: \"\",\r\n visit_type: params.visit_type,\r\n };\r\n \r\n console.log(data);\r\n axios\r\n .post(searchBusiness, data, CONFIG)\r\n .then((searchresults) => {\r\n console.log(\"business list\");\r\n\r\n if (searchresults.data.status === \"1\") {\r\n console.log(searchresults);\r\n \r\n this.setState({ searchresults: searchresults.data,latitude:searchresults.data.data[0].latitude,longitude:searchresults.data.data[0].longitude });\r\n let result = this.state.searchresults;\r\n if (result.data.length) {\r\n result.data.forEach((element, index) => {\r\n\r\n // console.log(element);\r\n /* if (element.user_id !== \"\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .get(queueBusinessURL + element.user_id)\r\n .then((details) => {\r\n console.log(\"got response for waittime\");\r\n element.wait_time = details.data.waitTime;\r\n })\r\n .catch((e) => {});\r\n }*/\r\n element.s_no = index+1;\r\n result.data[index] = element;\r\n });\r\n console.log(result);\r\n let records=result.data;\r\n console.log(result.data);\r\n window.setTimeout(() => {\r\n this.setState({ searchresults: result,records:records });\r\n }, 500);\r\n }\r\n } else {\r\n this.setState({ searchErrorMessage: searchresults.data.message +\",”Try adjusting the distance limit.”\"});\r\n this.setState({ \r\n searchresults:{\r\n data: [],\r\n } \r\n });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"business list failed\");\r\n });\r\n\r\n axios\r\n .post(searchBusiness, data, CONFIG)\r\n .then((searchresults) => {\r\n if (searchresults.data.status === \"1\") {\r\n const hospitals = searchresults.data.data.map(hospital => ({\r\n name: hospital.business_name,\r\n address: `${hospital.address1}, ${hospital.city}`,\r\n waitTime: hospital.expected_wait_time,\r\n }));\r\n\r\n this.setState({\r\n searchresults: searchresults.data,\r\n latitude: hospitals[0].latitude,\r\n longitude: hospitals[0].longitude,\r\n hospitals, // Set the hospitals array\r\n });\r\n } else {\r\n // Handle error\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"business list failed\");\r\n });\r\n };\r\n displayInfo = () => {\r\n return this.state.searchresults\r\n ? this.state.searchresults.data.map((business, index) => {\r\n return (\r\n \r\n
    \r\n

    {business.business_name}

    \r\n
    \r\n \r\n );\r\n })\r\n : \"\";\r\n };\r\n\r\n displayMarkers = () => {\r\n let mapImage = require(\"../assets/images/map-pin.png\")\r\n let iconMarker = new window.google.maps.MarkerImage(\r\n mapImage,\r\n null /* size is determined at runtime */,\r\n null /* origin is 0,0 */,\r\n null /* anchor is bottom center of the scaled image */,\r\n new window.google.maps.Size(100, 100)\r\n );\r\n return this.state.searchresults\r\n ? this.state.searchresults.data.map((business, index) => {\r\n //This need to replcae real waiting time from queue table\r\n \r\n \r\n \r\n let waitingtime = business.expected_wait_time\r\n // console.log(waitingtime)\r\n // if (!before30min) {\r\n return (\r\n \r\n );\r\n // }\r\n \r\n })\r\n : \"\";\r\n };\r\n \r\n\r\n// displayMarkers() {\r\n// // Implement logic to display markers on the map\r\n// return this.state.business_list.map((business, index) => (\r\n// this.setState({ selectedPlace: business, showingInfoWindow: true })}\r\n// />\r\n// ));\r\n// }\r\ncomponentDidMount = () => {\r\n // Set the Authorization header for axios\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n\r\n // Fetch the business list\r\n axios\r\n .get(getAllBusinessList, null, CONFIG)\r\n .then((list) => {\r\n console.log(list);\r\n let business = [];\r\n let userlist = list.data.data;\r\n\r\n // Map the userlist to the desired format\r\n userlist.forEach((element) => {\r\n business.push({ label: element.business_name, value: element.user_id });\r\n });\r\n\r\n // Update the state with the business list\r\n this.setState({ business_list: business });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n \r\n};\r\n\r\n getmyLocation = () => {\r\n const location = window.navigator && window.navigator.geolocation\r\n\r\n if (location) {\r\n location.getCurrentPosition((position) => {\r\n console.log(position.coords);\r\n console.log(\"position.coords\");\r\n this.setState({\r\n latitude: position.coords.latitude,\r\n longitude: position.coords.longitude,\r\n }, () => {\r\n this.getData();\r\n })\r\n }, (error) => {\r\n // this.setState({ latitude: '9.9261153', longitude: '78.1140983' },\r\n // () => {\r\n // this.getData();\r\n // })\r\n\r\n }, { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 })\r\n }\r\n else {\r\n this.getData();\r\n }\r\n }\r\n onMapClicked = (props) => {\r\n if (this.state.showingInfoWindow) {\r\n this.setState({\r\n showingInfoWindow: false,\r\n activeMarker: null,\r\n });\r\n }\r\n };\r\n onMarkerClick = (props, marker, e) => {\r\n console.log(props);\r\n console.log(marker);\r\n this.setState({\r\n selectedPlace: props,\r\n activeMarker: marker,\r\n showingInfoWindow: true,\r\n });\r\n };\r\n\r\n getData = () => {\r\n console.log(this.state.latitude);\r\n let searchData = this.state.searchData;\r\n searchData.latitude = this.state.latitude ? this.state.latitude.toString() : \"\";\r\n searchData.longitude = this.state.longitude ? this.state.longitude.toString() : \"\";\r\n this.setState({ searchData });\r\n // this.reviewChange(this.state.searchData.reviews);\r\n // this.searchBusiness();\r\n console.log(\"Latitude is :\", this.state.latitude);\r\n console.log(\"Longitude is :\", this.state.longitude);\r\n\r\n let loggedInClient = {};\r\n loggedInClient.client_id = this.props.user.id;\r\n loggedInClient.name = this.props.user.first_name;\r\n loggedInClient.relationship = \"Self\";\r\n\r\n this.setState({ loggedInClient });\r\n // this.setState({ latitude: latitude, longitude: longitude });\r\n\r\n //To get the Family details\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getClientFamilyDetails, { client_id: this.props.user.id }, CONFIG)\r\n .then((client_family) => {\r\n let list = [];\r\n list.unshift(this.state.loggedInClient);\r\n this.setState({ family_list: list });\r\n\r\n let dataArr = client_family.data.data;\r\n\r\n let family_list = this.state.family_list;\r\n dataArr.forEach((element, index) => {\r\n let family_member = {};\r\n family_member.client_id = element.user_id;\r\n family_member.name = element.first_name + \" \" + element.last_name;\r\n family_member.relationship = element.relationship;\r\n\r\n family_list[index + 1] = family_member;\r\n this.setState({ family_list: family_list ,client_name:family_member.name});\r\n });\r\n this.setState({ enableqin: true });\r\n })\r\n .catch((e) => { });\r\n }\r\n getCenterValue = (mapProps, map) => {\r\n console.log(mapProps.center);\r\n let url = new URL(map.mapUrl);\r\n let ll = url.searchParams.get(\"ll\");\r\n console.log(ll.split(\",\"));\r\n\r\n console.log(\"param\");\r\n let params = this.state.searchData;\r\n params.latitude = ll.split(\",\")[0];\r\n params.longitude = ll.split(\",\")[1];\r\n console.log(params);\r\n //console.log(params.latitude);\r\n //console.log(params.longitude);\r\n console.log(this.state.searchresults);\r\n //this.setState({searchData: params});\r\n\r\n let data = {\r\n category: params.category ? params.category.label : \"\",\r\n business_name: params.business_name ? params.business_name.label : \"\",\r\n doctor_name: params.doctor_name ? params.doctor_name : \"\",\r\n facility: params.facility ? params.facility.value : \"\",\r\n speciality: params.speciality ? params.speciality.value : \"\",\r\n city: params.city,\r\n gender: params.gender ? params.gender.value : \"\",\r\n distance: params.distance,\r\n reviews: params.reviews,\r\n latitude: ll.split(\",\")[0],\r\n longitude: ll.split(\",\")[1],\r\n distance_type: params.distance_type,\r\n visit_type: params.visit_type,\r\n };\r\n\r\n\r\n axios\r\n .post(searchBusiness, data, CONFIG)\r\n .then((searchresults) => {\r\n console.log(\"business list\");\r\n\r\n if (searchresults.data.status === \"1\") {\r\n console.log(searchresults);\r\n // this.setState({ searchresults: searchresults.data });\r\n let result = this.state.searchresults;\r\n if (result.data.length) {\r\n result.data.forEach((element, index) => {\r\n result.data[index] = element;\r\n });\r\n window.setTimeout(() => {\r\n // this.setState({ searchresults: result });\r\n }, 500);\r\n }\r\n } else {\r\n this.setState({ error: searchresults.data.message });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"business list failed\");\r\n });\r\n\r\n\r\n\r\n\r\n };\r\n clearSearchData = () => {\r\n var searchData = this.state.searchData;\r\n let searchErrorMessage=this.state.searchErrorMessage;\r\n searchData.business_name = \"\";\r\n searchData.doctor_name = \"\";\r\n searchData.facility = \"\";\r\n searchData.speciality = \"\";\r\n searchData.gender = \"\";\r\n searchData.city = \"\";\r\n searchData.distance = 5;\r\n searchData.distance_type = \"KM\";\r\n this.props.setSearchData(searchData);\r\n this.setState({ searchErrorMessage:\"\" });\r\n this.setState({ searchData: searchData,\r\n searchresults:{\r\n data: [],\r\n } \r\n });\r\n searchData.reviews = 0;\r\n // this.getData();\r\n this.getmyLocation();\r\n };\r\n\r\n render() {\r\n let {\r\n business_list,\r\n errors,\r\n searchData,\r\n searchresults,\r\n queuein_data,\r\n family_list,\r\n \r\n \r\n } = this.state;\r\n \r\n\r\n return (\r\n \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    */}\r\n {/*
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \r\n {searchData.distance}\r\n \r\n
    */}\r\n {/* */}\r\n {/*
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    \r\n \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.displayMarkers()}\r\n \r\n
    \r\n

    \r\n {this.state.selectedPlace ? this.state.selectedPlace.name : \"\"}\r\n

    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n {/* Modal for timeout warning */}\r\n {/* {this.state.showModal && (\r\n
    \r\n
    \r\n

    Session Timeout Warning

    \r\n

    Your session is about to expire. Please take action to remain logged in.

    \r\n \r\n \r\n
    \r\n
    \r\n )} */}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(\r\n GoogleApiWrapper({\r\n apiKey: \"AIzaSyC4pBKGj8xlAtXpfpV5jhVa7NbMt_8Yb4g\",\r\n })(HospitalSearch)\r\n);","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Map, GoogleApiWrapper, Marker, InfoWindow } from \"google-maps-react\";\r\nimport Select from \"react-select\";\r\nimport { gender } from \"../config/data\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport { getDateISOFormat, getPatientsubstring } from \"../constants/globalLevelFunctions\";\r\nimport Validation from \"../actions/Validation\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport QRCode from \"react-qr-code\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport {\r\n getAllBusinessList,\r\n searchBusiness,\r\n getClientFamilyDetails,\r\n getDocByBusiness,\r\n getDocByBusinesswithspeciality,\r\n addCheckinURL,\r\n addQueue_modified,\r\n getTimeoutbycategory,\r\n createNotification,\r\n RazorPayPayment,\r\n getCredentials,\r\n updateclientqueuestatus,\r\n getpaymenttypeforbusiness,\r\n getdoctordetails,\r\n UpdateQueueRemove,\r\n CancelQueue,\r\n getServiceChargesbycategory\r\n} from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport FooterWeb from './Footerweb';\r\nimport Headerweb from './Headerweb';\r\nimport SimpleSlider from './Simpleslider';\r\nimport LogoSlider from './LogoSlider';\r\nimport Topmove from './Topmove';\r\nimport Whatsapp from './Whatsapp';\r\nimport Webadslider from './Webadslider';\r\nimport Webblog from './Webblog';\r\nimport Webbenifits from './Webbenifits';\r\nimport ManagmentSlider from './ManagmentSlider';\r\nimport HospitalSearch from './HospitalSearch';\r\nconst mapStyles = {\r\n width: \"100%\",\r\n height: \"100%\",\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n searchData: state.SearchReducer.searchData,\r\n userdata: state.AuthReducer.user,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n setSearchData: (data) => dispatch({ type: \"SET_SEARCH_DATA\",payload:data})\r\n };\r\n}\r\nfunction loadScript(src) {\r\n return new Promise((resolve) => {\r\n const script = document.createElement('script')\r\n script.src = src\r\n script.onload = () => {\r\n resolve(true)\r\n }\r\n script.onerror = () => {\r\n resolve(false)\r\n }\r\n document.body.appendChild(script)\r\n })\r\n}\r\n\r\nclass Home extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n \r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n visible: false,\r\n records:[],\r\n staticText: [\r\n \"Experience \",\r\n \"The Future of Innovation\",\r\n \"Digital Healthcare \",\r\n \"At Your Fingertips, \"\r\n ],\r\n typingWords: [\"Anytime\", \"Anywhere\"],\r\n displayedText: '',\r\n index: 0,\r\n isTyping: true,\r\n isErasing: false,\r\n currentWordIndex: 0,\r\n // queuein_data: [],\r\n loading: false,\r\n business_list: [],\r\n business_name: \"\",\r\n latitude: \"\",\r\n longitude: \"\",\r\n bookModel : false,\r\n // IsNext:false,\r\n searchData: {\r\n business_name: props.searchData ? props.searchData.business_name : \"\",\r\n doctor_name: props.searchData ? props.searchData.doctor_name : \"\",\r\n facility: props.searchData ? props.searchData.facility : \"\",\r\n speciality: props.searchData ? props.searchData.speciality : \"\",\r\n city: props.searchData ? props.searchData.city : \"\",\r\n gender: props.searchData ? props.searchData.gender : \"\",\r\n distance:\r\n props.searchData && props.searchData.distance != \"\"\r\n ? props.searchData.distance\r\n : \"25\",\r\n reviews: props.searchData ? props.searchData.reviews : \"\",\r\n distance_type:\r\n props.searchData && props.searchData.distance != \"\"\r\n ? props.searchData.distance_type\r\n : \"KM\",\r\n \r\n },\r\n searchresults: {\r\n data: [],\r\n },\r\n \r\n queuein_data: {\r\n n_client_id: \"\",\r\n n_business_id: \"\",\r\n n_business_user_id: \"\",\r\n n_schedule_day_id: \"\",\r\n n_savedtime: \"\",\r\n n_status: \"\",\r\n n_isActive: \"\",\r\n business_name: \"\",\r\n address: \"\",\r\n expected_wait_time: \"\",\r\n schedule_type: \"\",\r\n other_comments: \"\",\r\n payment_mode:\"\",\r\n },\r\n selectedPlace: { value: \"\", label: \"\" },\r\n doctor_list: [],\r\n selected_doc: { value: \"\", label: \"\" },\r\n doctor_appointment_detail_list: [],\r\n selected_doctor_appointment_detail_list: [],\r\n selected_doc_schedule_type: \"\",\r\n \r\n family_list: [],\r\n enableqin: false,\r\n listofClientForQueue: [],\r\n loggedInClient: { client_id: \"\", name: \"\", relationship: \"\" },\r\n error: \"\",\r\n openModal: false,\r\n errors: {\r\n doctor_name: \"\",\r\n other_comments:\"\",\r\n payment_type_error:\"\"\r\n },\r\n searchErrorMessage: \"\",\r\n // category: this.props.appdata.category,\r\n \r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n \r\n\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n\r\n bookQueueappointment=(e)=>{\r\n let { queuein_data, errors } = this.state;\r\n \r\n axios\r\n .post(getdoctordetails, {business_id:this.state.queuein_data.n_business_id,business_user_id:this.state.selected_doc.value}, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n // return false;\r\n if (response.status !== \"0\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ doctor_details: response.data });\r\n }\r\n \r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n \r\n \r\n this.setState({payment_type_error : \"\"});\r\n let q_id=this.state.qId;\r\n this.displayRazorpay(q_id);\r\n }\r\n\r\n \r\n componentDidMount = () => {\r\n /* console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { }); */\r\n this.type();\r\n \r\n }\r\n type = () => {\r\n const { typingWords, currentWordIndex, displayedText, isTyping } = this.state;\r\n\r\n if (isTyping) {\r\n if (this.state.index < typingWords[currentWordIndex].length) {\r\n this.setState(prevState => ({\r\n displayedText: prevState.displayedText + typingWords[currentWordIndex].charAt(prevState.index),\r\n index: prevState.index + 1,\r\n }));\r\n setTimeout(this.type, 100); // Adjust typing speed here (in milliseconds)\r\n } else {\r\n // Switch to erasing mode after typing is complete\r\n this.setState({ isTyping: false });\r\n setTimeout(this.erase, 1000); // Wait before starting to erase\r\n }\r\n }\r\n };\r\n\r\n erase = () => {\r\n const { typingWords, currentWordIndex, displayedText } = this.state;\r\n\r\n if (this.state.index > 0) {\r\n this.setState(prevState => ({\r\n displayedText: prevState.displayedText.slice(0, -1),\r\n index: prevState.index - 1,\r\n }));\r\n setTimeout(this.erase, 100); // Adjust erasing speed here (in milliseconds)\r\n } else {\r\n // Move to the next word\r\n this.setState(prevState => ({\r\n isTyping: true,\r\n currentWordIndex: (prevState.currentWordIndex + 1) % typingWords.length,\r\n index: 0,\r\n displayedText: '',\r\n }));\r\n setTimeout(this.type, 500); // Wait before starting to type the next word\r\n }\r\n };\r\n // componentDidMount() {\r\n \r\n // this.timer = setTimeout(() => {\r\n // this.setState({ visible: true });\r\n // }, this.props.delay || 1000); \r\n // }\r\n // componentDidMount = () => {\r\n // console.log(this.props.user.user_type);\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n\r\n // axios\r\n // .post(getTimeoutbycategory, { category: this.props.user.user_type }, CONFIG)\r\n // .then((res) => {\r\n // let data = res.data;\r\n // console.log(res);\r\n // console.log(data);\r\n // console.log(data.data.timeout);\r\n // if (data.status == \"1\")\r\n // this.setState({\r\n // timeout: data.data.timeout\r\n\r\n // });\r\n // })\r\n // .catch((e) => { });\r\n\r\n // axios\r\n // .post(getServiceChargesbycategory, {category : 'Direct'}, CONFIG)\r\n // .then((res) => {\r\n // let data = res.data;\r\n // console.log(res);\r\n // console.log(data);\r\n // console.log(data.data.service_charges);\r\n // if (data.status == \"1\")\r\n // this.setState({\r\n // directservice_charges: data.data.service_charges\r\n \r\n // });\r\n // })\r\n // .catch((e) => { });\r\n // axios\r\n // .post(getServiceChargesbycategory, {category : 'Online'}, CONFIG)\r\n // .then((res) => {\r\n // let data = res.data;\r\n // console.log(res);\r\n // console.log(data);\r\n // console.log(data.data.service_charges);\r\n // if (data.status == \"1\")\r\n // this.setState({\r\n // onlineservice_charges: data.data.service_charges\r\n \r\n // });\r\n // })\r\n // .catch((e) => { });\r\n\r\n // this.getData();\r\n // this.getmyLocation();\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // axios\r\n // .get(getAllBusinessList, null, CONFIG)\r\n // .then((list) => {\r\n // console.log(list)\r\n // let business = [];\r\n // let userlist = list.data.data;\r\n // userlist.forEach((element, index) => {\r\n // business.push({ label: element.business_name, value: element.user_id })\r\n \r\n // });\r\n\r\n // this.setState({ business_list: business });\r\n \r\n // })\r\n // .catch((e) => { console.log(e) });\r\n \r\n // }\r\n\r\n \r\n\r\n componentWillUnmount() {\r\n clearTimeout(this.timer);\r\n \r\n }\r\n \r\n\r\n handleInput = (e) => {\r\n let data = this.state.searchData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n data[name] = value;\r\n if (\r\n name === \"doctor_name\" ||\r\n name === \"city\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ searchData: data });\r\n\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ searchData: data, errors: errors });\r\n }\r\n\r\n // showFamilydetail = (value, el) => {\r\n // this.setState({ loading: true });\r\n // // console.log(this.state.searchData.speciality.value);\r\n // if(this.state.searchData.speciality.value==undefined||this.state.searchData.speciality.value==null||this.state.searchData.speciality.value==\"\")\r\n // {\r\n // const data = {\r\n // n_business_id: value.user_id,\r\n // // n_currentdate: getDateISOFormat(new Date()),\r\n \r\n // };\r\n // console.log(data);\r\n // if (value.user_id !== \"\") {\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // axios\r\n // .post(getDocByBusiness, data, CONFIG)\r\n // .then((result) => {\r\n\r\n // let resData = result.data.data;\r\n // console.log(result);\r\n // console.log(resData);\r\n // let queuein_data = {};\r\n\r\n // queuein_data.n_business_id = value.user_id;\r\n // queuein_data.business_name = value.business_name;\r\n // queuein_data.address = value.address1 + \" \" + value.city;\r\n // queuein_data.expected_wait_time = value.expected_wait_time;\r\n\r\n // let doctor_appointment_detail_list = [];\r\n // let docList = [];\r\n\r\n // console.log(resData);\r\n // if (resData) {\r\n // resData.forEach((element, index) => {\r\n // let doctor_obj = {};\r\n\r\n // doctor_obj.doc_name = element.doctor_name;\r\n // doctor_obj.business_user_id = element.business_user_id;\r\n // doctor_obj.schedule_day_id = element.schedule_day_id;\r\n // doctor_obj.schedule_id = element.schedule_id;\r\n // doctor_obj.schedule_type = element.schedule_type;\r\n \r\n // doctor_obj.appt_id = element.appt_id;\r\n // doctor_obj.doctor_Appointments = element.doctor_Appointments;\r\n\r\n // doctor_appointment_detail_list.push(doctor_obj);\r\n // docList.push({\r\n // value: element.business_user_id,\r\n // label: element.doctor_name,\r\n // speciality_name: element.speciality_name,\r\n // });\r\n // });\r\n // }\r\n\r\n\r\n // console.log(docList);\r\n\r\n // this.setState({\r\n // doctor_list: docList,\r\n // queuein_data: queuein_data,\r\n // doctor_appointment_detail_list: doctor_appointment_detail_list,\r\n // });\r\n\r\n // console.log(this.state.doctor_appointment_detail_list);\r\n\r\n // axios\r\n // .post(getdoctordetails, {business_id:this.state.queuein_data.n_business_id,business_user_id:docList[0].value}, CONFIG)\r\n // .then((res) => {\r\n // let response = res.data;\r\n // console.log(response);\r\n // // return false;\r\n // if (response.status !== \"0\") {\r\n // // window.location.href = \"/vendor/\" + response.data;\r\n // this.setState({ doctor_details: response.data });\r\n // }\r\n\r\n // })\r\n // .catch((e) => {\r\n // console.log(e);\r\n // });\r\n\r\n // //By default select on doctor\r\n // let selected_doc = docList[0];\r\n // let selected_appointment = [];\r\n // let selected_doc_schedule_type = this.setState.selected_doc_schedule_type;\r\n\r\n // //Based on default doctor selection select corresponding appointment details\r\n // doctor_appointment_detail_list.forEach((element, index) => {\r\n // if (element.business_user_id == docList[0].value) {\r\n // selected_appointment = element.doctor_Appointments;\r\n // selected_doc_schedule_type = element.schedule_type;\r\n // }\r\n // });\r\n\r\n // this.setState({\r\n // selected_doc: selected_doc,\r\n // selected_doctor_appointment_detail_list: selected_appointment,\r\n // selected_doc_schedule_type: selected_doc_schedule_type\r\n // });\r\n // console.log(this.state.selected_doctor_appointment_detail_list);\r\n // console.log(this.state.selected_doc);\r\n\r\n // this.setState({ openModal: true, loading: false });\r\n // })\r\n // .catch((e) => { });\r\n\r\n // axios\r\n // .post(getpaymenttypeforbusiness, { user_id: value.user_id}, CONFIG)\r\n // .then((res) => {\r\n // let data = res.data;\r\n // console.log(res);\r\n // console.log(data);\r\n \r\n // console.log(data.data[0].payment_type);\r\n // if (data.status === \"1\")\r\n // this.setState({\r\n // paymenttypeforhospital: data.data[0].payment_type\r\n \r\n // });\r\n // })\r\n // .catch((e) => { });\r\n // }\r\n // }else\r\n // {\r\n // const data = {\r\n // n_business_id: value.user_id,\r\n // // n_currentdate: getDateISOFormat(new Date()),\r\n // speciality:this.state.searchData.speciality.value,\r\n \r\n // };\r\n // console.log(data);\r\n // if (value.user_id !== \"\") {\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // axios\r\n // .post(getDocByBusinesswithspeciality, data, CONFIG)\r\n // .then((result) => {\r\n\r\n // let resData = result.data.data;\r\n // console.log(result);\r\n // console.log(resData);\r\n // let queuein_data = {};\r\n\r\n // queuein_data.n_business_id = value.user_id;\r\n // queuein_data.business_name = value.business_name;\r\n // queuein_data.address = value.address1 + \" \" + value.city;\r\n // queuein_data.expected_wait_time = value.expected_wait_time;\r\n\r\n // let doctor_appointment_detail_list = [];\r\n // let docList = [];\r\n\r\n // console.log(resData);\r\n // if (resData) {\r\n // resData.forEach((element, index) => {\r\n // let doctor_obj = {};\r\n\r\n // doctor_obj.doc_name = element.doctor_name;\r\n // doctor_obj.business_user_id = element.business_user_id;\r\n // doctor_obj.schedule_day_id = element.schedule_day_id;\r\n // doctor_obj.schedule_id = element.schedule_id;\r\n // doctor_obj.schedule_type = element.schedule_type;\r\n // doctor_obj.appt_id = element.appt_id;\r\n // doctor_obj.doctor_Appointments = element.doctor_Appointments;\r\n\r\n // doctor_appointment_detail_list.push(doctor_obj);\r\n // docList.push({\r\n // value: element.business_user_id,\r\n // speciality_name: element.speciality_name,\r\n // label: element.doctor_name,\r\n // });\r\n // });\r\n // }\r\n\r\n\r\n // console.log(docList);\r\n\r\n // this.setState({\r\n // doctor_list: docList,\r\n // queuein_data: queuein_data,\r\n // doctor_appointment_detail_list: doctor_appointment_detail_list,\r\n // });\r\n\r\n // console.log(this.state.doctor_appointment_detail_list);\r\n\r\n // //By default select on doctor\r\n // let selected_doc = docList[0];\r\n // let selected_appointment = [];\r\n // let selected_doc_schedule_type = this.setState.selected_doc_schedule_type;\r\n\r\n // //Based on default doctor selection select corresponding appointment details\r\n // doctor_appointment_detail_list.forEach((element, index) => {\r\n // if (element.business_user_id == docList[0].value) {\r\n // selected_appointment = element.doctor_Appointments;\r\n // selected_doc_schedule_type = element.schedule_type;\r\n // }\r\n // });\r\n\r\n // this.setState({\r\n // selected_doc: selected_doc,\r\n // selected_doctor_appointment_detail_list: selected_appointment,\r\n // selected_doc_schedule_type: selected_doc_schedule_type\r\n // });\r\n \r\n // axios\r\n // .post(getdoctordetails, {business_id:this.state.queuein_data.n_business_id,business_user_id:docList[0].value}, CONFIG)\r\n // .then((res) => {\r\n // let response = res.data;\r\n // console.log(response);\r\n // // return false;\r\n // if (response.status !== \"0\") {\r\n // // window.location.href = \"/vendor/\" + response.data;\r\n // this.setState({ doctor_details: response.data });\r\n // }\r\n \r\n // })\r\n // .catch((e) => {\r\n // console.log(e);\r\n // });\r\n // console.log(this.state.selected_doctor_appointment_detail_list);\r\n // console.log(this.state.selected_doc);\r\n\r\n // this.setState({ openModal: true, loading: false });\r\n // })\r\n // .catch((e) => { });\r\n\r\n\r\n // axios\r\n // .post(getpaymenttypeforbusiness, { user_id: value.user_id}, CONFIG)\r\n // .then((res) => {\r\n // let data = res.data;\r\n // console.log(res);\r\n // console.log(data);\r\n \r\n // console.log(data.data[0].payment_type);\r\n // if (data.status === \"1\")\r\n // this.setState({\r\n // paymenttypeforhospital: data.data[0].payment_type\r\n \r\n // });\r\n // })\r\n // .catch((e) => { });\r\n // }\r\n\r\n // }\r\n // };\r\n handleQueueInput = (e) => {\r\n let data = this.state.queuein_data;\r\n let errors=this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n errors[name]=\"\";\r\n this.setState({ queuein_data: data,errors });\r\n }\r\n \r\n handleselectDocChange = (selectedOptions, e) => {\r\n let data = this.state.selected_doc;\r\n data = selectedOptions;\r\n\r\n console.log(selectedOptions);\r\n \r\n\r\n\r\n this.setState({ selected_doc: data });\r\n\r\n console.log(this.state.doctor_appointment_detail_list);\r\n\r\n let appointmentDetails = this.state.doctor_appointment_detail_list;\r\n\r\n let selected_appointment = this.state\r\n .selected_doctor_appointment_detail_list;\r\n\r\n let selected_doc_schedule_type = this.state.selected_doc_schedule_type;\r\n\r\n appointmentDetails.forEach((element, index) => {\r\n console.log(element.business_user_id);\r\n console.log(element.doctor_Appointments);\r\n if (element.business_user_id == selectedOptions.value) {\r\n console.log(\"true\");\r\n selected_appointment = element.doctor_Appointments;\r\n selected_doc_schedule_type = element.schedule_type;\r\n } else {\r\n console.log(\"false\");\r\n }\r\n });\r\n this.setState({\r\n selected_doctor_appointment_detail_list: selected_appointment,\r\n selected_doc_schedule_type: selected_doc_schedule_type\r\n });\r\n\r\n\r\n axios\r\n .post(getdoctordetails, {business_id:this.state.queuein_data.n_business_id,business_user_id:selectedOptions.value}, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n // return false;\r\n if (response.status !== \"0\") {\r\n // window.location.href = \"/vendor/\" + response.data;\r\n this.setState({ doctor_details: response.data,payment_mode:\"\" });\r\n }\r\n\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n \r\n };\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = selectedOptions;\r\n if (e.name === \"business_name\" && null != selectedOptions) {\r\n console.log(selectedOptions);\r\n data.latitude = selectedOptions.latitude;\r\n data.longitude = selectedOptions.longitude;\r\n this.searchBusiness();\r\n \r\n } else {\r\n data.latitude = this.state.latitude;\r\n data.longitude = this.state.longitude;\r\n }\r\n this.setState({ searchData: data });\r\n \r\n // this.searchBusiness();\r\n };\r\n handlespecialityselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = selectedOptions;\r\n data.latitude = this.state.latitude;\r\n data.longitude = this.state.longitude;\r\n this.setState({ searchData: data });\r\n \r\n };\r\n\r\n handleDistanceChange = (event) => {\r\n let data = this.state.searchData;\r\n data.distance = event.target.value;\r\n this.setState({ searchData: data });\r\n };\r\n handleTimingSelect = (event) => {\r\n let data = this.state.queuein_data;\r\n let errors=this.state.errors;\r\n data.n_schedule_day_id = event.target.value;\r\n errors.n_schedule_day_id=\"\";\r\n this.setState({ queuein_data: data });\r\n };\r\n getmyLocation = () => {\r\n const location = window.navigator && window.navigator.geolocation\r\n\r\n if (location) {\r\n location.getCurrentPosition((position) => {\r\n console.log(position.coords);\r\n console.log(\"position.coords\");\r\n this.setState({\r\n latitude: position.coords.latitude,\r\n longitude: position.coords.longitude,\r\n }, () => {\r\n this.getData();\r\n })\r\n }, (error) => {\r\n // this.setState({ latitude: '9.9261153', longitude: '78.1140983' },\r\n // () => {\r\n // this.getData();\r\n // })\r\n\r\n }, { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 })\r\n }\r\n else {\r\n this.getData();\r\n }\r\n }\r\n\r\n getData = () => {\r\n console.log(this.state.latitude);\r\n let searchData = this.state.searchData;\r\n searchData.latitude = this.state.latitude ? this.state.latitude.toString() : \"\";\r\n searchData.longitude = this.state.longitude ? this.state.longitude.toString() : \"\";\r\n this.setState({ searchData });\r\n // this.reviewChange(this.state.searchData.reviews);\r\n // this.searchBusiness();\r\n console.log(\"Latitude is :\", this.state.latitude);\r\n console.log(\"Longitude is :\", this.state.longitude);\r\n\r\n let loggedInClient = {};\r\n loggedInClient.client_id = this.props.user.id;\r\n loggedInClient.name = this.props.user.first_name;\r\n loggedInClient.relationship = \"Self\";\r\n\r\n this.setState({ loggedInClient });\r\n // this.setState({ latitude: latitude, longitude: longitude });\r\n\r\n //To get the Family details\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getClientFamilyDetails, { client_id: this.props.user.id }, CONFIG)\r\n .then((client_family) => {\r\n let list = [];\r\n list.unshift(this.state.loggedInClient);\r\n this.setState({ family_list: list });\r\n\r\n let dataArr = client_family.data.data;\r\n\r\n let family_list = this.state.family_list;\r\n dataArr.forEach((element, index) => {\r\n let family_member = {};\r\n family_member.client_id = element.user_id;\r\n family_member.name = element.first_name + \" \" + element.last_name;\r\n family_member.relationship = element.relationship;\r\n\r\n family_list[index + 1] = family_member;\r\n this.setState({ family_list: family_list ,client_name:family_member.name});\r\n });\r\n this.setState({ enableqin: true });\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n clearSearchData = () => {\r\n var searchData = this.state.searchData;\r\n let searchErrorMessage=this.state.searchErrorMessage;\r\n searchData.business_name = \"\";\r\n searchData.doctor_name = \"\";\r\n searchData.facility = \"\";\r\n searchData.speciality = \"\";\r\n searchData.gender = \"\";\r\n searchData.city = \"\";\r\n searchData.distance = 5;\r\n searchData.distance_type = \"KM\";\r\n this.props.setSearchData(searchData);\r\n this.setState({ searchErrorMessage:\"\" });\r\n this.setState({ searchData: searchData,\r\n searchresults:{\r\n data: [],\r\n } \r\n });\r\n searchData.reviews = 0;\r\n // this.getData();\r\n this.getmyLocation();\r\n };\r\n\r\n searchBusiness = () => {\r\n console.log(\"param\");\r\n \r\n \r\n \r\n let params = this.state.searchData;\r\n console.log(params.speciality);\r\n if((null===params.speciality || \"\" === params.speciality) && params.business_name == \"\") \r\n {\r\n this.setState({searchErrorMessage:\"Choose the Speciality field and Distance field to search.\",});\r\n return;\r\n } \r\n else \r\n {\r\n this.setState({ searchErrorMessage: \"\", });\r\n }\r\n // let params = this.state.searchData;\r\n console.log(params);\r\n let data = {\r\n category: params.category ? params.category.label : \"\",\r\n business_name: params.business_name ? params.business_name.label : \"\",\r\n doctor_name: params.doctor_name ? params.doctor_name : \"\",\r\n facility: params.facility ? params.facility.value : \"\",\r\n speciality: params.speciality ? params.speciality.value : \"\",\r\n city: params.city,\r\n gender: params.gender ? params.gender.value : \"\",\r\n distance: params.distance,\r\n //distance: \"\",\r\n reviews: params.reviews,\r\n latitude: params.latitude,\r\n longitude: params.longitude,\r\n // latitude: \"\",\r\n // longitude: \"\",\r\n distance_type: params.distance_type,\r\n // distance_type: \"\",\r\n visit_type: params.visit_type,\r\n };\r\n \r\n console.log(data);\r\n axios\r\n .post(searchBusiness, data, CONFIG)\r\n .then((searchresults) => {\r\n console.log(\"business list\");\r\n \r\n if (searchresults.data.status === \"1\") {\r\n console.log(searchresults);\r\n \r\n this.setState({ searchresults: searchresults.data,latitude:searchresults.data.data[0].latitude,longitude:searchresults.data.data[0].longitude });\r\n let result = this.state.searchresults;\r\n if (result.data.length) {\r\n result.data.forEach((element, index) => {\r\n \r\n // console.log(element);\r\n /* if (element.user_id !== \"\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .get(queueBusinessURL + element.user_id)\r\n .then((details) => {\r\n console.log(\"got response for waittime\");\r\n element.wait_time = details.data.waitTime;\r\n })\r\n .catch((e) => {});\r\n }*/\r\n element.s_no = index+1;\r\n result.data[index] = element;\r\n });\r\n console.log(result);\r\n let records=result.data;\r\n console.log(result.data);\r\n window.setTimeout(() => {\r\n this.setState({ searchresults: result,records:records });\r\n }, 500);\r\n }\r\n } else {\r\n this.setState({ searchErrorMessage: searchresults.data.message +\",”Try adjusting the distance limit.”\"});\r\n this.setState({ \r\n searchresults:{\r\n data: [],\r\n } \r\n });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"business list failed\");\r\n });\r\n };\r\n\r\n onMapClicked = (props) => {\r\n if (this.state.showingInfoWindow) {\r\n this.setState({\r\n showingInfoWindow: false,\r\n activeMarker: null,\r\n });\r\n }\r\n };\r\n displayInfo = () => {\r\n return this.state.searchresults\r\n ? this.state.searchresults.data.map((business, index) => {\r\n return (\r\n \r\n
    \r\n

    {business.business_name}

    \r\n
    \r\n \r\n );\r\n })\r\n : \"\";\r\n };\r\n \r\n onMarkerClick = (props, marker, e) => {\r\n console.log(props);\r\n console.log(marker);\r\n this.setState({\r\n selectedPlace: props,\r\n activeMarker: marker,\r\n showingInfoWindow: true,\r\n });\r\n };\r\n\r\n getCenterValue = (mapProps, map) => {\r\n console.log(mapProps.center);\r\n let url = new URL(map.mapUrl);\r\n let ll = url.searchParams.get(\"ll\");\r\n console.log(ll.split(\",\"));\r\n \r\n console.log(\"param\");\r\n let params = this.state.searchData;\r\n params.latitude = ll.split(\",\")[0];\r\n params.longitude = ll.split(\",\")[1];\r\n console.log(params);\r\n //console.log(params.latitude);\r\n //console.log(params.longitude);\r\n console.log(this.state.searchresults);\r\n //this.setState({searchData: params});\r\n \r\n let data = {\r\n category: params.category ? params.category.label : \"\",\r\n business_name: params.business_name ? params.business_name.label : \"\",\r\n doctor_name: params.doctor_name ? params.doctor_name : \"\",\r\n facility: params.facility ? params.facility.value : \"\",\r\n speciality: params.speciality ? params.speciality.value : \"\",\r\n city: params.city,\r\n gender: params.gender ? params.gender.value : \"\",\r\n distance: params.distance,\r\n reviews: params.reviews,\r\n latitude: ll.split(\",\")[0],\r\n longitude: ll.split(\",\")[1],\r\n distance_type: params.distance_type,\r\n visit_type: params.visit_type,\r\n };\r\n \r\n \r\n axios\r\n .post(searchBusiness, data, CONFIG)\r\n .then((searchresults) => {\r\n console.log(\"business list\");\r\n \r\n if (searchresults.data.status === \"1\") {\r\n console.log(searchresults);\r\n // this.setState({ searchresults: searchresults.data });\r\n let result = this.state.searchresults;\r\n if (result.data.length) {\r\n result.data.forEach((element, index) => {\r\n result.data[index] = element;\r\n });\r\n window.setTimeout(() => {\r\n // this.setState({ searchresults: result });\r\n }, 500);\r\n }\r\n } else {\r\n this.setState({ error: searchresults.data.message });\r\n window.setTimeout(() => {\r\n this.setState({\r\n error: \"\",\r\n });\r\n }, 5000);\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"business list failed\");\r\n });\r\n };\r\n\r\n displayMarkers = () => {\r\n let mapImage = require(\"../assets/images/map-pin.png\")\r\n let iconMarker = new window.google.maps.MarkerImage(\r\n mapImage,\r\n null /* size is determined at runtime */,\r\n null /* origin is 0,0 */,\r\n null /* anchor is bottom center of the scaled image */,\r\n new window.google.maps.Size(100, 100)\r\n );\r\n return this.state.searchresults\r\n ? this.state.searchresults.data.map((business, index) => {\r\n //This need to replcae real waiting time from queue table\r\n \r\n \r\n \r\n let waitingtime = business.expected_wait_time\r\n // console.log(waitingtime)\r\n // if (!before30min) {\r\n return (\r\n \r\n );\r\n // }\r\n \r\n })\r\n : \"\";\r\n };\r\n \r\n render() {\r\n let {\r\n business_list,\r\n errors,\r\n searchData,\r\n searchresults,\r\n queuein_data,\r\n family_list,\r\n \r\n } = this.state;\r\n let category_array = this.props.appdata.length\r\n ? this.props.appdata[0].category\r\n : [];\r\n let category = [];\r\n\r\n category_array.forEach((element, index) => {\r\n category.push({ value: element.id, label: element.category_name });\r\n });\r\n category_array = category;\r\n\r\n let facility_list = this.props.appdata.length\r\n ? this.props.appdata[0].facilities\r\n : [];\r\n let facility = [];\r\n\r\n facility_list.forEach((element, index) => {\r\n facility.push({ value: element.id, label: element.facility_name });\r\n });\r\n facility_list = facility;\r\n let specialities_array = this.props.appdata\r\n ? this.props.appdata[0].specialities\r\n : [];\r\n let specialities = [];\r\n specialities_array.forEach((element, index) => {\r\n specialities.push({ value: element.id, label: element.name });\r\n });\r\n specialities_array = specialities;\r\n const { hospitaltimeout, selected_doc, doctor_list, timeout, searchErrorMessage,loading,Todaydate,thisday} = this.state;\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

    {this.state.staticText[0]}

    \r\n

    {this.state.staticText[1]}

    \r\n

    \r\n {this.state.staticText[2]}\r\n {/* {this.state.displayedText} */}\r\n

    \r\n {/*

    \r\n Leading clinic offering exceptional online medical treatment service,
    ensuring the convenient and expert care from the comfort of home.\r\n

    */}\r\n

    \r\n {this.state.staticText[3]}\r\n {this.state.displayedText}\r\n

    \r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n

    How KlinicQ works?

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n \"Doctor\"\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n
    */}\r\n {/*

    KlinicQ application is a cloud-based Electronic Clinical Management System (e CMS) that can be accessed from anywhere and anytime.

    */}\r\n {/*

    {this.state.staticText[0]}

    \r\n

    {this.state.staticText[1]}

    \r\n

    \r\n {this.state.staticText[2]}\r\n {this.state.displayedText}\r\n

    \r\n

    \r\n Leading clinic offering exceptional online medical treatment service,
    ensuring the convenient and expert care from the comfort of home.\r\n

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

    How KlinicQ works ?

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

    KlinicQ application is a cloud-based Electronic Clinical Management System (e CMS) that can be accessed from anywhere and anytime.

    \r\n

    leading clinic offering exceptional online medical treatment service,
    \r\nensuring the convenient and expert care from the comfort of home

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

    How KlinicQ works ?

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

    100%

    \r\n

    Sucess rate This Year

    \r\n
    */}\r\n \r\n {/*
    */}\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    100% Success Rate This Year
    \r\n \r\n
    \r\n */}\r\n\r\n {/*
    \r\n \r\n \r\n
    */}\r\n {/*
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    KlinicQ Revolutionizing How You Manage Your Health\r\n

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

    KlinicQ application is a cloud-based Electronic Clinical Management
    System (e CMS) that can be accessed from anywhere and anytime

    \r\n
    \r\n
    \r\n

    KlinicQ application is a comprehensive solution for managing Clinic
    operations safely and without manual error usually associated with
    handwriting and paper-based records.

    \r\n
    \r\n
    \r\n

    It has been developed to address operational issues ,streamline the
    process,and improve efficiency with proactive engagement &
    Improved medication adherence rate by 15%

    \r\n
    \r\n
    \r\n

    It helps organize doctor scheduels,collate patient notes,health
    history,medical records,and other critical metrics in real-time,and
    handle payment effortlessly & improved patient satisfaction by 75%

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

    Fostering Wellness with a Single Click

    \r\n

    KlinicQ is our Electronic Clinical Management System (e CMS) application.Electronic Clinical Management System
    (e CMS) application. It is user-friendly, convenient, comprehensive, and integrated to manage all hospital
    operations safely and with no manual error usually associated with handwriting & paper-based records.

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

    Patient

    \r\n
    \r\n
    \r\n

    The patient portal is designed to manage primary & family members under the same account with a unique ID for each member.

    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* */}\r\n {/* \r\n \"Arrow\"\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* \r\n
    \r\n
    \r\n

    Doctor

    \r\n
    \r\n
    \r\n

    A doctor portal is designed based on the physician's specialty and can work for any specialization.

    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* */}\r\n {/* \r\n \"Arrow\"\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* \r\n
    \r\n
    \r\n

    Hospital

    \r\n
    \r\n
    \r\n

    A hospital portal is designed to manage multi-specialty and different consultation modes.

    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* */}\r\n {/* \r\n \"Arrow\"\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n */}\r\n {/* */}\r\n {/*
    \r\n
    \r\n
    \r\n

    Patient

    \r\n
    \r\n
    \r\n

    The patient portal is designed to manage primary & family members under the same account with a unique ID for each member.

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

    Doctor

    \r\n
    \r\n
    \r\n

    A doctor portal is designed based on the physician's specialty and can work for any specialization.

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

    Hospital

    \r\n
    \r\n
    \r\n

    A hospital portal is designed to manage multi-specialty and different consultation modes.

    \r\n
    \r\n
    \r\n
    */}\r\n {/*
    */}\r\n {/* */}\r\n {/* */}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n\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 Specialist

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    Dr Adinda

    \r\n

    Eye Specialist

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    Dr Jackson

    \r\n

    Ear Specialist

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

    Rest assured, your health is in the most capable hands.

    \r\n

    With medical professionals in more than 100+ countries and a 98% customer satisfaction rate, Doctoralia offers reliable health information. With an extensive network of doctors, we are able to offer a wide range of high quality medical tests. What's more, our prices are up to 70% cheaper than other online providers.

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    900+ specialists

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    900+ specialists

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Book an Appointment

    \r\n

    Book an Appointment

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Get 15-Minutes Complimentary online session.

    \r\n

    Limited Period Offer. Claim Now.

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

    Vision

    \r\n

    Our goal is to add business value to customers in information
    Technology

    \r\n
    \r\n \r\n

    Mission

    \r\n

    To build customer value by delevering software products and
    solution is innovation and cost-effective ways with the highest
    standards in security ,delivery and customer service for the
    health industry.

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

    \r\n Why KlinicQ? Empowering Your Health Journey\r\n

    \r\n

    KlinicQ gives you control over your health with easy access to except care,personalized
    insights and seamless Wellness management.Empowering you to make informed
    decision,anytime,anywhere. Your health,Simplified

    \r\n
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n {/* */}\r\n {/* */}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n \r\n {/*
    \r\n
    \r\n
    \r\n \"Image\r\n
    \r\n
    Personalized
    \r\n

    Tailored products and servicing offers.

    \r\n
    \r\n
    \r\n
    \r\n \"Image\r\n
    \r\n
    Simple
    \r\n

    Convenient, accurate and accessible.

    \r\n
    \r\n
    \r\n
    \r\n \"Image\r\n
    \r\n
    Efficient
    \r\n

    Rapid service patient inquiries are resolved on.

    \r\n
    \r\n
    \r\n
    \r\n \"Image\r\n
    \r\n
    Consistent
    \r\n

    Reliable clear communication and seamless service.

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

    Benifits of Patient

    \r\n
    \r\n
    \r\n

    The patient portal is designed to manage primary & family members under the same account with a unique ID for each member.

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

    Benifits of Physician

    \r\n
    \r\n
    \r\n

    A doctor portal is designed based on the physician's specialty and can work for any specialization.

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

    Benifits of Pharmacy

    \r\n
    \r\n
    \r\n

    A doctor portal is designed based on the physician's specialty and can work for any specialization.

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

    Benifits of Hospital

    \r\n
    \r\n
    \r\n

    A hospital portal is designed to manage multi-specialty and different consultation modes.

    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    \r\n Left Arrow\r\n
    \r\n
    \r\n
    \r\n
    \r\n Right Arrow\r\n
    \r\n
    \r\n
    \r\n */}\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n\r\n

    Expert Care, Anytime, Anywhere

    \r\n

    Access expert care anytime,anywhere.Consult licensed doctor,get personalized
    advice, and manage your health on the go-no waiting rooms,no appointment.

    \r\n
    \r\n {/*
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    */}\r\n {/* */}\r\n
    \r\n {/* \"Background\" */}\r\n \"Foreground\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Fostering Wellness with a Single Click

    \r\n
    \r\n
    \r\n

    Electronic Clinical Management System (e CMS) application. It is user-friendly, convenient, comprehensive, and integrated to manage all hospital operations safely and with no manual error usually associated with handwriting & paper-based records.

    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n \"...\"\r\n
    \r\n

    What to do if you think your child has the flu

    \r\n
    \r\n
    \r\n

    If you hear your child start coughing, it's natural to wonder: could this be the flu, or is it another virus like COVID or RSV, or even a common cold? Here's what to know about similarities between these illnesses and what to do if your child does have the flu.

    \r\n
    */}\r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n {/*
    */}\r\n {/* Read more\r\n \r\n\r\n\r\n\r\n\r\n */}\r\n {/*
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n \"...\"\r\n
    \r\n

    What to do if you think your child has the flu

    \r\n
    \r\n
    \r\n

    If you hear your child start coughing, it's natural to wonder: could this be the flu, or is it another virus like COVID or RSV, or even a common cold? Here's what to know about similarities between these illnesses and what to do if your child does have the flu.

    */}\r\n {/*
    */}\r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n {/*
    */}\r\n {/* Read more\r\n \r\n \r\n \r\n \r\n \r\n */}\r\n {/*
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    */}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n \r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(\r\n GoogleApiWrapper({\r\n apiKey: \"AIzaSyC4pBKGj8xlAtXpfpV5jhVa7NbMt_8Yb4g\",\r\n })(Home)\r\n);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport { support_categories, issue_description } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport support from \"../assets/images/support.png\";\r\nimport Label from \"../components/UI/Label\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport { supportApi,getTimeoutbycategory,sendemail } from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport axios from \"axios\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Dnaspinner from '../components/UI/Dnaspinner';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n }\r\n \r\nclass Support extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const timeout=this.state;\r\n \r\n this.state = {\r\n useremail: this.props.userdata.email,\r\n timeout:timeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n \r\n supportData: {\r\n name: \"\",\r\n category: \"\",\r\n email: \"\",\r\n // phone_number: \"\",\r\n issue_description: \"\",\r\n others: \"\",\r\n user_id: props.userdata.id,\r\n },\r\n errors: {\r\n name: \"\",\r\n category: \"\",\r\n email: \"\",\r\n phone_number: \"\",\r\n issue_description: \"\",\r\n others: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n \r\n }\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n \r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n };\r\n \r\n _onAction(e) {\r\n console.log('user did something', e)\r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n console.log('user is active', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n \r\n \r\n handlePhoneInput = (event) => {\r\n let supportData = this.state.supportData;\r\n supportData.phone_number = event;\r\n this.setState({ supportData });\r\n };\r\n handleInput = (e) => {\r\n let data = this.state.supportData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n\r\n if (name === \"name\" || name === \"email\" || name === \"phone_number\") {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ supportData: data });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.supportData;\r\n let errors = this.state.errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n // const value1 = value.slice(0, max);\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ supportData: data, errors: errors });\r\n }\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.supportData;\r\n let errors = this.state.errors\r\n errors[e.name] = \"\";\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ supportData: data,errors });\r\n };\r\n sendData = (e) => {\r\n e.preventDefault();\r\n\r\n let { supportData, errors } = this.state;\r\n\r\n supportData.type = \"support\";\r\n\r\n errors = Validation(supportData, errors);\r\n\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let supportData = this.state.supportData;\r\n let url = supportApi;\r\n supportData.category = supportData.category.label;\r\n supportData.issue_description = supportData.issue_description.label;\r\n axios\r\n .post(url, supportData, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(data);\r\n if (data.status !== \"0\") {\r\n data.error_type = \"success\";\r\n // this.setState({\r\n // formSuccess: data,\r\n\r\n //});\r\n \r\n toast.success(\"Your ticket has been created.Our support team will get back to you as soon as possible.\",{\r\n className:\"toast-success\"\r\n });\r\n this.setState({ loading: false });\r\n \r\n } else {\r\n data.error_type = \"error\";\r\n // this.setState({\r\n // formSuccess: data,\r\n // });\r\n toast.error(\"Your message could not be sent.\",{\r\n className:\"toast-error\"\r\n });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n }\r\n\r\n setTimeout(() => { \r\n let formSuccess = this.state.formSuccess;\r\n formSuccess.message =\"\"\r\n formSuccess.status =\"\"\r\n this.setState({formSuccess:formSuccess})\r\n },2000);\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n }\r\n sendsupportmail=(e)=>{\r\n let { supportData, errors } = this.state;\r\n supportData.type = \"support\";\r\n\r\n errors = Validation(supportData, errors);\r\n\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n let reqdata = {\r\n \"to\" : \"support@klinicq.com \",\r\n \"subject\" : supportData.issue_description.value,\r\n \"mailHeader\" : \"From \"+supportData.name ,\r\n \"message\": \"

    \" +supportData.issue_description.value + \"

    \" + \"

    \"+ supportData.others + \"

    \"+ \"

    \" + supportData.email + \"

    or

    \" + this.state.useremail + \"

    \"\r\n }\r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data;\r\n let reqdata = {\r\n \"to\" : supportData.email,\r\n \"subject\" : supportData.issue_description.value,\r\n \"mailHeader\" : \"From \"+supportData.name ,\r\n \"message\": \"Dear \"+supportData.name+ \",

    Your support ticket on Password issues has been submitted. We try to reply to all tickets as soon as possible,usually within 24 hrs. Kindly check the reference copy of your submission.

    Issue Description: \" +supportData.issue_description.value + \"

    \" + \"

    Ticket Message: \"+ supportData.others + \"

    \"+ \"

    Your Email ID: \" + supportData.email + \"

    or

    \" + this.state.useremail + \"

    Once our staff replies to your ticket. you will receive a response email notification.

    Sincerely,

    KlinicQ Team.

    \"\r\n }\r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data;\r\n this.clearMessage();\r\n toast.success(\"Your ticket has been created.Our support team will get back to you as soon as possible.\",{\r\n className:\"toast-success\"\r\n });\r\n })\r\n }).catch((err) => {\r\n console.log(err);\r\n // successMessage = {message: err,status:\"0\"};\r\n })\r\n }\r\n }\r\n \r\n clearMessage = () => {\r\n \r\n this.setState({\r\n // formSuccess: { message: \"\" },\r\n supportData: {\r\n name: \"\",\r\n category: \"\",\r\n email: \"\",\r\n // phone_number: \"\",\r\n issue_description: \"\",\r\n others: \"\",\r\n user_id: this.props.userdata.id,\r\n },\r\n errors:{\r\n name: \"\",\r\n category: \"\",\r\n email: \"\",\r\n phone_number: \"\",\r\n issue_description: \"\",\r\n others: \"\",\r\n }\r\n })\r\n \r\n }\r\n render() {\r\n const { supportData, errors, formSuccess,timeout,loading } = this.state;\r\n\r\n return (\r\n
    \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={timeout} />\r\n\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n

    Support

    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Call Us
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n
    \r\n {/*
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Message Us
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {/*

    Attachment

    */}\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n
    \r\n \r\n {/* {showmodel ? (
    \r\n\r\n \r\n {/* {showmodel ? (
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Thanks you
    \r\n \r\n
    \r\n
    \r\n

    Thanks for your contacting us. Your ticket number\r\n is 12345 our support team will contact you shortly\r\n to resolve your issue\r\n

    \r\n

    Thanks for your patience

    \r\n
    \r\n
    \r\n
    \r\n
    ) : \"\"} */}\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n );\r\n }\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n timeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n \r\n \r\n\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,mapDispatchToProps\r\n)(Support);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport { support_categories, issue_description } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport support from \"../assets/images/support.png\";\r\nimport Label from \"../components/UI/Label\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport { supportApi,getTimeoutbycategory,sendemail } from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport axios from \"axios\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Dnaspinner from '../components/UI/Dnaspinner';\r\nfunction mapStateToProps(state) {\r\n return {\r\n // appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\n/* function mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n } */\r\n \r\nclass SupportDefault extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const timeout=this.state;\r\n \r\n this.state = {\r\n // useremail: this.props.userdata.email,\r\n timeout:timeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n \r\n supportData: {\r\n name: \"\",\r\n category: \"\",\r\n email: \"\",\r\n // phone_number: \"\",\r\n issue_description: \"\",\r\n others: \"\",\r\n // user_id: props.userdata.id,\r\n },\r\n errors: {\r\n name: \"\",\r\n category: \"\",\r\n email: \"\",\r\n phone_number: \"\",\r\n issue_description: \"\",\r\n others: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n \r\n }\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n \r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n };\r\n \r\n _onAction(e) {\r\n console.log('user did something', e)\r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n console.log('user is active', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n \r\n \r\n handlePhoneInput = (event) => {\r\n let supportData = this.state.supportData;\r\n supportData.phone_number = event;\r\n this.setState({ supportData });\r\n };\r\n handleInput = (e) => {\r\n let data = this.state.supportData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n\r\n if (name === \"name\" || name === \"email\" || name === \"phone_number\") {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n }\r\n this.setState({ supportData: data });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.supportData;\r\n let errors = this.state.errors;\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n // const value1 = value.slice(0, max);\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ supportData: data, errors: errors });\r\n }\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.supportData;\r\n let errors = this.state.errors\r\n errors[e.name] = \"\";\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ supportData: data,errors });\r\n };\r\n sendData = (e) => {\r\n e.preventDefault();\r\n\r\n let { supportData, errors } = this.state;\r\n\r\n supportData.type = \"support\";\r\n\r\n errors = Validation(supportData, errors);\r\n\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let supportData = this.state.supportData;\r\n let url = supportApi;\r\n supportData.category = supportData.category.label;\r\n supportData.issue_description = supportData.issue_description.label;\r\n axios\r\n .post(url, supportData, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(data);\r\n if (data.status !== \"0\") {\r\n data.error_type = \"success\";\r\n // this.setState({\r\n // formSuccess: data,\r\n\r\n //});\r\n \r\n toast.success(\"Your ticket has been created.Our support team will get back to you as soon as possible.\",{\r\n className:\"toast-success\"\r\n });\r\n this.setState({ loading: false });\r\n \r\n } else {\r\n data.error_type = \"error\";\r\n // this.setState({\r\n // formSuccess: data,\r\n // });\r\n toast.error(\"Your message could not be sent.\",{\r\n className:\"toast-error\"\r\n });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n }\r\n\r\n setTimeout(() => { \r\n let formSuccess = this.state.formSuccess;\r\n formSuccess.message =\"\"\r\n formSuccess.status =\"\"\r\n this.setState({formSuccess:formSuccess})\r\n },2000);\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n }\r\n sendsupportmail=(e)=>{\r\n let { supportData, errors } = this.state;\r\n supportData.type = \"support\";\r\n\r\n errors = Validation(supportData, errors);\r\n\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n let reqdata = {\r\n \"to\" : \"support@klinicq.com \",\r\n \"subject\" : supportData.issue_description.value,\r\n \"mailHeader\" : \"From \"+supportData.name ,\r\n \"message\": \"

    \" +supportData.issue_description.value + \"

    \" + \"

    \"+ supportData.others + \"

    \"+ \"

    \" + supportData.email + \"

    \"\r\n }\r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data;\r\n let reqdata = {\r\n \"to\" : supportData.email,\r\n \"subject\" : supportData.issue_description.value,\r\n \"mailHeader\" : \"From \"+supportData.name ,\r\n \"message\": \"Dear \"+supportData.name+ \",

    Your support ticket on Password issues has been submitted. We try to reply to all tickets as soon as possible,usually within 24 hrs. Kindly check the reference copy of your submission.

    Issue Description: \" +supportData.issue_description.value + \"

    \" + \"

    Ticket Message: \"+ supportData.others + \"

    \"+ \"

    Your Email ID: \" + supportData.email + \"

    \" + \"

    Once our staff replies to your ticket. you will receive a response email notification.

    Sincerely,

    KlinicQ Team.

    \"\r\n }\r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data;\r\n this.clearMessage();\r\n toast.success(\"Your ticket has been created.Our support team will get back to you as soon as possible.\",{\r\n className:\"toast-success\"\r\n });\r\n })\r\n }).catch((err) => {\r\n console.log(err);\r\n // successMessage = {message: err,status:\"0\"};\r\n })\r\n }\r\n }\r\n \r\n clearMessage = () => {\r\n \r\n this.setState({\r\n // formSuccess: { message: \"\" },\r\n supportData: {\r\n name: \"\",\r\n category: \"\",\r\n email: \"\",\r\n // phone_number: \"\",\r\n issue_description: \"\",\r\n others: \"\",\r\n // user_id: this.props.userdata.id,\r\n },\r\n errors:{\r\n name: \"\",\r\n category: \"\",\r\n email: \"\",\r\n phone_number: \"\",\r\n issue_description: \"\",\r\n others: \"\",\r\n }\r\n })\r\n \r\n }\r\n render() {\r\n const { supportData, errors, formSuccess,timeout,loading } = this.state;\r\n\r\n return (\r\n
    \r\n {/* \r\n */}\r\n {loading && }\r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    */}\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={timeout} />\r\n\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n

    Support

    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Call Us
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Message Us
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {/*

    Attachment

    */}\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n
    \r\n {/* */}\r\n {/* {showmodel ? (
    \r\n\r\n \r\n {/* {showmodel ? (
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Thanks you
    \r\n \r\n
    \r\n
    \r\n

    Thanks for your contacting us. Your ticket number\r\n is 12345 our support team will contact you shortly\r\n to resolve your issue\r\n

    \r\n

    Thanks for your patience

    \r\n
    \r\n
    \r\n
    \r\n
    ) : \"\"} */}\r\n
    \r\n\r\n \r\n\r\n
    \r\n\r\n );\r\n }\r\n componentDidMount = () => {\r\n // console.log(this.props.userdata.user_type);\r\n /* axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n timeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n */\r\n \r\n\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(SupportDefault);","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport LogoSection from \"../components/UI/LogoSection\";\r\nimport Label from \"../components/UI/Label\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { CountryDropdown, RegionDropdown } from \"react-country-region-selector\";\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Select from \"react-select\";\r\nimport Button from \"../components/UI/Button\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport moment from \"moment\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport FooterSection from '../components/UI/FooterSection';\r\n\r\nimport Validation from \"../actions/Validation\";\r\nimport axios from \"axios\";\r\nimport {\r\n addVendor,\r\n getallVendor,\r\n getAllSubscriptions,\r\n removeVendorFromVendorlist,\r\n} from \"../config/url.json\";\r\nimport { vendor_category, CONFIG, imageconfig } from \"../config/data\";\r\nimport S3 from \"react-aws-s3\";\r\n\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\n// const currentYear = new Date().getFullYear();\r\nconst google = window.google;\r\nfunction mapStateToProps(state) {\r\n // console.log(state);\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n loggedIn: state.AuthReducer.loggedIn,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {};\r\n}\r\n\r\nclass VendorForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n records: [],\r\n vendorData: {\r\n id:\"\",\r\n vendor_name: \"\",\r\n vendor_category: \"\",\r\n vendor_photo: \"\",\r\n vendor_website: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n state: \"\",\r\n country: \"\",\r\n zipcode: \"\",\r\n google_address: false,\r\n phone_code: \"+91\",\r\n phone_number: \"\",\r\n email: \"\",\r\n type: \"vendorform\",\r\n vendor_subscription: \"\",\r\n },\r\n vendor_image_url: \"\",\r\n vendor_subscription_list: [],\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n deletePopup: false,\r\n errors: {\r\n vendor_name: \"\",\r\n vendor_category: \"\",\r\n vendor_photo: \"\",\r\n vendor_website: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n state: \"\",\r\n country: \"\",\r\n zipcode: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n vendor_subscription: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"vendor_name\",\r\n text: \"Vendor Name\",\r\n className: \"vendor_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"vendor_category\",\r\n text: \"Vendor Category\",\r\n className: \"vendor_category\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"vendor_subscription_label\",\r\n text: \"Vendor Subscription\",\r\n className: \"vendor_subscription_label\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"payment_status\",\r\n text: \"Payment Status\",\r\n className: \"payment_status\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"expires_at\",\r\n text: \"Expires at\",\r\n className: \"expires_at\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return record.expires_at ? moment(record.expires_at).format(\"DD-MM-YYYY\") : '';\r\n },\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n this.onEditClick(record)}\r\n >\r\n \r\n \r\n {\" \"}\r\n \r\n this.setState({ deletePopup: true, record: record })\r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n show_pagination: true,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_info: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n onEditClick = (event) => {\r\n window.location.href = \"/vendor/\" + event.id;\r\n };\r\n deleteRecord(record) {\r\n \r\n let id = record.id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(removeVendorFromVendorlist, { id: id }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n console.log(response);\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch((e) => { });\r\n this.setState({ deletePopup: false, record: null });\r\n\r\n this.setState({\r\n confirmedDelete: false,\r\n });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getallVendor, null, CONFIG)\r\n .then((list) => {\r\n console.log(list);\r\n let users = [];\r\n let userlist = list.data.data;\r\n userlist.forEach((element, index) => {\r\n let user = {};\r\n user.s_no = index + 1;\r\n user.id=element.id;\r\n user.vendor_name = element.vendor_name;\r\n user.vendor_category = element.vendor_category;\r\n user.phone_number = element.phone_number;\r\n user.email = element.email;\r\n user.vendor_subscription_label = element.vendor_subscription_label;\r\n user.payment_status = element.payment_status;\r\n user.expires_at = element.expires_at;\r\n users[index] = user;\r\n });\r\n \r\n this.setState({ records: users });\r\n // this.setState({ records: list.data.data });\r\n })\r\n .catch((e) => { console.log(e) });\r\n \r\n }\r\n handleFormSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n let { vendorData, errors, google_address } = this.state;\r\n console.log(vendorData);\r\n errors = Validation(vendorData, errors);\r\n console.log(errors);\r\n if (!google_address && vendorData.address1 !== \"\") {\r\n errors.address1 = \"Please choose address from autocomplete\";\r\n }\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n console.log(\"form is valid\");\r\n\r\n try {\r\n let data = this.state.vendorData;\r\n data.vendor_category = data.vendor_category.value;\r\n data.vendor_subscription = data.vendor_subscription.value;\r\n data.vendor_subscription_label = data.vendor_subscription.label;\r\n data.phone_number = data.phone_number.replace(data.phone_code, \"\");\r\n\r\n const result = axios\r\n .post(addVendor, data, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n\r\n // return false;\r\n if (response.status !== \"0\") {\r\n window.location.href = \"/vendor/\" + response.data;\r\n } else {\r\n data.phone_number = data.phone_code.concat(data.phone_number);\r\n data.vendor_subscription = {\r\n label: data.vendor_subscription_label,\r\n value: data.vendor_subscription,\r\n };\r\n data.vendor_category = {\r\n label: data.vendor_category,\r\n value: data.vendor_category,\r\n };\r\n this.setState({ error: response.message, vendorData: data });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n // dispatch(\r\n // addUserDeails(result.data)\r\n // )\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n\r\n // dispatch(\r\n // addError(e.message)\r\n // )\r\n }\r\n }\r\n };\r\n handlevendorcategoryselectChange = (selectedOptions, e) => {\r\n let data = this.state.vendorData;\r\n let errors = this.state.errors;\r\n data[e.name] = selectedOptions;\r\n errors.vendor_category=\"\";\r\n this.setState({ vendorData: data,errors:errors });\r\n };\r\n handlevendorsubscriptionselectChange = (selectedOptions, e) => {\r\n let data = this.state.vendorData;\r\n let errors = this.state.errors;\r\n data[e.name] = selectedOptions;\r\n errors.vendor_subscription=\"\";\r\n this.setState({ vendorData: data,errors:errors });\r\n };\r\n handleInput = (e) => {\r\n let data = this.state.vendorData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n\r\n // if (name === \"business_name\") {\r\n // this.validateMaxLength(name, value, max);\r\n // } else if (name === \"email\") {\r\n // this.validateMaxLength(name, value, max);\r\n // } else if (name === \"password\") {\r\n // this.validateMaxLength(name, value, max);\r\n // } else if (name === \"address1\") {\r\n // this.validateMaxLength(name, value, max);\r\n // } else if (name === \"address2\") {\r\n // this.validateMaxLength(name, value, max);\r\n // } else if (name === \"city\") {\r\n // this.validateMaxLength(name, value, max);\r\n // } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n // }\r\n\r\n this.setState({ vendorData: data, errors: errors });\r\n };\r\n\r\n componentDidMount() {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address1\"),\r\n {}\r\n );\r\n console.log(\"dd\");\r\n\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSubscriptions, null, CONFIG)\r\n .then((result) => {\r\n console.log(result.data);\r\n if (result.data.status === \"1\") {\r\n let vendor_subscription_list = [];\r\n result.data.data.forEach((element, index) => {\r\n let obj = {};\r\n obj = element;\r\n obj.label = element.subscription_name;\r\n obj.value = element.id;\r\n vendor_subscription_list[index] = obj;\r\n });\r\n\r\n this.setState({\r\n vendor_subscription_list: vendor_subscription_list,\r\n });\r\n } else {\r\n alert(\"Subscription list empty\");\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n console.log(\"business user getbyid failed\");\r\n });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getallVendor, null, CONFIG)\r\n .then((result) => {\r\n console.log(result);\r\n if (result.data.status === \"1\") {\r\n let users = [];\r\n let userlist = result.data.data;\r\n userlist.forEach((element, index) => {\r\n let user = {};\r\n user.s_no = index + 1;\r\n user.id=element.id;\r\n user.vendor_name = element.vendor_name;\r\n user.vendor_category = element.vendor_category;\r\n user.phone_number = element.phone_number;\r\n user.email = element.email;\r\n user.vendor_subscription_label = element.vendor_subscription_label;\r\n user.payment_status = element.payment_status;\r\n user.expires_at = element.expires_at;\r\n users[index] = user;\r\n });\r\n \r\n this.setState({ records: users });\r\n } else {\r\n this.setState({ records: [] });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e.data);\r\n console.log(\"business user getbyid failed\");\r\n });\r\n }\r\n\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n let errors=this.state.errors;\r\n console.log(place);\r\n\r\n let { vendorData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n var lat = place.geometry.location.lat();\r\n // get lng\r\n var lng = place.geometry.location.lng();\r\n vendorData.latitude = lat.toString();\r\n vendorData.longitude = lng.toString();\r\n vendorData.place_url = place.url;\r\n\r\n // console.log(place.name);\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n // var valShort = place.address_components[i].short_name;\r\n // console.log(val);\r\n if (addressType === \"administrative_area_level_1\")\r\n vendorData.state = val;\r\n if (addressType === \"locality\")\r\n vendorData.city = val;\r\n if (addressType === \"country\") vendorData.country = val;\r\n // if (addressType === \"street_number\") {\r\n\r\n vendorData.address1 = place.name;\r\n // }\r\n if (addressType === \"sublocality_level_1\") vendorData.address2 = val;\r\n if (addressType === \"postal_code\") vendorData.zipcode = val;\r\n }\r\n }\r\n\r\n // let ClientData = this.state;\r\n //errors.city_error=\"\";\r\n //errors.state_error=\"\";\r\n //errors.country_error=\"\";\r\n //errors.zip_code_error=\"\";\r\n errors.city=\"\";\r\n errors.state=\"\";\r\n errors.country=\"\";\r\n errors.zipcode=\"\";\r\n this.setState({\r\n vendorData,\r\n google_address: true,\r\n });\r\n }\r\n\r\n /* for country detail change */\r\n selectCountry(val) {\r\n let data = this.state.vendorData;\r\n let errors = this.state.errors;\r\n data.country = val;\r\n errors.country = \"\"\r\n this.setState({ vendorData: data,errors:errors });\r\n }\r\n /* for state detail change */\r\n\r\n selectState(val) {\r\n let data = this.state.vendorData;\r\n let errors = this.state.errors;\r\n data.state = val;\r\n errors.state = \"\"\r\n this.setState({ vendorData: data,errors:errors });\r\n }\r\n handlePhoneInput = (event) => {\r\n let vendorData = this.state.vendorData;\r\n let errors = this.state.errors;\r\n vendorData.phone_number = event;\r\n errors.phone_number=\"\"\r\n this.setState({ vendorData,errors:errors });\r\n };\r\n onUploadChange = (event) => {\r\n event.preventDefault();\r\n\r\n console.log(event.target.files[0]);\r\n let file = event.target.files[0];\r\n\r\n let img = URL.createObjectURL(event.target.files[0]);\r\n this.setState({ vendor_image_url: img });\r\n let newfileName = event.target.files[0].name;\r\n imageconfig.dirName = \"vendor\";\r\n\r\n console.log(imageconfig);\r\n const reacts3client = new S3(imageconfig);\r\n console.log(reacts3client);\r\n reacts3client.uploadFile(file, newfileName).then((data) => {\r\n console.log(data);\r\n if (data.status === 204) {\r\n console.log(\"success\");\r\n let vendorData = this.state.vendorData;\r\n vendorData.vendor_photo = data.location;\r\n this.setState({ vendorData: vendorData });\r\n } else {\r\n console.log(\"error\");\r\n }\r\n });\r\n };\r\n cancel = () => {\r\n\r\n let data = this.state.vendorData;\r\n data.vendor_name = \"\";\r\n data.vendor_website=\"\";\r\n data.id = \"\";\r\n data.vendor_category = \"\";\r\n data.address1=\"\";\r\n data.city=\"\";\r\n data.country=\"\";\r\n data.state=\"\";\r\n data.phone_number=\"\";\r\n data.zipcode=\"\";\r\n data.email=\"\";\r\n data.vendor_subscription=\"\";\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ vendorData: data});\r\n }\r\n\r\n clearErrors = (errors) => {\r\n\r\n errors.vendor_name = \"\";\r\n errors.vendor_category = \"\";\r\n errors.address1 = \"\";\r\n errors.city=\"\";\r\n errors.state=\"\";\r\n errors.country=\"\";\r\n errors.email=\"\";\r\n errors.vendor_subscription=\"\";\r\n errors.phone_number=\"\";\r\n errors.zipcode=\"\";\r\n return errors\r\n }\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const { vendorData, errors,tableSuccess,formSuccess } = this.state;\r\n\r\n return (\r\n
    \r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    */}\r\n\r\n
    \r\n {/* {error ? : null} */}\r\n
    \r\n

    Advertisement Management

    \r\n
    \r\n
    \r\n
    \r\n
    Vendor Form
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n this.setState({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n \r\n \r\n
    \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.isEditable ? (\r\n
    \r\n \r\n \r\n Choose file\r\n \r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {vendorData.vendor_subscription ? vendorData.vendor_subscription.amount : null}

    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {(this.state.visit_type.value\r\n //&& !this.state.reschedule\r\n == 'inperson' && !this.state.reschedule) ? (\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n \r\n {this.state.paymenttypeforhospital==\"Online\"?\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n Pay online\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n :\"\"}\r\n {this.state.paymenttypeforhospital===\"Direct\"?\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Pay at Clinic\r\n \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.visit_type.value==\"inperson\" && this.state.payment_mode==\"Online\")|| this.state.visit_type.value==\"online\"?\r\n (<>
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.doctor_details ? this.state.doctor_details.consulting_fees : \"\"\r\n } INR\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.visit_type.value==\"online\" ? this.state.onlineservice_charges : this.state.directservice_charges} INR\r\n
    \r\n
    ): \"\"}\r\n {this.state.visit_type.value==\"inperson\" && this.state.payment_mode==\"Direct\"?\r\n (
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.directservice_charges} INR\r\n
    \r\n
    ):\"\"}\r\n{selectedHours.isAvailable ? (
    \r\n
    \r\n \r\n\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.reschedule ? (\r\n  \r\n \r\n  \r\n \r\n  \r\n {/* \r\n Join\r\n */}\r\n ) : (\r\n \r\n
    \r\n  \r\n \r\n
    \r\n \r\n
    )}\r\n {/* */}\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n Rescheduling the appointment\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.business_name}\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {this.state.deleteConfirm ?\r\n
    \r\n

    Are you sure you want to delete {this.state.updateShift.shiftOccurence} Occurence ?

    \r\n\r\n
    \r\n
    \r\n \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.updateShift.from < new Date() ? \"\":\r\n
    \r\n
    \r\n \r\n
    \r\n  \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n }\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n Create Shift\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \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.handleDOBChange(date, \"createShift.from\")\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n \r\n \r\n to\r\n \r\n \r\n this.handleDOBChange(date, \"createShift.to\")\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n \r\n \r\n {this.state.createShift.totalDays} Days\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {/* */}\r\n \r\n \r\n to\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {/* */}\r\n \r\n \r\n to\r\n \r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Add\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps,mapDispatchToProps)(DragDropContext(ShiftPlanner));\r\n","import axios from \"axios\";\r\nimport React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n getDateISOFormat,\r\n getFrequencyFromDays,\r\n setDaysoftheWeek\r\n} from \"../../constants/globalLevelFunctions\";\r\nimport {\r\n businessUserShiftPlannerView,\r\n ListBusinessbyBusinessuser,\r\n createShiftPlanner,\r\n updateshiftplanner,\r\n removeshiftplanner,\r\n getTimeoutbycategory\r\n} from \"../../config/url.json\";\r\nimport BusinessUserHeader from \"../../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../../components/container/SideBar\";\r\nimport Scheduler, { SchedulerData, ViewTypes } from \"react-big-scheduler\";\r\nimport \"react-big-scheduler/lib/css/style.css\";\r\nimport DragDropContext from \"../../components/UI/withDnDContext\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport Select from \"react-select\";\r\nimport * as moment from \"moment\";\r\n// import TimePicker from \"react-bootstrap-time-picker\";\r\nimport {\r\n working_days,\r\n schedule_type,\r\n shift_series,\r\n} from \"../../../src/constants/config/data\";\r\nimport CheckboxOrRadioGroup from \"../../components/UI/CheckboxOrRadioGroup\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport Spinner from \"../../components/UI/Spinner\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\n// import { data } from \"jquery\";\r\nimport { Fragment } from \"react\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal'\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Dnaspinner from \"../../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n }\r\n\r\n\r\nconst initalValue = {\r\n from: \"\",\r\n to: \"\",\r\n totalDays: 0,\r\n morning_shift_start: \"0\",\r\n morning_shift_end: \"0\",\r\n evening_shift_start: \"0\",\r\n evening_shift_end: \"0\",\r\n hours_24: false,\r\n working_days: [],\r\n working_all_days: false,\r\n selectedDoc: \"\",\r\n schedule_type: \"\",\r\n errors: {\r\n selectedDoc: \"\",\r\n shift: \"\",\r\n to: \"\",\r\n from: \"\",\r\n schedule_type: \"\",\r\n },\r\n};\r\n\r\nconst initalUpdateShift = {\r\n doctorName: \"\",\r\n business_user_id: \"\",\r\n from: \"\",\r\n to: \"\",\r\n totalDays: 0,\r\n shift_start: \"\",\r\n shift_end: \"\",\r\n schedule_type: \"\",\r\n shiftOccurence: [\"Single Day\"],\r\n event_id: \"\",\r\n errors: {\r\n selectedDoc: \"\",\r\n shift: \"\",\r\n to: \"\",\r\n from: \"\",\r\n schedule_type: \"\",\r\n },\r\n id: \"\"\r\n};\r\n\r\nclass DoctorShiftPlanner extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n let schedulerData = new SchedulerData(new Date(), ViewTypes.Week);\r\n schedulerData.localeMoment.locale(\"en\");\r\n schedulerData.config.resourceName = \"Hospitals\";\r\n schedulerData.config.views = [\r\n {\r\n viewName: \"Day\",\r\n viewType: ViewTypes.Day,\r\n showAgenda: false,\r\n isEventPerspective: false,\r\n },\r\n {\r\n viewName: \"Week\",\r\n viewType: ViewTypes.Week,\r\n showAgenda: false,\r\n isEventPerspective: false,\r\n },\r\n {\r\n viewName: \"Month\",\r\n viewType: ViewTypes.Month,\r\n showAgenda: false,\r\n isEventPerspective: false,\r\n },\r\n ];\r\n schedulerData.config.schedulerWidth = \"80%\";\r\n schedulerData.config.calendarPopoverEnabled = true;\r\n\r\n this.from = \"\";\r\n this.idleTimer = React.createRef()\r\n const timeout=this.state;\r\n this.state = {\r\n timeout:timeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n viewModel: schedulerData,\r\n doctors_list: [],\r\n events: [],\r\n resources: [],\r\n from: \"\",\r\n to: \"\",\r\n openModal: false,\r\n editModel: false,\r\n createShift: initalValue,\r\n updateShift: initalUpdateShift,\r\n loading: false,\r\n deleteConfirm: false\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n }\r\n\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n \r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n };\r\n \r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n console.log('user is active', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n \r\n\r\n\r\n closePopup = (e) => {\r\n this.setState({\r\n openModal: false,\r\n editModel: false,\r\n deleteConfirm: false\r\n });\r\n };\r\n\r\n deleteEvent = (e) => {\r\n this.setState({ deleteConfirm: true });\r\n }\r\n\r\n conformDeleteEvent = (e) => {\r\n console.log(this.state.updateShift);\r\n\r\n let udpateObj = this.state.updateShift;\r\n\r\n var data = {};\r\n //find all series or only this occurence\r\n //shift_series static data from constant\r\n if (shift_series[1] === udpateObj.shiftOccurence.toString()) {\r\n data = {\r\n entireEventUpdate: true,\r\n id: udpateObj.appointment.event_id,\r\n businessUserid: udpateObj.appointment.business_user_id,\r\n businessId: udpateObj.appointment.business_id,\r\n startDate: getDateISOFormat(udpateObj.from),\r\n endDate: getDateISOFormat(udpateObj.to),\r\n }\r\n } else {\r\n data = {\r\n singleEventUpdate: true,\r\n appointment: {\r\n schedule_id: udpateObj.appointment.schedule_id,\r\n }\r\n }\r\n }\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(removeshiftplanner, data)\r\n .then((result) => {\r\n if (result.data.status === 1) {\r\n console.log(result);\r\n this.closePopup();\r\n // alert(result.data.message);\r\n toast.error(\"Shifts have been deleted successfully.\",{\r\n className:\"toast-error\"\r\n });\r\n this.searchEvents();\r\n } else if (result.data.status === 0) {\r\n console.log(result);\r\n this.closePopup();\r\n // alert(result.data.message);\r\n toast.error(\"Shift could not be deleted.\",{\r\n className:\"toast-success\"\r\n });\r\n //somesh remove once backend is fixed\r\n this.searchEvents();\r\n }\r\n })\r\n .catch((e) => {\r\n //alert(e);\r\n console.log(e);\r\n })\r\n .finally(() => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n\r\n };\r\n\r\n updateEvent = (e) => {\r\n let udpateObj = this.state.updateShift;\r\n\r\n var data = {};\r\n //find all series or only this occurence\r\n //shift_series static data from constant\r\n\r\n if (shift_series[1] === udpateObj.shiftOccurence.toString()) {\r\n data = this.getAllEventSeriesObj(udpateObj);\r\n } else {\r\n data = this.getSingleEventObj(udpateObj);\r\n }\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(updateshiftplanner, data)\r\n .then((result) => {\r\n if (result.data.status === 1) {\r\n console.log(\"this.state.viewModel\");\r\n console.log(result);\r\n this.closePopup();\r\n // alert(result.data.message);\r\n toast.success(\"Shifts have been updated successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n if (data.singleEventUpdate) {\r\n //Refresh table data without calling backend services\r\n let schedulerData = this.state.viewModel;\r\n\r\n let events = this.state.events;\r\n events.filter(\r\n (eventItem) => {\r\n if (eventItem.id === udpateObj.id) {\r\n console.log(eventItem);\r\n eventItem.schedule_type = data.appointment.schedule_type;\r\n eventItem.start = data.appointment.appt_start_time;\r\n eventItem.end = data.appointment.appt_end_time;\r\n eventItem.bgColor = (data.appointment.schedule_type.toLowerCase() === \"appointment\")\r\n ? \"#007dd7\"\r\n : \"#00b300\"\r\n }\r\n }\r\n );\r\n this.setState({\r\n events\r\n });\r\n schedulerData.setEvents(events);\r\n this.setState({\r\n viewModel: schedulerData\r\n });\r\n } else {\r\n this.searchEvents();\r\n }\r\n\r\n } else if (result.data.status === 0) {\r\n console.log(result);\r\n this.closePopup();\r\n // alert(result.data.message);\r\n toast.error(\"Shift could not be updated.\",{\r\n className:\"toast-error\"\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n //alert(e);\r\n console.log(e);\r\n })\r\n .finally(() => {\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n\r\n getSingleEventObj = (udpateObj) => {\r\n let appt_start_time = \"\";\r\n if (isNaN(udpateObj.shift_start)) {\r\n appt_start_time =\r\n getDateISOFormat(udpateObj.from) + \"T\" + udpateObj.shift_start + \":00\";\r\n } else {\r\n appt_start_time =\r\n getDateISOFormat(udpateObj.from) +\r\n \"T\" +\r\n new Date(udpateObj.shift_start * 1000).toISOString().substr(11, 8);\r\n }\r\n\r\n let appt_start_end = \"\";\r\n if (isNaN(udpateObj.shift_end)) {\r\n appt_start_end =\r\n getDateISOFormat(udpateObj.from) + \"T\" + udpateObj.shift_end + \":00\";\r\n } else {\r\n appt_start_end =\r\n getDateISOFormat(udpateObj.from) +\r\n \"T\" +\r\n new Date(udpateObj.shift_end * 1000).toISOString().substr(11, 8);\r\n }\r\n\r\n let data = {\r\n singleEventUpdate: true,\r\n businessUserid: udpateObj.appointment.business_user_id,\r\n businessId: udpateObj.appointment.business_id,\r\n appointment: {\r\n schedule_id: udpateObj.appointment.schedule_id,\r\n business_id: udpateObj.appointment.business_id,\r\n business_user_id: udpateObj.appointment.business_user_id,\r\n schedule_day_id: udpateObj.appointment.schedule_day_id,\r\n appt_start_time: appt_start_time,\r\n appt_end_time: appt_start_end,\r\n appt_next_available: udpateObj.appointment.appt_next_available,\r\n status: \"Scheduled\",\r\n schedule_type: udpateObj.schedule_type.value,\r\n },\r\n id: udpateObj.appointment.event_id,\r\n };\r\n\r\n return data;\r\n };\r\n\r\n getAllEventSeriesObj = (udpateObj) => {\r\n console.log(udpateObj);\r\n let sessionArray = [];\r\n let start_date_time = \"\";\r\n if (isNaN(udpateObj.shift_start)) {\r\n start_date_time =\r\n getDateISOFormat(udpateObj.from) + \"T\" + udpateObj.shift_start + \":00\";\r\n } else {\r\n start_date_time =\r\n getDateISOFormat(udpateObj.from) +\r\n \"T\" +\r\n new Date(udpateObj.shift_start * 1000).toISOString().substr(11, 8);\r\n }\r\n\r\n let end_date_time = \"\";\r\n if (isNaN(udpateObj.shift_end)) {\r\n end_date_time =\r\n getDateISOFormat(udpateObj.from) + \"T\" + udpateObj.shift_end + \":00\";\r\n } else {\r\n end_date_time =\r\n getDateISOFormat(udpateObj.from) +\r\n \"T\" +\r\n new Date(udpateObj.shift_end * 1000).toISOString().substr(11, 8);\r\n }\r\n\r\n if (\r\n start_date_time !== \"\" &&\r\n end_date_time !== \"\"\r\n ) {\r\n let sessionObj = {\r\n type: \"Morning\",\r\n from: start_date_time,\r\n to: end_date_time\r\n };\r\n sessionArray.push(sessionObj);\r\n }\r\n\r\n let data = {\r\n entireEventUpdate: true,\r\n businessUserid: udpateObj.appointment.business_user_id,\r\n businessId: udpateObj.appointment.business_id,\r\n startDate: getDateISOFormat(udpateObj.from),\r\n endDate: getDateISOFormat(udpateObj.to),\r\n status: \"Scheduled\",\r\n scheduleType: udpateObj.schedule_type.value,\r\n // frequency: getFrequencyFromDays(udpateObj.working_days),\r\n isAllDayEvent: false,\r\n id: udpateObj.appointment.event_id,\r\n sessions: sessionArray,\r\n };\r\n\r\n return data;\r\n };\r\n\r\n prevClick = (schedulerData) => {\r\n schedulerData.prev();\r\n schedulerData.setEvents(this.state.events);\r\n this.setState({\r\n viewModel: schedulerData,\r\n });\r\n\r\n //if beyond search results then call search events to get the data from db \r\n if(new Date(schedulerData.startDate) < this.state.from){\r\n console.log(schedulerData.viewType);\r\n console.log(schedulerData.startDate);\r\n\r\n this.setState({\r\n from: new Date(schedulerData.startDate)\r\n }, () => {\r\n this.searchEvents()\r\n }); \r\n }\r\n\r\n };\r\n\r\n nextClick = (schedulerData) => {\r\n schedulerData.next();\r\n schedulerData.setEvents(this.state.events);\r\n this.setState({\r\n viewModel: schedulerData,\r\n });\r\n\r\n //if beyond search results then call search events to get the data from db \r\n if(new Date(schedulerData.endDate) > this.state.to){\r\n console.log(schedulerData.viewType);\r\n console.log(schedulerData.startDate);\r\n\r\n this.setState({\r\n to: new Date(schedulerData.endDate), from:new Date(schedulerData.startDate)\r\n }, () => {\r\n this.searchEvents()\r\n }); \r\n }\r\n\r\n };\r\n\r\n onViewChange = (schedulerData, view) => {\r\n schedulerData.setViewType(\r\n view.viewType,\r\n view.showAgenda,\r\n view.isEventPerspective\r\n );\r\n schedulerData.setEvents(this.state.events);\r\n this.setState({\r\n viewModel: schedulerData,\r\n });\r\n };\r\n\r\n onSelectDate = (schedulerData, date) => {\r\n schedulerData.setDate(date);\r\n schedulerData.setEvents(this.state.events);\r\n this.setState({\r\n viewModel: schedulerData,\r\n });\r\n };\r\n\r\n eventClicked = (schedulerData, event) => {\r\n\r\n if (event.appointment.isActive) {\r\n\r\n let updateShift = Object.assign(\r\n {},\r\n initalUpdateShift\r\n );;\r\n\r\n updateShift.doctorName = event.doctorName;\r\n updateShift.business_user_id = event.resourceId;\r\n updateShift.from = moment(event.start, moment.defaultFormat).toDate();\r\n updateShift.to = moment(event.end, moment.defaultFormat).toDate();\r\n updateShift.shift_start = event.start.split(\"T\")[1].substring(0, 5);\r\n updateShift.shift_end = event.end.split(\"T\")[1].substring(0, 5);\r\n updateShift.schedule_type = {\r\n label: event.schedule_type,\r\n value: event.schedule_type,\r\n };\r\n updateShift.appointment = event.appointment;\r\n updateShift.id = event.id;\r\n this.setState({\r\n updateShift,\r\n editModel: true,\r\n });\r\n }\r\n\r\n };\r\n\r\n ops1 = (schedulerData, event) => {\r\n alert(\r\n `You just executed ops1 to event: {id: ${event.id}, title: ${event.title}}`\r\n );\r\n };\r\n\r\n ops2 = (schedulerData, event) => {\r\n alert(\r\n `You just executed ops2 to event: {id: ${event.id}, title: ${event.title}}`\r\n );\r\n };\r\n\r\n newEvent = (schedulerData, slotId, slotName, start, end, type, item) => {\r\n if (\r\n alert(\r\n `Do you want to create a new event? {slotId: ${slotId}, slotName: ${slotName}, start: ${start}, end: ${end}, type: ${type}, item: ${item}}`\r\n )\r\n ) {\r\n let newFreshId = 0;\r\n schedulerData.events.forEach((item) => {\r\n if (item.id >= newFreshId) newFreshId = item.id + 1;\r\n });\r\n\r\n let newEvent = {\r\n id: newFreshId,\r\n title: \"New event you just created\",\r\n start: start,\r\n end: end,\r\n resourceId: slotId,\r\n bgColor: \"purple\",\r\n };\r\n schedulerData.addEvent(newEvent);\r\n this.setState({\r\n schedulerData: schedulerData,\r\n });\r\n }\r\n };\r\n\r\n updateEventStart = (schedulerData, event, newStart) => {\r\n if (\r\n alert(\r\n `Do you want to adjust the start of the event? {eventId: ${event.id}, eventTitle: ${event.title}, newStart: ${newStart}}`\r\n )\r\n ) {\r\n schedulerData.updateEventStart(event, newStart);\r\n }\r\n this.setState({\r\n viewModel: schedulerData,\r\n });\r\n };\r\n\r\n updateEventEnd = (schedulerData, event, newEnd) => {\r\n if (\r\n alert(\r\n `Do you want to adjust the end of the event? {eventId: ${event.id}, eventTitle: ${event.title}, newEnd: ${newEnd}}`\r\n )\r\n ) {\r\n schedulerData.updateEventEnd(event, newEnd);\r\n }\r\n this.setState({\r\n viewModel: schedulerData,\r\n });\r\n };\r\n\r\n moveEvent = (schedulerData, event, slotId, slotName, start, end) => {\r\n if (\r\n alert(\r\n `Do you want to move the event? {eventId: ${event.id}, eventTitle: ${event.title}, newSlotId: ${slotId}, newSlotName: ${slotName}, newStart: ${start}, newEnd: ${end}`\r\n )\r\n ) {\r\n schedulerData.moveEvent(event, slotId, slotName, start, end);\r\n this.setState({\r\n viewModel: schedulerData,\r\n });\r\n }\r\n };\r\n\r\n onScrollRight = (schedulerData, schedulerContent, maxScrollLeft) => {\r\n if (schedulerData.ViewTypes === ViewTypes.Day) {\r\n schedulerData.next();\r\n schedulerData.setEvents(this.state.events);\r\n this.setState({\r\n viewModel: schedulerData,\r\n });\r\n\r\n schedulerContent.scrollLeft = maxScrollLeft - 10;\r\n }\r\n };\r\n\r\n onScrollLeft = (schedulerData, schedulerContent, maxScrollLeft) => {\r\n if (schedulerData.ViewTypes === ViewTypes.Day) {\r\n schedulerData.prev();\r\n schedulerData.setEvents(this.state.events);\r\n this.setState({\r\n viewModel: schedulerData,\r\n });\r\n\r\n schedulerContent.scrollLeft = 10;\r\n }\r\n };\r\n\r\n onScrollTop = (schedulerData, schedulerContent, maxScrollTop) => {\r\n console.log(\"onScrollTop\");\r\n };\r\n\r\n onScrollBottom = (schedulerData, schedulerContent, maxScrollTop) => {\r\n console.log(\"onScrollBottom\");\r\n };\r\n\r\n toggleExpandFunc = (schedulerData, slotId) => {\r\n schedulerData.toggleExpandStatus(slotId);\r\n this.setState({\r\n viewModel: schedulerData,\r\n });\r\n };\r\n\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n timeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n ListBusinessbyBusinessuser,\r\n { business_user_id: this.props.userdata.id },\r\n CONFIG\r\n )\r\n .then((res) => {\r\n let data = res.data;\r\n\r\n if (data.status !== \"0\") {\r\n let resdata = data.data;\r\n let doctorList = [];\r\n\r\n resdata.forEach((element, index) => {\r\n let doctor = {};\r\n doctor.label = element.business_name;\r\n doctor.value = element.business_id;\r\n doctor.schedule_type = element.schedule_type;\r\n doctorList[index] = doctor;\r\n });\r\n console.log(doctorList);\r\n this.setState({ doctors_list: doctorList });\r\n }\r\n })\r\n .catch((e) => { });\r\n\r\n var from = new Date();\r\n\r\n var to = new Date();\r\n to.setDate(to.getDate() + 30);\r\n\r\n this.setState({ from, to });\r\n\r\n this.from = from;\r\n\r\n const data = {\r\n BusinessUserId: this.props.userdata.id,\r\n From: getDateISOFormat(from),\r\n To: getDateISOFormat(to),\r\n };\r\n\r\n //call db to get the event data\r\n this.loadEventsData(data);\r\n };\r\n\r\n calenderConfig = () => {\r\n console.log(this.from);\r\n let schedulerData = new SchedulerData(this.from, ViewTypes.Week);\r\n schedulerData.localeMoment.locale(\"en\");\r\n schedulerData.config.resourceName = \"Hospitals\";\r\n schedulerData.config.views = [\r\n {\r\n viewName: \"Day\",\r\n viewType: ViewTypes.Day,\r\n showAgenda: false,\r\n isEventPerspective: false,\r\n },\r\n {\r\n viewName: \"Week\",\r\n viewType: ViewTypes.Week,\r\n showAgenda: false,\r\n isEventPerspective: false,\r\n },\r\n {\r\n viewName: \"Month\",\r\n viewType: ViewTypes.Month,\r\n showAgenda: false,\r\n isEventPerspective: false,\r\n },\r\n ];\r\n schedulerData.config.schedulerWidth = \"80%\";\r\n schedulerData.setEvents([]);\r\n schedulerData.setResources([]);\r\n\r\n console.log(schedulerData);\r\n\r\n this.setState({\r\n viewModel: schedulerData,\r\n });\r\n\r\n console.log(this.state.viewModel);\r\n };\r\n\r\n loadEventsData = (data) => {\r\n console.log(\"loadeventes\");\r\n this.enableLoader();\r\n\r\n let schedulerData = this.state.viewModel;\r\n schedulerData.setDate(this.from);\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(businessUserShiftPlannerView, data)\r\n .then((result) => {\r\n if (result.data.status === 1) {\r\n let resources = this.state.resources;\r\n resources = [];\r\n let events = this.state.events;\r\n events = [];\r\n let ui_event_id = 0;\r\n console.log(result.data.data)\r\n result.data.data.map((doctorDetail, i) => {\r\n resources.push({\r\n id: doctorDetail.business_id,\r\n name: doctorDetail.business_name,\r\n });\r\n\r\n doctorDetail.appointments.map((appoint, i) => {\r\n let event = {\r\n id: ui_event_id++,\r\n start: appoint.appt_start_time,\r\n end: appoint.appt_end_time,\r\n resourceId: appoint.business_id,\r\n title: \"\",\r\n bgColor:\r\n appoint.isActive ? (appoint.schedule_type.toLowerCase() === \"appointment\"\r\n ? \"#007dd7\"\r\n : \"#00b300\") : \"#b3b3b3\",\r\n showPopover: true,\r\n doctorName:\r\n doctorDetail.business_name,\r\n schedule_type: appoint.schedule_type,\r\n event_id: appoint.event_id,\r\n appointment: appoint,\r\n };\r\n console.log(doctorDetail)\r\n events.push(event);\r\n });\r\n });\r\n\r\n this.setState({\r\n resources,\r\n events,\r\n }, () => {\r\n schedulerData.setResources(resources);\r\n schedulerData.setEvents(events);\r\n this.setState({\r\n viewModel: schedulerData,\r\n }, this.disableLoader());\r\n });\r\n\r\n } else if (result.data.status === 0) {\r\n /* alert(\r\n result.data.message +\r\n \" From: \" +\r\n getDateISOFormat(this.state.from) +\r\n \" To: \" +\r\n getDateISOFormat(this.state.to)\r\n ); */\r\n this.setState({ loading: false });\r\n }\r\n })\r\n .catch((e) => {\r\n //alert(e);\r\n this.setState({ loading: false });\r\n console.log(e);\r\n });\r\n };\r\n\r\n enableLoader = () => {\r\n this.setState({ loading: true });\r\n }\r\n\r\n disableLoader = () => {\r\n this.setState({ loading: false });\r\n }\r\n\r\n addNewShiftPlanner = () => {\r\n this.enableLoader();\r\n let createShift = this.state.createShift;\r\n\r\n createShift.type = \"DoctorShiftPlannerCreateEvent\";\r\n let errors = {};\r\n errors = Validation(createShift, errors);\r\n createShift.errors = errors;\r\n this.setState({ createShift });\r\n\r\n if (!errors.formIsValid) {\r\n this.disableLoader();\r\n return;\r\n }\r\n\r\n let createEventData = {};\r\n createEventData.businessUserid = this.props.userdata.id;\r\n createEventData.businessId = createShift.selectedDoc.value;\r\n createEventData.startDate = getDateISOFormat(createShift.from);\r\n createEventData.endDate = getDateISOFormat(createShift.to);\r\n createEventData.isAllDayEvent = createShift.working_all_days;\r\n createEventData.status = \"Scheduled\";\r\n createEventData.frequency = getFrequencyFromDays(createShift.working_days);\r\n createEventData.scheduleType = createShift.schedule_type.value;\r\n\r\n\r\n let sessionArray = [];\r\n if (\r\n createShift.morning_shift_start !== \"\" &&\r\n createShift.morning_shift_end !== \"\" && createShift.morning_shift_start !== createShift.morning_shift_end\r\n ) {\r\n console.log(\"morning\");\r\n var a = createShift.morning_shift_start.split(':'); // split it at the colons\r\n // minutes are worth 60 seconds. Hours are worth 60 minutes.\r\n var morning_shift_start = (+a[0]) * 60 * 60 + (+a[1]) * 60;\r\n\r\n var b = createShift.morning_shift_end.split(':'); // split it at the colons\r\n // minutes are worth 60 seconds. Hours are worth 60 minutes.\r\n var morning_shift_end = (+b[0]) * 60 * 60 + (+b[1]) * 60;\r\n let sessionObj = {\r\n type: \"Morning\",\r\n from:\r\n createEventData.startDate +\r\n \"T\" +\r\n new Date(morning_shift_start * 1000)\r\n .toISOString()\r\n .substr(11, 8),\r\n to:\r\n createEventData.endDate +\r\n \"T\" +\r\n new Date(morning_shift_end * 1000)\r\n .toISOString()\r\n .substr(11, 8),\r\n };\r\n sessionArray.push(sessionObj);\r\n }\r\n if (\r\n createShift.evening_shift_start !== \"\" &&\r\n createShift.evening_shift_end !== \"\" && createShift.evening_shift_start !== createShift.evening_shift_end\r\n ) {\r\n var a = createShift.evening_shift_start.split(':'); // split it at the colons\r\n // minutes are worth 60 seconds. Hours are worth 60 minutes.\r\n var evening_shift_start = (+a[0]) * 60 * 60 + (+a[1]) * 60;\r\n\r\n var b = createShift.evening_shift_end.split(':'); // split it at the colons\r\n // minutes are worth 60 seconds. Hours are worth 60 minutes.\r\n var evening_shift_end = (+b[0]) * 60 * 60 + (+b[1]) * 60;\r\n\r\n let sessionObj = {\r\n type: \"Evening\",\r\n from:\r\n createEventData.startDate +\r\n \"T\" +\r\n new Date(evening_shift_start * 1000)\r\n .toISOString()\r\n .substr(11, 8),\r\n to:\r\n createEventData.endDate +\r\n \"T\" +\r\n new Date(evening_shift_end * 1000)\r\n .toISOString()\r\n .substr(11, 8),\r\n };\r\n sessionArray.push(sessionObj);\r\n }\r\n createEventData.sessions = sessionArray;\r\n\r\n console.log(createEventData);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(createShiftPlanner, createEventData, CONFIG)\r\n .then((res) => {\r\n console.log(createEventData);\r\n console.log(this.state.events);\r\n let result = res.data;\r\n\r\n if (1 === result.status) {\r\n this.closePopup();\r\n this.disableLoader();\r\n // alert(\"Event created Successfully\");\r\n toast.success(\"Shifts have been created successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n this.searchEvents();\r\n } else if (0 === result.status) {\r\n this.disableLoader();\r\n alert(result.message);\r\n toast.error(\"Shifts cannot be created.\",{\r\n className:\"toast-error\"\r\n });\r\n this.searchEvents();\r\n }\r\n })\r\n .catch((e) => {\r\n this.disableLoader();\r\n });\r\n };\r\n\r\n handleUpdateDateChange = (e, element) => {\r\n let updateShift = this.state.updateShift;\r\n\r\n if (element === \"updateShift.from\") {\r\n updateShift.from = e;\r\n } else {\r\n updateShift.to = e;\r\n }\r\n\r\n this.setState({\r\n updateShift,\r\n });\r\n };\r\n\r\n handleDOBChange = (e, element) => {\r\n if (\"from\" === element || \"to\" === element) {\r\n this.setState({\r\n [element]: e,\r\n });\r\n } else {\r\n let createShift = this.state.createShift;\r\n if (\"createShift.from\" === element) {\r\n createShift.from = e;\r\n } else {\r\n createShift.to = e;\r\n }\r\n\r\n\r\n this.setState({\r\n createShift\r\n });\r\n\r\n //this will set the daysof the week name in createshift\r\n setDaysoftheWeek(createShift, e);\r\n\r\n //Calculate the date difference\r\n const diff = moment(this.state.createShift.to).diff(\r\n moment(this.state.createShift.from)\r\n );\r\n const diffDuration = moment.duration(diff);\r\n const ndate1 = new Date(this.state.createShift.from);\r\n const ndate2 = new Date(this.state.createShift.to);\r\n const diffTime = Math.abs(ndate2 - ndate1);\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)); \r\n console.log(diffTime + \" milliseconds\");\r\n console.log(diffDays + \" days\"); \r\n /* createShift.totalDays = isNaN(diffDuration.days())\r\n ? 0\r\n : diffDuration.days() + 1;\r\n */\r\n createShift.totalDays=isNaN(diffDays)? 0 :diffDays + 1;\r\n createShift.working_days.length === 7\r\n ? (createShift.working_all_days = true)\r\n : (createShift.working_all_days = false);\r\n \r\n this.setState({\r\n createShift,\r\n });\r\n }\r\n };\r\n\r\n handleShiftOccurence = (e) => {\r\n let data = this.state.updateShift;\r\n data.shiftOccurence = [e.target.value];\r\n this.setState({ updateShift: data });\r\n };\r\n\r\n searchEvents = () => {\r\n console.log(new Date());\r\n console.log(this.state.from);\r\n this.from = this.state.from;\r\n\r\n if (this.state.from && this.state.to) {\r\n const data = {\r\n BusinessUserId: this.props.userdata.id,\r\n From: getDateISOFormat(this.state.from),\r\n To: getDateISOFormat(this.state.to),\r\n };\r\n //call db to get the event data\r\n this.loadEventsData(data);\r\n }\r\n };\r\n\r\n handleWorkhoursChange(field, value) {\r\n let data = this.state.createShift;\r\n\r\n if (\"24Hours\" === field) {\r\n data.hours_24 = !data.hours_24;\r\n data.morning_shift_start = '00:00';\r\n data.morning_shift_end = '11:59';\r\n data.evening_shift_start = '12:00';\r\n data.evening_shift_end = '23:59';\r\n } else {\r\n data.hours_24 = false;\r\n data[`${field}`] = value.target.value;\r\n }\r\n\r\n this.setState({ createShift: data });\r\n }\r\n\r\n handleUpdateWorkhoursChange(field, value) {\r\n console.log(field);\r\n console.log(value);\r\n let data = this.state.updateShift;\r\n\r\n data[`${field}`] = value.target.value;\r\n\r\n console.log(field);\r\n console.log(value);\r\n this.setState({ updateShift: data });\r\n }\r\n\r\n handleWorkingDays = (e) => {\r\n let data = this.state.createShift;\r\n\r\n let working_all_days_data = data.working_all_days;\r\n\r\n if (\"allDaysId\" === e.target.id) {\r\n working_all_days_data = !working_all_days_data;\r\n\r\n data.working_all_days = working_all_days_data;\r\n\r\n data.working_all_days\r\n ? (data.working_days = working_days)\r\n : (data.working_days = []);\r\n } else {\r\n const newSelection = e.target.value;\r\n let newSelectionArray;\r\n\r\n if (data.working_days.indexOf(newSelection) > -1) {\r\n newSelectionArray = data.working_days.filter((s) => s !== newSelection);\r\n } else {\r\n newSelectionArray = [...data.working_days, newSelection];\r\n }\r\n\r\n data.working_days = newSelectionArray;\r\n let wd = [];\r\n data.working_days.forEach((element, index) => {\r\n if (working_days.indexOf(element) > -1) {\r\n wd.push(element);\r\n }\r\n });\r\n\r\n data.working_days = wd;\r\n }\r\n\r\n data.working_days.length === 7\r\n ? (data.working_all_days = true)\r\n : (data.working_all_days = false);\r\n\r\n this.setState({ createShift: data });\r\n };\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.createShift;\r\n data[e.name] = selectedOptions;\r\n console.log(selectedOptions);\r\n \r\n if (e.name !== \"schedule_type\") {\r\n if (null !== selectedOptions.schedule_type) {\r\n data.schedule_type = {\r\n label: selectedOptions.schedule_type === \"Queue\" ? \"Token\" : selectedOptions.schedule_type,\r\n value: selectedOptions.schedule_type,\r\n };\r\n } else {\r\n data.schedule_type = \"\";\r\n }\r\n }\r\n this.setState({ createShift: data });\r\n };\r\n\r\n handleselectUpdateChange = (selectedOptions, e) => {\r\n let data = this.state.updateShift;\r\n data[e.name] = selectedOptions;\r\n this.setState({ updateShift: data });\r\n };\r\n\r\n render() {\r\n const { loading, viewModel,timeout } = this.state;\r\n return (\r\n
    \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n
    \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.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={timeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n\r\n\r\n {/* shift planner page starts here */}\r\n
    \r\n

    Shift Planner

    \r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \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.handleDOBChange(date, \"from\")\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n
    \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.handleDOBChange(date, \"to\")\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n  Search\r\n \r\n {\r\n let initVal = Object.assign(\r\n {},\r\n initalValue\r\n );\r\n this.setState({\r\n createShift: initVal,\r\n });\r\n this.setState({ openModal: true, });\r\n }}\r\n >\r\n \r\n  Add\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {/*
    */}\r\n {/* \r\n \r\n  Search\r\n \r\n {\r\n let initVal = Object.assign(\r\n {},\r\n initalValue\r\n );\r\n this.setState({\r\n createShift: initVal,\r\n });\r\n this.setState({ openModal: true, });\r\n }}\r\n >\r\n \r\n  Add\r\n */}\r\n {/*
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n\r\n
    \r\n\r\n
    \r\n\r\n\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.updateShift.from < new Date() ? \r\n \"View Shift\" : \"Update / Delete Shift\" \r\n }\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.updateShift.doctorName}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {shift_series[1] === this.state.updateShift.shiftOccurence.toString() ?\r\n \r\n \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.handleUpdateDateChange(\r\n date,\r\n \"updateShift.from\"\r\n )\r\n }\r\n disabled={this.state.updateShift.from < new Date()}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n \r\n \r\n To\r\n \r\n \r\n this.handleUpdateDateChange(\r\n date,\r\n \"updateShift.to\"\r\n )\r\n }\r\n disabled={this.state.updateShift.from < new Date()}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {/* */}\r\n \r\n \r\n To\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.updateShift.from < new Date() ? \r\n \r\n
    \r\n {this.state.updateShift.schedule_type.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 let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"s_no\", billing_record.s_no);\r\n if (null != record) {\r\n records[recIndex].selectedSearchBoxValue = record;\r\n records[recIndex].fee = record.amount;\r\n records[recIndex].gst_rate = record.tax_percentage + \" %\";\r\n records[recIndex].gst_amount =\r\n (record.tax_percentage / 100) * record.amount;\r\n records[recIndex].total_amount =\r\n Number(records[recIndex].fee) +\r\n Number(records[recIndex].gst_amount);\r\n } else {\r\n records[recIndex].selectedSearchBoxValue = \"\";\r\n records[recIndex].fee = \"\";\r\n records[recIndex].gst_rate = \"\";\r\n records[recIndex].gst_amount = \"\";\r\n records[recIndex].total_amount = \"\";\r\n }\r\n\r\n console.log(recIndex);\r\n console.log(records.length - 1);\r\n if (recIndex === records.length - 1) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = records.length + 1;\r\n records.push(default_rec);\r\n }\r\n this.setState({ records }, () => {\r\n this.calculateSection();\r\n });\r\n }}\r\n />\r\n );\r\n } else {\r\n return billing_record.description;\r\n }\r\n };\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let amt = 0.0;\r\n let taxAmt = 0.0;\r\n let taxVal = 0.0;\r\n let totalAmt = 0.0;\r\n\r\n records.map((data, i) => {\r\n if (undefined !== data.fee) {\r\n amt = Number(amt) + Number(data.fee);\r\n }\r\n if (undefined !== data.gst_amount) {\r\n taxAmt = Number(taxAmt) + Number(data.gst_amount);\r\n }\r\n if (undefined !== data.taxable_value) {\r\n taxVal = Number(taxVal) + Number(data.taxable_value);\r\n }\r\n if (undefined !== data.total_amount) {\r\n totalAmt = Number(totalAmt) + Number(data.total_amount);\r\n }\r\n });\r\n\r\n totalAmtSec.amt = amt;\r\n totalAmtSec.taxAmt = taxAmt;\r\n totalAmtSec.taxVal = taxVal;\r\n totalAmtSec.totalAmt = totalAmt;\r\n totalAmtSec.totalAmtWords = converter.toWords(totalAmt)+\" rupees only\";\r\n this.setState({ totalAmtSec });\r\n };\r\n\r\n componentDidMount = () => {\r\n \r\n this.setState({ loading: true });\r\n let data = {};\r\n\r\n data.business_id = this.props.userdata.id;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n console.log(this.props.checkin_id)\r\n const checkinData = { id: this.props.match.params.checkin_id };\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n let completion_data = res.data.data || res.data.date;\r\n if (res.data.status !== \"1\" || !data) {\r\n return;\r\n }\r\n console.log(completion_data)\r\nthis.setState({client_id:completion_data.client_id,q_id:completion_data.q_id,Reg_id:completion_data.Reg_id,patient_name:completion_data.first_name});\r\n\r\n\r\n // let completion_data = this.props.location.data.completion_data;\r\n // let completion_data = {};\r\n console.log(completion_data);\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getsupplies, data, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"supplies_name\", \"label\"));\r\n\r\n //set first record as consultation fee by default\r\n let consultation_fee_record = {};\r\n consultation_fee_record.s_no = 1;\r\n consultation_fee_record.description = \"Consultation Fee\";\r\n consultation_fee_record.fee = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n consultation_fee_record.disc = \"\";\r\n consultation_fee_record.taxable_value = \"\";\r\n consultation_fee_record.gst_rate = \"\";\r\n consultation_fee_record.gst_amount = \"\";\r\n consultation_fee_record.total_amount = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n\r\n let records = [];\r\n records.push(consultation_fee_record);\r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 2; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n })\r\n .catch((e) => {\r\n console.log(\"client short info failed\");\r\n });\r\n console.log(this.props);\r\n // console.log(this.state.headerinfo);\r\n\r\n\r\n };\r\n printData = () => {\r\n var win = window.open('', '_blank');\r\n\r\n var style = \"\";\r\n\r\n var tableHtml = document.getElementById(\"divcontents\").innerHTML;\r\n\r\n win.document.write('');\r\n win.document.write('Billing');\r\n win.document.write(style);\r\n win.document.write('');\r\n win.document.write('');\r\n win.document.write('

    Billing

    ');\r\n win.document.write(tableHtml);\r\n win.document.write('');\r\n win.print();\r\n win.close();\r\n\r\n\r\n\r\n\r\n }\r\n cancel=()=>\r\n {\r\n window.location.replace(\"/queue_assignment\");\r\n }\r\n displayRazorpay = () => {\r\n\r\n /* const res = loadScript('https://checkout.razorpay.com/v1/checkout.js')\r\n\r\n if (!res) {\r\n alert('Razorpay SDK failed to load. Are you online?')\r\n return\r\n }\r\n const option = {\r\n method: 'POST',\r\n mode: 'no-cors'\r\n };\r\n\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let data = {};\r\n data.payable_amt = totalAmtSec.totalAmt;\r\n let client_id = this.state.client_id;\r\n let business_id = this.props.userdata.id;\r\n let records = this.state.records;\r\n let checkin_id = this.props.match.params.checkin_id;\r\n let q_id=this.state.q_id;\r\n \r\n let razorpay_key = \"\";\r\n axios\r\n.post(getCredentials, {\r\n \"credential_type\":\"razorpay\"\r\n})\r\n.then((res) => {\r\n console.log(res.data);\r\n razorpay_key = res.data.data[0].value;\r\n\r\n\r\n\r\n axios.post(RazorPayPayment, data, data).then((res) => {\r\n console.log(res);\r\n let data = res.data;\r\n \r\n \r\n const options = {\r\n // key: __DEV__ ? 'rzp_test_CObt3PWG73pjBs' : 'PRODUCTION_KEY',\r\n key: razorpay_key,\r\n currency: data.currency,\r\n amount: data.amount.toString(),\r\n order_id: data.id,\r\n name: 'Billing and Payment',\r\n description: '',\r\n image: 'https://wtmprofileimagesbucket.s3.ap-south-1.amazonaws.com/logo.jpg',\r\n handler: function (response) {\r\n // alert(response.razorpay_payment_id)\r\n // alert(response.razorpay_order_id)\r\n // alert(response.razorpay_signature)\r\n \r\n\r\n */ \r\n let totalAmtSec = this.state.totalAmtSec;\r\n let client_id = this.state.client_id;\r\n let business_id = this.props.userdata.id;\r\n let records = this.state.records;\r\n let checkin_id = this.props.match.params.checkin_id;\r\n let q_id=this.state.q_id; \r\n let req_data = {\r\n // 'order_id': response.razorpay_order_id,\r\n // 'payment_id': response.razorpay_payment_id,\r\n amount: totalAmtSec.totalAmt,\r\n status:'Completed',\r\n payment_status: 'Completed',\r\n business_id: business_id,\r\n client_id:client_id,\r\n q_id:q_id,\r\n }\r\n \r\n axios.post(updateclientqueuestatus, req_data, CONFIG).then((res) => {\r\n console.log(res);\r\n \r\n \r\n }).catch((err) => {\r\n\r\n\r\n })\r\n console.log(req_data);\r\n axios.post(consultDoctor, req_data, CONFIG).then((res) => {\r\n console.log(res);\r\n const result = res.data;\r\n \r\n toast.success(\"The Patient has completed the Billing process successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n \r\n /* setTimeout(\r\n () =>\r\n this.setState({\r\n successMessage: { message: \"\" },\r\n \r\n }),\r\n 5000\r\n ); */\r\n // window.location.href = '/queue_assignment';\r\n \r\n }).catch((err) => {\r\n console.log(err);\r\n \r\n })\r\n\r\n\r\n /* },\r\n\r\n prefill: {\r\n // name: this.props.userdata.first_name+\" \"+this.props.userdata.last_name,\r\n email: this.props.userdata.email,\r\n contact: this.props.userdata.phone_number\r\n }\r\n }\r\n const paymentObject = new window.Razorpay(options)\r\n paymentObject.open()\r\n\r\n }).catch((e) => { console.log(e) });\r\n }).catch((e) => { \r\n console.log(e)\r\n}); */\r\n }\r\n actionComplete = (e) => {\r\n this.setState({ payment_status: \"Completed\"});\r\n this.displayRazorpay();\r\n \r\n }\r\n \r\n\r\n clearForm=()=>{\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n successMessage: { message: \"\" },\r\n \r\n }),\r\n 5000\r\n );\r\n }\r\n render() {\r\n let {successMessage,Reg_id,patient_name,payment_status} = this.state;\r\n return (\r\n
    \r\n {/* */}\r\n < Spinner loading={this.state.loading} />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Billing

    \r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n{/*
    \r\n GSTIN\r\n
    \r\n */}
    \r\n Payment Status \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {/*
    \r\n T453469875\r\n
    \r\n */} \r\n
    \r\n {payment_status}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Registration. No.\r\n {Reg_id}\r\n \r\n \r\n Patient Name\r\n {patient_name}\r\n \r\n \r\n Doctor Name\r\n {this.props.location.data.doctor_name}\r\n \r\n \r\n Hospital Address\r\n \r\n {this.props.business_short_detail ? this.props.business_short_detail.business_name + \", \" + this.props.business_short_detail.address1\r\n + \", \" + this.props.business_short_detail.city\r\n + \", \" + this.props.business_short_detail.state\r\n + \" - \" + this.props.business_short_detail.zip_code : \"\"}\r\n \r\n \r\n \r\n \r\n Date\r\n\r\n \r\n {moment(new Date()).format(\r\n \"DD MMM YYYY hh:mm A\"\r\n )}\r\n \r\n \r\n \r\n \r\n
    \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 Amount\r\n \r\n \r\n {this.state.totalAmtSec.amt}\r\n \r\n \r\n {this.state.totalAmtSec.taxVal}\r\n \r\n \r\n {this.state.totalAmtSec.taxAmt}\r\n \r\n \r\n {this.state.totalAmtSec.totalAmt}\r\n \r\n \r\n\r\n \r\n \r\n Total Invoice value (in Figure)\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.state.totalAmtSec.totalAmt\r\n }{\" \"}\r\n \r\n \r\n \r\n \r\n Total Invoice value (in Words)\r\n \r\n \r\n {\" \"}\r\n {\r\n this.state.totalAmtSec\r\n .totalAmtWords\r\n }\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n {/* \r\n Finish\r\n */}\r\n \r\n \r\n Back\r\n \r\n \r\n \r\n Print\r\n \r\n \r\n Finish\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(AddPrescription);\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\nimport SideBar from \"../../components/container/SideBar\";\r\n// import Header from \"../../components/container/layout/business/Header\";\r\nimport ConsultHeader from \"../../components/container/layout/ConsultHeader\";\r\n// import Prescription from \"../../views/Prescription\";\r\nimport FollowupDetails from \"../../views/FollowupDetails\";\r\nimport ReferralDoctor from \"../../views/ReferralDoctor\";\r\nimport ConsultationHistory from \"../../views/ConsultationHistory\";\r\nimport * as moment from \"moment\";\r\n\r\nimport axios from \"axios\";\r\nimport {\r\n getMasterSymptoms,\r\n getSymptomByCategory,\r\n consultDoctor,\r\n getAllHospitalDrug,\r\n getAllActiveingredientsforhospital,\r\n getAllgenericnameforhospital,\r\n admitPatient,\r\n getInpatientconsultingDetails,\r\n getAllgenericnameforactiveingredients,\r\n getAllMasterDisease,\r\n getAllSymptom,\r\n getinpatientdetails,\r\n //prescriptions code\r\n searchDrug,\r\n getAllMasterDrug,\r\n getAllDrugTypes,\r\n getAllDrugCategories,\r\n getPrescription,\r\n // updatequeueURL,\r\n getQEntryById,\r\n updatePrescription,\r\n UpdateQueueForCheckOut,\r\n BaseUrl,sendemail,sendsms\r\n} from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport Spinner from \"../../components/UI/Spinner\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport TextArea from \"../../components/UI/TextArea\";\r\nimport Select from \"react-select\";\r\n\r\n// prescriptions code\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport Footerad from \"../../components/UI/Footerad\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Dnaspinner from \"../../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nclass InPatientPrescription extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n userdata: {},\r\n loading: false,\r\n diseaseList: [],\r\n symptomCategory: [],\r\n symptoms: [],\r\n cloneSymptoms: [],\r\n consult: {\r\n client_id: \"\",\r\n business_id: \"\",\r\n reason_for_visit: [],\r\n \r\n other_comments:\"\",\r\n medicine_history:[],\r\n },\r\n error:{\r\n other_comments:\"\",\r\n },\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n PrescriptionerrorMessage: \"\",\r\n PrescriptionsuccessMessage: \"\",\r\n selectedSymptoms: [],\r\n symptomlist: [],\r\n activeIndex: '',\r\n activeTab: \"Prescription\",\r\n inpatientdetails: {\r\n medicine_history:[]\r\n },\r\n\r\n // prescriptions codes\r\n consultData: null,\r\n records: [],\r\n searchRecords: [],\r\n searchData: {\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n drug_unit: \"\",\r\n active_ingredients: \"\",\r\n manufacturer: \"\",\r\n },\r\n drugUnits: [\r\n {\r\n value: \"ea\",\r\n label: \"ea\",\r\n },\r\n {\r\n value: \"mg\",\r\n label: \"mg\",\r\n },\r\n ],\r\n drugList: [],\r\n ActiveIngredientList:[],\r\n GenericNameList:[],\r\n drugTypes: [],\r\n drugCategories: [],\r\n // successMessage: \"\",\r\n // errorMessage: \"\",\r\n QueuesuccessMsg: \"\",\r\n\r\n };\r\n\r\n this.columns = [\r\n /* {\r\n key: \"drug_id\",\r\n text: \"drug id\",\r\n className: \"drug_id\",\r\n align: \"left\",\r\n sortable: true,\r\n }, */\r\n /* {\r\n key: \"drug_id\",\r\n text: \"drug_id\",\r\n className: \"sform-control\",\r\n sortable: false,\r\n align: \"left\",\r\n width: \"25%\",\r\n cell: (drug_id) => {\r\n return this.generatetagforcolumn(drug_id);\r\n }, \r\n }, */\r\n {\r\n key: \"medicine_description\",\r\n text: \"Medicine \",\r\n className: \"medicine_description\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n // {\r\n // key: \"medicine_id\",\r\n // text: \"medicine id\",\r\n // className: \"hide\",\r\n // TrOnlyClassName: \"hide\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // },\r\n // {\r\n // key: \"days\",\r\n // text: \"Days\",\r\n // className: \"days\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // width: 100,\r\n // cell: (record, i) => {\r\n // return (\r\n //
    \r\n // \r\n // \r\n // this.incOrDecValue(i, \"days\", true)}\r\n // >\r\n // -\r\n // \r\n // \r\n // this.handleTableInput(e, i)}\r\n // />\r\n // \r\n // this.incOrDecValue(i, \"days\")}\r\n // >\r\n // +\r\n // \r\n // \r\n //
    \r\n //
    \r\n // );\r\n // },\r\n // },\r\n // {\r\n // key: \"before_food\",\r\n // text: \"Before Food\",\r\n // className: \"before_food\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // cell: (record, i) => {\r\n // return (\r\n //
    \r\n // \r\n //
    \r\n // );\r\n // },\r\n // },\r\n // {\r\n // key: \"morning\",\r\n // text: \"Morning\",\r\n // className: \"morning\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // width: 100,\r\n // cell: (record, i) => {\r\n // return (\r\n //
    \r\n // \r\n // \r\n // this.incOrDecValue(i, \"morning\", true)}\r\n // >\r\n // -\r\n // \r\n // \r\n // this.handleTableInput(e, i)}\r\n // />\r\n // \r\n // this.incOrDecValue(i, \"morning\")}\r\n // >\r\n // +\r\n // \r\n // \r\n //
    \r\n //
    \r\n // );\r\n // },\r\n // },\r\n // {\r\n // key: \"noon\",\r\n // text: \"Noon\",\r\n // className: \"noon\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // width: 100,\r\n // cell: (record, i) => {\r\n // return (\r\n //
    \r\n // \r\n // \r\n // this.incOrDecValue(i, \"noon\", true)}\r\n // >\r\n // -\r\n // \r\n // \r\n // this.handleTableInput(e, i)}\r\n // />\r\n // \r\n // this.incOrDecValue(i, \"noon\")}\r\n // >\r\n // +\r\n // \r\n // \r\n //
    \r\n //
    \r\n // );\r\n // },\r\n // },\r\n // {\r\n // key: \"night\",\r\n // text: \"Night\",\r\n // className: \"night\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // width: 100,\r\n // cell: (record, i) => {\r\n // return (\r\n //
    \r\n // \r\n // \r\n // \r\n // this.incOrDecValue(i, \"night\", true)}\r\n // >\r\n // -\r\n // \r\n // \r\n // this.handleTableInput(e, i)}\r\n // />\r\n // \r\n // this.incOrDecValue(i, \"night\")}\r\n // >\r\n // +\r\n // \r\n // \r\n //
    \r\n // \r\n // \r\n // {record.unit}\r\n // \r\n // \r\n // );\r\n // },\r\n // },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"total\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.deleteRecord(record)}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 5,\r\n show_pagination:true,\r\n show_length_menu:false,\r\n show_filter:false,\r\n length_menu: [5, 10, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n // prescription code\r\n incOrDecValue(index, name, isDecrement = false) {\r\n const data = this.state.records;\r\n let value = parseInt(data[index][name]) || 0;\r\n console.log(value);\r\n if(value>1||value==1||value==0){\r\n if (!isDecrement) {\r\n data[index][name] = value + 1;\r\n } else if (value !== 0) {\r\n data[index][name] = value - 1;\r\n }\r\n // calculate total\r\n let total = 1;\r\n \r\n if (data[index].drug_type === 'Syrup' || data[index].drug_type === 'Ointment') {\r\n total = 1;\r\n } else {\r\n total =\r\n (parseInt(data[index].morning) || 0) +\r\n (parseInt(data[index].noon) || 0) +\r\n (parseInt(data[index].night) || 0);\r\n data[index].total = total * parseInt(data[index].days || 0);\r\n }\r\n } else {\r\n data.splice(index, 1);\r\n }\r\n \r\n\r\n\r\n this.setState({\r\n records: data,\r\n });\r\n }\r\n clearsearch()\r\n {\r\n const searchData = this.state.searchData;\r\n searchData.drug_name=\"\";\r\n searchData.active_ingredients=\"\";\r\n searchData.generic_name=\"\";\r\n searchData.manufacturer=\"\";\r\n searchData.drug_id=\"\";\r\n this.setState({ searchData: searchData,searchRecords: [], PrescriptionerrorMessage: \"\" });\r\n \r\n }\r\n searchAndShowDrug() {\r\n const searchData = this.state.searchData;\r\n \r\n let postData = {};\r\n postData.drug_name = searchData.drug_name ? searchData.drug_name.label : \"\";\r\n postData.drug_category = searchData.drug_category ? searchData.drug_category.label : \"\";\r\n postData.drug_type = searchData.drug_type ? searchData.drug_type.label : \"\";\r\n postData.user_id = this.props.userdata.id;\r\n postData.manufacturer = searchData.manufacturer;\r\n postData.active_ingredients = searchData.active_ingredients ? searchData.active_ingredients.label : \"\";\r\n postData.generic_name = searchData.generic_name ? searchData.generic_name.label : \"\";\r\n postData.drug_id = searchData.drug_id;\r\n postData.type = \"user\";\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios\r\n .post(searchDrug, postData, CONFIG)\r\n .then((res) => {\r\n this.setState({ loading: false });\r\n const result = res.data;\r\n if (result.countOfRecords === 0) {\r\n this.setState({errorMessage:\"Drug not found in list\", searchRecords: [] });\r\n return;\r\n }\r\n const records = result.data;\r\n const data = [];\r\n records.forEach((element) => {\r\n data.push({\r\n id: element.id,\r\n drug_id: element.drug_id,\r\n drug_name: element.drug_name,\r\n drug_category: element.drug_category,\r\n drug_type: element.drug_type,\r\n manufacturer: element.manufacturer,\r\n active_ingredients: element.active_ingredients,\r\n generic_name:element.generic_name,\r\n unit_of_measure: element.unit_of_measure,\r\n });\r\n });\r\n\r\n this.setState({ searchRecords: data });\r\n this.setState({successMessage: result.message });\r\n\r\n })\r\n .catch(() => {\r\n this.setState({ searchRecords: [], loading: false });\r\n });\r\n });\r\n this.clearMessage();\r\n }\r\n\r\n\r\n isMedicineExist(record, drug_id) {\r\n let checkedvalue = false;\r\n record.forEach((element) => {\r\n if (element.medicine_id === drug_id) {\r\n checkedvalue = true;\r\n\r\n\r\n }\r\n \r\n })\r\n return checkedvalue;\r\n }\r\n addDrug() {\r\n const selectedDrugs = this.state.records;\r\n\r\n this.state.searchRecords.map((record) => {\r\n \r\n if (record.isSelected) {\r\n console.log(record.id);\r\n let isMedicineExist = this.isMedicineExist(selectedDrugs, record.id);\r\n console.log(isMedicineExist);\r\n if (selectedDrugs.indexOf())\r\n if (!isMedicineExist) {\r\n if (record.drug_type === 'Syrup' || record.drug_type === 'Ointment') {\r\n selectedDrugs.push({\r\n medicine_description: record.generic_name,\r\n drug_type: record.drug_type,\r\n medicine_id: record.id,\r\n days: 1,\r\n before_food: 0,\r\n morning: 0,\r\n noon: 0,\r\n night: 0,\r\n total: 0,\r\n unit: record.unit_of_measure,\r\n });\r\n \r\n } else {\r\n selectedDrugs.push({\r\n medicine_description: record.generic_name,\r\n drug_type: record.drug_type,\r\n medicine_id: record.id,\r\n days: 1,\r\n before_food: 0,\r\n morning: 0,\r\n noon: 0,\r\n night: 0,\r\n total: 0,\r\n unit: record.unit_of_measure,\r\n });\r\n \r\n }\r\n\r\n this.setState({ PrescriptionerrorMessage: \"\", records: selectedDrugs});\r\n this.setState({ PrescriptionsuccessMessage: \"Drug successfully added to cart.\" });\r\n }else\r\n {\r\n this.setState({ PrescriptionsuccessMessage: \"Drug already added to cart.\" });\r\n }\r\n \r\n }\r\n \r\n });\r\n this.clearMessage();\r\n this.clearsearch();\r\n }\r\n\r\n /* generatetagforcolumn = (billing_record) => {\r\n if (consultation_fee !== billing_record.description) {\r\n return (\r\n \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\" \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Patient ID:\r\n {inpatientdetails.registeration_id}\r\n \r\n
    \r\n
    \r\n \r\n {inpatientdetails.patient_name}, {inpatientdetails.age}\r\n {inpatientdetails.gender} \r\n \r\n {inpatientdetails.blood_group}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Height\r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n cm \r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Weight\r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n kg \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    */}\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Temperature\r\n \r\n\r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n °F\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    BP\r\n \r\n\r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n mmHg \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Pulse\r\n \r\n\r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n per min\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
      \r\n\r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n {QueuesuccessMsg ? (
    \r\n
    \r\n ) : \"\"}\r\n
    \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    Prescription
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \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.submitAssesment()\r\n }\r\n >\r\n Submit\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n

    Treatment history

    \r\n
    \r\n \r\n{(inpatientdetails.medicine_history != null && inpatientdetails.medicine_history.length )? (\r\n inpatientdetails.medicine_history.map((medicine, i) => {\r\n return (\r\n
    \r\n
    \r\n

    Date:{moment(medicine.date).format(\"DD-MM-YYYY hh:mm\")}

    \r\n\r\n

    Assessment:{medicine.other_comments}

    \r\n

    \r\n Temperature: {medicine.vitals.temperature} BP:{medicine.vitals.bp} Pulse:{medicine.vitals.pulse} \r\n

    \r\n

    Medicines given:{medicine.tablets ? (medicine.tablets.map((tablet)=>{\r\n return (\r\n

  • {tablet.medicine_description}
  • \r\n )\r\n}\r\n)\r\n):\"\"}

    \r\n
    \r\n\r\n \r\n
    \r\n );\r\n }\r\n )\r\n):\"\"}\r\n \r\n {/* {\r\n inpatientdetails.medicine_history!=\"\"?(\r\n inpatientdetails.medicine_history.map((medicine, i) => {\r\n return (\r\n
    \r\n

    Date:{medicine.date}

    \r\n\r\n

    {medicine.other_comments}

    \r\n

    \r\n Temperature: {medicine.temperature} BP:{medicine.bp} Pulse:{medicine.pulse} \r\n

    \r\n

    Medicines given:

    \r\n
    \r\n );\r\n }\r\n )\r\n ):\"\"\r\n \r\n } */}\r\n \r\n\r\n\r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Search Drug
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n \r\n \r\n \r\n \r\n
    \r\n {/*
    \r\n \r\n \r\n \r\n \r\n
    */}\r\n {/*
    \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(AdminDashboard);","import React, { Component,Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport FooterSection from '../components/UI/FooterSection';\r\nimport SpanField from '../components/UI/SpanField';\r\nimport { CONFIG } from \"../config/data\";\r\nimport axios from 'axios';\r\nimport { getNewsFeeds, ChangeNewsFeeds } from '../config/url.json';\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport TextEditor from '../components/UI/TextEditor';\r\nimport Label from '../components/UI/Label';\r\nimport Validation from \"../actions/Validation\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n\r\n };\r\n}\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\nclass NewsFeeds extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n addPopup: false,\r\n\r\n action:\"Add\",\r\n newsFeeds: \r\n { \r\n short_description: \"\",\r\n content: \"\",\r\n link:\"\",\r\n id:\"\"},\r\n allnewsFeeds:[],\r\n formSuccess: { status: \"\", message: \"\" },\r\n tableSuccess:{status:\"\", message:\"\"},\r\n errors: { short_description: \"\", content: \"\",link:\"\"}\r\n }\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"short_description\",\r\n text: \"short_description\",\r\n className: \"Short Description\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"content\",\r\n text: \"Content\",\r\n className: \"content\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return ( \r\n //
    \r\n //
    {record.content}
    \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"link\",\r\n text: \"Link\",\r\n className: \"link\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n \r\n deleteRecord(record) {\r\n let userId = record.id;\r\n this.setState({ loading: true });\r\n\r\n axios\r\n .post(ChangeNewsFeeds, { id: userId,'action':\"Delete\" }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.allnewsFeeds;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ allnewsFeeds:records });\r\n }\r\n this.setState({ addPopup: false, loading: false });\r\n this.setState({ tableSuccess: res.data });\r\n toast.error(\"News feeds deleted. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n \r\n \r\n editRecord(record) {\r\n console.log(record.content) \r\n let newsFeeds = {};\r\n newsFeeds.id = record.id;\r\n newsFeeds.short_description = record.short_description;\r\n newsFeeds.content = record.content;\r\n newsFeeds.link = record.link;\r\n \r\n this.setState({\r\n newsFeeds: newsFeeds,\r\n action: \"Edit\",\r\n // errors: errors,\r\n });\r\n }\r\n clearErrors = (errors) => {\r\n errors.short_description = \"\";\r\n errors.content = \"\";\r\n errors.link = \"\";\r\n // errors.expires_at = \"\";\r\n return errors;\r\n };\r\n handletexteditor = (e) =>{\r\n console.log(e.target.value);\r\n }\r\n \r\n handleInput = (e) => {\r\n let data = this.state.newsFeeds;\r\n console.log(e.target.value);\r\n data[e.target.name] = e.target.value;\r\n\r\n this.setState({ newsFeeds:data});\r\n }\r\n componentDidMount() {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getNewsFeeds, null)\r\n .then((response) => {\r\n console.log(response.data)\r\n let newsfeedslist = response.data.data;\r\n\r\n newsfeedslist.forEach((element, index) => {\r\n let newsfeed = {};\r\n newsfeed.s_no = index + 1;\r\n newsfeed.short_description = element.short_description;\r\n newsfeed.link = element.link;\r\n newsfeed.content = element.content;\r\n \r\n newsfeed.id = element.id;\r\n\r\n newsfeedslist[index] = newsfeed;\r\n });\r\n\r\n this.setState({ allnewsFeeds: newsfeedslist })\r\n // console.log(this.state.newsFeeds)\r\n }).catch(() => {\r\n console.log(\"get queue failed\");\r\n });\r\n }\r\n saveData = () => {\r\n console.log(document.getElementById('content').value)\r\n let newsFeeds = this.state.newsFeeds;\r\n newsFeeds.content = document.getElementById('content')? document.getElementById('content').value : \"\";\r\n // newsFeeds.terms = document.getElementById('terms')? document.getElementById('terms').value : \"\";\r\n // newsFeeds.faq = document.getElementById('faq')? document.getElementById('faq').value : \"\";\r\n // newsFeeds.offers = document.getElementById('offers')? document.getElementById('offers').value : \"\";\r\n console.log(newsFeeds)\r\n let request = {\r\n privacy_policy:newsFeeds.privacy_policy,\r\n offers:newsFeeds.offers,\r\n faq:newsFeeds.faq,\r\n terms:newsFeeds.terms\r\n };\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(ChangeNewsFeeds, request)\r\n .then((response) => {\r\n console.log(response);\r\n console.log(response.data)\r\n this.setState({ newsFeeds: newsFeeds,formSuccess:response.data });\r\n\r\n }).catch(() => {\r\n console.log(\"Update queue failed\");\r\n });\r\n }\r\n cancel = () => {\r\n let data = this.state.newsFeeds;\r\n data.short_description = \"\";\r\n data.content = \"\";\r\n data.link = \"\";\r\n data.id = \"\";\r\n document.getElementById('content').value = \"\";\r\n // data.expires_at = \"\";\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ newsFeeds: data, action: \"Add\", errors: errors });\r\n };\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n \r\n updatenewsfeeds = (e) => {\r\n e.preventDefault();\r\n let { newsFeeds, errors } = this.state;\r\n let data = {};\r\n data.type = \"news_feeds\";\r\n data.action = this.state.action;\r\n data.short_description = newsFeeds.short_description;\r\n data.link = newsFeeds.link;\r\n data.content = document.getElementById('content')? document.getElementById('content').value : \"\";\r\n data.id = newsFeeds.id;\r\n \r\n this.setState({ loading: true });\r\n errors = Validation(data, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n // console.log(data); return false;\r\n\r\n let url = ChangeNewsFeeds;\r\n if (this.state.action === \"Add\") {\r\n axios.post(url, data, CONFIG).then((list) => {\r\n console.log(list);\r\n if ('0' === list.data.status) {\r\n this.setState({ loading: false });\r\n\r\n this.setState({ errors: { footer_adverdisement: list.data.message } });\r\n } else {\r\n let addnewsfeeds = {};\r\n addnewsfeeds.short_description = data.short_description;\r\n addnewsfeeds.content = data.content;\r\n addnewsfeeds.link = data.link;\r\n \r\n addnewsfeeds.id = list.data.data[0].id;\r\n\r\n let records = this.state.allnewsFeeds;\r\n addnewsfeeds.s_no = records.length + 1;\r\n records.push(addnewsfeeds);\r\n this.setState({ allnewsFeeds: records, formSuccess: list.data });\r\n\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n } else {\r\n data.id = newsFeeds.id;\r\n \r\n axios.post(url, data, CONFIG).then((list) => {\r\n if ('0' === list.data.status) {\r\n this.setState({ loading: false });\r\n this.setState({ errors: { footer_adverdisement: list.data.message } });\r\n } else {\r\n let records = this.state.allnewsFeeds;\r\n\r\n var recIndex = findWithAttr(records, \"id\", data.id);\r\n console.log(recIndex);\r\n console.log(records);\r\n console.log(data)\r\n records[recIndex].short_description = this.state.newsFeeds.short_description;\r\n records[recIndex].link = this.state.newsFeeds.link;\r\n records[recIndex].content = this.state.newsFeeds.content;\r\n \r\n records[recIndex].id = this.state.newsFeeds.id;\r\nconsole.log(records);\r\n this.setState({ allnewsFeeds:records, formSuccess: list.data });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n this.cancel();\r\n window.location.reload();\r\n }\r\n });\r\n }\r\n }\r\n };\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const {\r\n newsFeeds,\r\nloading,\r\n errors,\r\n formSuccess,\r\n \r\n tableSuccess,\r\n \r\n } = this.state;\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

    News Feeds List

    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.action === \"Add\" ? \"Add\" : \"Edit\"} News Feeds \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \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.action === \"Add\" ? \"+ Add\" : \"Update\"}\r\n \r\n\r\n \r\n {\"Cancel\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(NewsFeeds);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport FooterSection from '../components/UI/FooterSection';\r\nimport SpanField from '../components/UI/SpanField';\r\nimport Select from \"react-select\";\r\nimport Label from '../components/UI/Label';\r\nfunction mapStateToProps(state) {\r\n return {\r\n\r\n };\r\n}\r\n\r\n\r\nclass Notification extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n notificationdata: { category: \"\" },\r\n formSuccess: { status: \"\", message: \"\" },\r\n category: [{ label: \"hospitals\", value: \"hospitals\" }, { label: \"hospitals\", value: \"hospitals\" }, { label: \"hospitals\", value: \"hospitals\" },]\r\n // errors: { support_phone_number: \"\", support_email_id: \"\" }\r\n }\r\n }\r\n handleColumnChange = (e) => {\r\n console.log(e)\r\n this.setState({})\r\n\r\n }\r\n componentDidMount() {\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // axios\r\n // .post(getAllBusinessList, null)\r\n // .then((response) => {\r\n // // console.log(response.data)\r\n // let hospitals = response.data.data;\r\n\r\n // this.setState({ hospitals: hospitals })\r\n // }).catch((e) => {\r\n // console.log(\"get queue failed\");\r\n // });\r\n }\r\n render() {\r\n const {\r\n notificationdata,\r\n\r\n formSuccess,\r\n } = this.state;\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
    Settings
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n .xlsx\r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n\r\n
    \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { getAllBusinessUserListByAdmin, updateDoctorStatus1,updateDoctorbyAdmin,removeDoctorFromDoctorlist,getAllUserSubscriptions } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG,payment_status } from \"../config/data\";\r\nimport moment from \"moment\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport Select from \"react-select\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport Validation from \"../actions/Validation\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport DoctorListExport from \"./DoctorListExport\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nconst status = [\r\n { value: \"Pending\", label: \"Pending\" },\r\n { value: \"Approved\", label: \"Approved\" },\r\n];\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n\r\n };\r\n}\r\n\r\nclass DoctorList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n records: [],\r\n actions: \"update\",\r\n loading: false,\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n \r\n deletePopup: false,\r\n doctordata:\r\n {\r\n id:\"\",\r\n first_name:\"\",\r\n last_name:\"\",\r\n name:\"\",\r\n user_id: \"\",\r\n email:\"\",\r\n blood_group:\"\",\r\n status:\"\",\r\n speciality:\"\",\r\n phone_code:\"\",\r\n phone_number:\"\",\r\n subscription:\"\",\r\n payment_status:\"\",\r\n expires_at:\"\",\r\n\r\n },\r\n usersubscriptionlist:[],\r\n errors: {\r\n id:\"\",\r\n first_name:\"\",\r\n email:\"\",\r\n phone_number:\"\",\r\n subscription:\"\",\r\n payment_status:\"\",\r\n expires_at:\"\",\r\n\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n\r\n }\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n }, \r\n {\r\n key: \"id\",\r\n text: \"Doctor ID\",\r\n className: \"id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"first_name\",\r\n text: \"First Name\",\r\n className: \"first_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"last_name\",\r\n text: \"Last Name\",\r\n className: \"last_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"name\",\r\n text: \"Speciality\",\r\n className: \"name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n // {\r\n // key: \"date_of_birth\",\r\n // text: \"Date Of Birth\",\r\n // width: 92,\r\n // className: \"date_of_birth\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // cell: (record) => {\r\n // return moment(record.date_of_birth).format(\"DD-MM-YYYY\");\r\n // },\r\n // },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n // {\r\n // key: \"marital_status\",\r\n // text: \"Marital Status\",\r\n // className: \"marital_status\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // },\r\n // {\r\n // key: \"blood_group\",\r\n // text: \"Blood Group\",\r\n // className: \"blood_group\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // },\r\n {\r\n key: \"phone_number\",\r\n text: \"Mobile Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"status\",\r\n text: \"Status\",\r\n className: \"status statuswidth\",\r\n tHeadClassName: \"csutomcolspan\",\r\n width:100,\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n let obj = {\r\n label: record.status,\r\n value: record.status,\r\n };\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.handleDOBChange(date)\r\n }\r\n placeholder={\"Select the expiration date\"}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n .xlsx\r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n\r\n
    \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { getAllBusinessList,removeBusinessFromBusinesslist,updateHospital,getAllUserSubscriptions,updateHospitalStatus } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG,payment_status } from \"../config/data\";\r\nimport moment from \"moment\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport Select from \"react-select\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport Validation from \"../actions/Validation\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport HospitallistExport from \"./HospitallistExport\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n\r\n };\r\n}\r\nconst status = [\r\n { value: \"Pending\", label: \"Pending\" },\r\n { value: \"Approved\", label: \"Approved\" },\r\n];\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\nclass HospitalList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n records: [],\r\n actions: \"update\",\r\n loading: false,\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n \r\n deletePopup: false,\r\n hospitaldata:\r\n {\r\n id:\"\",\r\n business_name:\"\",\r\n user_id: \"\",\r\n email:\"\",\r\n phone_number:\"\",\r\n subscription:\"\",\r\n payment_status:\"\",\r\n expires_at:\"\",\r\n\r\n },\r\n usersubscriptionlist:[],\r\n errors: {\r\n \r\n email:\"\",\r\n phone_number:\"\",\r\n subscription:\"\",\r\n payment_status:\"\",\r\n expires_at:\"\",\r\n\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n\r\n \r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n }, \r\n {\r\n key: \"id\",\r\n text: \"Hospital ID\",\r\n className: \"emp_id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"business_name\",\r\n text: \"Business Name\",\r\n className: \"business_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n )\r\n },\r\n },\r\n // {\r\n // key: \"Specialities\",\r\n // text: \"Speciality\",\r\n // className: \"speciality\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // },\r\n // {\r\n // key: \"dob\",\r\n // text: \"Date Of Birth\",\r\n // width: 92,\r\n // className: \"dob\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // cell: (record) => {\r\n // return moment(record.dob).format(\"DD-MM-YYYY\");\r\n // },\r\n // },\r\n // {\r\n // key: \"gender\",\r\n // text: \"Gender\",\r\n // className: \"gender\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // },\r\n // {\r\n // key: \"marital_status\",\r\n // text: \"Marital Status\",\r\n // className: \"marital_status\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // },\r\n // {\r\n // key: \"blood_group\",\r\n // text: \"Blood Group\",\r\n // className: \"blood_group\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // },\r\n {\r\n key: \"address\",\r\n text: \"Hospital Address\",\r\n className: \"address\",\r\n sortable: true,\r\n align: \"left\",\r\n width:20,\r\n cell: (record) => {\r\n return(\r\n \r\n \r\n
    \r\n \r\n \r\n )\r\n },\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n width: 20,\r\n className: \"phone_number\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n )\r\n },\r\n },\r\n {\r\n key: \"subscription\",\r\n text: \"Subscription\",\r\n className: \"subscription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"payment_status\",\r\n text: \"Payment Status\",\r\n className: \"Payment_Status\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"expires_at\",\r\n text: \"Expires At\",\r\n className: \"expires_at\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n\r\n var date=moment(record.expires_at).format(\"DD-MMM-yyyy\");\r\n console.log(date);\r\n if(date ===\"Invalid date\")\r\n {\r\n return \"\";\r\n\r\n }else\r\n {\r\n return moment(record.expires_at).format(\"DD-MMM-yyyy\");\r\n }\r\n\r\n },\r\n },\r\n\r\n {\r\n key: \"status\",\r\n text: \"Status\",\r\n className: \"status statuswidth\",\r\n tHeadClassName: \"csutomcolspan\",\r\n width:100,\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n let obj = {\r\n label: record.status,\r\n value: record.status,\r\n };\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.handleDOBChange(date)\r\n }\r\n placeholder={\"Select the expiration date\"}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n .xlsx\r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n\r\n
    \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { getAllClientList, updateDoctorStatus1 ,removePatientFromPatientlist,getAllUserSubscriptions,updatePatientbyAdmin} from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG,payment_status } from \"../config/data\";\r\nimport moment from \"moment\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport Select from \"react-select\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport PhoneInput, { isValidPhoneNumber, parsePhoneNumber } from \"react-phone-number-input\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport Validation from \"../actions/Validation\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport PatientListExport from \"./PatientListExport\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\n\r\nclass PatientList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n records: [],\r\n actions: \"update\",\r\n loading: false,\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n \r\n deletePopup: false,\r\n patientdata:\r\n {\r\n id:\"\",\r\n first_name:\"\",\r\n last_name:\"\",\r\n user_id: \"\",\r\n email:\"\",\r\n blood_group:\"\",\r\n gender:\"\",\r\n phone_code:\"+91\",\r\n phone_number:\"\",\r\n subscription:\"\",\r\n payment_status:\"\",\r\n expires_at:\"\",\r\n\r\n },\r\n usersubscriptionlist:[],\r\n errors: {\r\n id:\"\",\r\n first_name:\"\",\r\n email:\"\",\r\n phone_number:\"\",\r\n subscription:\"\",\r\n payment_status:\"\",\r\n expires_at:\"\",\r\n\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n \r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n }, \r\n {\r\n key: \"id\",\r\n text: \"Patient ID\",\r\n className: \"id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"first_name\",\r\n text: \"First Name\",\r\n className: \"first_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"last_name\",\r\n text: \"Last Name\",\r\n className: \"last_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"date_of_birth\",\r\n text: \"Date Of Birth\",\r\n width: 92,\r\n className: \"date_of_birth\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return moment(record.date_of_birth).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n key: \"gender\",\r\n text: \"Gender\",\r\n className: \"gender\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n // {\r\n // key: \"marital_status\",\r\n // text: \"Marital Status\",\r\n // className: \"marital_status\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // },\r\n {\r\n key: \"blood_group\",\r\n text: \"Blood Group\",\r\n className: \"blood_group\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"subscription\",\r\n text: \"Subscription\",\r\n className: \"subscription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"payment_status\",\r\n text: \"Payment Status\",\r\n className: \"payment_status\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"expires_at\",\r\n text: \"Expires At\",\r\n className: \"expires_at\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n var date=moment(record.expires_at).format(\"DD-MMM-yyyy\");\r\n console.log(date);\r\n if(date ===\"Invalid date\")\r\n {\r\n return \"\";\r\n \r\n }else\r\n {\r\n return moment(record.expires_at).format(\"DD-MMM-yyyy\");\r\n }\r\n },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n this.setState({ deletePopup: true, record: record })\r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n handleColumnChange = (record, selectedOptions) => {\r\n\r\n record.status = selectedOptions ? selectedOptions.value : \"Pending\";\r\n this.UpdateColumnChange(record);\r\n };\r\n\r\n UpdateColumnChange = (data) => {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let request = {\r\n business_user_id: data.user_id, status: data.status\r\n }\r\n axios.post(updateDoctorStatus1, request).then((list) => {\r\n let records = this.state.records;\r\n\r\n // data = list.data.data;\r\n if (list.data.status === \"1\") {\r\n var recIndex = findWithAttr(records, \"user_id\", data.user_id);\r\n\r\n records[recIndex].status = data.status;\r\n\r\n this.setState({ records, tableSuccess: list.data.message });\r\n }\r\n\r\n this.clearMessage();\r\n });\r\n };\r\n clearMessage = () => {\r\n\r\n this.setState({\r\n errors: {\r\n id:\"\",\r\n first_name:\"\",\r\n email:\"\",\r\n phone_number:\"\",\r\n subscription:\"\",\r\n payment_status:\"\",\r\n expires_at:\"\",\r\n\r\n }\r\n });\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n cancel = () => {\r\n let data = this.state.patientdata;\r\n data.id=\"\";\r\n data.first_name = \"\";\r\n data.last_name=\"\";\r\n data.email = \"\";\r\n data.phone_number = \"\";\r\n data.subscription=\"\";\r\n data.payment_status=\"\";\r\n data.expires_at=\"\";\r\n \r\n this.setState({ patientdata: data, actions: \"update\" });\r\n };\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.patientdata;\r\n data[e.name] = selectedOptions;\r\n \r\n this.setState({ patientdata: data });\r\n };\r\n handlePatientChange(value, field) {\r\n let fields = this.state.patientdata;\r\n // let errors = this.state.educationerror;\r\n console.log(field);\r\n if (value === \"email\") {\r\n fields.email = field.target.value;\r\n // errors[i].register_id = '';\r\n }else if (value === \"id\") {\r\n fields.id = field;\r\n // errors[i].education = '';\r\n } \r\n else if (value === \"first_name\") {\r\n fields.first_name = field;\r\n // errors[i].education = '';\r\n } \r\n else if (value === \"phone_number\") {\r\n fields.phone_number = field;\r\n // errors[i].education = '';\r\n } \r\n else if (value === \"subscription\") {\r\n fields.subscription = field;\r\n // errors[i].education = '';\r\n } \r\n else if (value === \"expires_at\") {\r\n fields.expires_at = field;\r\n // errors[i].education = '';\r\n }else if (value === \"payment_status\") {\r\n fields.payment_status = field;\r\n // errors[i].education = '';\r\n } \r\n this.setState({\r\n hospitaldata: fields,\r\n });\r\n }\r\n editRecord = (record) => {\r\n console.log(record);\r\n this.setState({ actions: \"edit\" });\r\n \r\n let patientdata = this.state.patientdata;\r\n patientdata.id=record.id;\r\n patientdata.user_id = record.user_id;\r\n patientdata.first_name=record.first_name;\r\n patientdata.last_name=record.last_name;\r\n patientdata.gender=record.gender;\r\n patientdata.blood_group=record.blood_group;\r\n patientdata.email=record.email;\r\n patientdata.phone_number = record.phone_number;\r\n patientdata.subscription={\r\n label: record.subscription,\r\n value: record.subscription,\r\n };\r\n patientdata.payment_status = {\r\n label: record.payment_status,\r\n value: record.payment_status,\r\n };\r\n \r\n \r\n if(patientdata.expires_at===null|| patientdata.expires_at===\"\")\r\n {\r\n patientdata.expires_at =record.expires_at;\r\n }else\r\n {\r\n patientdata.expires_at=moment(record.expires_at,moment.defaultFormat).toDate();\r\n }\r\n \r\n let errors = this.state.errors;\r\n errors = this.clearErrors(errors);\r\n \r\n this.handlePatientChange(\"user_id\", patientdata.user_id);\r\n this.setState({ patientdata: patientdata });\r\n };\r\n clearErrors = (errors) => {\r\n errors.first_name = \"\";\r\n errors.subscription = \"\";\r\n errors.payment_status = \"\";\r\n errors.expires_at = \"\";\r\n errors.phone_number = \"\";\r\n errors.email=\"\";\r\n return errors;\r\n };\r\n \r\n deleteRecord(record) {\r\n \r\n let user_id = record.user_id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(removePatientFromPatientlist, { user_id: user_id }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n \r\n const deleteIndex = records.map((item) => item.user_id).indexOf(record.user_id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n this.setState({ tableSuccess: res.data });\r\n toast.error(\"Patient deleted. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n\r\n }\r\n })\r\n .catch(() => { });\r\n this.setState({ deletePopup: false, record: null });\r\n \r\n this.setState({\r\n confirmedDelete: false,\r\n });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .get(getAllClientList, null, CONFIG)\r\n .then((list) => {\r\n console.log(list.data[0]);\r\n \r\n this.setState({ records: list.data.data });\r\n let users = [];\r\n let userlist = list.data.data;\r\n console.log(userlist);\r\n userlist.forEach((element, index) => {\r\n let user = {};\r\n user.s_no = index + 1;\r\n user.id=element.id;\r\n user.user_id=element.user_id;\r\n user.first_name = element.first_name;\r\n user.last_name = element.last_name;\r\n user.gender=element.gender;\r\n user.blood_group=element.blood_group;\r\n user.date_of_birth=element.date_of_birth;\r\n // user.phone_number = element.phone_number;\r\n user.phone_code=element.phone_code;\r\n user.phone_number = element.phone_number.includes(\"+91\") ? element.phone_number : \"+91\"+element.phone_number;\r\n \r\n user.email = element.email;\r\n user.subscription = element.subscription;\r\n user.payment_status = element.payment_status;\r\n user.expires_at = element.expires_at;\r\n users[index] = user;\r\n });\r\n console.log(users);\r\n this.setState({ records: users });\r\n })\r\n .catch((e) => { console.log(e) });\r\n\r\n }\r\n clearAll() {\r\n let actions = this.state.actions;\r\n actions = \"update\";\r\n this.setState({ actions });\r\n let patientdata = {};\r\n patientdata.id=\"\";\r\n patientdata.first_name=\"\";\r\n patientdata.last_name=\"\";\r\n patientdata.email = \"\";\r\n patientdata.phone_number = \"\";\r\n patientdata.subscription=\"\";\r\n patientdata.payment_status=\"\";\r\n patientdata.expires_at=\"\";\r\n this.setState({ patientdata });\r\n }\r\n updatePatient=()=> {\r\n // let user_id = record.user_id;\r\n let { patientdata, errors } = this.state;\r\n patientdata.type = \"patientlist\";\r\n errors = Validation(patientdata, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n let data = this.state.patientdata;\r\n \r\n // let data = {};\r\n \r\n data.user_id=patientdata.user_id;\r\n data.id=patientdata.id;\r\n data.first_name=patientdata.first_name;\r\n data.last_name=patientdata.last_name;\r\n data.gender=patientdata.gender;\r\n data.blood_group=patientdata.blood_group;\r\n data.email = patientdata.email;\r\n if(data.phone_number && data.phone_number != '' && data.phone_number !='+91'){\r\n data.phone_code = \"+\" + parsePhoneNumber(patientdata.phone_number).countryCallingCode;\r\n data.phone_number = parsePhoneNumber(patientdata.phone_number).nationalNumber;\r\n }\r\n // data.phone_number = patientdata.phone_number;\r\n data.subscription=patientdata.subscription.label;\r\n data.payment_status=patientdata.payment_status.label;\r\n data.expires_at=patientdata.expires_at;\r\n \r\n axios.put(updatePatientbyAdmin, data, CONFIG).then((list) => {\r\n console.log(data);\r\n console.log(list.data);\r\n let response=list.data;\r\n if (response.status === \"1\") {\r\n \r\n let member = {};\r\n \r\n member.id=data.id;\r\n member.user_id = data.user_id;\r\n member.first_name=data.first_name;\r\n member.last_name=data.last_name;\r\n member.gender=data.gender;\r\n member.blood_group=data.blood_group;\r\n member.email = data.email;\r\n member.phone_number = data.phone_number;\r\n member.subscription=data.subscription;\r\n member.payment_status=data.payment_status;\r\n member.expires_at=data.expires_at;\r\n \r\n let records = this.state.records;\r\n \r\n /** Updating the data table */\r\n let existingRecords = this.state.records;\r\n var index = existingRecords.findIndex((item) => item.user_id === data.user_id);\r\n existingRecords.splice(index, 1, member);\r\n this.setState({ records: existingRecords });\r\n \r\n this.setState({ records });\r\n this.setState({ formSuccess: list.data });\r\n this.cancel();\r\n this.clearMessage();\r\n \r\n }\r\n });\r\n }\r\n }\r\n handleDOBChange = (date) => {\r\n let Hospitaldata = this.state.hospitaldata;\r\n Hospitaldata.expires_at = date;\r\n this.setState({ hospitaldata: Hospitaldata });\r\n };\r\n componentDidMount = () => {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .get(getAllClientList, null, CONFIG)\r\n .then((list) => {\r\n console.log(list.data.data);\r\n // let userlist = list.data.data;\r\n // this.setState({ records: userlist });\r\n let users = [];\r\n let userlist = list.data.data;\r\n userlist.forEach((element, index) => {\r\n let user = {};\r\n user.s_no = index + 1;\r\n user.id=element.id;\r\n user.user_id=element.user_id;\r\n user.first_name = element.first_name;\r\n user.last_name = element.last_name;\r\n user.gender=element.gender;\r\n user.blood_group=element.blood_group;\r\n user.phone_code=element.phone_code;\r\n user.phone_number = (element.phone_number==null)?element.phone_number: (element.phone_number.includes(element.phone_code)? element.phone_number :element.phone_code+element.phone_number);\r\n \r\n user.date_of_birth=element.date_of_birth;\r\n user.email = element.email;\r\n user.subscription = element.subscription;\r\n user.payment_status = element.payment_status;\r\n user.expires_at = element.expires_at;\r\n users[index] = user;\r\n });\r\n \r\n this.setState({ records: users });\r\n })\r\n .catch(() => { });\r\n \r\n axios\r\n .post(getAllUserSubscriptions, null, CONFIG)\r\n .then((result) => {\r\n console.log(result.data);\r\n if (result.data.status === \"1\") {\r\n let usersubscriptionlist = [];\r\n result.data.data.forEach((element, index) => {\r\n let obj = {};\r\n obj = element;\r\n obj.label = element.subscription_name;\r\n obj.value = element.id;\r\n usersubscriptionlist[index] = obj;\r\n });\r\n \r\n this.setState({\r\n usersubscriptionlist: usersubscriptionlist,\r\n });\r\n } else {\r\n alert(\"Subscription list empty\");\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n console.log(\"business user getbyid failed\");\r\n });\r\n\r\n }\r\n render() {\r\n const {\r\n\r\n patientdata,\r\n formSuccess,\r\n tableSuccess,\r\n errors,\r\n loading,\r\n } = this.state;\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

    Patient List

    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n this.setState({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\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.actions === \"Edit\"\r\n ? \"Edit\"\r\n : \"Edit\"}{\" \"}\r\n Patient
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
     \r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Update\"\r\n ) : (\r\n \"Update\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Export Patient List
    \r\n
    \r\n
    \r\n \r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(PatientList);","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { formatDate } from \"../constants/config/data\";\r\nimport {\r\n getPharmacyList,\r\n getAllSaleEntryListbybillno,\r\n addPharmacy,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getPharmacyShortDetail,\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport logo from '../assets/images/logo.png';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\n\r\nclass SalesNvoice extends Component {\r\n _isMounted = false;\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n pharmacyData: {\r\n pharmacy_id: \"\",\r\n searchpharmacy_id:\"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n online_prescription_obj: { value: \"\", label: \"\" },\r\n online_prescription: \"\",\r\n pharmacy_verification:\"\"\r\n },\r\n headerinfo: {\r\n profile_name: \"\",\r\n qualification: \"\",\r\n specialization: \"\",\r\n work_place: \"\",\r\n id: \"\",\r\n languages_known: \"\",\r\n profile_percentage: \"\",\r\n rating: \"\",\r\n profile_img:\"\",\r\n profile_percentage_style:\"\",\r\n business_name:\"\",\r\n speciality_detail:\"\",\r\n address1:\"\",\r\n city:\"\",\r\n zip_code:\"\"\r\n \r\n },\r\n totalAmtSec: {\r\n amt: 0,\r\n taxVal: 0,\r\n taxAmt: 0,\r\n totalAmt: 0,\r\n totalAmtWords: \"\",\r\n },\r\n\r\n errors: {\r\n pharmacy_id: \"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n online_prescription: \"\",\r\n pharmacy_verification:\"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n }\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n \r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n // {\r\n // key: \"pharmacy_location\",\r\n // text: \"Address\",\r\n // className: \"pharmacy_location\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // cell: (record) => {\r\n // return (\r\n // \r\n // \r\n // \r\n // {record.pharmacy_location}\r\n // \r\n // \r\n // \r\n // );\r\n\r\n // }\r\n\r\n // },\r\n {\r\n key: \"hsn_code\",\r\n text: \"HSN\",\r\n className: \"hsn_code\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"exp_date\",\r\n text: \"Exp.Dt\",\r\n className: \"exp_date\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n \r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"rate\",\r\n text: \"Rate\",\r\n className: \"rate\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cgst\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"sgst\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"sub_total\",\r\n text: \"Amount\",\r\n className: \"sub_total\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n ];\r\n this.config = {\r\n page_size: 9,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n length_menu: [10, 20, 50],\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n \r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors=this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number=\"\";\r\n this.setState({ pharmacyData,errors });\r\n };\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n let errors=this.state.errors;\r\n let { pharmacyData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n \r\n pharmacyData.pharmacy_location = place.formatted_address;\r\n pharmacyData.pharmacy_verification=\"Verified\";\r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n // var valShort = place.address_components[i].short_name;\r\n // console.log(val);\r\n if (addressType === \"administrative_area_level_1\")\r\n pharmacyData.state = val;\r\n if (addressType === \"locality\")\r\n pharmacyData.city = val;\r\n if (addressType === \"country\") pharmacyData.country = val;\r\n // if (addressType === \"street_number\") {\r\n\r\n pharmacyData.address = place.formatted_address;\r\n // }\r\n // if (addressType === \"sublocality_level_1\") pharmacyData.address2 = val;\r\n if (addressType === \"postal_code\") pharmacyData.zip_code = val;\r\n }\r\n }\r\nerrors.city_error=\"\";\r\nerrors.state_error=\"\";\r\nerrors.country_error=\"\";\r\nerrors.zip_code_error=\"\";\r\nerrors.city=\"\";\r\nerrors.state=\"\";\r\nerrors.country=\"\";\r\nerrors.zip_code=\"\";\r\n this.setState({\r\n pharmacyData,errors\r\n });\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n \r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n \r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n \r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value=event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n \r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n addRecord = (record) => {\r\n let formvalid = true;\r\n if (record.searchpharmacy_id === \"\") {\r\n record.pharmacyid_error = \"The Pharmacy ID field is required.\";\r\n formvalid = false;\r\n } else {\r\n record.pharmacyid_error = \"\";\r\n }\r\n \r\n \r\n let records = this.state.searchrecords;\r\n /* var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex] = record;\r\n this.setState({ searchrecords: records }); */\r\n if (formvalid) {\r\n this.setState({ drug_action: \"Add\" });\r\n //this.setState({ newDatatoAdd: record, loading: true });\r\n // this.addorupdateDrug();\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let selectedData = record;\r\n // console.log(selectedData); return false;\r\n let data = {};\r\n data.user_id = this.props.userdata.id;\r\n data.pharmacy_id = selectedData.searchpharmacy_id;\r\n data.pharmacy_name = selectedData.pharmacy_name;\r\n data.pharmacy_location = selectedData.pharmacy_location;\r\n data.address = selectedData.address;\r\n data.city = selectedData.city;\r\n data.country = selectedData.country;\r\n data.state = selectedData.state;\r\n data.zip_code = selectedData.zip_code;\r\n data.phone_number = selectedData.phone_number;\r\n data.email = selectedData.email;\r\n data.online_prescription=selectedData.online_prescription;\r\n// console.log(data);return false;\r\n axios\r\n .post(addPharmacy, data, CONFIG)\r\n .then((addPharmacyResponse) => {\r\n let res = addPharmacyResponse.data;\r\n \r\n if (res.status === \"1\") {\r\n toast.success(\"The Pharmacy details have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n let pharmacy = {};\r\n let records = this.state.records;\r\n pharmacy.s_no = this.state.records.length + 1;\r\n pharmacy.pharmacy_id = data.pharmacy_id;\r\n pharmacy.id = res.data[0].id;\r\n pharmacy.pharmacy_name = data.pharmacy_name;\r\n pharmacy.address = data.address;\r\n pharmacy.pharmacy_location=data.address;\r\n pharmacy.city = data.city;\r\n pharmacy.country = data.country;\r\n pharmacy.state = data.state;\r\n pharmacy.zip_code = data.zip_code;\r\n pharmacy.phone_number = data.phone_number;\r\n pharmacy.email = data.email;\r\n records.push(pharmacy);\r\n // this.setState({ searchrecords: records });\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getPharmacyList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let pharmacyList = list.data.data;\r\n pharmacyList.forEach((element, index) => {\r\n let pharmacy = {};\r\n pharmacy.s_no = index + 1;\r\n pharmacy.pharmacy_id = element.pharmacy_id;\r\n pharmacy.pharmacy_name = element.pharmacy_name;\r\n pharmacy.id = element.id;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_location = element.pharmacy_location;\r\n pharmacy.phone_number = element.phone_number;\r\n pharmacy.email = element.email;\r\n pharmacy.address = element.address;\r\n pharmacy.city = element.city;\r\n pharmacy.country = element.country;\r\n pharmacy.state = element.state;\r\n pharmacy.zip_code = element.zip_code;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_verification=element.pharmacy_verification;\r\n \r\n pharmacyList[index] = pharmacy;\r\n });\r\n \r\n this.setState({ records: pharmacyList });\r\n })\r\n .catch((e) => { });\r\n \r\n \r\n } \r\n else {\r\n toast.error(\"Pharmacy could not be added \", {\r\n className: \"toast-error\"\r\n });\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n } \r\n })\r\n .catch(() => { });\r\n }\r\n };\r\n\r\n UpdateSearchColumnChange = (record) => {\r\n\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n\r\n records[recIndex].pharmacy_id = record.pharmacy_id?record.pharmacy_id:\"\";\r\n /* records[recIndex].pharmacy_name = record.pharmacy_name;\r\n records[recIndex].pharmacy_location = record.pharmacy_location;\r\n records[recIndex].address = record.address;\r\n records[recIndex].city = record.city;\r\n records[recIndex].country = record.country;\r\n records[recIndex].state = record.state;\r\n records[recIndex].zip_code = record.zip_code;\r\n records[recIndex].phone_number = record.phone_number; */\r\n\r\n this.setState({ searchrecords: records });\r\n }\r\n Printpage=()=>\r\n { \r\n window.print();\r\n }\r\n\r\n UpdateColumnChange = (record) => {\r\n \r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n \r\n records[recIndex].pharmacy_id = record.pharmacy_id?record.pharmacy_id:\"\";\r\n records[recIndex].pharmacy_name = record.pharmacy_name;\r\n records[recIndex].pharmacy_location = record.pharmacy_location;\r\n records[recIndex].address = record.address;\r\n records[recIndex].city = record.city;\r\n records[recIndex].country = record.country;\r\n records[recIndex].state = record.state;\r\n records[recIndex].zip_code = record.zip_code;\r\n // records[recIndex].phone_number = record.phone_number;\r\n \r\n this.setState({ records: records });\r\n }\r\n UpdatePharmacy = (e) => {\r\n e.preventDefault();\r\n let { pharmacyData, errors } = this.state;\r\n pharmacyData.type = \"pharmacyList\";\r\n \r\n errors = Validation(pharmacyData, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n let data = this.state.pharmacyData;\r\n data.user_id = this.props.userdata.id;\r\n data.online_prescription = data.online_prescription_obj.label;\r\n if (this.state.actions === \"add\") { \r\n if(data.pharmacy_location==\"\")\r\n {\r\n data.pharmacy_location = data.address;\r\n data.pharmacy_verification=\"Not Verified\";\r\n }else{\r\n \r\n data.pharmacy_verification=\"Verified\";\r\n \r\n }\r\n }else\r\n {\r\n\r\n \r\n if(data.address==data.pharmacy_location)\r\n {\r\n data.pharmacy_verification=data.pharmacy_verification;\r\n console.log(data.pharmacy_verification);\r\n }\r\n else\r\n {\r\n data.address=data.address;\r\n data.pharmacy_verification=\"Not Verified\";\r\n console.log(data.pharmacy_verification);\r\n }\r\n }\r\n console.log(data.pharmacy_location);\r\n console.log(data.address);\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let url = this.state.actions === \"add\" ? addPharmacy : updatePharmacy;\r\n if (this.state.actions === \"add\") {\r\n axios.post(url, data, CONFIG).then((list) => {\r\n if (0 == list.data.status) {\r\n toast.error(\"Pharmacy could not be added \", {\r\n className: \"toast-error\"\r\n });\r\n this.setState({ errors: { pharmacy_id: list.data.message } });\r\n } else {\r\n let addPharmacy = {};\r\n addPharmacy.pharmacy_id = data.pharmacy_id;\r\n addPharmacy.pharmacy_name = data.pharmacy_name;\r\n addPharmacy.online_prescription = data.online_prescription_obj.label;\r\n addPharmacy.id = list.data.data[0].id;\r\n addPharmacy.address = data.address;\r\n addPharmacy.phone_number = data.phone_number;\r\n addPharmacy.email = data.email;\r\n if(data.pharmacy_location=\"\")\r\n {\r\n addPharmacy.pharmacy_location = data.address;\r\n addPharmacy.pharmacy_verification=data.pharmacy_verification;\r\n }else\r\n {\r\n addPharmacy.pharmacy_location = data.pharmacy_location;\r\n addPharmacy.pharmacy_verification=data.pharmacy_verification;\r\n }\r\n addPharmacy.city = data.city;\r\n addPharmacy.country = data.country;\r\n addPharmacy.state = data.state;\r\n addPharmacy.zip_code = data.zip_code;\r\n addPharmacy.online_prescription = data.online_prescription;\r\n let records = this.state.records;\r\n addPharmacy.s_no = records.length + 1;\r\n records.push(addPharmacy);\r\n\r\n this.setState({ records });\r\n // this.setState({ formSuccess: list.data });\r\n toast.success(\"The Pharmacy details have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getPharmacyList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let pharmacyList = list.data.data;\r\n pharmacyList.forEach((element, index) => {\r\n let pharmacy = {};\r\n pharmacy.s_no = index + 1;\r\n pharmacy.pharmacy_id = element.pharmacy_id;\r\n pharmacy.pharmacy_name = element.pharmacy_name;\r\n pharmacy.id = element.id;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_location = element.pharmacy_location;\r\n pharmacy.phone_number = element.phone_number;\r\n pharmacy.email = element.email;\r\n pharmacy.address = element.address;\r\n pharmacy.city = element.city;\r\n pharmacy.country = element.country;\r\n pharmacy.state = element.state;\r\n pharmacy.zip_code = element.zip_code;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_verification=element.pharmacy_verification;\r\n \r\n pharmacyList[index] = pharmacy;\r\n });\r\n \r\n this.setState({ records: pharmacyList });\r\n })\r\n .catch((e) => { });\r\n \r\n\r\n });\r\n } else {\r\n\r\n axios.put(url, data, CONFIG).then((list) => {\r\n\r\n if (0 == list.data.status) {\r\n toast.error(\"Pharmacy could not be updated \", {\r\n className: \"toast-error\"\r\n });\r\n this.setState({ success: list.data });\r\n } else {\r\n let{editRecord}=this.state;\r\n let place = this.autocomplete.getPlace();\r\n let records = this.state.records;\r\n var addr = document.getElementById(\"address\");\r\n \r\n // Get geocoder instance\r\n var geocoder = new google.maps.Geocoder();\r\n \r\n // Geocode the address\r\n geocoder.geocode({\r\n 'address': addr.value\r\n }, function(results, status) {\r\n if (status === google.maps.GeocoderStatus.OK && results.length > 0) {\r\n \r\n // set it to the correct, formatted address if it's valid\r\n // addr.value = results[0].formatted_address;;\r\n // data.pharmacy_verification=\"Verified\";\r\n } else {\r\n \r\n // show an error if it's not\r\n // alert(\"Invalid address\");\r\n }\r\n });\r\n console.log(addr.value)\r\n // console.log(place.formatted_address);\r\n /* console.log(editRecord.address);\r\n if(data.address==editRecord.address)\r\n {\r\n data.address=data.address;\r\n data.pharmacy_verification=editRecord.pharmacy_verification;\r\n }else\r\n {\r\n data.address=place.formatted_address;\r\n data.pharmacy_verification=\"Verified\";\r\n \r\n }\r\n */ var recIndex = findWithAttr(records, \"id\", data.id);\r\n\r\n records[recIndex].pharmacy_id = data.pharmacy_id;\r\n records[recIndex].pharmacy_name = data.pharmacy_name;\r\n records[recIndex].online_prescription = data.online_prescription_obj.label;\r\n records[recIndex].phone_number = data.phone_number;\r\n records[recIndex].email = data.email;\r\n records[recIndex].address = data.address;\r\n records[recIndex].pharmacy_location = data.address;\r\n records[recIndex].city = data.city;\r\n records[recIndex].country = data.country;\r\n records[recIndex].state = data.state;\r\n records[recIndex].zip_code = data.zip_code;\r\n records[recIndex].online_prescription = data.online_prescription;\r\n records[recIndex].pharmacy_verification = data.pharmacy_verification;\r\n records[recIndex].id = data.id;\r\n\r\n this.setState({ records });\r\n // this.setState({ formSuccess: list.data });\r\n toast.success(\"The Pharmacy details have been updated successfully. \", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n }\r\n\r\n }\r\n };\r\n\r\n clearErrors = (errors) => {\r\n\r\n errors.pharmacy_id = \"\"\r\n errors.pharmacy_name = \"\"\r\n errors.address = \"\"\r\n errors.phone_number = \"\"\r\n errors.email = \"\"\r\n errors.pharmacy_location = \"\"\r\n errors.city = \"\"\r\n errors.country = \"\"\r\n errors.state = \"\"\r\n errors.zip_code = \"\"\r\n errors.online_prescription = \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n let pharmacy_action = this.state.pharmacy_action;\r\n pharmacy_action = \"Add\";\r\n this.setState({ pharmacy_action });\r\n let data = this.state.pharmacyData;\r\n data.pharmacy_id = \"\"\r\n data.pharmacy_name = \"\"\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.online_prescription_obj = {\r\n label:\"\",value:\"\"\r\n }\r\n data.address = \"\"\r\n data.phone_number = \"\"\r\n data.email = \"\"\r\n data.pharmacy_location = \"\"\r\n data.city = \"\"\r\n data.country = \"\"\r\n data.state = \"\"\r\n data.zip_code = \"\"\r\n data.online_prescription = \"\"\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ pharmacyData: data, actions: \"add\", errors: errors, searchErrorMessage: \"\", searchrecords: [], search_action: false });\r\n }\r\n \r\n clearimport=()=>{\r\n this.setState({ file:\"\" });\r\n };\r\n \r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n editRecord(record) {\r\n let pharmacy_action = this.state.pharmacy_action;\r\n pharmacy_action = \"Edit\";\r\n this.setState({ pharmacy_action });\r\n let pharmacyData = this.state.pharmacyData;\r\n console.log(record)\r\n console.log(pharmacyData)\r\n pharmacyData.pharmacy_id = record.pharmacy_id;\r\n pharmacyData.pharmacy_name = record.pharmacy_name;\r\n pharmacyData.id = record.id;\r\n pharmacyData.user_id = record.user_id;\r\n\r\n pharmacyData.online_prescription_obj = {\r\n label: record.online_prescription,\r\n value: (\"Yes\" === record.online_prescription) ? 1 : 0\r\n }\r\n pharmacyData.address = record.pharmacy_location;\r\n pharmacyData.phone_number = record.phone_number;\r\n pharmacyData.email = record.email;\r\n pharmacyData.pharmacy_location = record.address;\r\n pharmacyData.city = record.city;\r\n pharmacyData.country = record.country;\r\n pharmacyData.state = record.state;\r\n pharmacyData.zip_code = record.zip_code;\r\n pharmacyData.online_prescription = record.online_prescription;\r\n pharmacyData.pharmacy_verification=record.pharmacy_verification;\r\n let errors = this.state.errors;\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ pharmacyData: pharmacyData, actions: \"edit\", errors: errors,editRecord:record });\r\n }\r\n componentDidMount = () => {\r\n this._isMounted = true;\r\n /* console.log(this.props.location.state.bill_no);\r\n console.log(this.props.location.state.patient_address);\r\n console.log(this.props.location.state.patient_name);\r\n console.log(this.props.location.state.doctor_name); */\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n \r\n if (data.status == \"1\"){\r\n\r\nconst foodlicence=data.data[0].food_licence;\r\nconst foodlicenceparsed=JSON.parse(foodlicence);\r\n\r\nconst druglicence1=data.data[0].drug_licence1;\r\nconst druglicence1parsed=JSON.parse(druglicence1);\r\nconst druglicence2=data.data[0].drug_licence2;\r\nconst druglicence2parsed=JSON.parse(druglicence2);\r\nconst druglicence3=data.data[0].drug_licence3;\r\nconst druglicence3parsed=JSON.parse(druglicence3);\r\n this.setState({\r\n avatar:data.data[0].avatar,\r\n pharmacyaddress:data.data[0].address1+'-'+data.data[0].city+'-'+data.data[0].state+'-'+data.data[0].country+'-'+data.data[0].zip_code,\r\n pharmacy_name:data.data[0].pharmacy_name,\r\n gstin:data.data[0].gst_no,\r\n foodLicense: foodlicenceparsed.food_licence,\r\n druglicence1:druglicence1parsed.drug_licence1,\r\n druglicence2:druglicence2parsed.drug_licence2,\r\n druglicence3:druglicence3parsed.drug_licence3,\r\n });\r\n }\r\n \r\n \r\n console.log(this.state.avatar);\r\n console.log(this.state.pharmacyaddress);\r\n })\r\n .catch((e) => { });\r\n \r\n\r\n let members = [];\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSaleEntryListbybillno, { bill_no: this.props.location.state.bill_no}, CONFIG)\r\n .then((list) => {\r\n let saleList = list.data.data;\r\n saleList.forEach((element, index) => {\r\n let sale = {};\r\n sale.s_no = index + 1;\r\n sale.generic_name = element.generic_name;\r\n sale.pack = element.pack;\r\n sale.id = element.id;\r\n sale.hsn_code = element.hsn_code;\r\n sale.batch_no = element.batch_no;\r\n sale.exp_date = formatDate(element.exp_date);\r\n sale.quantity = element.quantity;\r\n sale.mrp = element.mrp;\r\n sale.rate = element.rate;\r\n sale.cgst = element.cgst;\r\n sale.sgst = element.sgst;\r\n sale.sub_total=element.sub_total;\r\n saleList[index] = sale;\r\n });\r\n\r\n this.setState({ records: saleList });\r\n })\r\n .catch((e) => { });\r\n\r\n };\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n onDeleteClick(record) {\r\n \r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n \r\n let userId = record.id;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deletePharmacy, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Pharmacy detail has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n }\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors\r\n errors.online_prescription = \"\"\r\n data[e.name] = selectedOptions;\r\n this.setState({ pharmacyData: data, errors });\r\n };\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ pharmacyData: data, errors: errors });\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.pharmacyData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors\r\n if (\r\n name === \"pharmacy_id\" ||\r\n name === \"pharmacy_name\" ||\r\n name === \"address\"||\r\n name===\"city\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n }\r\n this.setState({ pharmacyData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n handleAddressInput = (e) => {\r\n let data = this.state.pharmacyData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors\r\n if (name === \"address\") {\r\n \r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n }\r\n this.setState({ pharmacyData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n searchandshowPharmacy() {\r\n let pharmacyData = this.state.pharmacyData;\r\n console.log(pharmacyData);\r\n \r\n if (\r\n pharmacyData.pharmacy_name === \"\" && pharmacyData.address === \"\" && pharmacyData.city === \"\" && pharmacyData.country === \"\" && pharmacyData.state === \"\" && pharmacyData.zip_code === \"\" && pharmacyData.online_prescription_obj.label === \"\" && pharmacyData.email === \"\" && pharmacyData.phone_number === \"\"\r\n ) {\r\n \r\n this.setState({\r\n searchErrorMessage:\r\n \"Choose any one of the search filters other than Pharmacy ID.\",\r\n searchrecords:[]\r\n });\r\n return;\r\n\r\n \r\n \r\n } else {\r\n this.setState({\r\n searchErrorMessage: \"\",\r\n });\r\n } \r\n let data = {};\r\n data.pharmacy_name = pharmacyData.pharmacy_name;\r\n data.address = pharmacyData.address;\r\n data.pharmacy_location = pharmacyData.pharmacy_location;\r\n data.city = pharmacyData.city;\r\n data.country = pharmacyData.country;\r\n data.state = pharmacyData.state;\r\n data.zip_code = pharmacyData.zip_code;\r\n data.phone_number = pharmacyData.phone_number;\r\n data.email = pharmacyData.email;\r\n data.online_prescription=pharmacyData.online_prescription_obj.label;\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(searchPharmacy, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n let data = [];\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n // console.log(this.state.masterdrugmeasure[0]);\r\n records.forEach((element) => {\r\n console.log(element);\r\n data.push({\r\n pharmacy_id: \"\",\r\n pharmacy_name: element.pharmacy_name,\r\n address: element.address,\r\n city: element.city,\r\n country: element.country,\r\n state: element.state,\r\n zip_code: element.zip_code,\r\n phone_number: element.phone_number,\r\n email: element.email,\r\n online_prescription:element.online_prescription,\r\n pharmacy_location: element.pharmacy_location,\r\n pharmacy_name_error: \"\",\r\n address_error: \"\",\r\n city_error: \"\",\r\n country_error: \"\",\r\n state_error: \"\",\r\n zip_code_error: \"\",\r\n phone_number_error: \"\",\r\n });\r\n });\r\n\r\n this.setState({ searchrecords: data });\r\n this.setState({\r\n search_action: true,\r\n });\r\n } else {\r\n this.setState({ searchrecords: [], search_action: true });\r\n }\r\n });\r\n });\r\n }\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n};\r\nonFileUpload = () => {\r\n\r\n if (this.state.pharmacyData.length) {\r\n axios.post(hospitalpharmacyimport, {data: this.state.pharmacyData,user_id:this.props.userdata.id}).then((result) => {\r\n console.log(result);\r\n this.setState({ formSuccess: result.data, file: \"\", pharmacyData: [] })\r\n axios\r\n .post(getPharmacyList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let pharmacyList = list.data.data;\r\n pharmacyList.forEach((element, index) => {\r\n let pharmacy = {};\r\n pharmacy.s_no = index + 1;\r\n pharmacy.pharmacy_id = element.pharmacy_id;\r\n pharmacy.pharmacy_name = element.pharmacy_name;\r\n pharmacy.id = element.id;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_location = element.pharmacy_location;\r\n pharmacy.phone_number = element.phone_number;\r\n pharmacy.email = element.email;\r\n pharmacy.address = element.address;\r\n pharmacy.city = element.city;\r\n pharmacy.country = element.country;\r\n pharmacy.state = element.state;\r\n pharmacy.zip_code = element.zip_code;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_verification=element.pharmacy_verification;\r\n \r\n pharmacyList[index] = pharmacy;\r\n });\r\n this.setState({ records: pharmacyList });\r\n })\r\n .catch(() => { });\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n};\r\n render() {\r\n const { headerinfo,adverdisement } = this.state;\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n const { pharmacyData, errors, formSuccess, tableSuccess, hospitaltimeout, searchErrorMessage,searchTableSuccess,loading } = this.state;\r\n return (\r\n\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n

    Sales Invoice

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

    GST Tax Invoice

    \r\n
    \r\n\r\n
    \r\n \r\n

    GSTIN:{this.state.gstin}

    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Bill No:{this.props.location.state.bill_no}

    \r\n

    Bill Date:{formatDate(this.props.location.state.bill_date)}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Pharmacy\r\n
    \r\n

    \r\n {this.state.pharmacy_name}\r\n

    \r\n
    \r\n {this.state.pharmacyaddress}\r\n
    \r\n {/*
    Phone No: {headerinfo.phone_no}
    */}\r\n
    Mobile No:{this.props.userdata.phone_number}
    \r\n
    Email ID:{this.props.userdata.email}
    \r\n
    DL No:{this.state.druglicence1},{this.state.druglicence2},{this.state.druglicence3}
    \r\n
    FSSAI No: {this.state.foodLicense}
    \r\n
    \r\n {headerinfo.languages_known}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Patient Name:{this.props.location.state.patient_name}

    \r\n

    Patient Address: {this.props.location.state.patient_address}

    \r\n

    Doctor Name: {this.props.location.state.doctor_name}

    \r\n

    Doctor Reg. No: {this.props.location.state.doctorreg_no}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n\r\n {/* */}\r\n \r\n \r\n \r\n Sub Total\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.sub_total\r\n }{\" \"}\r\n \r\n \r\n \r\n\r\n \r\n \r\n GST Amount\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.gstAmt\r\n }{\" \"}\r\n \r\n \r\n \r\n\r\n \r\n \r\n Discount Amount\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.discAmt\r\n }{\" \"}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Round off (+/-)\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.rounddiff\r\n }{\" \"}\r\n \r\n \r\n\r\n {/* \r\n \r\n Bill Amount\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.total\r\n }{\" \"}\r\n \r\n */}\r\n \r\n \r\n Bill Amount\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.roundtotal\r\n }{\" \"}\r\n \r\n \r\n \r\n \r\n {/* */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Amount (in Words)\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.totalAmtWords\r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n \r\n \r\n \r\n 5%\r\n \r\n \r\n {this.props.location.state.sub_total5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt5.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {this.props.location.state.sub_total12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt12.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.props.location.state.sub_total18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt18.toFixed(2)}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Terms and Conditions
    \r\n
      \r\n
    • Goods once sold will not be taken back or exchanged.
    • \r\n
    • All disputes subject to Chennai Jurisdiction only.
    • \r\n
    \r\n
    \r\n \r\n
    \r\n
    For {this.state.pharmacy_name} Pharmacy
    \r\n
      \r\n
    • Authorized Signature
    • \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n \r\n\r\n {/* \r\n Finish\r\n */}\r\n \r\n \r\n \r\n
    \r\n {/* \r\n Back\r\n \r\n */}\r\n \r\n Print\r\n \r\n {/* \r\n Finish\r\n */}\r\n
    \r\n
    \r\n E. & O.E.\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/*
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n

    * All the address marked in red are not verified

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    Import Pharmacy List
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    */}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n{/* \r\n \r\n */}\r\n {/*
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    */}\r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(SalesNvoice));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../assets/css/mystyle.css\";\r\nimport { getallMasterPharmacyList } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n \r\n { header: 'Pharmacy ID', key: 'id' },\r\n { header: 'Pharmacy Name', key: 'pharmacy_name' },\r\n { header: 'Pharmacy Location ', key: 'pharmacy_location' },\r\n { header: 'Country', key: 'country' }, \r\n { header: 'State', key: 'state' },\r\n { header: 'City', key: 'city' },\r\n { header: 'Zip Code', key: 'zip_code' },\r\n { header: 'Phone Number', key: 'phone_number' },\r\n { header: 'Online Prescription', key: 'online_prescription' },\r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'MyWorkBook';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = myInput.value || workBookName;\r\n \r\n const newdata=props.records;\r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n newdata.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n });\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Pharmacy List has been downloaded successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    .xlsx\r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n\r\n
    \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../assets/css/mystyle.css\";\r\nimport axios from \"axios\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n\r\n \r\n { header: 'Pharmacy Name', key: 'pharmacy_name' },\r\n { header: 'Pharmacy Location', key: 'pharmacy_location' }, \r\n { header: 'online_prescription', key: 'online_prescription' },\r\n { header: 'address', key: 'address' },\r\n { header: 'city', key: 'city' },\r\n { header: 'state', key: 'state' },\r\n { header: 'country', key: 'country' },\r\n { header: 'zip_code', key: 'zip_code' },\r\n { header: 'Phone Number(10 Chars)', key: 'phone_number' },\r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'AdminPharmacyTemplate';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n /* data.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n }); */\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Admin Pharmacy template generated successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { getallMasterPharmacyList, updatePharmacyStatus,addMasterPharmacy,pharmacyimport } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport Select from \"react-select\";\r\nimport FooterSection from '../components/UI/FooterSection';\r\nimport InputField from \"../components/UI/InputField\";\r\nimport { CountryDropdown, RegionDropdown } from \"react-country-region-selector\";\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Label from \"../components/UI/Label\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport readXlsxFile from 'read-excel-file';\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport AdminPharmacyListExport from \"./AdminPharmacyListExport\";\r\n//import {ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport AdminPharmacyTemplate from \"./AdminPharmacyTemplate\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\n\r\nconst status = [\r\n { value: \"Pending\", label: \"Pending\" },\r\n { value: \"Accepted\", label: \"Accepted\" },\r\n];\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\nclass AdminPharmacyList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n loading: false,\r\n pharmacyData: {\r\n // pharmacy_id: \"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address:\"\",\r\n country:\"\",\r\n state:\"\",\r\n city:\"\",\r\n zip_code:\"\",\r\n phone_number:\"\",\r\n google_address: false,\r\n online_prescription_obj: { value: \"\", label: \"\" },\r\n online_prescription: \"\"\r\n },\r\n errors: {\r\n //pharmacy_id: \"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address:\"\",\r\n country:\"\",\r\n state:\"\",\r\n city:\"\",\r\n zip_code:\"\",\r\n phone_number:\"\",\r\n online_prescription: \"\"\r\n },\r\n\r\n records: []\r\n };\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n \r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n }, \r\n {\r\n key: \"id\",\r\n text: \"Pharmacy ID\",\r\n className: \"id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Pharmacy Location\",\r\n className: \"pharmacy_location\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"country\",\r\n text: \"Country\",\r\n className: \"country\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"state\",\r\n text: \"State\",\r\n className: \"state\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"city\",\r\n text: \"City\",\r\n className: \"city\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"zip_code\",\r\n text: \"zip code\",\r\n className: \"zip_code\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n\r\n\r\n /* {\r\n key: \"status\",\r\n text: \"Status\",\r\n className: \"status statuswidth\",\r\n tHeadClassName: \"csutomcolspan\",\r\n\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n let obj = {\r\n label: record.status,\r\n value: record.status,\r\n };\r\n return (\r\n \r\n {/* \r\n */} \r\n\r\n \r\n \r\n {/*
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    */}\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n {/* */}\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \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.actions === \"add\"\r\n ? \"Add\"\r\n : \"Add\"}{\" \"}\r\n Pharmacy
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n .xlsx\r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n\r\n
    \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../assets/css/mystyle.css\";\r\nimport axios from \"axios\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n\r\n \r\n { header: 'Laboratory Name', key: 'laboratory_name' },\r\n { header: 'laboratory_location', key: 'laboratory_location' }, \r\n { header: 'online_prescription', key: 'online_prescription' },\r\n { header: 'address', key: 'address' },\r\n { header: 'city', key: 'city' },\r\n { header: 'state', key: 'state' },\r\n { header: 'country', key: 'country' },\r\n { header: 'zip_code', key: 'zip_code' },\r\n { header: 'Phone Number(10 Chars)', key: 'phone_number' },\r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'AdminLabTemplate';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n /* data.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n }); */\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Admin Lab template generated successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { getallMasterLabList, updateLabStatus,addMasterLab,labimport } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport Select from \"react-select\";\r\nimport FooterSection from '../components/UI/FooterSection';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport { CountryDropdown, RegionDropdown } from \"react-country-region-selector\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport LabExport from \"./LabExport\";\r\nimport AdminLabTemplate from \"./AdminLabTemplate\";\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'MyWorkBook';\r\nconst myInputId = 'myInput';\r\nconst columns = [\r\n { header: 'S.No', key: 's_no' },\r\n { header: 'Lab ID', key: 'id' },\r\n { header: 'Laboratory Name', key: 'laboratory_name' },\r\n { header: 'Laboratory Location', key: 'laboratory_location' },\r\n { header: 'Zip code', key: 'zip_code' },\r\n { header: 'Country', key: 'country' },\r\n { header: 'State', key: 'state' },\r\n { header: 'City', key: 'city' },\r\n { header: 'Phone Number', key: 'phone_number' },\r\n { header: 'Online Prescription', key: 'online_prescription' },\r\n\r\n];\r\nconst status = [\r\n { value: \"Pending\", label: \"Pending\" },\r\n { value: \"Accepted\", label: \"Accepted\" },\r\n];\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nconst google = window.google;\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\nclass AdminLabList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n loading: false,\r\n\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n labData: {\r\n laboratory_name: \"\",\r\n laboratory_location: \"\",\r\n address:\"\",\r\n country:\"\",\r\n state:\"\",\r\n city:\"\",\r\n zip_code:\"\",\r\n phone_number:\"\",\r\n google_address: false,\r\n online_prescription_obj: { value: \"\", label: \"\" },\r\n online_prescription: \"\"\r\n },\r\n errors: {\r\n laboratory_name: \"\",\r\n laboratory_location: \"\",\r\n address:\"\",\r\n country:\"\",\r\n state:\"\",\r\n city:\"\",\r\n zip_code:\"\",\r\n phone_number:\"\",\r\n online_prescription: \"\"\r\n },\r\n \r\n records: []\r\n }\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n \r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n }, \r\n {\r\n key: \"id\",\r\n text: \"Lab ID\",\r\n className: \"id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n /* {\r\n key: \"laboratory_id\",\r\n text: \"Labouratory ID\",\r\n className: \"laboratory_id\",\r\n align: \"left\",\r\n sortable: true,\r\n }, */\r\n {\r\n key: \"laboratory_name\",\r\n text: \"Laboratory Name\",\r\n className: \"laboratory_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"laboratory_location\",\r\n text: \"Laboratory Location\",\r\n className: \"laboratory_location\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"country\",\r\n text: \"Country\",\r\n className: \"country\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"state\",\r\n text: \"State\",\r\n className: \"state\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"city\",\r\n text: \"City\",\r\n className: \"city\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"zip_code\",\r\n text: \"zip code\",\r\n className: \"zip_code\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n /* {\r\n key: \"status\",\r\n text: \"Status\",\r\n className: \"status statuswidth\",\r\n tHeadClassName: \"csutomcolspan\",\r\n\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n let obj = {\r\n label: record.status,\r\n value: record.status,\r\n };\r\n return (\r\n this.handleColumnChange(record, data)}\r\n options={status}\r\n disabled={(option) => option.value === \"Accepted\"}\r\n // disabled={record.status == \"Accepted\"}\r\n />\r\n );\r\n },\r\n },\r\n */ // {\r\n // key: \"action\",\r\n // text: \"Action\",\r\n // className: \"action\",\r\n // width: 100,\r\n // align: \"left\",\r\n // sortable: false,\r\n // cell: (record) => {\r\n // return (\r\n // \r\n // this.editRecord(record)}\r\n // style={{ marginRight: \"5px\" }}\r\n // >\r\n // \r\n // \r\n // \r\n // this.setState({ deletePopup: true, record: record })\r\n // }\r\n // >\r\n // \r\n // \r\n // \r\n // );\r\n // },\r\n // },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ labData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n onFileUpload = () => {\r\n\r\n let data =\r\n { data: this.state.labData };\r\n if (this.state.labData.length) {\r\n axios.post(labimport, data).then((result) => {\r\n console.log(result);\r\n this.setState({ formSuccess: result.data, file: \"\", labimport: [] })\r\n // this.getmaster();\r\n this.clearMessage();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getallMasterLabList, null, CONFIG)\r\n .then((list) => {\r\n console.log(list)\r\n \r\n this.setState({ records: list.data.data });\r\n let users = [];\r\n let userlist = list.data.data;\r\n userlist.forEach((element, index) => {\r\n let user = {};\r\n user.s_no = index + 1;\r\n user.id=element.id;\r\n user.laboratory_name = element.laboratory_name;\r\n user.laboratory_location=element.laboratory_location;\r\n user.zip_code=element.zip_code;\r\n user.country=element.country;\r\n user.state=element.state;\r\n user.city=element.city;\r\n user.phone_number = element.phone_number;\r\n /* user.email=element.email; */\r\n user.online_prescription=element.online_prescription;\r\n users[index] = user;\r\n });\r\n \r\n this.setState({ records: users });\r\n })\r\n .catch((e) => { });\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n};\r\n\r\nclearimport=()=>{\r\n this.setState({ file:\"\" });\r\n};\r\n\r\n \r\n handleInput = (e) => {\r\n let data = this.state.labData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors\r\n if (\r\n \r\n name === \"laboratory_name\" ||\r\n name === \"laboratory_location\" \r\n \r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = value;\r\n }\r\n this.setState({ labData: data,errors });\r\n };\r\n handleColumnChange = (record, selectedOptions) => {\r\n\r\n record.status = selectedOptions ? selectedOptions.value : \"Pending\";\r\n this.UpdateColumnChange(record);\r\n };\r\n handleFormSubmit = (e) => {\r\n e.preventDefault();\r\n \r\n let { labData, errors, google_address } = this.state;\r\n \r\n errors = Validation(labData, errors);\r\n console.log(errors);\r\n if (!google_address && labData.address !== \"\") {\r\n errors.address = \"Please choose address from autocomplete\";\r\n }\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n \r\n console.log(\"form is valid\");\r\n \r\n try {\r\n let data = this.state.labData;\r\n data.laboratory_name = data.laboratory_name;\r\n data.laboratory_location=data.laboratory_location;\r\n data.online_prescription=data.online_prescription_obj.label;\r\n data.online_prescription=data.online_prescription;\r\n data.address=data.address;\r\n data.city=data.city;\r\n data.country=data.country;\r\n data.state=data.state;\r\n data.zip_code=data.zip_code;\r\n data.phone_number = data.phone_number.replace(data.phone_code, \"\");\r\n console.log(data);\r\n const result = axios\r\n .post(addMasterLab, data, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n \r\n // return false;\r\n if (response.status == \"1\") {\r\n\r\n toast.success(\"laboratory Added Successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getallMasterLabList, null, CONFIG)\r\n .then((list) => {\r\n console.log(list)\r\n \r\n this.setState({ records: list.data.data });\r\n let users = [];\r\n let userlist = list.data.data;\r\n userlist.forEach((element, index) => {\r\n let user = {};\r\n user.s_no = index + 1;\r\n user.id=element.id;\r\n user.laboratory_name = element.laboratory_name;\r\n user.laboratory_location=element.laboratory_location;\r\n user.zip_code=element.zip_code;\r\n user.country=element.country;\r\n user.state=element.state;\r\n user.city=element.city;\r\n user.phone_number = element.phone_number;\r\n user.online_prescription=element.online_prescription;\r\n \r\n users[index] = user;\r\n });\r\n \r\n this.setState({ records: users });\r\n })\r\n .catch((e) => { });\r\n } \r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n // dispatch(\r\n // addUserDeails(result.data)\r\n // )\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n \r\n // dispatch(\r\n // addError(e.message)\r\n // )\r\n }\r\n }\r\n };\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.labData;\r\n let errors = this.state.errors\r\n errors.online_prescription = \"\"\r\n data[e.name] = selectedOptions;\r\n this.setState({ labData: data,errors });\r\n };\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n console.log(place);\r\n\r\n let { labData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n var lat = place.geometry.location.lat();\r\n // get lng\r\n var lng = place.geometry.location.lng();\r\n labData.latitude = lat.toString();\r\n labData.longitude = lng.toString();\r\n labData.place_url = place.url;\r\n labData.laboratory_location=place.formatted_address;\r\n console.log(place.formatted_address);\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n // var valShort = place.address_components[i].short_name;\r\n // console.log(val);\r\n if (addressType === \"administrative_area_level_1\")\r\n labData.state = val;\r\n if (addressType === \"locality\")\r\n labData.city = val;\r\n if (addressType === \"country\") labData.country = val;\r\n // if (addressType === \"street_number\") {\r\n\r\n labData.address= place.name;\r\n // }\r\n // if (addressType === \"sublocality_level_1\") pharmacyData.address2 = val;\r\n if (addressType === \"postal_code\") labData.zip_code = val;\r\n }\r\n }\r\n\r\n // let ClientData = this.state;\r\n this.setState({\r\n labData,\r\n google_address: true,\r\n });\r\n }\r\n\r\n /* for country detail change */\r\n selectCountry(val) {\r\n let data = this.state.labData;\r\n data.country = val;\r\n this.setState({ labData: data });\r\n }\r\n /* for state detail change */\r\n\r\n selectState(val) {\r\n let data = this.state.labData;\r\n data.state = val;\r\n this.setState({ labData: data });\r\n }\r\n handlePhoneInput = (event) => {\r\n let labData = this.state.labData;\r\n labData.phone_number = event;\r\n this.setState({ labData });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.labData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ labData: data, errors: errors });\r\n }\r\n\r\n UpdateColumnChange = (data) => {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let request = {\r\n lab_id: data.id, status: data.status\r\n }\r\n axios.post(updateLabStatus, request).then((list) => {\r\n let records = this.state.records;\r\n console.log(list.data)\r\n console.log(data)\r\n // data = list.data.data;\r\n if (list.data.status === \"1\") {\r\n var recIndex = findWithAttr(records, \"id\", data.id);\r\n\r\n records[recIndex].status = data.status;\r\n\r\n this.setState({ records, tableSuccess: list.data });\r\n }\r\n\r\n this.clearMessage();\r\n });\r\n };\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n \r\n cancel = () => {\r\n\r\n let data = this.state.labData;\r\n data.laboratory_name = \"\";\r\n data.id = \"\";\r\n data.online_prescription_obj = {\r\n \r\n };\r\n data.laboratory_location = \"\";\r\n data.online_prescription = \"\";\r\n data.address=\"\";\r\n data.city=\"\";\r\n data.country=\"\";\r\n data.state=\"\";\r\n data.phone_number=\"\";\r\n data.zip_code=\"\";\r\n let errors = this.state.errors;\r\n \r\n errors = this.clearErrors(errors);\r\n \r\n this.setState({ labData: data, actions: \"add\", errors: errors });\r\n }\r\n clearErrors = (errors) => {\r\n\r\n errors.laboratory_name = \"\";\r\n errors.laboratory_location = \"\";\r\n errors.online_prescription = \"\";\r\n return errors\r\n }\r\n \r\n componentDidMount = () => {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getallMasterLabList, null, CONFIG)\r\n .then((list) => {\r\n console.log(list)\r\n\r\n this.setState({ records: list.data.data });\r\n \r\n let users = [];\r\n let userlist = list.data.data;\r\n userlist.forEach((element, index) => {\r\n let user = {};\r\n user.s_no = index + 1;\r\n user.id=element.id;\r\n user.laboratory_name = element.laboratory_name;\r\n user.laboratory_location=element.laboratory_location;\r\n user.zip_code=element.zip_code;\r\n user.country=element.country;\r\n user.state=element.state;\r\n user.city=element.city;\r\n user.phone_number = element.phone_number;\r\n user.online_prescription=element.online_prescription;\r\n users[index] = user;\r\n \r\n });\r\n \r\n this.setState({ records: users});\r\n \r\n // console.log(JSON.stringify(this.state.records));\r\n \r\n })\r\n .catch((e) => { });\r\n }\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const {\r\n\r\n tableSuccess,\r\n formSuccess,\r\n labData,\r\n errors,\r\n loading,\r\n data,\r\n exportdataone\r\n } = this.state;\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

    Lab List

    \r\n
    \r\n
    \r\n
    \r\n
    Import Lab
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* \r\n */} \r\n {/*
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n {/* Export to : .xlsx\r\n */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Export Lab
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n \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.actions === \"add\"\r\n ? \"Add\"\r\n : \"Add\"}{\" \"}\r\n Laboratory
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleColumnChange(record)}\r\n options={onlineOptions}\r\n />\r\n );\r\n },\r\n },\r\n \r\n {\r\n key: \"payment_terms\",\r\n text: \"Payment terms\",\r\n className: \"payment_terms\",\r\n align: \"left\",\r\n sortable: true,\r\n width:20,\r\n },\r\n\r\n {\r\n key: \"gst\",\r\n text: \"Tax(%)\",\r\n className: \"gst\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"discount\",\r\n text: \"Discount(%)\",\r\n className: \"discount\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n \r\n \r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n \r\n let { supplierData } = this.state;\r\n \r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n supplierData.address = place.formatted_address;\r\n \r\n \r\n this.setState({\r\n supplierData,\r\n });\r\n }\r\n \r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n \r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n \r\n };\r\n \r\n _onAction(e) {\r\n console.log('user did something', e)\r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n console.log('user is active', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n // this.props.logout();\r\n this.props.history.push(\"/\");\r\n \r\n }\r\n }\r\n handlePhoneInput = (event) => {\r\n let errors=this.state.errors;\r\n let supplierData = this.state.supplierData;\r\n supplierData.phone_number = event;\r\n errors.phone_number=\"\";\r\n this.setState({ supplierData,errors });\r\n };\r\n \r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.supplierData;\r\n data[e.name] = selectedOptions;\r\n \r\n // console.log(selectedOptions)\r\n this.setState({ supplierData: data });\r\n };\r\n UpdateColumnChange = (data) => {\r\n\r\n axios.put(updateSupplier, data, CONFIG).then((list) => {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", data.id);\r\n\r\n records[recIndex].supplier_id = data.supplier_id;\r\n records[recIndex].supplier_name = data.supplier_name;\r\n records[recIndex].address = data.address;\r\n records[recIndex].phone_number = data.phone_number;\r\n records[recIndex].status = data.status;\r\n records[recIndex].payment_terms = data.payment_terms;\r\n records[recIndex].gst = data.gst;\r\n records[recIndex].discount = data.discount;\r\n records[recIndex].user_id = data.user_id;\r\n records[recIndex].id = data.id;\r\n\r\n this.setState({ records, tableSuccess: list.data });\r\n this.clearMessage();\r\n });\r\n };\r\n updateSupplier = (e) => {\r\n e.preventDefault();\r\n let { supplierData, errors } = this.state;\r\n let data = {};\r\n data.type = \"supplierlist\";\r\n data.supplier_id = supplierData.supplier_id;\r\n data.supplier_name = supplierData.supplier_name;\r\n data.address = supplierData.address;\r\n data.phone_number = supplierData.phone_number;\r\n data.status = supplierData.status_obj.label;\r\n data.payment_terms = supplierData.payment_terms;\r\n data.gst = supplierData.gst;\r\n data.discount = supplierData.discount;\r\n data.user_id = this.props.userdata.id;\r\n console.log(data);\r\n // this.setState({ loading: true });\r\n errors = Validation(data, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n // console.log(data); return false;\r\n\r\n // let url = this.state.actions === \"add\" ? addSupplier : updatesupplier;\r\n if (this.state.actions === \"add\") {\r\n axios.post(addSupplier, data, CONFIG).then((list) => {\r\n let res = list.data;\r\n if (res.status === \"1\") {\r\n let addsupplier = {};\r\n addsupplier.supplier_id = data.supplier_id;\r\n addsupplier.supplier_name = data.supplier_name;\r\n addsupplier.address = data.address;\r\n addsupplier.phone_number = data.phone_number;\r\n addsupplier.status = data.status;\r\n addsupplier.payment_terms = data.payment_terms;\r\n addsupplier.gst = data.gst;\r\n addsupplier.discount=data.discount;\r\n addsupplier.user_id=data.user_id;\r\n addsupplier.id = list.data.data[0].id;\r\n // addsupplier.id = list.data.data;\r\n\r\n let records = this.state.records;\r\n addsupplier.s_no = records.length + 1;\r\n records.push(addsupplier);\r\n \r\n // this.setState({ records});\r\n toast.success(\"Supplier Added Successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n // this.setState({ loading: false });\r\n this.clearMessage();\r\n this.cancel();\r\n // }\r\n }\r\n });\r\n } else {\r\n data.id = supplierData.id;\r\n console.log(data)\r\n axios.put(updateSupplier, data, CONFIG).then((list) => {\r\n if ('0' === list.data.status) {\r\n this.setState({ loading: false });\r\n this.setState({ errors: { supplier_id: list.data.message } });\r\n } else {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", data.id);\r\n console.log(recIndex);\r\n console.log(records);\r\n records[recIndex].supplier_id = data.supplier_id;\r\n records[recIndex].supplier_name = data.supplier_name;\r\n records[recIndex].address = data.address;\r\n records[recIndex].phone_number = data.phone_number;\r\n records[recIndex].status = data.status;\r\n records[recIndex].payment_terms = data.payment_terms;\r\n records[recIndex].gst = data.gst;\r\n records[recIndex].discount = data.discount;\r\n records[recIndex].user_id = data.user_id;\r\n records[recIndex].id = data.id;\r\n\r\n // this.setState({ records, formSuccess: list.data });\r\n // this.setState({ loading: false });\r\n toast.success(\"Supplier Updated Successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n clearErrors = (errors) => {\r\n errors.supplier_id = \"\";\r\n errors.supplier_name = \"\";\r\n errors.address = \"\";\r\n errors.phone_number = \"\";\r\n errors.status = \"\";\r\n errors.payment_terms = \"\";\r\n errors.gst = \"\";\r\n errors.discount = \"\";\r\n return errors;\r\n };\r\n\r\n cancel = () => {\r\n let data = this.state.supplierData;\r\n \r\n data.status_obj = {\r\n }\r\n data.supplier_id = \"\";\r\n data.supplier_name = \"\";\r\n data.address = \"\";\r\n data.phone_number = \"\";\r\n data.status = \"\";\r\n data.payment_terms = \"\";\r\n data.gst = \"\";\r\n data.discount = \"\";\r\n \r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ supplierData: data, actions: \"add\", errors: errors });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n\r\n editRecord(record) {\r\n console.log(record)\r\n let supplierData = {};\r\n supplierData.supplier_id = record.supplier_id;\r\n supplierData.supplier_name = record.supplier_name;\r\n supplierData.address = record.address;\r\n supplierData.phone_number = record.phone_number;\r\n supplierData.status = record.status;\r\n supplierData.status_obj = {\r\n label: record.status,\r\n value: (\"Active\" === record.status) ? 1 : 0\r\n };\r\n supplierData.checked = \"Active\" === supplierData.status ? true : false;\r\n supplierData.payment_terms = record.payment_terms;\r\n supplierData.gst = record.gst;\r\n supplierData.discount = record.discount;\r\n supplierData.user_id=this.props.userdata.id;\r\n supplierData.id = record.id;\r\n\r\n\r\n console.log(supplierData)\r\n let errors = this.state.errors;\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n supplierData: supplierData,\r\n actions: \"edit\",\r\n errors: errors,\r\n });\r\n }\r\n componentDidMount = () => {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n \r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch(() => { });\r\n \r\n axios\r\n .post(getAllSupplierList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let supplierlist = list.data.data;\r\n\r\n supplierlist.forEach((element, index) => {\r\n let supplies = {};\r\n supplies.s_no = index + 1;\r\n supplies.supplier_id = element.supplier_id;\r\n supplies.supplier_name = element.supplier_name;\r\n supplies.address = element.address;\r\n supplies.phone_number = element.phone_number;\r\n supplies.status = element.status;\r\n supplies.payment_terms = element.payment_terms;\r\n supplies.gst = element.gst;\r\n supplies.discount = element.discount;\r\n supplies.id = element.id;\r\n\r\n supplierlist[index] = supplies;\r\n });\r\n\r\n // let clientmedicinehistory = {};\r\n console.log(supplierlist)\r\n this.setState({ records: supplierlist });\r\n })\r\n .catch((e) => { });\r\n\r\n \r\n };\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n let userId = record.id;\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(deleteSupplier, { id: userId }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\", loading: false });\r\n this.setState({ tableSuccess: res.data });\r\n toast.error(\"Supplier deleted successfully. \", {\r\n className: \"toast-error\"\r\n });\r\n \r\n this.clearMessage();\r\n })\r\n .catch((e) => { });\r\n }\r\n handleColumnChange = (record) => {\r\n record.status =\r\n \"Active\" === record.status ? \"Not Active\" : \"Active\";\r\n this.UpdateColumnChange(record);\r\n };\r\n \r\n handleInput = (e) => {\r\n let data = this.state.supplierData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n const re = /^[0-9\\b]+$/;\r\n if (name === \"amount\") {\r\n if (value === \"\" || re.test(value)) {\r\n data[name] = value;\r\n }\r\n } else {\r\n data[name] = value;\r\n }\r\n\r\n this.setState({ supplierData: data });\r\n };\r\n handleExpiresatChange = (date) => {\r\n let suppliesData = this.state.suppliesData;\r\n suppliesData.expires_at = date;\r\n this.setState({ suppliesData: suppliesData });\r\n };\r\n render() {\r\n \r\n let ExpirePopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let ExpirePopupConfirm = () => {\r\n window.location.href = \"/showsubscription\";\r\n \r\n };\r\n \r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const {\r\n supplierData,\r\n errors,\r\n formSuccess,\r\n tableSuccess,\r\n hospitaltimeout,\r\n loading\r\n } = this.state;\r\n return (\r\n
    \r\n {/* */}\r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Supplier List

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \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.actions === \"add\" ? \"Add\" : \"Edit\"} Supplier\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \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.actions === \"add\" ? \"+ Add\" : \"Update\"}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(SupplierList);\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../../components/UI/Popup\";\r\nimport {\r\n getAllStorageBinList,\r\n addStorageBin,\r\n updateStorageBin,\r\n deleteStorageBin,\r\n getTimeoutbycategory\r\n} from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../../components/container/layout/business/Header\";\r\nimport BusinessUserSideBar from \"../../components/container/SideBar\";\r\n\r\nimport Validation from \"../../actions/Validation\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\n// Import React Table\r\nimport \"react-table/react-table.css\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal';\r\nimport { Spinner } from \"../../components/UI/Spinner\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Label from \"../../components/UI/Label\";\r\nimport Dnaspinner from \"../../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nconst onlineOptions = [\r\n { value: 1, label: \"Active\" },\r\n { value: 0, label: \"Not Active\" },\r\n];\r\nconst stockplacement = [\r\n { value: 1, label: \"Mixed Bin\" },\r\n { value: 0, label: \"Fixed Bin\" },\r\n];\r\nconst stockremoval = [\r\n { value: 1, label: \"FEFO\" },\r\n \r\n];\r\nclass StorageBin extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n\r\n searchrecords: [],\r\n storagebin_action: \"Add\",\r\n actions: \"add\",\r\n loading: false,\r\n addDrugSuccess: \"\",\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n search_action: false,\r\n recordToDelete: [],\r\n drugTypes: [],\r\n drugCategories: [],\r\n masterdrugNames: [],\r\n newDatatoAdd: {},\r\n addPopup: false,\r\n StorageData: {\r\n id: \"\",\r\n storagebin_id: \"\",\r\n storage_type: \"\",\r\n capacity: \"\",\r\n stock_placement: \"\",\r\n stock_removal: \"\",\r\n rack: \"\",\r\n aisle: \"\",\r\n status:\"\",\r\n status_obj: { value: \"\", label: \"\" },\r\n stock_placement_obj: { value: \"\", label: \"\" },\r\n stock_removal_obj: { value: \"\", label: \"\" },\r\n },\r\n errors: {\r\n storagebin_id: \"\",\r\n storage_type: \"\",\r\n capacity: \"\",\r\n stock_placement: \"\",\r\n stock_removal: \"\",\r\n rack: \"\",\r\n aisle: \"\",\r\n status:\"\",\r\n },\r\n searchData: {\r\n storagebin_id: \"\",\r\n storage_type: \"\",\r\n capacity: \"\",\r\n stock_placement: \"\",\r\n stock_removal: \"\",\r\n rack: \"\",\r\n aisle: \"\",\r\n status:\"\",\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n editformSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n searchTableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n columns: [\r\n { title: \"Storage Bin Id\", field: \"storagebin_id\" },\r\n { title: \"Storage Type\", field: \"storage_type\" },\r\n { title: \"Capacity\", field: \"capacity\" },\r\n { title: \"Stock Placement\", field: \"stock_placement\" },\r\n { title: \"Stock Removal\", field: \"stock_removal\" },\r\n { title: \"Rack\", field: \"rack\" },\r\n { title: \"Aisle\", field: \"aisle\" },\r\n { title: \"Status\", field: \"status\" },\r\n ],\r\n \r\n searchErrorMessage: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n {\r\n key: \"storagebin_id\",\r\n text: \"Storage Bin ID\",\r\n className: \"storagebin_id\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n {\r\n key: \"storage_type\",\r\n text: \"Storage Type\",\r\n className: \"storage_type\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n\r\n {\r\n key: \"capacity\",\r\n text: \"Capacity\",\r\n className: \"capacity\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"stock_placement\",\r\n text: \"Stock Placement\",\r\n className: \"stock_placement sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n let obj = {\r\n label: record.stock_placement,\r\n value: \"Mixed Bin\" === record.stock_placement ? 1 : 0,\r\n };\r\n return (\r\n this.handleStockremovalChange(record)}\r\n options={stockremoval}\r\n />\r\n );\r\n },\r\n },\r\n \r\n {\r\n key: \"aisle\",\r\n text: \"Aisle\",\r\n className: \"aisle\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"rack\",\r\n text: \"Rack\",\r\n className: \"rack\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"status\",\r\n text: \"Storage Bin Status\",\r\n className: \"status sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n let obj = {\r\n label: record.status,\r\n value: \"Active\" === record.status ? 1 : 0,\r\n };\r\n return (\r\n this.handleStatusColumnChange(record)}\r\n options={onlineOptions}\r\n />\r\n );\r\n },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n \r\n }\r\n\r\n handleCategoryColumnChange = (value, record, field) => {\r\n // console.log(field);\r\n // console.log(value);\r\n // console.log(record);\r\n value[field] = record;\r\n // console.log(record);\r\n // record.availability = \"Yes\" === record.availability ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(value);\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n\r\n this.UpdateColumnChange(record);\r\n };\r\n UpdateColumnChange = (record) => {\r\n console.log(record);\r\n record.user_id = this.props.userdata.id;\r\n axios.post(updatePurchaseInfo, record, CONFIG).then((list) => {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n\r\n records[recIndex].drug_id = record.drug_id;\r\n records[recIndex].supplier_id = record.supplier_id;\r\n records[recIndex].category = record.category;\r\n records[recIndex].type = record.type;\r\n records[recIndex].manufacturer = record.manufacturer;\r\n records[recIndex].order_unit= record.order_unit;\r\n records[recIndex].min_lot=record.min_lot;\r\n records[recIndex].max_lot = record.max_lot;\r\n records[recIndex].discount = record.discount;\r\n records[recIndex].gst = record.gst;\r\n records[recIndex].price_per_unit = record.price_per_unit;\r\n records[recIndex].status = record.status;\r\n records[recIndex].user_id = record.user_id;\r\n records[recIndex].id = record.id;\r\n\r\n this.setState({ records, tableSuccess: list.data });\r\n toast.success(\"Purchase info updated \",{\r\n className:\"toast-success\"\r\n });\r\n this.clearMessage();\r\n });\r\n };\r\n componentDidMount = () => {\r\n \r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch(() => { });\r\n \r\n\r\n axios\r\n .post(getDrugPlanningDetails, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n \r\n drugList.forEach((element, index) => {\r\n console.log(element);\r\n drugDataArr.push({ value: element.drug_id, label: element.drug_id,category:element.drug_category,type:element.drug_type,manufacturer:element.manufacturer });\r\n });;\r\n\r\n this.setState({ drug_id_list: drugDataArr });\r\n })\r\n .catch(() => { });\r\n\r\n axios\r\n .post(getAllSupplierList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let SupplierList = list.data.data;\r\n let SupplierDataArr = [];\r\n \r\n SupplierList.forEach((element, index) => {\r\n \r\n SupplierDataArr.push({ value: element.id, label: element.supplier_id,discount: element.discount, gst: element.gst });\r\n });;\r\n\r\n this.setState({ supplier_id_list: SupplierDataArr });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugTypes, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugTypeResponse) => {\r\n let drugTypeList = drugTypeResponse.data.data;\r\n let drugTypes = [];\r\n drugTypeList.forEach((element, index) => {\r\n console.log(element);\r\n drugTypes.push({ value: element.drug_type, label: element.drug_type });\r\n });\r\n\r\n this.setState({ drugTypes });\r\n })\r\n .catch((e) => { });\r\n \r\n axios\r\n .post(getAllDrugCategories, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugCategoryResponse) => {\r\n let list = drugCategoryResponse.data.data;\r\n \r\n let drugCategories = [];\r\n list.forEach((element) => {\r\n drugCategories.push({\r\n value: element.drug_category,\r\n label: element.drug_category,\r\n });\r\n });\r\n this.setState({ drugCategories });\r\n })\r\n .catch(() => { });\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getPurchaseInfoRecord, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n \r\n let purchaseinfo = list.data.data;\r\n let purchaseinfoArr = [];\r\n console.log(purchaseinfo)\r\n purchaseinfo.forEach((element, index) => {\r\n let purchaseinfoData = {};\r\n purchaseinfoData = element;\r\n purchaseinfoData.s_no = index + 1;\r\n purchaseinfoArr[index] = purchaseinfoData;\r\n });\r\nconsole.log(purchaseinfoArr);\r\n this.setState({ records: purchaseinfoArr });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n axios\r\n .post(getAllDrugMeasures, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugmeasureList = drugMasterRespons.data.data;\r\n console.log(masterdrugmeasureList);\r\n let masterdrugmeasure = [];\r\n masterdrugmeasureList.forEach((element, index) => {\r\n masterdrugmeasure.push({\r\n value: element.unit_of_measure,\r\n label: element.unit_of_measure,\r\n\r\n });\r\n });\r\n\r\n this.setState({ masterdrugmeasure });\r\n })\r\n .catch((e) => { });\r\n };\r\n \r\n editRecord(record) {\r\n let purchase_action = this.state.purchase_action;\r\n purchase_action = \"Edit\";\r\n this.setState({ purchase_action });\r\n\r\n let purchaseinfo = this.state.purchaseinfo;\r\n purchaseinfo.s_no = record.s_no;\r\n purchaseinfo.id = record.id;\r\n purchaseinfo.pir = record.pir;\r\n\r\n purchaseinfo.drug_id = {\r\n label: record.drug_id,\r\n value: record.drug_id,\r\n };\r\n\r\n\r\n \r\n purchaseinfo.supplier_id = {\r\n label: record.supplier_id,\r\n value: record.supplier_id,\r\n };\r\n\r\n\r\n \r\n purchaseinfo.order_unit = {\r\n label: record.order_unit,\r\n value: record.order_unit,\r\n };\r\n purchaseinfo.manufacturer = record.manufacturer;\r\n purchaseinfo.min_lot = record.min_lot;\r\n purchaseinfo.max_lot = record.max_lot;\r\n purchaseinfo.status = {\r\n label: record.status,\r\n value: record.status,\r\n };\r\n\r\n purchaseinfo.category = {\r\n label: record.category,\r\n value: record.category,\r\n };\r\n purchaseinfo.type = {\r\n label: record.type,\r\n value: record.type,\r\n };\r\n\r\n\r\n \r\n \r\n purchaseinfo.discount = record.discount;\r\n purchaseinfo.gst = record.gst;\r\n purchaseinfo.price_per_unit = record.price_per_unit;\r\n this.setState({ purchaseinfo: purchaseinfo });\r\n }\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.purchaseinfo;\r\n data[e.name] = selectedOptions;\r\n console.log(selectedOptions);\r\n if (e.name === \"supplier_id\") {\r\n data.discount = selectedOptions.discount;\r\n data.gst = selectedOptions.gst;\r\n \r\n }\r\n else if(e.name === \"drug_id\"){\r\n data.manufacturer = selectedOptions.manufacturer;\r\n data.category = {label:selectedOptions.category,value:selectedOptions.category};\r\n data.type = {label:selectedOptions.type,value:selectedOptions.type};\r\n \r\n } else {\r\n data[e.name] = selectedOptions;\r\n }\r\n console.log(data)\r\n this.setState({ purchaseinfo: data });\r\n };\r\n handlesearchinputChange = (eve) => {\r\n let data = this.state.searchData;\r\n\r\n data[eve.target.name] = eve.target.value;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n handlesearchselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n\r\n // if (e.name === \"drug_name\") {\r\n // data.manufacturer = selectedOptions.manufacturer;\r\n // data.active_ingredients = selectedOptions.active_ingredients;\r\n // } else {\r\n // data[e.name] = selectedOptions;\r\n // }\r\n // if (e.name === \"manufacturer\" || e.name === \"active_ingredients\") {\r\n // data[e.name] = selectedOptions.target.value;\r\n // } else {\r\n data[e.name] = selectedOptions;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n\r\n handleInput = (e) => {\r\n let data = this.state.purchaseinfo;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n this.setState({ purchaseinfo: data });\r\n };\r\n\r\n \r\n\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n\r\n cancelDelete() {\r\n this.setState({\r\n showDeleteConfirmPopup: !this.state.showDeleteConfirmPopup,\r\n });\r\n }\r\n\r\n deleteRecord(record) {\r\n let userId = record.id;\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deletePurchaseInfo, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\", loading: false });\r\n // this.setState({ tableSuccess: res.data });\r\n console.log(response.message);\r\n toast.success(response.message, {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n })\r\n .catch((e) => { });\r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n searchTableSuccess: { message: \"\" },\r\n editformSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n clearErrors = (errors) => {\r\n errors.drug_id = \"\";\r\n errors.supplier_id = \"\";\r\n errors.category = \"\";\r\n errors.type = \"\";\r\n errors.order_unit = \"\";\r\n errors.manufacturer = \"\";\r\n errors.min_lot = \"\";\r\n errors.max_lot = \"\";\r\n errors.discount = \"\";\r\n errors.gst = \"\";\r\n errors.price_per_unit = \"\";\r\n errors.status = \"\";\r\n \r\n return errors;\r\n};\r\n \r\n\r\n cancelPurchaseinfo = () => {\r\n let data = {\r\n id: \"\",\r\n drug_id: \"\",\r\n pir:\"\",\r\n supplier_id:\"\",\r\n category:\"\",\r\n type:\"\",\r\n order_unit:\"\", \r\n manufacturer: \"\",\r\n min_lot: \"\",\r\n max_lot: \"\",\r\n discount: \"\",\r\n gst: \"\",\r\n price_per_unit: \"\",\r\n status:\"\"\r\n };\r\n \r\n \r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ purchaseinfo: data, actions: \"Add\", errors: errors });\r\n};\r\nchangepurchaseinfo = () => {\r\n \r\n let {purchaseinfo,errors,purchase_action} = this.state;\r\n \r\n \r\nconsole.log(purchaseinfo,errors,purchase_action);\r\n // this.setState({ loading: true });\r\n \r\n purchaseinfo.page = \"addpurchaseinfo\";\r\n console.log(purchaseinfo);\r\n errors = Validation(purchaseinfo, errors);\r\n this.setState({errors: errors});\r\n console.log(errors);//return false;\r\n \r\n if (errors.formIsValid) {\r\n let data = {\r\n drug_id:purchaseinfo.drug_id.label,\r\n supplier_id:purchaseinfo.supplier_id.label,\r\n category:purchaseinfo.category.label,\r\n type:purchaseinfo.type.label,\r\n manufacturer:purchaseinfo.manufacturer,\r\n order_unit:purchaseinfo.order_unit.label,\r\n min_lot:purchaseinfo.min_lot,\r\n max_lot:purchaseinfo.max_lot,\r\n discount:purchaseinfo.discount,\r\n gst:purchaseinfo.gst,\r\n \r\n price_per_unit:purchaseinfo.price_per_unit,\r\n status:purchaseinfo.status.label,\r\n user_id:this.props.userdata.id\r\n \r\n }\r\n console.log(data);\r\nif(purchase_action === \"Add\"){\r\n axios\r\n .post(addPurchaseInfo, data, CONFIG)\r\n .then((addPurchaseResponse) => {\r\n let res = addPurchaseResponse.data;\r\n console.log(res);\r\n if (res.status === \"1\") {\r\n \r\n this.setState({\r\n \r\n // searchTableSuccess: res,\r\n loading: false,\r\n });\r\n\r\n toast.success(res.message, {\r\n className: \"toast-success\"\r\n });\r\n\r\n let addpurchaseinfo = {};\r\n addpurchaseinfo.supplier_id = data.supplier_id;\r\n addpurchaseinfo.drug_id = data.drug_id;\r\n addpurchaseinfo.manufacturer = data.manufacturer;\r\n addpurchaseinfo.category = data.category;\r\n addpurchaseinfo.type = data.type;\r\n addpurchaseinfo.order_unit = data.order_unit;\r\n addpurchaseinfo.min_lot = data.min_lot;\r\n addpurchaseinfo.max_lot = data.max_lot;\r\n addpurchaseinfo.discount=data.discount;\r\n addpurchaseinfo.gst=data.gst;\r\n addpurchaseinfo.price_per_unit=data.price_per_unit;\r\n addpurchaseinfo.status=data.status;\r\n addpurchaseinfo.user_id=data.user_id;\r\n addpurchaseinfo.id = addPurchaseResponse.data.data[0].id;\r\n addpurchaseinfo.pir = addPurchaseResponse.data.pir;\r\n // addpurchaseinfo.id = list.data.data;\r\n\r\n let records = this.state.records;\r\n addpurchaseinfo.s_no = records.length + 1;\r\n records.push(addpurchaseinfo);\r\n this.setState({record:records});\r\n\r\n // setTimeout(\r\n // () =>\r\n \r\n // window.location.href = '/druglist'\r\n // ,\r\n // 1000\r\n // );\r\n \r\n } else {\r\n this.setState({\r\n // searchrecords: records,\r\n // searchTableSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(res.message, {\r\n className: \"toast-error\"\r\n });\r\n \r\n }\r\n })\r\n .catch(() => { });\r\n} else {\r\n data.pir = purchaseinfo.pir;\r\n data.id = purchaseinfo.id;\r\n console.log(data);\r\n\r\n axios.post(updatePurchaseInfo, data, CONFIG).then((list) => {\r\n if ('0' === list.data.status) {\r\n this.setState({ loading: false });\r\n this.setState({ errors: { supplier_id: list.data.message } });\r\n } else {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", data.id);\r\n console.log(recIndex);\r\n console.log(records);\r\n records[recIndex].supplier_id = data.supplier_id;\r\n records[recIndex].drug_id = data.drug_id;\r\n records[recIndex].category = data.category;\r\n records[recIndex].type = data.type;\r\n records[recIndex].status = data.status;\r\n records[recIndex].order_unit = data.order_unit;\r\n records[recIndex].min_lot = data.min_lot;\r\n records[recIndex].max_lot = data.max_lot;\r\n records[recIndex].price_per_unit = data.price_per_unit;\r\n records[recIndex].manufacturer = data.manufacturer;\r\n records[recIndex].gst = data.gst;\r\n records[recIndex].discount = data.discount;\r\n records[recIndex].user_id = data.user_id;\r\n records[recIndex].id = data.id;\r\n\r\n this.setState({ records });\r\n this.setState({ loading: false });\r\n toast.success(\"Purchase info updated. \",{\r\n className:\"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.cancelPurchaseinfo();\r\n }\r\n});\r\n}\r\n \r\n }\r\n \r\n \r\n}\r\nhandleStatusColumnChange = (record) => {\r\n record.status = \"Active\" === record.status ? \"In-active\" : \"Active\";\r\n this.UpdateColumnChange(record);\r\n};\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const {\r\n drug_id_list,\r\n drugTypes,\r\n drugCategories,\r\n supplier_id_list,\r\n purchaseinfo,\r\n errors,\r\n searchData,\r\n loading,\r\n formSuccess,\r\n searchTableSuccess,\r\n editformSuccess,\r\n tableSuccess,\r\n searchErrorMessage,\r\n masterdrugmeasure,\r\n hospitaltimeout,\r\n } = this.state;\r\n const modalVar = this.state.showDeleteConfirmPopup;\r\n\r\n return (\r\n
    \r\n {/* */}\r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {/* */}\r\n\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n

    Purchase Info Record

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.purchase_action === \"Add\" ? \"Add\" : \"Edit\"} Purchase Info Record\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \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.purchase_action === \"Add\" ? ( \r\n + Add\r\n ) : ( \r\n Update\r\n )}\r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n );\r\n}\r\n}\r\nexport default connect(mapStateToProps)(PurchaseInfo);\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../../components/UI/Popup\";\r\nimport {\r\n getAllMasterDrug,\r\n getAllDrugs,\r\n getAllDrugTypes,\r\n getAllDrugCategories,\r\n addDrug,\r\n updateDrug,\r\n deleteDrug,\r\n searchDrug,\r\n getAllDrugMeasures,\r\n getTimeoutbycategory,\r\n getAllTransfertypedata\r\n} from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport Select from \"react-select\";\r\n\r\nimport Validation from \"../../actions/Validation\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\n// Import React Table\r\nimport \"react-table/react-table.css\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal';\r\nimport { Spinner } from \"../../components/UI/Spinner\";\r\nimport Header from \"../../components/container/layout/business/Header\";\r\nimport BusinessUserSideBar from \"../../components/container/SideBar\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\nimport Dnaspinner from \"../../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nclass StockReport extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n \r\n records: [],\r\n\r\n searchrecords: [],\r\n drug_action: \"Add\",\r\n loading: false,\r\n addDrugSuccess: \"\",\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n search_action: false,\r\n recordToDelete: [],\r\n drugTypes: [],\r\n drugCategories: [],\r\n masterdrugNames: [],\r\n newDatatoAdd: {},\r\n addPopup: false,\r\n Transfertype:\r\n {\r\n id:\"\",\r\n Transfer_type:\"\",\r\n \r\n },\r\n \r\n drugList: {\r\n s_no: \"\",\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n },\r\n drugData: {\r\n id: \"\",\r\n drug_id: \"\",\r\n manufacturer: \"\",\r\n drug_name: \"\",\r\n drug_type: \"\",\r\n drug_category: \"\",\r\n active_ingredients: \"\",\r\n unit_of_measure: \"\",\r\n },\r\n errors: {\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_type: \"\",\r\n drug_category: \"\",\r\n unit_of_measure: \"\",\r\n },\r\n searchData: {\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n editformSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n searchTableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n \r\n searchErrorMessage: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"alert\",\r\n text: \"Alert\",\r\n className: \"alert\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n {\r\n key: \"drug_name\",\r\n text: \"Drug Name\",\r\n className: \"drug_name\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n \r\n {\r\n key: \"drug_id\",\r\n text: \"Drug ID\",\r\n className: \"drug_id\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n {\r\n key: \"category\",\r\n text: \"Category\",\r\n className: \"category\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n\r\n {\r\n key: \"type\",\r\n text: \"Type\",\r\n className: \"type\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"batch_id\",\r\n text: \"Batch ID\",\r\n className: \"batch_id\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"serial_id\",\r\n text: \"Serial Id\",\r\n className: \"serial_id\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"unit\",\r\n text: \"Unit\",\r\n className: \"unit\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"expiry_date\",\r\n text: \"Expiry Date\",\r\n className: \"expiry_date\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"safety\",\r\n text: \"Safety\",\r\n className: \"safety\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"storage_bin\",\r\n text: \"Storage Bin\",\r\n className: \"storage_bin\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"rack\",\r\n text: \"Rack\",\r\n className: \"rack\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n\r\n {\r\n key: \"aisle\",\r\n text: \"Aisle\",\r\n className: \"aisle\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"available_stock\",\r\n text: \"Available Stock\",\r\n className: \"available_stock\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"blocked_stock\",\r\n text: \"Blocked Stock\",\r\n className: \"blocked_stock\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"inventory_value\",\r\n text: \"Inventory Value\",\r\n className: \"inventory_value\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n \r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n \r\n }\r\n\r\n \r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n\r\n this.UpdateColumnChange(record);\r\n };\r\n UpdateColumnChange = (record) => {\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex].drug_id = record.drug_id;\r\n records[recIndex].drug_name = record.drug_name;\r\n records[recIndex].drug_category = record.drug_category;\r\n records[recIndex].drug_type = record.drug_type;\r\n\r\n this.setState({ searchrecords: records });\r\n };\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .get(getAllTransfertypedata, null, CONFIG)\r\n .then((list) => {\r\n console.log(list)\r\n let Transfertype = list.data.data;\r\n let TransferTypeData = []; \r\n Transfertype.forEach((element, index) => {\r\n \r\n TransferTypeData.push({\r\n value: element.id,\r\n label: element.Transfer_type,\r\n \r\n });\r\n });\r\n\r\n this.setState({ TransferTypeData });\r\n })\r\n .catch((e) => { console.log(e) });\r\n\r\n let members = [];\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllMasterDrug, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugNameList = drugMasterRespons.data.data;\r\n let masterdrugNames = [];\r\n masterdrugNameList.forEach((element, index) => {\r\n masterdrugNames.push({\r\n value: element.id,\r\n label: element.drug_name,\r\n \r\n });\r\n });\r\n\r\n this.setState({ masterdrugNames });\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugTypes, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugTypeResponse) => {\r\n let drugTypeList = drugTypeResponse.data.data;\r\n let drugTypes = [];\r\n drugTypeList.forEach((element, index) => {\r\n drugTypes.push({ value: element.id, label: element.drug_type });\r\n });\r\n\r\n this.setState({ drugTypes });\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugCategories, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugCategoryResponse) => {\r\n let list = drugCategoryResponse.data.data;\r\n\r\n let drugCategories = [];\r\n list.forEach((element, index) => {\r\n drugCategories.push({\r\n value: element.id,\r\n label: element.drug_category,\r\n });\r\n });\r\n this.setState({ drugCategories });\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugs, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.drug_id = element.drug_id;\r\n drugData.drug_name = element.drug_name;\r\n drugData.drug_type = element.drug_type;\r\n drugData.drug_category = element.drug_category;\r\n drugData.manufacturer = element.manufacturer;\r\n drugData.active_ingredients = element.active_ingredients;\r\n drugData.unit_of_measure = element.unit_of_measure;\r\n drugDataArr[index] = drugData;\r\n });\r\n\r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n axios\r\n .post(getAllDrugMeasures, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugmeasureList = drugMasterRespons.data.data;\r\n console.log(masterdrugmeasureList);\r\n let masterdrugmeasure = [];\r\n masterdrugmeasureList.forEach((element, index) => {\r\n masterdrugmeasure.push({\r\n value: element.unit_of_measure,\r\n label: element.unit_of_measure,\r\n\r\n });\r\n });\r\n\r\n this.setState({ masterdrugmeasure });\r\n })\r\n .catch((e) => { });\r\n };\r\n \r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.drugData;\r\n data[e.name] = selectedOptions;\r\n // if (e.name === \"drug_name\") {\r\n // data.manufacturer = selectedOptions.manufacturer;\r\n // data.active_ingredients = selectedOptions.active_ingredients;\r\n // }\r\n this.setState({ drugData: data });\r\n };\r\n \r\n\r\n handleInput = (e) => {\r\n let data = this.state.drugData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n this.setState({ drugData: data });\r\n };\r\n\r\n \r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n\r\n cancelDelete() {\r\n this.setState({\r\n showDeleteConfirmPopup: !this.state.showDeleteConfirmPopup,\r\n });\r\n }\r\n\r\n deleteRecord(record) {\r\n let userId = record.id;\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deleteDrug, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\", loading: false });\r\n this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n })\r\n .catch((e) => { });\r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n searchTableSuccess: { message: \"\" },\r\n editformSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n clearAll() {\r\n let drug_action = this.state.drug_action;\r\n drug_action = \"Add\";\r\n this.setState({ drug_action });\r\n let drugData = {};\r\n drugData.drug_id = \"\";\r\n drugData.drug_name = \"\";\r\n drugData.manufacturer = \"\";\r\n drugData.drug_category = \"\";\r\n drugData.drug_type = \"\";\r\n drugData.active_ingredients = \"\";\r\n drugData.unit_of_measure = \"\";\r\n this.setState({ drugData });\r\n }\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const {\r\n drugData,\r\n drugTypes,\r\n drugCategories,\r\n masterdrugNames,\r\n errors,\r\n searchData,\r\n loading,\r\n formSuccess,\r\n searchTableSuccess,\r\n editformSuccess,\r\n tableSuccess,\r\n searchErrorMessage,\r\n hospitaltimeout,\r\n TransferTypeData\r\n } = this.state;\r\n const modalVar = this.state.showDeleteConfirmPopup;\r\n\r\n return (\r\n
    \r\n {/* */}\r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {/* \r\n */}\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n

    Stock 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 this.setState({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \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.actions === \"add\" ? \"Add\" : \"Edit\"} Stock 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
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {\"Save\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n );\r\n}\r\n}\r\nexport default connect(mapStateToProps)(StockReport);\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../assets/css/mystyle.css\";\r\nimport axios from \"axios\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n\r\n \r\n { header: 'Drug name', key: 'drug_name' },\r\n { header: 'Generic name', key: 'generic_name' }, \r\n { header: 'Active ingredients', key: 'active_ingredients' },\r\n { header: 'Manufacturer', key: 'manufacturer' },\r\n { header: 'Unit_of_measure', key: 'unit_of_measure' },\r\n { header: 'Drug category', key: 'drug_category' },\r\n { header: 'Drug type', key: 'drug_type' },\r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'AdminDrugTemplate';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n /* data.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n }); */\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Admin Drug template has been generated successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport axios from \"axios\";\r\n\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\n\r\nimport { drugimport, getAllMasterDrug } from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport readXlsxFile from 'read-excel-file';\r\nimport AdminDrugTemplate from \"../views/AdminDrugTemplate\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\n// const input = document.getElementById('file')\r\n// console.log(input);\r\n// input.addEventListener('change', () => {\r\n// readXlsxFile(input.files[0]).then((rows) => {\r\n// console.log(rows);\r\n// console.log(\"rows\");\r\n// // `rows` is an array of rows\r\n// // each row being an array of cells.\r\n// })\r\n// })\r\n\r\nclass DrugImport extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n drugData: [],\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n records: [],\r\n\r\n loading: false,\r\n\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"drug_name\",\r\n text: \"Drug Name\",\r\n className: \"drug_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n\r\n },\r\n {\r\n key: \"generic_name\",\r\n text: \"Generic Name\",\r\n className: \"generic_name\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n \r\n \r\n },\r\n {\r\n key: \"unit_of_measure\",\r\n text: \"Unit of Measure\",\r\n className: \"unit_of_measure\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n\r\n\r\n },\r\n\r\n /* {\r\n key: \"drug_category\",\r\n text: \"Drug Category\",\r\n className: \"drug_category\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n\r\n },\r\n\r\n {\r\n key: \"drug_type\",\r\n text: \"Drug Type\",\r\n className: \"drug_type\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n\r\n }, */\r\n\r\n {\r\n key: \"manufacturer\",\r\n text: \"Manufacturer\",\r\n className: \"manufacturer\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n\r\n\r\n },\r\n\r\n {\r\n key: \"active_ingredients\",\r\n text: \"Active Incredients\",\r\n className: \"active_ingredients\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n\r\n\r\n },\r\n\r\n\r\n ];\r\n }\r\n\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ drugData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n componentDidMount() {\r\n this.setState({ loading: true });\r\n this.getmaster()\r\n }\r\n\r\n // On file upload (click the upload button)\r\n onFileUpload = () => {\r\n\r\n let data =\r\n { data: this.state.drugData };\r\n if (this.state.drugData.length) {\r\n axios.post(drugimport, data).then((result) => {\r\n console.log(result);\r\n this.setState({ formSuccess: result.data, file: \"\", drugData: [] })\r\n this.getmaster();\r\n\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n };\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n\r\n }), window.location.reload(),\r\n 5000\r\n );\r\n\r\n\r\n\r\n\r\n };\r\n getmaster = () => {\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllMasterDrug, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugNameList = drugMasterRespons.data.data;\r\n this.setState({ loading: false });\r\n let drugDataArr = [];\r\n \r\n masterdrugNameList.forEach((element, index) => {\r\n console.log(element);\r\n let drugData = {};\r\n drugData = element\r\n \r\n drugData.s_no = index + 1;\r\n \r\n drugDataArr[index] = drugData;\r\n }); \r\n this.setState({ records: masterdrugNameList });\r\n })\r\n .catch(() => { });\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n formSuccess,\r\n tableSuccess,\r\n loading,\r\n } = this.state;\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

    Master Drug List

    \r\n
    \r\n
    \r\n
    \r\n
    Import Drug
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n \r\n {/* */}\r\n \r\n {/*
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    */}\r\n
    \r\n
    \r\n\r\n {/*
    */}\r\n\r\n \r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n
    \r\n\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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(DrugImport);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport axios from \"axios\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport { symptomimport, getMasterSymptoms } from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport readXlsxFile from 'read-excel-file';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n\r\n };\r\n}\r\n\r\n\r\nclass SymptomImport extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n symptomData: [],\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n records: [],\r\n\r\n loading: false,\r\n\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.columns = [\r\n // {\r\n // key: \"s_no\",\r\n // text: \"S.No\",\r\n // className: \"s_no\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // width: 100,\r\n // },\r\n\r\n\r\n {\r\n key: \"symptom_name\",\r\n text: \"Symptom Name\",\r\n className: \"symptom_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n\r\n },\r\n {\r\n key: \"symptom_category\",\r\n text: \"Symptom Category\",\r\n className: \"symptom_category\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n\r\n },\r\n\r\n /* {\r\n key: \"speciality\",\r\n text: \"Speciality\",\r\n className: \"speciality\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n\r\n }, */\r\n\r\n\r\n\r\n ];\r\n }\r\n\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ symptomData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n componentDidMount() {\r\n this.getmaster()\r\n }\r\n\r\n // On file upload (click the upload button)\r\n onFileUpload = () => {\r\n\r\n let data =\r\n { data: this.state.symptomData };\r\n if (this.state.symptomData.length) {\r\n axios.post(symptomimport, data).then((result) => {\r\n console.log(result);\r\n this.setState({ formSuccess: result.data, file: \"\", symptomData: [] })\r\n this.getmaster();\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n };\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n\r\n }), window.location.reload(),\r\n 5000\r\n );\r\n };\r\n getmaster = () => {\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getMasterSymptoms, \"\", CONFIG)\r\n .then((SymptomMasterRespons) => {\r\n let MasterSymptomList = SymptomMasterRespons.data.data;\r\n\r\n console.log(MasterSymptomList);\r\n this.setState({ records: MasterSymptomList });\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n\r\n\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const {\r\n hospitaldata,\r\n formSuccess,\r\n tableSuccess,\r\n errors,\r\n loading,\r\n } = this.state;\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

    Master Symptom List

    \r\n
    \r\n
    \r\n
    \r\n
    Import Symptom
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {/*
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    */}\r\n
    \r\n
    \r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(SymptomImport);","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport axios from \"axios\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport { addSpeciality, updateSpeciality, getAllSpecialities, deleteSpeciality } from \"../config/url.json\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { CONFIG, imageconfig } from \"../config/data\";\r\n\r\nimport S3 from \"react-aws-s3\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Dnaspinner from '../components/UI/Dnaspinner';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n\r\n };\r\n}\r\n\r\nclass SpecialityList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n actions: \"add\",\r\n deletePopup: false,\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n records: [],\r\n errors: { speciality_name: \"\", image_url: \"\" },\r\n loading: false,\r\n specialityData: { speciality_name: \"\", image_url: \"\", id: \"\" },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n allspeciality: []\r\n };\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.columns = [\r\n\r\n {\r\n key: \"id\",\r\n text: \"ID\",\r\n className: \"id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n\r\n },\r\n {\r\n key: \"name\",\r\n text: \"Speciality Name\",\r\n className: \"name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n\r\n\r\n },\r\n\r\n {\r\n key: \"image_url\",\r\n text: \"Image\",\r\n className: \"image_url imgwidth\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n cell: (record) => {\r\n return (\r\n \r\n {record.image_url ? ({record.name}) : \"default}\r\n\r\n \r\n );\r\n },\r\n\r\n\r\n }, {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n this.setState({ deletePopup: true, record: record })\r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n\r\n\r\n\r\n\r\n ];\r\n }\r\n\r\n editRecord(record) {\r\n console.log(record);\r\n let specialityData = this.state.specialityData;\r\n specialityData.speciality_name = record.name;\r\n specialityData.image_url = record.image_url;\r\n specialityData.id = record.id;\r\n console.log(specialityData);\r\n let errors = this.state.errors;\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n specialityData: specialityData,\r\n actions: \"edit\",\r\n errors: errors,\r\n });\r\n }\r\n clearErrors = (errors) => {\r\n errors.speciality_name = \"\";\r\n errors.image_url = \"\";\r\n errors.id = \"\";\r\n return errors;\r\n };\r\n cancel = () => {\r\n let data = this.state.specialityData;\r\n data.image_url = \"\";\r\n data.speciality_name = \"\";\r\n data.id = \"\";\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ specialityData: data, actions: \"add\", errors: errors });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n onDeleteClick(record) {\r\n this.setState({ deletePopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n let userId = record.id;\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deleteSpeciality, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ deletePopup: false, record: \"\", loading: false });\r\n this.setState({ tableSuccess: res.data });\r\n toast.error(\"Speciality deleted. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n })\r\n .catch((e) => { });\r\n }\r\n imageSelectHandler = event => {\r\n\r\n let files = event.target.files || event.dataTransfer.files;\r\n if (!files.length) {\r\n console.log('no files');\r\n return false;\r\n }\r\n console.log(files);\r\n console.log(files[0]);\r\n\r\n\r\n let file = event.target.files[0];\r\n let newfileName = event.target.files[0].name;\r\n\r\nnewfileName = newfileName.replace(/ /g, \"\");\r\n imageconfig.dirName = 'speciality/'\r\n console.log(imageconfig);\r\n\r\n const reacts3client = new S3(imageconfig);\r\n console.log(reacts3client)\r\n reacts3client.uploadFile(file, newfileName).then(data => {\r\n console.log(data)\r\n if (data.status === 204) {\r\n console.log('success');\r\n\r\n let resultData = this.state.specialityData;\r\n resultData.image_url = data.location;\r\n console.log(resultData)\r\n this.setState({ specialityData: resultData });\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // axios.post(updateavatar, resultdata, CONFIG).then((result) => {\r\n // this.setState({ profile_img: URL.createObjectURL(file), deletePopup: false });\r\n // })\r\n } else {\r\n console.log('error');\r\n this.setState({ profile_img: URL.createObjectURL(file), deletePopup: false });\r\n }\r\n })\r\n\r\n }\r\n handleInput = (e) => {\r\n let data = this.state.specialityData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n this.setState({ specialityData: data });\r\n };\r\n getmaster = () => {\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .get(getAllSpecialities, \"\", CONFIG)\r\n .then((Response) => {\r\n let masterdrugNameList = Response.data.data;\r\n console.log(Response.data.data)\r\n let allspeciality = [];\r\n masterdrugNameList.forEach((element, index) => {\r\n\r\n allspeciality.push({ value: element.name, label: element.name });\r\n });\r\n this.setState({ records: masterdrugNameList, allspeciality: allspeciality, loading: false });\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n componentDidMount() {\r\n\r\n this.getmaster()\r\n }\r\n\r\n updateSpeciality = (e) => {\r\n e.preventDefault();\r\n let { specialityData, errors } = this.state;\r\n let formvalid = true;\r\n console.log(specialityData)\r\n if (specialityData.speciality_name === \"\") {\r\n console.log('jo')\r\n formvalid = false;\r\n errors.speciality_name = \"Please enter a name\";\r\n } else {\r\n errors.speciality_name = \"\";\r\n }\r\n if (specialityData.image_url === \"\") {\r\n console.log('jo')\r\n formvalid = false;\r\n errors.image_url = \"Please choose image\";\r\n } else {\r\n errors.image_url = \"\";\r\n }\r\n\r\n this.setState({ errors: errors });\r\n\r\n console.log(specialityData); \r\n // return false;\r\n if (formvalid) {\r\n let data = this.state.specialityData;\r\n console.log(data);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let url = this.state.actions === \"add\" ? addSpeciality : updateSpeciality;\r\n if (this.state.actions === \"add\") {\r\n axios.post(url, data, CONFIG).then((list) => {\r\n if (0 === list.data.status) {\r\n this.setState({ loading: false });\r\n this.setState({ errors: { speciality_name: list.data.message } });\r\n } else {\r\n\r\n this.setState({ records: list.data.data, formSuccess: list.data });\r\n\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n } else {\r\n axios.post(url, data, CONFIG).then((list) => {\r\n console.log(list.data);\r\n if (\"0\" === list.data.status) {\r\n this.setState({ loading: false });\r\n this.setState({ errors: { speciality_name: list.data.message } });\r\n } else {\r\n\r\n\r\n this.setState({ records: list.data.data, formSuccess: list.data });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n let PopupClose = () => this.setState({ deletePopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const {\r\n specialityData,\r\n formSuccess,\r\n tableSuccess,\r\n errors,\r\n allspeciality,\r\n loading,\r\n } = this.state;\r\n return (\r\n
    \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n

    Speciality List

    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {this.state.actions === \"add\" ? \"Add\" : \"Edit\"} Speciality
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n {specialityData.speciality_name}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.actions === \"add\" ? \"+ Add\" : \"Update\"}\r\n \r\n\r\n \r\n {\"Cancel\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(SpecialityList);","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { removeBusinessFromBusinesslist,updateSubscriptionplan,getAllUserSubscriptions,\r\n getAllSubscriptionPlanList,getAllBasicSubscriptionPlanList,updateBasicSubscriptionplan } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG,time_limit,category } from \"../config/data\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport Select from \"react-select\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport Validation from \"../actions/Validation\";\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nconst status = [\r\n { value: \"Pending\", label: \"Pending\" },\r\n { value: \"Accepted\", label: \"Accepted\" },\r\n];\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\nclass SubscriptionPlan extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n records: [],\r\n basicrecords:[],\r\n actions: \"update\",\r\n loading: false,\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n \r\n deletePopup: false,\r\n subscriptionplan:\r\n {\r\n id:\"\",\r\n subscription_type:\"\",\r\n time_limit:\"\",\r\n price:\"\",\r\n discount:\"\",\r\n category:\"\",\r\n\r\n },\r\n basicsubscriptionplan:{\r\n id:\"\",\r\n subscription_type:\"\",\r\n trial_period:\"\",\r\n },\r\n usersubscriptionlist:[],\r\n errors: {\r\n \r\n subscription_type:\"\",\r\n time_limit:\"\",\r\n price:\"\",\r\n discount:\"\",\r\n category:\"\",\r\n \r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n\r\n \r\n this.columns = [\r\n {\r\n key: \"id\",\r\n text: \"ID\",\r\n className: \"id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"category\",\r\n text: \"Category\",\r\n // className: \"category\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"subscription_type\",\r\n text: \"Subscription Type\",\r\n className: \"subscription_type\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"time_limit\",\r\n text: \"Timelimit\",\r\n className: \"time_limit\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"price\",\r\n text: \"Price\",\r\n className: \"price\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"discount\",\r\n text: \"Discount%\",\r\n className: \"discount\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* \r\n this.setState({ deletePopup: true, record: record })\r\n }\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.basiccolumns = [\r\n /* {\r\n key: \"id\",\r\n text: \"ID\",\r\n className: \"id\",\r\n align: \"left\",\r\n sortable: true,\r\n }, */\r\n \r\n {\r\n key: \"subscription_type\",\r\n text: \"Subscription Type\",\r\n className: \"subscription_type\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"trial_period\",\r\n text: \"Trial Period\",\r\n className: \"trial_period\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n \r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.basiceditRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* \r\n this.setState({ deletePopup: true, record: record })\r\n }\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n handleColumnChange = (record, selectedOptions) => {\r\n\r\n record.status = selectedOptions ? selectedOptions.value : \"Pending\";\r\n this.UpdateColumnChange(record);\r\n };\r\n\r\n UpdateColumnChange = (data) => {\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // let request = {\r\n // business_user_id: data.user_id, status: data.status\r\n // }\r\n // axios.post(updateDoctorStatus1, request).then((list) => {\r\n let records = this.state.records;\r\n\r\n // // data = list.data.data;\r\n // if (list.data.status === \"1\") {\r\n var recIndex = findWithAttr(records, \"user_id\", data.user_id);\r\n\r\n records[recIndex].status = data.status;\r\n\r\n this.setState({ records, tableSuccess: \"\" });\r\n // }\r\n\r\n this.clearMessage();\r\n // });\r\n };\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.subscriptionplan;\r\n data[e.name] = selectedOptions;\r\n \r\n this.setState({ subscriptionplan: data });\r\n };\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n\r\n \r\n componentDidMount = () => {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSubscriptionPlanList, null, CONFIG)\r\n .then((list) => {\r\n console.log(list)\r\n this.setState({ records: list.data.data });\r\n })\r\n .catch((e) => { console.log(e) });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllBasicSubscriptionPlanList, null, CONFIG)\r\n .then((list) => {\r\n console.log(list)\r\n this.setState({ basicrecords: list.data.data });\r\n })\r\n .catch((e) => { console.log(e) });\r\n\r\n axios\r\n .post(getAllUserSubscriptions, null, CONFIG)\r\n .then((result) => {\r\n console.log(result.data);\r\n if (result.data.status === \"1\") {\r\n let usersubscriptionlist = [];\r\n result.data.data.forEach((element, index) => {\r\n let obj = {};\r\n obj = element;\r\n obj.label = element.subscription_name;\r\n obj.value = element.id;\r\n usersubscriptionlist[index] = obj;\r\n });\r\n \r\n this.setState({\r\n usersubscriptionlist: usersubscriptionlist,\r\n });\r\n } else {\r\n alert(\"Subscription list empty\");\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n console.log(\"business user getbyid failed\");\r\n });\r\n \r\n }\r\n cancel = () => {\r\n let data = this.state.subscriptionplan;\r\n data.id=\"\";\r\n data.subscription_type = \"\";\r\n data.category=\"\";\r\n data.time_limit = \"\";\r\n data.price = \"\";\r\n data.discount=\"\";\r\n \r\n this.setState({ subscriptionplan: data, actions: \"update\" });\r\n };\r\n editRecord = (record) => {\r\n console.log(record);\r\n this.setState({ actions: \"edit\" });\r\n \r\n let subscriptionplan = this.state.subscriptionplan;\r\n subscriptionplan.id=record.id;\r\n subscriptionplan.category = {\r\n label: record.category,\r\n value: record.category,\r\n };\r\n subscriptionplan.subscription_type={\r\n label: record.subscription_type,\r\n value: record.subscription_type,\r\n };\r\n subscriptionplan.time_limit = {\r\n label: record.time_limit,\r\n value: record.time_limit,\r\n };\r\n subscriptionplan.price=record.price;\r\n subscriptionplan.discount = record.discount;\r\n \r\n \r\n this.handleSubscriptionPlanChange(\"id\", subscriptionplan.id);\r\n this.setState({ subscriptionplan: subscriptionplan });\r\n };\r\n basiceditRecord = (record) => {\r\n console.log(record);\r\n this.setState({ actions: \"edit\" });\r\n \r\n let basicsubscriptionplan = this.state.basicsubscriptionplan;\r\n basicsubscriptionplan.id=record.id;\r\n \r\n basicsubscriptionplan.subscription_type=record.subscription_type;\r\n \r\n basicsubscriptionplan.trial_period = record.trial_period;\r\n \r\n \r\n this.handleBasicSubscriptionPlanChange(\"id\", basicsubscriptionplan.id);\r\n this.setState({ basicsubscriptionplan: basicsubscriptionplan });\r\n };\r\n clearAll() {\r\n let actions = this.state.actions;\r\n actions = \"update\";\r\n this.setState({ actions });\r\n let subscriptionplan = {};\r\n subscriptionplan.id=\"\";\r\n subscriptionplan.category=\"\";\r\n subscriptionplan.subscription_type=\"\";\r\n subscriptionplan.time_limit = \"\";\r\n subscriptionplan.price = \"\";\r\n subscriptionplan.discount=\"\";\r\n this.setState({ subscriptionplan });\r\n }\r\n basicclearAll() {\r\n let actions = this.state.actions;\r\n actions = \"update\";\r\n this.setState({ actions });\r\n let basicsubscriptionplan = {};\r\n basicsubscriptionplan.id=\"\";\r\n basicsubscriptionplan.subscription_type=\"\";\r\n basicsubscriptionplan.trial_period = \"\";\r\n \r\n this.setState({ basicsubscriptionplan });\r\n }\r\n handleBasicSubscriptionPlanChange(value, field) {\r\n let fields = this.state.basicsubscriptionplan;\r\n \r\n console.log(fields);\r\n if (value === \"subscription_type\") {\r\n fields.subscription_type = field.target.value;\r\n \r\n } \r\n \r\n else if (value === \"trial_period\") {\r\n fields.trial_period = field.target.value;\r\n \r\n } \r\n \r\n this.setState({\r\n basicsubscriptionplan: fields,\r\n });\r\n }\r\n handleSubscriptionPlanChange(value, field) {\r\n let fields = this.state.subscriptionplan;\r\n // let errors = this.state.educationerror;\r\n console.log(fields);\r\n if (value === \"subscription_type\") {\r\n fields.subscription_type = field.target.value;\r\n // errors[i].register_id = '';\r\n } // errors[i].education = '';\r\n \r\n else if (value === \"price\") {\r\n fields.price = field.target.value;\r\n // errors[i].education = '';\r\n } \r\n else if (value === \"discount\") {\r\n fields.discount = field.target.value;\r\n // errors[i].education = '';\r\n } \r\n else if (value === \"category\") {\r\n fields.category = field.target.value;\r\n // errors[i].education = '';\r\n } \r\n \r\n else if (value === \"time_limit\") {\r\n fields.time_limit = field.target.value;\r\n // errors[i].education = '';\r\n \r\n } \r\n this.setState({\r\n subscriptionplan: fields,\r\n });\r\n }\r\n updateSubscriptionplan=(e)=> {\r\n // let user_id = record.user_id;\r\n let { subscriptionplan, errors } = this.state;\r\n subscriptionplan.type = \"subscriptionplan\";\r\n errors = Validation(subscriptionplan, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n let data = this.state.subscriptionplan;\r\n \r\n // let data = {};\r\n \r\n data.id=subscriptionplan.id;\r\n data.category=subscriptionplan.category.label;\r\n data.subscription_type=subscriptionplan.subscription_type.label;\r\n data.time_limit=subscriptionplan.time_limit.label;\r\n data.price=subscriptionplan.price;\r\n data.discount=subscriptionplan.discount;\r\n console.log(data);\r\n axios.put(updateSubscriptionplan, data, CONFIG).then((list) => {\r\n console.log(list);\r\n console.log(list.data);\r\n let response=list.data;\r\n if (response.status === \"1\") {\r\n\r\n let member = {};\r\n\r\n member.id=data.id;\r\n member.category=data.category;\r\n member.subscription_type=data.subscription_type;\r\n member.time_limit = data.time_limit;\r\n member.price = data.price;\r\n member.discount=data.discount;\r\n \r\n let records = this.state.records;\r\n\r\n /** Updating the data table */\r\n let existingRecords = this.state.records;\r\n var index = existingRecords.findIndex((item) => item.id === data.id);\r\n existingRecords.splice(index, 1, member);\r\n this.setState({ records: existingRecords });\r\n\r\n this.setState({ records });\r\n this.setState({ formSuccess: list.data });\r\n this.clearAll();\r\n this.clearMessage();\r\n \r\n }\r\n });\r\n }\r\n }\r\n\r\n updateBasicSubscriptionplan=(e)=> {\r\n // let user_id = record.user_id;\r\n let { basicsubscriptionplan, errors } = this.state;\r\n basicsubscriptionplan.type = \"basicsubscriptionplan\";\r\n errors = Validation(basicsubscriptionplan, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n let data = this.state.basicsubscriptionplan;\r\n \r\n // let data = {};\r\n \r\n data.id=basicsubscriptionplan.id;\r\n data.subscription_type=basicsubscriptionplan.subscription_type;\r\n \r\n data.trial_period=basicsubscriptionplan.trial_period;\r\n \r\n console.log(data);\r\n axios.put(updateBasicSubscriptionplan, data, CONFIG).then((list) => {\r\n console.log(list);\r\n console.log(list.data);\r\n let response=list.data;\r\n if (response.status === \"1\") {\r\n \r\n let member = {};\r\n \r\n member.id=data.id;\r\n member.subscription_type=data.subscription_type;\r\n member.trial_period = data.trial_period;\r\n \r\n \r\n let basicrecords = this.state.basicrecords;\r\n \r\n /** Updating the data table */\r\n let existingRecords = this.state.basicrecords;\r\n var index = existingRecords.findIndex((item) => item.id === data.id);\r\n existingRecords.splice(index, 1, member);\r\n this.setState({ basicrecords: existingRecords });\r\n \r\n this.setState({ basicrecords });\r\n this.setState({ formSuccess: list.data });\r\n this.basicclearAll();\r\n this.clearMessage();\r\n \r\n }\r\n });\r\n }\r\n }\r\n deleteRecord(record) {\r\n \r\n let id = record.id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(removeBusinessFromBusinesslist, { id: id }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n \r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch((e) => { });\r\n this.setState({ deletePopup: false, record: null });\r\n \r\n this.setState({\r\n confirmedDelete: false,\r\n });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSubscriptionPlanList, null, CONFIG)\r\n .then((list) => {\r\n console.log(list)\r\n this.setState({ records: list.data.data });\r\n })\r\n .catch((e) => { console.log(e) });\r\n\r\n }\r\n\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const {\r\n subscriptionplan,\r\n basicsubscriptionplan,\r\n formSuccess,\r\n tableSuccess,\r\n errors,\r\n loading,\r\n } = this.state;\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

    Subscription Plan

    \r\n
    \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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {\" \"}\r\n {this.state.actions === \"Edit\"\r\n ? \"Edit\"\r\n : \"Edit\"}{\" \"}\r\n Subscription Plan
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \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.action === \"Add\" ? \"+ Add\" : \"Update\"}\r\n \r\n\r\n \r\n {\"Cancel\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(Offers);","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport List from '@mui/material/List';\r\nimport ListItem from '@mui/material/ListItem';\r\nimport Divider from '@mui/material/Divider';\r\nimport ListItemText from '@mui/material/ListItemText';\r\nimport ListItemAvatar from '@mui/material/ListItemAvatar';\r\nimport Avatar from '@mui/material/Avatar';\r\nimport Typography from '@mui/material/Typography';\r\nimport SideBar from \"../components/container/layout/client/SideBar\";\r\nimport BusinessSidebar from \"../components/container/SideBar\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport FooterSection from '../components/UI/FooterSection';\r\nimport axios from \"axios\";\r\nimport {\r\n getOffers, markasread,readAllMessages,getTimeoutbycategory\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Dnaspinner from '../components/UI/Dnaspinner';\r\nfunction mapStateToProps(state) {\r\n return {\r\n\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nclass ViewOffers extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const timeout=this.state;\r\n \r\n this.state = {\r\n timeout:timeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n \r\n offers: [],\r\n loading: false\r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n \r\n }\r\n componentDidMount() {\r\n\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n timeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n \r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getOffers, { message_to: this.props.userdata.id }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n\r\n this.setState({ offers: data.data })\r\n\r\n })\r\n .catch((e) => { });\r\n\r\n \r\n }\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n \r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.history.push('/'); \r\n };\r\n \r\n _onAction(e) {\r\n console.log('user did something', e)\r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n console.log('user is active', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.history.push('/');\r\n }\r\n }\r\n \r\n markasread = (offer, e) => {\r\n\r\n if (!offer.read) {\r\n axios\r\n .post(markasread, { id: offer.id })\r\n .then((res) => {\r\n window.location.href = offer.link ? offer.link : \"\";\r\n\r\n })\r\n .catch((e) => { });\r\n }\r\n // window.location.href = offer.link ? offer.link : \"\";\r\n\r\n }\r\n\r\n render() {\r\n const { offers,timeout,loading } = this.state;\r\n return (\r\n\r\n
    \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {(this.props.userdata.user_type.toLowerCase() === 'hospital' || this.props.userdata.user_type.toLowerCase() === 'client') ? : }\r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={timeout} />\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Offers

    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n {offers.map((offer, index) => {\r\n return (\r\n \r\n {/* \r\n \r\n */}\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    )\r\n })}\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(ViewOffers);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport renderHTML from 'react-render-html';\r\nimport {\r\n getSettingsData\r\n} from \"../config/url.json\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\n\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass OffersWeb extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n settingsData: {},\r\n loading: false,\r\n \r\n }\r\n \r\n }\r\n\r\n componentDidMount() {\r\n\r\n \r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getSettingsData, null)\r\n .then((res) => {\r\n\r\n let settingsData = [];\r\n res.data.data.forEach((element, index) => {\r\n let name = element.name;\r\n settingsData[name] = element.value\r\n })\r\n console.log(settingsData)\r\n this.setState({ settingsData: settingsData })\r\n\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n\r\n render() {\r\n const { settingsData } = this.state;\r\n\r\n\r\n return (\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n

    OFFERS

    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {/*
    Point your phone to the scanner to check-in by capturing this code
    */}\r\n\r\n \r\n\r\n {settingsData.offers ? renderHTML(settingsData.offers) : \"\"}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(OffersWeb);","\r\nimport React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { updateguidevideo } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG,imageconfig,videoconfig } from \"../config/data\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport Validation from \"../actions/Validation\";\r\nimport S3 from \"react-aws-s3\";\r\nimport Label from \"../components/UI/Label\";\r\nimport Spinner from \"../components/UI/Spinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n\r\n };\r\n}\r\nconst status = [\r\n { value: \"Pending\", label: \"Pending\" },\r\n { value: \"Accepted\", label: \"Accepted\" },\r\n];\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\nclass Videoupload extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n records: [],\r\n actions: \"update\",\r\n loading: false,\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n \r\n deletePopup: false,\r\n timeoutdata:\r\n {\r\n id:\"\",\r\n category:\"\",\r\n timeout:\"\",\r\n \r\n },\r\n \r\n errors: {\r\n \r\n category:\"\",\r\n timeout:\"\",\r\n \r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n\r\n \r\n this.columns = [\r\n {\r\n key: \"id\",\r\n text: \"Id\",\r\n className: \"id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"category\",\r\n text: \"Category\",\r\n className: \"timeout_category\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"timeout\",\r\n text: \"Timeout\",\r\n className: \"timeout\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n \r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* \r\n this.setState({ deletePopup: true, record: record })\r\n }\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n handleColumnChange = (record, selectedOptions) => {\r\n\r\n record.status = selectedOptions ? selectedOptions.value : \"Pending\";\r\n this.UpdateColumnChange(record);\r\n };\r\n\r\n UpdateColumnChange = (data) => {\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // let request = {\r\n // business_user_id: data.user_id, status: data.status\r\n // }\r\n // axios.post(updateDoctorStatus1, request).then((list) => {\r\n let records = this.state.records;\r\n\r\n // // data = list.data.data;\r\n // if (list.data.status === \"1\") {\r\n var recIndex = findWithAttr(records, \"user_id\", data.user_id);\r\n\r\n records[recIndex].status = data.status;\r\n\r\n this.setState({ records, tableSuccess: \"\" });\r\n // }\r\n\r\n this.clearMessage();\r\n // });\r\n };\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.timeoutdata;\r\n data[e.name] = selectedOptions;\r\n \r\n this.setState({ timeoutdata: data });\r\n };\r\n onFileChange = event => {\r\n this.setState({ file: event.target.files[0] });\r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n Videoupload = (event) => {\r\n event.preventDefault();\r\n this.setState({ loading: true })\r\n let actions = this.state.actions;\r\n actions = \"update\";\r\n let file = this.state.file;\r\n \r\n let newfileName = this.state.file.name;\r\n \r\n // console.log(imageconfig);\r\n // imageconfig.dirName = 'business_user/' + this.props.userdata.id\r\n console.log(videoconfig);\r\n console.log(file);\r\n console.log(newfileName);\r\n const reacts3client = new S3(videoconfig);\r\n console.log(reacts3client)\r\n console.log( this.props.userdata.user_type);\r\n reacts3client.uploadFile(file,newfileName).then(data => {\r\n console.log(data)\r\n if (data.status === 204) {\r\n console.log('success');\r\n let resultdata = {\r\n 'name':\"guide_video\",\r\n 'value': data.location,\r\n \r\n }\r\n \r\n axios.put(updateguidevideo, resultdata, CONFIG).then((result) => {\r\n \r\n this.setState({tableSuccess: { message: \"Video uploaded Succesfully\" }});\r\n this.setState({ loading: false })\r\n this.clearMessage();\r\n })\r\n } else {\r\n console.log('error');\r\n // this.setState({ profile_img: URL.createObjectURL(file), addPopup: false });\r\n }\r\n });\r\n \r\n \r\n };\r\n \r\n componentDidMount = () => {\r\n \r\n }\r\n \r\n \r\n clearAll= () => {\r\n this.setState({file:\"\"});\r\n }\r\n\r\n handleTimeoutChange(value, field) {\r\n let fields = this.state.timeoutdata;\r\n // let errors = this.state.educationerror;\r\n console.log(field);\r\n if (value === \"category\") {\r\n fields.category = field.target.value;\r\n // errors[i].register_id = '';\r\n }else if (value === \"id\") {\r\n fields.id = field;\r\n // errors[i].education = '';\r\n } \r\n else if (value === \"timeout\") {\r\n fields.timeout = field.target.value;\r\n // errors[i].education = '';\r\n } \r\n this.setState({\r\n timeoutdata: fields,\r\n });\r\n }\r\n \r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const {\r\n timeoutdata,\r\n formSuccess,\r\n tableSuccess,\r\n errors,\r\n loading,\r\n } = this.state;\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

    Video Upload

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {/*
    \r\n \r\n \r\n \r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\"Upload\") : (\"Upload\")}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(Videoupload);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport axios from \"axios\";\r\nimport {\r\n GetFollowupData,\r\n getBusinessforBusinessUser, getConsultingDoctors,getTimeoutbycategory,doctorUpcomingappointment\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Header from \"../components/container/layout/business_user/Header\";\r\nimport SideBar from \"../components/container/SideBar\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport * as moment from \"moment\";\r\nimport Select from \"react-select\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport Dnaspinner from '../components/UI/Dnaspinner';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n }\r\n \r\nclass DoctorAppointment extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const timeout=this.state;\r\n \r\n this.state = {\r\n timeout:timeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n loading: false,\r\n business_id: \"\",\r\n records: [],\r\n doc_list: [],\r\n selected_doctor: \"\",\r\n doctor_shift: [],\r\n selected_shift: \"\",\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n btndisabled: false,\r\n }\r\n this.appointmentcolumns = [\r\n {\r\n key: \"preference\",\r\n text: \"Appoinment No\",\r\n className: \"preference\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"id\",\r\n text: \"Patient ID\",\r\n className: \"id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"patient_name\",\r\n text: \"Patient Name\",\r\n className: \"patient_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"blood_group\",\r\n text: \"Blood Group\",\r\n className: \"blood_group\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"other_comments\",\r\n text: \"Reason For Visit\",\r\n className: \"other_comments\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"appt_date\",\r\n text: \"Appointment Date\",\r\n className: \"appt_date\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return moment(record.appt_date).format(\"DD-MM-yyyy\");\r\n },\r\n },\r\n \r\n {\r\n key: \"appt_time\",\r\n text: \"Appointment Time\",\r\n className: \"appt_time\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return record.appt_time ? moment(record.appt_time).format(\"hh:mm A\") : \"\";\r\n },\r\n },\r\n // {\r\n // key: \"wait_time\",\r\n // text: \"Wait Time\",\r\n // className: \"wait_time\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // cell: (record) => {\r\n // return record.wait_time ? moment.duration(record.wait_time).asMinutes().toFixed() + ' minutes' : \"\";\r\n // },\r\n // },\r\n {\r\n key: \"appt_status\",\r\n text: \"Status\",\r\n className: \"appt_status\",\r\n align: \"left\",\r\n sortable: true,\r\n }, {\r\n key: \"Action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record, i) => {\r\n // console.log(i)\r\n return (\r\n \r\n )\r\n }\r\n },\r\n {\r\n key: \"Meeting\",\r\n text: \"Meeting\",\r\n className: \"meeting\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record, i) => {\r\n // console.log(i)\r\n return (\r\n this.gotoappointment(data)}\r\n >Join\r\n )\r\n }\r\n },\r\n ];\r\n \r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n }\r\n\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n \r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n };\r\n \r\n _onAction(e) {\r\n console.log('user did something', e)\r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n console.log('user is active', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) {\r\n console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n \r\n }\r\n }\r\n \r\n\r\n handleAction = (record, index, e) => {\r\n\r\n // console.log(record);\r\n // return false;\r\n this.setState({ loading: true })\r\n // axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n // let clientapppointmentId = record.q_id;\r\n // axios.get(getQueueByid + clientapppointmentId)\r\n // .then((queue_data) => {\r\n // console.log(queue_data);\r\n\r\n // if (queue_data.data !== '' && queue_data.data != null) {\r\n // let queuein_data = queue_data.data\r\n // queuein_data.status = 'Consulting';\r\n // let clientlist = [];\r\n // clientlist.push(record.client_id);\r\n // queuein_data.clientList = clientlist;\r\n // console.log(queuein_data);\r\n // // queuein_data.clientList = [queuein_data.data.client_id];\r\n this.setState({ queue_data: record })\r\n \r\n\r\n // {\r\n // \"n_business_id\": \"7405dfa0-a5c4-11ea-ba30-05b511e3603e\",\r\n // \"n_schedule_day_id\": \"f4f392a4-bdc8-11eb-97e3-0ad8e4601dac\", \r\n // \"n_status\": \"Check-In\", \r\n // \"n_business_user_id\": \"ef98dcf0-bdc8-11eb-a631-39b54728a3e8\",\r\n // \"n_schedule_type\": \"Queue\",\r\n // \"n_q_id\":\"8c9d1193-aa87-4907-bb5b-96c6e3e441bd\"\r\n // }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n // axios\r\n // .post(updateQueueStatus, queuedata)\r\n // .then((response) => {\r\n // console.log(response); return false;\r\n // this.setState({ loading: false });\r\n // socketObj.emit('queueStatusChanged', () => {});\r\n // this.setState({ QueuesuccessMsg: \"Queue status updated successfully\" });\r\n window.location.href = \"/appointment/\" + record.id\r\n\r\n\r\n\r\n // this.props.history.push(\"/consult\");\r\n\r\n // }).catch((e) => {\r\n // console.log(e);\r\n // console.log(\"Update queue failed\");\r\n // });\r\n // }\r\n // }).catch((e) => {\r\n // console.log(\"Get appoinment by id failed\");\r\n // });\r\n\r\n\r\n // if (index === 0) {\r\n // this.props.history.push(\"/consult/\" + record.checkin_id);\r\n // }\r\n }\r\n \r\n /* hanldeAction = (record, index, e) => {\r\n\r\n // console.log(record);\r\n // return false;\r\n this.setState({ loading: true })\r\n // axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n // let clientapppointmentId = record.q_id;\r\n // axios.get(getQueueByid + clientapppointmentId)\r\n // .then((queue_data) => {\r\n // console.log(queue_data);\r\n\r\n // if (queue_data.data !== '' && queue_data.data != null) {\r\n // let queuein_data = queue_data.data\r\n // queuein_data.status = 'Consulting';\r\n // let clientlist = [];\r\n // clientlist.push(record.client_id);\r\n // queuein_data.clientList = clientlist;\r\n // console.log(queuein_data);\r\n // // queuein_data.clientList = [queuein_data.data.client_id];\r\n this.setState({ queue_data: record })\r\n let queuedata = {\r\n \"n_business_id\": record.business_id,\r\n \"n_business_user_id\": this.props.userdata.id,\r\n \"n_schedule_day_id\": record.schedule_day_id,\r\n \"n_q_id\": record.q_id,\r\n \"n_status\": \"Consulting\",\r\n \"n_preference\": record.preference,\r\n \"n_schedule_type\": \"Queue\"\r\n }\r\n\r\n // {\r\n // \"n_business_id\": \"7405dfa0-a5c4-11ea-ba30-05b511e3603e\",\r\n // \"n_schedule_day_id\": \"f4f392a4-bdc8-11eb-97e3-0ad8e4601dac\", \r\n // \"n_status\": \"Check-In\", \r\n // \"n_business_user_id\": \"ef98dcf0-bdc8-11eb-a631-39b54728a3e8\",\r\n // \"n_schedule_type\": \"Queue\",\r\n // \"n_q_id\":\"8c9d1193-aa87-4907-bb5b-96c6e3e441bd\"\r\n // }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(updateQueueStatus, queuedata)\r\n .then((response) => {\r\n // console.log(response); return false;\r\n this.setState({ loading: false });\r\n // socketObj.emit('queueStatusChanged', () => {});\r\n this.setState({ QueuesuccessMsg: \"Queue status updated successfully\" });\r\n window.location.href = \"/consult/\" + record.checkin_id\r\n\r\n\r\n\r\n // this.props.history.push(\"/consult\");\r\n\r\n }).catch((e) => {\r\n console.log(e);\r\n console.log(\"Update queue failed\");\r\n });\r\n // }\r\n // }).catch((e) => {\r\n // console.log(\"Get appoinment by id failed\");\r\n // });\r\n\r\n\r\n // if (index === 0) {\r\n // this.props.history.push(\"/consult/\" + record.checkin_id);\r\n // }\r\n } */\r\n componentDidMount = () => {\r\n\r\n\r\n\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n timeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n \r\n\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let urlbu =\r\n getBusinessforBusinessUser +\r\n \"?business_user_id=\" +\r\n this.props.userdata.id;\r\n axios\r\n .get(urlbu, null, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n // console.log(data.data);\r\n\r\n let doc_list = [];\r\n data.data.forEach((e, index) => {\r\n // console.log(element)\r\n\r\n let doctor_shift = [];\r\n const reqdata = {\r\n business_id: e.business_id,\r\n // n_currentdate: getDateISOFormat(new Date()),\r\n };\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getConsultingDoctors, reqdata)\r\n .then((result) => {\r\n\r\n // console.log(JSON.parse(JSON.stringify(result.data.data[0].doctor_Appointments)), typeof result.data.data[0].doctor_Appointments)\r\n result.data.data.forEach((element, index) => {\r\n if (element.business_user_id === this.props.userdata.id) { \r\n // if (element.schedule_type !== 'appointment')\r\n doc_list.push({ value: element.business_id, label: element.business_name, doctor_Appointments: element.doctor_Appointments });\r\n }\r\n\r\n });\r\n // console.log(JSON.parse(JSON.stringify(doc_list[0].doctor_Appointments)));\r\n\r\n\r\n if(doc_list.length){\r\n doc_list[0].doctor_Appointments.forEach((doc, k) => {\r\n doctor_shift.push({ value: doc.schedule_day_id, label: \"Shift \" + (k + 1) + \"(\" + doc.starttime + \" - \" + doc.endtime + \")\" })\r\n })\r\n }\r\n\r\n\r\n\r\n this.setState({ doctor_appointment: result.data.data, doc_list: doc_list, selected_doctor: doc_list[0], doctor_shift: doctor_shift, selected_shift: doctor_shift[0], loading: false, business_id: data.data[0].business_id });\r\n this.GetFollowupData(this.state.doc_list[0].value, this.props.userdata.id, this.state.doctor_shift[0].value);\r\n \r\n axios\r\n .post(doctorUpcomingappointment, { business_user_id: this.props.userdata.id,business_id: data.data[0].business_id }, CONFIG)\r\n .then((result) => {\r\n console.log(result);\r\n if (result.data.status === \"1\") {\r\n console.log(result.data.data);\r\n this.setState({ doctorupcoming: result.data.data })\r\n } else {\r\n this.setState({ doctorupcoming: [] })\r\n }\r\n }).catch((err) => {\r\n console.log('error')\r\n })\r\n \r\n\r\n\r\n })\r\n .catch((e) => { console.log(e); });\r\n });\r\n this.setState({ loading: false })\r\n\r\n\r\n }).catch((e) => {\r\n this.setState({ loading: false })\r\n })\r\n \r\n /* axios\r\n .post(doctorUpcomingappointment, { business_user_id: this.props.userdata.id,business_id: selected_doctor.value }, CONFIG)\r\n .then((result) => {\r\n console.log(result);\r\n if (result.data.status === \"1\") {\r\n console.log(result.data.data);\r\n this.setState({ doctorupcoming: result.data.data })\r\n } else {\r\n this.setState({ doctorupcoming: [] })\r\n }\r\n }).catch((err) => {\r\n console.log('error')\r\n })\r\n\r\n */\r\n\r\n };\r\n\r\n GetFollowupData = (business_id, business_user_id, schedule_day_id) => {\r\n this.setState({ loading: true })\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(GetFollowupData, { business_id: business_id, business_user_id: business_user_id, schedule_day_id: schedule_day_id }, CONFIG)\r\n .then((list) => {\r\n this.setState({ loading: false })\r\n let btndisabled = false\r\n list.data.data.forEach((element) => {\r\n if (element.status === 'Consulting') {\r\n btndisabled = true;\r\n }\r\n })\r\n this.setState({ records: list.data.data, btndisabled: btndisabled, loading: false });\r\n })\r\n .catch((e) => { this.setState({ loading: false }) });\r\n }\r\n handleselectChange = (selectedoption, event) => {\r\n\r\n let { doc_list, selected_doctor } = this.state;\r\n let doctor_shift = [];\r\n if (event.name === \"doc_list\") {\r\n\r\n doc_list[event.name] = selectedoption\r\n // console.log(selectedoption);\r\n\r\n selectedoption.doctor_Appointments.forEach((doc, k) => {\r\n doctor_shift.push({ value: doc.schedule_day_id, label: \"Shift \" + (k + 1) + \"(\" + doc.starttime + \" - \" + doc.endtime + \")\" })\r\n })\r\n\r\n this.setState({ doc_list: doc_list, selected_doctor: selectedoption, doctor_shift: doctor_shift, selected_shift: doctor_shift[0] });\r\n // this.GetFollowupData(selectedoption.value, this.props.userdata.id, doctor_shift[0].value)\r\n \r\n }\r\n if (event.name === 'doctor_shift') {\r\n\r\n this.setState({ selected_shift: selectedoption })\r\n\r\n // console.log(selected_doctor.value, this.props.userdata.id, selectedoption.value)\r\n // this.GetFollowupData(selected_doctor.value, this.props.userdata.id, selectedoption.value)\r\n \r\n }\r\n }\r\n render() {\r\n const {\r\n\r\n tableSuccess,\r\n loading, doc_list,\r\n timeout\r\n } = this.state;\r\n return (\r\n
    \r\n
    \r\n {/* */}\r\n {loading && }\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.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={timeout} />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Doctor Appointments

    \r\n
    \r\n
    \r\n \r\n
    */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n {/* */}\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n \r\n\r\n );\r\n\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,mapDispatchToProps\r\n)(DoctorAppointment);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { getAllBusinessList,removeBusinessFromBusinesslist,GetQueueCompletedReport } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport moment from \"moment\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport Select from \"react-select\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport Validation from \"../actions/Validation\";\r\nimport DatePicker from \"react-date-picker\";\r\nfunction mapStateToProps(state) {\r\nreturn {\r\nappdata: state.AppData,\r\nuserdata: state.AuthReducer.user,\r\naccess_token: state.AuthReducer.access_token,\r\n};\r\n}\r\nfunction findWithAttr(array, attr, value) {\r\nfor (var i = 0; i < array.length; i += 1) {\r\nif (array[i][attr] === value) {\r\nreturn i;\r\n}\r\n}\r\nreturn -1;\r\n}\r\nclass QueueCompletedReport extends Component {\r\nconstructor(props) {\r\nsuper(props);\r\nthis.state = {\r\ntableSuccess: {\r\nmessage: \"\",\r\nstatus: \"\",\r\n},\r\nrecords: [],\r\nactions: \"update\",\r\nloading: false,\r\nshowDeleteConfirmPopup: false,\r\nconfirmedDelete: false,\r\ndeletePopup: false,\r\nhospitalreport:\r\n{\r\n// id:\"\",\r\n// user_id: \"\",\r\nbusiness_name:\"\",\r\nFromdate:\"\",\r\nTodate:\"\",\r\n},\r\nerrors: {\r\nbusiness_name:\"\",\r\nFromdate:\"\",\r\nTodate:\"\",\r\n},\r\nformSuccess: {\r\nmessage: \"\",\r\nstatus: \"\",\r\n},\r\n};\r\nthis.columns = [\r\n{ text: \"S.No\",\r\nclassName: \"s_no\",\r\nkey:\"s_no\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"business_name\",\r\ntext: \"Business Name\",\r\nclassName: \"business_name\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"doctor_name\",\r\ntext: \"Doctor Name\",\r\nclassName: \"doctor_name\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"Patient_id\",\r\ntext: \"Patient ID\",\r\nclassName: \"Patient_id\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"patient_name\",\r\ntext: \"Patient Name\",\r\nclassName: \"patient_name\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"email\",\r\ntext: \"Email\",\r\nclassName: \"email\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"date_of_birth\",\r\ntext: \"Date Of Birth\",\r\nclassName: \"date_of_birth\",\r\nalign: \"left\",\r\nsortable: true,\r\ncell: (record) => {\r\nreturn moment(record.date_of_birth).format(\"DD-MM-YYYY\");\r\n},\r\n},\r\n{\r\nkey: \"gender\",\r\ntext: \"Gender\",\r\nclassName: \"gender\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n/* {\r\nkey: \"marital_status\",\r\ntext: \"Marital Status\",\r\nclassName: \"marital_status\",\r\nsortable: true,\r\nalign: \"left\",\r\n}, */\r\n{\r\nkey: \"blood_group\",\r\ntext: \"Blood Group\",\r\nclassName: \"blood_group\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n{\r\nkey: \"phone_number\",\r\ntext: \"Phone Number\",\r\nclassName: \"phone_number\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n{\r\nkey: \"ActualCheckIndate\",\r\ntext: \"Actual check In Date\",\r\nclassName: \"ActualCheckIndate\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n{\r\nkey: \"ActualCheckIntime\",\r\ntext: \"Actual check In time\",\r\nclassName: \"ActualCheckIntime\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n{\r\nkey: \"Checkouttime\",\r\ntext: \"Check out time\",\r\nclassName: \"Checkouttime\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n/* {\r\nkey: \"created_time\",\r\ntext: \"Created Date\",\r\nclassName: \"created_time\",\r\nsortable: true,\r\nalign: \"left\",\r\ncell: (record) => {\r\nvar date=moment(record.created_time).format(\"DD-MMM-yyyy\");\r\n//console.log(date);\r\nif(date ===\"Invalid date\")\r\n{\r\nreturn \"\";\r\n}else\r\n{\r\nreturn moment(record.created_time).format(\"DD-MMM-yyyy\");\r\n}\r\n},\r\n},\r\n*/\r\n];\r\nthis.config = {\r\npage_size: 10,\r\nlength_menu: [10, 20, 50],\r\nbutton: {\r\nexcel: false,\r\nprint: false,\r\n},\r\n};\r\n}\r\nhandleColumnChange = (record, selectedOptions) => {\r\nrecord.status = selectedOptions ? selectedOptions.value : \"Pending\";\r\nthis.UpdateColumnChange(record);\r\n};\r\nUpdateColumnChange = (data) => {\r\n// axios.defaults.headers.common[\r\n// \"Authorization\"\r\n// ] = `Bearer ${this.props.access_token}`;\r\n// let request = {\r\n// business_user_id: data.user_id, status: data.status\r\n// }\r\n// axios.post(updateDoctorStatus1, request).then((list) => {\r\nlet records = this.state.records;\r\n// // data = list.data.data;\r\n// if (list.data.status === \"1\") {\r\nvar recIndex = findWithAttr(records, \"user_id\", data.user_id);\r\nrecords[recIndex].status = data.status;\r\nthis.setState({ records, tableSuccess: \"\" });\r\n// }\r\nthis.clearMessage();\r\n// });\r\n};\r\nhandleselectChange = (selectedOptions, e) => {\r\nlet data = this.state.hospitalreport;\r\ndata[e.name] = selectedOptions;\r\nthis.setState({ hospitalreport: data });\r\n};\r\nclearMessage = () => {\r\nsetTimeout(\r\n() =>\r\nthis.setState({\r\nformSuccess: { message: \"\" },\r\ntableSuccess: { message: \"\" },\r\n}),\r\n5000\r\n);\r\n};\r\nhandleFromDOBChange = (date) => {\r\nlet Hospitalreport = this.state.hospitalreport;\r\nHospitalreport.Fromdate = date;\r\nthis.setState({ hospitalreport: Hospitalreport });\r\n};\r\nhandleToDOBChange = (date) => {\r\nlet Hospitalreport = this.state.hospitalreport;\r\nHospitalreport.Todate = date;\r\nthis.setState({ hospitalreport: Hospitalreport });\r\n};\r\ncomponentDidMount = () => {\r\naxios.defaults.headers.common[\r\n\"Authorization\"\r\n] = `Bearer ${this.props.access_token}`;\r\naxios\r\n.get(getAllBusinessList, null, CONFIG)\r\n.then((list) => {\r\nconsole.log(list)\r\nlet business = [];\r\nlet userlist = list.data.data;\r\nuserlist.forEach((element, index) => {\r\nbusiness.push({ label: element.business_name, value: element.user_id })\r\n});\r\nthis.setState({ business_list: business });\r\n})\r\n.catch((e) => { console.log(e) });\r\n}\r\ncancel = () => {\r\nlet data = this.state.hospitalreport;\r\ndata.id=\"\";\r\ndata.business_name = \"\";\r\ndata.Fromdate=\"\";\r\ndata.Todate=\"\";\r\nthis.setState({ hospitalreport: data, actions: \"update\" });\r\nthis.setState({ reportList: [] });\r\n};\r\nPrintpage=()=>\r\n{ \r\nwindow.print();\r\n}\r\neditRecord = (record) => {\r\nconsole.log(record);\r\nthis.setState({ actions: \"edit\" });\r\nlet hospitaldata = this.state.hospitaldata;\r\nhospitaldata.id=record.id;\r\nhospitaldata.user_id = record.user_id;\r\nhospitaldata.business_name=record.business_name;\r\nhospitaldata.id = record.id;\r\nhospitaldata.user_id = record.user_id;\r\nhospitaldata.email=record.email;\r\nhospitaldata.phone_number = record.phone_number;\r\nhospitaldata.subscription={\r\nlabel: record.subscription,\r\nvalue: record.subscription,\r\n};\r\nhospitaldata.payment_status = {\r\nlabel: record.payment_status,\r\nvalue: record.payment_status,\r\n};\r\nif(hospitaldata.expires_at===null|| hospitaldata.expires_at===\"\")\r\n{\r\nhospitaldata.expires_at =record.expires_at;\r\n}else\r\n{\r\nhospitaldata.expires_at=moment(record.expires_at,moment.defaultFormat).toDate();\r\n}\r\nthis.handleHospitalChange(\"user_id\", hospitaldata.user_id);\r\nthis.setState({ hospitaldata: hospitaldata });\r\n};\r\nclearAll() {\r\nlet actions = this.state.actions;\r\nactions = \"update\";\r\nthis.setState({ actions });\r\nlet hospitaldata = {};\r\nhospitaldata.id=\"\";\r\nhospitaldata.business_name=\"\";\r\nhospitaldata.email = \"\";\r\nhospitaldata.phone_number = \"\";\r\nhospitaldata.subscription=\"\";\r\nhospitaldata.payment_status=\"\";\r\nhospitaldata.expires_at=\"\";\r\nthis.setState({ hospitaldata });\r\n}\r\nhandleHospitalChange(value, field) {\r\nlet fields = this.state.hospitaldata;\r\n// let errors = this.state.educationerror;\r\nconsole.log(field);\r\nif (value === \"email\") {\r\nfields.email = field.target.value;\r\n// errors[i].register_id = '';\r\n}else if (value === \"id\") {\r\nfields.id = field;\r\n// errors[i].education = '';\r\n} \r\nelse if (value === \"business_name\") {\r\nfields.business_name = field.target.value;\r\n// errors[i].education = '';\r\n} \r\nelse if (value === \"phone_number\") {\r\nfields.phone_number = field.target.value;\r\n// errors[i].education = '';\r\n} \r\nelse if (value === \"subscription\") {\r\nfields.subscription = field.target.value;\r\n// errors[i].education = '';\r\n} \r\nelse if (value === \"expires_at\") {\r\nfields.expires_at = field.target.value;\r\n// errors[i].education = '';\r\n}else if (value === \"payment_status\") {\r\nfields.payment_status = field.target.value;\r\n// errors[i].education = '';\r\n} \r\nthis.setState({\r\nhospitaldata: fields,\r\n});\r\n}\r\ngetHospitalReport=(e)=> {\r\n// let user_id = record.user_id;\r\nlet { hospitalreport, errors } = this.state;\r\n// hospitaldata.type = \"hospitallist\";\r\nerrors = Validation(hospitalreport, errors);\r\nthis.setState({ errors: errors });\r\nif (errors.formIsValid) {\r\nlet data = this.state.hospitalreport;\r\n// let data = {};\r\ndata.business_id=hospitalreport.business_name.value;\r\nconsole.log(moment.utc(hospitalreport.Fromdate).format('MM/DD/YYYY'));\r\ndata.Fromdate=hospitalreport.Fromdate;\r\ndata.Todate=hospitalreport.Todate;\r\naxios.post(GetQueueCompletedReport, data, CONFIG).then((list) => {\r\nconsole.log(data);\r\nconsole.log(list.data);\r\nlet response=list.data;\r\nif (response.status === \"1\") {\r\nconsole.log(list.data.data);\r\nthis.setState({ records: list.data.data });\r\nlet records=list.data.data;\r\nlet reportList = [];\r\nrecords.forEach((element, index) => {\r\nlet report = {};\r\nreport.s_no = index+1;\r\nreport.business_name=element.business_name;\r\nreport.doctor_name=element.doctor_name;\r\nreport.Patient_id = element.Patient_id;\r\nreport.patient_name = element.patient_name;\r\nreport.date_of_birth = element.date_of_birth;\r\nreport.gender = element.gender;\r\nreport.blood_group = element.blood_group;\r\nreport.phone_number = element.phone_number;\r\nreport.email = element.email;\r\nreport.ActualCheckIndate=element.ActualCheckIndate;\r\nreport.ActualCheckIntime=element.ActualCheckIntime;\r\nreport.Checkouttime=element.Checkouttime;\r\nreportList[index] = report;\r\n});\r\nthis.setState({ reportList: reportList });\r\nthis.setState({ formSuccess: list.data });\r\nthis.clearAll();\r\nthis.clearMessage();\r\n}\r\n});\r\n}\r\n}\r\ndeleteRecord(record) {\r\nlet user_id = record.user_id;\r\naxios.defaults.headers.common[\r\n\"Authorization\"\r\n] = `Bearer ${this.props.access_token}`;\r\naxios\r\n.post(removeBusinessFromBusinesslist, { user_id: user_id }, CONFIG)\r\n.then((res) => {\r\nlet response = res.data;\r\nif (response.status === \"1\") {\r\nlet records = this.state.records;\r\nconst deleteIndex = records.map((item) => item.user_id).indexOf(record.user_id);\r\nrecords.splice(deleteIndex, 1);\r\nthis.setState({ records });\r\nthis.setState({ tableSuccess: res.data });\r\nthis.clearMessage();\r\n}\r\n})\r\n.catch((e) => { });\r\nthis.setState({ deletePopup: false, record: null });\r\nthis.setState({\r\nconfirmedDelete: false,\r\n});\r\naxios.defaults.headers.common[\r\n\"Authorization\"\r\n] = `Bearer ${this.props.access_token}`;\r\naxios\r\n.get(getAllBusinessList, null, CONFIG)\r\n.then((list) => {\r\nconsole.log(list)\r\nthis.setState({ records: list.data.data });\r\n})\r\n.catch((e) => { console.log(e) });\r\n}\r\nrender() {\r\nlet PopupClose = () => this.setState({ addPopup: false });\r\nlet PopupConfirm = () => this.deleteRecord(this.state.record);\r\nconst {\r\nbusiness_list,\r\nhospitalreport,\r\nformSuccess,\r\ntableSuccess,\r\nerrors,\r\nloading,\r\n} = this.state;\r\nreturn (\r\n
    \r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Queue Completed 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 \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n {loading ? (\r\n \r\n ) : \"Get Report\"}\r\n \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n\r\n \r\n\r\n \r\n \r\n\r\n
    \r\n\r\n \r\n\r\n \r\n \r\n \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.hospital_name}

    \r\n

    {this.state.city}

    \r\n \r\n \r\n this.setState({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(QueueReport);","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../../assets/css/mystyle.css\";\r\nimport { GetQueueCompletedReport } from \"../../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n \r\n \r\n { header: 'Business Name', key: 'business_name' },\r\n { header: 'Doctor Name', key: 'doctor_name' },\r\n { header: 'Patient ID', key: 'Patient_id' },\r\n { header: 'Patient Name', key: 'patient_name' }, \r\n { header: 'Email', key: 'email' },\r\n { header: 'Date Of Birth', key: 'date_of_birth' },\r\n { header: 'Gender', key: 'gender' },\r\n { header: 'Blood Group', key: 'blood_group' },\r\n { header: 'Phone Number', key: 'phone_number' },\r\n { header: 'Check In Date', key: 'ActualCheckIndate' },\r\n { header: 'Check In time', key: 'ActualCheckIntime' },\r\n { header: 'Check out time', key: 'Checkouttime' },\r\n \r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'TokenVisitList';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n \r\n const newdata=props.records;\r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n newdata.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n });\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n\r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Token visit List has been downloaded successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n \r\n \r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\nimport { Popup } from \"../../components/UI/Popup\";\r\nimport { getAllBusinessList,removeBusinessFromBusinesslist,GetQueueCompletedReport,getTimeoutbycategory } from \"../../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport moment from \"moment\";\r\nimport Select from \"react-select\";\r\nimport LoadingSpinner from \"../../components/UI/LoadingSpinner\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport SideBar from \"../../components/container/SideBar\";\r\nimport Header from \"../../components/container/layout/business/Header\";\r\nimport Label from \"../../components/UI/Label\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal'\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport VisitListExport from \"./VisitListExport\";\r\nimport { Popupinfo } from \"../../components/UI/Popupinfo\";\r\nfunction mapStateToProps(state) {\r\nreturn {\r\nappdata: state.AppData,\r\nuserdata: state.AuthReducer.user,\r\naccess_token: state.AuthReducer.access_token,\r\n};\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\nreturn {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n};\r\n}\r\nconst status = [\r\n{ value: \"Pending\", label: \"Pending\" },\r\n{ value: \"Accepted\", label: \"Accepted\" },\r\n];\r\nfunction findWithAttr(array, attr, value) {\r\nfor (var i = 0; i < array.length; i += 1) {\r\nif (array[i][attr] === value) {\r\nreturn i;\r\n}\r\n}\r\nreturn -1;\r\n}\r\nclass VisitList extends Component {\r\nconstructor(props) {\r\nsuper(props);\r\n\r\nthis.idleTimer = React.createRef()\r\nconst hospitaltimeout=this.state;\r\n\r\nthis.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout:hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\ntableSuccess: {\r\nmessage: \"\",\r\nstatus: \"\",\r\n},\r\nrecords: [],\r\nactions: \"update\",\r\nloading: false,\r\nshowDeleteConfirmPopup: false,\r\nconfirmedDelete: false,\r\ndeletePopup: false,\r\nshowcomponent:false,\r\nhospitalreport:\r\n{\r\n// id:\"\",\r\n// user_id: \"\",\r\nFromdate:\"\",\r\nTodate:\"\",\r\n},\r\nerrors: {\r\nFromdate:\"\",\r\nTodate:\"\",\r\n},\r\nformSuccess: {\r\nmessage: \"\",\r\nstatus: \"\",\r\n},\r\n};\r\nthis.columns = [\r\n{ text: \"S.No\",\r\nclassName: \"s_no\",\r\nkey:\"s_no\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"business_name\",\r\ntext: \"Business Name\",\r\nclassName: \"business_name\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n/* {\r\n key: \"business_id\",\r\n text: \"Business id\",\r\n className: \"business_id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n */ {\r\nkey: \"doctor_name\",\r\ntext: \"Doctor Name\",\r\nclassName: \"doctor_name\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"Patient_id\",\r\ntext: \"Patient ID\",\r\nclassName: \"Patient_id\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"patient_name\",\r\ntext: \"Patient Name\",\r\nclassName: \"patient_name\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"email\",\r\ntext: \"Email\",\r\nclassName: \"email\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"date_of_birth\",\r\ntext: \"DOB\",\r\nclassName: \"date_of_birth\",\r\nalign: \"left\",\r\nsortable: true,\r\ncell: (record) => {\r\nreturn moment(record.date_of_birth).format(\"DD-MM-YYYY\");\r\n},\r\n},\r\n{\r\nkey: \"gender\",\r\ntext: \"Gender\",\r\nclassName: \"gender\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n/* {\r\nkey: \"marital_status\",\r\ntext: \"Marital Status\",\r\nclassName: \"marital_status\",\r\nsortable: true,\r\nalign: \"left\",\r\n}, */\r\n{\r\nkey: \"blood_group\",\r\ntext: \"Blood Group\",\r\nclassName: \"blood_group\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n{\r\nkey: \"phone_number\",\r\ntext: \"Ph No.\",\r\nclassName: \"phone_number\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n{\r\nkey: \"ActualCheckIndate\",\r\ntext: \"Check In Date\",\r\nclassName: \"ActualCheckIndate\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n{\r\nkey: \"ActualCheckIntime\",\r\ntext: \"Check In time\",\r\nclassName: \"ActualCheckIntime\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n{\r\nkey: \"Checkouttime\",\r\ntext: \"Check out time\",\r\nclassName: \"Checkouttime\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n/* {\r\nkey: \"created_time\",\r\ntext: \"Created Date\",\r\nclassName: \"created_time\",\r\nsortable: true,\r\nalign: \"left\",\r\ncell: (record) => {\r\nvar date=moment(record.created_time).format(\"DD-MMM-yyyy\");\r\n//console.log(date);\r\nif(date ===\"Invalid date\")\r\n{\r\nreturn \"\";\r\n}else\r\n{\r\nreturn moment(record.created_time).format(\"DD-MMM-yyyy\");\r\n}\r\n},\r\n},\r\n*/\r\n];\r\nthis.config = {\r\npage_size: 10,\r\nlength_menu: [10, 20, 50],\r\nbutton: {\r\nexcel: false,\r\nprint: false,\r\n},\r\n};\r\nthis.idleTimer = null\r\nthis.onAction = this._onAction.bind(this)\r\nthis.onActive = this._onActive.bind(this)\r\nthis.onIdle = this._onIdle.bind(this)\r\nthis.handleClose = this.handleClose.bind(this)\r\nthis.handleLogout = this.handleLogout.bind(this)\r\n}\r\nhandleClose() {\r\n this.setState({showModal: false})\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n //this.props.logout();\r\n this.props.history.push(\"/\");\r\n};\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n\r\n _onActive(e) {\r\n \r\n console.log('user is active', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n //this.props.logout();\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n\r\nhandleColumnChange = (record, selectedOptions) => {\r\nrecord.status = selectedOptions ? selectedOptions.value : \"Pending\";\r\nthis.UpdateColumnChange(record);\r\n};\r\nUpdateColumnChange = (data) => {\r\n// axios.defaults.headers.common[\r\n// \"Authorization\"\r\n// ] = `Bearer ${this.props.access_token}`;\r\n// let request = {\r\n// business_user_id: data.user_id, status: data.status\r\n// }\r\n// axios.post(updateDoctorStatus1, request).then((list) => {\r\nlet records = this.state.records;\r\n// // data = list.data.data;\r\n// if (list.data.status === \"1\") {\r\nvar recIndex = findWithAttr(records, \"user_id\", data.user_id);\r\nrecords[recIndex].status = data.status;\r\nthis.setState({ records, tableSuccess: \"\" });\r\n// }\r\nthis.clearMessage();\r\n// });\r\n};\r\nhandleselectChange = (selectedOptions, e) => {\r\nlet data = this.state.hospitalreport;\r\ndata[e.name] = selectedOptions;\r\nthis.setState({ hospitalreport: data });\r\n};\r\nclearMessage = () => {\r\nsetTimeout(\r\n() =>\r\nthis.setState({\r\nformSuccess: { message: \"\" },\r\ntableSuccess: { message: \"\" },\r\n}),\r\n5000\r\n);\r\n};\r\nhandleFromDOBChange = (date) => {\r\nlet Hospitalreport = this.state.hospitalreport;\r\nlet errors=this.state.errors;\r\n \r\n//Hospitalreport.Fromdate = date;\r\nconst offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n//console.log(offsetDate);\r\nHospitalreport.Fromdate = offsetDate;\r\n//errors.Fromdate=\"\";\r\nthis.setState({ hospitalreport: Hospitalreport,errors:errors,Fromdate:offsetDate });\r\n};\r\nhandleToDOBChange = (date) => {\r\nlet Hospitalreport = this.state.hospitalreport;\r\nlet errors=this.state.errors;\r\nconst offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\nHospitalreport.Todate = offsetDate;\r\n//errors.Todate=\"\";\r\nthis.setState({ hospitalreport: Hospitalreport,errors:errors,Todate:offsetDate });\r\n};\r\ncomponentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n}\r\ncancel = () => {\r\nlet data = this.state.hospitalreport;\r\ndata.id=\"\";\r\ndata.business_name = \"\";\r\ndata.Fromdate=\"\";\r\ndata.Todate=\"\";\r\n// data.records=\"\";\r\nthis.setState({ hospitalreport: data, actions: \"update\" });\r\nthis.setState({ reportList: [] ,errorMessage:\"\",errors:\"\",showcomponent:false});\r\n};\r\neditRecord = (record) => {\r\nconsole.log(record);\r\nthis.setState({ actions: \"edit\" });\r\nlet hospitaldata = this.state.hospitaldata;\r\nhospitaldata.id=record.id;\r\nhospitaldata.user_id = record.user_id;\r\nhospitaldata.business_name=record.business_name;\r\nhospitaldata.id = record.id;\r\nhospitaldata.user_id = record.user_id;\r\nhospitaldata.email=record.email;\r\nhospitaldata.phone_number = record.phone_number;\r\nhospitaldata.subscription={\r\nlabel: record.subscription,\r\nvalue: record.subscription,\r\n};\r\nhospitaldata.payment_status = {\r\nlabel: record.payment_status,\r\nvalue: record.payment_status,\r\n};\r\nif(hospitaldata.expires_at===null|| hospitaldata.expires_at===\"\")\r\n{\r\nhospitaldata.expires_at =record.expires_at;\r\n}else\r\n{\r\nhospitaldata.expires_at=moment(record.expires_at,moment.defaultFormat).toDate();\r\n}\r\nthis.handleHospitalChange(\"user_id\", hospitaldata.user_id);\r\nthis.setState({ hospitaldata: hospitaldata });\r\n};\r\nclearAll() {\r\nlet actions = this.state.actions;\r\nactions = \"update\";\r\nthis.setState({ actions });\r\nlet hospitaldata = {};\r\nhospitaldata.id=\"\";\r\nhospitaldata.business_name=\"\";\r\nhospitaldata.email = \"\";\r\nhospitaldata.phone_number = \"\";\r\nhospitaldata.subscription=\"\";\r\nhospitaldata.payment_status=\"\";\r\nhospitaldata.expires_at=\"\";\r\nthis.setState({ hospitaldata });\r\n}\r\nhandleHospitalChange(value, field) {\r\nlet fields = this.state.hospitaldata;\r\n// let errors = this.state.educationerror;\r\nconsole.log(field);\r\nif (value === \"email\") {\r\nfields.email = field.target.value;\r\n// errors[i].register_id = '';\r\n}else if (value === \"id\") {\r\nfields.id = field;\r\n// errors[i].education = '';\r\n} \r\nelse if (value === \"business_name\") {\r\nfields.business_name = field.target.value;\r\n// errors[i].education = '';\r\n} \r\nelse if (value === \"phone_number\") {\r\nfields.phone_number = field.target.value;\r\n// errors[i].education = '';\r\n} \r\nelse if (value === \"subscription\") {\r\nfields.subscription = field.target.value;\r\n// errors[i].education = '';\r\n} \r\nelse if (value === \"expires_at\") {\r\nfields.expires_at = field.target.value;\r\n// errors[i].education = '';\r\n}else if (value === \"payment_status\") {\r\nfields.payment_status = field.target.value;\r\n// errors[i].education = '';\r\n} \r\nthis.setState({\r\nhospitaldata: fields,\r\n});\r\n}\r\ngetHospitalReport=(e)=> {\r\n// let user_id = record.user_id;\r\nlet { hospitalreport, errors } = this.state;\r\nhospitalreport.type = \"hospitalreport\";\r\nerrors = Validation(hospitalreport, errors);\r\nthis.setState({ errors: errors });\r\nif (errors.formIsValid) {\r\nlet data = this.state.hospitalreport;\r\n// let data = {};\r\ndata.business_id=this.props.userdata.id;\r\n// console.log(moment.utc(hospitalreport.Fromdate).format('MM/DD/YYYY'));\r\ndata.Fromdate=hospitalreport.Fromdate;\r\ndata.Todate=hospitalreport.Todate;\r\naxios.post(GetQueueCompletedReport, data, CONFIG).then((list) => {\r\nconsole.log(data);\r\nconsole.log(list.data);\r\nlet response=list.data;\r\nlet records= list.data.data;\r\nif (records.length === 0) {\r\nthis.setState({errorMessage:\"No Records Found\", reportList: [] });\r\nreturn;\r\n}\r\nif (response.status === \"1\") {\r\nconsole.log(list.data.data);\r\nthis.setState({ records: list.data.data,showcomponent:true });\r\nlet records=list.data.data;\r\nlet reportList = [];\r\nrecords.forEach((element, index) => {\r\nlet report = {};\r\nreport.s_no = index+1;\r\nreport.business_name=element.business_name;\r\nreport.business_id=element.business_id;\r\nreport.doctor_name=element.doctor_name;\r\nreport.Patient_id = element.Patient_id;\r\nreport.patient_name = element.patient_name;\r\nreport.date_of_birth = element.date_of_birth;\r\nreport.gender = element.gender;\r\nreport.blood_group = element.blood_group;\r\nreport.phone_number = element.phone_number;\r\nreport.email = element.email;\r\nreport.ActualCheckIndate=element.ActualCheckIndate;\r\nreport.ActualCheckIntime=element.ActualCheckIntime;\r\nreport.Checkouttime=element.Checkouttime;\r\nreportList[index] = report;\r\n});\r\nthis.setState({ reportList: reportList,errorMessage:\"\" });\r\nthis.setState({ formSuccess: list.data });\r\ntoast.success(\"Your Token visit reports have been listed successfully.\",{\r\n className:\"toast-success\"\r\n });\r\nthis.clearAll();\r\nthis.clearMessage();\r\n}\r\n});\r\n}\r\n}\r\ndeleteRecord(record) {\r\nlet user_id = record.user_id;\r\naxios.defaults.headers.common[\r\n\"Authorization\"\r\n] = `Bearer ${this.props.access_token}`;\r\naxios\r\n.post(removeBusinessFromBusinesslist, { user_id: user_id }, CONFIG)\r\n.then((res) => {\r\nlet response = res.data;\r\nif (response.status === \"1\") {\r\nlet records = this.state.records;\r\nconst deleteIndex = records.map((item) => item.user_id).indexOf(record.user_id);\r\nrecords.splice(deleteIndex, 1);\r\nthis.setState({ records });\r\nthis.setState({ tableSuccess: res.data });\r\nthis.clearMessage();\r\n}\r\n})\r\n.catch((e) => { });\r\nthis.setState({ deletePopup: false, record: null });\r\nthis.setState({\r\nconfirmedDelete: false,\r\n});\r\naxios.defaults.headers.common[\r\n\"Authorization\"\r\n] = `Bearer ${this.props.access_token}`;\r\naxios\r\n.get(getAllBusinessList, null, CONFIG)\r\n.then((list) => {\r\nconsole.log(list)\r\nthis.setState({ records: list.data.data });\r\n})\r\n.catch((e) => { console.log(e) });\r\n}\r\nrender() {\r\nlet PopupClose = () => this.setState({ addPopup: false });\r\nlet PopupConfirm = () => this.deleteRecord(this.state.record);\r\nlet PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\nconst {\r\nbusiness_list,\r\nhospitalreport,\r\nformSuccess,\r\ntableSuccess,\r\nerrors,\r\nloading,\r\nerrorMessage,\r\nhospitaltimeout\r\n} = this.state;\r\nreturn (\r\n
    \r\n\r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n \r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Hospital Token Visit List

    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Get Report\"\r\n ) : (\r\n \"Get Report\"\r\n )}\r\n \r\n      \r\n \r\n Cancel\r\n \r\n {this.state.showcomponent ?
    :\"\"}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    )}\r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n);\r\n}\r\n}\r\nexport default withRouter(connect(\r\nmapStateToProps,\r\n)(VisitList));","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { getAllBusinessList,removeBusinessFromBusinesslist,GetAppointmentCompletedReport } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport moment from \"moment\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport Select from \"react-select\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport Validation from \"../actions/Validation\";\r\nimport DatePicker from \"react-date-picker\";\r\nfunction mapStateToProps(state) {\r\nreturn {\r\nappdata: state.AppData,\r\nuserdata: state.AuthReducer.user,\r\naccess_token: state.AuthReducer.access_token,\r\n};\r\n}\r\nfunction findWithAttr(array, attr, value) {\r\nfor (var i = 0; i < array.length; i += 1) {\r\nif (array[i][attr] === value) {\r\nreturn i;\r\n}\r\n}\r\nreturn -1;\r\n}\r\nclass AppointmentCompletedReport extends Component {\r\nconstructor(props) {\r\nsuper(props);\r\nthis.state = {\r\ntableSuccess: {\r\nmessage: \"\",\r\nstatus: \"\",\r\n},\r\nrecords: [],\r\nactions: \"update\",\r\nloading: false,\r\nshowDeleteConfirmPopup: false,\r\nconfirmedDelete: false,\r\ndeletePopup: false,\r\nhospitalreport:\r\n{\r\n// id:\"\",\r\n// user_id: \"\",\r\nbusiness_name:\"\",\r\nFromdate:\"\",\r\nTodate:\"\",\r\n},\r\nerrors: {\r\nbusiness_name:\"\",\r\nFromdate:\"\",\r\nTodate:\"\",\r\n},\r\nformSuccess: {\r\nmessage: \"\",\r\nstatus: \"\",\r\n},\r\n};\r\nthis.columns = [\r\n{ text: \"S.No\",\r\nclassName: \"s_no\",\r\nkey:\"s_no\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"business_name\",\r\ntext: \"Business Name\",\r\nclassName: \"business_name\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"doctor_name\",\r\ntext: \"Doctor Name\",\r\nclassName: \"doctor_name\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"Patient_id\",\r\ntext: \"Patient ID\",\r\nclassName: \"Patient_id\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"patient_name\",\r\ntext: \"Patient Name\",\r\nclassName: \"patient_name\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"email\",\r\ntext: \"Email\",\r\nclassName: \"email\",\r\nalign: \"left\",\r\nsortable: true,\r\n},\r\n{\r\nkey: \"date_of_birth\",\r\ntext: \"Date Of Birth\",\r\nclassName: \"date_of_birth\",\r\nalign: \"left\",\r\nsortable: true,\r\ncell: (record) => {\r\nreturn moment(record.date_of_birth).format(\"DD-MM-YYYY\");\r\n},\r\n},\r\n{\r\nkey: \"gender\",\r\ntext: \"Gender\",\r\nclassName: \"gender\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n/* {\r\nkey: \"marital_status\",\r\ntext: \"Marital Status\",\r\nclassName: \"marital_status\",\r\nsortable: true,\r\nalign: \"left\",\r\n}, */\r\n{\r\nkey: \"blood_group\",\r\ntext: \"Blood Group\",\r\nclassName: \"blood_group\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n{\r\nkey: \"phone_number\",\r\ntext: \"Phone Number\",\r\nclassName: \"phone_number\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n{\r\nkey: \"ApptDate\",\r\ntext: \"Appointment Date\",\r\nclassName: \"ApptDate\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n{\r\nkey: \"ApptTime\",\r\ntext: \"Appt time\",\r\nclassName: \"ApptTime\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n{\r\nkey: \"ApptEndTime\",\r\ntext: \"Check out time\",\r\nclassName: \"ApptEndTime\",\r\nsortable: true,\r\nalign: \"left\",\r\n},\r\n];\r\nthis.config = {\r\npage_size: 10,\r\nlength_menu: [10, 20, 50],\r\nbutton: {\r\nexcel: false,\r\nprint: false,\r\n},\r\n};\r\n}\r\nhandleColumnChange = (record, selectedOptions) => {\r\nrecord.status = selectedOptions ? selectedOptions.value : \"Pending\";\r\nthis.UpdateColumnChange(record);\r\n};\r\nUpdateColumnChange = (data) => {\r\n// axios.defaults.headers.common[\r\n// \"Authorization\"\r\n// ] = `Bearer ${this.props.access_token}`;\r\n// let request = {\r\n// business_user_id: data.user_id, status: data.status\r\n// }\r\n// axios.post(updateDoctorStatus1, request).then((list) => {\r\nlet records = this.state.records;\r\n// // data = list.data.data;\r\n// if (list.data.status === \"1\") {\r\nvar recIndex = findWithAttr(records, \"user_id\", data.user_id);\r\nrecords[recIndex].status = data.status;\r\nthis.setState({ records, tableSuccess: \"\" });\r\n// }\r\nthis.clearMessage();\r\n// });\r\n};\r\nhandleselectChange = (selectedOptions, e) => {\r\nlet data = this.state.hospitalreport;\r\ndata[e.name] = selectedOptions;\r\nthis.setState({ hospitalreport: data });\r\n};\r\nclearMessage = () => {\r\nsetTimeout(\r\n() =>\r\nthis.setState({\r\nformSuccess: { message: \"\" },\r\ntableSuccess: { message: \"\" },\r\n}),\r\n5000\r\n);\r\n};\r\nhandleFromDOBChange = (date) => {\r\nlet Hospitalreport = this.state.hospitalreport;\r\nHospitalreport.Fromdate = date;\r\nthis.setState({ hospitalreport: Hospitalreport });\r\n};\r\nhandleToDOBChange = (date) => {\r\nlet Hospitalreport = this.state.hospitalreport;\r\nHospitalreport.Todate = date;\r\nthis.setState({ hospitalreport: Hospitalreport });\r\n};\r\ncomponentDidMount = () => {\r\naxios.defaults.headers.common[\r\n\"Authorization\"\r\n] = `Bearer ${this.props.access_token}`;\r\naxios\r\n.get(getAllBusinessList, null, CONFIG)\r\n.then((list) => {\r\nconsole.log(list)\r\nlet business = [];\r\nlet userlist = list.data.data;\r\nuserlist.forEach((element, index) => {\r\nbusiness.push({ label: element.business_name, value: element.user_id })\r\n});\r\nthis.setState({ business_list: business });\r\n})\r\n.catch((e) => { console.log(e) });\r\n}\r\ncancel = () => {\r\nlet data = this.state.hospitalreport;\r\ndata.id=\"\";\r\ndata.business_name = \"\";\r\ndata.Fromdate=\"\";\r\ndata.Todate=\"\";\r\nthis.setState({ hospitalreport: data, actions: \"update\" });\r\nthis.setState({ reportList: [] });\r\n};\r\nPrintpage=()=>\r\n{ \r\nwindow.print();\r\n}\r\neditRecord = (record) => {\r\nconsole.log(record);\r\nthis.setState({ actions: \"edit\" });\r\nlet hospitaldata = this.state.hospitaldata;\r\nhospitaldata.id=record.id;\r\nhospitaldata.user_id = record.user_id;\r\nhospitaldata.business_name=record.business_name;\r\nhospitaldata.id = record.id;\r\nhospitaldata.user_id = record.user_id;\r\nhospitaldata.email=record.email;\r\nhospitaldata.phone_number = record.phone_number;\r\nhospitaldata.subscription={\r\nlabel: record.subscription,\r\nvalue: record.subscription,\r\n};\r\nhospitaldata.payment_status = {\r\nlabel: record.payment_status,\r\nvalue: record.payment_status,\r\n};\r\nif(hospitaldata.expires_at===null|| hospitaldata.expires_at===\"\")\r\n{\r\nhospitaldata.expires_at =record.expires_at;\r\n}else\r\n{\r\nhospitaldata.expires_at=moment(record.expires_at,moment.defaultFormat).toDate();\r\n}\r\nthis.handleHospitalChange(\"user_id\", hospitaldata.user_id);\r\nthis.setState({ hospitaldata: hospitaldata });\r\n};\r\nclearAll() {\r\nlet actions = this.state.actions;\r\nactions = \"update\";\r\nthis.setState({ actions });\r\nlet hospitaldata = {};\r\nhospitaldata.id=\"\";\r\nhospitaldata.business_name=\"\";\r\nhospitaldata.email = \"\";\r\nhospitaldata.phone_number = \"\";\r\nhospitaldata.subscription=\"\";\r\nhospitaldata.payment_status=\"\";\r\nhospitaldata.expires_at=\"\";\r\nthis.setState({ hospitaldata });\r\n}\r\nhandleHospitalChange(value, field) {\r\nlet fields = this.state.hospitaldata;\r\n// let errors = this.state.educationerror;\r\nconsole.log(field);\r\nif (value === \"email\") {\r\nfields.email = field.target.value;\r\n// errors[i].register_id = '';\r\n}else if (value === \"id\") {\r\nfields.id = field;\r\n// errors[i].education = '';\r\n} \r\nelse if (value === \"business_name\") {\r\nfields.business_name = field.target.value;\r\n// errors[i].education = '';\r\n} \r\nelse if (value === \"phone_number\") {\r\nfields.phone_number = field.target.value;\r\n// errors[i].education = '';\r\n} \r\nelse if (value === \"subscription\") {\r\nfields.subscription = field.target.value;\r\n// errors[i].education = '';\r\n} \r\nelse if (value === \"expires_at\") {\r\nfields.expires_at = field.target.value;\r\n// errors[i].education = '';\r\n}else if (value === \"payment_status\") {\r\nfields.payment_status = field.target.value;\r\n// errors[i].education = '';\r\n} \r\nthis.setState({\r\nhospitaldata: fields,\r\n});\r\n}\r\ngetHospitalReport=(e)=> {\r\n// let user_id = record.user_id;\r\nlet { hospitalreport, errors } = this.state;\r\n// hospitaldata.type = \"hospitallist\";\r\nerrors = Validation(hospitalreport, errors);\r\nthis.setState({ errors: errors });\r\nif (errors.formIsValid) {\r\nlet data = this.state.hospitalreport;\r\n// let data = {};\r\ndata.business_id=hospitalreport.business_name.value;\r\n//console.log(moment.utc(hospitalreport.Fromdate).format('MM/DD/YYYY'));\r\ndata.Fromdate=hospitalreport.Fromdate;\r\ndata.Todate=hospitalreport.Todate;\r\naxios.post(GetAppointmentCompletedReport, data, CONFIG).then((list) => {\r\nconsole.log(data);\r\nconsole.log(list.data);\r\nlet response=list.data;\r\nif (response.status === \"1\") {\r\nconsole.log(list.data.data);\r\nthis.setState({ records: list.data.data });\r\nlet records=list.data.data;\r\nlet reportList = [];\r\nrecords.forEach((element, index) => {\r\nlet report = {};\r\nreport.s_no = index+1;\r\nreport.business_name=element.business_name;\r\nreport.doctor_name=element.doctor_name;\r\nreport.Patient_id = element.Patient_id;\r\nreport.patient_name = element.patient_name;\r\nreport.date_of_birth = element.date_of_birth;\r\nreport.gender = element.gender;\r\nreport.blood_group = element.blood_group;\r\nreport.phone_number = element.phone_number;\r\nreport.email = element.email;\r\nreport.ApptDate=element.ApptDate;\r\nreport.ApptTime=element.ApptTime;\r\nreport.ApptEndTime=element.ApptEndTime;\r\nreportList[index] = report;\r\n});\r\nthis.setState({ reportList: reportList });\r\nthis.setState({ formSuccess: list.data });\r\nthis.clearAll();\r\nthis.clearMessage();\r\n}\r\n});\r\n}\r\n}\r\ndeleteRecord(record) {\r\nlet user_id = record.user_id;\r\naxios.defaults.headers.common[\r\n\"Authorization\"\r\n] = `Bearer ${this.props.access_token}`;\r\naxios\r\n.post(removeBusinessFromBusinesslist, { user_id: user_id }, CONFIG)\r\n.then((res) => {\r\nlet response = res.data;\r\nif (response.status === \"1\") {\r\nlet records = this.state.records;\r\nconst deleteIndex = records.map((item) => item.user_id).indexOf(record.user_id);\r\nrecords.splice(deleteIndex, 1);\r\nthis.setState({ records });\r\nthis.setState({ tableSuccess: res.data });\r\nthis.clearMessage();\r\n}\r\n})\r\n.catch((e) => { });\r\nthis.setState({ deletePopup: false, record: null });\r\nthis.setState({\r\nconfirmedDelete: false,\r\n});\r\naxios.defaults.headers.common[\r\n\"Authorization\"\r\n] = `Bearer ${this.props.access_token}`;\r\naxios\r\n.get(getAllBusinessList, null, CONFIG)\r\n.then((list) => {\r\nconsole.log(list)\r\nthis.setState({ records: list.data.data });\r\n})\r\n.catch((e) => { console.log(e) });\r\n}\r\nrender() {\r\nlet PopupClose = () => this.setState({ addPopup: false });\r\nlet PopupConfirm = () => this.deleteRecord(this.state.record);\r\nconst {\r\nbusiness_list,\r\nhospitalreport,\r\nformSuccess,\r\ntableSuccess,\r\nerrors,\r\nloading,\r\n} = this.state;\r\nreturn (\r\n
    \r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Appointment Completed 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 \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n {loading ? (\r\n \r\n ) : \"Get Report\"}\r\n \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n\r\n \r\n\r\n \r\n \r\n\r\n
    \r\n\r\n \r\n\r\n \r\n \r\n \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.hospital_name}

    \r\n

    {this.state.city}

    \r\n \r\n \r\n this.setState({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(AppointmentReport);","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n queueAssignmentList,\r\n ApptassignmentListbydoctor,\r\n getMasterPharmacy,\r\n consultDoctor,\r\n updateQueueStatus,\r\n getDocByBusiness,\r\n getTimeoutbycategory,\r\n sendsms,\r\n sendemail,\r\n updateclientappointmentstatus\r\n} from \"../config/url.json\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport { ExpirePopup } from \"../components/UI/ExpirePopup\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport moment from \"moment\";\r\nimport Select from \"react-select\";\r\nimport { DAY_TYPES } from \"../constants/config/data\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { getDateISOFormat } from \"../constants/globalLevelFunctions\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity,\r\n business_short_detail: state.SearchReducer.business_short_detail\r\n\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nclass ApptCheckout extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout=this.state;\r\n\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout:hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n showexpirePopup: this.props.validity,\r\n doc_list: [],\r\n selected_doctor: \"\",\r\n doctor_appointment: [],\r\n queue: {\r\n id: \"\",\r\n client_id: \"\",\r\n business_id: \"\",\r\n first_name: \"\",\r\n last_name: \"\",\r\n age: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n marital_status: \"\",\r\n phone_number: \"\",\r\n status: \"cancelled\",\r\n patient_name: \"\",\r\n actual_checkin_time: \"\",\r\n expected_time: \"\",\r\n waitTime: \"\",\r\n },\r\n successMessage: {\r\n message: \"\",\r\n status: \"1\",\r\n },\r\n errorMessage:\"\",\r\n errors:{\r\n pharmacy_details: \"\",\r\n follow_up_details: \"\",\r\n consultation_fee: \"\",\r\n },\r\n actionFormData: {\r\n registrationId: \"\",\r\n pharmacy_details: \"\",\r\n follow_up_details: \"\",\r\n consultation_fee: \"\",\r\n medicine_description:\"\",\r\n selectedDaysType: \"\",\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n\r\n },\r\n cancelModel: false,\r\n queueList: [],\r\n pharmacy_array: [],\r\n selectedRecord: \"\",\r\n cancelSelRecord: {},\r\n admin_working_hours_detail: {\r\n doctor_arrived: \"Yes\",\r\n hospital_opened: \"Yes\",\r\n hospital_opened_data: \"No\",\r\n doctor_arrived_data: \"No\",\r\n schedule_type: \"\",\r\n cycle_time: \"\",\r\n cycle_time_break: { label: \"min\", value: \"min\" },\r\n reschedule_time: \"\",\r\n reschedule_time_break: { label: \"min\", value: \"min\" },\r\n hospital_open_date: moment().format(\"YYYY-MM-DD\"),\r\n hospital_open_time: moment().format(\"HH:mm\"),\r\n doctor_arrival_date: moment().format(\"YYYY-MM-DD\"),\r\n doctor_arrival_time: moment().format(\"HH:mm\"),\r\n },\r\n };\r\n this.columns = [\r\n {\r\n // key: \"queue_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n this.editRecord(record)}\r\n className=\"tableAnchorTag\"\r\n >\r\n {record.s_no}\r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"Patient_id\",\r\n text: \"Patient ID\",\r\n className: \"Patient_id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"patient_name\",\r\n text: \"Patient Name\",\r\n className: \"patient_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n\r\n {\r\n key: \"dob\",\r\n text: \"Date of Birth\",\r\n className: \"date_of_birth\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return moment(record.dob).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n key: \"blood_group\",\r\n text: \"Blood Group\",\r\n className: \"blood_group\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"phone_number\",\r\n text: \"Mobile Number\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return record.phone_number ? record.phone_number:record.parent_phone_number ;\r\n },\r\n },\r\n {\r\n key: \"ApptDate\",\r\n text: \"Appointment Date\",\r\n className: \"ApptDate\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"app_time\",\r\n text: \"Appt Time\",\r\n className: \"ApptTime\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"wait_time\",\r\n text: \"Appt End Time\",\r\n className: \"ApptEndTime\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"status\",\r\n text: \"Status\",\r\n className: \"appt_status\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"payment_status\",\r\n text: \"Payment Status\",\r\n className: \"payment_status\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n /* {\r\n key: \"edit\",\r\n text: \"Edit\",\r\n className: \"edit\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n\r\n this.editRecord(record)}\r\n >\r\n \r\n \r\n\r\n \r\n );\r\n },\r\n },\r\n */ {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n\r\n {record.isprescription ? (\r\n this.editRecord(record)}\r\n >\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {record.isfee ? (\r\n this.editRecord(record)}\r\n >\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {record.isfollowup ? (\r\n this.editRecord(record)}\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.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n }; */\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n \r\n }\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n\r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n};\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n console.log('user is active', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n \r\n\r\n cancelRecord(record) {\r\n let selrecord = this.state.selectedRecord;\r\n\r\n if (selrecord) {\r\n this.setState(\r\n {\r\n cancelSelRecord: selrecord,\r\n },\r\n this.setState({\r\n cancelModel: true,\r\n })\r\n );\r\n }\r\n\r\n }\r\n\r\n editRecord(record) {\r\n\r\n let actionFormData = {\r\n registrationId: \"\",\r\n pharmacy_details: \"\",\r\n follow_up_details: \"\",\r\n medicine_description:\"\",\r\n consultation_fee: \"\",\r\n selectedDaysType: \"\",\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n\r\n };\r\n let selectedRecord = this.state.selectedRecord;\r\n selectedRecord = record;\r\n\r\n actionFormData.registrationId = record.Patient_id;\r\n actionFormData.email = record.email;\r\n actionFormData.phone_number = record.phone_number;\r\n actionFormData.phone_code = record.phone_code;\r\n actionFormData.first_name = record.first_name;\r\n actionFormData.medicine_description = record.medicine_description;\r\n actionFormData.consultation_fee = record.consultation_fee\r\n ? record.consultation_fee\r\n : \"\";\r\n actionFormData.pharmacy_details = record.pharmacy_details\r\n ? record.pharmacy_details\r\n : \"\";\r\n\r\n if (record.follow_up_details) {\r\n let temp_array = record.follow_up_details;\r\n actionFormData.follow_up_details = temp_array;\r\n actionFormData.selectedDaysType = {\r\n label: temp_array,\r\n value: temp_array,\r\n };\r\n }\r\n\r\n \r\n \r\n this.setState({ actionFormData: actionFormData });\r\n this.setState({ selectedRecord: selectedRecord });\r\n \r\n\r\n \r\n }\r\n\r\n conformCancelAppointment = () => {\r\n let record = this.state.cancelSelRecord;\r\n let data = {};\r\n data.n_business_id = this.props.userdata.id;\r\n data.n_business_user_id = \"\";\r\n data.n_schedule_day_id = record.schedule_day_id;\r\n data.n_q_id = record.q_id;\r\n data.n_status = \"Cancelled\";\r\n data.n_preference = record.preference;\r\n data.n_savefor = \"C\";\r\n console.log(data);\r\n axios\r\n .post(updateQueueStatus, data)\r\n .then((res) => {\r\n console.log(res);\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n queueAssignmentList,\r\n { business_id: this.props.userdata.id },\r\n CONFIG\r\n )\r\n .then((res) => {\r\n\r\n let resdata = res.data.data;\r\n let queueList = [];\r\n resdata.forEach((element, index) => {\r\n let queue = {};\r\n queue.queue_no = element.preference;\r\n queue.patient_id = element.Patient_id;\r\n queue.patient_name = element.Patientfirstname + \" \" + element.Patientlastname;\r\n queue.dob = element.date_of_birth;\r\n queue.gender = element.gender;\r\n queue.blood_group = element.blood_group;\r\n queue.phone_number = element.phone_number;\r\n queue.app_time = element.ApptTime;\r\n queue.wait_time = element.ApptEndTime;\r\n queue.status = element.appt_status;\r\n queue.checkin_id = element.checkin_id;\r\n queue.isfee = element.fee;\r\n queue.isprescription = element.prescription;\r\n queue.isfollowup = element.followup;\r\n queue.client_id = element.client_id;\r\n queue.id = element.id;\r\n queue.q_id = element.q_id;\r\n queue.schedule_day_id = element.schedule_day_id;\r\n queue.pharmacy_details = element.pharmacy_details\r\n ? element.pharmacy_details\r\n : \"\";\r\n queue.consultation_fee = element.consultation_fee\r\n ? element.consultation_fee\r\n : \"\";\r\n queue.follow_up_details = element.follow_up_details\r\n ? element.follow_up_details\r\n : \"\";\r\n queueList[index] = queue;\r\n });\r\n\r\n // let clientmedicinehistory = {};\r\n this.setState({ queueList: queueList });\r\n })\r\n .catch((e) => { });\r\n this.closePopup();\r\n })\r\n .catch((e) => { });\r\n\r\n };\r\n\r\n clearActionForm = () => {\r\n // e.preventDefault();\r\n\r\n let actionFormData = this.state.actionFormData;\r\n actionFormData.registrationId = \"\";\r\n actionFormData.pharmacy_details = {};\r\n actionFormData.follow_up_details = \"\";\r\n actionFormData.consultation_fee = \"\";\r\n actionFormData.medicine_description = \"\";\r\n actionFormData.selectedDaysType = \"\";\r\n this.setState({ actionFormData: actionFormData });\r\n this.setState({ selectedRecord: \"\" });\r\n\r\n };\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n successMessage: { message: \"\" },\r\n \r\n }),\r\n 5000\r\n );\r\n };\r\n performAction = (e) => {\r\n\r\n const postData = this.state.selectedRecord;\r\n\r\n if (\"\" === postData || null === postData) {\r\n alert(\"Select any one of the record fields.\");\r\n } else {\r\n postData.business_id = this.props.userdata.id;\r\n postData.pharmacy_details = this.state.actionFormData.pharmacy_details;\r\n postData.medicine_description = this.state.actionFormData.medicine_description;\r\n postData.follow_up_details =\r\n this.state.actionFormData.follow_up_details;\r\n postData.consultation_fee = this.state.actionFormData.consultation_fee;\r\n postData.id = postData.checkin_id;\r\n if (\"complete\" === e.target.id) {\r\n // postData.status = \"complete\";\r\n }\r\n postData.actionType = e.target.id;\r\n let errors = this.state.errors;\r\n errors.pharmacy_details = \"\";\r\n errors.follow_up_details = \"\";\r\n errors.consultation_fee = \"\";\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios\r\n .post(consultDoctor, postData, CONFIG)\r\n .then((res) => {\r\n \r\n const result = res.data;\r\n let successMessage = this.state.successMessage;\r\n if (result.status === \"1\") \r\n // this.setState({ successMessage: result });\r\n if (\"print\" === postData.actionType) {\r\n if(postData.pharmacy_details === \"\" || !postData.pharmacy_details)\r\n {\r\n errors.pharmacy_details = \"Please choose pharmacy\";\r\n this.setState({errors})\r\n return false; \r\n }\r\n else \r\n this.props.history.push(\r\n \"/print_apptprescription/\" + postData.id + \"/business\"\r\n );\r\n } else if (\"complete\" === postData.actionType) {\r\n console.log(postData);\r\n if(postData.consultation_fee === \"\")\r\n {\r\n \r\n\r\n errors.consultation_fee = \"The Consultation fees field is required.\";\r\n this.setState({errors}); return false;\r\n\r\n } if(this.state.selectedRecord.payment_status==\"Completed\")\r\n {\r\n toast.success(\"Payment already Paid.\",{\r\n className:\"toast-success\"\r\n });\r\n this.props.history.push({\r\n pathname: \"/add_apptprescription/\" + postData.checkin_id,\r\n data: {\r\n business_id: this.props.userdata.id,\r\n completion_data: postData,\r\n doctor_name:this.state.doctor_name,\r\n }\r\n });\r\n } else {\r\n \r\n this.props.history.push({\r\n pathname: \"/add_apptprescription/\" + postData.checkin_id,\r\n data: {\r\n business_id: this.props.userdata.id,\r\n completion_data: postData,\r\n doctor_name:this.state.doctor_name,\r\n }\r\n });\r\n }\r\n \r\n } \r\n else if(\"setupReminder\" === postData.actionType){\r\n console.log(postData)\r\n if(postData.follow_up_details === \"\")\r\n {\r\n errors.follow_up_details = \"Please enter followup days\";\r\n this.setState({errors}); return false;\r\n } else{\r\n \r\n let reqdata = {\r\n \"to\" : postData.email,\r\n \"subject\" : \"Remainder Email\",\r\n \"mailHeader\" : \"Hi \"+postData.patient_name,\r\n \"message\": \"You have an appointment remainder \"+postData.follow_up_details+\" days from today.\"\r\n }\r\n // console.log(postData); return false;\r\n let notificationdata = {\r\n \"message_code\": \"SEND_OTP\",\r\n \"language_code\": \"en\",\r\n \"data\": {\r\n \"user_name\": postData.patient_name,\r\n \"otp\": reqdata.message\r\n \r\n },\r\n \"receiver\": {\r\n \"phoneNumber\": postData.phone_code.concat(postData.phone_number)\r\n }\r\n };\r\n console.log(notificationdata)\r\n console.log(reqdata)\r\n if(postData.phone_number){\r\n axios\r\n .post(sendsms, notificationdata)\r\n .then((result) => {\r\n console.log(result)\r\n // successMessage.message=\"Remainder sent successfully to your registered mobile number.\";\r\n // successMessage.status=\"1\";\r\n toast.success(\"Remainder sent successfully to your registered mobile number.\",{\r\n className:\"toast-success\"\r\n });\r\n \r\n }).catch((err) => {\r\n console.log(err);\r\n successMessage = {message: err,status:\"0\"};\r\n })\r\n // this.setState({ successMessage: successMessage });\r\n \r\n }\r\n if(postData.email){\r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data;\r\n // successMessage = {message: \"Remainder send successfully to your registered email id\",status:\"1\"};\r\n // successMessage.message=\"Remainder sent successfully to your registered email Id.\";\r\n // successMessage.status=\"1\";\r\n toast.success(\"Remainder sent successfully to your registered email Id.\",{\r\n className:\"toast-success\"\r\n });\r\n }).catch((err) => {\r\n console.log(err);\r\n successMessage = {message: err,status:\"0\"};\r\n })\r\n // this.setState({ successMessage: successMessage });\r\n \r\n }\r\n \r\n \r\n \r\n\r\n this.clearMessage();\r\n }\r\n } else \r\n {\r\n this.setState({ errorMessage: result.message || \"Failed to submit prescription details\", });\r\n toast.error(\"Failed to submit prescription details.\",{\r\n className:\"toast-error\"\r\n });\r\n }\r\n\r\n this.setState({ loading: false });\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n this.setState({\r\n loading: false,\r\n errorMessage: \"Failed to submit consultant details\",\r\n });\r\n });\r\n });\r\n }\r\n };\r\n\r\n\r\n sendPrescriptionmail = (data) => {\r\n console.log(data);\r\n if((data.medicine_description !== \"\" && data.medicine_description !== null) && data.pharmacy_details !== \"\"){\r\n let selectedRecord = this.state.selectedRecord;\r\n // let style = \"table,th,td{border: 1px solid #dfdfdf;}\";\r\n let reqdata = { \r\n \"to\" : data.email,\r\n \"subject\" : \"Prescription for \"+selectedRecord.patient_name,\r\n \"mailHeader\" : \"Prescription for \"+selectedRecord.patient_name,\r\n \"message\": '
    Registration. No.'+data.registrationId+'
    Patient Name'+selectedRecord.patient_name+'
    Hospital Address'+ this.props.business_short_detail.business_name + \", \" + this.props.business_short_detail.address1\r\n + \", \" + this.props.business_short_detail.city\r\n + \", \" + this.props.business_short_detail.state\r\n + \" - \" + this.props.business_short_detail.zip_code+'
    ',\r\n }\r\n \r\n data.medicine_description.forEach((element, index) => {\r\n reqdata.message += '';\r\n });\r\n reqdata.message += '
    Medicine DescriptionDaysBefore FoodMorningNoonNightTotal
    '+element.medicine_description+''+element.days+''+element.before_food+''+element.morning+''+element.noon+''+element.night+''+element.total+'
    ';\r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data;\r\n console.log(resdata);\r\n \r\n }).catch((err) => {\r\n console.log(err);\r\n // successMessage = {message: err,status:\"0\"};\r\n })\r\n }\r\n \r\n\r\n }\r\n\r\n\r\n\r\n completeAction = (e) => {\r\n const postData = this.state.selectedRecord;\r\n //console.log(postData);\r\n this.sendPrescriptionmail(this.state.actionFormData); //return false;\r\n this.conformCompleteAction();\r\n \r\n\r\n if (\"\" === postData || null === postData) {\r\n alert(\"Select any one of the record fields.\");\r\n } else {\r\n \r\n postData.business_id = this.props.userdata.id;\r\n postData.pharmacy_details = this.state.actionFormData.pharmacy_details;\r\n\r\n postData.follow_up_details =\r\n this.state.actionFormData.follow_up_details;\r\n postData.consultation_fee = this.state.actionFormData.consultation_fee;\r\n postData.id = postData.checkin_id;\r\n postData.client_id=postData.client_id;\r\n if (\"finish\" === e.target.id) {\r\n postData.status = \"Completed\";\r\n }\r\n postData.actionType = e.target.id;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios\r\n .post(consultDoctor, postData, CONFIG)\r\n .then((res) => {\r\n this.setState({ loading: false });\r\n const result = res.data;\r\n if (result.status === \"1\") {\r\n console.log(result.message);\r\n let successMessage = {\r\n message: \"The Patient has completed the transaction successfully.\",\r\n status: \"1\",\r\n };\r\n toast.success(\"The Patient has completed the transaction successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n // this.setState({ successMessage });\r\n this.clearActionForm();\r\n this.clearMessage();\r\n // if (\"print\" === postData.actionType) {\r\n // this.props.history.push(\r\n // \"/print_prescription/\" + postData.id + \"/business\"\r\n // );\r\n // } else\r\n if (\"finish\" === postData.actionType) {\r\n // console.log(postData);\r\n // this.props.history.push({\r\n // pathname: \"/add_prescription\",\r\n // data: {\r\n // business_id: this.props.userdata.id,\r\n // completion_data: postData,\r\n // \r\n }\r\n // });\r\n \r\n } else {\r\n this.setState({\r\n errorMessage:\r\n result.message || \"Failed to complete the action\",\r\n });\r\n toast.error(\"Failed to complete the action.\",{\r\n className:\"toast-error\"\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n this.setState({\r\n loading: false,\r\n errorMessage: \"Failed to complete the action\",\r\n });\r\n });\r\n });\r\n }\r\n };\r\n conformCompleteAction = () => {\r\n\r\n let record = this.state.selectedRecord;\r\n let data = {};\r\n let reqdata = {\r\n \r\n \"appt_status\":\"Completed\",\r\n \"payment_status\": \"Completed\",\r\n \r\n \"client_appt_id\": record.q_id\r\n };\r\n \r\n data.appt_status = \"Completed\";\r\n \r\n console.log(data);\r\n axios\r\n .post(updateclientappointmentstatus, reqdata)\r\n .then((res) => {\r\n console.log(res);\r\n\r\n this.getApptDatabyselecteddoctor(this.state.selected_doctor.value)\r\n this.closePopup();\r\n })\r\n .catch((e) => { });\r\n\r\n };\r\n\r\n closePopup = (e) => {\r\n this.setState({\r\n cancelModel: false,\r\n });\r\n };\r\n\r\n handleInput = (e) => {\r\n\r\n let data = this.state.actionFormData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n if(name===\"follow_up_details\" || name === \"consultation_fee\")\r\n data[name] = value.replace(/[^0-9]/ig,'');\r\n else data[name] = value;\r\n this.setState({ actionFormData: data });\r\n };\r\n printOrder = () => {\r\n const printableElements = document.getElementById(\"printme\").innerHTML;\r\n let orderHTML =\r\n \"\" +\r\n printableElements +\r\n \"\";\r\n const oldPage = document.body.innerHTML;\r\n document.body.innerHTML = orderHTML;\r\n window.print();\r\n document.body.innerHTML = oldPage;\r\n };\r\n handleselectPharmacy = (selectedOptions, e) => {\r\n let data = this.state.actionFormData;\r\n data[e.name] = selectedOptions;\r\n this.setState({ actionFormData: data });\r\n };\r\n\r\n componentDidMount = () => {\r\n\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n // this.getData();\r\n\r\n axios\r\n .post(getMasterPharmacy, {user_id:this.props.userdata.id}, CONFIG)\r\n .then((res) => {\r\n console.log(res);\r\n let pharmacy_array = res.data.data;\r\n\r\n let pharmacyList = [];\r\n\r\n pharmacy_array.forEach((element, index) => {\r\n pharmacyList.push({\r\n value: element.id,\r\n label: element.pharmacy_name,\r\n });\r\n });\r\n\r\n this.setState({ pharmacy_array: pharmacyList });\r\n })\r\n .catch((e) => { });\r\n this.setState({ loading: true });\r\n\r\n const data = {\r\n n_business_id: this.props.userdata.id,\r\n n_currentdate: getDateISOFormat(new Date()),\r\n };\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getDocByBusiness, data, CONFIG)\r\n .then((result) => {\r\n\r\n let doc_list = [], doctor_shift = [];\r\n result.data.data.forEach((element, index) => {\r\n if (element.schedule_type.toLowerCase() == 'appointment')\r\n doc_list.push({ value: element.business_user_id, label: element.doctor_name, doctor_Appointments: element.doctor_Appointments });\r\n });\r\n if (doc_list.length) {\r\n doc_list[0].doctor_Appointments.forEach((doc, k) => {\r\n doctor_shift.push({ value: doc.schedule_day_id, label: \"Shift \" + (k + 1) + \"(\" + doc.starttime + \" - \" + doc.endtime + \")\" })\r\n })\r\n }\r\n\r\n\r\n this.setState({ doctor_appointment: result.data.data, doc_list: doc_list, selected_doctor: doc_list[0], doctor_shift: doctor_shift, selected_shift: doctor_shift[0], loading: false });\r\n this.getApptDatabyselecteddoctor(doc_list[0].value);\r\n\r\n\r\n })\r\n .catch((e) => { console.log(e); this.setState({ loading: false }) });\r\n\r\n };\r\n \r\n getData = () => {\r\n this.setState({ loading: true });\r\n this.getApptDatabyselecteddoctor(this.state.selected_doctor.value)\r\n }\r\n getApptDatabyselecteddoctor = (business_user_id) => {\r\n this.setState({ loading: true });\r\nconsole.log('here')\r\n if (business_user_id !== \"\" ) {\r\n let reqdata = {\r\n business_id: this.props.userdata.id,\r\n business_user_id: business_user_id\r\n \r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n ApptassignmentListbydoctor,\r\n reqdata,\r\n CONFIG\r\n )\r\n .then((res) => {\r\n\r\n let resdata = res.data.data;\r\n let queueList = [];\r\n resdata.forEach((element, index) => {\r\n let queue = {};\r\n queue.s_no = index+1;\r\n //queue.queue_no = element.preference;\r\n queue.Patient_id = element.Patient_id;\r\n queue.patient_name = element.Patientfirstname + \" \" + element.Patientlastname;\r\n queue.dob = element.date_of_birth;\r\n queue.gender = element.gender;\r\n queue.blood_group = element.blood_group;\r\n queue.phone_number = element.phone_number;\r\n queue.parent_phone_number = element.parent_phone_number;\r\n queue.medicine_description = element.medicine_description;\r\n queue.phone_code = element.phone_code;\r\n queue.email = element.email;\r\n queue.ApptDate=element.ApptDate;\r\n queue.app_time = element.ApptTime;\r\n queue.wait_time = element.ApptEndTime;\r\n queue.status = element.appt_status;\r\n queue.payment_status=element.payment_status;\r\n queue.checkin_id = element.checkin_id;\r\n queue.isfee = element.fee;\r\n queue.isprescription = element.prescription;\r\n queue.isfollowup = element.followup;\r\n queue.client_id = element.client_id;\r\n queue.id = element.id;\r\n queue.q_id = element.q_id;\r\n // queue.schedule_day_id = element.schedule_day_id;\r\n queue.pharmacy_details = element.pharmacy_details\r\n ? element.pharmacy_details\r\n : \"\";\r\n queue.consultation_fee = element.consultation_fee\r\n ? element.consultation_fee\r\n : \"\";\r\n queue.follow_up_details = element.follow_up_details\r\n ? element.follow_up_details\r\n : \"\";\r\n queueList[index] = queue;\r\n });\r\n\r\n // let clientmedicinehistory = {};\r\n this.setState({ queueList: queueList, loading: false });\r\n })\r\n .catch((e) => { });\r\n }\r\n }\r\n handleselectChange = (selectedoption, event) => {\r\n\r\n let { doc_list } = this.state;\r\n let doctor_shift = [];\r\n if (event.name === \"doc_list\") {\r\n\r\n doc_list[event.name] = selectedoption\r\n\r\n\r\n selectedoption.doctor_Appointments.forEach((doc, k) => {\r\n doctor_shift.push({ value: doc.schedule_day_id, label: \"Shift \" + (k + 1) + \"(\" + doc.starttime + \" - \" + doc.endtime + \")\" })\r\n })\r\n\r\n this.setState({ doc_list: doc_list, selected_doctor: selectedoption, doctor_shift: doctor_shift, selected_shift: doctor_shift[0] });\r\n this.getApptDatabyselecteddoctor(selectedoption.value)\r\n }\r\n if (event.name === 'doctor_shift') {\r\n\r\n this.setState({ selected_shift: selectedoption })\r\n this.getApptDatabyselecteddoctor(this.state.selected_doctor.value)\r\n }\r\n }\r\n render() {\r\n\r\n const {\r\n headerinfo,\r\n queueList,\r\n pharmacy_array,\r\n actionFormData,\r\n errorMessage,\r\n successMessage,\r\n errors,\r\n doc_list,\r\n hospitaltimeout\r\n } = this.state;\r\n let loggedinUserId = this.props.userdata.id;\r\n let navigation = {};\r\n navigation.userId = loggedinUserId;\r\n let PopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n let PopupConfirm = () => {\r\n this.props.history.push({\r\n pathname: \"/showsubscription\",\r\n state: {}\r\n });\r\n };\r\n return (\r\n\r\n\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    Appointment Check Out
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    Actions
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {/* */}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {actionFormData.registrationId}\r\n \r\n
    \r\n
    \r\n this.cancelRecord()}\r\n >\r\n Reset\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Reminder\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Billing\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    \r\n \r\n Billing\r\n \r\n \r\n
    */}\r\n\r\n
    \r\n {/* \r\n Complete\r\n */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n \r\n \r\n Billing\r\n \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n Complete\r\n \r\n
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n {/*
    \r\n
    */}\r\n \r\n
    \r\n {\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"s_no\", billing_record.s_no);\r\n if (null != record) {\r\n records[recIndex].selectedSearchBoxValue = record;\r\n records[recIndex].fee = record.amount;\r\n records[recIndex].gst_rate = record.tax_percentage + \" %\";\r\n records[recIndex].gst_amount =\r\n (record.tax_percentage / 100) * record.amount;\r\n records[recIndex].total_amount =\r\n Number(records[recIndex].fee) +\r\n Number(records[recIndex].gst_amount);\r\n } else {\r\n records[recIndex].selectedSearchBoxValue = \"\";\r\n records[recIndex].fee = \"\";\r\n records[recIndex].gst_rate = \"\";\r\n records[recIndex].gst_amount = \"\";\r\n records[recIndex].total_amount = \"\";\r\n }\r\n\r\n console.log(recIndex);\r\n console.log(records.length - 1);\r\n if (recIndex === records.length - 1) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = records.length + 1;\r\n records.push(default_rec);\r\n }\r\n this.setState({ records }, () => {\r\n this.calculateSection();\r\n });\r\n }}\r\n />\r\n );\r\n } else {\r\n return billing_record.description;\r\n }\r\n };\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let amt = 0.0;\r\n let taxAmt = 0.0;\r\n let taxVal = 0.0;\r\n let totalAmt = 0.0;\r\n\r\n records.map((data, i) => {\r\n if (undefined !== data.fee) {\r\n amt = Number(amt) + Number(data.fee);\r\n }\r\n if (undefined !== data.gst_amount) {\r\n taxAmt = Number(taxAmt) + Number(data.gst_amount);\r\n }\r\n if (undefined !== data.taxable_value) {\r\n taxVal = Number(taxVal) + Number(data.taxable_value);\r\n }\r\n if (undefined !== data.total_amount) {\r\n totalAmt = Number(totalAmt) + Number(data.total_amount);\r\n }\r\n });\r\n\r\n totalAmtSec.amt = amt;\r\n totalAmtSec.taxAmt = taxAmt;\r\n totalAmtSec.taxVal = taxVal;\r\n totalAmtSec.totalAmt = totalAmt;\r\n totalAmtSec.totalAmtWords =converter.toWords(totalAmt)+\" rupees only\";\r\n this.setState({ totalAmtSec });\r\n };\r\n\r\n componentDidMount = () => {\r\n this.setState({ loading: true });\r\n let data = {};\r\n\r\n data.business_id = this.props.userdata.id;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n console.log(this.props.checkin_id)\r\n const checkinData = { id: this.props.match.params.checkin_id };\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n let completion_data = res.data.data || res.data.date;\r\n if (res.data.status !== \"1\" || !data) {\r\n return;\r\n }\r\n console.log(completion_data)\r\n this.setState({client_id:completion_data.client_id,q_id:completion_data.q_id,\r\n Reg_id:completion_data.Reg_id,patient_firstname:completion_data.first_name,patient_lastname:completion_data.last_name,\r\n doctor_firstname:completion_data.doctor_firstname,doctor_lastname:completion_data.doctor_lastname});\r\n\r\n console.log(completion_data);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let client_appt_id=this.state.q_id;\r\n console.log(client_appt_id);\r\n \r\n axios\r\n .post(getpaymentstatusfromclientappointment, {client_appt_id:this.state.q_id}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n \r\n console.log(data);\r\n \r\n console.log(data.data[0].payment_status);\r\n if(data.status==\"1\")\r\n {\r\n this.setState({\r\n paymentstatus: data.data[0].payment_status\r\n \r\n });\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n data.business_id = this.props.userdata.id;\r\n axios\r\n .post(getsupplies, data, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"supplies_name\", \"label\"));\r\n \r\n console.log(data.data[0].payment_status);\r\n if(data.data[0].payment_status==\"Pending\")\r\n {\r\n //set first record as consultation fee by default\r\n let consultation_fee_record = {};\r\n consultation_fee_record.s_no = 1;\r\n consultation_fee_record.description = \"Consultation Fee\";\r\n consultation_fee_record.fee = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n consultation_fee_record.disc = \"\";\r\n consultation_fee_record.taxable_value = \"\";\r\n consultation_fee_record.gst_rate = \"\";\r\n consultation_fee_record.gst_amount = \"\";\r\n consultation_fee_record.total_amount = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n \r\n let records = [];\r\n records.push(consultation_fee_record);\r\n \r\n \r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n \r\n for (let i = 2; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n \r\n \r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n }\r\n );\r\n }\r\n else{\r\n console.log(\"hi\");\r\n let records = [];\r\n \r\n \r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n \r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n \r\n \r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n }\r\n );\r\n }\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n\r\n \r\n }\r\n \r\n }).catch((e) => {\r\n console.log(\"client short info failed\",e);\r\n });\r\n\r\n \r\n\r\n\r\n })\r\n \r\n .catch((e) => {\r\n console.log(\"client short info failed\");\r\n });\r\n console.log(this.props);\r\n // console.log(this.state.headerinfo);\r\n \r\n\r\n };\r\n\r\n\r\n printData = () => {\r\n var win = window.open('', '_blank');\r\n\r\n var style = \"\";\r\n\r\n var tableHtml = document.getElementById(\"divcontents\").innerHTML;\r\n\r\n win.document.write('');\r\n win.document.write('Prescription');\r\n win.document.write(style);\r\n win.document.write('');\r\n win.document.write('');\r\n win.document.write('

    Prescription

    ');\r\n win.document.write(tableHtml);\r\n win.document.write('');\r\n win.print();\r\n win.close();\r\n\r\n\r\n\r\n\r\n }\r\n cancel=()=>\r\n {\r\n window.location.replace(\"/ApptCheckout\");\r\n }\r\n displayRazorpay = () => {\r\n\r\n /* const res = loadScript('https://checkout.razorpay.com/v1/checkout.js')\r\n\r\n if (!res) {\r\n alert('Razorpay SDK failed to load. Are you online?')\r\n return\r\n }\r\n const option = {\r\n method: 'POST',\r\n // headers: new Headers({ 'content-type': 'application/json' }),\r\n mode: 'no-cors'\r\n };\r\n\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let data = {};\r\n data.payable_amt = totalAmtSec.totalAmt;\r\n let client_id = this.state.client_id;\r\n let business_id = this.props.userdata.id;\r\n let records = this.state.records;\r\n let checkin_id = this.props.match.params.checkin_id;\r\n let client_appt_id=this.state.q_id; */\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n\r\n /* let razorpay_key = \"\";\r\n axios\r\n.post(getCredentials, {\r\n \"credential_type\":\"razorpay\"\r\n})\r\n.then((res) => {\r\n console.log(res.data);\r\n razorpay_key = res.data.data[0].value;\r\n\r\n\r\n\r\n axios.post(RazorPayPayment, data, data).then((res) => {\r\n console.log(res);\r\n let data = res.data;\r\n\r\n // let vendorData = this.state.vendorData;\r\n // let paymentForm = this.state.paymentForm;\r\n\r\n const options = {\r\n // key: __DEV__ ? 'rzp_test_CObt3PWG73pjBs' : 'PRODUCTION_KEY',\r\n key: razorpay_key,\r\n currency: data.currency,\r\n amount: data.amount.toString(),\r\n order_id: data.id,\r\n name: 'Billing and Payment',\r\n description: '',\r\n image: 'https://wtmprofileimagesbucket.s3.ap-south-1.amazonaws.com/logo.png',\r\n handler: function (response) { */\r\n // alert(response.razorpay_payment_id)\r\n // alert(response.razorpay_order_id)\r\n // alert(response.razorpay_signature)\r\n \r\n let totalAmtSec = this.state.totalAmtSec;\r\n let client_id = this.state.client_id;\r\n let business_id = this.props.userdata.id;\r\n let records = this.state.records;\r\n let checkin_id = this.props.match.params.checkin_id;\r\n let client_appt_id=this.state.q_id;\r\n let req_data = {\r\n // 'order_id': response.razorpay_order_id,\r\n // 'payment_id': response.razorpay_payment_id,\r\n // 'vendor_id': vendorData.id,\r\n // vendor_subscription: vendorData.vendor_subscription.id,\r\n // number_of_months: paymentForm.months.value,\r\n // amount: paymentForm.payable_amt,\r\n amount: totalAmtSec.totalAmt,\r\n appt_status: 'Completed',\r\n payment_status: 'Completed',\r\n business_id: business_id,\r\n client_id:client_id,\r\n // otherdata:records,\r\n // id:checkin_id,\r\n client_appt_id:client_appt_id,\r\n }\r\n console.log(req_data);\r\n \r\n axios.post(updateclientappointmentstatus, req_data, CONFIG).then((res) => {\r\n console.log(res);\r\n \r\n \r\n }).catch((err) => {\r\n })\r\n axios.post(consultDoctor, req_data, CONFIG).then((res) => {\r\n console.log(res);\r\n toast.success(\"The Patient has completed the Billing process successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n /* this.setState({successMessage:res.data})\r\n console.log(this.state.successMessage);\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n successMessage: { message: \"\" },\r\n \r\n }),\r\n 5000\r\n ); */\r\n // window.location.href = '/queue_assignment';\r\n \r\n }).catch((err) => {\r\n // this.setState({successMessage:err})\r\n\r\n })\r\n\r\n\r\n /* },\r\n\r\n prefill: {\r\n name: this.props.userdata.first_name+\" \"+this.props.userdata.last_name,\r\n email: this.props.userdata.email,\r\n contact: this.props.userdata.phone_number\r\n }\r\n }\r\n const paymentObject = new window.Razorpay(options)\r\n paymentObject.open()\r\n\r\n }).catch((e) => { console.log(e) });\r\n }).catch((e) => { \r\n console.log(e)\r\n }); */\r\n }\r\n actionComplete = () => {\r\n this.setState({ payment_status: \"Completed\"});\r\n this.displayRazorpay();\r\n\r\n }\r\n clearForm=()=>{\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n successMessage: { message: \"\" },\r\n \r\n }),\r\n 5000\r\n );\r\n }\r\n render() {\r\n let {successMessage,Reg_id,patient_name,payment_status,paymentstatus,doctor_firstname,doctor_lastname,patient_firstname,patient_lastname} = this.state;\r\n return (\r\n
    \r\n {/* */}\r\n < Spinner loading={this.state.loading} />\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Billing

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n GSTIN\r\n
    */}\r\n\r\n
    \r\n Payment Status\r\n
    \r\n
    \r\n\r\n
    \r\n {/*
    \r\n T453469875\r\n
    */}\r\n\r\n
    \r\n {payment_status}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Registration. No.\r\n {Reg_id}\r\n \r\n \r\n Patient Name\r\n {patient_firstname}{' '}{patient_lastname}\r\n \r\n \r\n Doctor Name\r\n {this.props.location.data.doctor_name}{doctor_firstname}{' '}{doctor_lastname}\r\n \r\n \r\n Hospital Address\r\n \r\n {this.props.business_short_detail ? this.props.business_short_detail.business_name + \", \" + this.props.business_short_detail.address1\r\n + \", \" + this.props.business_short_detail.city\r\n + \", \" + this.props.business_short_detail.state\r\n + \" - \" + this.props.business_short_detail.zip_code : \"\"}\r\n \r\n \r\n \r\n \r\n Date\r\n\r\n \r\n {moment(new Date()).format(\r\n \"DD MMM YYYY hh:mm A\"\r\n )}\r\n \r\n \r\n \r\n \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 Amount\r\n \r\n \r\n {this.state.totalAmtSec.amt}\r\n \r\n \r\n {this.state.totalAmtSec.taxVal}\r\n \r\n \r\n {this.state.totalAmtSec.taxAmt}\r\n \r\n \r\n {this.state.totalAmtSec.totalAmt}\r\n \r\n \r\n\r\n \r\n \r\n Total Invoice value (in Figure)\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.state.totalAmtSec.totalAmt\r\n }{\" \"}\r\n \r\n \r\n \r\n \r\n Total Invoice value (in Words)\r\n \r\n \r\n {\" \"}\r\n {\r\n this.state.totalAmtSec\r\n .totalAmtWords\r\n }\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n Back\r\n \r\n \r\n Print\r\n \r\n \r\n Finish\r\n \r\n {/* \r\n Pay\r\n */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(Addapptprescription);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SideBar from \"../components/container/layout/client/SideBar\";\r\nimport Header from \"../components/container/layout/business/Header\";\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { getPrescription } from \"../config/url.json\";\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nclass Printapptrescription extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n records: [],\r\n with_in_week: [],\r\n with_in_30: [],\r\n with_in_3_months: [],\r\n with_in_6_months: [],\r\n with_in_year: [],\r\n with_in_2_years: [],\r\n selectedOption: [\"with_in_week0\"],\r\n error: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"medicine_description\",\r\n text: \"Medicine Description\",\r\n className: \"medicine_description\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"days\",\r\n text: \"Days\",\r\n className: \"days\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"before_food\",\r\n text: \"Before Food\",\r\n className: \"before_food\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record, i) => {\r\n return record.before_food === 1 ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n \"\"\r\n );\r\n },\r\n },\r\n {\r\n key: \"morning\",\r\n text: \"Morning\",\r\n className: \"morning\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"noon\",\r\n text: \"Noon\",\r\n className: \"noon\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"night\",\r\n text: \"Night\",\r\n className: \"night\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"total\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const postData1 = { id: this.props.match.params.id };\r\n axios\r\n .post(getPrescription, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n console.log(res.data.status);\r\n if (res.data.status === \"1\") {\r\n console.log(res.data.data[0]);\r\n this.setState({\r\n // with_in_week: data.with_in_week,\r\n // with_in_30: data.with_in_30,\r\n // with_in_3_months: data.with_in_3_months,\r\n // with_in_6_months: data.with_in_6_months,\r\n // with_in_year: data.with_in_year,\r\n // with_in_2_years: data.with_in_2_years,\r\n records: (res.data.data[0] && null != res.data.data[0].medicine_description)\r\n ? res.data.data[0].medicine_description\r\n : [],\r\n });\r\n // if(res.data.data[0].medicine_description)\r\n setTimeout(() => {\r\n const printableElements = document.getElementById(\"layout-wrapper\")\r\n .innerHTML;\r\n const orderHtml =\r\n \"\" +\r\n printableElements +\r\n \"\";\r\n const oldPage = document.body.innerHTML;\r\n document.body.innerHTML = orderHtml;\r\n console.log(this.props.match.params);\r\n\r\n window.print();\r\n\r\n if (this.props.match.params.user_type.toLowerCase() == 'doctor') {\r\n document.location.href = '/consult/' + this.props.match.params.id\r\n } else {\r\n document.location.href = \"/ApptCheckout\";\r\n }\r\n // document.body.innerHTML = oldPage;\r\n // console.log(this.props.history.goBack())\r\n // document.location.href = \"/queue_assignment\";\r\n\r\n // document.location.href = this.props.history.goBack()\r\n }, 1000);\r\n } else {\r\n this.setState({ error: res.data.message });\r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n with_in_week,\r\n with_in_30,\r\n with_in_3_months,\r\n with_in_6_months,\r\n with_in_year,\r\n with_in_2_years,\r\n selectedOption,\r\n error,\r\n } = this.state;\r\n // console.log(with_in_week.length);\r\n return (\r\n
    \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    Prescription
    \r\n \r\n
    \r\n
    \r\n {error ? (\r\n {error}\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(Printapptrescription);\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../../assets/css/mystyle.css\";\r\nimport {GetAppointmentCompletedReport } from \"../../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n \r\n \r\n { header: 'Business Name', key: 'business_name' },\r\n { header: 'Doctor Name', key: 'doctor_name' },\r\n { header: 'Patient ID', key: 'Patient_id' },\r\n { header: 'Patient Name', key: 'patient_name' }, \r\n { header: 'Email', key: 'email' },\r\n { header: 'Date Of Birth', key: 'date_of_birth' },\r\n { header: 'Gender', key: 'gender' },\r\n { header: 'Blood Group', key: 'blood_group' },\r\n { header: 'Phone Number', key: 'phone_number' },\r\n { header: 'Check In Date', key: 'ApptDate' },\r\n { header: 'Check In time', key: 'ApptTime' },\r\n { header: 'Check out time', key: 'ApptEndTime' },\r\n \r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'ApptVisitList';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n const newdata=props.records;\r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n newdata.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n });\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n\r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Appointment visit list has been downloaded successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n \r\n \r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\nimport { Popup } from \"../../components/UI/Popup\";\r\nimport { getAllBusinessList,removeBusinessFromBusinesslist,GetAppointmentCompletedReport,getTimeoutbycategory } from \"../../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport moment from \"moment\";\r\nimport Select from \"react-select\";\r\nimport LoadingSpinner from \"../../components/UI/LoadingSpinner\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport SideBar from \"../../components/container/SideBar\";\r\nimport Header from \"../../components/container/layout/business/Header\";\r\nimport Label from \"../../components/UI/Label\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal'\r\nimport VisitApptListExport from \"./VisitApptListExport\";\r\nimport { Popupinfo } from \"../../components/UI/Popupinfo\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n\r\n };\r\n}\r\nconst status = [\r\n { value: \"Pending\", label: \"Pending\" },\r\n { value: \"Accepted\", label: \"Accepted\" },\r\n];\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\nclass VisitApptList extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\nthis.idleTimer = React.createRef()\r\nconst hospitaltimeout=this.state;\r\n\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout:hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n records: [],\r\n actions: \"update\",\r\n loading: false,\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n \r\n deletePopup: false,\r\n showcomponent:false,\r\n hospitalreport:\r\n {\r\n // id:\"\",\r\n // user_id: \"\",\r\n \r\n Fromdate:\"\",\r\n Todate:\"\",\r\n },\r\n errors: {\r\n \r\n Fromdate:\"\",\r\n Todate:\"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n\r\n \r\n this.columns = [\r\n { text: \"S.No\",\r\n className: \"s_no\",\r\n key:\"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n {\r\n key: \"business_name\",\r\n text: \"Business Name\",\r\n className: \"business_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"doctor_name\",\r\n text: \"Doctor Name\",\r\n className: \"doctor_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"Patient_id\",\r\n text: \"Patient ID\",\r\n className: \"Patient_id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"patient_name\",\r\n text: \"Name\",\r\n className: \"patient_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"date_of_birth\",\r\n text: \"DOB\",\r\n className: \"date_of_birth\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return moment(record.date_of_birth).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n {\r\n key: \"gender\",\r\n text: \"Gender\",\r\n className: \"gender\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n /* {\r\n key: \"marital_status\",\r\n text: \"Marital Status\",\r\n className: \"marital_status\",\r\n sortable: true,\r\n align: \"left\",\r\n }, */\r\n {\r\n key: \"blood_group\",\r\n text: \"Blood Grp\",\r\n className: \"blood_group\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Ph No.\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"ApptDate\",\r\n text: \"Date\",\r\n className: \"ApptDate\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"ApptTime\",\r\n text: \"time\",\r\n className: \"ApptTime\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"ApptEndTime\",\r\n text: \"Check out time\",\r\n className: \"ApptEndTime\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n \r\n /* {\r\n key: \"created_time\",\r\n text: \"Created Date\",\r\n className: \"created_time\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n\r\n var date=moment(record.created_time).format(\"DD-MMM-yyyy\");\r\n //console.log(date);\r\n if(date ===\"Invalid date\")\r\n {\r\n return \"\";\r\n\r\n }else\r\n {\r\n return moment(record.created_time).format(\"DD-MMM-yyyy\");\r\n }\r\n\r\n },\r\n },\r\n */\r\n \r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n \r\n }\r\n handleClose() {\r\n this.setState({showModal: false})\r\n }\r\n \r\n \r\n handleLogout = (e) => {\r\n this.setState({showModal: false})\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n // this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n \r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n \r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onActive(e) {\r\n \r\n console.log('user is active', e)\r\n this.setState({isTimedOut: false})\r\n }\r\n \r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout=this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n // this.props.logout();\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n \r\n handleColumnChange = (record, selectedOptions) => {\r\n\r\n record.status = selectedOptions ? selectedOptions.value : \"Pending\";\r\n this.UpdateColumnChange(record);\r\n };\r\n\r\n UpdateColumnChange = (data) => {\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // let request = {\r\n // business_user_id: data.user_id, status: data.status\r\n // }\r\n // axios.post(updateDoctorStatus1, request).then((list) => {\r\n let records = this.state.records;\r\n\r\n // // data = list.data.data;\r\n // if (list.data.status === \"1\") {\r\n var recIndex = findWithAttr(records, \"user_id\", data.user_id);\r\n\r\n records[recIndex].status = data.status;\r\n\r\n this.setState({ records, tableSuccess: \"\" });\r\n // }\r\n\r\n this.clearMessage();\r\n // });\r\n };\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.hospitalreport;\r\n data[e.name] = selectedOptions;\r\n \r\n this.setState({ hospitalreport: data });\r\n };\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n\r\n handleFromDOBChange = (date) => {\r\n \r\n let Hospitalreport = this.state.hospitalreport;\r\n let errors=this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n Hospitalreport.Fromdate = offsetDate;\r\n // errors.Fromdate=\"\";\r\n this.setState({ hospitalreport: Hospitalreport,errors:errors,Fromdate:offsetDate });\r\n };\r\n handleToDOBChange = (date) => {\r\n let Hospitalreport = this.state.hospitalreport;\r\n let errors=this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n Hospitalreport.Todate = offsetDate;\r\n // errors.Todate=\"\";\r\n this.setState({ hospitalreport: Hospitalreport,errors:errors,Todate:offsetDate });\r\n };\r\n \r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getTimeoutbycategory, {category : this.props.userdata.user_type}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n \r\n\r\n \r\n \r\n }\r\n cancel = () => {\r\n let data = this.state.hospitalreport;\r\n data.id=\"\";\r\n data.business_name = \"\";\r\n data.Fromdate=\"\";\r\n data.Todate=\"\";\r\n // data.records=\"\";\r\n this.setState({ hospitalreport: data, actions: \"update\" });\r\n this.setState({ reportList: [],errorMessage:\"\",errors:\"\",showcomponent:false });\r\n };\r\n editRecord = (record) => {\r\n console.log(record);\r\n this.setState({ actions: \"edit\" });\r\n \r\n let hospitaldata = this.state.hospitaldata;\r\n hospitaldata.id=record.id;\r\n hospitaldata.user_id = record.user_id;\r\n hospitaldata.business_name=record.business_name;\r\n hospitaldata.id = record.id;\r\n hospitaldata.user_id = record.user_id;\r\n hospitaldata.email=record.email;\r\n hospitaldata.phone_number = record.phone_number;\r\n hospitaldata.subscription={\r\n label: record.subscription,\r\n value: record.subscription,\r\n };\r\n hospitaldata.payment_status = {\r\n label: record.payment_status,\r\n value: record.payment_status,\r\n };\r\n \r\n if(hospitaldata.expires_at===null|| hospitaldata.expires_at===\"\")\r\n {\r\n hospitaldata.expires_at =record.expires_at;\r\n }else\r\n {\r\n hospitaldata.expires_at=moment(record.expires_at,moment.defaultFormat).toDate();\r\n }\r\n \r\n this.handleHospitalChange(\"user_id\", hospitaldata.user_id);\r\n this.setState({ hospitaldata: hospitaldata });\r\n };\r\n \r\n clearAll() {\r\n let actions = this.state.actions;\r\n actions = \"update\";\r\n this.setState({ actions });\r\n let hospitaldata = {};\r\n hospitaldata.id=\"\";\r\n hospitaldata.business_name=\"\";\r\n hospitaldata.email = \"\";\r\n hospitaldata.phone_number = \"\";\r\n hospitaldata.subscription=\"\";\r\n hospitaldata.payment_status=\"\";\r\n hospitaldata.expires_at=\"\";\r\n this.setState({ hospitaldata });\r\n }\r\n\r\n handleHospitalChange(value, field) {\r\n let fields = this.state.hospitaldata;\r\n // let errors = this.state.educationerror;\r\n console.log(field);\r\n if (value === \"email\") {\r\n fields.email = field.target.value;\r\n // errors[i].register_id = '';\r\n }else if (value === \"id\") {\r\n fields.id = field;\r\n // errors[i].education = '';\r\n } \r\n else if (value === \"business_name\") {\r\n fields.business_name = field.target.value;\r\n // errors[i].education = '';\r\n } \r\n else if (value === \"phone_number\") {\r\n fields.phone_number = field.target.value;\r\n // errors[i].education = '';\r\n } \r\n else if (value === \"subscription\") {\r\n fields.subscription = field.target.value;\r\n // errors[i].education = '';\r\n } \r\n else if (value === \"expires_at\") {\r\n fields.expires_at = field.target.value;\r\n // errors[i].education = '';\r\n }else if (value === \"payment_status\") {\r\n fields.payment_status = field.target.value;\r\n // errors[i].education = '';\r\n } \r\n this.setState({\r\n hospitaldata: fields,\r\n });\r\n }\r\n getHospitalReport=(e)=> {\r\n // let user_id = record.user_id;\r\n let { hospitalreport, errors } = this.state;\r\n hospitalreport.type = \"hospitalreport\";\r\n errors = Validation(hospitalreport, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n let data = this.state.hospitalreport;\r\n \r\n // let data = {};\r\n \r\n data.business_id=this.props.userdata.id;\r\n // console.log(moment.utc(hospitalreport.Fromdate).format('MM/DD/YYYY'));\r\n data.Fromdate=hospitalreport.Fromdate;\r\n data.Todate=hospitalreport.Todate;\r\n axios.post(GetAppointmentCompletedReport, data, CONFIG).then((list) => {\r\n console.log(data);\r\n console.log(list.data);\r\n let response=list.data;\r\n let records= list.data.data;\r\n if (records.length === 0) {\r\n this.setState({errorMessage:\"No Records Found\", reportList: [] });\r\n return;\r\n }\r\n if (response.status === \"1\") {\r\n console.log(list.data.data);\r\n this.setState({ records: list.data.data,showcomponent:true });\r\n let records=list.data.data;\r\n let reportList = [];\r\n records.forEach((element, index) => {\r\n let report = {};\r\n report.s_no = index+1;\r\n report.business_name=element.business_name;\r\n report.doctor_name=element.doctor_name;\r\n report.Patient_id = element.Patient_id;\r\n report.patient_name = element.patient_name;\r\n report.date_of_birth = element.date_of_birth;\r\n report.gender = element.gender;\r\n report.blood_group = element.blood_group;\r\n report.phone_number = element.phone_number;\r\n report.email = element.email;\r\n report.ApptDate=element.ApptDate;\r\n report.ApptTime=element.ApptTime;\r\n report.ApptEndTime=element.ApptEndTime;\r\n reportList[index] = report;\r\n });\r\n this.setState({ reportList: reportList,errorMessage:\"\" });\r\n this.setState({ formSuccess: list.data });\r\n toast.success(\"Appointment visit reports is been download successfully.\",{\r\n className:\"toast-success\"\r\n })\r\n this.clearAll();\r\n this.clearMessage();\r\n \r\n }\r\n });\r\n }\r\n }\r\n deleteRecord(record) {\r\n \r\n let user_id = record.user_id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(removeBusinessFromBusinesslist, { user_id: user_id }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n \r\n const deleteIndex = records.map((item) => item.user_id).indexOf(record.user_id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch((e) => { });\r\n this.setState({ deletePopup: false, record: null });\r\n \r\n this.setState({\r\n confirmedDelete: false,\r\n });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .get(getAllBusinessList, null, CONFIG)\r\n .then((list) => {\r\n console.log(list)\r\n this.setState({ records: list.data.data });\r\n })\r\n .catch((e) => { console.log(e) });\r\n\r\n }\r\n\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n const {\r\n business_list,\r\n hospitalreport,\r\n formSuccess,\r\n tableSuccess,\r\n errors,\r\n loading,\r\n errorMessage,\r\n hospitaltimeout\r\n } = this.state;\r\n return (\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n

    Hospital Appointment Visit List

    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleFromDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n \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.handleToDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n \r\n placeholder={\"Select the From date\"}\r\n />\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Get Report\"\r\n ) : (\r\n \"Get Report\"\r\n )}\r\n      \r\n Cancel\r\n \r\n\r\n {this.state.showcomponent ?
    :\"\"}\r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n\r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    )}\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(VisitApptList);","import React, { Component } from \"react\";\r\nimport $ from 'jquery';\r\nimport { connect } from \"react-redux\";\r\nimport LogoSection from \"../components/UI/LogoSection\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport FooterAds from \"../components/UI/FooterAds\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport { resetpasswordClient,GetEmailphnumberforDoctor } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Validation from \"../actions/Validation\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\n\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {};\r\n}\r\n\r\nconst specialCharacterRegx = /^[A-Za-z0-9 ]+$/ ;\r\nconst upperCaseRegx = /^[A-Z0-9 ]+$/ ;\r\nconst lowerCaseRegx = /^[a-z0-9 ]+$/ ;\r\nconst isNumberRegx = /\\d/;\r\n\r\nclass ResetPassword extends Component {\r\n constructor(props) {\r\n super(props); \r\n \r\n this.state = {\r\n password: \"\",\r\n password_confirmation: \"\",\r\n email_phonenumber:\"\",\r\n errors:{},\r\n registered_detail:\"\",\r\n formSuccess:{\r\n status:\"\",\r\n message:\"\"\r\n },\r\n passValidity:{\r\n lowercase:false,\r\n uppercase: false,\r\n specialchar:false,\r\n number:false,\r\n maxlength:false,\r\n }\r\n \r\n };\r\n }\r\n handleInput = (e) => {\r\n e.preventDefault();\r\n const name = e.target.name;\r\n const value = e.target.value;\r\n let errors = this.state.errors\r\n errors[name] = \"\"\r\n this.setState({ [name]: value,errors });\r\n\r\n let passValidity = this.state.passValidity;\r\n if(name === \"password\" || name === \"password_confirmation\"){\r\n if(value === \"\"){\r\n passValidity.maxlength = false;\r\n passValidity.number = false;\r\n passValidity.specialchar = false;\r\n passValidity.uppercase = false;\r\n passValidity.lowercase = false;\r\n }else{\r\n passValidity.maxlength = value.length >= 8 ? true:false;\r\n passValidity.number = isNumberRegx.test(value) ? true: false;\r\n passValidity.specialchar = specialCharacterRegx.test(value) ? false:true;\r\n passValidity.uppercase = upperCaseRegx.test(value) ? false:true;\r\n passValidity.lowercase = lowerCaseRegx.test(value) ? false:true;\r\n this.setState({passValidity: passValidity});\r\n console.log(passValidity)\r\n }\r\n \r\n }\r\n\r\n };\r\n changePassword = (e) => {\r\n e.preventDefault();\r\n\r\n let errors = this.state.errors;\r\n \r\n const data = {\r\n password: this.state.password,\r\n password_confirmation: this.state.password_confirmation,\r\n email_phonenumber: this.state.email,\r\n type:\"changePassword\",\r\n };\r\n\r\n errors = Validation(data, errors);\r\n this.setState({errors:errors});\r\n \r\n\r\n if(errors.formIsValid){\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios.post(resetpasswordClient,data, CONFIG).then((result)=>{\r\n let resultData = result.data;\r\n if(resultData.status === 0){\r\n this.setState({ error: resultData.message });\r\n }else{\r\n console.log(resultData);\r\n // alert(\"Password has been reset successfully\");\r\n let formSuccess = {status:\"1\",message:\"“You have successfully reset the password.” Please login!\"}\r\n let errors = {\r\n \r\n }\r\n this.setState({formSuccess:formSuccess,errors})\r\n setTimeout(\r\n () =>\r\n window.location.href = \"/\",\r\n 2000\r\n );\r\n \r\n }\r\n \r\n }) \r\n }\r\n \r\n\r\n };\r\n\r\n cancel = () =>\r\n {\r\n document.location.href = \"/\";\r\n\r\n }\r\n\r\n componentDidMount = () => {\r\n axios\r\n .post(GetEmailphnumberforDoctor, { id: this.props.match.params.id }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data[0].email);\r\n if (data.status === \"1\")\r\n this.setState({\r\n email:data.data[0].email\r\n });\r\n })\r\n .catch((e) => { });\r\n \r\n\r\n\r\n console.log(this.props.location.state)\r\n /* if(this.props.location.state === undefined){\r\n window.location.href = \"/\";\r\n }else{\r\n */ // this.setState({registered_detail:this.props.location.state.registered_detail})\r\n // }\r\n };\r\n handlepassword = (e) => {\r\n\r\n $(\".resettoggle-password\").toggleClass(\"fa-eye fa-eye-slash\");\r\n \r\n let input = $('#resetpassword');\r\n if (input.attr(\"type\") == \"password\") {\r\n input.attr(\"type\", \"text\");\r\n } else {\r\n input.attr(\"type\", \"password\");\r\n }\r\n }\r\n handleresetpassword = (e)=>{\r\n \r\n $(\".confirmtoggle-password\").toggleClass(\"fa-eye fa-eye-slash\");\r\n \r\n let input = $('#confirmpassword');\r\n if (input.attr(\"type\") == \"password\") {\r\n input.attr(\"type\", \"text\");\r\n } else {\r\n input.attr(\"type\", \"password\");\r\n }\r\n }\r\n render() {\r\n const {\r\n errors,formSuccess,email\r\n } = this.state;\r\n const postData1 = { id: this.props.match.params.id };\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
      \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    Company news

    \r\n

    \r\n {\" \"}\r\n Lorem ipsum dolor sit amet, consectetur adipiscing\r\n elit sed do adipiscing ..\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    General news

    \r\n

    \r\n {\" \"}\r\n Lorem ipsum dolor sit amet, consectetur adipiscing\r\n elit sed do adipiscing ..\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    RESET PASSWORD

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { email } \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n Submit\r\n \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n It contains at least one lowercase English\r\n character.\r\n
    • \r\n
    • \r\n It contains at least one uppercase English\r\n character.\r\n
    • \r\n
    • It contains at least one special character.
    • \r\n
    • Its length is at least 8.
    • \r\n
    • It contains at least one digit
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(ResetPassword);\r\n","import React, {Component} from 'react';\r\n//import '../../App.scss';\r\nimport \"../../assets/css/mystyle.css\";\r\nclass Track extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.ref = React.createRef();\r\n }\r\n componentDidMount() {\r\n if (this.props.track !== null) {\r\n const child = this.props.track.attach();\r\n this.ref.current.classList.add(this.props.track.kind);\r\n this.ref.current.appendChild(child)\r\n }\r\n }\r\n render() {\r\n return (\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default Track;\r\n","import React, {Component} from 'react';\r\n//import '../../App.scss';\r\nimport \"../../assets/css/mystyle.css\";\r\nimport Track from './Track';\r\n\r\nclass Participant extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n const existingPublications = Array.from(this.props.participant.tracks.values());\r\n const existingTracks = existingPublications.map(publication => publication.track);\r\n const nonNullTracks = existingTracks.filter(track => track !== null)\r\n this.ref = React.createRef();\r\n this.state = {\r\n tracks: nonNullTracks\r\n }\r\n }\r\n componentDidMount() {\r\n if (!this.props.localParticipant) {\r\n this.props.participant.on('trackSubscribed', track => this.addTrack(track));\r\n }\r\n }\r\n addTrack(track) {\r\n this.setState({\r\n tracks: [...this.state.tracks, track]\r\n });\r\n }\r\n render() {\r\n return ( \r\n
    \r\n
    { this.props.participant.identity}
    \r\n { \r\n this.state.tracks.map(track => \r\n )\r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Participant;\r\n","import React, {Component} from 'react';\r\n//import '../../App.scss';\r\nimport \"../../assets/css/mystyle.css\";\r\nimport Participant from './Participant';\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { connect as connect1 } from \"react-redux\";\r\nimport OtpTimer from 'otp-timer'\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n user: state.AuthReducer.user,\r\n \r\n };\r\n}\r\nclass Room extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n remoteParticipants: Array.from(this.props.room.participants.values())\r\n }\r\n \r\n this.leaveRoom = this.leaveRoom.bind(this);\r\n }\r\n componentDidMount() {\r\n console.log(this.props.user.user_type);\r\n // Add event listeners for future remote participants coming or going\r\n this.props.room.on('participantConnected', participant => this.addParticipant(participant));\r\n this.props.room.on('participantDisconnected', participant => this.removeParticipant(participant));\r\n \r\n window.addEventListener(\"beforeunload\", this.leaveRoom);\r\n }\r\n leaveRoom() {\r\n this.props.room.disconnect();\r\n this.props.returnToLobby();\r\n }\r\n componentWillUnmount() {\r\n this.leaveRoom();\r\n }\r\n addParticipant(participant) {\r\n console.log(`${participant.identity} has joined the room.`);\r\n \r\n this.setState({\r\n remoteParticipants: [...this.state.remoteParticipants, participant]\r\n });\r\n }\r\n \r\n removeParticipant(participant) {\r\n console.log(`${participant.identity} has left the room`);\r\n \r\n this.setState({\r\n remoteParticipants: this.state.remoteParticipants.filter(p => p.identity !== participant.identity)\r\n });\r\n }\r\n render() {\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n {\r\n this.state.remoteParticipants.map(participant => \r\n \r\n )\r\n }\r\n
    \r\n {this.props.user.user_type.toLowerCase() === \"doctor\" ? \r\n ():\"\"}\r\n
    \r\n );\r\n }\r\n}\r\nexport default withRouter(connect1(mapStateToProps)(Room));\r\n\r\n","//import '../../App.scss';\r\nimport \"../../assets/css/mystyle.css\";\r\nimport React, {Component} from 'react';\r\nimport Header from \"../../components/container/layout/client/Header\";\r\nimport BusinessUserHeader from \"../../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../../components/container/SideBar\";\r\nimport ClientSideBar from \"../../components/container/layout/client/SideBar\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\n\r\nimport { getTimeoutbycategory } from \"../../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal';\r\n\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../../config/data\";\r\n\r\nimport Room from '../Video/Room';\r\nimport { withRouter } from \"react-router-dom\";\r\nimport {validateVideoData,joinroom} from \"../../config/url.json\";\r\nimport { connect as connect1 } from \"react-redux\";\r\n\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst { connect } = require('twilio-video');\r\n\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n user: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nclass JoinRoom extends Component {\r\n \r\n constructor(props) {\r\n super(props)\r\n this.inputRef = React.createRef();\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n error:\"\",\r\n identity: this.props.location.state.patient_name,\r\n\r\n // identity: this.props.user.first_name+\" \"+this.props.user.last_name,\r\n type:this.props.user.user_type===\"patient\" ? \"p\":\"d\",\r\n client_appt_id:this.props.match.params.client_appt_id,\r\n roomName :this.props.match.params.roomName,\r\n room: null,\r\n }\r\n this.joinRoom = this.joinRoom.bind(this);\r\n this.returnToLobby = this.returnToLobby.bind(this);\r\n this.updateIdentity = this.updateIdentity.bind(this);\r\n this.removePlaceholderText = this.removePlaceholderText.bind(this);\r\n }\r\n componentDidMount = () => {\r\n console.log(this.props.user.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.user.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n }\r\n async joinRoom() {\r\n try {\r\n console.log(this.state.client_appt_id);\r\n const endpoint = validateVideoData;\r\n const reqBody =JSON.stringify({\r\n client_appt_id: this.state.client_appt_id,\r\n type: this.state.type\r\n });\r\n const rawResponse = await fetch(endpoint, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n \"Accept\":\"application/json\",\r\n // \"application_id\": \"c86ae3f5-3a96-49f2-af05-94746357d0ec\",\r\n },\r\n body: reqBody\r\n });\r\n const content = await rawResponse.json();\r\n \r\n console.log(content);\r\n\r\nif(content.status === \"1\"){\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({ roomName: this.state.roomName,'identity':this.state.identity })\r\n};\r\nconst response = await fetch(joinroom,requestOptions);\r\nconst data = await response.json();\r\nconst room = await connect(data.token, {\r\nname: 'cool-room',\r\naudio: true,\r\nvideo: true\r\n});\r\n\r\nthis.setState({ room: room });\r\n}\r\nelse {\r\n\r\n toast.error(content.message,{\r\n className:\"toast-error\"\r\n });\r\n\r\n\r\n this.setState({error:content.message});\r\n}\r\n \r\n } catch(err) {\r\n console.log(err);\r\n }\r\n }\r\n returnToLobby() {\r\n this.setState({ room: null });\r\n }\r\n removePlaceholderText() {\r\n this.inputRef.current.placeholder = '';\r\n }\r\n updateIdentity(event) {\r\n this.setState({\r\n identity: event.target.value\r\n });\r\n }\r\n render() {\r\n const disabled = this.state.identity === '' ? true : false;\r\n const { hospitaltimeout } = this.state;\r\n return (\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n { this.props.user.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.user.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n
    \r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n \r\n\r\n\r\n\r\n
    \r\n Press the join room button below to access the video call prior to the start of your appointment.\r\n \r\n { \r\n this.state.room === null\r\n ?
    \r\n \r\n \r\n
    \r\n : \r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect1(mapStateToProps)(JoinRoom));\r\n","import React, { Component,Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport FooterSection from '../components/UI/FooterSection';\r\nimport axios from 'axios';\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getNewsFeedsById,getTimeoutbycategory } from '../config/url.json';\r\nfunction mapStateToProps(state) {\r\n return {\r\n user: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nclass Feeds extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n \r\n addPopup: false,\r\n\r\n action:\"Add\",\r\n newsFeeds: { short_description: \"\", content: \"\",link:\"\"},\r\n \r\n formSuccess: { status: \"\", message: \"\" },\r\n tableSuccess:{status:\"\", message:\"\"},\r\n errors: { short_description: \"\", content: \"\",link:\"\"}\r\n }\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n componentDidMount() {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.user.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch(() => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getNewsFeedsById, {id:this.props.match.params.id})\r\n .then((response) => {\r\n\r\n\r\n this.setState({ newsFeeds: response.data.data })\r\n }).catch(() => {\r\n console.log(\"get queue failed\");\r\n });\r\n }\r\n \r\n \r\n \r\n \r\n render() {\r\n const {\r\n hospitaltimeout,\r\n newsFeeds\r\n } = this.state;\r\n return (\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n { this.props.user.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.user.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n
    \r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> \r\n\r\n
    \r\n
    \r\n
    \r\n

    Feed

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {newsFeeds.short_description}

    \r\n

    \r\n
    \r\n {/* this.gotofeeds(newsFeeds)} className=\"signupbtn abtn button\">Know More */}\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n\r\n\r\n \r\n\r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(Feeds);","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../../components/UI/Popup\";\r\nimport {\r\n getAllMasterDrug,\r\n getAllDrugs,\r\n getAllDrugTypes,\r\n getAllDrugCategories,\r\n addDrug,\r\n updateDrug,\r\n deleteDrug,\r\n searchDrug,\r\n getAllDrugMeasures,\r\n getTimeoutbycategory\r\n} from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport Select from \"react-select\";\r\n\r\nimport Validation from \"../../actions/Validation\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\n// Import React Table\r\nimport \"react-table/react-table.css\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal';\r\nimport { Spinner } from \"../../components/UI/Spinner\";\r\nimport Header from \"../../components/container/layout/business/Header\";\r\nimport BusinessUserSideBar from \"../../components/container/SideBar\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\nimport Dnaspinner from \"../../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nclass RequirementList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n \r\n records: [],\r\n\r\n searchrecords: [],\r\n drug_action: \"Add\",\r\n loading: false,\r\n addDrugSuccess: \"\",\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n search_action: false,\r\n recordToDelete: [],\r\n drugTypes: [],\r\n drugCategories: [],\r\n masterdrugNames: [],\r\n newDatatoAdd: {},\r\n addPopup: false,\r\n drugList: {\r\n s_no: \"\",\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n },\r\n drugData: {\r\n id: \"\",\r\n drug_id: \"\",\r\n manufacturer: \"\",\r\n drug_name: \"\",\r\n drug_type: \"\",\r\n drug_category: \"\",\r\n active_ingredients: \"\",\r\n unit_of_measure: \"\",\r\n },\r\n errors: {\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_type: \"\",\r\n drug_category: \"\",\r\n unit_of_measure: \"\",\r\n },\r\n searchData: {\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n editformSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n searchTableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n \r\n searchErrorMessage: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"alert\",\r\n text: \"Alert\",\r\n className: \"alert\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n {\r\n key: \"drug_name\",\r\n text: \"Drug Name\",\r\n className: \"drug_name\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n \r\n {\r\n key: \"drug_id\",\r\n text: \"Drug ID\",\r\n className: \"drug_id\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n {\r\n key: \"category\",\r\n text: \"Category\",\r\n className: \"category\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n\r\n {\r\n key: \"type\",\r\n text: \"Type\",\r\n className: \"type\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"unitofmeasure\",\r\n text: \"UOM\",\r\n className: \"unitofmeasure\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n \r\n {\r\n key: \"safety\",\r\n text: \"Safety\",\r\n className: \"safety\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"available_stock\",\r\n text: \"Available Stock\",\r\n className: \"available_stock\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n \r\n {\r\n key: \"blocked_stock\",\r\n text: \"Blocked Stock\",\r\n className: \"blocked_stock\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"required_date\",\r\n text: \"Required Date\",\r\n className: \"required_date\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"purchase_info_record\",\r\n text: \"PIR\",\r\n className: \"purchase_info_record\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n \r\n {\r\n key: \"vendor_id\",\r\n text: \"Vendor ID\",\r\n className: \"vendor_id\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n \r\n \r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n \r\n }\r\n\r\n handleCategoryColumnChange = (value, record, field) => {\r\n // console.log(field);\r\n // console.log(value);\r\n // console.log(record);\r\n value[field] = record;\r\n // console.log(record);\r\n // record.availability = \"Yes\" === record.availability ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(value);\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n\r\n this.UpdateColumnChange(record);\r\n };\r\n UpdateColumnChange = (record) => {\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex].drug_id = record.drug_id;\r\n records[recIndex].drug_name = record.drug_name;\r\n records[recIndex].drug_category = record.drug_category;\r\n records[recIndex].drug_type = record.drug_type;\r\n\r\n this.setState({ searchrecords: records });\r\n };\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch(() => { });\r\n let members = [];\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllMasterDrug, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugNameList = drugMasterRespons.data.data;\r\n let masterdrugNames = [];\r\n masterdrugNameList.forEach((element, index) => {\r\n masterdrugNames.push({\r\n value: element.id,\r\n label: element.drug_name,\r\n manufacturer: \"\",\r\n active_incredient: \"\",\r\n });\r\n });\r\n\r\n this.setState({ masterdrugNames });\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugTypes, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugTypeResponse) => {\r\n let drugTypeList = drugTypeResponse.data.data;\r\n let drugTypes = [];\r\n drugTypeList.forEach((element, index) => {\r\n drugTypes.push({ value: element.id, label: element.drug_type });\r\n });\r\n\r\n this.setState({ drugTypes });\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugCategories, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugCategoryResponse) => {\r\n let list = drugCategoryResponse.data.data;\r\n\r\n let drugCategories = [];\r\n list.forEach((element, index) => {\r\n drugCategories.push({\r\n value: element.id,\r\n label: element.drug_category,\r\n });\r\n });\r\n this.setState({ drugCategories });\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugs, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.drug_id = element.drug_id;\r\n drugData.drug_name = element.drug_name;\r\n drugData.drug_type = element.drug_type;\r\n drugData.drug_category = element.drug_category;\r\n drugData.manufacturer = element.manufacturer;\r\n drugData.active_ingredients = element.active_ingredients;\r\n drugData.unit_of_measure = element.unit_of_measure;\r\n drugDataArr[index] = drugData;\r\n });\r\n\r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n axios\r\n .post(getAllDrugMeasures, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugmeasureList = drugMasterRespons.data.data;\r\n console.log(masterdrugmeasureList);\r\n let masterdrugmeasure = [];\r\n masterdrugmeasureList.forEach((element, index) => {\r\n masterdrugmeasure.push({\r\n value: element.unit_of_measure,\r\n label: element.unit_of_measure,\r\n\r\n });\r\n });\r\n\r\n this.setState({ masterdrugmeasure });\r\n })\r\n .catch((e) => { });\r\n };\r\n addRecord = (record) => {\r\n let formvalid = true;\r\n if (record.drug_id === \"\") {\r\n record.drugid_error = \"Please enter drug id\";\r\n formvalid = false;\r\n } else {\r\n record.drugid_error = \"\";\r\n }\r\n if (record.drug_name.label === \"\") {\r\n formvalid = false;\r\n record.drugname_error = \"Please enter drug name\";\r\n } else {\r\n record.drugname_error = \"\";\r\n }\r\n if (record.drug_category.label === \"\") {\r\n formvalid = false;\r\n record.drugcategory_error = \"Please enter drug category\";\r\n } else {\r\n record.drugcategory_error = \"\";\r\n }\r\n if (record.drug_type.label === \"\") {\r\n record.drugtype_error = \"Please enter drug type\";\r\n formvalid = false;\r\n } else {\r\n record.drugtype_error = \"\";\r\n }\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex] = record;\r\n this.setState({ searchrecords: records });\r\n if (formvalid) {\r\n let drug_action = this.state.drug_action;\r\n this.setState({ drug_action: \"Add\" });\r\n this.setState({ newDatatoAdd: record, loading: true });\r\n // this.addorupdateDrug();\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let selectedData = record;\r\n // console.log(selectedData); return false;\r\n let data = {};\r\n data.user_id = this.props.userdata.id;\r\n data.drug_id = selectedData.drug_id;\r\n data.drug_name = selectedData.drug_name.label;\r\n data.drug_type = selectedData.drug_type.label;\r\n data.drug_category = selectedData.drug_category.label;\r\n data.unit_of_measure = selectedData.unit_of_measure.label;\r\n data.manufacturer = selectedData.manufacturer;\r\n data.active_ingredients = selectedData.active_ingredients;\r\n\r\n axios\r\n .post(addDrug, data, CONFIG)\r\n .then((addDrugResponse) => {\r\n let res = addDrugResponse.data;\r\n if (res.status === \"1\") {\r\n let drug = {};\r\n let records = this.state.records;\r\n drug.s_no = this.state.records.length + 1;\r\n drug.drug_id = data.drug_id;\r\n drug.id = res.data[0].id;\r\n drug.drug_name = data.drug_name;\r\n drug.drug_category = data.drug_category;\r\n drug.unit_of_measure = data.unit_of_measure;\r\n drug.manufacturer = data.manufacturer;\r\n drug.drug_type = data.drug_type;\r\n drug.active_ingredients = data.active_ingredients;\r\n records.push(drug);\r\n // this.setState({ searchrecords: records });\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n this.clearMessage();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch((e) => { });\r\n }\r\n };\r\n editRecord(record) {\r\n let drug_action = this.state.drug_action;\r\n drug_action = \"Edit\";\r\n this.setState({ drug_action });\r\n\r\n let drugData = this.state.drugData;\r\n drugData.s_no = record.s_no;\r\n drugData.id = record.id;\r\n drugData.drug_id = record.drug_id;\r\n\r\n drugData.drug_name = {\r\n label: record.drug_name,\r\n value: record.drug_name,\r\n };\r\n drugData.manufacturer = record.manufacturer;\r\n drugData.drug_type = {\r\n label: record.drug_type,\r\n value: record.drug_type,\r\n };\r\n drugData.drug_category = {\r\n label: record.drug_category,\r\n value: record.drug_category,\r\n };\r\n drugData.unit_of_measure = {\r\n label: record.unit_of_measure,\r\n value: record.unit_of_measure,\r\n };\r\n drugData.active_ingredients = record.active_ingredients;\r\n this.setState({ drugData: drugData });\r\n }\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.drugData;\r\n data[e.name] = selectedOptions;\r\n // if (e.name === \"drug_name\") {\r\n // data.manufacturer = selectedOptions.manufacturer;\r\n // data.active_ingredients = selectedOptions.active_ingredients;\r\n // }\r\n this.setState({ drugData: data });\r\n };\r\n handlesearchinputChange = (eve) => {\r\n let data = this.state.searchData;\r\n\r\n data[eve.target.name] = eve.target.value;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n handlesearchselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n\r\n // if (e.name === \"drug_name\") {\r\n // data.manufacturer = selectedOptions.manufacturer;\r\n // data.active_ingredients = selectedOptions.active_ingredients;\r\n // } else {\r\n // data[e.name] = selectedOptions;\r\n // }\r\n // if (e.name === \"manufacturer\" || e.name === \"active_ingredients\") {\r\n // data[e.name] = selectedOptions.target.value;\r\n // } else {\r\n data[e.name] = selectedOptions;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n\r\n handleInput = (e) => {\r\n let data = this.state.drugData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n this.setState({ drugData: data });\r\n };\r\n\r\n addorupdateDrug() {\r\n let url = this.state.drug_action === \"Add\" ? addDrug : updateDrug;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let selectedData = this.state.newDatatoAdd;\r\n\r\n let { drugData, errors } = this.state;\r\n drugData.type = \"drug\";\r\n errors = Validation(drugData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n let data = {};\r\n data.s_no = drugData.s_no;\r\n data.user_id = this.props.userdata.id;\r\n data.id = drugData.id;\r\n data.drug_id = drugData.drug_id;\r\n data.drug_name = drugData.drug_name.label;\r\n data.drug_type = drugData.drug_type.label;\r\n data.unit_of_measure = drugData.unit_of_measure.label;\r\n data.drug_category = drugData.drug_category.label;\r\n data.manufacturer = drugData.manufacturer;\r\n data.active_ingredients = drugData.active_ingredients;\r\n let records = this.state.records;\r\n if (this.state.drug_action === \"Add\") {\r\n axios\r\n .post(url, data, CONFIG)\r\n .then((addDrugResponse) => {\r\n let res = addDrugResponse.data;\r\n if (res.status === \"1\") {\r\n let drug = {};\r\n\r\n drug.s_no = this.state.records.length + 1;\r\n drug.drug_id = data.drug_id;\r\n drug.id = res.data[0].id;\r\n drug.drug_name = data.drug_name;\r\n drug.drug_category = data.drug_category;\r\n drug.manufacturer = data.manufacturer;\r\n drug.unit_of_measure = data.unit_of_measure;\r\n drug.drug_type = data.drug_type;\r\n drug.active_ingredients = data.active_ingredients;\r\n records.push(drug);\r\n // this.setState({ searchrecords: records });\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n editformSuccess: res,\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch((e) => { });\r\n } else {\r\n axios\r\n .put(url, data, CONFIG)\r\n .then((updateDrugResponse) => {\r\n let updateResponse = updateDrugResponse.data;\r\n if (updateResponse.status === \"1\") {\r\n let addDrugSuccess = this.state.addDrugSuccess;\r\n addDrugSuccess = updateResponse.message;\r\n this.setState({ addDrugSuccess: addDrugSuccess });\r\n\r\n /** Updating the data table */\r\n let existingRecords = this.state.records;\r\n var index = existingRecords.findIndex(\r\n (item) => item.id === data.id\r\n );\r\n existingRecords.splice(index, 1, data);\r\n this.setState({ records: existingRecords });\r\n // this.setState({ tableSuccess: updateResponse });\r\n this.setState({ editformSuccess: updateResponse });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({ editformSuccess: updateResponse });\r\n this.clearMessage();\r\n }\r\n this.setState({ loading: false });\r\n })\r\n .catch((e) => { });\r\n }\r\n }\r\n }\r\n\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n\r\n cancelDelete() {\r\n this.setState({\r\n showDeleteConfirmPopup: !this.state.showDeleteConfirmPopup,\r\n });\r\n }\r\n\r\n deleteRecord(record) {\r\n let userId = record.id;\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deleteDrug, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\", loading: false });\r\n this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n })\r\n .catch((e) => { });\r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n searchTableSuccess: { message: \"\" },\r\n editformSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n clearAll() {\r\n let drug_action = this.state.drug_action;\r\n drug_action = \"Add\";\r\n this.setState({ drug_action });\r\n let drugData = {};\r\n drugData.drug_id = \"\";\r\n drugData.drug_name = \"\";\r\n drugData.manufacturer = \"\";\r\n drugData.drug_category = \"\";\r\n drugData.drug_type = \"\";\r\n drugData.active_ingredients = \"\";\r\n drugData.unit_of_measure = \"\";\r\n this.setState({ drugData });\r\n }\r\n\r\n searchandshowDrug() {\r\n let searchData = this.state.searchData;\r\n console.log(searchData);\r\n if (\r\n (searchData.drug_name === \"\" || null === searchData.drug_name) &&\r\n (searchData.drug_category === \"\" || null === searchData.drug_category) &&\r\n (searchData.drug_type === \"\" || null === searchData.drug_type) &&\r\n searchData.manufacturer === \"\" &&\r\n searchData.active_ingredients === \"\"\r\n ) {\r\n this.setState({\r\n searchErrorMessage:\r\n \"Choose any one of the search filter to search.\",\r\n });\r\n return;\r\n } else {\r\n this.setState({\r\n searchErrorMessage: \"\",\r\n });\r\n }\r\n let data = {};\r\n data.drug_name = searchData.drug_name ? searchData.drug_name.label : \"\";\r\n data.drug_category = searchData.drug_category\r\n ? searchData.drug_category.label\r\n : \"\";\r\n data.drug_type = searchData.drug_type ? searchData.drug_type.label : \"\";\r\n data.manufacturer = searchData.manufacturer;\r\n data.active_ingredients = searchData.active_ingredients;\r\n data.type = \"admin\";\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(searchDrug, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n let data = [];\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n console.log(this.state.masterdrugmeasure[0]);\r\n records.forEach((element, index) => {\r\n console.log(element)\r\n data.push({\r\n drug_id: \"\",\r\n drug_name: { label: element.drug_name, value: element.drug_name },\r\n drug_name_hide: element.drug_name,\r\n drug_category: {\r\n label: element.drug_category,\r\n value: element.drug_category,\r\n },\r\n unit_of_measure: element.unit_of_measure ? {\r\n label: element.unit_of_measure,\r\n value: element.unit_of_measure,\r\n } : this.state.masterdrugmeasure[0],\r\n drug_category_hide: element.drug_category,\r\n drug_type: { label: element.drug_type, value: element.drug_type },\r\n drug_type_hide: element.drug_type,\r\n manufacturer: element.manufacturer,\r\n active_ingredients: element.active_ingredients,\r\n id: element.id,\r\n drugid_error: \"\",\r\n drugcategory_error: \"\",\r\n drugtype_error: \"\",\r\n drugname_error: \"\",\r\n });\r\n });\r\n\r\n this.setState({ searchrecords: data });\r\n this.setState({\r\n search_action: true,\r\n });\r\n } else {\r\n this.setState({ searchrecords: [], search_action: true });\r\n }\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const {\r\n drugData,\r\n drugTypes,\r\n drugCategories,\r\n masterdrugNames,\r\n errors,\r\n searchData,\r\n loading,\r\n formSuccess,\r\n searchTableSuccess,\r\n editformSuccess,\r\n tableSuccess,\r\n searchErrorMessage,\r\n hospitaltimeout,\r\n } = this.state;\r\n const modalVar = this.state.showDeleteConfirmPopup;\r\n\r\n return (\r\n
    \r\n {/* */}\r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {/* */}\r\n\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n

    Requirement List

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n );\r\n}\r\n}\r\nexport default connect(mapStateToProps)(RequirementList);\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport {\r\n getAllDrugMeasures,\r\n getTimeoutbycategory,\r\n getAllSupplierList,\r\n getDrugNamebyDrugId,\r\n getAllStorageBinList,\r\n updateSupplier,\r\n getcurrencybycountryname,\r\n getcountrybyhospital,\r\n} from \"../../config/url.json\";\r\nimport{addMaterialMovement} from \"../../config/url.json\";\r\nimport Label from \"../../components/UI/Label\";\r\nimport {\r\n getDateISOFormat,\r\n getPatientProfileColor,\r\n calculate_age,\r\n} from \"../../constants/globalLevelFunctions\";\r\n\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\nimport TextArea from \"../../components/UI/TextArea\";\r\nimport { Spinner } from \"../../components/UI/Spinner\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport * as moment from \"moment\";\r\nimport Select from \"react-select\";\r\nimport BottomNavigation from \"@material-ui/core/BottomNavigation\";\r\nimport BottomNavigationAction from \"@material-ui/core/BottomNavigationAction\";\r\nimport PersonIcon from \"@material-ui/icons/Person\";\r\nimport PersonAddIcon from \"@material-ui/icons/PersonAdd\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ExpirePopup } from \"../../components/UI/ExpirePopup\";\r\nimport Header from \"../../components/container/layout/business/Header\";\r\nimport BusinessUserSideBar from \"../../components/container/SideBar\";\r\nimport {\r\n \r\n movement_type,\r\n stock_type\r\n\r\n} from \"../../constants/config/data\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal'\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\nimport { option } from \"yargs\";\r\nimport Dnaspinner from \"../../components/UI/Dnaspinner\";\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n/* var cc = require(\"country-code\");\r\ncc.find({name: \"Algeria\"})\r\n */\r\nclass MaterialMovement extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.searchData = {\r\n phone_number: \"\",\r\n error: \"\",\r\n };\r\n this.clientData = {\r\n emergency_schedule: [],\r\n id: \"\",\r\n relationship: {},\r\n first_name: \"\",\r\n last_name: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n blood_group: \"\",\r\n checkin_category: {\r\n label: \"Normal\",\r\n value: \"Normal\",\r\n },\r\n\r\n // checkin_category: checkin_category,\r\n queue_number: \"\",\r\n reason_for_visit: \"\",\r\n other_comments: \"\",\r\n schedule_day_id: \"\",\r\n queue_data: [],\r\n\r\n //patient basic check up\r\n height: \"\",\r\n weight: \"\",\r\n bmi: \"\",\r\n temperature: \"\",\r\n bp: \"\",\r\n pulse: \"\",\r\n symptoms: \"\",\r\n };\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n const currency=this.state;\r\n \r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n actions: \"add\",\r\n selectedSymptoms: [],\r\n symptoms: [],\r\n activeIndex: '',\r\n cloneSymptoms: [],\r\n countryName: '',\r\n countryCode: '',\r\n symptomCategory: [],\r\n showexpirePopup: this.props.validity,\r\n\r\n emergency_queue_data: [],\r\n clientData: Object.assign({}, this.clientData),\r\n errors: {},\r\n searchData: this.searchData,\r\n family_details: [],\r\n searchSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n disable_insert_queue: false,\r\n is_add_btn: true,\r\n // queueData: {},\r\n loading: false,\r\n // businessdata: [],\r\n doctor_appointment_detail_list: [],\r\n selected_doctor_appointment_detail_list: [],\r\n doctor_list: [],\r\n selected_doc: {},\r\n selectedPerson: \"\",\r\n patientBasicData: [],\r\n is_queued: false,\r\n is_check_in: false,\r\n expected_time: \"\",\r\n cancelModel: false,\r\n Materialmovement: {\r\n materialmovement_id: \"\",\r\n materialmovement_name: \"\",\r\n document_date: \"\",\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n quantity:\"\",\r\n unit_of_measure:\"\",\r\n batch_number:\"\",\r\n stock_type:\"\",\r\n manufacture_date:\"\",\r\n expiration_date:\"\",\r\n order_number:\"\",\r\n storage_bin:\"\",\r\n supplier:\"\",\r\n customer:\"\",\r\n cost_center:\"\",\r\n cost:\"\",\r\n currency:currency,\r\n reference:\"\",\r\n receiving_person:\"\"\r\n\r\n },\r\n\r\n errors: {\r\n id: \"\",\r\n materialmovement_id: \"\",\r\n materialmovement_name: \"\",\r\n document_date: \"\",\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n quantity:\"\",\r\n unit_of_measure:\"\",\r\n batch_number:\"\",\r\n stock_type:\"\",\r\n manufacture_date:\"\",\r\n expiration_date:\"\",\r\n order_number:\"\",\r\n storage_bin:\"\",\r\n supplier:\"\",\r\n customer:\"\",\r\n cost_center:\"\",\r\n cost:\"\",\r\n currency:\"\",\r\n reference:\"\",\r\n receiving_person:\"\"\r\n\r\n },\r\n\r\n };\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n }\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n //this.props.logout();\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n\r\n getGeoInfo = () => {\r\n axios.get('https://ipapi.co/json/').then((response) => {\r\n let data = response.data;\r\n this.setState({\r\n countryName: data.country_name,\r\n countryCode: data.country_calling_code\r\n });\r\n }).catch((error) => {\r\n console.log(error);\r\n });\r\n};\r\n \r\n\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n searchSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n \r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.Materialmovement;\r\n data[e.name] = selectedOptions;\r\n \r\n // console.log(selectedOptions)\r\n this.setState({ Materialmovement: data });\r\n};\r\n componentDidMount = () => {\r\n this.getGeoInfo();\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n axios\r\n .post(getAllDrugMeasures, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugmeasureList = drugMasterRespons.data.data;\r\n console.log(masterdrugmeasureList);\r\n let masterdrugmeasure = [];\r\n masterdrugmeasureList.forEach((element) => {\r\n masterdrugmeasure.push({\r\n value: element.unit_of_measure,\r\n label: element.unit_of_measure,\r\n\r\n });\r\n });\r\n\r\n this.setState({ masterdrugmeasure });\r\n })\r\n .catch(() => { });\r\n axios\r\n .post(getAllSupplierList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((supplierListRespons) => {\r\n let supplierList = supplierListRespons.data.data;\r\n console.log(supplierList);\r\n let supplier = [];\r\n supplierList.forEach((element) => {\r\n supplier.push({\r\n value: element.supplier_id,\r\n label: element.supplier_name,\r\n\r\n });\r\n });\r\n\r\n this.setState({ supplier });\r\n })\r\n .catch(() => { });\r\n\r\n axios\r\n .post(getAllStorageBinList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((storagebinListRespons) => {\r\n let storagebinList = storagebinListRespons.data.data;\r\n console.log(storagebinList);\r\n let storagebin = [];\r\n storagebinList.forEach((element) => {\r\n storagebin.push({\r\n value: element.storagebin_id,\r\n label: element.storagebin_id,\r\n\r\n });\r\n });\r\n\r\n this.setState({ storagebin });\r\n })\r\n .catch(() => { });\r\n let Materialmovement=this.state.Materialmovement;\r\n if(Materialmovement.currency === \"\" || Materialmovement.currency === null || Materialmovement.currency === undefined){\r\n \r\n /* axios.get('https://ipapi.co/json/').then((response) => {\r\n let data = response.data;\r\n this.setState({\r\n countryName: data.country_name,\r\n countryCode: data.country_calling_code,\r\n currencyvalue:data.currency\r\n }); \r\n let countryName=this.state.countryName;*/\r\n axios\r\n .post(getcountrybyhospital, { user_id:this.props.userdata.id}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data[0].country);\r\n if (data.status == \"1\")\r\n this.setState({\r\n country: data.data[0].country\r\n \r\n });\r\n axios\r\n .post(getcurrencybycountryname, { country:data.data[0].country}, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data[0].currency);\r\n Materialmovement.currency=data.data[0].currency;\r\n if (data.status == \"1\")\r\n this.setState({\r\n currency: data.data[0].currency\r\n \r\n });\r\n })\r\n .catch((e) => { });\r\n })\r\n .catch((e) => { });\r\n \r\n // }).catch((error) => {\r\n // console.log(error);\r\n // });\r\n \r\n console.log(this.state.countryName);\r\n }\r\n\r\n\r\n };\r\n updateMaterialmovement = (e) => {\r\n e.preventDefault();\r\n let { Materialmovement, errors } = this.state;\r\n let data = {};\r\n data.type = \"Materialmovement\";\r\n data.materialmovement_name = Materialmovement.materialmovement_name.label;\r\n data.document_date = Materialmovement.document_date;\r\n data.drug_id = Materialmovement.drug_id;\r\n data.drug_name = Materialmovement.drug_name.label;\r\n data.quantity = Materialmovement.quantity;\r\n data.unit_of_measure = Materialmovement.unit_of_measure.label;\r\n data.batch_number = Materialmovement.batch_number;\r\n data.stock_type=Materialmovement.stock_type.label;\r\n data.manufacture_date=Materialmovement.manufacture_date;\r\n data.expiration_date=Materialmovement.expiration_date;\r\n data.order_number=Materialmovement.order_number;\r\n data.storage_bin=Materialmovement.storage_bin;\r\n data.supplier=Materialmovement.supplier.label;\r\n data.customer=Materialmovement.customer;\r\n data.cost_center=Materialmovement.cost_center;\r\n data.cost=Materialmovement.cost;\r\n data.currency=Materialmovement.currency;\r\n data.reference=Materialmovement.reference;\r\n data.receiving_person=Materialmovement.receiving_person;\r\n data.user_id = this.props.userdata.id;\r\n console.log(data);\r\n // this.setState({ loading: true });\r\n errors = Validation(data, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n // console.log(data); return false;\r\n\r\n // let url = this.state.actions === \"add\" ? addSupplier : updatesupplier;\r\n if (this.state.actions === \"add\") {\r\n axios.post(addMaterialMovement, data, CONFIG).then((list) => {\r\n let res = list.data;\r\n if (res.status === \"1\") {\r\n let materialmovementData = {};\r\n materialmovementData.materialmovement_name = data.materialmovement_name.label;\r\n materialmovementData.document_date = data.document_date;\r\n materialmovementData.drug_id = data.drug_id;\r\n materialmovementData.drug_name = data.drug_name.label;\r\n materialmovementData.quantity = data.quantity;\r\n materialmovementData.unit_of_measure = data.unit_of_measure.label;\r\n materialmovementData.batch_number = data.batch_number;\r\n materialmovementData.stock_type=data.stock_type.label;\r\n materialmovementData.manufacture_date=data.manufacture_date;\r\n materialmovementData.expiration_date=data.expiration_date;\r\n materialmovementData.order_number=data.order_number;\r\n materialmovementData.storage_bin=data.storage_bin;\r\n materialmovementData.supplier=data.supplier.label;\r\n materialmovementData.customer=data.customer;\r\n materialmovementData.cost_center=data.cost_center;\r\n materialmovementData.cost=data.cost;\r\n materialmovementData.currency=data.currency;\r\n materialmovementData.reference=data.reference;\r\n materialmovementData.receiving_person=data.receiving_person;\r\n materialmovementData.user_id=data.user_id;\r\n materialmovementData.materialmovement_id = list.data.data[0].materialmovement_id;\r\n // addsupplier.id = list.data.data;\r\n\r\n let records = this.state.records;\r\n //materialmovementData.s_no = records.length + 1;\r\n // records.push(materialmovementData);\r\n \r\n // this.setState({ records});\r\n toast.success(\"Material Movement added \",{\r\n className:\"toast-success\"\r\n });\r\n // this.setState({ loading: false });\r\n this.clearMessage();\r\n // this.cancel();\r\n // }\r\n }\r\n if ('0' === list.data.status) {\r\n this.setState({ loading: false });\r\n this.setState({ errors: { storage_bin: list.data.message } });\r\n } \r\n });\r\n } \r\n /* else {\r\n data.materialmovement_id = Materialmovementdata.materialmovement_id;\r\n console.log(data)\r\n axios.put(updateSupplier, data, CONFIG).then((list) => {\r\n if ('0' === list.data.status) {\r\n this.setState({ loading: false });\r\n this.setState({ errors: { supplier_id: list.data.message } });\r\n } else {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", data.id);\r\n console.log(recIndex);\r\n console.log(records);\r\n records[recIndex].supplier_id = data.supplier_id;\r\n records[recIndex].supplier_name = data.supplier_name;\r\n records[recIndex].address = data.address;\r\n records[recIndex].phone_number = data.phone_number;\r\n records[recIndex].status = data.status;\r\n records[recIndex].payment_terms = data.payment_terms;\r\n records[recIndex].gst = data.gst;\r\n records[recIndex].discount = data.discount;\r\n records[recIndex].user_id = data.user_id;\r\n records[recIndex].id = data.id;\r\n\r\n // this.setState({ records, formSuccess: list.data });\r\n // this.setState({ loading: false });\r\n toast.success(\"Supplier Updated Successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n } */\r\n }\r\n};\r\n handlePhoneInput = (event) => {\r\n event.preventDefault();\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n data[event.target.name] = event.target.value\r\n .replace(/\\s/g, \"\")\r\n .replace(/[^0-9+]+/g, \"\");\r\n data.error = \"\";\r\n this.setState({ searchData: data, errors });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.clientData;\r\n let errors = this.state.errors;\r\n\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Exceeds maximum length\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n\r\n }\r\n this.setState({ clientData: data, errors });\r\n }\r\n handleInput = (e) => {\r\n e.preventDefault();\r\n let data = this.state.Materialmovement;\r\n data[e.target.name] = e.target.value;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n\r\n data[name] = value;\r\n\r\n \r\n this.setState({ Materialmovement: data });\r\n };\r\n handledrugIdInput = (e) => {\r\n e.preventDefault();\r\n let data = this.state.Materialmovement;\r\n data[e.target.name] = e.target.value;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n data[name] = value;\r\n \r\n \r\n \r\n axios\r\n .post(getDrugNamebyDrugId, {user_id:this.props.userdata.id,drug_id:value}, CONFIG)\r\n .then((drugRespons) => {\r\n let drugList = drugRespons.data.data;\r\n console.log(drugList);\r\n let DrugNames = [];\r\n drugList.forEach((element) => {\r\n DrugNames.push({\r\n value: element.drug_id,\r\n label: element.drug_name,\r\n\r\n });\r\n });\r\n\r\n this.setState({ DrugNames });\r\n })\r\n .catch(() => { });\r\n axios\r\n .post(getDrugNamebyDrugId, {user_id:this.props.userdata.id,drug_id:value}, CONFIG)\r\n .then((drugRespons) => {\r\n let drugList = drugRespons.data.data[0];\r\n console.log(drugList);\r\n let batch_management=drugList.batch_management;\r\n console.log(batch_management);\r\n let batch_managementarray= JSON.parse(batch_management);\r\n let batch_management_value=batch_managementarray.batch_management;\r\n \r\n this.setState({ batch_management_value }); \r\n\r\n\r\n })\r\n .catch(() => { });\r\n this.setState({ Materialmovement: data });\r\n };\r\n handlestoragebinInput = (e) => {\r\n e.preventDefault();\r\n let data = this.state.Materialmovement;\r\n data[e.target.name] = e.target.value;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n data[name] = value;\r\n\r\n \r\n this.setState({ Materialmovement: data });\r\n };\r\n handleDocumentdateChange = (date) => {\r\n let data = this.state.Materialmovement;\r\n let errors = this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n data.document_date = offsetDate;\r\n errors.document_date = \"\";\r\n this.setState({ Materialmovement: data, errors });\r\n };\r\n handleManufacturedateChange = (date) => {\r\n let data = this.state.Materialmovement;\r\n let errors = this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n data.manufacture_date = offsetDate;\r\n errors.manufacture_date = \"\";\r\n this.setState({ Materialmovement: data, errors });\r\n };\r\n handleExpirationdateChange = (date) => {\r\n let data = this.state.Materialmovement;\r\n let errors = this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n data.expiration_date = offsetDate;\r\n errors.expiration_date = \"\";\r\n this.setState({ Materialmovement: data, errors });\r\n };\r\n handlePatientChange(value, field) {\r\n let fields = this.state.clientData;\r\n let errors = this.state.errors;\r\n if (value === \"gender\") {\r\n fields.gender = field;\r\n errors.gender = \"\";\r\n // errors[i].specialization = '';\r\n } else if (value === \"reason_for_visit\") {\r\n fields.reason_for_visit = field;\r\n errors.reason_for_visit = \"\";\r\n\r\n } else if (value === \"blood_group\") {\r\n fields.blood_group = field;\r\n } else if (value === \"emergency_schedule\") {\r\n fields.emergency_schedule = field;\r\n } else if (value === \"checkin_category\") {\r\n fields.checkin_category = field;\r\n\r\n if (field.label === \"Normal\") {\r\n this.setState({ disable_insert_queue: false });\r\n } else {\r\n this.setState({ disable_insert_queue: true });\r\n }\r\n this.getQueueList();\r\n } else if (value === \"disease\") {\r\n fields.disease = field;\r\n // errors[i].specialization = '';\r\n } else if (value === \"relationship\") {\r\n fields.relationship = field;\r\n errors.relationship = \"\";\r\n }\r\n\r\n this.setState({\r\n clientData: fields,\r\n });\r\n }\r\n\r\n closePopup = (e) => {\r\n this.setState({\r\n cancelModel: false,\r\n });\r\n };\r\n\r\n\r\n \r\n\r\n render() {\r\n const { searchSuccess, errors, hospitaltimeout,masterdrugmeasure,supplier,DrugNames,Materialmovement,searchErrorMessage,currency,loading } = this.state;\r\n \r\n let PopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let PopupConfirm = () => {\r\n window.location.href = \"/showsubscription\"\r\n // this.props.history.push({\r\n // pathname: \"/showsubscription\",\r\n // state: {}\r\n // });\r\n };\r\n return (\r\n
    \r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n

    Material Movement

    \r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n {searchErrorMessage ? (\r\n \r\n {searchErrorMessage}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    Material Movement
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \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.handleManufacturedateChange(date)}\r\n />\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.handleExpirationdateChange(date)}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \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.handleDOBChange(date)}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n\r\n \r\n\r\n
    \r\n
    */}\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\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.selectCountry(val)\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n this.selectState(val)\r\n }\r\n placeholder=\"State\"\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Insurance Details
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/* \r\n{(this.state.clientData.user_id!==undefined)?(\r\n
    \r\n \r\n
    \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.is_add_btn ? null : (\r\n \r\n )}\r\n \r\n \r\n \r\n
    \r\n {this.state.is_add_btn == true ?\r\n \r\n Add Patient{\" \"}\r\n : \r\n Add Patient{\" \"}\r\n }\r\n \r\n \r\n {this.state.is_admit_in\r\n ? \"Admitted\"\r\n : \"Admit\"}\r\n \r\n \r\n {\" \"}\r\n \r\n Reset\r\n \r\n
    \r\n\r\n \r\n \r\n \r\n Cancel Appointment\r\n \r\n \r\n \r\n
    \r\n

    \r\n Are you sure you want to Cancel the appoinment ?\r\n

    \r\n\r\n
    \r\n
    \r\n {\r\n this.setState({\r\n cancelModel: false,\r\n cancelRecord: {},\r\n });\r\n }}\r\n >\r\n No\r\n \r\n
    \r\n  \r\n
    \r\n \r\n Yes\r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Vital Details
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Height\r\n \"\"\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n cm \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Weight\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n kg \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Temperature\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n °F \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    BMI\r\n \"\"\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n bmi\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    BP\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n mmHg \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Pulse\r\n \"\"\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n per min\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    Admission Details

    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n this.handleAdmissionChange(date)}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Symptom List
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n {this.state.selectedSymptoms}\r\n\r\n {!this.state.is_admit_in && this.state.symptoms.map((symptom, i) => {\r\n return (\r\n
    \r\n -1}\r\n\r\n />\r\n \r\n {symptom.symptom_name}\r\n \r\n
    \r\n );\r\n })}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Symptom Category
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n {symptomCategory.map(\r\n (symptom, index) => {\r\n return (\r\n \r\n this.searchAndShowSymptom(\r\n symptom,\r\n index\r\n )\r\n }\r\n >\r\n {symptom.label}\r\n \r\n );\r\n }\r\n )}\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(InPatientCheckin));\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n// import FooterSection from \"../../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\n// import BusinessUserSideBar from \"../../components/container/SideBar\";\r\n// import Header from \"../../components/container/layout/business/Header\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../../components/UI/Popup\";\r\nimport Label from \"../../components/UI/Label\";\r\nimport {\r\n getAllFacilities,\r\n getAllFacilityCategory,\r\n addFacility,\r\n updateFacility,\r\n deleteFacility,\r\n getTimeoutbycategory\r\n} from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport Select from \"react-select\";\r\nimport Validation from \"../../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport { Popupinfo } from \"../../components/UI/Popupinfo\";\r\nimport Header from \"../../components/container/layout/business/Header\";\r\nimport BusinessUserSideBar from \"../../components/container/SideBar\";\r\nimport TextArea from \"../../components/UI/TextArea\";\r\nimport { Spinner } from \"../../components/UI/Spinner\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport PhoneInput, { isValidPhoneNumber, parsePhoneNumber } from \"react-phone-number-input\";\r\nimport { ExpirePopup } from \"../../components/UI/ExpirePopup\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\nconst availabilityOptions = [\r\n { value: 1, label: \"Yes\" },\r\n { value: 0, label: \"No\" },\r\n];\r\n\r\nclass InpFacilityList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout=this.state;\r\n\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout:hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n records: [],\r\n addPopup: false,\r\n showexpirePopup: this.props.validity,\r\n actions: \"add\",\r\n facilityCategory: [],\r\n facilityData: {\r\n id: \"\",\r\n facility_id: \"\",\r\n facility_name: \"\",\r\n facility_category: \"\",\r\n facility_category_id: \"\",\r\n facility_category_obj: { value: \"\", label: \"\" },\r\n facility_availability: { value: \"\", label: \"\" },\r\n occupied: \"\",\r\n availability: \"\",\r\n available: \"\",\r\n total: \"\",\r\n },\r\n\r\n errors: {\r\n facility_id: \"\",\r\n facility_name: \"\",\r\n facility_category: \"\",\r\n occupied: \"\",\r\n availability: \"\",\r\n available: \"\",\r\n total: \"\",\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n this.columns = [\r\n {\r\n // key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n // key: \"facility_category\",\r\n text: \"Category\",\r\n className: \"facility_category\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n // key: \"facility_id\",\r\n text: \"Facility ID\",\r\n className: \"facility_id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n // key: \"facility_name\",\r\n text: \"Description\",\r\n className: \"facility_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"facility_type\",\r\n text: \"Facility Type\",\r\n className: \"facility_type\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n \r\n {\r\n key: \"facility_category_id\",\r\n text: \"Category ID\",\r\n className: \"hidden-column\",\r\n TrOnlyClassName: \"hidden-column\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n /* {\r\n key: \"availability\",\r\n text: \"Availability\",\r\n className: \"availability sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n let obj = {\r\n label: record.availability,\r\n value: \"Yes\" === record.availability ? 1 : 0,\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    Patient Room
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n  \r\n  \r\n  \r\n {\" \"}\r\n {/* */}\r\n
    \r\n  \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n  \r\n  \r\n  \r\n {\" \"}\r\n {/* */}\r\n
    \r\n  \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n }\r\n export default withRouter(connect(mapStateToProps,mapDispatchToProps)(InpFacilityList));\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../../components/UI/Popup\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nimport {\r\n getAllMasterDrug,\r\n getAllSupplierList,\r\n getAllDrugTypes,\r\n getAllDrugCategories,\r\n getPurchaseInfoRecord, \r\n addPurchaseInfo,\r\n updatePurchaseInfo,\r\n deletePurchaseInfo,\r\n getDrugPlanningDetails,\r\n getAllDrugMeasures,\r\n getTimeoutbycategory\r\n} from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport Select from \"react-select\";\r\n\r\nimport Validation from \"../../actions/Validation\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\n// Import React Table\r\nimport \"react-table/react-table.css\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal';\r\nimport { Spinner } from \"../../components/UI/Spinner\";\r\nimport Header from \"../../components/container/layout/business/Header\";\r\nimport BusinessUserSideBar from \"../../components/container/SideBar\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\nimport { ExpirePopup } from \"../../components/UI/ExpirePopup\";\r\nimport Dnaspinner from \"../../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n };\r\n}\r\nconst onlineOptions = [\r\n { value: 1, label: \"Active\" },\r\n { value: 0, label: \"In-active\" },\r\n];\r\n\r\nclass InpRoomTransfer extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n \r\n drug_id_list:[],\r\n records: [],\r\n masterdrugmeasure:[],\r\n searchrecords: [],\r\n purchase_action: \"Add\",\r\n loading: false,\r\n addDrugSuccess: \"\",\r\n showDeleteConfirmPopup: false,\r\n showexpirePopup: this.props.validity,\r\n confirmedDelete: false,\r\n search_action: false,\r\n recordToDelete: [],\r\n drugTypes: [],\r\n drugCategories: [],\r\n masterdrugNames: [],\r\n newDatatoAdd: {},\r\n addPopup: false,\r\n drugList: {\r\n s_no: \"\",\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n },\r\n purchaseinfo: {\r\n id: \"\",\r\n drug_id: \"\",\r\n pir:\"\",\r\n supplier_id:\"\",\r\n category:\"\",\r\n type:\"\",\r\n order_unit:\"\", \r\n manufacturer: \"\",\r\n min_lot: \"\",\r\n max_lot: \"\",\r\n discount: \"\",\r\n gst: \"\",\r\n price_per_unit: \"\",\r\n status:\"\"\r\n },\r\n errors: {\r\n id: \"\",\r\n drug_id: \"\",\r\n pir:\"\",\r\n supplier_id:\"\",\r\n category:\"\",\r\n type:\"\",\r\n order_unit:\"\", \r\n manufacturer: \"\",\r\n min_lot: \"\",\r\n max_lot: \"\",\r\n discount: \"\",\r\n gst: \"\",\r\n price_per_unit: \"\",\r\n status:\"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n editformSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n searchTableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n columns: [\r\n { title: \"Drug Id\", field: \"drug_id\" },\r\n { title: \"Drug Name\", field: \"drug_name\" },\r\n { title: \"Drug Category\", field: \"drug_category\" },\r\n { title: \"Drug Type\", field: \"drug_type\" },\r\n { title: \"Manufacturer\", field: \"manufacturer\" },\r\n { title: \"Active Ingredients\", field: \"active_ingredients\" },\r\n ],\r\n \r\n searchErrorMessage: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n {\r\n key: \"category\",\r\n text: \"Category\",\r\n className: \"pir\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n \r\n {\r\n key: \"facility_id\",\r\n text: \"Facility ID\",\r\n className: \"facility_id\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n {\r\n key: \"drug_id\",\r\n text: \"Facility Type\",\r\n className: \"drug_id\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n\r\n {\r\n key: \"category\",\r\n text: \"Ward\",\r\n className: \"category1\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"type\",\r\n text: \"Floor\",\r\n className: \"type\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n /* {\r\n key: \"manufacturer\",\r\n text: \"Manufacturer\",\r\n className: \"manufacturer\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"order_unit\",\r\n text: \"Order Unit\",\r\n className: \"order_unit\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"min_lot\",\r\n text: \"Min Lot\",\r\n className: \"min_lot\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"max_lot\",\r\n text: \"Max Lot\",\r\n className: \"max_lot\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"discount\",\r\n text: \"Discount(%)\",\r\n className: \"discount\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"gst\",\r\n text: \"Tax Percentage(%)\",\r\n className: \"gst\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n\r\n {\r\n key: \"price_per_unit\",\r\n text: \"Price Per Unit\",\r\n className: \"price_per_unit\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"status\",\r\n text: \"Purchaseinfo Status\",\r\n className: \"status sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n let obj = {\r\n label: record.status,\r\n value: record.status,\r\n };\r\n return (\r\n \r\n \r\n
    \r\n {\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"s_no\", billing_record.s_no);\r\n if (null != record) {\r\n records[recIndex].selectedSearchBoxValue = record;\r\n records[recIndex].fee = record.amount;\r\n records[recIndex].gst_rate = record.tax_percentage + \" %\";\r\n records[recIndex].gst_amount =\r\n (record.tax_percentage / 100) * record.amount;\r\n records[recIndex].total_amount =\r\n Number(records[recIndex].fee) +\r\n Number(records[recIndex].gst_amount);\r\n } else {\r\n records[recIndex].selectedSearchBoxValue = \"\";\r\n records[recIndex].fee = \"\";\r\n records[recIndex].gst_rate = \"\";\r\n records[recIndex].gst_amount = \"\";\r\n records[recIndex].total_amount = \"\";\r\n }\r\n\r\n console.log(recIndex);\r\n console.log(records.length - 1);\r\n if (recIndex === records.length - 1) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = records.length + 1;\r\n records.push(default_rec);\r\n }\r\n this.setState({ records }, () => {\r\n this.calculateSection();\r\n });\r\n }}\r\n />\r\n );\r\n } else {\r\n return billing_record.description;\r\n }\r\n };\r\n */\r\n submitPrescription() {\r\n const postData = this.state.consultData;\r\n postData.medicine_description = this.state.records;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios\r\n .post(consultDoctor, postData, CONFIG)\r\n .then((res) => {\r\n this.setState({ loading: false });\r\n const result = res.data;\r\n if (result.status === \"1\") {\r\n this.setState({ PrescriptionsuccessMessage:\"Your Prescription details have been updated successfully.\" });\r\n } else {\r\n this.setState({\r\n PrescriptionerrorMessage:\r\n result.message || \"Failed to submit prescription details\",\r\n });\r\n }\r\n this.setState({ activeTab: \"Follow up\" })\r\n\r\n })\r\n .catch((e) => {\r\n this.setState({\r\n loading: false,\r\n errorMessage: \"Failed to submit consultant details\",\r\n activeTab: \"Follow up\"\r\n });\r\n });\r\n\r\n\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n deleteRecord(record) {\r\n \r\n const selectedDrugs = this.state.records;\r\n console.log(selectedDrugs);\r\n const deleteIndex = selectedDrugs.indexOf(record);\r\n selectedDrugs.splice(deleteIndex, 1);\r\n this.setState({records: selectedDrugs });\r\n this.setState({ PrescriptionerrorMessage: \"Your Drugs have been deleted successfully.\" });\r\n this.clearMessage();\r\n }\r\n\r\n handleTableCheckboxChange = (e) => {\r\n let data = this.state.records;\r\n let id = e.target.id.split(\"-\")[1];\r\n data[id][e.target.name] = e.target.checked ? 1 : 0;\r\n this.setState({ records: data });\r\n };\r\n\r\n handleSymptomSearch = (e) => {\r\n let cloneSymptoms = this.state.cloneSymptoms;\r\n if (null == e.target.value || \"\" === e.target.value) {\r\n this.setState({\r\n symptoms: cloneSymptoms\r\n });\r\n } else {\r\n //let symptoms = this.state.symptoms;\r\n const filteredSymptopms = cloneSymptoms.filter(symptom => {\r\n return symptom.symptom_name.toLowerCase().includes(e.target.value.toLowerCase());\r\n });\r\n this.setState({\r\n symptoms: filteredSymptopms\r\n });\r\n }\r\n\r\n\r\n };\r\n\r\n handleTableInput = (e, index) => {\r\n let data = this.state.records;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[index][name] = value;\r\n this.setState({ records: data });\r\n };\r\n\r\n handleCheckbox = (e) => {\r\n let data = this.state.searchRecords;\r\n let id = e.target.id.split(\"-\")[1];\r\n\r\n let name = e.target.name;\r\n let value = e.target.checked;\r\n data[id][name] = value;\r\n this.setState({ searchRecords: data });\r\n\r\n };\r\n\r\n handleSearchInput = (e) => {\r\n let data = this.state.searchData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n this.setState({ searchData: data });\r\n };\r\n\r\n handleSearchSelect = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = selectedOptions;\r\n this.setState({ searchData: data });\r\n //console.log(selectedOptions.label);\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const checkinData = { id: this.props.match.params.id };\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n this.setState({ checkinDetails: res.data.data })\r\n \r\n\r\n if (res.data.status === \"1\") {\r\n console.log(selectedOptions.label);\r\n \r\n axios\r\n .post(getAllActiveingredientsforDrugs,{user_id:res.data.data.business_id,drug_name:selectedOptions.label}, CONFIG)\r\n .then((ActiveIngredientdrugRespons) => {\r\n let ActiveIngredientNameList = ActiveIngredientdrugRespons.data.data;\r\n let ActiveIngredientList = [];\r\n ActiveIngredientNameList.forEach((element, index) => {\r\n ActiveIngredientList.push({\r\n value: element.id,\r\n label: element.active_ingredients,\r\n manufacturer: \"\"\r\n \r\n });\r\n });\r\n\r\n this.setState({ ActiveIngredientList });\r\n \r\n }).catch((e) => { });\r\n } \r\n \r\n }).catch((e) => { });\r\n\r\n\r\n };\r\n handleSearchGenericNameselect= (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = selectedOptions;\r\n this.setState({ searchData: data });\r\n\r\n \r\n };\r\n handleSearchactiveingredientsSelect= (activeselectedOptions, e) => {\r\n let data = this.state.searchData;\r\n data[e.name] = activeselectedOptions;\r\n this.setState({ searchData: data });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const checkinData = { id: this.props.match.params.id };\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n this.setState({ checkinDetails: res.data.data })\r\n \r\n\r\n if (res.data.status === \"1\") {\r\n \r\n \r\n axios\r\n .post(getAllgenericnameforactiveingredients,{user_id:res.data.data.business_id,active_ingredients:activeselectedOptions.label}, CONFIG)\r\n .then((GenericNameRespons) => {\r\n let GenericNameFullList = GenericNameRespons.data.data;\r\n let GenericNameList = [];\r\n GenericNameFullList.forEach((element, index) => {\r\n GenericNameList.push({\r\n value: element.id,\r\n label: element.generic_name,\r\n manufacturer: \"\"\r\n \r\n });\r\n });\r\n\r\n this.setState({ GenericNameList });\r\n \r\n }).catch((e) => { });\r\n } \r\n \r\n }).catch((e) => { });\r\n\r\n\r\n };\r\n componentDidMount = () => {\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const checkinData = { id: this.props.match.params.id };\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n this.setState({ checkinDetails: res.data.data })\r\n\r\n\r\n if (res.data.status === \"1\") {\r\n\r\n console.log(this.state.checkinDetails);\r\n console.log(res.data.data);\r\n console.log(res.data.data.reason_for_visit);\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSymptom, { user_id: res.data.data.business_id }, CONFIG)\r\n .then((list) => {\r\n let symptomlist = list.data.data;\r\n\r\n symptomlist.forEach((element, index) => {\r\n let symptom = {};\r\n symptom.label = element.symptom_name;\r\n symptom.value = element.symptom_name;\r\n symptom.symptom_name = element.symptom_name;\r\n symptom.symptom_category = element.symptom_category;\r\n symptom.id = element.id;\r\n\r\n symptomlist[index] = symptom;\r\n });\r\n\r\n this.setState({ symptomlist: symptomlist });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getMasterSymptoms, { user_id: res.data.data.business_id }, CONFIG)\r\n .then((list) => {\r\n let symptomCategory = list.data.data;\r\n let symptomCategorylist = [];\r\n symptomCategory.forEach((element) => {\r\n symptomCategorylist.push({\r\n value: element.id,\r\n label: element.symptom_category,\r\n });\r\n });\r\n var result = symptomCategorylist.reduce((unique, o) => {\r\n if (!unique.some(obj => obj.label === o.label)) {\r\n unique.push(o);\r\n }\r\n return unique;\r\n }, []);\r\n\r\n result.push({ label: \"Others\", value: \"0\" })\r\n this.setState({ symptomCategory: result });\r\n })\r\n .catch((e) => { });\r\n\r\n }\r\n\r\n\r\n }).catch((e) => { });\r\n\r\n\r\n\r\n axios\r\n .post(getAllDrugTypes, null, CONFIG)\r\n .then((drugTypeResponse) => {\r\n let drugTypeList = drugTypeResponse.data.data;\r\n let drugTypes = [];\r\n drugTypeList.forEach((element, index) => {\r\n drugTypes.push({ value: element.id, label: element.drug_type });\r\n });\r\n\r\n this.setState({ drugTypes });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n\r\n\r\n\r\n\r\n axios\r\n .post(getAllMasterDisease, null, CONFIG)\r\n .then((list) => {\r\n const data = list.data.data;\r\n let diseaseList = [];\r\n data.forEach((element) => {\r\n diseaseList.push({\r\n value: element.disease_name,\r\n label: element.disease_name,\r\n });\r\n });\r\n\r\n this.setState({ diseaseList: diseaseList });\r\n })\r\n .catch((e) => { });\r\n\r\n // consultation codes\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n const postData = { id: this.props.match.params.id };\r\n axios\r\n .post(getPrescription, postData, CONFIG)\r\n .then((res) => {\r\n let data = res.data.data || res.data.date;\r\n if (res.data.status !== \"1\" || !data || !data[0]) {\r\n return;\r\n }\r\n console.log(data[0]);\r\n console.log(data[0].medicine_description);\r\n this.setState({\r\n consultData: data[0],\r\n records: data[0].medicine_description || [],\r\n consult: data[0] || [],\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n // get search select options\r\n/* axios\r\n .post(getAllMasterDrug, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugNameList = drugMasterRespons.data.data;\r\n let drugList = [];\r\n masterdrugNameList.forEach((element, index) => {\r\n drugList.push({\r\n value: element.id,\r\n label: element.drug_name,\r\n manufacturer: \"\",\r\n active_incredient: \"\",\r\n });\r\n });\r\n\r\n this.setState({ drugList });\r\n })\r\n .catch((e) => { });\r\n */\r\n const consultData=this.state.consultData;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n this.setState({ checkinDetails: res.data.data })\r\n \r\n\r\n if (res.data.status === \"1\") {\r\n\r\n \r\n axios\r\n .post(getAllHospitalDrug,{user_id:res.data.data.business_id}, CONFIG)\r\n .then((drugRespons) => {\r\n let drugNameList = drugRespons.data.data;\r\n let drugList = [];\r\n drugNameList.forEach((element, index) => {\r\n drugList.push({\r\n value: element.id,\r\n label: element.drug_name,\r\n manufacturer: \"\",\r\n active_incredient: \"\",\r\n });\r\n });\r\n\r\n this.setState({ drugList });\r\n \r\n }).catch((e) => { });\r\n\r\n axios\r\n .post(getAllActiveingredientsforhospital,{user_id:res.data.data.business_id}, CONFIG)\r\n .then((ActiveIngredientdrugRespons) => {\r\n let ActiveIngredientNameList = ActiveIngredientdrugRespons.data.data;\r\n let ActiveIngredientList = [];\r\n ActiveIngredientNameList.forEach((element, index) => {\r\n ActiveIngredientList.push({\r\n value: element.id,\r\n label: element.active_ingredients,\r\n manufacturer: \"\"\r\n \r\n });\r\n });\r\n\r\n this.setState({ ActiveIngredientList });\r\n }).catch((e) => { });\r\n\r\n axios\r\n .post(getAllgenericnameforhospital,{user_id:res.data.data.business_id}, CONFIG)\r\n .then((GenericNameRespons) => {\r\n let GenericNameFullList = GenericNameRespons.data.data;\r\n let GenericNameList = [];\r\n GenericNameFullList.forEach((element, index) => {\r\n GenericNameList.push({\r\n value: element.id,\r\n label: element.generic_name,\r\n manufacturer: \"\"\r\n \r\n });\r\n });\r\n\r\n this.setState({ GenericNameList });\r\n \r\n }).catch((e) => { });\r\n } \r\n \r\n }).catch((e) => { });\r\n\r\n axios\r\n .post(getAllDrugCategories, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugCategoryResponse) => {\r\n let list = drugCategoryResponse.data.data;\r\n let drugCategories = [];\r\n list.forEach((element, index) => {\r\n drugCategories.push({\r\n value: element.id,\r\n label: element.drug_category,\r\n });\r\n });\r\n this.setState({ drugCategories });\r\n })\r\n .catch((e) => { });\r\n\r\n \r\n };\r\n\r\n searchAndShowSymptom(searchData, index) {\r\n\r\n let data = {};\r\n data.symptom_category = searchData.label;\r\n data.user_id = this.props.userdata.id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(getSymptomByCategory, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n let symptoms = [];\r\n records.forEach((element) => {\r\n symptoms.push({\r\n symptom_name: element.symptom_name,\r\n id: element.id,\r\n });\r\n });\r\nlet options = [];\r\nlet consultsymp = this.state.consult.symptoms;\r\nif(consultsymp){\r\n consultsymp.forEach((el, index) => {\r\n options.push(el.label);\r\n \r\n });\r\n\r\n}\r\n \r\n \r\n let uniqueoptions = options.filter((c, index) => {\r\n return options.indexOf(c) === index;\r\n });\r\n\r\n\r\n this.setState({\r\n symptoms: symptoms,\r\n cloneSymptoms: symptoms,\r\n // consult: { symptoms: symptoms[0].symptom_name },\r\n activeIndex: index,\r\n selectedSymptoms: uniqueoptions,\r\n });\r\n } else {\r\n this.setState({\r\n symptoms: [],\r\n // consult: { symptoms: [] },\r\n activeIndex: index,\r\n // selectedSymptoms: [],\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n selectSymptom = (symptom, e) => {\r\n const options = this.state.selectedSymptoms;\r\n let index;\r\n\r\n // check if the check box is checked or unchecked\r\n if (e.target.checked) {\r\n // add the numerical value of the checkbox to options array\r\n options.push(e.target.value);\r\n } else {\r\n // or remove the value from the unchecked checkbox from the array\r\n index = options.indexOf(e.target.value);\r\n options.splice(index, 1);\r\n }\r\n let consult = this.state.consult;\r\n\r\n let selectedSymptoms = [];\r\n\r\n let consultsymp = consult.symptoms;\r\n if(consultsymp){\r\n consultsymp.forEach((el, index) => {\r\n options.push(el.label); \r\n }); \r\n }\r\n \r\n\r\n let uniqueoptions = options.filter((c, index) => {\r\n return options.indexOf(c) === index;\r\n });\r\n uniqueoptions.forEach((e,i)=>{\r\n selectedSymptoms.push({label:e,value:e})\r\n })\r\n this.setState({ selectedSymptoms: uniqueoptions });\r\n\r\n \r\n consult.symptoms = selectedSymptoms;\r\n\r\n\r\n this.setState({\r\n consult,\r\n });\r\n };\r\n\r\n submitAssesment() {\r\n const data = this.state.consult;\r\n data.client_id = this.state.consultData.client_id; // TODO: replace this with actual client id\r\n data.business_id = this.state.consultData.business_id;\r\n data.id = this.props.match.params.id;\r\n \r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(consultDoctor, data, CONFIG).then(\r\n (res) => {\r\n const result = res.data;\r\n if (result.status === \"1\") {\r\n this.setState({ successMessage: \"Your Assessment has been updated successfully.\", consult: data });\r\n } else {\r\n this.setState({\r\n errorMessage:\r\n result.message || \"Failed to submit consultant details\",\r\n consult: data,\r\n });\r\n }\r\n\r\n this.setState({ loading: false, consult: data, activeTab: \"Prescription\" });\r\n },\r\n (err) => {\r\n this.setState({\r\n loading: false,\r\n errorMessage: \"Failed to submit consultant details\",\r\n consult: data,\r\n activeTab: \"Prescription\"\r\n });\r\n }\r\n );\r\n });\r\n this.clearMessage();\r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n successMessage: \"\",\r\n errorMessage: \"\",\r\n PrescriptionsuccessMessage: \"\",\r\n PrescriptionerrorMessage: \"\",\r\n }),\r\n 5000\r\n );\r\n };\r\n\r\n handleInput = (e) => {\r\n let data = this.state.consult;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n this.setState({ consult: data });\r\n };\r\n\r\n handleSelect = (selectedOptions, e) => {\r\n\r\n let data = this.state.consult;\r\n data[e.name] = selectedOptions;\r\n if (e.name === \"symptoms\") {\r\n \r\n\r\n \r\nlet options = [];\r\n\r\n\r\n let consultsymp = selectedOptions;\r\nif(consultsymp){\r\n consultsymp.forEach((el, index) => {\r\n options.push(el.label);\r\n \r\n });\r\n\r\n}\r\n \r\n \r\n let uniqueoptions = options.filter((c, index) => {\r\n return options.indexOf(c) === index;\r\n });\r\n\r\nthis.setState({selectedSymptoms:uniqueoptions})\r\n\r\n \r\n }\r\n this.setState({ consult: data });\r\n };\r\n activateTab(activateTab, e) {\r\n\r\n this.setState({ activeTab: activateTab });\r\n }\r\n CheckOut = (e) => {\r\n\r\n this.setState({ loading: true })\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n let clientapppointmentId = this.state.checkinData.q_id;\r\n axios.post(getQEntryById, { q_id: clientapppointmentId }, CONFIG)\r\n .then((queue_data) => {\r\n\r\n if (queue_data.data.status === '1') {\r\n let queuein_data = queue_data.data.data[0]\r\n queuein_data.status = 'Check-Out'\r\n this.setState({ queue_data: queuein_data })\r\n let queuedata = {\r\n \"n_business_id\": queuein_data.business_id,\r\n \"n_business_user_id\": queuein_data.business_user_id,\r\n \"n_schedule_day_id\": queuein_data.schedule_day_id,\r\n \"n_q_id\": queuein_data.q_id,\r\n \"n_status\": \"Check-Out\",\r\n \"n_schedule_type\": \"CHKOUT\",\r\n \"n_preference\": \"1\"\r\n }\r\n\r\n // return false;\r\n // {\r\n // \"n_business_id\": \"7405dfa0-a5c4-11ea-ba30-05b511e3603e\",\r\n // \"n_schedule_day_id\": \"f4e6f51b-bdc8-11eb-97e3-0ad8e4601dac\", \r\n // \"n_status\": \"Check-Out\", \r\n // \"n_business_user_id\": \"ef98dcf0-bdc8-11eb-a631-39b54728a3e8\",\r\n // \"n_schedule_type\": \"CHKOUT\",\r\n // \"n_q_id\":\"2a8efbc1-035b-452c-96fd-f1f2f531885f\",\r\n // \"n_preference\":\"1\"\r\n // }\r\n const postData = this.state.consultData;\r\n// console.log(postData); console.log(queuein_data);return false;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(UpdateQueueForCheckOut, queuedata)\r\n .then((response) => {\r\n\r\n\r\n\r\n\r\n\r\n let reqdata = {\r\n \"to\" : \"\",\r\n \"subject\" : \"Followup Remainder\",\r\n \"mailHeader\" : \"Followup Remainder\",\r\n \"message\": \"Hi Name, Your have followup remainder in 2 days in myhos for checkup. \"\r\n }\r\n let notificationdata = {\r\n \"message_code\": \"FOLLOW_UP\",\r\n \"language_code\": \"en\",\r\n \"data\": {\r\n \"patient_name\": queuein_data.first_name,\r\n \"followup_days\": reqdata.message,\r\n \"business_name\":\"\",\r\n // patient_name,followup_days,business_name\r\n \r\n },\r\n \"receiver\": {\r\n \"phoneNumber\": \"+919944053296\"\r\n }\r\n };\r\n console.log(reqdata);\r\n // console.log(this.props.userdata);\r\n \r\n axios\r\n .post(sendemail, reqdata)\r\n .then((res) => {\r\n let resdata = res.data; \r\n axios\r\n .post(sendsms, notificationdata)\r\n .then((result) => {\r\n console.log(result)\r\n }).catch((err) => {\r\n console.log(err);\r\n })\r\n console.log(resdata);\r\n this.setState({ loading: false });\r\n let data = {\r\n message:\"\",\r\n status:\"\"\r\n }\r\n if (resdata===true) {\r\n data.error_type = \"success\";\r\n data.message = \"Referral email send successfully\"\r\n data.status = \"1\"\r\n this.setState({\r\n formSuccess: data,\r\n });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n } else {\r\n data.error_type = \"error\";\r\n data.message = \"Failed\"\r\n data.status = \"0\"\r\n this.setState({\r\n formSuccess: data,\r\n });\r\n this.setState({ loading: false });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n\r\n\r\n let data = { id: this.props.match.params.id, business_id: queuein_data.business_id };\r\n axios.post(updatePrescription, data, CONFIG).then((list) => {\r\n return false\r\n\r\n }).catch((e) => {\r\n console.log(\"Update queue failed\");\r\n toast.error(\"Check out could not be Completed.\",{\r\n className:\"toast-error\"\r\n });\r\n });\r\n this.setState({ loading: false })\r\n\r\n\r\n // this.setState({ QueuesuccessMsg: \"Queue status updated successfully\" });\r\n toast.success(\"The Consultation was completed successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n \r\n\r\n window.location.href = \"/consult\";\r\n // this.props.history.push(\"/consult\");\r\n\r\n }).catch((e) => {\r\n console.log(\"Update queue failed\");\r\n });\r\n }\r\n }).catch((e) => {\r\n console.log(\"Get appoinment by id failed\");\r\n });\r\n\r\n }\r\n render() {\r\n const {\r\n symptomCategory,\r\n consult,\r\n successMessage,\r\n errorMessage,\r\n PrescriptionerrorMessage, PrescriptionsuccessMessage,\r\n loading,\r\n diseaseList,\r\n symptomlist,\r\n activeIndex,\r\n\r\n //prescriptionss code\r\n searchData,\r\n searchRecords,\r\n drugUnits,\r\n drugList,\r\n ActiveIngredientList,\r\n GenericNameList,\r\n drugCategories,\r\n drugTypes,\r\n QueuesuccessMsg,\r\n checkinDetails,\r\n consultData\r\n \r\n } = this.state;\r\n return (\r\n
    \r\n \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
      \r\n\r\n \r\n \r\n \r\n {\" \"}\r\n Assessment{\" \"}\r\n \r\n \r\n {\" \"}\r\n Assessment{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Medicine{\" \"}\r\n \r\n \r\n Medicine{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Follow up{\" \"}\r\n \r\n \r\n Follow up{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Referral Doctor{\" \"}\r\n \r\n \r\n Referral Doctor{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n History{\" \"}\r\n \r\n \r\n History{\" \"}\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n {QueuesuccessMsg ? (
    \r\n
    \r\n ) : \"\"}\r\n
    \r\n\r\n\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Reason for Visit
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.submitAssesment()\r\n }\r\n >\r\n Next\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Symptom List
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {this.state.symptoms.map((symptom, i) => {\r\n return (\r\n
    \r\n -1}\r\n\r\n />\r\n \r\n {symptom.symptom_name}\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Symptom Category
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {symptomCategory.map(\r\n (symptom, index) => {\r\n return (\r\n \r\n this.searchAndShowSymptom(\r\n symptom,\r\n index\r\n )\r\n }\r\n >\r\n {symptom.label}\r\n \r\n );\r\n }\r\n )}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    Medicines
    \r\n
    \r\n
    \r\n \r\n Previous\r\n \r\n
    \r\n
    \r\n \r\n this.submitPrescription()\r\n }\r\n >\r\n Next\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    Search Drug
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n \r\n \r\n \r\n \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.handleStatusColumnChange(record)}\r\n options={onlineOptions}\r\n />\r\n );\r\n },\r\n }, */\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n \r\n }\r\n\r\n handleCategoryColumnChange = (value, record, field) => {\r\n // console.log(field);\r\n // console.log(value);\r\n // console.log(record);\r\n value[field] = record;\r\n // console.log(record);\r\n // record.availability = \"Yes\" === record.availability ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(value);\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n\r\n this.UpdateColumnChange(record);\r\n };\r\n UpdateColumnChange = (record) => {\r\n console.log(record);\r\n record.user_id = this.props.userdata.id;\r\n axios.post(updatePurchaseInfo, record, CONFIG).then((list) => {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n\r\n records[recIndex].drug_id = record.drug_id;\r\n records[recIndex].supplier_id = record.supplier_id;\r\n records[recIndex].category = record.category;\r\n records[recIndex].type = record.type;\r\n records[recIndex].manufacturer = record.manufacturer;\r\n records[recIndex].order_unit= record.order_unit;\r\n records[recIndex].min_lot=record.min_lot;\r\n records[recIndex].max_lot = record.max_lot;\r\n records[recIndex].discount = record.discount;\r\n records[recIndex].gst = record.gst;\r\n records[recIndex].price_per_unit = record.price_per_unit;\r\n records[recIndex].status = record.status;\r\n records[recIndex].user_id = record.user_id;\r\n records[recIndex].id = record.id;\r\n\r\n this.setState({ records, tableSuccess: list.data });\r\n toast.success(\"Purchase info updated \",{\r\n className:\"toast-success\"\r\n });\r\n this.clearMessage();\r\n });\r\n };\r\n componentDidMount = () => {\r\n \r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n \r\n });\r\n })\r\n .catch(() => { });\r\n \r\n\r\n axios\r\n .post(getDrugPlanningDetails, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n \r\n drugList.forEach((element, index) => {\r\n console.log(element);\r\n drugDataArr.push({ value: element.drug_id, label: element.drug_id,category:element.drug_category,type:element.drug_type,manufacturer:element.manufacturer });\r\n });;\r\n\r\n this.setState({ drug_id_list: drugDataArr });\r\n })\r\n .catch(() => { });\r\n\r\n axios\r\n .post(getAllSupplierList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let SupplierList = list.data.data;\r\n let SupplierDataArr = [];\r\n \r\n SupplierList.forEach((element, index) => {\r\n \r\n SupplierDataArr.push({ value: element.id, label: element.supplier_id,discount: element.discount, gst: element.gst });\r\n });;\r\n\r\n this.setState({ supplier_id_list: SupplierDataArr });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugTypes, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugTypeResponse) => {\r\n let drugTypeList = drugTypeResponse.data.data;\r\n let drugTypes = [];\r\n drugTypeList.forEach((element, index) => {\r\n console.log(element);\r\n drugTypes.push({ value: element.drug_type, label: element.drug_type });\r\n });\r\n\r\n this.setState({ drugTypes });\r\n })\r\n .catch((e) => { });\r\n \r\n axios\r\n .post(getAllDrugCategories, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugCategoryResponse) => {\r\n let list = drugCategoryResponse.data.data;\r\n \r\n let drugCategories = [];\r\n list.forEach((element) => {\r\n drugCategories.push({\r\n value: element.drug_category,\r\n label: element.drug_category,\r\n });\r\n });\r\n this.setState({ drugCategories });\r\n })\r\n .catch(() => { });\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getPurchaseInfoRecord, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n \r\n let purchaseinfo = list.data.data;\r\n let purchaseinfoArr = [];\r\n console.log(purchaseinfo)\r\n purchaseinfo.forEach((element, index) => {\r\n let purchaseinfoData = {};\r\n purchaseinfoData = element;\r\n purchaseinfoData.s_no = index + 1;\r\n purchaseinfoArr[index] = purchaseinfoData;\r\n });\r\nconsole.log(purchaseinfoArr);\r\n this.setState({ records: purchaseinfoArr });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n axios\r\n .post(getAllDrugMeasures, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugmeasureList = drugMasterRespons.data.data;\r\n console.log(masterdrugmeasureList);\r\n let masterdrugmeasure = [];\r\n masterdrugmeasureList.forEach((element, index) => {\r\n masterdrugmeasure.push({\r\n value: element.unit_of_measure,\r\n label: element.unit_of_measure,\r\n\r\n });\r\n });\r\n\r\n this.setState({ masterdrugmeasure });\r\n })\r\n .catch((e) => { });\r\n };\r\n \r\n editRecord(record) {\r\n let purchase_action = this.state.purchase_action;\r\n purchase_action = \"Edit\";\r\n this.setState({ purchase_action });\r\n\r\n let purchaseinfo = this.state.purchaseinfo;\r\n purchaseinfo.s_no = record.s_no;\r\n purchaseinfo.id = record.id;\r\n purchaseinfo.pir = record.pir;\r\n\r\n purchaseinfo.drug_id = {\r\n label: record.drug_id,\r\n value: record.drug_id,\r\n };\r\n\r\n\r\n \r\n purchaseinfo.supplier_id = {\r\n label: record.supplier_id,\r\n value: record.supplier_id,\r\n };\r\n\r\n\r\n \r\n purchaseinfo.order_unit = {\r\n label: record.order_unit,\r\n value: record.order_unit,\r\n };\r\n purchaseinfo.manufacturer = record.manufacturer;\r\n purchaseinfo.min_lot = record.min_lot;\r\n purchaseinfo.max_lot = record.max_lot;\r\n purchaseinfo.status = {\r\n label: record.status,\r\n value: record.status,\r\n };\r\n\r\n purchaseinfo.category = {\r\n label: record.category,\r\n value: record.category,\r\n };\r\n purchaseinfo.type = {\r\n label: record.type,\r\n value: record.type,\r\n };\r\n\r\n\r\n \r\n \r\n purchaseinfo.discount = record.discount;\r\n purchaseinfo.gst = record.gst;\r\n purchaseinfo.price_per_unit = record.price_per_unit;\r\n this.setState({ purchaseinfo: purchaseinfo });\r\n }\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.purchaseinfo;\r\n data[e.name] = selectedOptions;\r\n console.log(selectedOptions);\r\n if (e.name === \"supplier_id\") {\r\n data.discount = selectedOptions.discount;\r\n data.gst = selectedOptions.gst;\r\n \r\n }\r\n else if(e.name === \"drug_id\"){\r\n data.manufacturer = selectedOptions.manufacturer;\r\n data.category = {label:selectedOptions.category,value:selectedOptions.category};\r\n data.type = {label:selectedOptions.type,value:selectedOptions.type};\r\n \r\n } else {\r\n data[e.name] = selectedOptions;\r\n }\r\n console.log(data)\r\n this.setState({ purchaseinfo: data });\r\n };\r\n handlesearchinputChange = (eve) => {\r\n let data = this.state.searchData;\r\n\r\n data[eve.target.name] = eve.target.value;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n handlesearchselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n\r\n // if (e.name === \"drug_name\") {\r\n // data.manufacturer = selectedOptions.manufacturer;\r\n // data.active_ingredients = selectedOptions.active_ingredients;\r\n // } else {\r\n // data[e.name] = selectedOptions;\r\n // }\r\n // if (e.name === \"manufacturer\" || e.name === \"active_ingredients\") {\r\n // data[e.name] = selectedOptions.target.value;\r\n // } else {\r\n data[e.name] = selectedOptions;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n\r\n handleInput = (e) => {\r\n let data = this.state.purchaseinfo;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n data[name] = value;\r\n this.setState({ purchaseinfo: data });\r\n };\r\n\r\n \r\n\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n\r\n cancelDelete() {\r\n this.setState({\r\n showDeleteConfirmPopup: !this.state.showDeleteConfirmPopup,\r\n });\r\n }\r\n\r\n deleteRecord(record) {\r\n let userId = record.id;\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deletePurchaseInfo, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\", loading: false });\r\n // this.setState({ tableSuccess: res.data });\r\n console.log(response.message);\r\n toast.success(response.message, {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n })\r\n .catch((e) => { });\r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n searchTableSuccess: { message: \"\" },\r\n editformSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n clearErrors = (errors) => {\r\n errors.drug_id = \"\";\r\n errors.supplier_id = \"\";\r\n errors.category = \"\";\r\n errors.type = \"\";\r\n errors.order_unit = \"\";\r\n errors.manufacturer = \"\";\r\n errors.min_lot = \"\";\r\n errors.max_lot = \"\";\r\n errors.discount = \"\";\r\n errors.gst = \"\";\r\n errors.price_per_unit = \"\";\r\n errors.status = \"\";\r\n \r\n return errors;\r\n};\r\n \r\n\r\n cancelPurchaseinfo = () => {\r\n let data = {\r\n id: \"\",\r\n drug_id: \"\",\r\n pir:\"\",\r\n supplier_id:\"\",\r\n category:\"\",\r\n type:\"\",\r\n order_unit:\"\", \r\n manufacturer: \"\",\r\n min_lot: \"\",\r\n max_lot: \"\",\r\n discount: \"\",\r\n gst: \"\",\r\n price_per_unit: \"\",\r\n status:\"\"\r\n };\r\n \r\n \r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ purchaseinfo: data, actions: \"Add\", errors: errors });\r\n};\r\nchangepurchaseinfo = () => {\r\n \r\n let {purchaseinfo,errors,purchase_action} = this.state;\r\n \r\n \r\nconsole.log(purchaseinfo,errors,purchase_action);\r\n // this.setState({ loading: true });\r\n \r\n purchaseinfo.page = \"addpurchaseinfo\";\r\n console.log(purchaseinfo);\r\n errors = Validation(purchaseinfo, errors);\r\n this.setState({errors: errors});\r\n console.log(errors);//return false;\r\n \r\n if (errors.formIsValid) {\r\n let data = {\r\n drug_id:purchaseinfo.drug_id.label,\r\n supplier_id:purchaseinfo.supplier_id.label,\r\n category:purchaseinfo.category.label,\r\n type:purchaseinfo.type.label,\r\n manufacturer:purchaseinfo.manufacturer,\r\n order_unit:purchaseinfo.order_unit.label,\r\n min_lot:purchaseinfo.min_lot,\r\n max_lot:purchaseinfo.max_lot,\r\n discount:purchaseinfo.discount,\r\n gst:purchaseinfo.gst,\r\n \r\n price_per_unit:purchaseinfo.price_per_unit,\r\n status:purchaseinfo.status.label,\r\n user_id:this.props.userdata.id\r\n \r\n }\r\n console.log(data);\r\nif(purchase_action === \"Add\"){\r\n axios\r\n .post(addPurchaseInfo, data, CONFIG)\r\n .then((addPurchaseResponse) => {\r\n let res = addPurchaseResponse.data;\r\n console.log(res);\r\n if (res.status === \"1\") {\r\n \r\n this.setState({\r\n \r\n // searchTableSuccess: res,\r\n loading: false,\r\n });\r\n\r\n toast.success(res.message, {\r\n className: \"toast-success\"\r\n });\r\n\r\n let addpurchaseinfo = {};\r\n addpurchaseinfo.supplier_id = data.supplier_id;\r\n addpurchaseinfo.drug_id = data.drug_id;\r\n addpurchaseinfo.manufacturer = data.manufacturer;\r\n addpurchaseinfo.category = data.category;\r\n addpurchaseinfo.type = data.type;\r\n addpurchaseinfo.order_unit = data.order_unit;\r\n addpurchaseinfo.min_lot = data.min_lot;\r\n addpurchaseinfo.max_lot = data.max_lot;\r\n addpurchaseinfo.discount=data.discount;\r\n addpurchaseinfo.gst=data.gst;\r\n addpurchaseinfo.price_per_unit=data.price_per_unit;\r\n addpurchaseinfo.status=data.status;\r\n addpurchaseinfo.user_id=data.user_id;\r\n addpurchaseinfo.id = addPurchaseResponse.data.data[0].id;\r\n addpurchaseinfo.pir = addPurchaseResponse.data.pir;\r\n // addpurchaseinfo.id = list.data.data;\r\n\r\n let records = this.state.records;\r\n addpurchaseinfo.s_no = records.length + 1;\r\n records.push(addpurchaseinfo);\r\n this.setState({record:records});\r\n\r\n // setTimeout(\r\n // () =>\r\n \r\n // window.location.href = '/druglist'\r\n // ,\r\n // 1000\r\n // );\r\n \r\n } else {\r\n this.setState({\r\n // searchrecords: records,\r\n // searchTableSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(res.message, {\r\n className: \"toast-error\"\r\n });\r\n \r\n }\r\n })\r\n .catch(() => { });\r\n} else {\r\n data.pir = purchaseinfo.pir;\r\n data.id = purchaseinfo.id;\r\n console.log(data);\r\n\r\n axios.post(updatePurchaseInfo, data, CONFIG).then((list) => {\r\n if ('0' === list.data.status) {\r\n this.setState({ loading: false });\r\n this.setState({ errors: { supplier_id: list.data.message } });\r\n } else {\r\n let records = this.state.records;\r\n\r\n var recIndex = findWithAttr(records, \"id\", data.id);\r\n console.log(recIndex);\r\n console.log(records);\r\n records[recIndex].supplier_id = data.supplier_id;\r\n records[recIndex].drug_id = data.drug_id;\r\n records[recIndex].category = data.category;\r\n records[recIndex].type = data.type;\r\n records[recIndex].status = data.status;\r\n records[recIndex].order_unit = data.order_unit;\r\n records[recIndex].min_lot = data.min_lot;\r\n records[recIndex].max_lot = data.max_lot;\r\n records[recIndex].price_per_unit = data.price_per_unit;\r\n records[recIndex].manufacturer = data.manufacturer;\r\n records[recIndex].gst = data.gst;\r\n records[recIndex].discount = data.discount;\r\n records[recIndex].user_id = data.user_id;\r\n records[recIndex].id = data.id;\r\n\r\n this.setState({ records });\r\n this.setState({ loading: false });\r\n toast.success(\"Purchase info updated. \",{\r\n className:\"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.cancelPurchaseinfo();\r\n }\r\n});\r\n}\r\n \r\n }\r\n \r\n \r\n}\r\nhandleStatusColumnChange = (record) => {\r\n record.status = \"Active\" === record.status ? \"In-active\" : \"Active\";\r\n this.UpdateColumnChange(record);\r\n};\r\n render() {\r\n let Popupclose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n const {\r\n drug_id_list,\r\n drugTypes,\r\n drugCategories,\r\n supplier_id_list,\r\n purchaseinfo,\r\n errors,\r\n searchData,\r\n loading,\r\n formSuccess,\r\n searchTableSuccess,\r\n editformSuccess,\r\n tableSuccess,\r\n searchErrorMessage,\r\n masterdrugmeasure,\r\n hospitaltimeout,\r\n } = this.state;\r\n const modalVar = this.state.showDeleteConfirmPopup;\r\n\r\n return (\r\n
    \r\n {/* */}\r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Inpatient Billing

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.purchase_action === \"Add\" ? \"Add\" : \"Edit\"} Insurance Details\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n {/*
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n \r\n \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Print\r\n \r\n \r\n CheckOut\r\n \r\n \r\n Back\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n );\r\n}\r\n}\r\nexport default connect(mapStateToProps)(InPatientBilling);\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../../components/UI/InputField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../../components/UI/Popup\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nimport {\r\n getAllMasterDrug,\r\n getAllSupplierList,\r\n getAllDrugTypes,\r\n getAllDrugCategories,\r\n getPurchaseInfoRecord, \r\n addPurchaseInfo,\r\n updatePurchaseInfo,\r\n deletePurchaseInfo,\r\n getDrugPlanningDetails,\r\n getAllDrugMeasures,\r\n getTimeoutbycategory\r\n} from \"../../config/url.json\";\r\nimport { CONFIG } from \"../../config/data\";\r\nimport Select from \"react-select\";\r\n\r\nimport Validation from \"../../actions/Validation\";\r\nimport SpanField from \"../../components/UI/SpanField\";\r\n// Import React Table\r\nimport \"react-table/react-table.css\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../../components/container/modal/IdleModal';\r\nimport { Spinner } from \"../../components/UI/Spinner\";\r\nimport Header from \"../../components/container/layout/business/Header\";\r\nimport BusinessUserSideBar from \"../../components/container/SideBar\";\r\nimport FooterSection from \"../../components/UI/FooterSection\";\r\nimport { ExpirePopup } from \"../../components/UI/ExpirePopup\";\r\nimport Dnaspinner from \"../../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n };\r\n}\r\nconst onlineOptions = [\r\n { value: 1, label: \"Active\" },\r\n { value: 0, label: \"In-active\" },\r\n];\r\n\r\nclass AmbulanceManagement extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n \r\n drug_id_list:[],\r\n records: [],\r\n masterdrugmeasure:[],\r\n searchrecords: [],\r\n purchase_action: \"Add\",\r\n loading: false,\r\n addDrugSuccess: \"\",\r\n showDeleteConfirmPopup: false,\r\n showexpirePopup: this.props.validity,\r\n confirmedDelete: false,\r\n search_action: false,\r\n recordToDelete: [],\r\n drugTypes: [],\r\n drugCategories: [],\r\n masterdrugNames: [],\r\n newDatatoAdd: {},\r\n addPopup: false,\r\n drugList: {\r\n s_no: \"\",\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n },\r\n purchaseinfo: {\r\n id: \"\",\r\n drug_id: \"\",\r\n pir:\"\",\r\n supplier_id:\"\",\r\n category:\"\",\r\n type:\"\",\r\n order_unit:\"\", \r\n manufacturer: \"\",\r\n min_lot: \"\",\r\n max_lot: \"\",\r\n discount: \"\",\r\n gst: \"\",\r\n price_per_unit: \"\",\r\n status:\"\"\r\n },\r\n errors: {\r\n id: \"\",\r\n drug_id: \"\",\r\n pir:\"\",\r\n supplier_id:\"\",\r\n category:\"\",\r\n type:\"\",\r\n order_unit:\"\", \r\n manufacturer: \"\",\r\n min_lot: \"\",\r\n max_lot: \"\",\r\n discount: \"\",\r\n gst: \"\",\r\n price_per_unit: \"\",\r\n status:\"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n editformSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n searchTableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n columns: [\r\n { title: \"Drug Id\", field: \"drug_id\" },\r\n { title: \"Drug Name\", field: \"drug_name\" },\r\n { title: \"Drug Category\", field: \"drug_category\" },\r\n { title: \"Drug Type\", field: \"drug_type\" },\r\n { title: \"Manufacturer\", field: \"manufacturer\" },\r\n { title: \"Active Ingredients\", field: \"active_ingredients\" },\r\n ],\r\n \r\n searchErrorMessage: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n \r\n {\r\n key: \"trip_id\",\r\n text: \"Trip ID\",\r\n className: \"trip_id\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n {\r\n key: \"Date\",\r\n text: \"Date\",\r\n className: \"date\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n {\r\n key: \"time\",\r\n text: \"Time\",\r\n className: \"time\",\r\n align: \"left\",\r\n sortable: true,\r\n \r\n },\r\n\r\n {\r\n key: \"service\",\r\n text: \"Service\",\r\n className: \"service\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"facility_id\",\r\n text: \"Facility Id\",\r\n className: \"facility_id\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"vehicle_number\",\r\n text: \"Vehicle number\",\r\n className: \"vehicle_number\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"Patient Name\",\r\n text: \"Patient name\",\r\n className: \"patient_name\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n {\r\n key: \"driver_name\",\r\n text: \"Driver name\",\r\n className: \"driver_name\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"driver_phone\",\r\n text: \"Driver Phone\",\r\n className: \"driver_phone\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n\r\n {\r\n key: \"Attender\",\r\n text: \"Attender\",\r\n className: \"Attender\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"trip_start\",\r\n text: \"Trip start\",\r\n className: \"trip_start\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n {\r\n key: \"trip_end\",\r\n text: \"Trip end\",\r\n className: \"trip_end\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n /* {\r\n key: \"status\",\r\n text: \"Purchaseinfo Status\",\r\n className: \"status sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n let obj = {\r\n label: record.status,\r\n value: record.status,\r\n };\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {/*

    Attachment

    */}\r\n {/*
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n */}\r\n {/* \r\n */}\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(SupportNew);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport renderHTML from 'react-render-html';\r\n\r\nimport axios from \"axios\";\r\nimport {\r\n getSettingsData\r\n} from \"../config/url.json\";\r\nimport support from \"../assets/images/support.png\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\n\r\nclass SupportLatest extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n settingsData: {},\r\n loading: false\r\n }\r\n }\r\n componentDidMount() {\r\n\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getSettingsData, null)\r\n .then((res) => {\r\n \r\n let settingsData = [];\r\n res.data.data.forEach((element, index) => {\r\n let name = element.name;\r\n settingsData[name] = element.value\r\n })\r\n console.log(settingsData)\r\n this.setState({ settingsData: settingsData })\r\n\r\n })\r\n .catch((e) => { });\r\n }\r\n \r\n\r\n render() {\r\n const { settingsData } = this.state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n

    Support

    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Call Us
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {settingsData.support_phone_number?renderHTML(settingsData.support_phone_number):\"\"}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {settingsData.support_email_id?renderHTML(settingsData.support_email_id):\"\"}\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(SupportLatest);","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { getAllServiceChargesdata,updateServiceCharges } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport AdminSideBar from '../components/container/layout/admin/SideBar';\r\nimport AdminHeader from '../components/container/layout/admin/Header';\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport Validation from \"../actions/Validation\";\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\nclass ServiceCharges extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n records: [],\r\n actions: \"update\",\r\n loading: false,\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n \r\n deletePopup: false,\r\n servicechargesdata:\r\n {\r\n id:\"\",\r\n category:\"\",\r\n service_charges:\"\",\r\n \r\n },\r\n \r\n errors: {\r\n \r\n category:\"\",\r\n service_charges:\"\",\r\n \r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n };\r\n\r\n \r\n this.columns = [\r\n {\r\n key: \"id\",\r\n text: \"Id\",\r\n className: \"id\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"category\",\r\n text: \"Category\",\r\n className: \"timeout_category\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"service_charges\",\r\n text: \"Service Charges\",\r\n className: \"service_charges\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n \r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* \r\n this.setState({ deletePopup: true, record: record })\r\n }\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n handleColumnChange = (record, selectedOptions) => {\r\n\r\n record.status = selectedOptions ? selectedOptions.value : \"Pending\";\r\n this.UpdateColumnChange(record);\r\n };\r\n\r\n UpdateColumnChange = (data) => {\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // let request = {\r\n // business_user_id: data.user_id, status: data.status\r\n // }\r\n // axios.post(updateDoctorStatus1, request).then((list) => {\r\n let records = this.state.records;\r\n\r\n // // data = list.data.data;\r\n // if (list.data.status === \"1\") {\r\n var recIndex = findWithAttr(records, \"user_id\", data.user_id);\r\n\r\n records[recIndex].status = data.status;\r\n\r\n this.setState({ records, tableSuccess: \"\" });\r\n // }\r\n\r\n this.clearMessage();\r\n // });\r\n };\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.servicechargesdata;\r\n data[e.name] = selectedOptions;\r\n \r\n this.setState({ servicechargesdata: data });\r\n };\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n\r\n \r\n componentDidMount = () => {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .get(getAllServiceChargesdata, null, CONFIG)\r\n .then((list) => {\r\n console.log(list)\r\n this.setState({ records: list.data.data });\r\n })\r\n .catch((e) => { console.log(e) });\r\n\r\n\r\n\r\n \r\n }\r\n cancel = () => {\r\n let data = this.state.servicechargesdata;\r\n data.id=\"\";\r\n data.category = \"\";\r\n data.service_charges = \"\";\r\n \r\n this.setState({ servicechargesdata: data, actions: \"update\" });\r\n };\r\n editRecord = (record) => {\r\n console.log(record);\r\n this.setState({ actions: \"edit\" });\r\n \r\n let servicechargesdata = this.state.servicechargesdata;\r\n servicechargesdata.id=record.id;\r\n servicechargesdata.category = record.category;\r\n servicechargesdata.service_charges=record.service_charges;\r\n \r\n this.handleServiceChargesChange(\"id\", servicechargesdata.id);\r\n this.setState({ servicechargesdata: servicechargesdata });\r\n };\r\n \r\n clearAll() {\r\n let actions = this.state.actions;\r\n actions = \"update\";\r\n this.setState({ actions });\r\n let servicechargesdata = {};\r\n servicechargesdata.id=\"\";\r\n servicechargesdata.category=\"\";\r\n servicechargesdata.service_charges = \"\";\r\n this.setState({ servicechargesdata });\r\n }\r\n\r\n handleServiceChargesChange(value, field) {\r\n let fields = this.state.servicechargesdata;\r\n // let errors = this.state.educationerror;\r\n console.log(field);\r\n if (value === \"category\") {\r\n fields.category = field.target.value;\r\n // errors[i].register_id = '';\r\n }else if (value === \"id\") {\r\n fields.id = field;\r\n // errors[i].education = '';\r\n } \r\n else if (value === \"service_charges\") {\r\n fields.service_charges = field.target.value;\r\n // errors[i].education = '';\r\n } \r\n this.setState({\r\n servicechargesdata: fields,\r\n });\r\n }\r\n updateServiceCharges=(e)=> {\r\n // let user_id = record.user_id;\r\n let { servicechargesdata, errors } = this.state;\r\n servicechargesdata.type = \"servicechargesdata\";\r\n errors = Validation(servicechargesdata, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n let data = this.state.servicechargesdata;\r\n \r\n // let data = {};\r\n \r\n data.id=servicechargesdata.id;\r\n data.category=servicechargesdata.category;\r\n data.service_charges = servicechargesdata.service_charges;\r\n \r\n axios.put(updateServiceCharges, data, CONFIG).then((list) => {\r\n console.log(data);\r\n console.log(list.data);\r\n let response=list.data;\r\n if (response.status === \"1\") {\r\n\r\n let member = {};\r\n\r\n member.id=data.id;\r\n member.category=data.category;\r\n member.service_charges = data.service_charges;\r\n \r\n let records = this.state.records;\r\n\r\n /** Updating the data table */\r\n let existingRecords = this.state.records;\r\n var index = existingRecords.findIndex((item) => item.id === data.id);\r\n existingRecords.splice(index, 1, member);\r\n this.setState({ records: existingRecords });\r\n\r\n this.setState({ records });\r\n this.setState({ formSuccess: list.data });\r\n this.clearAll();\r\n this.clearMessage();\r\n \r\n }\r\n });\r\n }\r\n }\r\n // deleteRecord(record) {\r\n \r\n // let id = record.id;\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // axios\r\n // .post(removeBusinessFromBusinesslist, { id: id }, CONFIG)\r\n // .then((res) => {\r\n // let response = res.data;\r\n // if (response.status === \"1\") {\r\n // let records = this.state.records;\r\n \r\n // const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n // records.splice(deleteIndex, 1);\r\n // this.setState({ records });\r\n // this.setState({ tableSuccess: res.data });\r\n // this.clearMessage();\r\n // }\r\n // })\r\n // .catch((e) => { });\r\n // this.setState({ deletePopup: false, record: null });\r\n \r\n // this.setState({\r\n // confirmedDelete: false,\r\n // });\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n // axios\r\n // .get(getAllTimeoutdata, null, CONFIG)\r\n // .then((list) => {\r\n // console.log(list)\r\n // this.setState({ records: list.data.data });\r\n // })\r\n // .catch((e) => { console.log(e) });\r\n\r\n // }\r\n\r\n render() {\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n const {\r\n servicechargesdata,\r\n formSuccess,\r\n tableSuccess,\r\n errors,\r\n loading,\r\n } = this.state;\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

    Service Charges

    \r\n
    \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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {\" \"}\r\n {this.state.actions === \"Edit\"\r\n ? \"Edit\"\r\n : \"Edit\"}{\" \"}\r\n Service Charges
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Update\"\r\n ) : (\r\n \"Update\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(ServiceCharges);"," import React, { Component } from 'react';\r\n import { connect } from \"react-redux\";\r\n import axios from \"axios\";\r\n import { CONFIG } from \"../config/data\";\r\n import { updatewrittenprescriptionimage } from \"../config/url.json\";\r\n import { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n function mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n class Canvas extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isDrawing: false,\r\n showHeaders:true,\r\n color: \"#3B3B3B\",\r\n size: \"3\",\r\n cursor: \"default\",\r\n lastX: null,\r\n lastY: null,\r\n offsetX: 0,\r\n offsetY: 0,\r\n startX: 0,\r\n startY: 0\r\n };\r\n this.canvasRef = React.createRef();\r\n this.ctx = React.createRef();\r\n this.timeout = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n console.log(this.props.userdata.id);\r\n console.log(this.props.match.params.id);\r\n const canvas = this.canvasRef.current;\r\n this.ctx.current = canvas.getContext(\"2d\");\r\n\r\n //Resizing\r\n canvas.height = window.innerHeight;\r\n canvas.width = window.innerWidth; \r\n const ctx = canvas.getContext(\"2d\");\r\n this.ctx.current = ctx;\r\n this.ctx.current.lineWidth = this.state.size;\r\n this.ctx.current.lineCap = \"round\";\r\n this.ctx.current.strokeStyle = this.state.color;\r\n \r\n // Define the table dimensions\r\n // const canvas = document.getElementById('myCanvas');\r\n//const ctx = canvas.getContext('2d');\r\n\r\n\r\n\r\n\r\nconst numCols = 7;\r\nconst columnWidths = [20, 250, 30, 30, 30, 30,50]; // specify the width of each column\r\nconst totalWidth = columnWidths.reduce((a, b) => a + b, 0);\r\nconst scaleFactor = canvas.width / totalWidth;\r\n\r\n// Draw the table borders\r\nctx.strokeStyle = \"black\";\r\nctx.strokeRect(0, 0, canvas.width, canvas.height);\r\n\r\n// Draw the table headers\r\nif (this.state.showHeaders) {\r\n ctx.font = \"bold 15px Arial\";\r\n ctx.textAlign = \"center\";\r\n ctx.textBaseline = \"top\";\r\n const headers = [\"S.no\", \"Medicine Description\",\"Morning\", \"Noon\", \"Night\",\"Days\",\"Before/After Food\"];\r\n let x = 0;\r\n for (let col = 0; col < numCols; col++) {\r\n const columnWidth = columnWidths[col] * scaleFactor;\r\n const headerX = x + columnWidth / 2;\r\n const y = 10; // adjust the y-coordinate to position the text at the top\r\n ctx.fillStyle = \"black\";\r\n ctx.fillText(headers[col], headerX, y);\r\n x += columnWidth;\r\n }\r\n}\r\n\r\n// Draw the table columns\r\nlet x = 0;\r\nfor (let col = 0; col < numCols; col++) {\r\n const columnWidth = columnWidths[col] * scaleFactor;\r\n ctx.beginPath();\r\n ctx.moveTo(x, 0); // adjust the y-coordinate to start the column line below the header text\r\n ctx.lineTo(x, canvas.height);\r\n ctx.stroke();\r\n x += columnWidth;\r\n}\r\n //Load from local storage\r\n const canvasimg = localStorage.getItem(\"canvasimg\"+ this.props.match.params.id);\r\n if (canvasimg) {\r\n var image = new Image();\r\n this.ctx.current = canvas.getContext(\"2d\");\r\n image.onload = function () {\r\n this.ctx.current.drawImage(image, 0, 0);\r\n this.setState({ isDrawing: false });\r\n }.bind(this);\r\n image.src = canvasimg;\r\n }\r\n // Handle Wacom pen events\r\n // canvas.addEventListener('pointerdown', this.handlePointerDown);\r\n canvas.addEventListener('pointermove', this.handlePointerMove);\r\n canvas.addEventListener('pointerup', this.handlePointerUp);\r\n \r\n }\r\n\r\n /* startPosition = ({ nativeEvent }) => {\r\n this.setState({ isDrawing: true });\r\n if (nativeEvent) {\r\n this.draw(nativeEvent);\r\n }\r\n }; */\r\n startPosition = ({ nativeEvent }) => {\r\n console.log(nativeEvent);\r\n this.setState({ isDrawing: true });\r\n if(nativeEvent.type === \"mousedown\")\r\n {\r\n console.log(\"mouse\");\r\n }\r\n if (nativeEvent) {\r\n this.draw(nativeEvent);\r\n }\r\n };\r\n handlePointerDown = (event) => {\r\n if (event.pointerType === 'pen') {\r\n console.log(event);\r\n if (event.pointerType === \"pen\") {\r\n this.setState({ isDrawing: true });\r\n this.ctx.current.beginPath();\r\n this.ctx.current.moveTo(\r\n event.clientX - this.canvasRef.current.offsetLeft,\r\n event.clientY - this.canvasRef.current.offsetTop\r\n );\r\n this.draw(event);\r\n }\r\n }\r\n };\r\n\r\n finishedPosition = () => {\r\n this.setState({ isDrawing: false, lastX: null, lastY: null });\r\n this.ctx.current.beginPath();\r\n };\r\n\r\n/* draw = ({ nativeEvent }) => {\r\n if (!this.state.isDrawing) {\r\n return;\r\n }\r\n const canvas = this.canvasRef.current;\r\n this.ctx.current = canvas.getContext(\"2d\");\r\n this.ctx.current.lineWidth = this.state.size;\r\n this.ctx.current.lineCap = \"round\";\r\n this.ctx.current.strokeStyle = this.state.color;\r\n\r\n this.ctx.current.lineTo(nativeEvent.clientX, nativeEvent.clientY);\r\n this.ctx.current.stroke();\r\n this.ctx.current.beginPath();\r\n this.ctx.current.moveTo(nativeEvent.clientX, nativeEvent.clientY);\r\n\r\n if (this.timeout.current !== undefined) clearTimeout(this.timeout.current);\r\n this.timeout.current = setTimeout(function () {\r\n var base64ImageData = canvas.toDataURL(\"image/png\");\r\n localStorage.setItem(\"canvasimg\", base64ImageData);\r\n }, 400);\r\n }; */\r\n\r\n /* draw = ({ nativeEvent }) => {\r\n if (!this.state.isDrawing) {\r\n return;\r\n }\r\n const canvas = this.canvasRef.current;\r\n const ctx = canvas.getContext(\"2d\");\r\n if (!ctx) {\r\n console.error(\"Failed to get canvas context\");\r\n return;\r\n }\r\n this.ctx.current = ctx;\r\n this.ctx.current.lineWidth = this.state.size;\r\n this.ctx.current.lineCap = \"round\";\r\n this.ctx.current.strokeStyle = this.state.color;\r\n \r\n // Define the table dimensions\r\n const numRows = 6;\r\n const numCols = 6;\r\n const cellWidth = canvas.width / numCols;\r\n const cellHeight = canvas.height / numRows;\r\n \r\n // Draw the table borders\r\n this.ctx.current.strokeStyle = \"black\";\r\n this.ctx.current.strokeRect(0, 0, canvas.width, canvas.height);\r\n \r\n // Draw the table cells\r\n for (let row = 0; row < numRows; row++) {\r\n for (let col = 0; col < numCols; col++) {\r\n const x = col * cellWidth;\r\n const y = row * cellHeight;\r\n this.ctx.current.fillStyle = \"white\";\r\n this.ctx.current.fillRect(x, y, cellWidth, cellHeight);\r\n this.ctx.current.strokeStyle = \"black\";\r\n this.ctx.current.strokeRect(x, y, cellWidth, cellHeight);\r\n }\r\n }\r\n \r\n // Draw the table headers (optional)\r\n if (this.state.showHeaders) {\r\n this.ctx.current.font = \"12px Arial\";\r\n this.ctx.current.textAlign = \"center\";\r\n this.ctx.current.textBaseline = \"middle\";\r\n const headers = [\"S.no\", \"Medicine\", \"Days\", \"Morning\", \"Noon\", \"Night\"];\r\n for (let col = 0; col < numCols; col++) {\r\n const x = col * cellWidth + cellWidth / 2;\r\n const y = cellHeight / 2;\r\n this.ctx.current.fillStyle = \"black\";\r\n this.ctx.current.fillText(headers[col], x, y);\r\n }\r\n }\r\n \r\n \r\n this.ctx.current = canvas.getContext(\"2d\");\r\n this.ctx.current.lineWidth = this.state.size;\r\n this.ctx.current.lineCap = \"round\";\r\n this.ctx.current.strokeStyle = \"green\";\r\n\r\n const columnIndex = Math.floor((nativeEvent.clientX - canvas.offsetLeft) / cellWidth);\r\n\r\n // Adjust the x coordinate to stay within the column boundaries\r\n const x = columnIndex * cellWidth + (nativeEvent.clientX - canvas.offsetLeft) % cellWidth;\r\n \r\n // Update the drawing logic to use the adjusted x coordinate\r\n this.ctx.current.beginPath();\r\n this.ctx.current.moveTo(x, nativeEvent.clientY);\r\nthis.ctx.current.lineTo(x, nativeEvent.clientY);\r\nthis.ctx.current.stroke();\r\n if (this.timeout.current !== undefined) clearTimeout(this.timeout.current);\r\n this.timeout.current = setTimeout(function () {\r\n var base64ImageData = canvas.toDataURL(\"image/png\");\r\n localStorage.setItem(\"canvasimg\", base64ImageData);\r\n }, 400); \r\n \r\n // Rest of the drawing logic...\r\n }; */\r\n \r\n/* draw = ({ nativeEvent }) => {\r\n if (!this.state.isDrawing) {\r\n return;\r\n }\r\n const canvas = this.canvasRef.current;\r\n this.ctx.current = canvas.getContext(\"2d\");\r\n this.ctx.current.lineWidth = this.state.size;\r\n this.ctx.current.lineCap = \"round\";\r\n this.ctx.current.strokeStyle = this.state.color;\r\n\r\n if (!this.state.lastX || !this.state.lastY) {\r\n this.ctx.current.beginPath();\r\n this.ctx.current.moveTo(nativeEvent.clientX, nativeEvent.clientY);\r\n this.setState({ lastX: nativeEvent.clientX, lastY: nativeEvent.clientY });\r\n } else {\r\n this.ctx.current.lineTo(nativeEvent.clientX, nativeEvent.clientY);\r\n this.ctx.current.stroke();\r\n this.ctx.current.beginPath();\r\n this.ctx.current.moveTo(nativeEvent.clientX, nativeEvent.clientY);\r\n this.setState({ lastX: nativeEvent.clientX, lastY: nativeEvent.clientY });\r\n }\r\n\r\n if (this.timeout.current !== undefined) clearTimeout(this.timeout.current);\r\n this.timeout.current = setTimeout(function () {\r\n var base64ImageData = canvas.toDataURL(\"image/png\");\r\n localStorage.setItem(\"canvasimg\", base64ImageData);\r\n }, 400);\r\n};\r\n */\r\ndraw = (event) => {\r\n if (!this.state.isDrawing) {\r\n return;\r\n }\r\n const canvas = this.canvasRef.current;\r\n this.ctx.current = canvas.getContext(\"2d\");\r\n this.ctx.current.lineWidth = this.state.size;\r\n this.ctx.current.lineCap = \"round\";\r\n this.ctx.current.strokeStyle = this.state.color;\r\n\r\n const nativeEvent = event.nativeEvent;\r\n if (nativeEvent) {\r\n const clientX = nativeEvent.clientX;\r\n const clientY = nativeEvent.clientY;\r\n\r\n if (!this.state.lastX || !this.state.lastY) {\r\n this.ctx.current.beginPath();\r\n this.ctx.current.moveTo(clientX, clientY);\r\n this.setState({ lastX: clientX, lastY: clientY });\r\n } else {\r\n this.ctx.current.lineTo(clientX, clientY);\r\n this.ctx.current.stroke();\r\n this.ctx.current.beginPath();\r\n this.ctx.current.moveTo(clientX, clientY);\r\n this.setState({ lastX: clientX, lastY: clientY });\r\n }\r\n }\r\n\r\n if (this.timeout.current !== undefined) clearTimeout(this.timeout.current);\r\n this.timeout.current = setTimeout(function () {\r\n var base64ImageData = canvas.toDataURL(\"image/png\");\r\n localStorage.setItem(\"canvasimg\", base64ImageData);\r\n }, 400);\r\n};\r\n\r\nclearCanvas = () => {\r\n localStorage.removeItem(\"canvasimg\");\r\n const canvas = this.canvasRef.current;\r\n const context = canvas.getContext(\"2d\");\r\n context.fillStyle = \"white\";\r\n context.fillRect(0, 0, canvas.width, canvas.height);\r\n canvas.height = window.innerHeight;\r\n canvas.width = window.innerWidth; \r\n const ctx = canvas.getContext(\"2d\");\r\n this.ctx.current = ctx;\r\n this.ctx.current.lineWidth = this.state.size;\r\n this.ctx.current.lineCap = \"round\";\r\n this.ctx.current.strokeStyle = this.state.color;\r\n \r\n // Define the table dimensions\r\n const numCols = 7;\r\nconst columnWidths = [20, 250, 30, 30, 30, 30,50]; // specify the width of each column\r\nconst totalWidth = columnWidths.reduce((a, b) => a + b, 0);\r\nconst scaleFactor = canvas.width / totalWidth;\r\n\r\n// Draw the table borders\r\nctx.strokeStyle = \"black\";\r\nctx.strokeRect(0, 0, canvas.width, canvas.height);\r\n\r\n// Draw the table headers\r\nif (this.state.showHeaders) {\r\n ctx.font = \"bold 15px Arial\";\r\n ctx.textAlign = \"center\";\r\n ctx.textBaseline = \"top\";\r\n const headers = [\"S.no\", \"Medicine Description\", \"Morning\", \"Noon\", \"Night\",\"Days\",\"Before/After Food\"];\r\n let x = 0;\r\n for (let col = 0; col < numCols; col++) {\r\n const columnWidth = columnWidths[col] * scaleFactor;\r\n const headerX = x + columnWidth / 2;\r\n const y = 10; // adjust the y-coordinate to position the text at the top\r\n ctx.fillStyle = \"black\";\r\n ctx.fillText(headers[col], headerX, y);\r\n x += columnWidth;\r\n }\r\n}\r\n\r\n// Draw the table columns\r\nlet x = 0;\r\nfor (let col = 0; col < numCols; col++) {\r\n const columnWidth = columnWidths[col] * scaleFactor;\r\n ctx.beginPath();\r\n ctx.moveTo(x, 0); // adjust the y-coordinate to start the column line below the header text\r\n ctx.lineTo(x, canvas.height);\r\n ctx.stroke();\r\n x += columnWidth;\r\n}\r\n //Passing clear screen\r\n if (this.timeout.current !== undefined) clearTimeout(this.timeout.current);\r\n this.timeout.current = setTimeout(function () {\r\n var base64ImageData = canvas.toDataURL(\"image/png\");\r\n localStorage.setItem(\"canvasimg\", base64ImageData);\r\n }, 400);\r\n };\r\n\r\n getPen = () => {\r\n this.setState({ cursor: \"default\", size: \"3\", color: \"#3B3B3B\" });\r\n };\r\n\r\n eraseCanvas = () => {\r\n this.setState({ cursor: \"grab\", size: \"20\", color: \"#FFFFFF\" });\r\n\r\n if (!this.state.isDrawing) {\r\n return;\r\n }\r\n };\r\n Back=()=>\r\n {\r\n document.location.href=\"/consult/\" + this.props.match.params.id;\r\n }\r\n trimcanvas= () => {\r\n const canvas = this.canvasRef.current;\r\n const writtenprescriptionimage = canvas.toDataURL(\"image/png\");\r\n console.log(writtenprescriptionimage);\r\n if(writtenprescriptionimage!=null)\r\n {\r\n \r\n let resultdata = {\r\n 'writtenprescriptionimage': writtenprescriptionimage,\r\n 'id': this.props.match.params.id\r\n \r\n }\r\n axios.post(updatewrittenprescriptionimage, resultdata, CONFIG).then((result) => {\r\n console.log(\"updated written prescription\");\r\n \r\n })\r\n toast.success(\"Your prescription has been successfully updated.\",{\r\n className:\"toast-success\"\r\n }); \r\n}\r\n/* const link = document.createElement(\"a\");\r\nlink.download = \"canvas_image.png\";\r\nlink.href = image;\r\nlink.click(); */\r\n\r\n// get the image as blob\r\n/* const canvas = this.canvasRef.current;\r\ncanvas.toBlob((blob) => {\r\n const url = URL.createObjectURL(blob);\r\n console.log(url);\r\n const link = document.createElement(\"a\");\r\n link.download = \"canvas_image.png\";\r\n link.href = url;\r\n link.click();\r\n}); */\r\n };\r\n\r\n render() {\r\n const {trimmedDataURL}=this.state;\r\n return (\r\n <>\r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n this.setState({ color: e.target.value })}\r\n />\r\n
    \r\n
    \r\n this.setState({ size: e.target.value })}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n {trimmedDataURL\r\n ? \"\"\r\n : null}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(Canvas);","import React from 'react';\r\nimport { getPrescription,getdigitalsignatureforbusinessuser,getBusinessShortDetail,getClientShortDetail,getCheckinDetails,getwrittenprescriptionbyid } from \"../config/url.json\";\r\n\r\n\r\n\r\nconst PrescriptionTemplate = ({ prescriptionData }) => {\r\n return (\r\n
    \r\n
    \r\n

    Prescription

    \r\n

    \r\n {prescriptionData.hospitalName}
    \r\n {prescriptionData.hospitalAddress}\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {prescriptionData.medicines.map((medicine, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    MedicineDaysMorningNoonNight
    {medicine.name}{medicine.dosage}{medicine.frequency}{medicine.duration}
    \r\n
    \r\n
    \r\n

    \r\n Date: {prescriptionData.date}
    \r\n Doctor's Signature: {prescriptionData.doctorSignature}\r\n

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default PrescriptionTemplate;","import React, { Component } from 'react';\r\nimport PrescriptionTemplate from './PrescriptionTemplate';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { getPrescription,getdigitalsignatureforbusinessuser,getBusinessShortDetail,getClientShortDetail,getCheckinDetails,getwrittenprescriptionbyid } from \"../config/url.json\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport * as moment from \"moment\";\r\nclass PrintPrescriptionnew extends Component {\r\n // ...\r\n handlePrint = () => {\r\n window.print();\r\n };\r\n componentDidMount() {\r\n \r\n const postData1 = { id: this.props.match.params.id };\r\n axios\r\n .post(getPrescription, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n console.log(res.data.status);\r\n if (res.data.status === \"1\") {\r\n console.log(res.data.data[0]);\r\n this.setState({\r\n // with_in_week: data.with_in_week,\r\n // with_in_30: data.with_in_30,\r\n // with_in_3_months: data.with_in_3_months,\r\n // with_in_6_months: data.with_in_6_months,\r\n // with_in_year: data.with_in_year,\r\n // with_in_2_years: data.with_in_2_years,\r\n records: (res.data.data[0] && null != res.data.data[0].medicine_description)\r\n ? res.data.data[0].medicine_description\r\n : [],client_id:res.data.data[0].client_id,business_id:res.data.data[0].business_id,\r\n pharmacy_location: res.data.data[0].pharmacy_location\r\n \r\n });\r\n }\r\n})\r\n }\r\n\r\n render() {\r\n const { records, headerInfo, pharmacy_location } = this.state;\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\nexport default PrintPrescriptionnew;","import React, { Component,Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport { getAppointmentStatus } from \"../constants/globalLevelFunctions\";\r\nimport { getPharmacyPrescriptionList,getprescriptionbyphonenumber } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport { ExpirePopup } from \"../components/UI/ExpirePopup\";\r\nimport * as moment from \"moment\";\r\nimport { getDateISOFormat } from \"../constants/globalLevelFunctions\";\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport Dnaspinner from '../components/UI/Dnaspinner';\r\nimport Button from '@mui/material/Button';\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n };\r\n }\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n\r\n };\r\n}\r\n\r\nclass PrescriptionList extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.searchData = {\r\n phone_number: \"\",\r\n error: \"\",\r\n };\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n showexpirePopup: this.props.validity,\r\n timestamp: 'no timestamp yet',\r\n doc_list: [],\r\n selected_doctor: \"\",\r\n doctor_appointment: [],\r\n queue: {\r\n id: \"\",\r\n client_id: \"\",\r\n business_id: \"\",\r\n first_name: \"\",\r\n last_name: \"\",\r\n age: \"\",\r\n date_of_birth: \"\",\r\n gender: \"\",\r\n marital_status: \"\",\r\n phone_number: \"\",\r\n status: \"cancelled\",\r\n patient_name: \"\",\r\n actual_checkin_time: \"\",\r\n expected_time: \"\",\r\n waitTime: \"\",\r\n },\r\n queueList: [],\r\n selectedQueue: [],\r\n loading: false,\r\n searchData: this.searchData,\r\n };\r\n this.columns = [\r\n \r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"patient_name\",\r\n text: \"Patient Name\",\r\n className: \"patient_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n /* {\r\n key: \"patient_id\",\r\n text: \"Patient ID\",\r\n className: \"patient_id\",\r\n align: \"left\",\r\n sortable: true,\r\n }, */\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return record.phone_number ? record.phone_number:record.parent_phone_number ;\r\n },\r\n },\r\n {\r\n key: \"business_name\",\r\n text: \"Hospital Name\",\r\n className: \"hospital name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"doctor_name\",\r\n text: \"Doctor Name\",\r\n className: \"doctor_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n \r\n\r\n {\r\n key: \"appt_status\",\r\n text: \"Status\",\r\n className: \"appt_status\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n if(record.appt_status === 'RESCHEDULE')\r\n {\r\n return \"Rescheduled\";\r\n } else if(record.appt_status==='SCHEDULED')\r\n {\r\n return \"Scheduled\";\r\n }else\r\n return record.appt_status;\r\n },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n \r\n /* {\r\n key: \"appt_statusscheduled\",\r\n text: \"Scheduled\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n
    {\" \"}\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"appt_statuschekin\",\r\n text: \"Check-In\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n
    {\" \"}\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"appt_statusconsult\",\r\n text: \"Consultation\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n
    {\" \"}\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"appt_statuscheckout\",\r\n text: \"Check-Out\",\r\n className: \"text-center\",\r\n sortable: true,\r\n align: \"left\",\r\n cell: (record) => {\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 this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n\r\n\r\n componentDidMount = () => {\r\n\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getPharmacyPrescriptionList, {pharmacy_id:this.props.userdata.id}, CONFIG)\r\n .then((result) => {\r\n // console.log(result);\r\n console.log(result.data.data);\r\n let resdata = result.data.data;\r\n let prescriptionList = [];\r\n resdata.forEach((element, index) => {\r\n let prescription = {};\r\n prescription.s_no = index + 1;\r\n prescription.patient_id = element.patient_id;\r\n prescription.doctor_name=element.DoctorFirstname + \" \" + element.DoctorLastname;\r\n prescription.patient_name = element.first_name + \" \" + element.last_name;\r\n prescription.business_name = element.business_name;\r\n prescription.dob = element.date_of_birth;\r\n prescription.gender = element.gender;\r\n prescription.blood_group = element.blood_group;\r\n prescription.pharmacy_location=element.pharmacy_location;\r\n prescription.writtenprescriptionimage=element.writtenprescriptionimage;\r\n prescription.pharmacy_name=element.pharmacy_name;\r\n prescription.created_at=element.created_at;\r\n prescription.phone_number = element.phone_number;\r\n prescription.app_time = element.expected_time;\r\n prescription.wait_time = element.waitTime;\r\n prescription.status = element.status;\r\n prescription.checkin_id = element.checkin_id;\r\n prescription.isfee = element.fee;\r\n prescription.isprescription = element.prescription;\r\n prescription.isfollowup = element.followup;\r\n prescription.client_id = element.client_id;\r\n prescription.business_user_id=element.business_user_id;\r\n prescription.id = element.id;\r\n prescription.q_id = element.q_id;\r\n prescription.schedule_day_id = element.schedule_day_id;\r\n prescription.pharmacy_details = element.pharmacy_details\r\n ? element.pharmacy_details\r\n : \"\";\r\n prescription.consultation_fee = element.consultation_fee\r\n ? element.consultation_fee\r\n : \"\";\r\n prescription.follow_up_details = element.follow_up_details\r\n ? element.follow_up_details\r\n : \"\";\r\n prescriptionList[index] = prescription;\r\n });\r\n\r\n\r\n\r\n this.setState({ prescriptionList:prescriptionList, loading: false });\r\n }).catch((err) => { console.log('queue list error' + err) });\r\n \r\n this.setState({ loading: true });\r\n \r\n \r\n \r\n };\r\n getPharmacyPrescriptionList = (pharmacy_id)=>\r\n {\r\n\r\n if (pharmacy_id !== \"\" ) {\r\n let reqdata = {\r\n pharmacy_id: this.props.userdata.id\r\n \r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getPharmacyPrescriptionList,reqdata, CONFIG)\r\n .then((result) => {\r\n // console.log(result);\r\n console.log(result.data.data);\r\n let resdata = result.data.data;\r\n let prescriptionList = [];\r\n resdata.forEach((element, index) => {\r\n let prescription = {};\r\n prescription.s_no = index + 1;\r\n prescription.patient_id = element.patient_id;\r\n prescription.doctor_name=element.DoctorFirstname + \" \" + element.DoctorLastname;\r\n prescription.patient_name = element.first_name + \" \" + element.last_name;\r\n prescription.business_name = element.business_name;\r\n prescription.dob = element.date_of_birth;\r\n prescription.gender = element.gender;\r\n prescription.blood_group = element.blood_group;\r\n prescription.pharmacy_location=element.pharmacy_location;\r\n prescription.writtenprescriptionimage=element.writtenprescriptionimage;\r\n prescription.pharmacy_name=element.pharmacy_name;\r\n prescription.created_at=element.created_at;\r\n prescription.phone_number = element.phone_number;\r\n prescription.app_time = element.expected_time;\r\n prescription.wait_time = element.waitTime;\r\n prescription.status = element.status;\r\n prescription.checkin_id = element.checkin_id;\r\n prescription.isfee = element.fee;\r\n prescription.isprescription = element.prescription;\r\n prescription.isfollowup = element.followup;\r\n prescription.client_id = element.client_id;\r\n prescription.business_user_id=element.business_user_id;\r\n prescription.id = element.id;\r\n prescription.q_id = element.q_id;\r\n prescription.schedule_day_id = element.schedule_day_id;\r\n prescription.pharmacy_details = element.pharmacy_details\r\n ? element.pharmacy_details\r\n : \"\";\r\n prescription.consultation_fee = element.consultation_fee\r\n ? element.consultation_fee\r\n : \"\";\r\n prescription.follow_up_details = element.follow_up_details\r\n ? element.follow_up_details\r\n : \"\";\r\n prescriptionList[index] = prescription;\r\n });\r\n\r\n\r\n\r\n this.setState({ prescriptionList:prescriptionList, loading: false });\r\n }).catch((err) => { console.log('queue list error' + err) });\r\n\r\n }\r\n }\r\n // refreshData = () => {\r\n \r\n // let searchData = this.state.searchData;\r\n // searchData = { phone_number: \"\", errors: \"\" };\r\n // this.setState({\r\n // searchData: searchData});\r\n\r\n // this.getPharmacyPrescriptionList(this.props.userdata.id);\r\n \r\n \r\n //this.setState({ loading: true });\r\n \r\n \r\n // };\r\n refreshData = () => {\r\n // Any additional logic you want to execute before resetting\r\n window.location.reload(); // This will reset the page\r\n };\r\n \r\n viewProfile = (user) => {\r\n console.log(user);\r\n // this.props.setSearchData({ user_id: user.user_id, user_type: \"employee\" });\r\n this.props.history.push({\r\n pathname: \"/viewpatientprescription/\"+user.checkin_id,});\r\n this.props.history.replace({\r\n pathname: \"/viewpatientprescription/\"+user.checkin_id,\r\n state: {\r\n business_id:user.business_id,\r\n Reg_id:user.patient_id,\r\n patient_name:user.patient_name,\r\n business_user_id:user.business_user_id,\r\n business_name:user.business_name,\r\n doctor_name:user.doctor_name,\r\n pharmacy_name:user.pharmacy_name,\r\n pharmacy_location: user.pharmacy_location,\r\n writtenprescriptionimage:user.writtenprescriptionimage,\r\n date:user.created_at\r\n }\r\n }); \r\n\r\n }\r\n\r\n handleselectChange = (selectedoption, event) => {\r\n \r\n let { doc_list } = this.state;\r\n let doctor_shift = [];\r\n if (event.name === \"doc_list\") {\r\n \r\n doc_list[event.name] = selectedoption\r\n \r\n \r\n selectedoption.doctor_Appointments.forEach((doc, k) => {\r\n doctor_shift.push({ value: doc.schedule_day_id, label: \"Shift \" + (k + 1) + \"(\" + doc.starttime + \" - \" + doc.endtime + \")\" })\r\n })\r\n \r\n this.setState({ doc_list: doc_list, selected_doctor: selectedoption, doctor_shift: doctor_shift, selected_shift: doctor_shift[0] });\r\n this.getAppointments(selectedoption.value)\r\n }\r\n if (event.name === 'doctor_shift') {\r\n \r\n this.setState({ selected_shift: selectedoption })\r\n this.getAppointments(this.state.selected_doctor.value)\r\n }\r\n }\r\n\r\n getPatientDetail = () => {\r\n // event.preventDefault();\r\n \r\n let searchData = this.state.searchData;\r\n if (searchData.phone_number === \"\") {\r\n searchData.error = \"Phone number is required\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n if (searchData.phone_number.length !== 10) {\r\n searchData.error = \"Enter a valid phone number\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n \r\n \r\n if (searchData.phone_number !== \"\" && searchData.phone_number.length === 10) {\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n getprescriptionbyphonenumber,\r\n {pharmacy_id:this.props.userdata.id, phone_number: searchData.phone_number },\r\n CONFIG\r\n )\r\n .then((result) => {\r\n this.setState({ loading: false });\r\n \r\n if (result.data.status === \"1\") {\r\n let searchprescription = result.data.prescription;\r\n console.log(searchprescription);\r\n\r\n let searchprescriptionList = [];\r\n searchprescription.forEach((element, index) => {\r\n let prescription = {};\r\n prescription.s_no = index + 1;\r\n prescription.patient_id = element.patient_id;\r\n prescription.doctor_name=element.DoctorFirstname + \" \" + element.DoctorLastname;\r\n prescription.patient_name = element.first_name + \" \" + element.last_name;\r\n prescription.business_name = element.business_name;\r\n prescription.dob = element.date_of_birth;\r\n prescription.gender = element.gender;\r\n prescription.blood_group = element.blood_group;\r\n prescription.pharmacy_location=element.pharmacy_location;\r\n prescription.writtenprescriptionimage=element.writtenprescriptionimage;\r\n prescription.pharmacy_name=element.pharmacy_name;\r\n prescription.created_at=element.created_at;\r\n prescription.phone_number = element.phone_number;\r\n prescription.app_time = element.expected_time;\r\n prescription.wait_time = element.waitTime;\r\n prescription.status = element.status;\r\n prescription.checkin_id = element.checkin_id;\r\n prescription.isfee = element.fee;\r\n prescription.isprescription = element.prescription;\r\n prescription.isfollowup = element.followup;\r\n prescription.client_id = element.client_id;\r\n prescription.business_user_id=element.business_user_id;\r\n prescription.id = element.id;\r\n prescription.q_id = element.q_id;\r\n prescription.schedule_day_id = element.schedule_day_id;\r\n prescription.pharmacy_details = element.pharmacy_details\r\n ? element.pharmacy_details\r\n : \"\";\r\n prescription.consultation_fee = element.consultation_fee\r\n ? element.consultation_fee\r\n : \"\";\r\n prescription.follow_up_details = element.follow_up_details\r\n ? element.follow_up_details\r\n : \"\";\r\n searchprescriptionList[index] = prescription;\r\n });\r\n \r\n \r\n this.setState({\r\n searchprescriptionList:searchprescriptionList,\r\n loading: false,\r\n \r\n });\r\n \r\n } else {\r\n searchData.error = result.data.message;\r\n this.setState({\r\n searchprescriptionList:[],\r\n loading: false,\r\n \r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n console.log(e.data);\r\n console.log(\"business user getbyid failed\");\r\n // searchData.error = e.data.message;\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n \r\n handlePhoneInput = (event) => {\r\n event.preventDefault();\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n data[event.target.name] = event.target.value\r\n .replace(/\\s/g, \"\")\r\n .replace(/[^0-9+]+/g, \"\");\r\n data.error = \"\";\r\n this.setState({ searchData: data, errors });\r\n };\r\n render() {\r\n const { headerinfo, queueList, doc_list,loading,searchSuccess } = this.state;\r\n let loggedinUserId = this.props.userdata.id;\r\n let navigation = {};\r\n navigation.userId = loggedinUserId;\r\n console.log(this.state.showexpirePopup)\r\n let PopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n let PopupConfirm = () => {\r\n this.props.history.push({\r\n pathname: \"/showsubscription\",\r\n state: {}\r\n });\r\n \r\n };\r\n return (\r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {this.props.userdata.user_type === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type === \"pharmacy\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {(this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n {loading && }\r\n
    \r\n
    \r\n \r\n {/*

    \r\n This is the timer value: {this.state.timestamp}\r\n

    */}\r\n \r\n

    Prescription List

    \r\n
    \r\n \r\n {/*
    \r\n */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n {this.state.searchprescriptionList ?\r\n () :\r\n ()}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n)(PrescriptionList);","\r\nimport React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport SideBar from \"../components/container/layout/client/SideBar\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport PharmacyHeader from \"../components/container/layout/pharmacy/Header\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport Spinner from \"../components/UI/Spinner\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { getPrescription,getdigitalsignatureforbusinessuser,getBusinessShortDetail,getClientShortDetail,getCheckinDetails,getwrittenprescriptionbyid } from \"../config/url.json\";\r\nimport {getProfilePercentage} from \"../constants/globalLevelFunctions\";\r\nimport * as moment from \"moment\";\r\nimport { earthRadius } from \"geolib\";\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n business_short_detail: state.SearchReducer.business_short_detail,\r\n };\r\n}\r\n\r\nclass ViewPatientPrescription extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n records: [],\r\n with_in_week: [],\r\n with_in_30: [],\r\n with_in_3_months: [],\r\n with_in_6_months: [],\r\n with_in_year: [],\r\n with_in_2_years: [],\r\n selectedOption: [\"with_in_week0\"],\r\n error: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"medicine_description\",\r\n text: \"Medicine Description\",\r\n className: \"medicine_description\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"days\",\r\n text: \"Days\",\r\n className: \"days\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"before_food\",\r\n text: \"Before Food\",\r\n className: \"before_food\",\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return record.before_food === 1 ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n \"\"\r\n );\r\n },\r\n },\r\n {\r\n key: \"morning\",\r\n text: \"Morning\",\r\n className: \"morning\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"noon\",\r\n text: \"Noon\",\r\n className: \"noon\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"night\",\r\n text: \"Night\",\r\n className: \"night\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"total\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n \r\n \r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n console.log(this.props.checkin_id)\r\n const checkinData = { id: this.props.match.params.id };\r\n axios\r\n .post(getCheckinDetails, checkinData, CONFIG)\r\n .then((res) => {\r\n let completion_data = res.data.data || res.data.date;\r\n if (res.data.status !== \"1\") {\r\n return;\r\n }\r\n console.log(completion_data)\r\nthis.setState({client_id:completion_data.client_id,q_id:completion_data.q_id,Reg_id:completion_data.Reg_id,patient_name:completion_data.first_name,business_id:completion_data.business_id});\r\n})\r\n\r\n const postData1 = { id: this.props.match.params.id };\r\n axios\r\n .post(getPrescription, postData1, CONFIG)\r\n .then((res) => {\r\n let data = res.data.consultantHistory || res.data.consultantHistory;\r\n console.log(data);\r\n console.log(res.data);\r\n // if (res.data.status !== \"1\" || !data || !data[0]) {\r\n // return;\r\n // }\r\n console.log(res.data.status);\r\n if (res.data.status === \"1\") {\r\n console.log(res.data.data[0]);\r\n console.log(res.data.data[0].medicine_description);\r\n this.setState({\r\n // with_in_week: data.with_in_week,\r\n // with_in_30: data.with_in_30,\r\n // with_in_3_months: data.with_in_3_months,\r\n // with_in_6_months: data.with_in_6_months,\r\n // with_in_year: data.with_in_year,\r\n // with_in_2_years: data.with_in_2_years,\r\n records: (res.data.data[0] && null != res.data.data[0].medicine_description)\r\n ? res.data.data[0].medicine_description\r\n : [],client_id:res.data.data[0].client_id,business_id:res.data.data[0].business_id,\r\n pharmacy_location: res.data.data[0].pharmacy_location,records:res.data.data[0].medicine_description,\r\n loading:false\r\n \r\n });\r\n \r\n \r\n axios\r\n .post(getClientShortDetail, { client_id: this.state.client_id })\r\n .then((short_details) => {\r\n if (short_details.data.status === \"1\") {\r\n let info = short_details.data.data[0];\r\n console.log(info);\r\n let headerInfo = {};\r\n headerInfo.avatar = info.avatar;\r\n headerInfo.full_name = info.first_name +''+info.last_name;\r\n headerInfo.registeration_id = info.patient_id;\r\n headerInfo.blood_group = info.blood_group;\r\n headerInfo.age = info.age;\r\n headerInfo.profile_percentage = info.profile_percentage;\r\n this.setState({ registeration_id:info.patient_id,patient_name:info.first_name,headerInfo });\r\n console.log(headerInfo);\r\n console.log(this.state.registeration_id);\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(\"client short info failed\",e);\r\n }); \r\n\r\n \r\n \r\n // const printableElements = document.getElementById(\"layout-wrapper\").innerHTML;\r\n /* const orderHtml =\r\n \"\" +\r\n printableElements +\r\n \"\"; */\r\n /* const orderHtml =\r\n \"\" +\r\n printableElements +\r\n \"\"; \r\n document.body.innerHTML = orderHtml; */\r\n console.log(this.props.match.params.id);\r\n \r\n\r\n // window.print();\r\n\r\n /* if (this.props.match.params.user_type.toLowerCase() === 'doctor') {\r\n document.location.href = '/consult/' + this.props.match.params.id\r\n } else {\r\n document.location.href = \"/queue_assignment\";\r\n } */\r\n\r\n \r\n } else {\r\n this.setState({ error: res.data.message });\r\n }\r\n })\r\n .catch(() => { });\r\n \r\n let reqdata = {\r\n \r\n 'user_id': this.props.location.state.business_user_id\r\n \r\n }\r\n axios\r\n .post(getdigitalsignatureforbusinessuser, reqdata, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n \r\n if (data.status === \"1\")\r\n this.setState({\r\n image: data.data[0].image\r\n \r\n });\r\n\r\n})\r\n \r\n\r\naxios\r\n.post(getBusinessShortDetail, { business_id: this.state.business_id }, CONFIG)\r\n.then((short_details) => {\r\n \r\n\r\n if (short_details.data.status === \"1\") {\r\n let info = short_details.data.data[0];\r\n info.profile_percentage_style = getProfilePercentage(info.profile_percentage);\r\n \r\n this.setState({ headerinfo: info, loading: false, profile_img : info.avatar });\r\n console.log(this.state.headerinfo);\r\n this.props.setBusinessShortData(this.state.headerinfo);\r\n \r\n }\r\n})\r\n.catch((e) => {\r\n console.log(\"business short info failed\",e);\r\n}); \r\n \r\n \r\n\r\n }\r\nBack=()=>\r\n{\r\n window.onafterprint = function() {\r\n document.location.href = \"/prescriptionlist\";\r\n }\r\n \r\n}\r\n render() {\r\n const {\r\n loading,\r\n error,\r\n image,\r\n writtenprescriptionimage,\r\n headerInfo,\r\n Reg_id,\r\n patient_name,\r\n doctor_name,\r\n first_name,\r\n speciality_name,\r\n records\r\n } = this.state;\r\n // console.log(with_in_week.length);\r\n console.log(this.props.userdata.id);\r\n return (\r\n
    \r\n \r\n {loading && }\r\n
    \r\n { this.props.userdata.user_type === \"pharmacy\" ? (\r\n ) :(
    )}\r\n
    \r\n \r\n
    \r\n {this.props.userdata.user_type === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type === \"doctor\" ? (\r\n \r\n ) : this.props.userdata.user_type === \"pharmacy\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    Prescription
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    Hospital Name
    \r\n \r\n
    {this.props.location.state.business_name}
    \r\n Hospital Address\r\n \r\n \r\n \r\n \r\n \r\n Doctor Name\r\n {this.props.location.state.doctor_name}\r\n Speciality Name\r\n {this.props.location.state.speciality_name}\r\n \r\n \r\n Registration. No.\r\n {this.props.location.state.Reg_id}\r\n Patient Name\r\n {this.props.location.state.patient_name}\r\n \r\n \r\n Pharmacy Name\r\n {this.props.location.state.pharmacy_name}\r\n Pharmacy Address\r\n {this.props.location.state.pharmacy_location}\r\n \r\n \r\n \r\n Date\r\n\r\n \r\n {/* {moment(new Date()).format(\r\n \"DD MMM YYYY hh:mm A\"\r\n )} */}\r\n {this.props.location.state.date}\r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    Patient Information
    \r\n
    \r\n
    \r\n
    Patient Name
    \r\n
    {this.props.location.state.patient_name}
    \r\n\r\n
    Registration. No.
    \r\n
    {this.props.location.state.Reg_id}
    \r\n
    \r\n
    \r\n
    \r\n
    Doctor Information
    \r\n
    \r\n
    \r\n
    Doctor Name
    \r\n
    {this.props.location.state.doctor_name}
    \r\n\r\n
    Speciality Name
    \r\n
    {this.props.location.state.speciality_name}
    \r\n
    \r\n
    \r\n
    \r\n
    Hospital Information
    \r\n
    \r\n
    \r\n
    Hospital Name
    \r\n
    {this.props.location.state.business_name}
    \r\n\r\n
    Hospital Address
    \r\n
    \r\n {this.props.location.state.hospital_address}, \r\n {this.props.location.state.hospital_city}, \r\n {this.props.location.state.hospital_state} - \r\n {this.props.location.state.hospital_zipcode}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Pharmacy Information
    \r\n
    \r\n
    \r\n
    Pharmacy Name
    \r\n
    {this.props.location.state.pharmacy_name}
    \r\n\r\n
    Pharmacy Address
    \r\n
    {this.state.pharmacy_location}
    \r\n
    \r\n
    \r\n
    */}\r\n {/*
    \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n
    Date
    \r\n
    {new Date().toLocaleString()}
    \r\n
    */}\r\n
    \r\n {error ? (\r\n {error}\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n {loading ? : null}\r\n {records.length > 0 ? (\r\n \r\n
    \r\n \r\n \r\n \r\n
    ) :\"\"}\r\n \r\n
    \r\n
    \r\n {this.props.location.state.writtenprescriptionimage ? :\"\"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"signature\"\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(ViewPatientPrescription);\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../assets/css/mystyle.css\";\r\nimport { getAllDrugs } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n \r\n { header: 'S.no', key: 's_no' },\r\n { header: 'Drug ID', key: 'drug_id' }, \r\n { header: 'Drug Name', key: 'drug_name' },\r\n { header: 'Generic Name', key: 'generic_name' },\r\n { header: 'Active Incredients', key: 'active_ingredients' },\r\n { header: 'Manufacturer', key: 'manufacturer' }, \r\n/* { header: 'hsn_code', key: 'hsn_code' }, \r\n { header: 'igst', key: 'igst' },\r\n { header: 'sgst', key: 'sgst' }, \r\n { header: 'cgst', key: 'cgst' }, \r\n { header: 'storage_bin', key: 'storage_bin' },\r\n { header: 'storage_condition', key: 'storage_condition' }, \r\n { header: 'rx_category', key: 'rx_category' }, \r\n { header: 'category', key: 'category' }, */\r\n { header: 'Unit of Measure', key: 'unit_of_measure' }, \r\n \r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'ItemsList';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n //get data through props\r\n const newdata=props.records;\r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n newdata.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n });\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"The Drug list has been downloaded successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../assets/css/mystyle.css\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n\r\n /* { header: 'Drug ID(5 Chars)', key: 'drug_id' }, */\r\n { header: 'Drug Name', key: 'drug_name' },\r\n { header: 'Item Name', key: 'generic_name' },\r\n { header: 'Active Incredients', key: 'active_ingredients' },\r\n { header: 'Unit of Measure', key: 'unit_of_measure' }, \r\n { header: 'Manufacturer', key: 'manufacturer' }, \r\n { header: 'Hsn code', key: 'hsn_code' }, \r\n { header: 'Igst', key: 'igst' },\r\n { header: 'Sgst', key: 'sgst' }, \r\n { header: 'Cgst', key: 'cgst' }, \r\n { header: 'Storage_bin', key: 'storage_bin' },\r\n { header: 'storage condition', key: 'storage_condition' }, \r\n { header: 'Rx category', key: 'rx_category' }, \r\n { header: 'Category', key: 'category' }, \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'ItemTemplate';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n /* data.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n }); */\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Item List Template has been generated successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n \r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport CheckboxOrRadioGroup from \"../components/UI/CheckboxOrRadioGroup\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Label from \"../components/UI/Label\";\r\nimport {\r\n getAllMasterDrug,\r\n getAllPharmacyDrugs,\r\n getAllPharmacyItemList,\r\n addPharmacyDrugPlanning,\r\n updatePharmacyDrugPlanning,\r\n getAllDrugs,\r\n getAllDrugTypes,\r\n getAllDrugCategories,\r\n addDrug,\r\n updateDrug,\r\n deleteDrug,\r\n searchDrug,\r\n getAllDrugMeasures,\r\n getTimeoutbycategory,\r\n hospitaldrugimport,\r\n getAllActiveingredientsforPharmacyDrugs,\r\n getAllgenericnameforPharmacyactiveingredients,\r\n pharmacyitemimport,\r\n deleteItem,\r\n} from \"../config/url.json\";\r\nimport { CONFIG,categorylist } from \"../config/data\";\r\n\r\nimport Select from \"react-select\";\r\nimport Validation from \"../actions/Validation\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Button, Modal, ModalHeader, ModalBody } from \"reactstrap\";\r\n// Import React Table\r\nimport \"react-table/react-table.css\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport ExpirePopup from \"../components/UI/ExpirePopup\"\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport ItemsExport from \"./ItemsExport\";\r\nimport ItemTemplate from \"./ItemTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport LoadingHeartrate from \"../components/UI/Heartrate\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst drug_status = [\"Active\", \"Inactive\"];\r\n\r\n\r\nclass PharmacyDruglist extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n showexpirePopup: this.props.validity,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n\r\n searchrecords: [],\r\n drug_action: \"Add\",\r\n loading: false,\r\n addDrugSuccess: \"\",\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n search_action: false,\r\n recordToDelete: [],\r\n drugTypes: [],\r\n drugCategories: [],\r\n masterdrugNames: [],\r\n drugList: [],\r\n ActiveIngredientList:[],\r\n GenericNameList:[],\r\n newDatatoAdd: {},\r\n addPopup: false,\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n\r\n drugList: {\r\n s_no: \"\",\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n drug_type:\"\",\r\n },\r\n pharmacydrugData: {\r\n id: \"\",\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n generic_name:\"\",\r\n active_ingredients: \"\",\r\n manufacturer: \"\",\r\n hsn_code:\"\",\r\n igst:\"\",\r\n sgst:\"\",\r\n cgst:\"\",\r\n unit_of_measure: \"\",\r\n conversion_factor:\"\",\r\n category:\"\",\r\n storage_bin:\"\",\r\n storage_condition:\"\",\r\n rx_category:\"\",\r\n minimum_quantity:\"\",\r\n maximum_quantity:\"\",\r\n reorder_quantity:\"\",\r\n drug_status:\"Active\",\r\n disable_drug_name:true,\r\n },\r\n errors: {\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n generic_name:\"\",\r\n active_ingredients: \"\",\r\n manufacturer: \"\",\r\n hsn_code:\"\",\r\n igst:\"\",\r\n sgst:\"\",\r\n cgst:\"\",\r\n unit_of_measure: \"\",\r\n conversion_factor:\"\",\r\n category:\"\",\r\n storage_bin:\"\",\r\n storage_condition:\"\",\r\n rx_category:\"\",\r\n minimum_quantity:\"\",\r\n maximum_quantity:\"\",\r\n reorder_quantity:\"\",\r\n drug_status:\"\",\r\n },\r\n searchData: {\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n generic_name:\"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n editformSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n searchTableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n columns: [\r\n { title: \"Drug Id\", field: \"drug_id\" },\r\n { title: \"Item Name\", field: \"drug_name\" },\r\n { title: \"Drug Category\", field: \"drug_category\" },\r\n { title: \"Drug Type\", field: \"drug_type\" },\r\n { title: \"Manufacturer\", field: \"manufacturer\" },\r\n { title: \"Active Ingredients\", field: \"active_ingredients\" },\r\n ],\r\n data: [\r\n {\r\n drug_id: \"1\",\r\n drug_name: \"da\",\r\n drug_category: \"ds\",\r\n drug_type: \"sdd\",\r\n manufacturer: \"sdsd\",\r\n active_ingredients: \"adsfd\",\r\n },\r\n ],\r\n searchErrorMessage: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n },\r\n {\r\n key: \"drug_id\",\r\n text: \"Item ID\",\r\n className: \"drug_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"drug_name\",\r\n text: \"Drug Name\",\r\n className: \"drug_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n \r\n },\r\n {\r\n key: \"active_ingredients\",\r\n text: \"Active Incredients\",\r\n className: \"active_ingredients\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n },\r\n /* {\r\n key: \"drug_category\",\r\n text: \"Drug Category\",\r\n className: \"drug_category\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n },\r\n \r\n {\r\n key: \"drug_type\",\r\n text: \"Drug Type\",\r\n className: \"drug_type\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n },\r\n */\r\n {\r\n key: \"unit_of_measure\",\r\n text: \"Unit of Measure\",\r\n className: \"unit_of_measure\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n },\r\n {\r\n key: \"manufacturer\",\r\n text: \"Manufacturer\",\r\n className: \"manufacturer\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n },\r\n \r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.searchcolumns = [\r\n // {\r\n // key: \"s_no\",\r\n // text: \"S.No\",\r\n // className: \"s_no\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // },\r\n {\r\n key: \"drug_id\",\r\n text: \"Drug ID\",\r\n className: \"drug_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"drug_name_hide\",\r\n text: \"drug_name_hide\",\r\n className: \"drug_name hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n /* {\r\n key: \"drug_category_hide\",\r\n text: \"drug_category_hide\",\r\n className: \"drug_category_hide hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"drug_type_hide\",\r\n text: \"drug_type_hide\",\r\n className: \"drug_type_hide hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n */ {\r\n key: \"unit_of_measure_hide\",\r\n text: \"unit_of_measure_hide\",\r\n className: \"unit_of_measure_hide hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"drug_name\",\r\n text: \"Drug Name\",\r\n className: \"drug_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n // cell: (record) =>\r\n // {\r\n // return (\r\n // \r\n\r\n /* \r\n */\r\n // \r\n // \r\n // );\r\n // },\r\n },\r\n {\r\n key: \"generic_name\",\r\n text: \"Generic Name\",\r\n className: \"generic_name\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n \r\n },\r\n {\r\n key: \"unit_of_measure\",\r\n text: \"Unit of Measure\",\r\n className: \"unit_of_measure\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n // cell: (record) => {\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 key: \"drug_category\",\r\n text: \"Drug Category\",\r\n className: \"drug_category\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n },\r\n\r\n {\r\n key: \"drug_type\",\r\n text: \"Drug Type\",\r\n className: \"drug_type\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n \r\n },\r\n */\r\n {\r\n key: \"manufacturer\",\r\n text: \"Manufacturer\",\r\n className: \"manufacturer\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n\r\n // cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n // return (\r\n // \r\n // );\r\n // },\r\n },\r\n\r\n {\r\n key: \"active_ingredients\",\r\n text: \"Active Incredients\",\r\n className: \"active_ingredients\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n\r\n // cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n // return (\r\n // \r\n // );\r\n // },\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n }\r\n }\r\n\r\n handleCategoryColumnChange = (value, record, field) => {\r\n // console.log(field);\r\n // console.log(value);\r\n // console.log(record);\r\n value[field] = record;\r\n // console.log(record);\r\n // record.availability = \"Yes\" === record.availability ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(value);\r\n };\r\n handledrugstatus = (e) => {\r\n let data = this.state.pharmacydrugData;\r\n data.drug_status = [e.target.value];\r\n this.setState({ pharmacydrugData: data });\r\n };\r\n\r\n handlestorageconditionChange=(selectedOptions, e)=>{\r\n let data = this.state.pharmacydrugData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n \r\n this.setState({ pharmacydrugData: data, errors,searchErrorMessage: \"\" });\r\n }\r\n handlecategoryChange=(selectedOptions, e)=>{\r\n let data = this.state.pharmacydrugData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n console.log(selectedOptions.label);\r\n console.log(data[e.name]);\r\n \r\n if(selectedOptions.label==\"Medicines\")\r\n {\r\n this.setState({disable_drug_name:true})\r\n }\r\n if(selectedOptions.label!==\"Medicines\")\r\n {\r\n this.setState({disable_drug_name:false})\r\n }\r\n \r\n this.setState({ pharmacydrugData: data, errors,searchErrorMessage: \"\" });\r\n }\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value=event.target.value;\r\n if (\r\n event.target.name === \"searchdrug_id\"\r\n \r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.drugid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.drugid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateColumnChange(record);\r\n };\r\n UpdateColumnChange = (record) => {\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex].drug_id = record.drug_id;\r\n records[recIndex].drug_name = record.drug_name;\r\n records[recIndex].drug_category = record.drug_category;\r\n records[recIndex].drug_type = record.drug_type;\r\n\r\n this.setState({ searchrecords: records });\r\n };\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyDrugs, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const masterdrugNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const masterdrugNames = masterdrugNameList\r\n .filter((element) => {\r\n \r\n if (!uniqueDrugNames.has(element.drug_name)) {\r\n uniqueDrugNames.add(element.drug_name); \r\n return true; \r\n }\r\n return false; \r\n })\r\n .map((element) => ({\r\n value: element.id,\r\n label: element.drug_name,\r\n manufacturer: \"\", \r\n active_incredient: \"\", \r\n }));\r\n \r\n this.setState({ masterdrugNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n \r\n });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugTypes, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugTypeResponse) => {\r\n let drugTypeList = drugTypeResponse.data.data;\r\n let drugTypes = [];\r\n drugTypeList.forEach((element) => {\r\n drugTypes.push({ value: element.id, label: element.drug_type });\r\n });\r\n\r\n this.setState({ drugTypes });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugCategories, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugCategoryResponse) => {\r\n let list = drugCategoryResponse.data.data;\r\n\r\n let drugCategories = [];\r\n list.forEach((element) => {\r\n drugCategories.push({\r\n value: element.id,\r\n label: element.drug_category,\r\n });\r\n });\r\n this.setState({ drugCategories });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList , { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.drug_id = element.drug_id;\r\n drugData.drug_name = element.drug_name;\r\n drugData.manufacturer = element.manufacturer;\r\n drugData.active_ingredients = element.active_ingredients;\r\n drugData.unit_of_measure = element.unit_of_measure;\r\n drugData.generic_name=element.generic_name;\r\n drugData.hsn_code=element.hsn_code;\r\n drugData.igst=element.igst;\r\n drugData.sgst=element.sgst;\r\n drugData.cgst=element.cgst;\r\n drugData.conversion_factor=element.conversion_factor;\r\n drugData.category=element.category;\r\n drugData.storage_bin=element.storage_bin;\r\n drugData.storage_condition=element.storage_condition;\r\n drugData.rx_category=element.rx_category;\r\n drugData.minimum_quantity=element.minimum_quantity;\r\n drugData.maximum_quantity=element.maximum_quantity;\r\n drugData.reorder_quantity=element.reorder_quantity;\r\n drugDataArr[index] = drugData;\r\n });\r\n\r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n axios\r\n .post(getAllDrugMeasures, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugmeasureList = drugMasterRespons.data.data;\r\n console.log(masterdrugmeasureList);\r\n let masterdrugmeasure = [];\r\n masterdrugmeasureList.forEach((element) => {\r\n masterdrugmeasure.push({\r\n value: element.unit_of_measure,\r\n label: element.unit_of_measure,\r\n\r\n });\r\n });\r\n\r\n this.setState({ masterdrugmeasure });\r\n })\r\n .catch(() => { });\r\n\r\n axios\r\n .post(getAllMasterDrug, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugList = drugMasterRespons.data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastermanufaturerNames = masterdrugList\r\n .filter((element) => {\r\n \r\n if (!uniqueDrugNames.has(element.manufacturer)) {\r\n uniqueDrugNames.add(element.manufacturer); \r\n return true; \r\n }\r\n return false; \r\n })\r\n .map((element) => ({\r\n value: element.manufacturer,\r\n label: element.manufacturer,\r\n\r\n }));\r\n \r\n\r\n this.setState({ mastermanufaturerNames });\r\n })\r\n .catch(() => { });\r\n };\r\n addRecord = (record) => {\r\n let formvalid = true;\r\n if (record.searchdrug_id === \"\") {\r\n record.drugid_error = \"Please enter drug id\";\r\n formvalid = false;\r\n } else {\r\n record.drugid_error = \"\";\r\n }\r\n if (record.drug_name.label === \"\") {\r\n formvalid = false;\r\n record.drugname_error = \"Please enter drug name\";\r\n } else {\r\n record.drugname_error = \"\";\r\n }\r\n if(record.generic_name===\"\")\r\n {\r\n formvalid = false;\r\n record.generic_name_error = \"Please enter generic name\";\r\n } else {\r\n record.generic_name_error = \"\";\r\n }\r\n if (record.drug_category && record.drug_category.label === \"\") {\r\n formvalid = false;\r\n record.drugcategory_error = \"Please enter drug category\";\r\n } else {\r\n record.drugcategory_error = \"\";\r\n }\r\n if (record.drug_type && record.drug_type.label === \"\") {\r\n record.drugtype_error = \"Please enter drug type\";\r\n formvalid = false;\r\n } else {\r\n record.drugtype_error = \"\";\r\n }\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex] = record;\r\n this.setState({ searchrecords: records });\r\n if (formvalid) {\r\n this.setState({ drug_action: \"Add\" });\r\n // this.setState({ newDatatoAdd: record, loading: true });\r\n // this.addorupdateDrug();\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let selectedData = record;\r\n // console.log(selectedData); return false;\r\n let data = {};\r\n data.user_id = this.props.userdata.id;\r\n data.drug_id = selectedData.searchdrug_id;\r\n data.drug_name = selectedData.drug_name;\r\n data.drug_type = selectedData.drug_type;\r\n data.drug_category = selectedData.drug_category;\r\n data.unit_of_measure = selectedData.unit_of_measure;\r\n data.manufacturer = selectedData.manufacturer;\r\n data.active_ingredients = selectedData.active_ingredients;\r\n data.generic_name=selectedData.generic_name;\r\n axios\r\n .post(addDrug, data, CONFIG)\r\n .then((addDrugResponse) => {\r\n let res = addDrugResponse.data;\r\n console.log(addDrugResponse)\r\n if (res.status === \"1\") {\r\n let drug = {};\r\n let records = this.state.records;\r\n drug.s_no = this.state.records.length + 1;\r\n drug.drug_id = data.drug_id;\r\n drug.id = res.data[0].id;\r\n drug.drug_name = data.drug_name;\r\n drug.drug_category = data.drug_category;\r\n drug.unit_of_measure = data.unit_of_measure;\r\n drug.manufacturer = data.manufacturer;\r\n drug.drug_type = data.drug_type;\r\n drug.active_ingredients = data.active_ingredients;\r\n drug.generic_name=data.generic_name;\r\n records.push(drug);\r\n // this.setState({ searchrecords: records });\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n toast.success(\"The Item details have been added successfully. \", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Item could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n }\r\n };\r\n editRecord(record) {\r\n let drug_action = this.state.drug_action;\r\n drug_action = \"Edit\";\r\n this.setState({ drug_action });\r\n\r\n let pharmacydrugData = this.state.pharmacydrugData;\r\n pharmacydrugData.s_no = record.s_no;\r\n pharmacydrugData.id = record.id;\r\n pharmacydrugData.drug_id = record.drug_id;\r\n // pharmacydrugData.drug_name = record.drug_name;\r\n pharmacydrugData.manufacturer = record.manufacturer;\r\n pharmacydrugData.drug_name = {\r\n label: record.drug_name,\r\n value: record.drug_name,\r\n };\r\n pharmacydrugData.manufacturer = {\r\n label: record.manufacturer,\r\n value: record.manufacturer,\r\n };\r\n pharmacydrugData.unit_of_measure = {\r\n label: record.unit_of_measure,\r\n value: record.unit_of_measure,\r\n };\r\n pharmacydrugData.active_ingredients = {\r\n label: record.active_ingredients,\r\n value: record.active_ingredients,\r\n };\r\n //pharmacydrugData.active_ingredients = record.active_ingredients;\r\n pharmacydrugData.generic_name=record.generic_name;\r\n pharmacydrugData.hsn_code=record.hsn_code;\r\n pharmacydrugData.igst=record.igst;\r\n pharmacydrugData.sgst=record.sgst;\r\n pharmacydrugData.cgst=record.cgst;\r\n pharmacydrugData.conversion_factor=record.conversion_factor;\r\n // pharmacydrugData.category=record.category;\r\n pharmacydrugData.category = {\r\n label: record.category,\r\n value: record.category,\r\n };\r\n pharmacydrugData.storage_bin=record.storage_bin;\r\n pharmacydrugData.storage_condition = {\r\n label: record.storage_condition,\r\n value: record.storage_condition,\r\n };\r\n // pharmacydrugData.storage_condition=record.storage_condition;\r\n pharmacydrugData.rx_category = {\r\n label: record.rx_category,\r\n value: record.rx_category,\r\n };\r\n // pharmacydrugData.rx_category=record.rx_category;\r\n pharmacydrugData.minimum_quantity=record.minimum_quantity;\r\n pharmacydrugData.maximum_quantity=record.maximum_quantity;\r\n pharmacydrugData.reorder_quantity=record.reorder_quantity;\r\n this.setState({ pharmacydrugData: pharmacydrugData });\r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n errorMessage:\"\",\r\n }),\r\n 5000\r\n );\r\n };\r\n\r\n cancel = () => {\r\n \r\n let data = this.state.pharmacydrugData;\r\n data.drug_id = \"\";\r\n data.drug_name = \"\";\r\n data.user_id = \"\";\r\n data.generic_name=\"\";\r\n data.active_ingredients= \"\";\r\n data.manufacturer= \"\";\r\n data.hsn_code=\"\";\r\n data.igst=\"\";\r\n data.sgst=\"\";\r\n data.cgst=\"\";\r\n data.unit_of_measure=\"\";\r\n data.conversion_factor=\"\";\r\n data.category=\"\";\r\n data.storage_bin=\"\";\r\n data.storage_condition=\"\";\r\n data.rx_category=\"\";\r\n data.minimum_quantity=\"\";\r\n data.maximum_quantity=\"\";\r\n data.reorder_quantity=\"\";\r\n \r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ pharmacydrugData: data,loading:false, actions: \"add\", errors: errors,errorMessage:\"\",file:\"\" });\r\n };\r\n clearErrors = (errors) => {\r\n errors.drug_id = \"\";\r\n errors.drug_name = \"\";\r\n errors.user_id = \"\";\r\n errors.generic_name=\"\";\r\n errors.active_ingredients= \"\";\r\n errors.manufacturer= \"\";\r\n errors.hsn_code=\"\";\r\n errors.igst=\"\";\r\n errors.sgst=\"\";\r\n errors.cgst=\"\";\r\n errors.unit_of_measure=\"\";\r\n errors.conversion_factor=\"\";\r\n errors.category=\"\";\r\n errors.storage_bin=\"\";\r\n errors.storage_condition=\"\";\r\n errors.rx_category=\"\";\r\n errors.minimum_quantity=\"\";\r\n errors.maximum_quantity=\"\";\r\n errors.reorder_quantity=\"\";\r\n return errors;\r\n };\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.pharmacydrugData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n \r\n this.setState({ pharmacydrugData: data, errors,searchErrorMessage: \"\" });\r\n\r\n axios\r\n .post(getAllActiveingredientsforPharmacyDrugs,{user_id:this.props.userdata.id,drug_name:selectedOptions.label}, CONFIG)\r\n .then((ActiveIngredientdrugRespons) => {\r\n let ActiveIngredientNameList = ActiveIngredientdrugRespons.data.data;\r\n let ActiveIngredientList = [];\r\n ActiveIngredientNameList.forEach((element, index) => {\r\n ActiveIngredientList.push({\r\n value: element.id,\r\n label: element.active_ingredients,\r\n manufacturer: \"\"\r\n \r\n });\r\n });\r\n\r\n this.setState({ ActiveIngredientList });\r\n }).catch((e) => { });\r\n };\r\n\r\n handleactiveingredientsSelect= (activeselectedOptions, e) => {\r\n let data = this.state.pharmacydrugData;\r\n data[e.name] = activeselectedOptions;\r\n this.setState({ pharmacydrugData: data });\r\n \r\n \r\n \r\n axios\r\n .post(getAllgenericnameforPharmacyactiveingredients,{user_id:this.props.userdata.id,active_ingredients:activeselectedOptions.label}, CONFIG)\r\n .then((GenericNameRespons) => {\r\n let GenericNameFullList = GenericNameRespons.data.data;\r\n let GenericNameList = [];\r\n GenericNameFullList.forEach((element, index) => {\r\n GenericNameList.push({\r\n value: element.id,\r\n label: element.generic_name,\r\n manufacturer: \"\"\r\n \r\n });\r\n });\r\n\r\n this.setState({ GenericNameList });\r\n \r\n }).catch((e) => { });\r\n } \r\n\r\n handleSearchGenericNameselect= (selectedOptions, e) => {\r\n let data = this.state.pharmacydrugData;\r\n data[e.name] = selectedOptions;\r\n this.setState({ pharmacydrugData: data });\r\n \r\n \r\n };\r\n\r\n handlemanufacturerselect= (selectedOptions, e) => {\r\n let data = this.state.pharmacydrugData;\r\n data[e.name] = selectedOptions;\r\n this.setState({ pharmacydrugData: data });\r\n \r\n \r\n };\r\n\r\n handlesearchinputChange = (eve) => {\r\n let data = this.state.searchData;\r\n\r\n data[eve.target.name] = eve.target.value;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n handlesearchselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n \r\n data[e.name] = selectedOptions;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.pharmacydrugData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ pharmacydrugData: data, errors: errors });\r\n }\r\n // handleInput = (e) => {\r\n // let data = this.state.pharmacydrugData;\r\n // let errors = this.state.errors;\r\n // let name = e.target.name;\r\n // let value = e.target.value;\r\n // let max = e.target.max;\r\n // if (\r\n // name === \"drug_id\" ||\r\n // name === \"drug_name\" ||\r\n // name === \"manufacturer\" ||\r\n // name === \"active_ingredients\"||\r\n // name === \"generic_name\"\r\n\r\n // ) {\r\n // this.validateMaxLength(name, value, max);\r\n // } else {\r\n // data[name] = value;\r\n // errors[name] = \"\"\r\n // }\r\n // this.setState({ pharmacydrugData: data, errors,searchErrorMessage: \"\" });\r\n // };\r\n\r\n handleInput = (e) => {\r\n let data = this.state.pharmacydrugData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n\r\n const fieldsToValidateMaxLength = [\r\n \"drug_id\",\r\n \"drug_name\",\r\n \"manufacturer\",\r\n \"active_ingredients\",\r\n \"generic_name\"\r\n ];\r\n\r\n const fieldsToValidateTenDigitLength = [\r\n \"minimum_quantity\",\r\n \"maximum_quantity\",\r\n \"reorder_quantity\"\r\n ];\r\n\r\n if (fieldsToValidateMaxLength.includes(name)) {\r\n this.validateMaxLength(name, value, max);\r\n } else if (fieldsToValidateTenDigitLength.includes(name) && value.length > 10) {\r\n errors[name] = \"Value cannot be more than 10 digits\";\r\n } else if (name === \"hsn_code\" && value.length > 8) {\r\n errors[name] = \"Value cannot be more than 8 digits\";\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n }\r\n\r\n this.setState({ pharmacydrugData: data, errors, searchErrorMessage: \"\" });\r\n};\r\n\r\n\r\n\r\n addorupdateDrug() {\r\n // let url = this.state.drug_action === \"Add\" ? addDrug : updateDrug;\r\n /* axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n */\r\n\r\n let { pharmacydrugData, errors } = this.state;\r\n pharmacydrugData.type = \"item\";\r\n errors = Validation(pharmacydrugData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n let data = {};\r\n \r\n data.user_id = this.props.userdata.id;\r\n data.id=pharmacydrugData.id;\r\n data.drug_status = pharmacydrugData.drug_status;\r\n data.drug_id = pharmacydrugData.drug_id;\r\n data.drug_name = pharmacydrugData.drug_name.label;\r\n data.generic_name=pharmacydrugData.generic_name;\r\n data.active_ingredients = pharmacydrugData.active_ingredients.label;\r\n data.manufacturer = pharmacydrugData.manufacturer.label;\r\n data.hsn_code=pharmacydrugData.hsn_code;\r\n data.igst=pharmacydrugData.igst;\r\n data.sgst=pharmacydrugData.sgst;\r\n data.cgst=pharmacydrugData.cgst;\r\n data.storage_bin = pharmacydrugData.storage_bin;\r\n data.storage_condition = pharmacydrugData.storage_condition.label;\r\n data.rx_category=pharmacydrugData.rx_category.label;\r\n data.category = pharmacydrugData.category.label;\r\n data.unit_of_measure = pharmacydrugData.unit_of_measure.label;\r\n data.conversion_factor=pharmacydrugData.conversion_factor;\r\n data.minimum_quantity=pharmacydrugData.minimum_quantity;\r\n data.maximum_quantity=pharmacydrugData.maximum_quantity;\r\n data.reorder_quantity=pharmacydrugData.reorder_quantity;\r\n \r\n \r\n console.log('Data to be sent:', data);\r\n let records = this.state.records;\r\n if (this.state.drug_action === \"Add\") {\r\n axios\r\n .post(addPharmacyDrugPlanning, data, CONFIG)\r\n .then((addDrugResponse) => {\r\n let res = addDrugResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n records.push({\r\n ...data,\r\n s_no: records.length + 1\r\n });\r\n \r\n toast.success(\"The Item details have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Item could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n } else {\r\n axios\r\n .post(updatePharmacyDrugPlanning, data, CONFIG)\r\n .then((updateDrugResponse) => {\r\n let updateResponse = updateDrugResponse.data;\r\n if (updateResponse.status === \"1\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList , { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.drug_id = element.drug_id;\r\n drugData.drug_name = element.drug_name;\r\n drugData.drug_status=element.drug_status;\r\n drugData.manufacturer = element.manufacturer;\r\n drugData.active_ingredients = element.active_ingredients;\r\n drugData.unit_of_measure = element.unit_of_measure;\r\n drugData.generic_name=element.generic_name;\r\n drugData.hsn_code=element.hsn_code;\r\n drugData.igst=element.igst;\r\n drugData.sgst=element.sgst;\r\n drugData.cgst=element.cgst;\r\n drugData.conversion_factor=element.conversion_factor;\r\n drugData.category=element.category;\r\n drugData.storage_bin=element.storage_bin;\r\n drugData.storage_condition=element.storage_condition;\r\n drugData.rx_category=element.rx_category;\r\n drugData.minimum_quantity=element.minimum_quantity;\r\n drugData.maximum_quantity=element.maximum_quantity;\r\n drugData.reorder_quantity=element.reorder_quantity;\r\n drugDataArr[index] = drugData;\r\n });\r\n \r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n // let addDrugSuccess = this.state.addDrugSuccess;\r\n // addDrugSuccess = updateResponse.message;\r\n // this.setState({ addDrugSuccess: addDrugSuccess });\r\n\r\n /** Updating the data table */\r\n // let existingRecords = this.state.records;\r\n // var index = existingRecords.findIndex(\r\n // (item) => item.id === data.id\r\n // );\r\n // existingRecords.splice(index, 1, data);\r\n // this.setState({ records: existingRecords });\r\n // this.setState({ tableSuccess: updateResponse });\r\n // this.setState({ editformSuccess: updateResponse });\r\n toast.success(\"The Item details have been updated successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({ tableSuccess: updateResponse });\r\n this.setState({ editformSuccess: updateResponse });\r\n toast.error(\"Item could not be updated. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n this.setState({ loading: false });\r\n })\r\n .catch(() => { });\r\n }\r\n }\r\n }\r\n\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n\r\n }\r\n\r\n cancelDelete() {\r\n this.setState({\r\n showDeleteConfirmPopup: !this.state.showDeleteConfirmPopup,\r\n });\r\n }\r\n\r\n deleteRecord(record) {\r\n let userId = record.drug_id;\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deleteItem, { data: { drug_id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.drug_id).indexOf(record.drug_id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\", loading: false });\r\n this.setState({ tableSuccess: res.data });\r\n toast.error(\"The Drug detail has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.drug_id = element.drug_id;\r\n drugData.drug_name = element.drug_name;\r\n drugData.drug_type = element.drug_type;\r\n drugData.drug_category = element.drug_category;\r\n drugData.generic_name=element.generic_name;\r\n drugData.manufacturer = element.manufacturer;\r\n drugData.active_ingredients = element.active_ingredients;\r\n drugData.unit_of_measure = element.unit_of_measure;\r\n drugDataArr[index] = drugData;\r\n });\r\n \r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n \r\n })\r\n .catch(() => { });\r\n \r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n searchTableSuccess: { message: \"\" },\r\n editformSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n clearAll=()=> {\r\n let drug_action = this.state.drug_action;\r\n drug_action = \"Add\";\r\n this.setState({ drug_action });\r\n let pharmacydrugData = {};\r\n pharmacydrugData.drug_id = \"\";\r\n pharmacydrugData.drug_name = \"\";\r\n pharmacydrugData.manufacturer = \"\";\r\n pharmacydrugData.drug_category = \"\";\r\n pharmacydrugData.generic_name=\"\";\r\n pharmacydrugData.drug_type = \"\";\r\n pharmacydrugData.active_ingredients = \"\";\r\n pharmacydrugData.unit_of_measure = \"\";\r\n pharmacydrugData.hsn_code = \"\";\r\n pharmacydrugData.igst = \"\";\r\n pharmacydrugData.sgst = \"\";\r\n pharmacydrugData.cgst = \"\";\r\n pharmacydrugData.minimum_quantity = \"\";\r\n pharmacydrugData.maximum_quantity = \"\";\r\n pharmacydrugData.reorder_quantity = \"\";\r\n pharmacydrugData.storage_bin = \"\";\r\n pharmacydrugData.storage_condition = \"\";\r\n pharmacydrugData.rx_category = \"\";\r\n let errors = {\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_type: \"\",\r\n drug_category: \"\",\r\n unit_of_measure: \"\",\r\n }\r\n let tableSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let formSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let editformSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let searchTableSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n }\r\n \r\n\r\n this.setState({ pharmacydrugData, errors, tableSuccess, formSuccess, editformSuccess, searchTableSuccess, searchErrorMessage: \"\",searchrecords: [],search_action:false });\r\n \r\n\r\n }\r\n clearimport=()=>{\r\n this.setState({ file:\"\" });\r\n };\r\n searchandshowDrug() {\r\n let drugData = this.state.drugData;\r\n console.log(drugData);\r\n if (\r\n (drugData.drug_name === \"\" || null === drugData.drug_name) &&\r\n (drugData.drug_category === \"\" || null === drugData.drug_category) &&\r\n (drugData.drug_type === \"\" || null === drugData.drug_type) &&\r\n (drugData.unit_of_measure === \"\" || null === drugData.unit_of_measure) &&\r\n drugData.manufacturer === \"\" &&\r\n drugData.active_ingredients === \"\" &&\r\n drugData.generic_name===\"\"\r\n ) {\r\n this.setState({\r\n searchErrorMessage:\r\n \"Choose any one of the search filters other than Drug ID.\",\r\n });\r\n return;\r\n } else {\r\n this.setState({\r\n searchErrorMessage: \"\",\r\n });\r\n }\r\n let data = {};\r\n data.drug_name = drugData.drug_name;\r\n data.drug_category = drugData.drug_category\r\n ? drugData.drug_category.label\r\n : \"\";\r\n data.drug_type = drugData.drug_type ? drugData.drug_type.label : \"\";\r\n data.manufacturer = drugData.manufacturer;\r\n data.active_ingredients = drugData.active_ingredients;\r\n data.generic_name=drugData.generic_name;\r\n data.unit_of_measure=drugData.unit_of_measure.label;\r\n data.type = \"admin\";\r\n data.user_id = this.props.userdata.id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(searchDrug, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n let data = [];\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n // console.log(this.state.masterdrugmeasure[0]);\r\n records.forEach((element) => {\r\n console.log(element);\r\n console.log(element.drug_name);\r\n console.log(element.drug_category);\r\n console.log(element.unit_of_measure);\r\n data.push({\r\n drug_id: \"\",\r\n drug_name: element.drug_name,\r\n drug_name_hide: element.drug_name,\r\n drug_category: element.drug_category,\r\n unit_of_measure: element.unit_of_measure,\r\n drug_category_hide: element.drug_category,\r\n drug_type: element.drug_type,\r\n drug_type_hide: element.drug_type,\r\n generic_name:element.generic_name,\r\n manufacturer: element.manufacturer,\r\n active_ingredients: element.active_ingredients,\r\n id: element.id,\r\n drugid_error: \"\",\r\n drugcategory_error: \"\",\r\n drugtype_error: \"\",\r\n drugname_error: \"\",\r\n generic_name_error:\"\",\r\n manufacturer_error:\"\",\r\n active_incredients_error:\"\",\r\n });\r\n });\r\n\r\n this.setState({ searchrecords: data });\r\n this.setState({\r\n search_action: true,\r\n });\r\n } else {\r\n this.setState({ searchErrorMessage:\"No Drug Found\",searchrecords: [], search_action: true });\r\n }\r\n });\r\n });\r\n }\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n console.log(event.target.files[0]);\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacydrugData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n};\r\nonFileUpload = () => {\r\n\r\n if (this.state.pharmacydrugData.length) {\r\n axios.post(pharmacyitemimport, {data: this.state.pharmacydrugData,user_id:this.props.userdata.id}).then((result) => {\r\n console.log(result);\r\n this.setState({ formSuccess: result.data, file: \"\", pharmacydrugData: [] })\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.drug_id=element.drug_id;\r\n drugData.drug_name = element.drug_name;\r\n drugData.active_ingredients = element.active_ingredients;\r\n drugData.manufacturer = element.manufacturer;\r\n drugData.unit_of_measure = element.unit_of_measure;\r\n drugData.generic_name=element.generic_name;\r\n drugData.hsn_code=element.hsn_code;\r\n drugData.igst=element.igst;\r\n drugData.sgst=element.sgst;\r\n drugData.cgst=element.cgst;\r\n drugData.conversion_factor=element.conversion_factor;\r\n drugData.category=element.category;\r\n drugData.storage_bin=element.storage_bin;\r\n drugData.storage_condition=element.storage_condition;\r\n drugData.rx_category=element.rx_category;\r\n drugDataArr[index] = drugData;\r\n });\r\n \r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n};\r\n render() {\r\n\r\n\r\n const storagecondition = [\r\n { value: 0, label: \"Below 0°C\" },\r\n { value: 1, label: \"2°C-8°C\" },\r\n { value: 2, label: \"20°C-25°C\" },\r\n { value: 3, label: \"Below 30°C\" },\r\n { value: 4, label: \"Room Temperature\" },\r\n ];\r\n\r\n const rx_category=[\r\n { value: 0, label: \"Regular\" },\r\n { value: 1, label: \"Schedule H\" },\r\n { value: 2, label: \"Schedule H1\" },\r\n { value: 3, label: \"Schedule X\" },\r\n\r\n ];\r\n \r\n let ExpirePopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let ExpirePopupConfirm = () => {\r\n window.location.href = \"/showsubscription\";\r\n\r\n };\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n const {\r\n drugData,\r\n pharmacydrugData,\r\n drugTypes,\r\n drugCategories,\r\n errors,\r\n loading,\r\n masterdrugNames,\r\n mastermanufaturerNames,\r\n ActiveIngredientList,\r\n GenericNameList,\r\n searchTableSuccess,\r\n editformSuccess,\r\n tableSuccess,\r\n searchErrorMessage,\r\n hospitaltimeout,\r\n\r\n formSuccess,\r\n } = this.state;\r\n const modalVar = this.state.showDeleteConfirmPopup;\r\n\r\n return (\r\n
    \r\n {/* */}\r\n {/* */}\r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {loading && } \r\n{/* {loading && } */}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Item List

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Import Item
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\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.drug_action === \"Add\"\r\n ? \"Add\"\r\n : \"Edit\"}{\" \"}\r\n Item                                  Additional Details
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n {searchErrorMessage ? (\r\n \r\n {searchErrorMessage}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n {/*
    \r\n\r\n
    \r\n
    */}\r\n\r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* {\" \"}\r\n {loading ? (\r\n \r\n ) : (\r\n \"Search\"\r\n )} */}\r\n {/* Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    */}\r\n\r\n\r\n\r\n \r\n {/*
    \r\n
    \r\n
    Search Result
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n\r\n \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Are you sure you want to delete this record ?\r\n
    \r\n
    \r\n
    \r\n this.okDelete.bind(this)}\r\n >\r\n Ok\r\n \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PharmacyDruglist);\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Label from \"../components/UI/Label\";\r\nimport {\r\n getAllMasterDrug,\r\n getAllPharmacyDrugs,\r\n getAllDrugTypes,\r\n getAllDrugCategories,\r\n addPharmacyDrug,\r\n updatePharmacyDrug,\r\n deletePharmacyDrug,\r\n searchDrug,\r\n getAllDrugMeasures,\r\n getTimeoutbycategory,\r\n pharmacydrugimport\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Validation from \"../actions/Validation\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Button, Modal, ModalHeader, ModalBody } from \"reactstrap\";\r\n// Import React Table\r\nimport \"react-table/react-table.css\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport ExpirePopup from \"../components/UI/ExpirePopup\"\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport DrugsExport from \"./DrugsExport\";\r\nimport DrugTemplate from \"./DrugTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport LoadingHeartrate from \"../components/UI/Heartrate\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass PharmacyDrugslist extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n showexpirePopup: this.props.validity,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n\r\n searchrecords: [],\r\n drug_action: \"Add\",\r\n loading: false,\r\n addDrugSuccess: \"\",\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n search_action: false,\r\n recordToDelete: [],\r\n drugTypes: [],\r\n drugCategories: [],\r\n masterdrugNames: [],\r\n newDatatoAdd: {},\r\n addPopup: false,\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n drugList: {\r\n s_no: \"\",\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n },\r\n drugData: {\r\n id: \"\",\r\n drug_id: \"\",\r\n searchdrug_id:\"\",\r\n manufacturer: \"\",\r\n drug_name: \"\",\r\n generic_name:\"\",\r\n drug_type: \"\",\r\n drug_category: \"\",\r\n active_ingredients: \"\",\r\n unit_of_measure: \"\",\r\n },\r\n errors: {\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_type: \"\",\r\n drug_category: \"\",\r\n unit_of_measure: \"\",\r\n generic_name:\"\",\r\n active_ingredients: \"\",\r\n manufacturer:\"\",\r\n },\r\n searchData: {\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n generic_name:\"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n editformSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n searchTableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n columns: [\r\n { title: \"Drug Id\", field: \"drug_id\" },\r\n { title: \"Drug Name\", field: \"drug_name\" },\r\n { title: \"Drug Category\", field: \"drug_category\" },\r\n { title: \"Drug Type\", field: \"drug_type\" },\r\n { title: \"Manufacturer\", field: \"manufacturer\" },\r\n { title: \"Active Ingredients\", field: \"active_ingredients\" },\r\n ],\r\n data: [\r\n {\r\n drug_id: \"1\",\r\n drug_name: \"da\",\r\n drug_category: \"ds\",\r\n drug_type: \"sdd\",\r\n manufacturer: \"sdsd\",\r\n active_ingredients: \"adsfd\",\r\n },\r\n ],\r\n searchErrorMessage: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n },\r\n // {\r\n // key: \"drug_id\",\r\n // text: \"Drug ID\",\r\n // className: \"drug_id\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // width: 100,\r\n // }, \r\n {\r\n key: \"drug_name\",\r\n text: \"Drug Name\",\r\n className: \"drug_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n },\r\n /* {\r\n key: \"generic_name\",\r\n text: \"Generic Name\",\r\n className: \"generic_name\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n \r\n }, */\r\n /* {\r\n key: \"drug_category\",\r\n text: \"Drug Category\",\r\n className: \"drug_category\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n },\r\n \r\n {\r\n key: \"drug_type\",\r\n text: \"Drug Type\",\r\n className: \"drug_type\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n },\r\n */\r\n /* {\r\n key: \"manufacturer\",\r\n text: \"Manufacturer\",\r\n className: \"manufacturer\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n }, */\r\n\r\n {\r\n key: \"active_ingredients\",\r\n text: \"Active Incredients\",\r\n className: \"active_ingredients\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n },\r\n /* {\r\n key: \"unit_of_measure\",\r\n text: \"Unit of Measure\",\r\n className: \"unit_of_measure\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n }, */\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.searchcolumns = [\r\n // {\r\n // key: \"s_no\",\r\n // text: \"S.No\",\r\n // className: \"s_no\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // },\r\n {\r\n key: \"drug_id\",\r\n text: \"Drug ID\",\r\n className: \"drug_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"drug_name_hide\",\r\n text: \"drug_name_hide\",\r\n className: \"drug_name hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n /* {\r\n key: \"drug_category_hide\",\r\n text: \"drug_category_hide\",\r\n className: \"drug_category_hide hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"drug_type_hide\",\r\n text: \"drug_type_hide\",\r\n className: \"drug_type_hide hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n */ {\r\n key: \"unit_of_measure_hide\",\r\n text: \"unit_of_measure_hide\",\r\n className: \"unit_of_measure_hide hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"drug_name\",\r\n text: \"Drug Name\",\r\n className: \"drug_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n // cell: (record) =>\r\n // {\r\n // return (\r\n // \r\n\r\n /* \r\n */\r\n // \r\n // \r\n // );\r\n // },\r\n },\r\n {\r\n key: \"generic_name\",\r\n text: \"Generic Name\",\r\n className: \"generic_name\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n \r\n },\r\n {\r\n key: \"unit_of_measure\",\r\n text: \"Unit of Measure\",\r\n className: \"unit_of_measure\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n // cell: (record) => {\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 key: \"drug_category\",\r\n text: \"Drug Category\",\r\n className: \"drug_category\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n },\r\n\r\n {\r\n key: \"drug_type\",\r\n text: \"Drug Type\",\r\n className: \"drug_type\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n \r\n },\r\n */\r\n {\r\n key: \"manufacturer\",\r\n text: \"Manufacturer\",\r\n className: \"manufacturer\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n\r\n // cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n // return (\r\n // \r\n // );\r\n // },\r\n },\r\n\r\n {\r\n key: \"active_ingredients\",\r\n text: \"Active Incredients\",\r\n className: \"active_ingredients\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n\r\n // cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n // return (\r\n // \r\n // );\r\n // },\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n }\r\n }\r\n handleCategoryColumnChange = (value, record, field) => {\r\n // console.log(field);\r\n // console.log(value);\r\n // console.log(record);\r\n value[field] = record;\r\n // console.log(record);\r\n // record.availability = \"Yes\" === record.availability ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(value);\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value=event.target.value;\r\n if (\r\n event.target.name === \"searchdrug_id\"\r\n \r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.drugid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.drugid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateColumnChange(record);\r\n };\r\n UpdateColumnChange = (record) => {\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex].drug_id = record.drug_id;\r\n records[recIndex].drug_name = record.drug_name;\r\n records[recIndex].drug_category = record.drug_category;\r\n records[recIndex].drug_type = record.drug_type;\r\n\r\n this.setState({ searchrecords: records });\r\n };\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllMasterDrug, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugNameList = drugMasterRespons.data.data;\r\n let masterdrugNames = [];\r\n masterdrugNameList.forEach((element) => {\r\n masterdrugNames.push({\r\n value: element.id,\r\n label: element.drug_name,\r\n manufacturer: \"\",\r\n active_incredient: \"\",\r\n });\r\n });\r\n\r\n this.setState({ masterdrugNames });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugTypes, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugTypeResponse) => {\r\n let drugTypeList = drugTypeResponse.data.data;\r\n let drugTypes = [];\r\n drugTypeList.forEach((element) => {\r\n drugTypes.push({ value: element.id, label: element.drug_type });\r\n });\r\n\r\n this.setState({ drugTypes });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugCategories, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugCategoryResponse) => {\r\n let list = drugCategoryResponse.data.data;\r\n\r\n let drugCategories = [];\r\n list.forEach((element) => {\r\n drugCategories.push({\r\n value: element.id,\r\n label: element.drug_category,\r\n });\r\n });\r\n this.setState({ drugCategories });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyDrugs, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.drug_id = element.drug_id;\r\n drugData.drug_name = element.drug_name;\r\n drugData.drug_type = element.drug_type;\r\n drugData.drug_category = element.drug_category;\r\n drugData.manufacturer = element.manufacturer;\r\n drugData.active_ingredients = element.active_ingredients;\r\n drugData.unit_of_measure = element.unit_of_measure;\r\n drugData.generic_name=element.generic_name;\r\n drugDataArr[index] = drugData;\r\n });\r\n\r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n axios\r\n .post(getAllDrugMeasures, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugmeasureList = drugMasterRespons.data.data;\r\n console.log(masterdrugmeasureList);\r\n let masterdrugmeasure = [];\r\n masterdrugmeasureList.forEach((element) => {\r\n masterdrugmeasure.push({\r\n value: element.unit_of_measure,\r\n label: element.unit_of_measure,\r\n\r\n });\r\n });\r\n\r\n this.setState({ masterdrugmeasure });\r\n })\r\n .catch(() => { });\r\n };\r\n addRecord = (record) => {\r\n let formvalid = true;\r\n if (record.searchdrug_id === \"\") {\r\n record.drugid_error = \"Please enter drug id\";\r\n formvalid = false;\r\n } else {\r\n record.drugid_error = \"\";\r\n }\r\n if (record.drug_name.label === \"\") {\r\n formvalid = false;\r\n record.drugname_error = \"Please enter drug name\";\r\n } else {\r\n record.drugname_error = \"\";\r\n }\r\n if(record.generic_name===\"\")\r\n {\r\n formvalid = false;\r\n record.generic_name_error = \"Please enter generic name\";\r\n } else {\r\n record.generic_name_error = \"\";\r\n }\r\n if (record.drug_category && record.drug_category.label === \"\") {\r\n formvalid = false;\r\n record.drugcategory_error = \"Please enter drug category\";\r\n } else {\r\n record.drugcategory_error = \"\";\r\n }\r\n if (record.drug_type && record.drug_type.label === \"\") {\r\n record.drugtype_error = \"Please enter drug type\";\r\n formvalid = false;\r\n } else {\r\n record.drugtype_error = \"\";\r\n }\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex] = record;\r\n this.setState({ searchrecords: records });\r\n if (formvalid) {\r\n this.setState({ drug_action: \"Add\" });\r\n // this.setState({ newDatatoAdd: record, loading: true });\r\n // this.addorupdateDrug();\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let selectedData = record;\r\n // console.log(selectedData); return false;\r\n let data = {};\r\n data.user_id = this.props.userdata.id;\r\n data.drug_id = selectedData.searchdrug_id;\r\n data.drug_name = selectedData.drug_name;\r\n data.drug_type = selectedData.drug_type;\r\n data.drug_category = selectedData.drug_category;\r\n data.unit_of_measure = selectedData.unit_of_measure;\r\n data.manufacturer = selectedData.manufacturer;\r\n data.active_ingredients = selectedData.active_ingredients;\r\n data.generic_name=selectedData.generic_name;\r\n axios\r\n .post(addPharmacyDrug, data, CONFIG)\r\n .then((addDrugResponse) => {\r\n let res = addDrugResponse.data;\r\n console.log(addDrugResponse)\r\n if (res.status === \"1\") {\r\n let drug = {};\r\n let records = this.state.records;\r\n drug.s_no = this.state.records.length + 1;\r\n drug.drug_id = data.drug_id;\r\n drug.id = res.data[0].id;\r\n drug.drug_name = data.drug_name;\r\n drug.drug_category = data.drug_category;\r\n drug.unit_of_measure = data.unit_of_measure;\r\n drug.manufacturer = data.manufacturer;\r\n drug.drug_type = data.drug_type;\r\n drug.active_ingredients = data.active_ingredients;\r\n drug.generic_name=data.generic_name;\r\n records.push(drug);\r\n // this.setState({ searchrecords: records });\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n toast.success(\"The Drug details have been added successfully. \", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Drug could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n }\r\n };\r\n editRecord(record) {\r\n let drug_action = this.state.drug_action;\r\n drug_action = \"Edit\";\r\n this.setState({ drug_action });\r\n\r\n let drugData = this.state.drugData;\r\n drugData.s_no = record.s_no;\r\n drugData.id = record.id;\r\n drugData.drug_id = record.drug_id;\r\n drugData.drug_name = record.drug_name;\r\n // drugData.drug_name = {\r\n // label: record.drug_name,\r\n // value: record.drug_name,\r\n // };\r\n drugData.manufacturer = record.manufacturer;\r\n drugData.drug_type = {\r\n label: record.drug_type,\r\n value: record.drug_type,\r\n };\r\n drugData.drug_category = {\r\n label: record.drug_category,\r\n value: record.drug_category,\r\n };\r\n drugData.unit_of_measure = {\r\n label: record.unit_of_measure,\r\n value: record.unit_of_measure,\r\n };\r\n drugData.active_ingredients = record.active_ingredients;\r\n drugData.generic_name=record.generic_name;\r\n this.setState({ drugData: drugData });\r\n }\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.drugData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n // if (e.name === \"drug_name\") {\r\n // data.manufacturer = selectedOptions.manufacturer;\r\n // data.active_ingredients = selectedOptions.active_ingredients;\r\n // }\r\n this.setState({ drugData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n handlesearchinputChange = (eve) => {\r\n let data = this.state.searchData;\r\n\r\n data[eve.target.name] = eve.target.value;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n handlesearchselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n\r\n // if (e.name === \"drug_name\") {\r\n // data.manufacturer = selectedOptions.manufacturer;\r\n // data.active_ingredients = selectedOptions.active_ingredients;\r\n // } else {\r\n // data[e.name] = selectedOptions;\r\n // }\r\n // if (e.name === \"manufacturer\" || e.name === \"active_ingredients\") {\r\n // data[e.name] = selectedOptions.target.value;\r\n // } else {\r\n data[e.name] = selectedOptions;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.drugData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ drugData: data, errors: errors });\r\n }\r\n handleInput = (e) => {\r\n let data = this.state.drugData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n name === \"drug_id\" ||\r\n name === \"drug_name\" ||\r\n name === \"manufacturer\" ||\r\n name === \"active_ingredients\"||\r\n name === \"generic_name\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ drugData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n\r\n addorupdateDrug() {\r\n let url = this.state.drug_action === \"Add\" ? addPharmacyDrug : updatePharmacyDrug;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n\r\n let { drugData, errors } = this.state;\r\n drugData.type = \"pharmacydrug\";\r\n errors = Validation(drugData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n let data = {};\r\n data.s_no = drugData.s_no;\r\n data.user_id = this.props.userdata.id;\r\n data.id = drugData.id;\r\n // data.drug_id = drugData.drug_id;\r\n data.drug_name = drugData.drug_name;\r\n //data.drug_type = drugData.drug_type.label;\r\n //data.unit_of_measure = drugData.unit_of_measure.label;\r\n //data.drug_category = drugData.drug_category.label;\r\n // data.manufacturer = drugData.manufacturer;\r\n data.active_ingredients = drugData.active_ingredients;\r\n // data.generic_name=drugData.generic_name;\r\n let records = this.state.records;\r\n if (this.state.drug_action === \"Add\") {\r\n axios\r\n .post(url, data, CONFIG)\r\n .then((addDrugResponse) => {\r\n let res = addDrugResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n let drug = {};\r\n\r\n drug.s_no = this.state.records.length + 1;\r\n drug.drug_id = data.drug_id;\r\n drug.id = res.data[0].id;\r\n drug.drug_name = data.drug_name;\r\n // drug.drug_category = data.drug_category;\r\n // drug.manufacturer = data.manufacturer;\r\n // drug.unit_of_measure = data.unit_of_measure;\r\n // drug.generic_name=data.generic_name;\r\n // drug.drug_type = data.drug_type;\r\n drug.active_ingredients = data.active_ingredients;\r\n records.push(drug);\r\n // this.setState({ searchrecords: records });\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n editformSuccess: res,\r\n\r\n });\r\n toast.success(\"The Drug details have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Drug could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n } else {\r\n axios\r\n .put(url, data, CONFIG)\r\n .then((updateDrugResponse) => {\r\n let updateResponse = updateDrugResponse.data;\r\n if (updateResponse.status === \"1\") {\r\n let addDrugSuccess = this.state.addDrugSuccess;\r\n addDrugSuccess = updateResponse.message;\r\n this.setState({ addDrugSuccess: addDrugSuccess });\r\n\r\n /** Updating the data table */\r\n let existingRecords = this.state.records;\r\n var index = existingRecords.findIndex(\r\n (item) => item.id === data.id\r\n );\r\n existingRecords.splice(index, 1, data);\r\n this.setState({ records: existingRecords });\r\n this.setState({ tableSuccess: updateResponse });\r\n this.setState({ editformSuccess: updateResponse });\r\n toast.success(\"The Drug details have been updated successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({ tableSuccess: updateResponse });\r\n this.setState({ editformSuccess: updateResponse });\r\n toast.error(\"Drug could not be updated. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n this.setState({ loading: false });\r\n })\r\n .catch(() => { });\r\n }\r\n }\r\n }\r\n\r\n\r\n // addorupdateDrug() {\r\n // let url = this.state.drug_action === \"Add\" ? addPharmacyDrug : updatePharmacyDrug;\r\n // axios.defaults.headers.common[\r\n // \"Authorization\"\r\n // ] = `Bearer ${this.props.access_token}`;\r\n\r\n\r\n // let { drugData, errors } = this.state;\r\n // drugData.type = \"pharmacydrug\";\r\n // errors = Validation(drugData, errors);\r\n // this.setState({ errors: errors });\r\n\r\n // if (errors.formIsValid) {\r\n // this.setState({ loading: true });\r\n\r\n // let data = {};\r\n // data.s_no = drugData.s_no;\r\n // data.user_id = this.props.userdata.id;\r\n // data.id = drugData.id;\r\n // data.drug_id = drugData.drug_id;\r\n // data.drug_name = drugData.drug_name;\r\n //data.drug_type = drugData.drug_type.label;\r\n //data.unit_of_measure = drugData.unit_of_measure.label;\r\n //data.drug_category = drugData.drug_category.label;\r\n // data.manufacturer = drugData.manufacturer;\r\n // data.active_ingredients = drugData.active_ingredients;\r\n // data.generic_name=drugData.generic_name;\r\n // let records = this.state.records;\r\n // if (this.state.drug_action === \"Add\") {\r\n // axios\r\n // .post(url, data, CONFIG)\r\n // .then((addDrugResponse) => {\r\n // let res = addDrugResponse.data;\r\n // console.log(res)\r\n // if (res.status === \"1\") {\r\n // let drug = {};\r\n\r\n // drug.s_no = this.state.records.length + 1;\r\n // drug.drug_id = data.drug_id;\r\n // drug.id = res.data[0].id;\r\n // drug.drug_name = data.drug_name;\r\n // drug.drug_category = data.drug_category;\r\n // drug.manufacturer = data.manufacturer;\r\n // drug.unit_of_measure = data.unit_of_measure;\r\n // drug.generic_name=data.generic_name;\r\n // drug.drug_type = data.drug_type;\r\n // drug.active_ingredients = data.active_ingredients;\r\n // records.push(drug);\r\n // this.setState({ searchrecords: records });\r\n // this.setState({\r\n // records: records,\r\n // searchTableSuccess: res,\r\n // loading: false,\r\n // editformSuccess: res,\r\n\r\n // });\r\n // toast.success(\"The Drug details have been added successfully.\", {\r\n // className: \"toast-success\"\r\n // });\r\n // this.clearMessage();\r\n // this.clearAll();\r\n // } else {\r\n // this.setState({\r\n // searchrecords: records,\r\n // searchTableSuccess: res,\r\n // editformSuccess: res,\r\n // loading: false,\r\n // });\r\n // toast.error(\"Drug could not be Added. \", {\r\n // className: \"toast-error\"\r\n // });\r\n // this.clearMessage();\r\n // }\r\n // })\r\n // .catch(() => { });\r\n // } else {\r\n // axios\r\n // .put(url, data, CONFIG)\r\n // .then((updateDrugResponse) => {\r\n // let updateResponse = updateDrugResponse.data;\r\n // if (updateResponse.status === \"1\") {\r\n // let addDrugSuccess = this.state.addDrugSuccess;\r\n // addDrugSuccess = updateResponse.message;\r\n // this.setState({ addDrugSuccess: addDrugSuccess });\r\n\r\n /** Updating the data table */\r\n // let existingRecords = this.state.records;\r\n // var index = existingRecords.findIndex(\r\n // (item) => item.id === data.id\r\n // );\r\n // existingRecords.splice(index, 1, data);\r\n // this.setState({ records: existingRecords });\r\n // this.setState({ tableSuccess: updateResponse });\r\n // this.setState({ editformSuccess: updateResponse });\r\n // toast.success(\"The Drug details have been updated successfully.\", {\r\n // className: \"toast-success\"\r\n // });\r\n // this.clearMessage();\r\n // this.clearAll();\r\n // } else {\r\n // this.setState({ tableSuccess: updateResponse });\r\n // this.setState({ editformSuccess: updateResponse });\r\n // toast.error(\"Drug could not be updated. \", {\r\n // className: \"toast-error\"\r\n // });\r\n // this.clearMessage();\r\n // }\r\n // this.setState({ loading: false });\r\n // })\r\n // .catch(() => { });\r\n // }\r\n // }\r\n // }\r\n\r\n// addorupdateDrug() {\r\n// let url = this.state.drug_action === \"Add\" ? addPharmacyDrug : updatePharmacyDrug;\r\n// axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n\r\n// let { drugData, errors } = this.state;\r\n// drugData.type = \"pharmacydrug\";\r\n// errors = Validation(drugData, errors);\r\n// this.setState({ errors: errors });\r\n\r\n// if (errors.formIsValid) {\r\n// this.setState({ loading: true });\r\n\r\n// let data = {};\r\n// data.user_id = this.props.userdata.id;\r\n// data.id = drugData.id;\r\n// data.drug_name = drugData.drug_name;\r\n// data.active_ingredients = drugData.active_ingredients;\r\n\r\n// let records = this.state.records;\r\n\r\n// if (this.state.drug_action === \"Add\") {\r\n// axios.post(url, data, CONFIG)\r\n// .then((addDrugResponse) => {\r\n// let res = addDrugResponse.data;\r\n// if (res.status === \"1\") {\r\n// let drug = {\r\n// s_no: records.length + 1,\r\n// drug_id: data.drug_id,\r\n// id: res.data[0].id,\r\n// drug_name: data.drug_name,\r\n// active_ingredients: data.active_ingredients,\r\n// };\r\n// records.push(drug);\r\n// this.setState({\r\n// records: records,\r\n// searchTableSuccess: res,\r\n// loading: false,\r\n// editformSuccess: res,\r\n// });\r\n// toast.success(\"The Drug details have been added successfully.\", {\r\n// className: \"toast-success\"\r\n// });\r\n// this.clearMessage();\r\n// this.clearAll();\r\n// } else {\r\n// this.setState({\r\n// searchrecords: records,\r\n// searchTableSuccess: res,\r\n// editformSuccess: res,\r\n// loading: false,\r\n// });\r\n// toast.error(\"Drug could not be Added. \", {\r\n// className: \"toast-error\"\r\n// });\r\n// this.clearMessage();\r\n// }\r\n// })\r\n// .catch(() => { });\r\n// } else {\r\n// axios.put(url, data, CONFIG)\r\n// .then((updateDrugResponse) => {\r\n// let updateResponse = updateDrugResponse.data;\r\n// if (updateResponse.status === \"1\") {\r\n// let existingRecords = this.state.records;\r\n// var index = existingRecords.findIndex((item) => item.id === data.id);\r\n// existingRecords.splice(index, 1, { ...existingRecords[index], ...data });\r\n\r\n \r\n// existingRecords = existingRecords.map((record, idx) => ({\r\n// ...record,\r\n// s_no: idx + 1 \r\n// }));\r\n\r\n// this.setState({\r\n// records: existingRecords,\r\n// tableSuccess: updateResponse,\r\n// editformSuccess: updateResponse,\r\n// });\r\n// toast.success(\"The Drug details have been updated successfully.\", {\r\n// className: \"toast-success\"\r\n// });\r\n// this.clearMessage();\r\n// this.clearAll();\r\n// } else {\r\n// this.setState({ tableSuccess: updateResponse, editformSuccess: updateResponse });\r\n// toast.error(\"Drug could not be updated. \", {\r\n// className: \"toast-error\"\r\n// });\r\n// this.clearMessage();\r\n// }\r\n// this.setState({ loading: false });\r\n// })\r\n// .catch(() => { });\r\n// }\r\n// }\r\n// }\r\n\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n\r\n }\r\n\r\n cancelDelete() {\r\n this.setState({\r\n showDeleteConfirmPopup: !this.state.showDeleteConfirmPopup,\r\n });\r\n }\r\n\r\n deleteRecord(record) {\r\n let userId = record.id;\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deletePharmacyDrug, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\", loading: false });\r\n this.setState({ tableSuccess: res.data });\r\n toast.error(\"The Drug detail has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyDrugs, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.drug_id = element.drug_id;\r\n drugData.drug_name = element.drug_name;\r\n drugData.drug_type = element.drug_type;\r\n drugData.drug_category = element.drug_category;\r\n drugData.generic_name=element.generic_name;\r\n drugData.manufacturer = element.manufacturer;\r\n drugData.active_ingredients = element.active_ingredients;\r\n drugData.unit_of_measure = element.unit_of_measure;\r\n drugDataArr[index] = drugData;\r\n });\r\n \r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n \r\n })\r\n .catch(() => { });\r\n \r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n searchTableSuccess: { message: \"\" },\r\n editformSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n clearAll=()=> {\r\n let drug_action = this.state.drug_action;\r\n drug_action = \"Add\";\r\n this.setState({ drug_action });\r\n let drugData = {};\r\n drugData.drug_id = \"\";\r\n drugData.drug_name = \"\";\r\n drugData.manufacturer = \"\";\r\n drugData.drug_category = \"\";\r\n drugData.generic_name=\"\";\r\n drugData.drug_type = \"\";\r\n drugData.active_ingredients = \"\";\r\n drugData.unit_of_measure = \"\";\r\n let errors = {\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_type: \"\",\r\n drug_category: \"\",\r\n unit_of_measure: \"\",\r\n }\r\n let tableSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let formSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let editformSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let searchTableSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n }\r\n \r\n\r\n this.setState({ drugData, errors, tableSuccess, formSuccess, editformSuccess, searchTableSuccess, searchErrorMessage: \"\",searchrecords: [],search_action:false });\r\n \r\n\r\n }\r\n clearimport=()=>{\r\n this.setState({ file:\"\" });\r\n };\r\n searchandshowDrug() {\r\n let drugData = this.state.drugData;\r\n console.log(drugData);\r\n if (\r\n (drugData.drug_name === \"\" || null === drugData.drug_name) &&\r\n (drugData.drug_category === \"\" || null === drugData.drug_category) &&\r\n (drugData.drug_type === \"\" || null === drugData.drug_type) &&\r\n (drugData.unit_of_measure === \"\" || null === drugData.unit_of_measure) &&\r\n drugData.manufacturer === \"\" &&\r\n drugData.active_ingredients === \"\" &&\r\n drugData.generic_name===\"\"\r\n ) {\r\n this.setState({\r\n searchErrorMessage:\r\n \"Choose any one of the search filters other than Drug ID.\",\r\n });\r\n return;\r\n } else {\r\n this.setState({\r\n searchErrorMessage: \"\",\r\n });\r\n }\r\n let data = {};\r\n data.drug_name = drugData.drug_name;\r\n data.drug_category = drugData.drug_category\r\n ? drugData.drug_category.label\r\n : \"\";\r\n data.drug_type = drugData.drug_type ? drugData.drug_type.label : \"\";\r\n data.manufacturer = drugData.manufacturer;\r\n data.active_ingredients = drugData.active_ingredients;\r\n data.generic_name=drugData.generic_name;\r\n data.unit_of_measure=drugData.unit_of_measure.label;\r\n data.type = \"admin\";\r\n data.user_id = this.props.userdata.id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(searchDrug, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n let data = [];\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n // console.log(this.state.masterdrugmeasure[0]);\r\n records.forEach((element) => {\r\n console.log(element);\r\n console.log(element.drug_name);\r\n console.log(element.drug_category);\r\n console.log(element.unit_of_measure);\r\n data.push({\r\n drug_id: \"\",\r\n drug_name: element.drug_name,\r\n drug_name_hide: element.drug_name,\r\n drug_category: element.drug_category,\r\n unit_of_measure: element.unit_of_measure,\r\n drug_category_hide: element.drug_category,\r\n drug_type: element.drug_type,\r\n drug_type_hide: element.drug_type,\r\n generic_name:element.generic_name,\r\n manufacturer: element.manufacturer,\r\n active_ingredients: element.active_ingredients,\r\n id: element.id,\r\n drugid_error: \"\",\r\n drugcategory_error: \"\",\r\n drugtype_error: \"\",\r\n drugname_error: \"\",\r\n generic_name_error:\"\",\r\n manufacturer_error:\"\",\r\n active_incredients_error:\"\",\r\n });\r\n });\r\n\r\n this.setState({ searchrecords: data });\r\n this.setState({\r\n search_action: true,\r\n });\r\n } else {\r\n this.setState({ searchErrorMessage:\"No Drug Found\",searchrecords: [], search_action: true });\r\n }\r\n });\r\n });\r\n }\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n console.log(event.target.files[0]);\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ drugData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n};\r\nonFileUpload = () => {\r\n\r\n if (this.state.drugData.length) {\r\n axios.post(pharmacydrugimport, {data: this.state.drugData,user_id:this.props.userdata.id}).then((result) => {\r\n console.log(result);\r\n this.setState({ formSuccess: result.data, file: \"\", drugData: [] })\r\n axios\r\n .post(getAllPharmacyDrugs, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.drug_id = element.drug_id;\r\n drugData.drug_name = element.drug_name;\r\n drugData.drug_type = element.drug_type;\r\n drugData.drug_category = element.drug_category;\r\n drugData.generic_name=element.generic_name;\r\n drugData.manufacturer = element.manufacturer;\r\n drugData.active_ingredients = element.active_ingredients;\r\n drugData.unit_of_measure = element.unit_of_measure;\r\n drugDataArr[index] = drugData;\r\n });\r\n \r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n};\r\n render() {\r\n\r\n let ExpirePopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let ExpirePopupConfirm = () => {\r\n window.location.href = \"/showsubscription\";\r\n\r\n };\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n const {\r\n drugData,\r\n drugTypes,\r\n drugCategories,\r\n errors,\r\n loading,\r\n searchTableSuccess,\r\n editformSuccess,\r\n tableSuccess,\r\n searchErrorMessage,\r\n hospitaltimeout,\r\n formSuccess,\r\n } = this.state;\r\n const modalVar = this.state.showDeleteConfirmPopup;\r\n\r\n return (\r\n
    \r\n {/* */}\r\n {/* */}\r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {loading && } \r\n{/* {loading && } */}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type === \"pharmacy\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n\r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Drug List

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Import Drug
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {/*
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    */}\r\n
    \r\n \r\n
    \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.drug_action === \"Add\"\r\n ? \"Add\"\r\n : \"Edit\"}{\" \"}\r\n Drug
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n {searchErrorMessage ? (\r\n \r\n {searchErrorMessage}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {/* \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n\r\n
    \r\n \r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    */}\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n {/*
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* {\" \"}\r\n {loading ? (\r\n \r\n ) : (\r\n \"Search\"\r\n )} */}\r\n {/* Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    */}\r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n
    Search Result
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Are you sure you want to delete this record ?\r\n
    \r\n
    \r\n
    \r\n this.okDelete.bind(this)}\r\n >\r\n Ok\r\n \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PharmacyDrugslist);\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../assets/css/mystyle.css\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n\r\n { header: 'Item ID', key: 'drug_id' },\r\n { header: 'Item Name', key: 'generic_name' },\r\n { header: 'Pack', key: 'pack' },\r\n { header: 'Batch No', key: 'batch_no' }, \r\n { header: 'Manufacturer Date', key: 'manu_date' }, \r\n { header: 'Expiry Date', key: 'exp_date' }, \r\n { header: 'Quantity', key: 'quantity' }, \r\n { header: 'Rate', key: 'p_rate' },\r\n { header: 'MRP', key: 'mrp' }, \r\n { header: 'Sub Total', key: 'sub_total' }, \r\n { header: 'Total', key: 'total' },\r\n { header: 'Transaction Type', key: 'transaction_type' }, \r\n { header: 'Transaction Date', key: 'transaction_date' }, \r\n { header: 'Vendor Name', key: 'vendor_name' }, \r\n { header: 'Customer Name', key: 'customer_name' }, \r\n { header: 'Notes', key: 'notes' }, \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'OpeningStockTemplate';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n /* data.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n }); */\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Opening Stock Template has been generated successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n \r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getPharmacyList,\r\n getAllPharmacyDrugs,\r\n getAllPharmacyItemList,\r\n getAllPharmacyVendorList,\r\n addPharmacy,\r\n addVendor,\r\n addPurchaseEntryData,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail,\r\n openingstockimport\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport OpeningStockTemplate from \"./OpeningStockTemplate\";\r\nvar converter = require(\"number-to-words\");\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n drug_id:\"\",\r\n generic_name:\"\",\r\n pack:\"\",\r\n batch_no:\"\",\r\n manu_date:\"\",\r\n exp_date:\"\",\r\n quantity:\"\",\r\n free: \"\",\r\n p_rate:\"\",\r\n mrp:\"\",\r\n disc: \"\",\r\n sub_total:0,\r\n cgst: \"\",\r\n sgst:\"\",\r\n igst:\"\",\r\n total:0,\r\n \r\n };\r\nclass PurchaseEntryVoucher extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n purchaseEntryVoucher:{\r\n drug_name:\"\",\r\n // defaultEnterSize: 20,\r\n records: [],\r\n supplies: [],\r\n },\r\n \r\n purchaseEntryData:\r\n {\r\n vendor_name:\"\",\r\n address:\"\",\r\n created_by:\"\",\r\n remarks:\"\",\r\n voucher_no:\"\",\r\n voucher_date: new Date(),\r\n vendorinvoice_no:\"\",\r\n invoice_date:\"\",\r\n poref_no:\"\"\r\n\r\n },\r\n OpeningStockData:{\r\n drug_id:\"\",\r\n generic_name:\"\",\r\n pack:\"\",\r\n batch_no:\"\",\r\n manu_date:\"\",\r\n exp_date:\"\",\r\n quantity:\"\",\r\n p_rate:\"\",\r\n mrp:\"\",\r\n sub_total:0,\r\n total:0,\r\n transaction_type:\"\",\r\n transaction_date:\"\",\r\n vendor_name:\"\",\r\n customer_name:\"\",\r\n notes:\"\"\r\n },\r\n totalAmtSec: {\r\n\r\n discAmt: 0, \r\n cgstAmt: 0, \r\n sgstAmt: 0, \r\n igstAmt: 0, \r\n total: 0,\r\n sub_total:0,\r\n totalAmtWords: \"\",\r\n },\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name:\"\",\r\n address:\"\",\r\n created_by:\"\",\r\n remarks:\"\",\r\n voucher_no:\"\",\r\n voucher_date:\"\",\r\n vendorinvoice_no:\"\",\r\n invoice_date:\"\",\r\n poref_no:\"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n width:'450px',\r\n cell: (row,index) => {\r\n let obj = {\r\n label: record.generic_name,\r\n value: record.generic_name,\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleDatePickerChange(date, 'voucher_date')} \r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n \r\n /> \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleDatePickerChange(date, 'invoice_date')} \r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n \r\n /> \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n{/* */} \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Grand Total\r\n \r\n \r\n {this.state.totalAmtSec.total.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Sub Total \r\n \r\n \r\n {this.state.totalAmtSec.sub_total.toFixed(2)}\r\n \r\n \r\n \r\n \r\n Disc Amt \r\n \r\n \r\n {this.state.totalAmtSec.discAmt.toFixed(2)}\r\n \r\n \r\n \r\n \r\n CGST Amt\r\n \r\n \r\n {this.state.totalAmtSec.cgstAmt.toFixed(2)}\r\n \r\n \r\n \r\n \r\n SGST Amt\r\n \r\n \r\n {this.state.totalAmtSec.sgstAmt.toFixed(2)}\r\n \r\n \r\n \r\n \r\n IGST Amt\r\n \r\n \r\n {this.state.totalAmtSec.igstAmt.toFixed(2)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n Sub Total\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n \r\n Discount Amount\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n CGST%\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n SGST%\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n \r\n Grand Total\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n
    \r\n \r\n clear\r\n \r\n \r\n Save\r\n \r\n \r\n
    \r\n {/*
    \r\n
    Import Opening Stock
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n {/*
    */}\r\n {/*
    \r\n
    */}\r\n \r\n \r\n \r\n\r\n\r\n )}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(PurchaseEntryVoucher));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../assets/css/mystyle.css\";\r\nimport { getAllManufacturers } from \"../config/url.json\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n \r\n { header: 'S.no', key: 's_no' },\r\n { header: 'Manufacturer ID', key: 'manufacturer_id' },\r\n { header: 'Manufacturer Name', key: 'manufacturer_name' },\r\n { header: 'Abbreviation', key: 'abbreviation' },\r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'ManufacturerList';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n //get data through props\r\n const newdata=props.records;\r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n newdata.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n });\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"The Drug list has been downloaded successfully.\",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport Excel from 'exceljs';\r\nimport { saveAs } from 'file-saver';\r\nimport \"../assets/css/mystyle.css\";\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst columns = [\r\n\r\n \r\n \r\n { header: 'Manufacturer Name', key: 'manufacturer_name' }, \r\n { header: 'Abbreviation', key: 'abbreviation' },\r\n\r\n \r\n \r\n];\r\n\r\nconst workSheetName = 'Worksheet-1';\r\nconst workBookName = 'ManufacturerTemplate';\r\nconst myInputId = 'myInput';\r\nconst workbook = new Excel.Workbook();\r\nexport default function App(props) {\r\n\r\n const saveExcel = async () => {\r\n try {\r\n \r\n const myInput = document.getElementById(myInputId);\r\n const fileName = workBookName;\r\n \r\n \r\n // creating one worksheet in workbook\r\n const worksheet = workbook.addWorksheet(workSheetName);\r\n // console.log(typeof(data));\r\n // add worksheet columns\r\n // each columns contains header and its mapping key from data\r\n worksheet.columns = columns;\r\n\r\n // updated the font for first row.\r\n worksheet.getRow(1).font = { bold: true };\r\n\r\n // loop through all of the columns and set the alignment with width.\r\n worksheet.columns.forEach((column) => {\r\n column.width = column.header.length + 10;\r\n column.alignment = { horizontal: 'center' };\r\n });\r\n\r\n // loop through data and add each one to worksheet\r\n /* data.forEach((singleData) => {\r\n worksheet.addRow(singleData);\r\n }); */\r\n\r\n // loop through all of the rows and set the outline style.\r\n worksheet.eachRow({ includeEmpty: false }, (row) => {\r\n // store each cell to currentCell\r\n const currentCell = row._cells;\r\n\r\n // loop through currentCell to apply border only for the non-empty cell of excel\r\n currentCell.forEach((singleCell) => {\r\n // store the cell address i.e. A1, A2, A3, B1, B2, B3, ...\r\n const cellAddress = singleCell._address;\r\n\r\n // apply border\r\n worksheet.getCell(cellAddress).border = {\r\n top: { style: 'thin' },\r\n left: { style: 'thin' },\r\n bottom: { style: 'thin' },\r\n right: { style: 'thin' },\r\n };\r\n });\r\n });\r\n \r\n // write the content using writeBuffer\r\n const buf = await workbook.xlsx.writeBuffer();\r\n \r\n // download the processed file\r\n saveAs(new Blob([buf]), `${fileName}.xlsx`);\r\n toast.success(\"Manufacturer List Template has been generated successfully. \",{\r\n className:\"toast-success\"\r\n });\r\n } catch (error) {\r\n console.error('<<>>', error);\r\n console.error('Something Went Wrong', error.message);\r\n } finally {\r\n // removing worksheet's instance to create new one\r\n workbook.removeWorksheet(workSheetName);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n {/*
    \r\n \r\n \r\n {columns.map(({ header }) => {\r\n return ;\r\n })}\r\n \r\n\r\n {data.map((uniqueData) => {\r\n return (\r\n \r\n {Object.entries(uniqueData).map((eachData) => {\r\n const value = eachData[1];\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n
    {header}
    {value}
    \r\n
    */}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Label from \"../components/UI/Label\";\r\nimport {\r\n getAllMasterDrug,\r\n getAllPharmacyDrugs,\r\n getAllDrugTypes,\r\n getAllDrugCategories,\r\n addPharmacyDrug,\r\n addManufacturer,\r\n updateManufacturer,\r\n getAllManufacturers,\r\n updatePharmacyDrug,\r\n deleteManufacturer,\r\n searchDrug,\r\n getAllDrugMeasures,\r\n getTimeoutbycategory,\r\n manufacturerimport\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Validation from \"../actions/Validation\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Button, Modal, ModalHeader, ModalBody } from \"reactstrap\";\r\n// Import React Table\r\nimport \"react-table/react-table.css\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport ExpirePopup from \"../components/UI/ExpirePopup\"\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport ManufacturerExport from \"./ManufacturerExport\";\r\nimport ManufacturerTemplate from \"./ManufacturerTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport LoadingHeartrate from \"../components/UI/Heartrate\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass Manufacturerlist extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n showexpirePopup: this.props.validity,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n\r\n searchrecords: [],\r\n drug_action: \"Add\",\r\n loading: false,\r\n addDrugSuccess: \"\",\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n search_action: false,\r\n recordToDelete: [],\r\n drugTypes: [],\r\n drugCategories: [],\r\n masterdrugNames: [],\r\n newDatatoAdd: {},\r\n addPopup: false,\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n drugList: {\r\n s_no: \"\",\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n },\r\n drugData: {\r\n id: \"\",\r\n drug_id: \"\",\r\n searchdrug_id:\"\",\r\n manufacturer: \"\",\r\n drug_name: \"\",\r\n generic_name:\"\",\r\n drug_type: \"\",\r\n drug_category: \"\",\r\n active_ingredients: \"\",\r\n unit_of_measure: \"\",\r\n },\r\n ManufacturerData:{\r\n id: \"\",\r\n manufacturer_id: \"\",\r\n manufacturer_name: \"\",\r\n abbreviation: \"\",\r\n },\r\n errors: {\r\n \r\n manufacturer_id: \"\",\r\n manufacturer_name: \"\",\r\n abbreviation: \"\",\r\n },\r\n searchData: {\r\n drug_name: \"\",\r\n drug_category: \"\",\r\n drug_type: \"\",\r\n generic_name:\"\",\r\n manufacturer: \"\",\r\n active_ingredients: \"\",\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n editformSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n searchTableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n columns: [\r\n { title: \"Drug Id\", field: \"drug_id\" },\r\n { title: \"Drug Name\", field: \"drug_name\" },\r\n { title: \"Drug Category\", field: \"drug_category\" },\r\n { title: \"Drug Type\", field: \"drug_type\" },\r\n { title: \"Manufacturer\", field: \"manufacturer\" },\r\n { title: \"Active Ingredients\", field: \"active_ingredients\" },\r\n ],\r\n data: [\r\n {\r\n drug_id: \"1\",\r\n drug_name: \"da\",\r\n drug_category: \"ds\",\r\n drug_type: \"sdd\",\r\n manufacturer: \"sdsd\",\r\n active_ingredients: \"adsfd\",\r\n },\r\n ],\r\n searchErrorMessage: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n },\r\n {\r\n key: \"manufacturer_id\",\r\n text: \"Manufacturer ID\",\r\n className: \"manufacturer_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n },\r\n {\r\n key: \"manufacturer_name\",\r\n text: \"Manufacturer Name\",\r\n className: \"manufacturer_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n },\r\n \r\n {\r\n key: \"abbreviation\",\r\n text: \"Abbreviation\",\r\n className: \"abbreviation\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n },\r\n \r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.searchcolumns = [\r\n // {\r\n // key: \"s_no\",\r\n // text: \"S.No\",\r\n // className: \"s_no\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // },\r\n {\r\n key: \"drug_id\",\r\n text: \"Drug ID\",\r\n className: \"drug_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"drug_name_hide\",\r\n text: \"drug_name_hide\",\r\n className: \"drug_name hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n /* {\r\n key: \"drug_category_hide\",\r\n text: \"drug_category_hide\",\r\n className: \"drug_category_hide hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"drug_type_hide\",\r\n text: \"drug_type_hide\",\r\n className: \"drug_type_hide hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n */ {\r\n key: \"unit_of_measure_hide\",\r\n text: \"unit_of_measure_hide\",\r\n className: \"unit_of_measure_hide hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"drug_name\",\r\n text: \"Drug Name\",\r\n className: \"drug_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n // cell: (record) =>\r\n // {\r\n // return (\r\n // \r\n\r\n /* \r\n */\r\n // \r\n // \r\n // );\r\n // },\r\n },\r\n {\r\n key: \"generic_name\",\r\n text: \"Generic Name\",\r\n className: \"generic_name\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n \r\n },\r\n {\r\n key: \"unit_of_measure\",\r\n text: \"Unit of Measure\",\r\n className: \"unit_of_measure\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n // cell: (record) => {\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 key: \"drug_category\",\r\n text: \"Drug Category\",\r\n className: \"drug_category\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n },\r\n\r\n {\r\n key: \"drug_type\",\r\n text: \"Drug Type\",\r\n className: \"drug_type\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n \r\n },\r\n */\r\n {\r\n key: \"manufacturer\",\r\n text: \"Manufacturer\",\r\n className: \"manufacturer\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n\r\n // cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n // return (\r\n // \r\n // );\r\n // },\r\n },\r\n\r\n {\r\n key: \"active_ingredients\",\r\n text: \"Active Incredients\",\r\n className: \"active_ingredients\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n\r\n // cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n // return (\r\n // \r\n // );\r\n // },\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n }\r\n }\r\n handleCategoryColumnChange = (value, record, field) => {\r\n // console.log(field);\r\n // console.log(value);\r\n // console.log(record);\r\n value[field] = record;\r\n // console.log(record);\r\n // record.availability = \"Yes\" === record.availability ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(value);\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value=event.target.value;\r\n if (\r\n event.target.name === \"searchdrug_id\"\r\n \r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.drugid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.drugid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateColumnChange(record);\r\n };\r\n UpdateColumnChange = (record) => {\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex].drug_id = record.drug_id;\r\n records[recIndex].drug_name = record.drug_name;\r\n records[recIndex].drug_category = record.drug_category;\r\n records[recIndex].drug_type = record.drug_type;\r\n\r\n this.setState({ searchrecords: records });\r\n };\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllMasterDrug, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugNameList = drugMasterRespons.data.data;\r\n let masterdrugNames = [];\r\n masterdrugNameList.forEach((element) => {\r\n masterdrugNames.push({\r\n value: element.id,\r\n label: element.drug_name,\r\n manufacturer: \"\",\r\n active_incredient: \"\",\r\n });\r\n });\r\n\r\n this.setState({ masterdrugNames });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugTypes, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugTypeResponse) => {\r\n let drugTypeList = drugTypeResponse.data.data;\r\n let drugTypes = [];\r\n drugTypeList.forEach((element) => {\r\n drugTypes.push({ value: element.id, label: element.drug_type });\r\n });\r\n\r\n this.setState({ drugTypes });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugCategories, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((drugCategoryResponse) => {\r\n let list = drugCategoryResponse.data.data;\r\n\r\n let drugCategories = [];\r\n list.forEach((element) => {\r\n drugCategories.push({\r\n value: element.id,\r\n label: element.drug_category,\r\n });\r\n });\r\n this.setState({ drugCategories });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllManufacturers, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.manufacturer_id = element.manufacturer_id;\r\n drugData.manufacturer_name = element.manufacturer_name;\r\n drugData.abbreviation = element.abbreviation;\r\n \r\n drugDataArr[index] = drugData;\r\n });\r\n\r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n axios\r\n .post(getAllDrugMeasures, \"\", CONFIG)\r\n .then((drugMasterRespons) => {\r\n let masterdrugmeasureList = drugMasterRespons.data.data;\r\n console.log(masterdrugmeasureList);\r\n let masterdrugmeasure = [];\r\n masterdrugmeasureList.forEach((element) => {\r\n masterdrugmeasure.push({\r\n value: element.unit_of_measure,\r\n label: element.unit_of_measure,\r\n\r\n });\r\n });\r\n\r\n this.setState({ masterdrugmeasure });\r\n })\r\n .catch(() => { });\r\n };\r\n addRecord = (record) => {\r\n let formvalid = true;\r\n if (record.searchdrug_id === \"\") {\r\n record.drugid_error = \"Please enter drug id\";\r\n formvalid = false;\r\n } else {\r\n record.drugid_error = \"\";\r\n }\r\n if (record.drug_name.label === \"\") {\r\n formvalid = false;\r\n record.drugname_error = \"Please enter drug name\";\r\n } else {\r\n record.drugname_error = \"\";\r\n }\r\n if(record.generic_name===\"\")\r\n {\r\n formvalid = false;\r\n record.generic_name_error = \"Please enter generic name\";\r\n } else {\r\n record.generic_name_error = \"\";\r\n }\r\n if (record.drug_category && record.drug_category.label === \"\") {\r\n formvalid = false;\r\n record.drugcategory_error = \"Please enter drug category\";\r\n } else {\r\n record.drugcategory_error = \"\";\r\n }\r\n if (record.drug_type && record.drug_type.label === \"\") {\r\n record.drugtype_error = \"Please enter drug type\";\r\n formvalid = false;\r\n } else {\r\n record.drugtype_error = \"\";\r\n }\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex] = record;\r\n this.setState({ searchrecords: records });\r\n if (formvalid) {\r\n this.setState({ drug_action: \"Add\" });\r\n // this.setState({ newDatatoAdd: record, loading: true });\r\n // this.addorupdateDrug();\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let selectedData = record;\r\n // console.log(selectedData); return false;\r\n let data = {};\r\n data.user_id = this.props.userdata.id;\r\n data.drug_id = selectedData.searchdrug_id;\r\n data.drug_name = selectedData.drug_name;\r\n data.drug_type = selectedData.drug_type;\r\n data.drug_category = selectedData.drug_category;\r\n data.unit_of_measure = selectedData.unit_of_measure;\r\n data.manufacturer = selectedData.manufacturer;\r\n data.active_ingredients = selectedData.active_ingredients;\r\n data.generic_name=selectedData.generic_name;\r\n axios\r\n .post(addPharmacyDrug, data, CONFIG)\r\n .then((addDrugResponse) => {\r\n let res = addDrugResponse.data;\r\n console.log(addDrugResponse)\r\n if (res.status === \"1\") {\r\n let drug = {};\r\n let records = this.state.records;\r\n drug.s_no = this.state.records.length + 1;\r\n drug.drug_id = data.drug_id;\r\n drug.id = res.data[0].id;\r\n drug.drug_name = data.drug_name;\r\n drug.drug_category = data.drug_category;\r\n drug.unit_of_measure = data.unit_of_measure;\r\n drug.manufacturer = data.manufacturer;\r\n drug.drug_type = data.drug_type;\r\n drug.active_ingredients = data.active_ingredients;\r\n drug.generic_name=data.generic_name;\r\n records.push(drug);\r\n // this.setState({ searchrecords: records });\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n toast.success(\"The Drug details have been added successfully. \", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Drug could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n }\r\n };\r\n editRecord(record) {\r\n let drug_action = this.state.drug_action;\r\n drug_action = \"Edit\";\r\n this.setState({ drug_action });\r\n\r\n let ManufacturerData = this.state.ManufacturerData;\r\n ManufacturerData.s_no = record.s_no;\r\n ManufacturerData.id = record.id;\r\n ManufacturerData.manufacturer_id = record.manufacturer_id;\r\n ManufacturerData.manufacturer_name = record.manufacturer_name;\r\n ManufacturerData.abbreviation = record.abbreviation;\r\n \r\n this.setState({ ManufacturerData: ManufacturerData });\r\n }\r\n\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.drugData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n // if (e.name === \"drug_name\") {\r\n // data.manufacturer = selectedOptions.manufacturer;\r\n // data.active_ingredients = selectedOptions.active_ingredients;\r\n // }\r\n this.setState({ drugData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n handlesearchinputChange = (eve) => {\r\n let data = this.state.searchData;\r\n\r\n data[eve.target.name] = eve.target.value;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n handlesearchselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n\r\n // if (e.name === \"drug_name\") {\r\n // data.manufacturer = selectedOptions.manufacturer;\r\n // data.active_ingredients = selectedOptions.active_ingredients;\r\n // } else {\r\n // data[e.name] = selectedOptions;\r\n // }\r\n // if (e.name === \"manufacturer\" || e.name === \"active_ingredients\") {\r\n // data[e.name] = selectedOptions.target.value;\r\n // } else {\r\n data[e.name] = selectedOptions;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.ManufacturerData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ ManufacturerData: data, errors: errors });\r\n }\r\n handleInput = (e) => {\r\n let data = this.state.ManufacturerData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n // name === \"drug_id\" ||\r\n name === \"manufacturer_name\" ||\r\n // name === \"manufacturer\" ||\r\n name === \"abbreviation\"\r\n // name === \"generic_name\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ ManufacturerData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n\r\n addorupdateDrug() {\r\n let url = this.state.drug_action === \"Add\" ? addManufacturer : updateManufacturer;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n\r\n let { ManufacturerData, errors } = this.state;\r\n ManufacturerData.type = \"manufacturer\";\r\n errors = Validation(ManufacturerData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n let data = {};\r\n // data.s_no = ManufacturerData.s_no;\r\n data.user_id = this.props.userdata.id;\r\n data.id = ManufacturerData.id;\r\n // data.manufacturer_id = ManufacturerData.manufacturer_id;\r\n data.manufacturer_name = ManufacturerData.manufacturer_name;\r\n data.abbreviation = ManufacturerData.abbreviation;\r\n \r\n let records = this.state.records;\r\n if (this.state.drug_action === \"Add\") {\r\n axios\r\n .post(url, data, CONFIG)\r\n .then((addDrugResponse) => {\r\n let res = addDrugResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllManufacturers, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.manufacturer_id = element.manufacturer_id;\r\n drugData.manufacturer_name = element.manufacturer_name;\r\n drugData.abbreviation = element.abbreviation;\r\n \r\n drugDataArr[index] = drugData;\r\n });\r\n \r\n this.setState({ records: drugDataArr,loading: false, });\r\n })\r\n .catch(() => { });\r\n toast.success(\"The Manufacturer details have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Manufacturer could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n } else {\r\n axios\r\n .put(url, data, CONFIG)\r\n .then((updateDrugResponse) => {\r\n let updateResponse = updateDrugResponse.data;\r\n if (updateResponse.status === \"1\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllManufacturers, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.manufacturer_id = element.manufacturer_id;\r\n drugData.manufacturer_name = element.manufacturer_name;\r\n drugData.abbreviation = element.abbreviation;\r\n \r\n drugDataArr[index] = drugData;\r\n });\r\n \r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n \r\n // let addDrugSuccess = this.state.addDrugSuccess;\r\n // addDrugSuccess = updateResponse.message;\r\n // this.setState({ addDrugSuccess: addDrugSuccess });\r\n\r\n /** Updating the data table */\r\n // let existingRecords = this.state.records;\r\n // var index = existingRecords.findIndex(\r\n // (item) => item.id === data.id\r\n // );\r\n // existingRecords.splice(index, 1, data);\r\n // this.setState({ records: existingRecords });\r\n // this.setState({ tableSuccess: updateResponse });\r\n // this.setState({ editformSuccess: updateResponse });\r\n toast.success(\"The Manufacturer details have been updated successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({ tableSuccess: updateResponse });\r\n this.setState({ editformSuccess: updateResponse });\r\n toast.error(\"Manufacturer could not be updated. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n this.setState({ loading: false });\r\n })\r\n .catch(() => { });\r\n }\r\n }\r\n }\r\n\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n\r\n }\r\n\r\n cancelDelete() {\r\n this.setState({\r\n showDeleteConfirmPopup: !this.state.showDeleteConfirmPopup,\r\n });\r\n }\r\n\r\n deleteRecord(record) {\r\n let userId = record.manufacturer_id;\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deleteManufacturer, { data: { manufacturer_id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.manufacturer_id).indexOf(record.manufacturer_id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\", loading: false });\r\n this.setState({ tableSuccess: res.data });\r\n toast.error(\"The Manufacturer has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllManufacturers, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.manufacturer_id = element.manufacturer_id;\r\n drugData.manufacturer_name = element.manufacturer_name;\r\n drugData.abbreviation = element.abbreviation;\r\n \r\n drugDataArr[index] = drugData;\r\n });\r\n \r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n \r\n })\r\n .catch(() => { });\r\n \r\n }\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n searchTableSuccess: { message: \"\" },\r\n editformSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n clearAll=()=> {\r\n let drug_action = this.state.drug_action;\r\n drug_action = \"Add\";\r\n this.setState({ drug_action });\r\n let ManufacturerData = {};\r\n ManufacturerData.manufacturer_id = \"\";\r\n ManufacturerData.manufacturer_name= \"\";\r\n ManufacturerData.abbreviation = \"\";\r\n \r\n let errors = {\r\n drug_id: \"\",\r\n drug_name: \"\",\r\n drug_type: \"\",\r\n drug_category: \"\",\r\n unit_of_measure: \"\",\r\n }\r\n let tableSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let formSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let editformSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let searchTableSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n }\r\n \r\n\r\n this.setState({ ManufacturerData, errors, tableSuccess, formSuccess, editformSuccess, searchTableSuccess, searchErrorMessage: \"\",searchrecords: [],search_action:false });\r\n \r\n\r\n }\r\n clearimport=()=>{\r\n this.setState({ file:\"\" });\r\n };\r\n searchandshowDrug() {\r\n let drugData = this.state.drugData;\r\n console.log(drugData);\r\n if (\r\n (drugData.drug_name === \"\" || null === drugData.drug_name) &&\r\n (drugData.drug_category === \"\" || null === drugData.drug_category) &&\r\n (drugData.drug_type === \"\" || null === drugData.drug_type) &&\r\n (drugData.unit_of_measure === \"\" || null === drugData.unit_of_measure) &&\r\n drugData.manufacturer === \"\" &&\r\n drugData.active_ingredients === \"\" &&\r\n drugData.generic_name===\"\"\r\n ) {\r\n this.setState({\r\n searchErrorMessage:\r\n \"Choose any one of the search filters other than Drug ID.\",\r\n });\r\n return;\r\n } else {\r\n this.setState({\r\n searchErrorMessage: \"\",\r\n });\r\n }\r\n let data = {};\r\n data.drug_name = drugData.drug_name;\r\n data.drug_category = drugData.drug_category\r\n ? drugData.drug_category.label\r\n : \"\";\r\n data.drug_type = drugData.drug_type ? drugData.drug_type.label : \"\";\r\n data.manufacturer = drugData.manufacturer;\r\n data.active_ingredients = drugData.active_ingredients;\r\n data.generic_name=drugData.generic_name;\r\n data.unit_of_measure=drugData.unit_of_measure.label;\r\n data.type = \"admin\";\r\n data.user_id = this.props.userdata.id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(searchDrug, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n let data = [];\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n // console.log(this.state.masterdrugmeasure[0]);\r\n records.forEach((element) => {\r\n console.log(element);\r\n console.log(element.drug_name);\r\n console.log(element.drug_category);\r\n console.log(element.unit_of_measure);\r\n data.push({\r\n drug_id: \"\",\r\n drug_name: element.drug_name,\r\n drug_name_hide: element.drug_name,\r\n drug_category: element.drug_category,\r\n unit_of_measure: element.unit_of_measure,\r\n drug_category_hide: element.drug_category,\r\n drug_type: element.drug_type,\r\n drug_type_hide: element.drug_type,\r\n generic_name:element.generic_name,\r\n manufacturer: element.manufacturer,\r\n active_ingredients: element.active_ingredients,\r\n id: element.id,\r\n drugid_error: \"\",\r\n drugcategory_error: \"\",\r\n drugtype_error: \"\",\r\n drugname_error: \"\",\r\n generic_name_error:\"\",\r\n manufacturer_error:\"\",\r\n active_incredients_error:\"\",\r\n });\r\n });\r\n\r\n this.setState({ searchrecords: data });\r\n this.setState({\r\n search_action: true,\r\n });\r\n } else {\r\n this.setState({ searchErrorMessage:\"No Drug Found\",searchrecords: [], search_action: true });\r\n }\r\n });\r\n });\r\n }\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n console.log(event.target.files[0]);\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ ManufacturerData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n};\r\nonFileUpload = () => {\r\n\r\n if (this.state.ManufacturerData.length) {\r\n axios.post(manufacturerimport, {data: this.state.ManufacturerData,user_id:this.props.userdata.id}).then((result) => {\r\n console.log(result);\r\n this.setState({ formSuccess: result.data, file: \"\", drugData: [] })\r\n axios\r\n .post(getAllManufacturers, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let ManufacturerData = {};\r\n ManufacturerData.s_no = index + 1;\r\n ManufacturerData.id = element.id;\r\n ManufacturerData.user_id = this.props.userdata.id;\r\n ManufacturerData.manufacturer_id = element.manufacturer_id;\r\n ManufacturerData.manufacturer_name = element.manufacturer_name;\r\n ManufacturerData.abbreviation = element.abbreviation;\r\n \r\n drugDataArr[index] = ManufacturerData;\r\n });\r\n \r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n};\r\n render() {\r\n\r\n let ExpirePopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let ExpirePopupConfirm = () => {\r\n window.location.href = \"/showsubscription\";\r\n\r\n };\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n const {\r\n drugData,\r\n drugTypes,\r\n drugCategories,\r\n errors,\r\n loading,\r\n searchTableSuccess,\r\n editformSuccess,\r\n tableSuccess,\r\n searchErrorMessage,\r\n hospitaltimeout,\r\n formSuccess,\r\n ManufacturerData\r\n } = this.state;\r\n const modalVar = this.state.showDeleteConfirmPopup;\r\n\r\n return (\r\n
    \r\n {/* */}\r\n {/* */}\r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {loading && } \r\n{/* {loading && } */}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.userdata.user_type === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type === \"pharmacy\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n\r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Manufacturer List

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Import Manufacturer
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {/*
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    */}\r\n
    \r\n \r\n
    \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.drug_action === \"Add\"\r\n ? \"Add\"\r\n : \"Edit\"}{\" \"}\r\n Manufacturer
    \r\n
    \r\n \r\n
    \r\n {/* */}\r\n \r\n\r\n
    \r\n {/*
    \r\n {searchErrorMessage ? (\r\n \r\n {searchErrorMessage}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    */}\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \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.drug_action === \"Add\"\r\n ? \"Add\"\r\n : \"Update\"}\r\n \r\n {/* \r\n Search\r\n */}\r\n \r\n
    \r\n {\" \"}\r\n \r\n {\"\"}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    Search Drug
    \r\n
    \r\n
    \r\n
    \r\n {searchErrorMessage ? (\r\n \r\n {searchErrorMessage}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n */}\r\n {/* */}\r\n {/*
    \r\n
    \r\n Don’t have an account? \r\n Create an account */}\r\n {/* Create an account */}\r\n {/*
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n */}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Image on the left */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* Form on the right */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*

    Create your account

    \r\n

    Welcome! Please fill in the details.

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

    Personal Info

    \r\n

    Explain your step here.

    \r\n
    \r\n\r\n
    \r\n

    Business Info

    \r\n

    Explain your step here:

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Don’t have an account? \r\n Log in \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {/* */}\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(Createlogin);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport QRCode from \"react-qr-code\";\r\nimport Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport ClientSideBar from \"../components/container/layout/client/SideBar\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass Createlogin2 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n \r\n\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n render() {\r\n const { hospitaltimeout } = this.state;\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

    Login in to your account

    \r\n

    Welcome back! Select method to login.

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n */}\r\n {/* */}\r\n {/*
    \r\n
    \r\n Don’t have an account? \r\n Create an account */}\r\n {/* Create an account */}\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Image on the left */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* Form on the right */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Personal Info
    \r\n

    Explain your step here.

    \r\n
    \r\n\r\n
    \r\n
    Business Info
    \r\n

    Explain your step here:

    \r\n
    \r\n
    \r\n
    \r\n {/* Business Category */}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n {/* Business Name */}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n {/* Country */}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n {/* Address */}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n {/* Terms and Conditions Checkbox */}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n {/* Opt-in for Offers Checkbox */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Already have an account? \r\n Log in\r\n {/* Log in */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {/* */}\r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n }\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(Createlogin2);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport QRCode from \"react-qr-code\";\r\n// import Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\n// import BusinessUserSideBar from \"../components/container/SideBar\";\r\n// import ClientSideBar from \"../components/container/layout/client/SideBar\";\r\n// import FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport Headerweb from './Headerweb';\r\nimport FooterWeb from './Footerweb';\r\nimport Topmove from './Topmove';\r\n// import ProfileImage3 from './assets/images/profile3.png';\r\n// import myProfilePic from '../../../assets/images/profile3.png'; \r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass Webproduct extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n render() {\r\n const { hospitaltimeout } = this.state;\r\n return (\r\n
    \r\n\r\n
    \r\n {/*
    */}\r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    */}\r\n {/*
    */}\r\n
    \r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n
    \r\n \r\n {/*
    \r\n

    Product

    \r\n

    A Clinical Management System (CMS) is a software solution designed to streamline and enhance the administrative and clinical functions within healthcare facilities. It plays a crucial role in managing patient information, improving efficiency, ensuring regulatory compliance, and enhancing overall patient care. Here are some key components and features typically found in a Clinical Management System

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

    Product Feature

    \r\n \r\n
    \r\n
    \r\n

    A Clinical Management System (CMS) is a software solution designed to streamline and enhance the administrative and clinical functions within healthcare facilities. It plays a crucial role in managing patient information, improving efficiency, ensuring regulatory compliance, and enhancing overall patient care. Here are some key components and features typically found in a Clinical Management System

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Increase\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Electronic Medical Records ( EMR )

    \r\n
    \r\n \r\n
    \r\n

    The KlinicQ application maintains the patient's medical records, which include the health history, lab records, discharge summary, prescription details, vitals.

    \r\n

    KlinicQ application software security is a role-based access configuration for doctors, hospitals, and patients.

    \r\n

    Patient discharge summary generated based on check-out after treatment, including the visit's reason, diagnosis information, vitals, and prescription details.

    \r\n

    The data is stored in the cloud so that the ability to transfer the patient data from one clinic/department to the next will be quick.

    \r\n

    The KlinicQ application is customizable & scalable depending on the data volume to store the electronic medical records that can grow with your practice.

    \r\n

    Improve the operational efficiency and reduce the documentation searching time, maintain paper records & also the space-saving of a digital record environment

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Integrated Solution

    \r\n
    \r\n \r\n
    \r\n

    KlinicQ application accounts management function developed with GST function and invoicing for medical services and supplies.

    \r\n

    KlinicQ application is integrated with Razor payment way for digital payments.

    \r\n

    The KlinicQ application is integrated with Twilio for Video calling between doctors and patients.

    \r\n

    KlinicQ application integrates with Google Maps for wait time and travel time display.

    \r\n

    KlinicQ application APIs can integrate with any existing portals to update the details from KlinicQ and extract the information as per the security guidelines, so there is no need to replace the existing system.

    \r\n

    KlinicQ application is fully integrated between Doctors, Hospitals and patients and no need to duplicate the records

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    No expensive Hardware

    \r\n
    \r\n \r\n
    \r\n

    The KlinicQ application is a cloud-based solution (AWS - amazon web services), and all the data is stored in the cloud server so that no additional server setup is required, network & expensive hardware is required at your Clinic.

    \r\n

    KlinicQ Clinical Management System runs in Android & IOS mobile applications and can be downloaded from the Google Play Store and Apple App Store. Works with any cell phones or tablets with Wi-Fi Hotspots & no wires or software installation is required.

    \r\n

    KlinicQ application can be accessed through any web browser of any device (Google Chrome, Safari, Microsoft Edge, etc.) so no need have special software

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Easy Communication

    \r\n
    \r\n \r\n
    \r\n

    KlinicQ system is an interactive appointment scheduling software that offers bi-directional communication, connecting hospital doctors with patients.

    \r\n

    KlinicQ clinical management system sends notification and appointment status updates through SMS text messages.

    \r\n

    The KlinicQ application helps to set a reminder of critical appointment reminders for physicians, and automated reminders to patients on follow-up days will be sent through emails, including appointment details, promotional messages, and Health instructions for patient convenience.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    User Friendly Application

    \r\n

    The KlinicQ application can be accessed anywhere and anytime to view their consultation summary, vital details, health records and prescription details for up to 2 years from the day they start using the KlinicQ app.

    \r\n

    The KlinicQ application calculates and provides BMI based on the vital details measured during check-in. Height, blood pressure, pulse, and weight are measured and can be viewed at any time.

    \r\n

    The monitor connected to the Kiosk will display the queue list and status of each appointment, making it easier for the patients to check their turn.Traceability is easier with the KlinicQ application, as every visit has a unique appointment ID.

    \r\n

    Patient’s appointment and token status are effortlessly notified when it is their turn through the mobile app, making the patients engage at every stage. Appointment status is displayed on TV in the waiting room.

    \r\n

    The monitor connected to the Kiosk will display the queue list and status of each appointment, making it easier for the patients to check their turn.

    \r\n

    Android and IOS mobile Apps are available for Patient, Doctor & Hospital modules with multi-language compatibility & supports English, Tamil, Kannada, Telugu & Hindi.

    \r\n

    The KlinicQ app is an easy-to-use, automated, integrated solution between patients, physicians, and Hospitals. The KlinicQ application informs patients about their queue status & gives them peace of mind.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Resource planning & Scheduling

    \r\n
    \r\n \r\n
    \r\n

    The KlinicQ application's scheduling function helps to do resource planning and to manage hospitals/clinic and doctor's schedules effectively by day, week, and month to avoid overlapping & overbooking.

    \r\n

    The KlinicQ application's appointment scheduling function helps to schedule for doctors based on their availability automatically.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Billing & Payments

    \r\n

    KlinicQ application supports patient billing, invoices of all consultancy services with details of Patient Information, Services provided like Room rent, Clinical supplies, Consultation, Nursing Charges, Laboratory tests, X-rays, Ultrasound, Medicines, procedures, and the tax percentage calculated based on the relevant services

    \r\n

    The payment gateway service is integrated with KlinicQ, simplifying the customer payment process.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Data Analytics & KPI Reports

    \r\n
    \r\n \r\n
    \r\n

    KlinicQ application's analytical insights are incredibly effective and can be used to grow your business.

    \r\n

    Our Clinical Management System has been designed with various KPI reports and trends based on average waiting times, consulting time, clinical records, pharmacy & laboratory records, etc., to do analysis and improve it.

    \r\n

    KlinicQ applications analyze the real-time data of Patient visit trends based on locations, and these analytics insights features provide customers with habits who aren't showing up and who are returning.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Appointment Scheduling

    \r\n

    The KlinicQ application supports any of these three types of appointment booking by the token management system, appointment management system, and teleconsultation.

    \r\n

    The KlinicQ application supports booking an appointment through the online mobile application, phone, and walk-in options for our patients & a teleconsultation appointment (Video calling) option available for patients unable to visit the hospital.

    \r\n

    The KlinicQ application allows to manage emergency appointments & grace period functions, which helps to adjust the appointment schedule automatically for patients who arrive late to the hospital.

    \r\n

    The KlinicQ application supports quick and effective inpatient and outpatient appointment scheduling and automatically sends text and email reminders.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Kiosk integration capability

    \r\n
    \r\n \r\n
    \r\n

    \r\n\r\nKiosks in the hospital waiting room allow customers to add themselves to a queue without staff assistance. On the touchscreen, patients can enter their phone number or scan the QR code to retrieve their appointment and the monitor connected to the Kiosk will display each appointment's queue list and status.

    \r\n

    Patient's vital details can be measured at the Kiosk system. The vital blood pressure, pulse, height, weight, and BMI details can be automatically transferred to the KlinicQ app for the appointment visit.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Privacy & Security

    \r\n

    KlinicQ application is designed per HIPAA (Health Insurance Portability and Accountability Act) rules. Personal identification information (PII) and protected health information (PHI) records are securely encrypted & are safe and not for sale to any third parties.\r\n\r\n

    \r\n

    KlinicQ Clinical Management System role-based security is assigned to the doctors, hospitals, and patients to provide relevant authorization to control access. Privacy & security are our number one priority, and we ensure that no selling of personal data.

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

    QR Code

    \r\n
    */}\r\n\r\n\r\n {/*
    */}\r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    Open the built-in camera app and point the camera at the QR Code Scanner for Check-in purposes.
    \r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/*
    \r\n \r\n
    */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n componentDidMount = () => {\r\n /* console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { }); */\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(Webproduct);","import React, { Component } from 'react';\r\nimport FooterWeb from './Footerweb';\r\nimport Headerweb from './Headerweb';\r\n// import Topmove from '../Common/pages/Topmove';\r\n\r\nimport { connect } from 'react-redux';\r\nimport Topmove from './Topmove';\r\n// import { setClass1Hide } from '../Redux/CreateSlice';\r\n\r\nclass Webcontact extends Component {\r\n \r\n\r\n render() {\r\n \r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    Contact Us

    \r\n

    Contact us today using this form and our support team will reach out as soon as possible.

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

    Our Location

    \r\n

    1700 W Blancke St, Kiyev Port South Usa, American

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

    Our Email Address

    \r\n

    mail@klinicq.com

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

    Our Phone Number

    \r\n

    +(536) 694-0265\r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    Get in Touch
    \r\n

    Contact us today using this form and our support team will reach out as soon as possible.

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    Services

    \r\n Hospital Mangement
    \r\n Clinic Mangement
    \r\n User Mangement\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    By signing up, you accept our privacy policy. your contact information will only be used within Medesk and will never be shared with third parties.

    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n }\r\n // const mapStateToProps = (state) => ({\r\n // isClass1Show: state.klinical.isClass1Show,\r\n // });\r\n \r\n // const mapDispatchToProps = {\r\n // setClass1Hide,\r\n // };\r\n \r\n export default (Webcontact); ","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport QRCode from \"react-qr-code\";\r\n// import Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\n// import BusinessUserSideBar from \"../components/container/SideBar\";\r\n// import ClientSideBar from \"../components/container/layout/client/SideBar\";\r\n// import FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport Headerweb from './Headerweb';\r\nimport FooterWeb from './Footerweb';\r\nimport Topmove from './Topmove';\r\n// import ProfileImage3 from './assets/images/profile3.png';\r\n// import myProfilePic from '../../../assets/images/profile3.png'; \r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass Webhospital extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n render() {\r\n const { hospitaltimeout } = this.state;\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n

    Hospital

    \r\n {/*

    A Clinical Management System (CMS) is a software solution designed to streamline and enhance the administrative and clinical functions within healthcare facilities. It plays a crucial role in managing patient information, improving efficiency, ensuring regulatory compliance, and enhancing overall patient care. Here are some key components and features typically found in a Clinical Management System

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

    Analytical Insights

    \r\n
    \r\n \r\n
    \r\n

    Understanding patient behavior: Gain valuable insights into patient demographics, appointment patterns, and health concerns.

    \r\n

    Optimizing resource allocation: Identify peak times and adjust staffing or appointment schedules accordingly.

    \r\n

    Improving patient care: Use data-driven insights to enhance the overall patient experience.

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Digital Identity of Physician & Patients

    \r\n
    \r\n \r\n
    \r\n

    Enhanced security: Protect patient data and ensure privacy by implementing secure digital identity verification.

    \r\n

    Improved communication: Facilitate seamless communication between patients and healthcare providers

    \r\n

    Reduced fraud: Minimize the risk of identity theft and fraudulent activities.

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Appointment Scheduling & Token System

    \r\n
    \r\n \r\n
    \r\n

    Enhanced efficiency: Streamline the appointment booking process, reducing wait times and improving patient satisfaction.

    \r\n

    Reduced no-shows: Implement token systems to minimize missed appointments and optimize clinic resources.

    \r\n

    Improved patient experience: Provide patients with convenient online appointment scheduling options.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Easy Communication & Reminder Automation

    \r\n
    \r\n \r\n
    \r\n

    Improved patient engagement: Facilitate communication between patients and healthcare providers through secure messaging.

    \r\n

    Enhanced adherence: Send automated reminders for appointments, medication refills, or follow-up care.

    \r\n

    Improved patient outcomes: Improve patient adherence to treatment plans and achieve better health outcomes.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Simplified Check-in & Check-out Process

    \r\n

    Reduced wait times: Streamline the check-in and check-out process, reducing patient frustration.

    \r\n

    Improved efficiency: Improve the overall clinic workflow and productivity.

    \r\n

    Enhanced patient experience: Create a more welcoming and efficient environment for patients.

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Effective Resource Utilization

    \r\n
    \r\n \r\n
    \r\n

    Optimized resource allocation: Allocate resources based on patient demand and clinic capacity.

    \r\n

    Reduced costs: Minimize overhead expenses by optimizing resource utilization.

    \r\n

    Improved patient experience: Ensure that patients receive timely care without excessive wait times.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Easy Physician & Staff Shift Scheduling

    \r\n

    Optimized staffing: Efficiently manage physician and staff schedules to ensure adequate coverage.

    \r\n

    Reduced administrative tasks: Streamline the scheduling process and minimize errors.

    \r\n

    Improved employee satisfaction: Enhance work-life balance and reduce burnout.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Digitalized Billing & Payments

    \r\n
    \r\n \r\n
    \r\n

    Streamlined transactions: Simplify the billing and payment process for both patients and staff.

    \r\n

    Reduced administrative burden: Eliminate manual paperwork and reduce errors associated with traditional billing methods.

    \r\n

    Increased patient convenience: Offer flexible payment options, such as online payments or mobile wallets.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Seamless Integration between Doctors & Patients

    \r\n

    Improved collaboration: Facilitate communication and collaboration between healthcare providers and patients.

    \r\n

    Enhanced care coordination: Ensure that patients receive consistent and comprehensive care.

    \r\n

    Improved patient outcomes: Foster a more patient-centered approach to healthcare.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Data Encryption & Protection

    \r\n
    \r\n \r\n
    \r\n

    Safeguarding patient data: Protect sensitive patient information from unauthorized access or breaches..

    \r\n

    Compliance with regulations: Adhere to HIPAA and other data privacy regulations.

    \r\n

    Building trust: Assure patients that their personal information is handled securely..

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

    Privacy & Security

    \r\n

    KlinicQ application is designed per HIPAA (Health Insurance Portability and Accountability Act) rules. Personal identification information (PII) and protected health information (PHI) records are securely encrypted & are safe and not for sale to any third parties.\r\n\r\n

    \r\n

    KlinicQ Clinical Management System role-based security is assigned to the doctors, hospitals, and patients to provide relevant authorization to control access. Privacy & security are our number one priority, and we ensure that no selling of personal data.

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

    QR Code

    \r\n
    */}\r\n\r\n\r\n {/*
    */}\r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    Open the built-in camera app and point the camera at the QR Code Scanner for Check-in purposes.
    \r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n componentDidMount = () => {\r\n /* console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { }); */\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(Webhospital);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport QRCode from \"react-qr-code\";\r\n// import Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\n// import BusinessUserSideBar from \"../components/container/SideBar\";\r\n// import ClientSideBar from \"../components/container/layout/client/SideBar\";\r\n// import FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport Headerweb from './Headerweb';\r\nimport FooterWeb from './Footerweb';\r\nimport Topmove from './Topmove';\r\n// import ProfileImage3 from './assets/images/profile3.png';\r\n// import myProfilePic from '../../../assets/images/profile3.png'; \r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass Webpatient extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n render() {\r\n const { hospitaltimeout } = this.state;\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n

    Patient

    \r\n {/*

    A Clinical Management System (CMS) is a software solution designed to streamline and enhance the administrative and clinical functions within healthcare facilities. It plays a crucial role in managing patient information, improving efficiency, ensuring regulatory compliance, and enhancing overall patient care. Here are some key components and features typically found in a Clinical Management System

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

    Convenient Access anywhere & anytime:

    \r\n
    \r\n \r\n
    \r\n

    Increased accessibility: Allow patients to access healthcare services from anywhere, anytime.

    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Easy navigation of Clinics with

    \r\n
    \r\n \r\n
    \r\n

    Improved patient experience: Provide patients with a user-friendly and intuitive app interface.

    \r\n

    Enhanced access to care: Help patients find the right clinics and specialists for their needs.

    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Preferred Doctors

    \r\n
    \r\n \r\n
    \r\n

    Personalized care: Allow patients to select their preferred doctors and establish long-term relationships.

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Medication Reminders:

    \r\n
    \r\n \r\n
    \r\n

    Improved adherence: Remind patients to take their medications as prescribed.

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Notifications on Appointment schedule:s

    \r\n

    Improved adherence: Remind patients of upcoming appointments

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

    Easier Specialty Physician Referral

    \r\n
    \r\n \r\n
    \r\n

    Improved patient care: Connect patients with appropriate specialists for their specific needs.

    \r\n

    Enhanced access to care: Expand access to specialized care, especially in rural areas.

    \r\n

    Reduced patient frustration: Streamline the referral process and minimize delays.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Easier Reminder setup for follow ups

    \r\n

    Improved patient adherence: Ensure that patients follow up on appointments, medications, or treatment plans.

    \r\n

    Enhanced patient outcomes: Improve health outcomes by increasing adherence to treatment regimens.

    \r\n

    Reduced missed appointments: Minimize no-shows and optimize clinic resources.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Improved Patient Engagement

    \r\n
    \r\n \r\n
    \r\n

    Increased satisfaction: Provide patients with a more convenient and personalized experience.

    \r\n

    Enhanced communication: Facilitate communication between patients and healthcare providers.

    \r\n

    Improved health outcomes: Encourage patients to take an active role in their own care.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Seamless Integration between Pharmacy & Labs:

    \r\n

    Improved efficiency: Streamline the process of sending prescriptions and lab orders.

    \r\n

    Reduced errors: Minimize errors associated with manual data entry.

    \r\n

    Enhanced patient experience: Provide a more seamless and convenient experience for patients.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Teleconsultation:

    \r\n
    \r\n \r\n
    \r\n

    Increased accessibility: Expand access to healthcare services, especially in remote areas.

    \r\n

    Improved convenience: Allow patients to consult with healthcare providers from the comfort of their homes.

    \r\n

    Reduced healthcare costs: Lower the cost of healthcare by reducing travel time and expenses.

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

    Privacy & Security

    \r\n

    KlinicQ application is designed per HIPAA (Health Insurance Portability and Accountability Act) rules. Personal identification information (PII) and protected health information (PHI) records are securely encrypted & are safe and not for sale to any third parties.\r\n\r\n

    \r\n

    KlinicQ Clinical Management System role-based security is assigned to the doctors, hospitals, and patients to provide relevant authorization to control access. Privacy & security are our number one priority, and we ensure that no selling of personal data.

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

    QR Code

    \r\n
    */}\r\n\r\n\r\n {/*
    */}\r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    Open the built-in camera app and point the camera at the QR Code Scanner for Check-in purposes.
    \r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n componentDidMount = () => {\r\n /* console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { }); */\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(Webpatient);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport QRCode from \"react-qr-code\";\r\n// import Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\n// import BusinessUserSideBar from \"../components/container/SideBar\";\r\n// import ClientSideBar from \"../components/container/layout/client/SideBar\";\r\n// import FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport Headerweb from './Headerweb';\r\nimport FooterWeb from './Footerweb';\r\nimport Topmove from './Topmove';\r\n// import ProfileImage3 from './assets/images/profile3.png';\r\n// import myProfilePic from '../../../assets/images/profile3.png'; \r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass Webphysician extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n render() {\r\n const { hospitaltimeout } = this.state;\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n

    Physician

    \r\n {/*

    A Clinical Management System (CMS) is a software solution designed to streamline and enhance the administrative and clinical functions within healthcare facilities. It plays a crucial role in managing patient information, improving efficiency, ensuring regulatory compliance, and enhancing overall patient care. Here are some key components and features typically found in a Clinical Management System

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

    Computer aided or Handwritten e-Prescription

    \r\n
    \r\n \r\n
    \r\n

    Improved accuracy: Reduce errors

    \r\n

    Enhanced patient safety: Ensure that medications are prescribed correctly and accurately.

    \r\n

    Increased efficiency: Streamline the prescription process and reduce administrative burden.

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Easy access to Electronic Medical Records

    \r\n
    \r\n \r\n
    \r\n

    Improved patient care: Access patient medical history, allergies, and medications at the point of care.

    \r\n

    Enhanced coordination: Facilitate seamless communication and collaboration between healthcare providers.

    \r\n

    Reduced errors: Minimize the risk of medication errors or adverse drug interactions.

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Diagnostic Accuracy

    \r\n
    \r\n \r\n
    \r\n

    Improved decision-making: Provide healthcare providers with accurate and timely diagnostic information.

    \r\n

    Enhanced patient care: Deliver more effective and targeted treatments.

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Easy to Customize screens based on specialty

    \r\n
    \r\n \r\n
    \r\n

    Enhanced user experience: Provide a more intuitive and personalized experience for healthcare providers.

    \r\n

    Increased productivity: Save time and effort by accessing relevant information quickly and easily.

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Simplified Check-in & Check-out Process

    \r\n

    Reduced wait times: Streamline the check-in and check-out process, reducing patient frustration.

    \r\n

    Improved efficiency: Improve the overall clinic workflow and productivity.

    \r\n

    Enhanced patient experience: Create a more welcoming and efficient environment for patients.

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Easier Specialty Physician Referral

    \r\n
    \r\n \r\n
    \r\n

    Improved patient care: Connect patients with appropriate specialists for their specific needs.

    \r\n

    Enhanced access to care: Expand access to specialized care, especially in rural areas.

    \r\n

    Reduced patient frustration: Streamline the referral process and minimize delays.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Easier Reminder setup for follow ups

    \r\n

    Improved patient adherence: Ensure that patients follow up on appointments, medications, or treatment plans.

    \r\n

    Enhanced patient outcomes: Improve health outcomes by increasing adherence to treatment regimens.

    \r\n

    Reduced missed appointments: Minimize no-shows and optimize clinic resources.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Improved Patient Engagement

    \r\n
    \r\n \r\n
    \r\n

    Increased satisfaction: Provide patients with a more convenient and personalized experience.

    \r\n

    Enhanced communication: Facilitate communication between patients and healthcare providers.

    \r\n

    Improved health outcomes: Encourage patients to take an active role in their own care.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Seamless Integration between Pharmacy & Labs:

    \r\n

    Improved efficiency: Streamline the process of sending prescriptions and lab orders.

    \r\n

    Reduced errors: Minimize errors associated with manual data entry.

    \r\n

    Enhanced patient experience: Provide a more seamless and convenient experience for patients.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Teleconsultation:

    \r\n
    \r\n \r\n
    \r\n

    Increased accessibility: Expand access to healthcare services, especially in remote areas.

    \r\n

    Improved convenience: Allow patients to consult with healthcare providers from the comfort of their homes.

    \r\n

    Reduced healthcare costs: Lower the cost of healthcare by reducing travel time and expenses.

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

    Privacy & Security

    \r\n

    KlinicQ application is designed per HIPAA (Health Insurance Portability and Accountability Act) rules. Personal identification information (PII) and protected health information (PHI) records are securely encrypted & are safe and not for sale to any third parties.\r\n\r\n

    \r\n

    KlinicQ Clinical Management System role-based security is assigned to the doctors, hospitals, and patients to provide relevant authorization to control access. Privacy & security are our number one priority, and we ensure that no selling of personal data.

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

    QR Code

    \r\n
    */}\r\n\r\n\r\n {/*
    */}\r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    Open the built-in camera app and point the camera at the QR Code Scanner for Check-in purposes.
    \r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n componentDidMount = () => {\r\n /* console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { }); */\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(Webphysician);","import React, { Component } from 'react';\r\nimport Headerweb from './Headerweb';\r\nimport FooterWeb from './Footerweb';\r\n// import './App.css'; // Make sure to create this CSS file for styling\r\n\r\nclass Solution extends Component {\r\n render() {\r\n return (\r\n\r\n
    \r\n \r\n
    \r\n

    Solution

    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n

    Token System

    \r\n

    Token System works with Online appointment booking and walk-in appointments and allows patients to book an appointment with a token number for a day and time.

    \r\n

    Token System automatically gives patients priority in the queue for a given time slot, no matter how long the queue is.

    \r\n

    Token System accepts walk-in appointments as soon as scheduled openings occur and can also allocate emergency appointments.

    \r\n

    Token System algorithm updates the wait time for each clinic in our network and displays it in google maps for easy navigation.

    \r\n

    Token System updates the token status, token time, and wait time and sends updates through mobile app and SMS text messages.

    \r\n

    Reschedule or cancel the appointment in the mobile app to reduce no-shows, accordingly the token time and wait time will be updated.

    \r\n
    \r\n
    \r\n

    Appointment slot systems

    \r\n

    The KlinicQ appointment management system is designed to manage the effective planning of appointments for patients & doctors.

    \r\n

    The KlinicQ appointment management system allows patients to book appointments for a future day and time.

    \r\n

    The appointment management system works with Online appointments, and it also works with walk-in appointments based on availability.

    \r\n

    Based on the cycle time defined by each hospital, Appointment slots get split automatically.

    \r\n

    Appointment management system updates the status of the upcoming appointment and sends updates through mobile app and SMS text message.

    \r\n

    Reschedule or cancel the appointment in a mobile app to reduce no-shows; the availability slots will be updated accordingly.

    \r\n

    For appointment services, online payment or pay-at-clinic options are defined by the individual hospitals, and accordingly, the workflow triggers the payment options

    \r\n
    \r\n
    \r\n

    Teleconsultation:

    \r\n

    With the rapid growth of technology, utilizing digital solutions in the healthcare industry will be helpful for healthcare providers and patients.

    \r\n

    Teleconsultation is one of the options to connect healthcare professionals with patients through video conferences instead of meeting in person. Patients need to go for regular check-ups, but due to some circumstances, they cannot go to the hospital/clinic in person, or any first aid treatment is required during nighttime or odd hours when the Hospital/ clinic is not open.

    \r\n

    Tele-consultation is the best option to get a doctor’s advice on time to save lives. Tele-consultation is significantly beneficial for patients living in rural areas that do not have hospitals/clinics and for people who do not have transport facilities, older adults & physically challenged people who cannot travel because the KlinicQ application helps connect with doctors quickly from anywhere, and anytime.

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Solution;","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport QRCode from \"react-qr-code\";\r\n// import Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\n// import BusinessUserSideBar from \"../components/container/SideBar\";\r\n// import ClientSideBar from \"../components/container/layout/client/SideBar\";\r\n// import FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport Headerweb from './Headerweb';\r\nimport FooterWeb from './Footerweb';\r\nimport Topmove from './Topmove';\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass Benifits extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n render() {\r\n const { hospitaltimeout } = this.state;\r\n return (\r\n
    \r\n\r\n
    \r\n {/*
    */}\r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    */}\r\n {/*
    */}\r\n
    \r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n

    Benefits

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Image\r\n
    \r\n
    Increase Revenue
    \r\n

    Optimize operational expenses & increase revenue.

    \r\n
    \r\n
    \r\n
    \r\n \"Image\r\n
    \r\n
    Increase Productivity
    \r\n

    Improve operational efficiency & productivity.

    \r\n
    \r\n
    \r\n
    \r\n \"Image\r\n
    \r\n
    Improve Service Quality
    \r\n

    Building a trust worthiness to the patient

    \r\n
    \r\n
    \r\n
    \r\n \"Image\r\n
    \r\n
    Improve Patient Satisfaction
    \r\n

    Improve the quality of service to boost patient satisfaction

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Increase Revenue
    \r\n

    Optimize operational
    expenses & increase revenue

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

    Data is the fuel for any process improvement; using the data collected at the Hospital/Clinic, our Clinical Management System could help identify the non-value-added activities and eliminate the waste & idle time causing bottlenecks.

    \r\n

    Maintaining the data related to hospital operations (Patient records, Health information records, Medicine records, Pharmacy and Laboratory details, Supplier details, etc.) takes a lot of work. It requires more staffing to maintain the paperwork and store it.

    \r\n

    As per the study, every human average spends 6.5 months of their lives, equivalent to 5,000 hours in searching. One of the most time-consuming jobs and most significant challenges in daily life at hospitals /Clinics is searching for the records when required.

    \r\n

    Our Clinical Management System is designed with Amazon Web Services cloud-based architecture so that all the records will be maintained digitally online, and it can be retrieved and downloaded easily in Excel sheets in a few seconds.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Increase Productivity
    \r\n

    Improve operational
    efficiency & Productivity

    \r\n
    \r\n \r\n
    \r\n

    The traditional token system requires more staff involvement in managing the visitors in the waiting room. Every time, Staff must announce the current token number in the waiting room to call the visitors. Also, performing paperwork during the check-in & check-out process is time-consuming and fatiguing for the Staff, which leads to dissatisfaction and poor performance.

    \r\n

    KlinicQ CMS application shift planner function supports allocating the Staff effectively & all the records are maintained digitally in the CMS application online so that they no longer have to manage the paperwork.

    \r\n

    The token algorithm takes care of the check-in & check-out functions and the user queue list displayed on the monitor or TV with who is next & the waiting time for their turn so that there is no need to announce every time.

    \r\n

    Managing social distancing and limiting the crowd by reducing the wait in the waiting room could reduce frustration and help improve staff satisfaction. The satisfied Staff help produce happy customers and deliver excellent service.

    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Improve Service Quality
    \r\n

    Building a trust worthiness
    to the Patients

    \r\n
    \r\n \r\n
    \r\n

    In most cases, Patients would like to consult with their preferred hospital & doctors, and the reason could be friendliness, easy approach, easy access to medical records anywhere and anytime, security & privacy of health information records, and less wait in the waiting room.

    \r\n

    For pregnant women, kids, and physically challenged & aged patients, waiting in the waiting room for hours is a nightmare. More crowds in the waiting room cause mental trauma & fear of getting affected by airborne disease.

    \r\n

    To accommodate more patients in the waiting room simultaneously, hospitals and clinics require more resources like space, infrastructure, and more front office staff.

    \r\n

    When the Hospitals/Clinics don’t implement an Intelligent Queue technique in the future, it could cause a loss of customers altogether.

    \r\n

    Minimizing the wait in the waiting room might look small. Still, it is a very sensitive and meaningful improvement to the service at the Hospital/Clinic, which could build trust in the convenience of the hospital.

    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Improve patient satisfaction
    \r\n

    Improve the quality of
    service to boost Patient
    Satisfaction

    \r\n
    \r\n \r\n
    \r\n

    The patients expect a better experience and quality of service from their healthcare providers and hospitals/Clinics are striving to deliver eminence service at their facility. Failure to meet patients needs can lead to negative feedback and loss of business opportunities.

    \r\n

    Our KlinicQ Clinical Management System token & appointment scheduling function saves visitors and physicians time effectively customers by allowing them to check their token status at their own convenience on their mobile devices so that the visitors use their time efficiently rather than wait in the waiting room.

    \r\n

    Our Clinical Management System is designed based on understanding the customer’s needs, and best practices followed across most hospitals/Clinics, which helps your business create an opportunity to build a long-lasting relationship with the customers.

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

    No wait at waiting room

    \r\n
    Improve the quality of service to boost Patient Satisfaction
    \r\n
    \r\n \r\n
    \r\n

    As per the study, Human beings spend approximately six months of their lives waiting in queues, and waiting is one of the non-value-added activities that is more uncomfortable for any customer; no one would say I like to wait in the queue.

    \r\n

    With the traditional token system, hospitals could not provide accurate appointment times for each token. Visitors are frustrated that even though they have tokens, why should they physically wait in the waiting room for hours.

    \r\n

    KlinicQ’ s advanced token management system algorithm schedules a virtual queue and allocates the token number to the visitors so that visitors don’t have to physically wait in the waiting room.

    \r\n

    Social distancing is one of the best ways to minimize the spread of airborne disease, especially in the hospital/clinic waiting room; having more patients could potentially create an opportunity to spread the airborne disease.

    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    No wait at waiting room
    \r\n

    Improve Data Security

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

    Data is information obtained from various sources like demographic information, the number of consultations per day/ week/ month, visiting hours pattern, activity, and behavior.

    \r\n

    The famous quote by Peter Drucker, You can’t improve what you don’t measure.

    \r\n

    For any business, without performing analytics, the collected data is basically useless, and the business can’t be able to improve the process efficiency, productivity, performance & revenue.

    \r\n

    Analytical insights are incredibly effective and can be used to grow your business. Our Clinical Management System has been designed with various KPI reports and trends based on average waiting times, consulting time, clinical records, pharmacy & laboratory records, etc., to do analysis and improve it.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    No wait at waiting room
    \r\n

    Improve Data Security

    \r\n
    \r\n \r\n
    \r\n

    Our Clinical Management System is designed based on HIPAA guidelines. Personal identification information (PII) and Personal Health Information (PHI) are encrypted and stored in the database for data security, and they will not be shared with any third party. 

    \r\n

    Our Clinical Management System is designed based on HIPAA guidelines. Personal identification information (PII) and Personal Health Information (PHI) are encrypted and stored in the database for data security, and they will not be shared with any third party. 

    \r\n

    Our Clinical Management System has stringent access controls, and every registration record is verified by us and monitored to ensure the reliability of the data. Our technical team continuously follows intense technical protocols and vulnerability measures to provide secure service and protect customer data.

    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    No wait at waiting room
    \r\n

    Data Analytics & Insight

    \r\n
    \r\n \r\n
    \r\n

    Data is information obtained from various sources like demographic information, the number of consultations per day/ week/ month, visiting hours pattern, activity, and behavior.

    \r\n

    The famous quote by Peter Drucker, You can’t improve what you don’t measure.

    \r\n

    For any business, without performing analytics, the collected data is basically useless, and the business can’t be able to improve the process efficiency, productivity, performance & revenue.

    \r\n

    Analytical insights are incredibly effective and can be used to grow your business. Our Clinical Management System has been designed with various KPI reports and trends based on average waiting times, consulting time, clinical records, pharmacy & laboratory records, etc., to do analysis and improve it.

    \r\n\r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    No wait at waiting room
    \r\n

    Data Analytics & Insight

    \r\n
    \r\n \r\n
    \r\n

    Data is information obtained from various sources like demographic information, the number of consultations per day/ week/ month, visiting hours pattern, activity, and behavior.

    \r\n

    The famous quote by Peter Drucker, You can’t improve what you don’t measure.

    \r\n

    For any business, without performing analytics, the collected data is basically useless, and the business can’t be able to improve the process efficiency, productivity, performance & revenue.

    \r\n

    Analytical insights are incredibly effective and can be used to grow your business. Our Clinical Management System has been designed with various KPI reports and trends based on average waiting times, consulting time, clinical records, pharmacy & laboratory records, etc., to do analysis and improve it.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    No wait at waiting room
    \r\n

    Improve Sustainability

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

    KlinicQ application enhances the overall healthcare experience in a healthcare facility & it is easy to use and eliminates errors caused by handwriting and advanced e-prescribing clinical documentation capabilities.

    \r\n

    KlinicQ application records are stored in cloud servers, and it provides all data in a single platform to reduce the expenses of an organization because of less paperwork and improved safety.

    \r\n

    Patient care with a reduction in errors & elimination of duplication. Our solution is customizable and scalable electronic medical records that can grow with your medical practice.

    \r\n

    KlinicQ application can quickly transfer patient data from one system. It helps in the space-saving of a digital records environment, and it helps to reduce operational costs such as transcription services.

    \r\n
    \r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    No wait at waiting room
    \r\n

    Improve Sustainability

    \r\n
    \r\n \r\n
    \r\n

    KlinicQ application enhances the overall healthcare experience in a healthcare facility & it is easy to use and eliminates errors caused by handwriting and advanced e-prescribing clinical documentation capabilities.

    \r\n

    KlinicQ application records are stored in cloud servers, and it provides all data in a single platform to reduce the expenses of an organization because of less paperwork and improved safety.

    \r\n

    Patient care with a reduction in errors & elimination of duplication. Our solution is customizable and scalable electronic medical records that can grow with your medical practice.

    \r\n

    KlinicQ application can quickly transfer patient data from one system. It helps in the space-saving of a digital records environment, and it helps to reduce operational costs such as transcription services.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n componentDidMount = () => {\r\n /* console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { }); */\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(Benifits);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport QRCode from \"react-qr-code\";\r\n// import Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\n// import BusinessUserSideBar from \"../components/container/SideBar\";\r\n// import ClientSideBar from \"../components/container/layout/client/SideBar\";\r\n// import FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport Headerweb from './Headerweb';\r\nimport FooterWeb from './Footerweb';\r\n// import ProfileImage3 from './assets/images/profile3.png';\r\n// import myProfilePic from '../../../assets/images/profile3.png'; \r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass BookDemo extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n render() {\r\n const { hospitaltimeout } = this.state;\r\n return (\r\n
    \r\n\r\n
    \r\n {/*
    */}\r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    */}\r\n {/*
    */}\r\n
    \r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n
    \r\n \r\n
    \r\n

    Book Our Management

    \r\n {/*

    A Clinical Management System (CMS) is a software solution designed to streamline and enhance the administrative and clinical functions within healthcare facilities. It plays a crucial role in managing patient information, improving efficiency, ensuring regulatory compliance, and enhancing overall patient care. Here are some key components and features typically found in a Clinical Management System

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

    Why Select Our Hospitals For Small Busniess

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

    We know exactly what your Busniess needs right now

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    We know exactly what your Busniess needs right now

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Our Company is not just a Product - we Really inspire

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Book A DEMO

    \r\n

    Contact us today using this form and our support team will reach out as soon as possible.

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    Services

    \r\n Hospital Mangement
    \r\n Clinic Mangement
    \r\n User Mangement\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    By signing up, you accept our privacy policy. your contact information will only be used within Medesk and will never be shared with third parties.

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

    QR Code

    \r\n
    */}\r\n\r\n\r\n {/*
    */}\r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    Open the built-in camera app and point the camera at the QR Code Scanner for Check-in purposes.
    \r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/*
    \r\n \r\n
    */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n componentDidMount = () => {\r\n /* console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { }); */\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(BookDemo);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport QRCode from \"react-qr-code\";\r\n// import Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\n// import BusinessUserSideBar from \"../components/container/SideBar\";\r\n// import ClientSideBar from \"../components/container/layout/client/SideBar\";\r\n// import FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\n\r\nimport Headerweb from './Headerweb';\r\nimport FooterWeb from './Footerweb';\r\nimport Topmove from './Topmove';\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass PatientManagment extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n render() {\r\n const { hospitaltimeout } = this.state;\r\n return (\r\n
    \r\n\r\n
    \r\n {/*
    */}\r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    */}\r\n {/*
    */}\r\n
    \r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Patient Management
    System

    \r\n
    \r\n
    \r\n

    A Clincal Management System (CMS) is a software solution designed to streamline and enhance the administrative and clinical fuction within healthcare facilitites. It plays a crucial role in managing patient information,healthcare efficiency, ensuring regulatory compliance, and enchancing overall patient care.Here are some key components and features typically found in a Clincal Management System.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Increase\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    The patient portal is designed to manage primary and family members under the same account with unique ID for each member.Patient can access their health history,medical records, and dischrage summary and communicate with doctor and hospital anytime & anywhere. Patients Personal Identification Information (PII) and Patient Health Information (PHI) is encrypted as per HIPAA guideline for data privacy & security

    \r\n

    KlinicQ application Patient module allows booking, rescheduling, or canceling the appointment through mobile apps to reduce no-shows & also if a patient is running late, then the system automatically provides grace time and adjusts the schedule automatically to avoid waiting in the waiting room for long time again.\r\n

    \r\n

    Patients can search the hospital/Clinic in our network based on various search options like Specialty of the doctor, Hospital, Gender, City, and Distance between your location and hospital. Our KlinicQ application is integrated with Google Maps so that you can view the live waiting time data in all the hospitals near your surroundings and update you with the distance to the healthcare provider's location.

    \r\n

    For pregnant women, kids, physically challenged & aged patients, waiting in the waiting room for hours is a nightmare; more crowds in the waiting room cause mental trauma & fear of getting affected by airborne disease. KlinicQ application's Token management system algorithm allocates the appointment time for each token. Visitors could arrive at the hospital just before their appointment time and use their precious time outside the waiting room instead of waiting at the waiting room, which could increase the opportunity for social distancing, and it is one of the best ways to minimize the spread of airborne disease.\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Benefit\r\n
    \r\n
    \r\n \"Benefit\r\n
    \r\n
    \r\n \"Benefit\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n

    The KlinicQ application is user-friendly, easy to use, easy to check doctor availability with accurate wait time, and secured & confidential. KlinicQ application sends appointment confirmation texts and notifications about the follow-up appointment to the patients, reducing no-shows. 

    \r\n

    The KlinicQ application has the option of online consultation through video calling, so the patients not able to go to the Hospital/Clinic can book an appointment with the available doctor for online consultation. Patients can set their favorite healthcare providers for easier appointment booking.

    \r\n

    Patient's medical records like prescriptions, discharge summaries, and vital details of their previous consultation can also be scanned or uploaded the images of all their previous medical records digitally to access anytime when required & it helps the doctor to go through all reports to provide an effective treatment.

    \r\n

    The KlinicQ application has additional features like General health tips, BMI, and vital details, and also, the payment gateway is enabled for online payments, QR code easier, and touchless check-in process. KlinicQ mobile application ( IoS and Android apps) has five different language options - English, Tamil, Hindi, Telugu, and Kannada.

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n componentDidMount = () => {\r\n /* console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { }); */\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(PatientManagment);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport QRCode from \"react-qr-code\";\r\n// import Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\n// import BusinessUserSideBar from \"../components/container/SideBar\";\r\n// import ClientSideBar from \"../components/container/layout/client/SideBar\";\r\n// import FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\n\r\nimport Headerweb from './Headerweb';\r\nimport FooterWeb from './Footerweb';\r\nimport Topmove from './Topmove';\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass HospitalManagment extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n render() {\r\n const { hospitaltimeout } = this.state;\r\n return (\r\n
    \r\n\r\n
    \r\n {/*
    */}\r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    */}\r\n {/*
    */}\r\n
    \r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Hospital & Clinical
    Management System

    \r\n
    \r\n
    \r\n

    A Clinical Management System (CMS) is a software solution designed to streamline and enhance the administrative and clinical functions within healthcare facilities. It plays a crucial role in managing patient information, improving efficiency, ensuring regulatory compliance, and enhancing overall patient care. Here are some key components and features typically found in a Clinical Management System

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Increase\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    The hospital portal is designed to manage multi-specialty and different consultation modes (Token Management System, Appointment Management System & Tele-consultation). Each hospital is registered with a unique location ID, which shows the hospital/clinic in the GoogleMaps view with the wait time based on the specialization. Also, the dashboard displays the travel distance between the visitor location and the hospital travel time to the hospital to arrive at the clinic on time to avoid no-shows.

    \r\n

    KlinicQ' s advanced token management system algorithm schedules a virtual queue and allocates the token number to the visitors so that visitors don't have to wait in the waiting room physically. \r\n

    \r\n

    The KlinicQ token management system keeps track of each visitor's token position in a queue and updates the hospital and visitors on the progress. Clinics can operate with minimal resources and less space due to sequenced line, and, patients can use their time effectively instead of wait at the waiting room, and there is no need to have a larger area and the infrastructure at the Clinic waiting room.

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Benefit\r\n
    \r\n
    \r\n \"Benefit\r\n
    \r\n
    \r\n \"Benefit\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n

    KlinicQ Clinical Management System fills the appointment schedule automatically without any manual intervention, and it handles appointment cancellation, allocates grace time for patients who arrive to their appointment late, and calculates the schedule based on the doctor's arrival time at the hospital so that minimal staff should be enough to manage the operations. 

    \r\n

    As the KlinicQ Token management algorithm allocates the appointment time for each token, visitors could arrive at the hospital before their appointment time, which could limit the number of visitors in the waiting room.

    \r\n

    The KlinicQ' s algorithm has been developed to perform line balancing to schedule the workload based on the doctor's availability maintained in the shift planner, which could help optimize the schedule effectively. It simplifies the check-in process at the front desk. It digitally keeps the visitor's records, patient's discharge summary, medicine details, and clinic staff details so that clinic front office staff can focus on their work as patients join the virtual queue. It improves productivity and Operational efficiency.

    \r\n

    Patient's medical records like prescriptions, discharge summaries, and vital details of their previous consultation can also be scanned or uploaded the images of all their previous medical records digitally to access anytime when required & it helps the doctor to go through all reports to provide an effective treatment.

    \r\n

    The KlinicQ application has additional features like General health tips, BMI, and vital details, and also, the payment gateway is enabled for online payments, QR code easier, and touchless check-in process. KlinicQ mobile application ( IoS and Android apps) has five different language options - English, Tamil, Hindi, Telugu, and Kannada.

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n componentDidMount = () => {\r\n /* console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { }); */\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(HospitalManagment);","import React, { Component } from 'react';\r\nimport OwlCarousel from 'react-owl-carousel';\r\nimport 'owl.carousel/dist/assets/owl.carousel.css';\r\nimport 'owl.carousel/dist/assets/owl.theme.default.css';\r\n\r\n// image path \r\nimport issue1 from '../assets/images/website/Hospitalslide1.png';\r\nimport issue2 from '../assets/images/website/Hospitalslide2.png';\r\nimport issue3 from '../assets/images/website/Hospitalslide3.png';\r\n\r\nclass WebdoctorSlider extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.logos = [\r\n { 'image': issue1, 'name': 'Patient discharge summary' },\r\n { 'image': issue2, 'name': 'Medicine list' },\r\n { 'image': issue3, 'name': 'Patient List' },\r\n { 'image': issue1, 'name': 'Patient Visit trend' },\r\n { 'image': issue1, 'name': 'Pharmacy List' },\r\n { 'image': issue1, 'name': 'Facility List' },\r\n { 'image': issue1, 'name': 'Patient discharge summary' },\r\n ];\r\n\r\n this.owlOptions = {\r\n items: 6,\r\n autoplay: true,\r\n autoplayTimeout: 1000,\r\n loop: true,\r\n margin: 10,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 300: {\r\n items: 1,\r\n },\r\n 600: {\r\n items: 3,\r\n },\r\n 1000: {\r\n items: 6,\r\n },\r\n },\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n

    \r\n The KlinicQ Clinical Management System
    developed with reporting capabilities to allow
    the download of the report to Microsoft Excel\r\n

    \r\n \r\n {this.logos.map((logo, index) => (\r\n
    \r\n
    \r\n {logo.name}\r\n
    \r\n

    {logo.name}

    {/* Use a CSS class for styling */}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default WebdoctorSlider;","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport QRCode from \"react-qr-code\";\r\n// import Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\n// import BusinessUserSideBar from \"../components/container/SideBar\";\r\n// import ClientSideBar from \"../components/container/layout/client/SideBar\";\r\n// import FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\n\r\nimport Headerweb from './Headerweb';\r\nimport FooterWeb from './Footerweb';\r\nimport Topmove from './Topmove';\r\nimport WebdoctorSlider from './WebdoctorSlider';\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass DoctorManagment extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n render() {\r\n const { hospitaltimeout } = this.state;\r\n return (\r\n
    \r\n\r\n
    \r\n {/*
    */}\r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    */}\r\n {/*
    */}\r\n
    \r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Doctor Management
    System

    \r\n
    \r\n
    \r\n

    A Clinical Management System (CMS) is a software solution designed to streamline and enhance the administrative and clinical functions within healthcare facilities. It plays a crucial role in managing patient information, improving efficiency, ensuring regulatory compliance, and enhancing overall patient care. Here are some key components and features typically found in a Clinical Management System

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Increase\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    A doctor portal is designed based on the physician's specialty and can work for any specialization. It contains information about their education qualification, specialization area, physicians associated with the hospital, and the working hours and consultation mode (Token Management System, Appointment Management System & Tele-consultation)

    \r\n

    Our Clinical Management System is designed to manage the physician schedule based on availability, as the KlinicQ application is a cloud-based solution (AWS - amazon web services) so that physicians can access the data allocated to the hospital from anywhere.\r\n

    \r\n

    As the consultation time varies for each patient, the KlinicQ application's token management system considers the takt time for calculating appointment time instead of the cycle time. Each hospital/Clinic can set its cycle time in the dashboard based on specialty and previous consultation history.

    \r\n

    Clinical Management System is an integrated application. Physicians can send follow-up actions, instructions to the nurses and admin staff, and prescriptions to the pharmacy directly. Bi-directional communication is enabled between the laboratory and hospital for sending requests and getting the lab results. Also, follow-up appointment reminders can be sent to the patients, enhancing customer engagement. 

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Benefit\r\n
    \r\n
    \r\n \"Benefit\r\n
    \r\n
    \r\n \"Benefit\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n

    Analytical insights are extremely effective and can be used to grow your business. Our Clinical Management System has been designed with various KPI reports and trends based on average waiting times, consulting time, clinical records, pharmacy & laboratory records, etc., to do analysis and improve it. The analytics can help to optimize the business process to make critical decisions.

    \r\n

    As the consultation time varies for each patient, the KlinicQ application's token management system considers the takt time for calculating appointment time instead of the cycle time. Each hospital/Clinic can set its cycle time in the dashboard based on specialty and previous consultation history.

    \r\n

    KlinicQ application works with walk-in appointments, mobile app check-in & teleconsultation. The application can send referrals to other physicians and the prescription to the selected pharmacy. Hospitals/Clinics can add their pharmacy/ laboratory associated with them to send the prescription directly.

    \r\n

    In the Check-in process, the staff could update the patient's vital details, the reason for the visit, and medical condition; then, the physician can review the details for each patient, and it is easy to update the diagnosis details with few clicks. The KlinicQ application database has thousands of medicines for physicians to prescribe easily. Also, the clinic can add their specific medicine records with simple drug IDs for easy selection.

    \r\n

    Patients can view their medical records, previous prescriptions, discharge summaries, and vital details of their consultation history digitally. Physicians can send follow-up reminders to patients for upcoming visits, and the payment gateway is enabled for online payments.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n componentDidMount = () => {\r\n /* console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { }); */\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(DoctorManagment);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport QRCode from \"react-qr-code\";\r\n// import Header from \"../components/container/layout/client/Header\";\r\nimport BusinessHeader from \"../components/container/layout/business/Header\";\r\nimport BusinessUserHeader from \"../components/container/layout/business_user/Header\";\r\n// import BusinessUserSideBar from \"../components/container/SideBar\";\r\n// import ClientSideBar from \"../components/container/layout/client/SideBar\";\r\n// import FooterSection from \"../components/UI/FooterSection\";\r\nimport Footerad from '../components/UI/Footerad';\r\nimport axios from \"axios\";\r\nimport { CONFIG } from \"../config/data\";\r\n\r\nimport { getTimeoutbycategory } from \"../config/url.json\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport Headerweb from './Headerweb';\r\nimport FooterWeb from './Footerweb';\r\nimport Topmove from './Topmove';\r\n// import ProfileImage3 from './assets/images/profile3.png';\r\n// import myProfilePic from '../../../assets/images/profile3.png'; \r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\n\r\nclass ListOfService extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.state = {\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n }\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n \r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n render() {\r\n const { hospitaltimeout } = this.state;\r\n return (\r\n
    \r\n\r\n
    \r\n {/*
    */}\r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    */}\r\n {/*
    */}\r\n
    \r\n {/*
    \r\n {this.props.userdata.user_type.toLowerCase() === \"hospital\" ? (\r\n \r\n ) : this.props.userdata.user_type.toLowerCase() === \"doctor\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n\r\n {/* { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} /> */}\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    List of service

    \r\n \r\n
    \r\n
    \r\n

    Clinical Management System (CMS) is a software solution designed to streamline and enhance the administrative and clinical functions within healthcare facilities. It plays a crucial role in managing patient information, improving efficiency, ensuring regulatory compliance, and enhancing overall patient care. Here are some key components and features typically found in a Clinical Management System

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Increase\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/* New Section for Three Images with Text */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n

    Patient

    \r\n
    \r\n
    \r\n

    The patient portal is designed to manage primary & family members under the same account with a unique ID for each member.

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

    Doctor

    \r\n
    \r\n
    \r\n

    A doctor portal is designed based on the physician's specialty and can work for any specialization.

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

    Hospital

    \r\n
    \r\n
    \r\n

    A hospital portal is designed to manage multi-specialty and different consultation modes.

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

    Patient

    \r\n
    \r\n
    \r\n

    The patient portal is designed to manage primary & family members under the same account with a unique ID for each member.

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

    Doctor

    \r\n
    \r\n
    \r\n

    A doctor portal is designed based on the physician's specialty and can work for any specialization.

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

    Hospital

    \r\n
    \r\n
    \r\n

    A hospital portal is designed to manage multi-specialty and different consultation modes.

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

    Patient

    \r\n
    \r\n
    \r\n

    The patient portal is designed to manage primary & family members under the same account with a unique ID for each member.

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

    Doctor

    \r\n
    \r\n
    \r\n

    A doctor portal is designed based on the physician's specialty and can work for any specialization.

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

    Hospital

    \r\n
    \r\n
    \r\n

    A hospital portal is designed to manage multi-specialty and different consultation modes.

    \r\n
    \r\n
    \r\n
    \r\n {/*
    */}\r\n {/* */}\r\n {/* */}\r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/* Add your existing content here... */}\r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n

    QR Code

    \r\n
    */}\r\n\r\n\r\n {/*
    */}\r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    Open the built-in camera app and point the camera at the QR Code Scanner for Check-in purposes.
    \r\n\r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/* */}\r\n {/*
    \r\n \r\n */}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n componentDidMount = () => {\r\n /* console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { }); */\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps, mapDispatchToProps\r\n)(ListOfService);","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport moment from \"moment\";\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n\r\n getAllPharmacyVendorList,\r\n getAllUniquePurchaseEnryList,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n searchEmployee,\r\n searchPurchaseEntries,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n deletePurchaseByVouchernumber,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n drug_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n manu_date: \"\",\r\n exp_date: \"\",\r\n quantity: \"\",\r\n free: \"\",\r\n p_rate: \"\",\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n\r\n};\r\nclass PurchaseRegister extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n reportList: [],\r\n records: [],\r\n addPopup: false,\r\n updatePopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n selectedRecord: null,\r\n purchaseRegister:\r\n {\r\n FromDate: \"\",\r\n ToDate: \"\",\r\n vendor_name: \"\",\r\n vendorinvoice_no: \"\",\r\n voucher_date: \"\"\r\n },\r\n\r\n\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n voucher_no: \"\",\r\n voucher_date: \"\",\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n poref_no: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"voucher_no\",\r\n text: \"Voucher No\",\r\n className: \"voucher_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"voucher_date\",\r\n text: \"Voucher Date\",\r\n className: \"voucher_date\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n cell: (record) => {\r\n return moment(record.voucher_date).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n\r\n {\r\n key: \"vendor_name\",\r\n text: \"Vendor Name\",\r\n className: \"vendor_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n /* {\r\n key: \"drug_name\",\r\n text: \"Drug Name\",\r\n className: \"drug_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n }, */\r\n {\r\n key: \"vendorinvoice_no\",\r\n text: \"Invoice.no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '10px',\r\n },\r\n /* {\r\n key: \"sub_total\",\r\n text: \"Sub Total\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"disc\",\r\n text: \"Discount\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n \r\n }, */\r\n /* {\r\n key: \"igst\",\r\n text: \"GST Amount\",\r\n className: \"igst\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n \r\n }, */\r\n /* {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n }, */\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: '20px',\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n this.viewRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.onDeleteClick(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\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.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n
    \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n
    \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: true,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchcolumns = [\r\n\r\n {\r\n key: \"pharmacy_id\",\r\n text: \"Pharmacy ID\",\r\n className: \"searchpharmacy_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Address\",\r\n className: \"pharmacy_location\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData, errors });\r\n };\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n /* \r\n handleInput =(index,record) => {\r\n console.log(e);\r\n console.log(index);\r\n console.log(record);\r\n record[e.target.name] = e.target.value;\r\n }; */\r\n handleInput = (e) => {\r\n let data = this.state.purchaseRegister;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n name === \"vendor_name\" ||\r\n name === \"vendorinvoice_no\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ purchaseRegister: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n /* handleInput = (index, field) => (event) => {\r\n const { value } = event.target;\r\n const records = [...this.state.records]; // Create a copy of the records\r\n records[index][field] = value; // Update the specific field for the specific index\r\n // console.log(value);\r\n // console.log(index,field);\r\n console.log(records);\r\n this.setState({ records }); // Update the state with the new records\r\n }; */\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n purchaseEntryData: {\r\n ...prevState.purchaseEntryData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n handleInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n });\r\n };\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].sub_total = quantity * (p_rate - ((disc / 100) * p_rate));\r\n\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateTotal(index);\r\n this.calculateDiscountAmount(index);\r\n this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n });\r\n };\r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let igst = updatedData[index].igst || 0;\r\n updatedData[index].total = sub_total + ((igst / 100) * sub_total);\r\n console.log(igst);\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = ((quantity * p_rate) * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n handleFromDOBChange = (date) => {\r\n let purchaseregister = this.state.purchaseRegister;\r\n let errors = this.state.errors;\r\n\r\n\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n purchaseregister.FromDate = offsetDate;\r\n\r\n this.setState({ purchaseregister: purchaseregister, errors: errors, FromDate: offsetDate });\r\n };\r\n handleToDOBChange = (date) => {\r\n let purchaseregister = this.state.purchaseRegister;\r\n let errors = this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n purchaseregister.ToDate = offsetDate;\r\n //errors.Todate=\"\";\r\n this.setState({ purchaseregister: purchaseregister, errors: errors, ToDate: offsetDate });\r\n };\r\n\r\n\r\n\r\n\r\n clearErrors = (errors) => {\r\n\r\n\r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no = \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n\r\n let data = this.state.purchaseEntryData;\r\n\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n purchaseEntryData: data, actions: \"add\", voucher_no: \"\", errors: errors, searchErrorMessage: \"\", records: [],\r\n search_action: false,\r\n totalAmtSec: {\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n\r\n },\r\n\r\n });\r\n }\r\n\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let igstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n if (data.igstAmt !== undefined) {\r\n igstAmt += Number(data.igstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.igstAmt = igstAmt;\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n\r\n editRecord(record) {\r\n console.log(record);// return false;\r\n /* let purchaseRegister = this.state.purchaseRegister;\r\n purchaseRegister.vendor_name = record.vendor_name;\r\n purchaseRegister.voucher_no = record.voucher_no;\r\n purchaseRegister.voucher_date = record.voucher_date;\r\n purchaseRegister.voucher_date = moment(record.voucher_date).toDate();\r\n purchaseRegister.vendorinvoice_no = record.vendorinvoice_no;\r\n purchaseRegister.sub_total = record.sub_total;\r\n purchaseRegister.total = record.total;\r\n purchaseRegister.disc = record.disc;\r\n purchaseRegister.user_id=this.props.userdata.id;\r\n console.log(purchaseRegister);\r\n \r\n this.setState({\r\n editRecord: record,\r\n purchaseRegister: purchaseRegister,\r\n actions: \"edit\",\r\n }); */\r\n\r\n this.props.history.push({\r\n pathname: \"/viewpurchaseentryvoucher/\" + record.voucher_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/viewpurchaseentryvoucher/\" + record.voucher_no,\r\n state: {\r\n vendor_name: record.vendor_name,\r\n voucher_no: record.voucher_no,\r\n voucher_date: record.voucher_date,\r\n vendorinvoice_no: record.vendorinvoice_no,\r\n poref_no: record.poref_no,\r\n address: record.address,\r\n created_by: record.created_by,\r\n remarks: record.remarks,\r\n invoice_date: record.invoice_date,\r\n }\r\n });\r\n\r\n }\r\n\r\n viewRecord(record) {\r\n this.props.history.push({\r\n pathname: \"/viewpurchaseentryvoucher/\" + record.voucher_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/viewpurchaseentryvoucher/\" + record.voucher_no,\r\n state: {\r\n vendor_name: record.vendor_name,\r\n voucher_no: record.voucher_no,\r\n voucher_date: record.voucher_date,\r\n vendorinvoice_no: record.vendorinvoice_no,\r\n poref_no: record.poref_no,\r\n address: record.address,\r\n created_by: record.created_by,\r\n remarks: record.remarks,\r\n invoice_date: record.invoice_date,\r\n view_page: true\r\n }\r\n });\r\n\r\n }\r\n refreshData = () => {\r\n\r\n let purchaseRegister = this.state.purchaseRegister;\r\n purchaseRegister = { FromDate: \"\", ToDate: \"\", vendorinvoice_no: \"\", vendor_name: \"\", errors: \"\" };\r\n this.setState({\r\n purchaseRegister: purchaseRegister\r\n });\r\n\r\n this.getAllPurchaseEntryList(this.props.userdata.id);\r\n\r\n\r\n };\r\n\r\n getAllPurchaseEntryList = (user_id) => {\r\n\r\n if (user_id !== \"\") {\r\n let reqdata = {\r\n user_id: this.props.userdata.id\r\n\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllUniquePurchaseEnryList, reqdata, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.voucher_no = element.voucher_no;\r\n purchaseData.voucher_date = element.voucher_date;\r\n purchaseData.vendorinvoice_no = element.vendorinvoice_no;\r\n purchaseData.vendor_name = element.vendor_name;\r\n purchaseData.address = element.address;\r\n purchaseData.remarks = element.remarks;\r\n purchaseData.created_by = element.created_by;\r\n purchaseData.invoice_date = element.invoice_date;\r\n purchaseData.drug_name = element.drug_name;\r\n purchaseData.disc = element.disc;\r\n purchaseData.sub_total = element.sub_total;\r\n purchaseData.total = element.total;\r\n DataArr[index] = purchaseData;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n\r\n\r\n }\r\n }\r\n\r\n searchpurchaseRegister() {\r\n let purchaseRegister = this.state.purchaseRegister;\r\n\r\n let data = {};\r\n let errors = this.state;\r\n data.vendor_name = purchaseRegister.vendor_name ? purchaseRegister.vendor_name.label : \"\";\r\n data.FromDate = purchaseRegister.FromDate;\r\n data.ToDate = purchaseRegister.ToDate;\r\n data.vendorinvoice_no = purchaseRegister.vendorinvoice_no;\r\n data.user_id = this.props.userdata.id;\r\n\r\n\r\n\r\n console.log(data);\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n console.log(data);\r\n axios.post(searchPurchaseEntries, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data.data;\r\n console.log(result);\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n\r\n console.log(records);\r\n let reportList = [];\r\n records.forEach((element, index) => {\r\n let report = {};\r\n report.s_no = index + 1;\r\n report.voucher_no = element.voucher_no;\r\n report.voucher_date = element.voucher_date;\r\n report.vendorinvoice_no = element.vendorinvoice_no;\r\n report.vendor_name = element.vendor_name;\r\n report.drug_name = element.drug_name;\r\n report.disc = element.disc;\r\n report.sub_total = element.sub_total;\r\n report.total = element.total;\r\n reportList[index] = report;\r\n });\r\n this.setState({ reportList: reportList, search_action: true });\r\n } else {\r\n this.setState({ reportList: [], search_action: true });\r\n }\r\n });\r\n });\r\n // }\r\n }\r\n\r\n\r\n addpurchase() {\r\n document.location.href = \"/purchaseentryvoucher\";\r\n }\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n componentDidMount = () => {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n\r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n\r\n }));\r\n\r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n });\r\n\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllUniquePurchaseEnryList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.voucher_no = element.voucher_no;\r\n purchaseData.voucher_date = element.voucher_date;\r\n purchaseData.vendorinvoice_no = element.vendorinvoice_no;\r\n purchaseData.vendor_name = element.vendor_name;\r\n purchaseData.poref_no = element.poref_no;\r\n purchaseData.address = element.address;\r\n purchaseData.remarks = element.remarks;\r\n purchaseData.created_by = element.created_by;\r\n purchaseData.invoice_date = element.invoice_date;\r\n purchaseData.drug_name = element.drug_name;\r\n purchaseData.disc = element.disc;\r\n purchaseData.sub_total = element.sub_total;\r\n purchaseData.total = element.total;\r\n DataArr[index] = purchaseData;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n\r\n };\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, selectedRecord: record });\r\n\r\n }\r\n\r\n handleDeleteVoucher = (record) => {\r\n console.log(record);\r\n const { voucher_date } = record;\r\n const currentDate = new Date();\r\n const voucherDate = new Date(voucher_date);\r\n console.log(record.voucher_date);\r\n // Calculate the difference in days\r\n // const timeDiff = Math.abs(currentDate.getTime() - voucherDate.getTime()); \r\n // const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); \r\n // Check if the voucher date is within 30 days or within the current month \r\n if (voucherDate.getMonth() !== currentDate.getMonth()) {\r\n this.setState({ updatePopup: true });\r\n return;\r\n }\r\n // Proceed with the update if validation passes \r\n this.deleteRecord(record);\r\n };\r\n deleteRecord(record) {\r\n\r\n let userId = record.id;\r\n let voucher_no = record.voucher_no;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(deletePurchaseByVouchernumber, { voucher_no: voucher_no }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Purchase has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n }\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n \r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug,{user_id:this.props.userdata.id,drug_name:selectedOption.label}, CONFIG)\r\n .then((drugRespons) => {\r\n let ItemList = drugRespons.data.data;\r\n \r\n ItemList.forEach((element, index) => {\r\n ItemList.push({\r\n \r\n pack:element.pack,\r\n cgst: element.cgst,\r\n sgst:element.sgst,\r\n igst:element.igst\r\n \r\n });\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"s_no\", record.s_no);\r\n if (null != record) {\r\n \r\n records[recIndex].pack = element.unit_of_measure;\r\n records[recIndex].cgst = element.cgst + \" %\";\r\n records[recIndex].gst_amount =\r\n (record.tax_percentage / 100) * record.amount;\r\n records[recIndex].total_amount =\r\n Number(records[recIndex].fee) +\r\n Number(records[recIndex].gst_amount);\r\n } else {\r\n \r\n records[recIndex].fee = \"\";\r\n records[recIndex].gst_rate = \"\";\r\n records[recIndex].gst_amount = \"\";\r\n records[recIndex].total_amount = \"\";\r\n }\r\n \r\n console.log(recIndex);\r\n console.log(records.length - 1);\r\n if (recIndex === records.length - 1) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = records.length + 1;\r\n records.push(default_rec);\r\n }\r\n \r\n });\r\n \r\n })\r\n \r\n \r\n \r\n \r\n \r\n \r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getPharmacyShortDetail,{user_id:this.props.userdata.id}, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n \r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value:data.state\r\n \r\n });\r\n }).catch((e) => { });\r\n \r\n \r\n // Post request to fetch item details\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total:updatedData[index].quantity*(updatedData[index].p_rate-(updatedData[index].disc*updatedData[index].p_rate)),\r\n // gst_amount: (updatedData[index].tax_percentage / 100) * updatedData[index].amount,\r\n // total_amount: Number(updatedData[index].fee) + Number(updatedData[index].gst_amount)\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n \r\n if (response.data.status == \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(this.state.gst_state);\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total: updatedData[index].quantity * (updatedData[index].p_rate - (updatedData[index].disc * updatedData[index].p_rate)),\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n }; */\r\n\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n\r\n fetchItemDetails = (index, selectedOption) => {\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data again\r\n let updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst : \"\",\r\n igst: this.state.State_value !== this.state.gst_state ? item.igst : \"\",\r\n sub_total: updatedData[index].quantity * updatedData[index].p_rate,\r\n };\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n console.log(updatedData[index].quantity);\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n\r\n }\r\n this.setState({ record }, () => {\r\n this.calculateSection();\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n };\r\n\r\n\r\n\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.purchaseRegister;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ purchaseRegister: data, errors: errors });\r\n }\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n\r\n\r\n handlevendorselectChange = async (selectedOptions, e) => {\r\n let data = this.state.purchaseRegister;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n\r\n this.setState({ purchaseRegister: data, errors, searchErrorMessage: \"\" });\r\n\r\n /* axios\r\n .post(getgststatebyVendorname,{user_id:this.props.userdata.id,vendor_name:selectedOptions.label}, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data=resdata.data[0];\r\n console.log(resdata.status);\r\n \r\n if (resdata.status == \"1\") \r\n {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state); }); }\r\n \r\n }).catch((e) => { }); */\r\n\r\n }\r\n PopupConfirm = () => {\r\n this.handleDeleteVoucher(this.state.selectedRecord);\r\n this.setState({ addPopup: false, selectedRecord: null });\r\n };\r\n render() {\r\n\r\n let PopupClose = () => this.setState({ addPopup: false, selectedRecord: null, updatePopup: false });\r\n // let PopupConfirm = () => this.handleDeleteVoucher(record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n const { purchaseRegister, records, errors, formSuccess, tableSuccess, hospitaltimeout, mastervendorNames, gst_state, State_value, searchErrorMessage, searchTableSuccess, loading } = this.state;\r\n return (\r\n\r\n
    \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Purchase Register

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Purchase Register\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleFromDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n
    \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.handleToDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n
    \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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n /> */}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    )}\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(PurchaseRegister));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getPharmacyList,\r\n getAllPharmacyDrugs,\r\n getAllPharmacyItemList,\r\n getAllPharmacyVendorList,\r\n addPharmacy,\r\n addVendor,\r\n addPurchaseEntryData,\r\n updatePurchaseEntryData,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n getAllPurchaseEntryDataByVoucherNumber,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet newRecord = {\r\n s_no: \"\",\r\n generic_name:\"\",\r\n pack:\"\",\r\n batch_no:\"\",\r\n manu_date:\"\",\r\n exp_date:\"\",\r\n quantity:\"\",\r\n free: \"\",\r\n p_rate:\"\",\r\n mrp:\"\",\r\n disc: \"\",\r\n sub_total:0,\r\n cgst: \"\",\r\n sgst:\"\",\r\n igst:\"\",\r\n total:0,\r\n \r\n };\r\nclass ViewPurchaseEntryVoucher extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n updatePopup:false,\r\n records: [],\r\n mastervendorNames: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n purchaseEntryVoucher:{\r\n generic_name:\"\",\r\n // defaultEnterSize: 20,\r\n records: [],\r\n supplies: [],\r\n },\r\n purchaseEntryData: { },\r\n purchaseEntryData:\r\n {\r\n vendor_name:this.props.location.state.vendor_name,\r\n address:this.props.location.state.address || '', \r\n created_by:this.props.location.state.created_by || '',\r\n remarks:this.props.location.state.remarks || '',\r\n voucher_no:this.props.location.state.voucher_no || '',\r\n voucher_date:this.props.location.state.voucher_date || '',\r\n vendorinvoice_no: this.props.location.state.vendorinvoice_no || '', \r\n invoice_date:this.props.location.state.invoice_date || '',\r\n poref_no:this.props.location.state.poref_no || ''\r\n\r\n },\r\n \r\n totalAmtSec: {\r\n\r\n discAmt: 0, \r\n cgstAmt: 0, \r\n sgstAmt: 0, \r\n igstAmt: 0, \r\n total: 0,\r\n sub_total:0,\r\n totalAmtWords: \"\",\r\n },\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name:\"\",\r\n address:\"\",\r\n created_by:\"\",\r\n remarks:\"\",\r\n voucher_no:\"\",\r\n voucher_date:\"\",\r\n vendorinvoice_no:\"\",\r\n invoice_date:\"\",\r\n poref_no:\"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '450px',\r\n cell: (row, index) => {\r\n let obj = {\r\n label: row.generic_name,\r\n value: row.generic_name,\r\n };\r\n return (\r\n option.value === row.generic_name) || obj}\r\n onChange={this.handleselectChange(index, 'generic_name')}\r\n options={this.state.supplies}\r\n />\r\n );\r\n },\r\n },\r\n \r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => row.pack \r\n },\r\n \r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width:'200px',\r\n cell: (row,index) => {\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 key: \"manu_date\",\r\n text: \"Mfg.Date\",\r\n className: \"manu_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n }, \r\n {\r\n key: \"exp_date\",\r\n text:\"Exp. Date\",\r\n className: \"exp_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width:'200px',\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"free\",\r\n text: \"Free\",\r\n className: \"free\",\r\n align: \"left\",\r\n sortable: true,\r\n width:200,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"p_rate\",\r\n text: \"P.Rate\",\r\n className: \"p_rate\",\r\n align: \"left\",\r\n sortable: true,\r\n width:200,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n \r\n },\r\n {\r\n key: \"disc\",\r\n text: \"Disc%\",\r\n className: \"disc\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n \r\n },\r\n {\r\n key: \"sub_total\",\r\n text: \"Sub Total\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => { // Ensure sub_total is a number \r\n const subTotal = parseFloat(row.sub_total) || 0; \r\n return subTotal.toFixed(2); \r\n }\r\n },\r\n \r\n {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.cgst \r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.sgst \r\n },\r\n {\r\n key: \"igst\",\r\n text: \"IGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.igst \r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n right: true,\r\n width:200,\r\n cell: (row, index) => { // Ensure sub_total is a number \r\n const Total = parseFloat(row.total) || 0; \r\n return Total.toFixed(2); \r\n }\r\n },\r\n ];\r\n this.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n
    \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n
    \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchcolumns = [\r\n \r\n {\r\n key: \"pharmacy_id\",\r\n text: \"Pharmacy ID\",\r\n className: \"searchpharmacy_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Address\",\r\n className: \"pharmacy_location\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n \r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors=this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number=\"\";\r\n this.setState({ pharmacyData,errors });\r\n };\r\n \r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n \r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n \r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n \r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n/* \r\n handleInput =(index,record) => {\r\n console.log(e);\r\n console.log(index);\r\n console.log(record);\r\n record[e.target.name] = e.target.value;\r\n }; */\r\n\r\n handleAdd = (e) => {\r\n let data = this.state.purchaseEntryData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n \r\n name === \"vendor_name\" ||\r\n name === \"address\" ||\r\n name === \"created_by\"||\r\n name === \"remarks\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ purchaseEntryData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n\r\n handleInput = (index, field) => (event) => {\r\n const { value } = event.target;\r\n const records = [...this.state.records]; // Create a copy of the records\r\n records[index][field] = value; // Update the specific field for the specific index\r\n // console.log(value);\r\n // console.log(index,field);\r\n console.log(records);\r\n this.setState({ records }); // Update the state with the new records\r\n };\r\n\r\n handleDateChange = (date, field) => {\r\n if (!date || !(date instanceof Date) || isNaN(date.getTime())) {\r\n console.error(\"Invalid date provided:\", date);\r\n return; // Early exit if the date is invalid\r\n }\r\n\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n purchaseEntryData: {\r\n ...prevState.purchaseEntryData,\r\n [field]: offsetDate,\r\n },\r\n }));\r\n};\r\n handleDateChange = (date) => {\r\n let errors = this.state.errors;\r\n let purchaseEntryData = this.state.purchaseEntryData;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n purchaseEntryData.invoice_date = offsetDate;\r\n this.setState({ purchaseEntryData: purchaseEntryData });\r\n errors.invoice_date=\"\";\r\n this.setState({ errors });\r\n };\r\n handleInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n });\r\n};\r\n\r\ncalculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc= updatedData[index].disc;\r\n updatedData[index].sub_total = quantity*(p_rate-((disc/100)*p_rate));\r\n \r\n this.setState({ records: updatedData }, () => {\r\n \r\n this.calculateTotal(index);\r\n this.calculateDiscountAmount(index);\r\n this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n });\r\n};\r\n\r\ncalculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let igst = updatedData[index].igst || 0;\r\n updatedData[index].total = sub_total+((igst/100)*sub_total);\r\n console.log(igst);\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n });\r\n};\r\n\r\ncalculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc= updatedData[index].disc;\r\n updatedData[index].discAmt=((quantity*p_rate)*(disc/100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n};\r\ncalculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst= updatedData[index].cgst;\r\n let sub_total=updatedData[index].sub_total;\r\n updatedData[index].cgstAmt=(sub_total*(cgst/100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n};\r\ncalculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst= updatedData[index].sgst;\r\n let sub_total=updatedData[index].sub_total;\r\n updatedData[index].sgstAmt=(sub_total*(sgst/100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n};\r\ncalculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst= updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total=updatedData[index].sub_total;\r\n updatedData[index].igstAmt=(sub_total*(igst/100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n};\r\n\r\ncalculateAllIgstAmounts = () => { \r\n let records = [...this.state.records];\r\n records.forEach((record, index) => \r\n { \r\n record.igstAmt = record.sub_total * (record.igst/100);\r\n })\r\n this.setState({ records: records }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n };\r\n calculateAllDiscountAmounts = () => {\r\n let records = [...this.state.records];\r\n /* let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc= updatedData[index].disc; */\r\n records.forEach((record, index) => \r\n { \r\n record.discAmt = (record.quantity*record.p_rate)*(record.disc/100);\r\n })\r\n \r\n this.setState({ records: records }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n };\r\n\r\n\r\nhandleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value=event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n \r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n\r\n\r\n\r\n\r\n UpdateColumnChange = (record) => {\r\n \r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n \r\n records[recIndex].pharmacy_id = record.pharmacy_id?record.pharmacy_id:\"\";\r\n records[recIndex].pharmacy_name = record.pharmacy_name;\r\n records[recIndex].pharmacy_location = record.pharmacy_location;\r\n records[recIndex].address = record.address;\r\n records[recIndex].city = record.city;\r\n records[recIndex].country = record.country;\r\n records[recIndex].state = record.state;\r\n records[recIndex].zip_code = record.zip_code;\r\n // records[recIndex].phone_number = record.phone_number;\r\n \r\n this.setState({ records: records });\r\n }\r\n \r\n clearErrors = (errors) => {\r\n\r\n \r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no= \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n \r\n let data = this.state.purchaseEntryData;\r\n \r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label:\"\",value:\"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n \r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ purchaseEntryData: data, actions: \"add\",voucher_no:\"\", errors: errors, searchErrorMessage: \"\", records: [], \r\n search_action: false, \r\n totalAmtSec: { \r\n discAmt: 0, \r\n cgstAmt: 0, \r\n sgstAmt: 0, \r\n igstAmt: 0, \r\n total: 0,\r\n sub_total:0,\r\n \r\n },\r\n\r\n });\r\n }\r\n \r\n clearimport=()=>{\r\n this.setState({ file:\"\" });\r\n };\r\n \r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n \r\n\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n \r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0; \r\n let sgstAmt = 0.0; \r\n let igstAmt = 0.0; \r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n \r\n if(data.discAmt!== undefined)\r\n {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if(data.cgstAmt!== undefined)\r\n {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if(data.sgstAmt!== undefined)\r\n {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n if(data.igstAmt!== undefined)\r\n {\r\n igstAmt += Number(data.igstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.igstAmt = igstAmt; \r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n \r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n}; \r\n\r\naddPurchaseEntryData() {\r\n \r\n \r\n let { purchaseEntryData, errors } = this.state;\r\n purchaseEntryData.type = \"purchaseEntryData\";\r\n errors = Validation(purchaseEntryData, errors);\r\n this.setState({ errors: errors });\r\n \r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n \r\n let data = {\r\n user_id: this.props.userdata.id,\r\n vendor_name: purchaseEntryData.vendor_name.label,\r\n address: purchaseEntryData.address,\r\n created_by: purchaseEntryData.created_by,\r\n remarks: purchaseEntryData.remarks,\r\n voucher_date: purchaseEntryData.voucher_date,\r\n vendorinvoice_no: purchaseEntryData.vendorinvoice_no,\r\n invoice_date: purchaseEntryData.invoice_date,\r\n poref_no: purchaseEntryData.poref_no,\r\n records: this.state.records \r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n \r\n axios\r\n \r\n .post(addPurchaseEntryData, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n \r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n editformSuccess: res,\r\n voucher_no:res.data[0].voucher_no\r\n });\r\n toast.success(\"The Purchase Entry voucher have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Purchase Entry voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n \r\n }\r\n }\r\n handleUpdateVoucher = () => { \r\n const { voucher_date } = this.state.purchaseEntryData;\r\n const currentDate = new Date(); \r\n const voucherDate = new Date(voucher_date); \r\n // Calculate the difference in days\r\n // const timeDiff = Math.abs(currentDate.getTime() - voucherDate.getTime()); \r\n // const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); \r\n // Check if the voucher date is within 30 days or within the current month \r\n if (voucherDate.getMonth() !== currentDate.getMonth()) \r\n { \r\n this.setState({ updatePopup: true });\r\n return;\r\n } \r\n // Proceed with the update if validation passes \r\n this.updatePurchaseEntryData();\r\n };\r\n\r\n updatePurchaseEntryData()\r\n {\r\n \r\n let { purchaseEntryData, errors } = this.state;\r\n purchaseEntryData.type = \"purchaseEntryData\";\r\n errors = Validation(purchaseEntryData, errors);\r\n this.setState({ errors: errors });\r\n \r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n \r\n let data = {\r\n user_id: this.props.userdata.id,\r\n vendor_name: purchaseEntryData.vendor_name,\r\n address:purchaseEntryData.address,\r\n created_by: purchaseEntryData.created_by,\r\n remarks: purchaseEntryData.remarks,\r\n voucher_date: purchaseEntryData.voucher_date,\r\n vendorinvoice_no: purchaseEntryData.vendorinvoice_no,\r\n invoice_date: purchaseEntryData.invoice_date,\r\n poref_no: purchaseEntryData.poref_no,\r\n voucher_no:this.props.location.state.voucher_no,\r\n records: this.state.records \r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n \r\n axios\r\n \r\n .post(updatePurchaseEntryData, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n toast.success(\"The Purchase Entry voucher have been updated successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.setState({\r\n records: records,\r\n // searchTableSuccess: res,\r\n // loading: false,\r\n // editformSuccess: res,\r\n voucher_no:res.data[0].voucher_no\r\n });\r\n \r\n // this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Purchase Entry voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n \r\n }\r\n\r\n }\r\nhandlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n \r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n componentDidMount = () => {\r\n console.log(this.props.location.state.vendor_name);\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n this.fetchMasterVendorNames();\r\n this.fetchPharmacyDrugs();\r\n /* axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyDrugs, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"drug_name\", \"label\"));\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPurchaseEntryDataByVoucherNumber, { voucher_no: this.props.location.state.voucher_no}, CONFIG)\r\n .then((list) => {\r\n console.log(list);\r\n let List = list.data.data;\r\n console.log(List);\r\n \r\n List.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n \r\n purchaseData.drug_name=element.drug_name;\r\n purchaseData.pack=element.pack;\r\n purchaseData.batch_no=element.batch_no;\r\n purchaseData.manu_date=element.manu_date;\r\n purchaseData.exp_date=element.exp_date;\r\n purchaseData.quantity=element.quantity;\r\n purchaseData.free=element.free;\r\n purchaseData.p_rate=element.p_rate;\r\n purchaseData.mrp=element.mrp;\r\n purchaseData.disc=element.disc;\r\n purchaseData.sub_total=element.sub_total;\r\n purchaseData.cgst=element.cgst;\r\n purchaseData.sgst=element.sgst;\r\n purchaseData.igst=element.igst;\r\n purchaseData.total=element.total;\r\n records[index] = purchaseData;\r\n \r\n });\r\n \r\n \r\n \r\n let records = [];\r\n \r\n records.push(records);\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 4; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n this.calculateAllIgstAmounts();\r\n this.calculateAllDiscountAmounts();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n }); */\r\n // this.setState({ records: records });\r\n /* this.setState({ records: records }, () => {\r\n \r\n \r\n }); */\r\n /* })\r\n .catch(() => { });\r\n */\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n /* axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n \r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name); \r\n return true; \r\n }\r\n return false; \r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n \r\n }));\r\n \r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n \r\n });\r\n */\r\n axios\r\n .post(getPharmacyShortDetail,{user_id:this.props.userdata.id}, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n \r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value:data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n \r\n \r\n \r\n \r\n\r\n };\r\n\r\n fetchMasterVendorNames = () => {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n \r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name); \r\n return true; \r\n }\r\n return false; \r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n \r\n }));\r\n \r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n \r\n });\r\n };\r\n fetchPharmacyDrugs = async () => {\r\n try {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n const result = await axios.post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG);\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n this.setState({ supplies });\r\n this.fetchPurchaseEntryData(supplies);\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n console.error(\"Error fetching pharmacy drugs\", e);\r\n }\r\n };\r\n\r\n formatDateForInput = (dateString) => {\r\n // Convert \"YYYY-MM-DD HH:mm:ss\" to \"YYYY-MM-DD\"\r\n return dateString.split(' ')[0]; // Extract just the date part\r\n};\r\n fetchPurchaseEntryData = async (supplies) => {\r\n try {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n const list = await axios.post(getAllPurchaseEntryDataByVoucherNumber, { voucher_no: this.props.location.state.voucher_no }, CONFIG);\r\n const List = list.data.data;\r\n console.log(List);\r\n let records = List.map((element, index) => ({\r\n s_no: index + 1,\r\n user_id: this.props.userdata.id,\r\n id:element.id,\r\n generic_name: element.generic_name,\r\n pack: element.pack,\r\n batch_no: element.batch_no,\r\n manu_date: element.manu_date,\r\n exp_date: element.exp_date,\r\n quantity: element.quantity,\r\n free: element.free,\r\n p_rate: element.p_rate,\r\n mrp: element.mrp,\r\n disc: element.disc,\r\n sub_total: element.sub_total,\r\n cgst: element.cgst,\r\n sgst: element.sgst,\r\n igst: element.igst,\r\n total: element.total,\r\n }));\r\n\r\n const defaultEnterSize = 25; \r\n const extraRows = defaultEnterSize - records.length;\r\n for (let i = 1; i <= extraRows; i++) {\r\n records.push({\r\n s_no: records.length + 1,\r\n user_id: this.props.userdata.id,\r\n generic_name: '',\r\n pack: '',\r\n batch_no: '',\r\n manu_date: '',\r\n exp_date: '',\r\n quantity: 0,\r\n free: 0,\r\n p_rate: 0,\r\n mrp: 0,\r\n disc: 0,\r\n sub_total: 0,\r\n cgst: 0,\r\n sgst: 0,\r\n igst: 0,\r\n total: 0,\r\n });\r\n }\r\n\r\n this.setState({ records, loading: false }, () => {\r\n // Trigger calculations after state update\r\n this.calculateSection();\r\n this.calculateAllIgstAmounts();\r\n this.calculateAllDiscountAmounts();\r\n });\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n console.error(\"Error fetching purchase entry data\", e);\r\n }\r\n };\r\n onDeleteClick(record) {\r\n \r\n this.setState({ addPopup: true, record: record });\r\n }\r\n /* deleteRecord(record) {\r\n \r\n let userId = record.id;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deletePharmacy, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Pharmacy detail has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n }\r\n */\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n \r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n};\r\n\r\n fetchItemDetails = (index, selectedOption) => {\r\n \r\n if (!selectedOption || !selectedOption.label)\r\n { console.error(\"Selected option is null or invalid\"); \r\n return;\r\n\r\n }\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.generic_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data again\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst : \"\",\r\n igst: this.state.State_value !== this.state.gst_state?item.igst : \"\",\r\n sub_total:updatedData[index].quantity * updatedData[index].p_rate,\r\n };\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n console.log(updatedData[index].quantity);\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n \r\n }\r\n /* this.setState({ records }, () => {\r\n this.calculateSection();\r\n }); */\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n };\r\n\r\n \r\n \r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.purchaseEntryData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ purchaseEntryData: data, errors: errors });\r\n }\r\n\r\n \r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n};\r\n\r\n\r\nhandlevendorselectChange = async (selectedOptions, e) => {\r\n let data = this.state.purchaseEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n console.log(selectedOptions);\r\n this.setState({ purchaseEntryData: data, errors,searchErrorMessage: \"\" });\r\n\r\n axios\r\n .post(getgststatebyVendorname,{user_id:this.props.userdata.id,vendor_name:selectedOptions.label}, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data=resdata.data[0];\r\n console.log(resdata.status);\r\n \r\n if (resdata.status == \"1\") \r\n {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state); }); }\r\n \r\n }).catch((e) => { });\r\n\r\n}\r\n render() {\r\n let showPopup = () => { this.setState({ addPopup: true }); };\r\n let PopupClose = () => this.setState({ addPopup: false,updatePopup:false });\r\n let PopupConfirm = () => {\r\n this.setState({ addPopup: false }, \r\n () => { \r\n \r\n this.handleUpdateVoucher();\r\n }); };\r\n /* let PopupConfirm = () => this.updatePurchaseEntryData.bind(this) */\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n const { purchaseEntryData,records, errors, formSuccess, tableSuccess, hospitaltimeout,mastervendorNames,gst_state,State_value,searchErrorMessage,searchTableSuccess,loading } = this.state;\r\n const selectedVendor = mastervendorNames.find(option => option.label === (this.props.location.state.vendor_name)) || null;\r\n return (\r\n\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Purchase Entry Voucher

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Purchase Entry Voucher\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n{/*
    */} \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n  Search\r\n \r\n {/* \r\n Reset\r\n */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n 0 ? this.state.reportList : this.state.records}\r\n columns={this.columns}\r\n/>\r\n\r\n\r\n \r\n {/*
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    */}\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(PurchaseReport));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport CheckboxOrRadioGroup from \"../components/UI/CheckboxOrRadioGroup\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from \"../components/UI/Popup\";\r\nimport { Spinner } from \"../components/UI/Spinner\";\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport { gst_type } from \"../config/data\";\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport Label from \"../components/UI/Label\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport PhoneInput, {\r\n parsePhoneNumber,\r\n isValidPhoneNumber,\r\n isPossiblePhoneNumber,\r\n } from \"react-phone-number-input\";\r\nimport {\r\n \r\n getAllDrugs,\r\n getPharmacyList,\r\n addPharmacy,\r\n hospitalpharmacyimport,\r\n getAllPharmacyCustomerList,\r\n addPharmacyCustomer,\r\n updatePharmacyCustomer,\r\n deleteDrug,\r\n searchDrug,\r\n getTimeoutbycategory,\r\n \r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Validation from \"../actions/Validation\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport { Button, Modal, ModalHeader, ModalBody } from \"reactstrap\";\r\nimport \"react-table/react-table.css\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport ExpirePopup from \"../components/UI/ExpirePopup\"\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport DrugsExport from \"./DrugsExport\";\r\nimport DrugTemplate from \"./DrugTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport LoadingHeartrate from \"../components/UI/Heartrate\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nimport { CountryDropdown, RegionDropdown } from \"react-country-region-selector\";\r\nimport * as moment from \"moment\";\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n validity: state.ValidityReducer.validity\r\n };\r\n}\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nconst google = window.google;\r\nconst customer_status = [\"Active\", \"In-active\"];\r\n\r\nclass CustomerList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n showexpirePopup: this.props.validity,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n records: [],\r\n google_address: false,\r\n searchrecords: [],\r\n vendor_action: \"Add\",\r\n loading: false,\r\n addDrugSuccess: \"\",\r\n addVendorSuccess: \"\",\r\n showDeleteConfirmPopup: false,\r\n confirmedDelete: false,\r\n search_action: false,\r\n recordToDelete: [],\r\n newDatatoAdd: {},\r\n addPopup: false,\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n creditDaysChecked: false,\r\n customerpharmacyData: {\r\n hold_payment: false,\r\n holdpaymentreason: \"\",\r\n },\r\n customerpharmacyData: {\r\n // id: \"\",\r\n customer_id:\"\",\r\n customer_name: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email:\"\",\r\n contact_name:\"\",\r\n gstreg_type:\"\",\r\n pan:\"\",\r\n gst_no:\"\",\r\n gst_country:\"\",\r\n gst_state:\"\",\r\n food_licence: \"\",\r\n food_expirydate:\"\",\r\n drug_licence1: \"\",\r\n licence1_expirydate:\"\",\r\n drug_licence2: \"\",\r\n licence2_expirydate:\"\",\r\n drug_licence3: '',\r\n licence3_expirydate:\"\",\r\n customer_status:\"Active\",\r\n credit_days:\"\",\r\n hold_payment:\"\",\r\n holdpaymentreason:\"\"\r\n },\r\n \r\n errors: {\r\n \r\n id:\"\",\r\n customer_id:\"\",\r\n customer_name: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email:\"\",\r\n contact_name:\"\",\r\n gstreg_type:\"\",\r\n pan:\"\",\r\n gst_no:\"\",\r\n gst_state:\"\",\r\n gst_country:\"\",\r\n gst_state:\"\",\r\n food_licence: \"\",\r\n food_expirydate:\"\",\r\n drug_licence1: \"\",\r\n licence1_expirydate:\"\",\r\n drug_licence2: \"\",\r\n licence2_expirydate:\"\",\r\n drug_licence3: '',\r\n licence3_expirydate:\"\",\r\n customer_status:\"\",\r\n credit_days:\"\",\r\n hold_payment:\"\",\r\n holdpaymentreason:\"\"\r\n },\r\n \r\n searchData: {\r\n \r\n vendor_id:\"\",\r\n vendor_name: \"\",\r\n address1: \"\",\r\n phone_number: \"\",\r\n \r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n editformSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n searchTableSuccess: {\r\n message: \"\",\r\n status: \"\",\r\n },\r\n columns: [\r\n { title: \"Customer Id\", field: \"customer_id\" },\r\n { title: \"Customer Name\", field: \"customer_name\" },\r\n { title: \"address1\", field: \"address1\" },\r\n { title: \"phone_number\", field: \"phone_number\" },\r\n // { title: \"Manufacturer\", field: \"manufacturer\" },\r\n // { title: \"Active Ingredients\", field: \"active_ingredients\" },\r\n ],\r\n data: [\r\n {\r\n vendor_id: \"1\",\r\n vendor_name: \"da\",\r\n address1: \"ds\",\r\n phone_number: \"sdd\",\r\n // manufacturer: \"sdsd\",\r\n // active_ingredients: \"adsfd\",\r\n },\r\n ],\r\n searchErrorMessage: \"\",\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n },\r\n {\r\n key: \"customer_id\",\r\n text: \"Customer ID\",\r\n className: \"customer_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"customer_name\",\r\n text: \"Customer Name\",\r\n className: \"customer_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n {\r\n key: \"address1\",\r\n text: \"Address\",\r\n className: \"address1\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n \r\n },\r\n \r\n {\r\n key: \"phone_number\",\r\n text: \"Phone\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n },\r\n\r\n \r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.config = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.searchcolumns = [\r\n // {\r\n // key: \"s_no\",\r\n // text: \"S.No\",\r\n // className: \"s_no\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // },\r\n {\r\n key: \"customer_id\",\r\n text: \"Customer ID\",\r\n className: \"customer_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"vendor_name_hide\",\r\n text: \"vendor_name_hide\",\r\n className: \"vendor_name hide\",\r\n TrOnlyClassName: \"hide\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n },\r\n\r\n {\r\n key: \"customer_name\",\r\n text: \"Customer Name\",\r\n className: \"customer_name\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n // cell: (record) =>\r\n // {\r\n // return (\r\n // \r\n\r\n /* \r\n */\r\n // \r\n // \r\n // );\r\n // },\r\n },\r\n {\r\n key: \"address1\",\r\n text: \"Address\",\r\n className: \"address1\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 100,\r\n\r\n \r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone\",\r\n className: \"phone_number\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 100,\r\n\r\n // cell: (record) => {\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 key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.autocomplete = null;\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n \r\n }\r\n\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n let errors=this.state.errors;\r\n let { customerpharmacyData } = this.state;\r\n \r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n \r\n \r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n // var valShort = place.address_components[i].short_name;\r\n // console.log(val);\r\n if (addressType === \"administrative_area_level_1\")\r\n customerpharmacyData.state = val;\r\n if (addressType === \"locality\")\r\n customerpharmacyData.city = val;\r\n if (addressType === \"country\")\r\n customerpharmacyData.country = val;\r\n // if (addressType === \"street_number\") {\r\n\r\n customerpharmacyData.address1 = place.name;\r\n // }\r\n if (addressType === \"sublocality_level_1\")\r\n customerpharmacyData.address2 = val;\r\n if (addressType === \"postal_code\") \r\n customerpharmacyData.zip_code = val;\r\n }\r\n }\r\n \r\n this.setState({\r\n customerpharmacyData,\r\n google_address: true,\r\n // errors\r\n });\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n\r\n };\r\n\r\n _onAction(e) {\r\n console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n console.log(timeout);\r\n console.log(isTimedOut);\r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n \r\n }\r\n }\r\n\r\n handledrugType = (e) => {\r\n let data = this.state.drugData;\r\n data.drug_type = [e.target.value];\r\n this.setState({ drugData: data });\r\n };\r\n \r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value=event.target.value;\r\n if (\r\n event.target.name === \"vendor_id\"\r\n \r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.vendorid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.vendorid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateColumnChange(record);\r\n };\r\n\r\n \r\n \r\n handleWorkingDays = (event) => {\r\n const checked = event.target.checked;\r\n let data = this.state.customerpharmacyData;\r\n data.hold_payment=event.target.checked;\r\n // Check if the checkbox being changed is the first one\r\n if (event.target.value === '') {\r\n this.setState({ creditDaysChecked: checked,customerpharmacyData:data });\r\n }\r\n this.setState((prevState) => ({\r\n creditDaysChecked: !prevState.creditDaysChecked,\r\n }));\r\n };\r\n\r\n \r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n \r\n this.setState(prevState => ({\r\n customerpharmacyData: {\r\n ...prevState.customerpharmacyData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n};\r\n\r\n \r\n UpdateColumnChange = (record) => {\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex].vendor_id = record.vendor_id;\r\n records[recIndex].vendor_name = record.vendor_name;\r\n records[recIndex].vendor_category = record.vendor_category;\r\n records[recIndex].vendor_type = record.vendor_type;\r\n\r\n this.setState({ searchrecords: records });\r\n };\r\n\r\n componentDidMount = () => {\r\n console.log(this.props.userdata.user_type);\r\n console.log(this.props.userdata.id);\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address1\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: 'hospital' }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status === \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch(() => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyCustomerList , { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n console.log(drugList);\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.customer_id = element.customer_id;\r\n drugData.customer_name = element.customer_name;\r\n drugData.address1 = element.address1;\r\n drugData.address2 = element.address2;\r\n drugData.country = element.country;\r\n drugData.state = element.state;\r\n drugData.city = element.city;\r\n drugData.zip_code = element.zip_code;\r\n drugData.phone_number = element.phone_number;\r\n drugData.email = element.email;\r\n drugData.contact_name = element.contact_name;\r\n drugData.pan = element.pan;\r\n drugData.gstreg_type = element.gstreg_type;\r\n drugData.gst_no = element.gst_no;\r\n drugData.gst_country = element.gst_country;\r\n drugData.gst_state = element.gst_state;\r\n drugData.food_licence = element.food_licence;\r\n drugData.drug_licence1 = element.drug_licence1;\r\n drugData.drug_licence2 = element.drug_licence2;\r\n drugData.drug_licence3 = element.drug_licence3;\r\n drugData.expiry_date = element.expiry_date;\r\n drugData.customer_status = element.customer_status;\r\n drugData.credit_days = element.credit_days;\r\n drugData.hold_payment = element.hold_payment;\r\n\r\n drugDataArr[index] = drugData;\r\n });\r\n \r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n \r\n \r\n \r\n };\r\n\r\n \r\n\r\n handlesearchinputChange = (eve) => {\r\n let data = this.state.searchData;\r\n\r\n data[eve.target.name] = eve.target.value;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n handlesearchselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n\r\n \r\n data[e.name] = selectedOptions;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n\r\n \r\n editRecord(record) {\r\n console.log(record);\r\n let vendor_action = this.state.vendor_action;\r\n vendor_action = \"Edit\";\r\n this.setState({ vendor_action });\r\n let food_licence = JSON.parse(record.food_licence);\r\n let drug_licence1 = JSON.parse(record.drug_licence1);\r\n let drug_licence2 = JSON.parse(record.drug_licence2);\r\n let drug_licence3 = JSON.parse(record.drug_licence3);\r\n let customerpharmacyData = this.state.customerpharmacyData;\r\n customerpharmacyData.s_no = record.s_no;\r\n customerpharmacyData.id = record.id;\r\n customerpharmacyData.customer_id = record.customer_id;\r\n customerpharmacyData.customer_name = record.customer_name;\r\n customerpharmacyData.address1 = record.address1;\r\n customerpharmacyData.address2 = record.address2;\r\n customerpharmacyData.country = record.country;\r\n customerpharmacyData.state = record.state;\r\n customerpharmacyData.city = record.city;\r\n customerpharmacyData.zip_code = record.zip_code;\r\n customerpharmacyData.phone_number = record.phone_number;\r\n customerpharmacyData.email = record.email;\r\n customerpharmacyData.contact_name = record.contact_name;\r\n customerpharmacyData.pan = record.pan;\r\n customerpharmacyData.gstreg_type = {\r\n label: record.gstreg_type,\r\n value: record.gstreg_type,\r\n };\r\n customerpharmacyData.gst_no = record.gst_no;\r\n customerpharmacyData.gst_state = record.gst_state;\r\n customerpharmacyData.gst_country = record.gst_country;\r\n customerpharmacyData.food_licence=food_licence.food_licence;\r\n customerpharmacyData.food_expirydate = food_licence.food_expirydate;\r\n customerpharmacyData.drug_licence1 = drug_licence1.drug_licence1;\r\n customerpharmacyData.licence1_expirydate = drug_licence1.licence1_expirydate;\r\n customerpharmacyData.drug_licence2 = drug_licence2.drug_licence2;\r\n customerpharmacyData.licence2_expirydate = drug_licence2.licence2_expirydate;\r\n customerpharmacyData.drug_licence3= drug_licence3.drug_licence3;\r\n customerpharmacyData.licence3_expirydate = drug_licence3.licence3_expirydate;\r\n customerpharmacyData.expiry_date = record.expiry_date;\r\n customerpharmacyData.customer_status = record.customer_status;\r\n customerpharmacyData.credit_days = record.credit_days;\r\n customerpharmacyData.hold_payment = record.hold_payment;\r\n\r\n \r\n \r\n this.setState({ customerpharmacyData: customerpharmacyData });\r\n }\r\n\r\n \r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.customerpharmacyData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n \r\n this.setState({ customerpharmacyData: data, errors,searchErrorMessage: \"\" });\r\n }\r\n\r\n handleCustomerStatusChange = (e) => {\r\n let data = this.state.customerpharmacyData; // Assuming you have customerpharmacyData in your state\r\n data.customer_status = [e.target.value]; // Update the vendor_status with the selected value in an array\r\n this.setState({ customerpharmacyData: data }); // Set the updated state\r\n };\r\n\r\n\r\n handleGstType = (selectedOption) => {\r\n this.setState(prevState => ({\r\n customerpharmacyData: {\r\n ...prevState.customerpharmacyData,\r\n gst_type: selectedOption ? selectedOption.value : ''\r\n }\r\n }));\r\n };\r\n\r\n handlesearchinputChange = (eve) => {\r\n let data = this.state.searchData;\r\n\r\n data[eve.target.name] = eve.target.value;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n handlesearchselectChange = (selectedOptions, e) => {\r\n let data = this.state.searchData;\r\n\r\n \r\n data[e.name] = selectedOptions;\r\n // }\r\n this.setState({ searchData: data });\r\n };\r\n \r\n validateMaxLength(name, value, max) {\r\n let data = this.state.customerpharmacyData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ customerpharmacyData: data, errors: errors });\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.customerpharmacyData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n name === \"customer_id\" ||\r\n name === \"customer_name\" ||\r\n name === \"address1\" ||\r\n name === \"address2\" ||\r\n name === \"city\"||\r\n name === \"country\"||\r\n name === \"state\" ||\r\n name === \"zip_code\" ||\r\n name === \"email\" ||\r\n name === \"contact_name\" ||\r\n name === \"gstreg_type\" ||\r\n name === \"pan\" ||\r\n name === \"gst_no\" ||\r\n name === \"gst_state\" ||\r\n name === \"food_licence\" ||\r\n name === \"drug_licence1\" ||\r\n name === \"drug_licence2\" ||\r\n name === \"drug_licence3\" ||\r\n name === \"expiry_date\" ||\r\n name === \"customer_status\" ||\r\n name === \"credit_days\" ||\r\n name === \"holdpaymentreason\" \r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ customerpharmacyData: data, errors,searchErrorMessage: \"\" });\r\n \r\n this.setState((prevState) => ({\r\n customerpharmacyData: {\r\n ...prevState.customerpharmacyData,\r\n [name]: value,\r\n },\r\n }));\r\n };\r\n\r\n handlePhoneInput = (event) => {\r\n let customerpharmacyData = this.state.customerpharmacyData;\r\n customerpharmacyData.phone_number = event;\r\n this.setState({ customerpharmacyData });\r\n };\r\n\r\n handleInputChange = (e) => {\r\n const { name, value } = e.target;\r\n this.setState(prevState => ({\r\n customerpharmacyData: {\r\n ...prevState.customerpharmacyData,\r\n [name]: value\r\n }\r\n }));\r\n };\r\n handleselect= (selectedOptions, e) => {\r\n let data = this.state.customerpharmacyData;\r\n data[e.name] = selectedOptions;\r\n this.setState({ customerpharmacyData: data });\r\n\r\n \r\n };\r\n handleAddressInput = (e) => {\r\n let data = this.state.customerpharmacyData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors\r\n if (name === \"address\") {\r\n \r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n }\r\n this.setState({ customerpharmacyData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n\r\n \r\n\r\n /* for country detail change */\r\n selectCountry(val) {\r\n let data = this.state.customerpharmacyData;\r\n data.country = val;\r\n this.setState({ customerpharmacyData: data });\r\n }\r\n\r\n selectgstCountry(val) {\r\n let data = this.state.customerpharmacyData;\r\n data.gst_country = val;\r\n this.setState({ customerpharmacyData: data });\r\n }\r\n\r\n /* for state detail change */\r\n selectState(val) {\r\n let data = this.state.customerpharmacyData;\r\n data.state = val;\r\n this.setState({ customerpharmacyData: data });\r\n }\r\n selectgstState(val) {\r\n let data = this.state.customerpharmacyData;\r\n data.gst_state = val;\r\n this.setState({ customerpharmacyData: data });\r\n }\r\n\r\n addorupdateVendor() {\r\n \r\n let { customerpharmacyData, errors } = this.state;\r\n customerpharmacyData.type = \"vendorpharmacy\";\r\n errors = Validation(customerpharmacyData, errors);\r\n this.setState({ errors: errors });\r\n let food_licence = {\r\n food_licence:customerpharmacyData.food_licence,\r\n food_expirydate:customerpharmacyData.food_expirydate\r\n };\r\n\r\n let drug_licence1 = {\r\n drug_licence1:customerpharmacyData.drug_licence1,\r\n licence1_expirydate:customerpharmacyData.licence1_expirydate\r\n };\r\n let drug_licence2 = {\r\n drug_licence2:customerpharmacyData.drug_licence2,\r\n licence2_expirydate:customerpharmacyData.licence2_expirydate\r\n };\r\n let drug_licence3 = {\r\n drug_licence3:customerpharmacyData.drug_licence3,\r\n licence3_expirydate:customerpharmacyData.licence3_expirydate\r\n }; \r\n \r\n if (errors.formIsValid) {\r\n // this.setState({ loading: true });\r\n \r\n let data = {};\r\n \r\n data.id=customerpharmacyData.id;\r\n data.user_id = this.props.userdata.id;\r\n data.customer_name = customerpharmacyData.customer_name;\r\n data.address1 = customerpharmacyData.address1;\r\n data.address2 = customerpharmacyData.address2;\r\n data.country = customerpharmacyData.country;\r\n data.state = customerpharmacyData.state;\r\n data.city = customerpharmacyData.city;\r\n data.zip_code = customerpharmacyData.zip_code;\r\n data.phone_number = customerpharmacyData.phone_number;\r\n data.email = customerpharmacyData.email;\r\n data.contact_name = customerpharmacyData.contact_name;\r\n data.gstreg_type = customerpharmacyData.gstreg_type.label;\r\n data.gst_no = customerpharmacyData.gst_no;\r\n data.gst_country = customerpharmacyData.gst_country;\r\n data.gst_state = customerpharmacyData.gst_state;\r\n data.pan = customerpharmacyData.pan;\r\n data.food_licence =food_licence;\r\n data.drug_licence1 = drug_licence1;\r\n data.drug_licence2 = drug_licence2;\r\n data.drug_licence3 =drug_licence3;\r\n data.customer_status = customerpharmacyData.customer_status;\r\n data.credit_days = customerpharmacyData.credit_days;\r\n data.hold_payment = customerpharmacyData.hold_payment;\r\n data.holdpaymentreason=customerpharmacyData.holdpaymentreason;\r\n console.log(data);\r\n let records = this.state.records;\r\n \r\n if (this.state.vendor_action === \"Add\") {\r\n \r\n axios\r\n \r\n .post(addPharmacyCustomer, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n \r\n toast.success(\"The Customer details have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n \r\n toast.error(\"Customer could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n } \r\n else {\r\n axios\r\n .put(updatePharmacyCustomer, data, CONFIG)\r\n .then((updateVendorResponse) => {\r\n let updateResponse = updateVendorResponse.data;\r\n if (updateResponse.status === \"1\") {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyCustomerList , { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let drugList = list.data.data;\r\n console.log(drugList);\r\n let drugDataArr = [];\r\n drugList.forEach((element, index) => {\r\n let drugData = {};\r\n drugData.s_no = index + 1;\r\n drugData.id = element.id;\r\n drugData.user_id = this.props.userdata.id;\r\n drugData.customer_id = element.customer_id;\r\n drugData.customer_name = element.customer_name;\r\n drugData.address1 = element.address1;\r\n drugData.address2 = element.address2;\r\n drugData.country = element.country;\r\n drugData.state = element.state;\r\n drugData.city = element.city;\r\n drugData.zip_code = element.zip_code;\r\n drugData.phone_number = element.phone_number;\r\n drugData.email = element.email;\r\n drugData.contact_name = element.contact_name;\r\n drugData.pan = element.pan;\r\n drugData.gstreg_type = element.gstreg_type;\r\n drugData.gst_no = element.gst_no;\r\n drugData.gst_country = element.gst_country;\r\n drugData.gst_state = element.gst_state;\r\n drugData.food_licence = element.food_licence;\r\n drugData.drug_licence1 = element.drug_licence1;\r\n drugData.drug_licence2 = element.drug_licence2;\r\n drugData.drug_licence3 = element.drug_licence3;\r\n drugData.expiry_date = element.expiry_date;\r\n drugData.customer_status = element.customer_status;\r\n drugData.credit_days = element.credit_days;\r\n drugData.hold_payment = element.hold_payment;\r\n \r\n drugDataArr[index] = drugData;\r\n });\r\n \r\n this.setState({ records: drugDataArr });\r\n })\r\n .catch(() => { });\r\n // let addVendorSuccess = this.state.addVendorSuccess;\r\n // addVendorSuccess = updateResponse.message;\r\n // this.setState({ addVendorSuccess: addVendorSuccess });\r\n\r\n /** Updating the data table */\r\n /* let existingRecords = this.state.records;\r\n var index = existingRecords.findIndex(\r\n (item) => item.id === data.id\r\n );\r\n existingRecords.splice(index, 1, data);\r\n this.setState({ records: existingRecords }); */\r\n // this.setState({ tableSuccess: updateResponse });\r\n // this.setState({ editformSuccess: updateResponse });\r\n toast.success(\"The Customer details have been updated successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n } else {\r\n this.setState({ tableSuccess: updateResponse });\r\n this.setState({ editformSuccess: updateResponse });\r\n toast.error(\"Customer could not be updated. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n this.setState({ loading: false });\r\n })\r\n .catch(() => { });\r\n }\r\n }\r\n};\r\n\r\n\r\n\r\n clearErrors = (errors) => {\r\n\r\n errors.vendor_id = \"\"\r\n errors.vendor_name = \"\"\r\n errors.address1 = \"\"\r\n errors.address2 = \"\"\r\n errors.city = \"\"\r\n errors.country = \"\"\r\n errors.state = \"\"\r\n errors.zip_code = \"\"\r\n errors.phone_number = \"\"\r\n errors.email = \"\"\r\n errors.contact_name = \"\"\r\n errors.gstreg_type = \"\"\r\n errors.gst_type = \"\"\r\n errors.pan = \"\"\r\n errors.gst_no = \"\"\r\n errors.gst_state = \"\"\r\n errors.food_licence = \"\"\r\n errors.expiry1_date = \"\"\r\n errors.drug_licence1 = \"\"\r\n errors.expiry2_date = \"\"\r\n errors.drug_licence2 = \"\"\r\n errors.expiry3_date = \"\"\r\n errors.drug_licence3 = \"\"\r\n errors.expiry4_date = \"\"\r\n errors.customer_status = \"\"\r\n errors.credit_days = \"\"\r\n errors.hold_payment = \"\"\r\n return errors\r\n}\r\n\r\ncancel = () => {\r\n let vendor_action = this.state.vendor_action;\r\n vendor_action = \"Add\";\r\n this.setState({ vendor_action });\r\n let data = this.state.vendorpharmacyData;\r\n data.vendor_id = \"\"\r\n data.vendor_name = \"\"\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n \r\n data.address1 = \"\"\r\n data.address2 = \"\"\r\n data.city = \"\"\r\n data.country = \"\"\r\n data.state = \"\"\r\n data.zip_code = \"\"\r\n data.phone_number = \"\"\r\n data.email = \"\"\r\n data.contact_name = \"\"\r\n data.gstreg_type = \"\"\r\n data.gst_type = \"\"\r\n data.pan = \"\"\r\n data.gst_no = \"\"\r\n data.gst_state = \"\"\r\n data.food_licence = \"\"\r\n data.expiry1_date = \"\"\r\n data.drug_licence1 = \"\"\r\n data.expiry2_date = \"\"\r\n data.drug_licence2 = \"\"\r\n data.expiry3_date = \"\"\r\n data.drug_licence3 = \"\"\r\n data.expiry4_date = \"\"\r\n data.customer_status = \"\"\r\n data.credit_days = \"\"\r\n data.hold_payment = \"\"\r\n \r\n // data.phone_number = \"\"\r\n // data.email = \"\"\r\n // data.pharmacy_location = \"\"\r\n // data.city = \"\"\r\n // data.country = \"\"\r\n // data.state = \"\"\r\n // data.zip_code = \"\"\r\n // data.online_prescription = \"\"\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ vendorpharmacyData: data, actions: \"add\", errors: errors, searchErrorMessage: \"\", searchrecords: [], search_action: false });\r\n}\r\n\r\nclearimport=()=>{\r\n this.setState({ file:\"\" });\r\n};\r\n\r\n\r\n\r\n \r\n\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, record: record });\r\n\r\n }\r\n\r\n cancelDelete() {\r\n this.setState({\r\n showDeleteConfirmPopup: !this.state.showDeleteConfirmPopup,\r\n });\r\n }\r\n\r\n\r\n\r\n deleteRecord(record) {\r\n let userId = record.id;\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deleteDrug, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records.map((item) => item.id).indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\", loading: false });\r\n this.setState({ tableSuccess: res.data });\r\n toast.error(\"The Customer detail has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n this.clearAll();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllDrugs, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let vendorpharmacyDataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let vendorpharmacyData = {};\r\n vendorpharmacyData.s_no = index + 1;\r\n vendorpharmacyData.id = element.id;\r\n vendorpharmacyData.user_id = this.props.userdata.id;\r\n vendorpharmacyData.vendor_id = element.vendor_id;\r\n vendorpharmacyData.vendor_name = element.vendor_name;\r\n vendorpharmacyData.address1 = element.address1;\r\n vendorpharmacyData.address2 = element.address2;\r\n vendorpharmacyData.city = element.city;\r\n vendorpharmacyData.country = element.country;\r\n vendorpharmacyData.state = element.state;\r\n vendorpharmacyData.zip_code = element.zip_code;\r\n vendorpharmacyData.phone_number = element.phone_number;\r\n vendorpharmacyData.email = element.email;\r\n vendorpharmacyData.contact_name = element.contact_name;\r\n vendorpharmacyData.gstreg_type = element.gstreg_type;\r\n vendorpharmacyData.gst_type = element.gst_type;\r\n vendorpharmacyData.pan = element.pan;\r\n vendorpharmacyData.gst_no = element.gst_no;\r\n vendorpharmacyData.gst_state = element.gst_state;\r\n vendorpharmacyData.food_licence = element.food_licence;\r\n vendorpharmacyData.gst_state = element.gst_state;\r\n vendorpharmacyData.drug_licence1 = element.drug_licence1;\r\n vendorpharmacyData.drug_licence2 = element.drug_licence2;\r\n vendorpharmacyData.drug_licence3 = element.drug_licence3;\r\n vendorpharmacyData.expiry_date = element.expiry_date;\r\n vendorpharmacyData.customer_status = element.customer_status;\r\n vendorpharmacyData.credit_days = element.credit_days;\r\n vendorpharmacyData.hold_payment = element.hold_payment;\r\n \r\n \r\n \r\n vendorpharmacyDataArr[index] = vendorpharmacyData;\r\n });\r\n \r\n this.setState({ records: vendorpharmacyDataArr });\r\n })\r\n .catch(() => { });\r\n \r\n })\r\n .catch(() => { });\r\n \r\n }\r\n\r\n\r\n clearMessage = () => {\r\n setTimeout(\r\n () =>\r\n this.setState({\r\n formSuccess: { message: \"\" },\r\n tableSuccess: { message: \"\" },\r\n searchTableSuccess: { message: \"\" },\r\n editformSuccess: { message: \"\" },\r\n }),\r\n 5000\r\n );\r\n };\r\n clearAll=()=> {\r\n let vendor_action = this.state.vendor_action;\r\n vendor_action = \"Add\";\r\n this.setState({ vendor_action });\r\n let customerpharmacyData = {};\r\n customerpharmacyData.customer_id = \"\";\r\n customerpharmacyData.customer_name = \"\";\r\n customerpharmacyData.address1 = \"\";\r\n customerpharmacyData.address2 = \"\";\r\n customerpharmacyData.city = \"\";\r\n customerpharmacyData.country = \"\";\r\n customerpharmacyData.state = \"\";\r\n customerpharmacyData.zip_code = \"\";\r\n customerpharmacyData.phone_number = \"\";\r\n customerpharmacyData.email = \"\";\r\n customerpharmacyData.contact_name = \"\";\r\n customerpharmacyData.gstreg_type = \"\";\r\n customerpharmacyData.gst_type = \"\";\r\n customerpharmacyData.pan = \"\";\r\n customerpharmacyData.gst_no = \"\";\r\n customerpharmacyData.gst_state = \"\";\r\n customerpharmacyData.food_licence = \"\";\r\n customerpharmacyData.drug_licence1 = \"\";\r\n customerpharmacyData.drug_licence2 = \"\";\r\n customerpharmacyData.drug_licence3 = \"\";\r\n customerpharmacyData.expiry_date = \"\";\r\n customerpharmacyData.customer_status = \"\";\r\n customerpharmacyData.credit_days = \"\";\r\n customerpharmacyData.hold_payment = \"\";\r\n customerpharmacyData.holdpaymentreason = \"\";\r\n let errors = {\r\n id:\"\",\r\n customer_id:\"\",\r\n customer_name: \"\",\r\n address1: \"\",\r\n address2: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email:\"\",\r\n contact_name:\"\",\r\n gstreg_type:\"\",\r\n gst_type:\"\",\r\n pan:\"\",\r\n gst_no:\"\",\r\n gst_state:\"\",\r\n food_licence:\"\",\r\n drug_licence1:\"\",\r\n drug_licence2:\"\",\r\n drug_licence3:\"\",\r\n expiry_date: \"\",\r\n customer_status:\"\",\r\n credit_days:\"\",\r\n hold_payment:\"\",\r\n }\r\n let tableSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let formSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let editformSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n };\r\n let searchTableSuccess = {\r\n message: \"\",\r\n status: \"\",\r\n }\r\n \r\n\r\n this.setState({ creditDaysChecked: false,customerpharmacyData, errors, tableSuccess, formSuccess, editformSuccess, searchTableSuccess, searchErrorMessage: \"\",searchrecords: [],search_action:false });\r\n \r\n\r\n }\r\n clearimport=()=>{\r\n this.setState({ file:\"\" });\r\n };\r\n searchandshowDrug() {\r\n let drugData = this.state.drugData;\r\n console.log(drugData);\r\n if (\r\n (drugData.drug_name === \"\" || null === drugData.drug_name) &&\r\n (drugData.drug_category === \"\" || null === drugData.drug_category) &&\r\n (drugData.drug_type === \"\" || null === drugData.drug_type) &&\r\n (drugData.unit_of_measure === \"\" || null === drugData.unit_of_measure) &&\r\n drugData.manufacturer === \"\" &&\r\n drugData.active_ingredients === \"\" &&\r\n drugData.generic_name===\"\"\r\n ) {\r\n this.setState({\r\n searchErrorMessage:\r\n \"Choose any one of the search filters other than Drug ID.\",\r\n });\r\n return;\r\n } else {\r\n this.setState({\r\n searchErrorMessage: \"\",\r\n });\r\n }\r\n let data = {};\r\n data.drug_name = drugData.drug_name;\r\n data.drug_category = drugData.drug_category\r\n ? drugData.drug_category.label\r\n : \"\";\r\n data.drug_type = drugData.drug_type ? drugData.drug_type.label : \"\";\r\n data.manufacturer = drugData.manufacturer;\r\n data.active_ingredients = drugData.active_ingredients;\r\n data.generic_name=drugData.generic_name;\r\n data.unit_of_measure=drugData.unit_of_measure.label;\r\n data.type = \"admin\";\r\n data.user_id = this.props.userdata.id;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(searchDrug, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n let data = [];\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n // console.log(this.state.masterdrugmeasure[0]);\r\n records.forEach((element) => {\r\n console.log(element);\r\n console.log(element.drug_name);\r\n console.log(element.drug_category);\r\n console.log(element.unit_of_measure);\r\n data.push({\r\n drug_id: \"\",\r\n drug_name: element.drug_name,\r\n drug_name_hide: element.drug_name,\r\n drug_category: element.drug_category,\r\n unit_of_measure: element.unit_of_measure,\r\n drug_category_hide: element.drug_category,\r\n drug_type: element.drug_type,\r\n drug_type_hide: element.drug_type,\r\n generic_name:element.generic_name,\r\n manufacturer: element.manufacturer,\r\n active_ingredients: element.active_ingredients,\r\n id: element.id,\r\n drugid_error: \"\",\r\n drugcategory_error: \"\",\r\n drugtype_error: \"\",\r\n drugname_error: \"\",\r\n generic_name_error:\"\",\r\n manufacturer_error:\"\",\r\n active_incredients_error:\"\",\r\n });\r\n });\r\n\r\n this.setState({ searchrecords: data });\r\n this.setState({\r\n search_action: true,\r\n });\r\n } else {\r\n this.setState({ searchErrorMessage:\"No Drug Found\",searchrecords: [], search_action: true });\r\n }\r\n });\r\n });\r\n }\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n console.log(event.target.files[0]);\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ vendorpharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n};\r\n\r\n// axios.post(hospitaldrugimport, {data: this.state.drugData,user_id:this.props.userdata.id}).then((result) => {\r\n// console.log(result);\r\n// this.setState({ formSuccess: result.data, file: \"\", drugData: [] })\r\n// axios\r\n// .post(getAllDrugs, { user_id: this.props.userdata.id }, CONFIG)\r\n// .then((list) => {\r\n// let drugList = list.data.data;\r\n// let drugDataArr = [];\r\n// drugList.forEach((element, index) => {\r\n// let drugData = {};\r\n// drugData.s_no = index + 1;\r\n// drugData.id = element.id;\r\n// drugData.user_id = this.props.userdata.id;\r\n// drugData.drug_id = element.drug_id;\r\n// drugData.drug_name = element.drug_name;\r\n// drugData.drug_type = element.drug_type;\r\n// drugData.drug_category = element.drug_category;\r\n// drugData.generic_name=element.generic_name;\r\n// drugData.manufacturer = element.manufacturer;\r\n// drugData.active_ingredients = element.active_ingredients;\r\n// drugData.unit_of_measure = element.unit_of_measure;\r\n// drugDataArr[index] = drugData;\r\n// });\r\n \r\n// this.setState({ records: drugDataArr });\r\n// })\r\n// .catch(() => { });\r\n// this.clearMessage();\r\n// });\r\n// }\r\n\r\n// };\r\n render() {\r\n\r\n let ExpirePopupClose = () => {\r\n window.location.reload();\r\n this.setState({ showexpirePopup: true })\r\n };\r\n let ExpirePopupConfirm = () => {\r\n window.location.href = \"/showsubscription\";\r\n\r\n };\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n const {\r\n \r\n customerpharmacyData,\r\n errors,\r\n loading,\r\n searchTableSuccess,\r\n editformSuccess,\r\n tableSuccess,\r\n searchErrorMessage,\r\n hospitaltimeout,\r\n creditDaysChecked,\r\n \r\n } = this.state;\r\n const modalVar = this.state.showDeleteConfirmPopup;\r\n \r\n \r\n const gstreg_type = [\r\n { value: 'registered', label: 'Registered' },\r\n { value: 'non-registered', label: 'Non-Registered' }\r\n ];\r\n \r\n \r\n \r\n return (\r\n
    \r\n {/* */}\r\n {/* */}\r\n \r\n\r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n\r\n {loading && } \r\n{/* {loading && } */}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Customer List

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n {/*
    */}\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {this.state.vendor_action === \"Add\"\r\n ? \"Add\"\r\n : \"Edit\"}{\" \"}\r\n Customer
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n {searchErrorMessage ? (\r\n \r\n {searchErrorMessage}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n {/*
    \r\n\r\n
    \r\n
    */}\r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \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.selectCountry(val)}\r\n />\r\n
    \r\n \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.selectState(val)}\r\n placeholder=\"State\"\r\n />\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \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.selectgstCountry(val)}\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.selectgstState(val)}\r\n placeholder=\"State\"\r\n />\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \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.handleDatePickerChange(date, 'food_expirydate')} \r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n disabled={!customerpharmacyData.food_licence}\r\n />\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \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.handleDatePickerChange(date, 'licence1_expirydate')} \r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n disabled={!customerpharmacyData.drug_licence1}\r\n /> \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \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.handleDatePickerChange(date, 'licence2_expirydate')} \r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n disabled={!customerpharmacyData.drug_licence2}\r\n />\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleDatePickerChange(date, 'licence3_expirydate')} \r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n disabled={!customerpharmacyData.drug_licence3}\r\n />\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n Days\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n {this.state.creditDaysChecked && (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n\r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {creditDaysChecked && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \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.vendor_action === \"Add\"\r\n ? \"Add\"\r\n : \"Update\"}\r\n \r\n\r\n \r\n \r\n
    \r\n {\" \"}\r\n \r\n {\"\"}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n
    Search Result
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Are you sure you want to delete this record ?\r\n
    \r\n
    \r\n
    \r\n this.okDelete.bind(this)}\r\n >\r\n Ok\r\n \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CustomerList);\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React from 'react';\r\nimport { Modal, Button } from 'react-bootstrap'; // Assuming you're using react-bootstrap\r\n\r\nconst QuantityPopupinfo = ({ show, onHide, title, message }) => {\r\n return (\r\n \r\n \r\n {title}\r\n \r\n {message}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default QuantityPopupinfo;","import React from 'react';\r\nimport { Modal, Button, ListGroup } from 'react-bootstrap';\r\nimport Form from 'react-bootstrap/Form';\r\nimport PropTypes from 'prop-types';\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nclass BatchSelectionModal extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedBatches: [], // State to track the selected batches\r\n selectedExpdates:[],\r\n selectedQuantities:[],\r\n loading:true,\r\n };\r\n }\r\n\r\n/* handleCheckboxChange = (event, exp_date) => {\r\n const { id, checked } = event.target;\r\n this.setState((prevState) => {\r\n console.log(prevState);\r\n if (checked) {\r\n // Add the batch_no to selectedBatches and exp_date to selectedExpdates if checked\r\n return {\r\n selectedBatches: [...prevState.selectedBatches, id],\r\n selectedExpdates: [...prevState.selectedExpdates, exp_date] // Correctly update selectedExpdates\r\n };\r\n } else {\r\n // Remove the batch_no from selectedBatches and corresponding exp_date from selectedExpdates if unchecked\r\n return {\r\n selectedBatches: prevState.selectedBatches.filter(batch_no => batch_no !== id),\r\n selectedExpdates: prevState.selectedExpdates.filter(date => date !== exp_date) // Remove corresponding exp_date\r\n };\r\n }\r\n }, () => {\r\n console.log(this.state.selectedBatches);\r\n console.log(this.state.selectedExpdates); // Log selectedExpdates for debugging\r\n \r\n // Call the selectBatch function passed as a prop with the updated selectedBatches\r\n this.props.selectBatch(this.state.selectedBatches,this.state.selectedExpdates);\r\n \r\n });\r\n \r\n}; */\r\nhandleCheckboxChange = (event, exp_date, quantity) => {\r\n const { id, checked } = event.target; // Destructure id and checked from the event target\r\n this.setState((prevState) => {\r\n let newSelectedBatches = prevState.selectedBatches;\r\n let newSelectedExpdates = prevState.selectedExpdates;\r\n let newSelectedQuantities = prevState.selectedQuantities;\r\n\r\n if (checked) {\r\n // If checked, add the new values\r\n newSelectedBatches = [...prevState.selectedBatches, id];\r\n newSelectedExpdates = [...prevState.selectedExpdates, exp_date];\r\n newSelectedQuantities = [...prevState.selectedQuantities, quantity]; // Use the passed quantity\r\n } else {\r\n // If unchecked, remove the values\r\n newSelectedBatches = prevState.selectedBatches.filter(batch_no => batch_no !== id);\r\n newSelectedExpdates = prevState.selectedExpdates.filter(date => date !== exp_date);\r\n newSelectedQuantities = prevState.selectedQuantities.filter(qty => qty !== quantity); // Use the passed quantity\r\n }\r\n\r\n console.log(\"Selected Batches:\", newSelectedBatches);\r\n console.log(\"Selected Expdates:\", newSelectedExpdates);\r\n console.log(\"Selected Quantities:\", newSelectedQuantities); // Log the selected quantities\r\n\r\n return {\r\n selectedBatches: newSelectedBatches,\r\n selectedExpdates: newSelectedExpdates,\r\n selectedQuantities: newSelectedQuantities\r\n };\r\n }, () => {\r\n console.log(\"Final Selected Batches:\", this.state.selectedBatches);\r\n console.log(\"Final Selected Expdates:\", this.state.selectedExpdates);\r\n console.log(\"Final Selected Quantities:\", this.state.selectedQuantities); // Log the final selected quantities\r\n\r\n // Call the selectBatch function passed as a prop with the updated selected values\r\n this.props.selectBatch(this.state.selectedBatches, this.state.selectedExpdates, this.state.selectedQuantities);\r\n });\r\n};\r\n\r\nhandleBatchCheck = (batchNo) => {\r\n this.setState(prevState => {\r\n const selectedBatches = prevState.selectedBatches.includes(batchNo)\r\n ? prevState.selectedBatches.filter(b => b !== batchNo) // Uncheck if already checked\r\n : [...prevState.selectedBatches, batchNo]; // Check if not checked\r\n return { selectedBatches };\r\n });\r\n};\r\n\r\n\r\n\r\n render() {\r\n const { show, handleBatchClose, batches,handleSelectBatchClick,loading } = this.props;\r\n const { selectedBatches } = this.state;\r\n\r\n return (\r\n \r\n \r\n Select Batches\r\n \r\n \r\n

    Batch Number _ Expiry Date _ Quantity

    \r\n {loading ? (\r\n // Show the spinner while loading\r\n ) : (\r\n \r\n {batches.map(batch => (\r\n \r\n this.handleCheckboxChange(event, batch.exp_date,batch.quantity,batch.manu_date)} \r\n />\r\n \r\n \r\n \r\n ))}\r\n \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\n// PropTypes for validation\r\nBatchSelectionModal.propTypes = {\r\n show: PropTypes.bool.isRequired,\r\n handleBatchClose: PropTypes.func.isRequired,\r\n batches: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n batch_no: PropTypes.string.isRequired,\r\n exp_date: PropTypes.string.isRequired, // Assuming exp_date is a string in ISO format\r\n })\r\n ).isRequired,\r\n selectBatch: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default BatchSelectionModal;","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getPharmacyList,\r\n getAllPharmacyDrugs,\r\n getAllPharmacyItemList,\r\n getAllPharmacyVendorList,\r\n addPharmacy,\r\n addVendor,\r\n addSaleEntryData,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n getBatchnobydrugnameandExpDate,\r\n getQuantityBygenericnameandbatchno,\r\n getBatchandExpDateBydrugname,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail,\r\n getclientbyphonenumber\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport QuantityPopupinfo from \"../components/UI/Quantitypopupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport \"../assets/css/mystyle.css\";\r\nimport * as moment from \"moment\";\r\nimport { Restaurant } from \"@material-ui/icons\";\r\nimport { Link } from 'react-router-dom';\r\nimport BatchSelectionModal from \"./BatchSelectModal\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n drug_id:\"\",\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n storage_bin: \"\",\r\n quantity: \"\",\r\n loose: \"\",\r\n cummulative_quantity:0,\r\n rate: 0,\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n discAmt: 0,\r\n taxrate: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n};\r\nclass SaleEntryVoucher extends Component {\r\n _isMounted = false;\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.searchData = {\r\n phone_number: \"\",\r\n error: \"\",\r\n };\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n showModel: false,\r\n selectedBatches: [],\r\n currentBatchinrow: null,\r\n currentRow: null,\r\n discountPercentage: '',\r\n batches: [],\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n searchData: this.searchData,\r\n add_btn: false,\r\n quantitypopup:false,\r\n popupMessage: '',\r\n purchaseEntryVoucher: {\r\n drug_name: \"\",\r\n // defaultEnterSize: 20,\r\n records: [],\r\n supplies: [],\r\n },\r\n\r\n saleEntryData:\r\n {\r\n phone_number: \"\",\r\n patient_name: \"\",\r\n address: \"\",\r\n remarks: \"\",\r\n bill_no: \"\",\r\n bill_date: new Date(),\r\n doctorreg_no: \"\",\r\n doctor_name: \"\",\r\n created_by: \"\",\r\n payment_mode: \"\",\r\n },\r\n\r\n totalAmtSec: {\r\n\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n gstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n totalAmtWords: \"\",\r\n taxrate: 0,\r\n },\r\n totalTaxAmtSec: {\r\n cgstAmt5: 0,\r\n sgstAmt5: 0,\r\n sub_total5: 0,\r\n taxAmt5: 0,\r\n cgstAmt12: 0,\r\n sgstAmt12: 0,\r\n sub_total12: 0,\r\n taxAmt12: 0,\r\n cgstAmt18: 0,\r\n sgstAmt18: 0,\r\n sub_total18: 0,\r\n taxAmt18: 0,\r\n sub_total: {\r\n 5: 0, // Taxable amount for 5%\r\n 12: 0, // Taxable amount for 12%\r\n 18: 0, // Taxable amount for 18%\r\n },\r\n cgstAmt: {\r\n 5: 0, // CGST amount for 5%\r\n 12: 0, // CGST amount for 12%\r\n 18: 0, // CGST amount for 18%\r\n },\r\n sgstAmt: {\r\n 5: 0, // SGST amount for 5%\r\n 12: 0, // SGST amount for 12%\r\n 18: 0, // SGST amount for 18%\r\n },\r\n total: {\r\n 5: 0, // Total amount for 5%\r\n 12: 0, // Total amount for 12%\r\n 18: 0, // Total amount for 18%\r\n },\r\n },\r\n /* taxRates: [\r\n {\r\n percentage: 5,\r\n taxableAmt: this.state.totalAmtSec.taxableAmt5, \r\n cgstAmt: this.state.totalAmtSec.cgstAmt5, \r\n sgstAmt: this.state.totalAmtSec.sgstAmt5, \r\n totalAmt: this.state.totalAmtSec.totalAmt5 \r\n },\r\n {\r\n percentage: 12,\r\n taxableAmt: this.state.totalAmtSec.taxableAmt12,\r\n cgstAmt: this.state.totalAmtSec.cgstAmt12, \r\n sgstAmt: this.state.totalAmtSec.sgstAmt12, \r\n totalAmt: this.state.totalAmtSec.totalAmt12 \r\n },\r\n {\r\n percentage: 18,\r\n taxableAmt: this.state.totalAmtSec.taxableAmt18, \r\n cgstAmt: this.state.totalAmtSec.cgstAmt18, \r\n sgstAmt: this.state.totalAmtSec.sgstAmt18, \r\n totalAmt: this.state.totalAmtSec.totalAmt18 \r\n }\r\n ], */\r\n\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n voucher_no: \"\",\r\n voucher_date: \"\",\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n poref_no: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n align: \"left\", // Set alignment to center\r\n sortable: true,\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n {index + 1} {/* Display the serial number based on the index */}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n
    \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '450px',\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n\r\n\r\n {row.generic_name && (row.batch_no !== '' || row.batch_no !== null) ? (\r\n\r\n row.generic_name\r\n\r\n ) : (\r\n option.label === row.generic_name)} // Ensure value is null if not found\r\n onChange={this.handleselectChange(index, 'generic_name')}\r\n options={this.state.supplies}\r\n />\r\n )}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => row.pack\r\n },\r\n\r\n /* {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width:'200px',\r\n cell: (row, index) => row.batch_no \r\n \r\n \r\n }, */\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => (\r\n
    \r\n {row.generic_name ? (\r\n row.batch_no ? (\r\n row.batch_no\r\n ) : (\r\n this.handleShow(index)}>Select Batch\r\n )\r\n ) : null}\r\n
    \r\n ),\r\n },\r\n {\r\n key: \"storage_bin\",\r\n text: \"Storage Bin\",\r\n className: \"storage_bin\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => row.storage_bin\r\n\r\n },\r\n\r\n /* {\r\n key: \"manu_date\",\r\n text: \"Mfg.Date\",\r\n className: \"manu_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n }, \r\n {\r\n key: \"exp_date\",\r\n text:\"Exp. Date\",\r\n className: \"exp_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n }, */\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"loose\",\r\n text: \"Loose\",\r\n className: \"loose\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.mrp\r\n\r\n\r\n },\r\n {\r\n key: \"rate\",\r\n text: \"Rate\",\r\n className: \"rate\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => row.rate.toFixed(2)\r\n },\r\n /* {\r\n key: \"cummulative_quantity\",\r\n text: \"cummulative_quantity\",\r\n className: \"cummulative_quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => row.cummulative_quantity.toFixed(2)\r\n }, */\r\n /* {\r\n key: \"disc\",\r\n text: \"Disc%\",\r\n className: \"disc\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n \r\n }, */\r\n {\r\n key: \"sub_total\",\r\n text: \"Amount\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.sub_total.toFixed(2)\r\n },\r\n\r\n\r\n /* {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.cgst \r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.sgst \r\n }, */\r\n /* {\r\n key: \"igst\",\r\n text: \"IGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.igst \r\n }, */\r\n /* {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n right: true,\r\n width:200,\r\n cell: (row, index) => row.total.toFixed(2) \r\n }, */\r\n ];\r\n this.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n
    \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n
    \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchcolumns = [\r\n\r\n {\r\n key: \"pharmacy_id\",\r\n text: \"Pharmacy ID\",\r\n className: \"searchpharmacy_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Address\",\r\n className: \"pharmacy_location\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.clearBatches = this.clearBatches.bind(this);\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData, errors });\r\n };\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n /* \r\n handleInput =(index,record) => {\r\n console.log(e);\r\n console.log(index);\r\n console.log(record);\r\n record[e.target.name] = e.target.value;\r\n }; */\r\n handlePhoneInput = (event) => {\r\n event.preventDefault();\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n data[event.target.name] = event.target.value\r\n .replace(/\\s/g, \"\")\r\n .replace(/[^0-9+]+/g, \"\");\r\n data.error = \"\";\r\n this.setState({ searchData: data, errors });\r\n };\r\n\r\n handleAdd = (e) => {\r\n let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n\r\n name === \"patient_name\" ||\r\n name === \"address\" ||\r\n name === \"created_by\" ||\r\n name === \"remarks\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ saleEntryData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n handleInput = (index, field) => (event) => {\r\n const { value } = event.target;\r\n const records = [...this.state.records]; // Create a copy of the records\r\n records[index][field] = value; // Update the specific field for the specific index\r\n // console.log(value);\r\n // console.log(index,field);\r\n console.log(records);\r\n this.setState({ records }); // Update the state with the new records\r\n };\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n saleEntryData: {\r\n ...prevState.saleEntryData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n\r\n SalesB2B = () => {\r\n this.props.history.push(\"/saleentryvoucherb2b/\");\r\n }\r\n\r\n SearchPatient = () => {\r\n // event.preventDefault();\r\n\r\n let searchData = this.state.searchData;\r\n if (searchData.phone_number === \"\") {\r\n searchData.error = \"Phone number is required\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n if (searchData.phone_number.length !== 10) {\r\n searchData.error = \"Enter a valid phone number\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n\r\n\r\n if (searchData.phone_number !== \"\" && searchData.phone_number.length === 10) {\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n getclientbyphonenumber,\r\n { phone_number: searchData.phone_number },\r\n CONFIG\r\n )\r\n .then((result) => {\r\n this.setState({ loading: false });\r\n\r\n if (result.data.status === \"1\") {\r\n let data = result.data.client;\r\n\r\n console.log(data);\r\n\r\n let patient_name = data.first_name + ' ' + data.last_name;\r\n let patient_address = data.address1 + ',' + data.city + ',' + data.state + ',' + data.country + '-' + data.zip_code;\r\n\r\n console.log(patient_name);\r\n console.log(patient_address);\r\n this.setState({\r\n clientData: data,\r\n patient_name: patient_name,\r\n patient_address: patient_address,\r\n add_btn: true,\r\n\r\n });\r\n\r\n\r\n } else {\r\n\r\n let formSuccess = {\r\n message: \"No Client Found\",\r\n status: \"0\",\r\n };\r\n searchData.error = result.data.message;\r\n this.setState({\r\n searchData,\r\n is_add_btn: true,\r\n clientData: {},\r\n patientBasicData: [],\r\n loading: false,\r\n selectedPerson: \"\",\r\n formSuccess,\r\n\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n console.log(e.data);\r\n console.log(\"business user getbyid failed\");\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n getMaxAllowedQuantity = (genericName, batchno) => {\r\n return axios.post(getQuantityBygenericnameandbatchno, { \r\n generic_name: genericName,\r\n batch_no: batchno,\r\n specified_date: new Date() \r\n }, CONFIG)\r\n .then((response) => {\r\n console.log(response.data.data[0].quantity);\r\n // Ensure batches is always an array\r\n let maxAllowedQuantity = response.data.data[0].quantity ? response.data.data[0].quantity : 0.0;\r\n console.log(\"Fetched Quantity: \", maxAllowedQuantity);\r\n return maxAllowedQuantity; // Return the fetched quantity\r\n })\r\n .catch(error => {\r\n console.error('Error fetching data:', error);\r\n this.setState({ maxAllowedQuantity: 0.0 }); // Set to 0 on error\r\n return 0.0; // Return 0 on error\r\n });\r\n};\r\nhandleQuantityInputChange = (index, key) => event => {\r\n const newQuantity = event.target.value ? parseFloat(event.target.value) : '';\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = newQuantity; // Temporarily set the new quantity\r\n\r\n console.log(newQuantity);\r\n\r\n // Get the drug name and batch number from the record\r\n const drugName = updatedData[index].generic_name; // Adjust based on your data structure\r\n const batchNo = updatedData[index].batch_no; // Adjust based on your data structure\r\n\r\n // Fetch the maximum allowed quantity\r\n this.getMaxAllowedQuantity(drugName, batchNo).then(maxAllowedQuantity => {\r\n console.log(maxAllowedQuantity);\r\n\r\n // Validate the new quantity\r\n if (newQuantity > maxAllowedQuantity) {\r\n console.log(\"Showing popup: Quantity exceeds maximum allowed.\"); // Debugging log\r\n \r\n this.setState({\r\n quantitypopup: true,\r\n popupMessage: `Quantity cannot exceed the maximum allowed quantity of ${maxAllowedQuantity}.`\r\n });\r\n \r\n updatedData[index][key] = maxAllowedQuantity; // Reset to max allowed\r\n \r\n } else {\r\n updatedData[index][key] = newQuantity; // Set to new quantity if valid\r\n }\r\n\r\n // Update the state with the validated quantity\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateRate(index);\r\n this.calculateCummulativeQuantity(index);\r\n });\r\n }).catch(error => {\r\n console.error('Error fetching max allowed quantity:', error);\r\n // Handle error appropriately, e.g., reset quantity or show an error message\r\n });\r\n};\r\n handleInputChange = (e) => {\r\n const value = e.target.value;\r\n const discountPercentage = value ? parseFloat(value) : 0; // Parse the input value\r\n\r\n // Update the discount percentage in the state\r\n this.setState({ discountPercentage }, () => {\r\n this.calculateDiscountAmounts();\r\n\r\n // Calculate discount amounts for all records\r\n });\r\n };\r\n calculateDiscountAmounts = () => {\r\n const { records, discountPercentage } = this.state;\r\n\r\n // Calculate discount amounts for all records\r\n const updatedRecords = records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = (sub_total * (discountPercentage / 100)); // Calculate discount amount\r\n return { ...record, discAmt }; // Return updated record\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords }, () => {\r\n this.calculateTotals();\r\n // this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n calculateTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = record.discAmt || 0; // Default to 0 if undefined\r\n const cgstAmt = record.cgstAmt || 0; // Default to 0 if undefined\r\n const sgstAmt = record.sgstAmt || 0; // Default to 0 if undefined\r\n const gstAmt = cgstAmt + sgstAmt;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n // Calculate the total\r\n const total = (sub_total - discAmt) + gstAmt;\r\n return { ...record, total }; // Return updated record with total\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n\r\n\r\n calculateRate = (index) => {\r\n let updatedData = [...this.state.records];\r\n let mrp = updatedData[index].mrp || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n let conversion_factor = updatedData[index].conversion_factor || 1;\r\n let cgst = updatedData[index].cgst || 0;\r\n let sgst = updatedData[index].cgst || 0;\r\n let gst = Number(cgst) + Number(sgst);\r\n console.log(cgst);\r\n console.log(sgst);\r\n console.log(gst);\r\n if (quantity != null && quantity !== 0) {\r\n if (gst == 5) {\r\n updatedData[index].rate = mrp / 1.05;\r\n } else if (gst == 12) {\r\n updatedData[index].rate = mrp / 1.12;\r\n }\r\n else if (gst == 18) {\r\n updatedData[index].rate = mrp / 1.18;\r\n }\r\n\r\n } else if (loose != null && loose !== 0) {\r\n updatedData[index].rate = mrp / conversion_factor;\r\n\r\n }\r\n\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n this.calculateSubTotals();\r\n //this.calculateTotals();\r\n });\r\n };\r\n\r\n calculateCummulativeQuantity=(index)=>{\r\n let updatedData = [...this.state.records];\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n let conversion_factor = updatedData[index].conversion_factor || 1;\r\n if (quantity !== null && quantity !== 0) {\r\n updatedData[index].cummulative_quantity = quantity + (loose/conversion_factor);\r\n console.log(updatedData[index].cummulative_quantity);\r\n console.log(quantity);\r\n console.log(loose);\r\n console.log(conversion_factor);\r\n \r\n }\r\n else if (loose !== null && loose !== 0) {\r\n updatedData[index].cummulative_quantity = quantity + (loose/conversion_factor);\r\n }\r\n this.setState({ records: updatedData });\r\n }\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let rate = updatedData[index].rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n if (quantity !== null && quantity !== 0) {\r\n updatedData[index].sub_total = quantity * rate;\r\n }\r\n else if (loose !== null && loose !== 0) {\r\n updatedData[index].sub_total = loose * rate;\r\n }\r\n this.setState({ records: updatedData }, () => {\r\n\r\n // this.calculateTotal(index);\r\n // this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n this.calculateGstAmount(index);\r\n });\r\n };\r\n\r\n calculateSubTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const rate = record.rate || 0;\r\n const quantity = record.quantity || 0;\r\n const loose = record.loose || 0;\r\n let sub_total = 0;\r\n if (quantity > 0) {\r\n sub_total = quantity * rate;\r\n } else if (loose > 0) {\r\n sub_total = loose * rate;\r\n }\r\n\r\n // Return the updated record with the calculated subtotal\r\n return { ...record, sub_total };\r\n\r\n\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n this.calculateTotals();\r\n\r\n });\r\n };\r\n\r\n calculateTaxAmounts = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const taxrate = record.taxrate || 0;\r\n let sub_total = 0; // Initialize sub_total\r\n\r\n // Assuming you have a quantity and rate in each record\r\n const quantity = record.quantity || 0; // Default to 0 if undefined\r\n const rate = record.rate || 0; // Default to 0 if undefined\r\n\r\n // Calculate subtotal based on the tax rate\r\n if (taxrate === 5) {\r\n // Example calculation for 5% tax\r\n sub_total = quantity * rate * 1.05; // Including tax\r\n } else if (taxrate === 12) {\r\n // Example calculation for 12% tax\r\n sub_total = quantity * rate * 1.12; // Including tax\r\n } else if (taxrate === 18) {\r\n // Example calculation for 18% tax\r\n sub_total = quantity * rate * 1.18; // Including tax\r\n } else {\r\n // If tax rate is not recognized, just calculate the base subtotal\r\n sub_total = quantity * rate; // No tax applied\r\n }\r\n\r\n // Return the updated record with the calculated subtotal\r\n return { ...record, sub_total };\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData });\r\n };\r\n\r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let gstAmt = updatedData[index].gstAmt || 0;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n updatedData[index].total = sub_total - discAmt + gstAmt;\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = (sub_total * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n\r\n calculateGstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n let cgstAmt = updatedData[index].cgstAmt;\r\n let sgstAmt = updatedData[index].sgstAmt;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n updatedData[index].gstAmt = (cgstAmt + sgstAmt);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n\r\n\r\n\r\n\r\n UpdateColumnChange = (record) => {\r\n\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n\r\n records[recIndex].pharmacy_id = record.pharmacy_id ? record.pharmacy_id : \"\";\r\n records[recIndex].pharmacy_name = record.pharmacy_name;\r\n records[recIndex].pharmacy_location = record.pharmacy_location;\r\n records[recIndex].address = record.address;\r\n records[recIndex].city = record.city;\r\n records[recIndex].country = record.country;\r\n records[recIndex].state = record.state;\r\n records[recIndex].zip_code = record.zip_code;\r\n // records[recIndex].phone_number = record.phone_number;\r\n\r\n this.setState({ records: records });\r\n }\r\n\r\n\r\n clearErrors = (errors) => {\r\n\r\n\r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no = \"\"\r\n return errors\r\n }\r\n\r\n clear = () => {\r\n\r\n let data = this.state.saleEntryData;\r\n\r\n data.phone_number = \"\";\r\n data.patient_name = \"\";\r\n data.address = \"\";\r\n this.state.patient_address = \"\";\r\n this.state.patient_name = \"\";\r\n this.state.searchData.phone_number = \"\";\r\n this.setState({ saleEntryData: data, add_btn: false, formSuccess: { message: \"\", }, });\r\n\r\n }\r\n\r\n cancel = () => {\r\n\r\n let data = this.state.saleEntryData;\r\n\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n saleEntryData: data, actions: \"add\", voucher_no: \"\", errors: errors, searchErrorMessage: \"\", records: [],\r\n search_action: false,\r\n totalAmtSec: {\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n\r\n\r\n },\r\n\r\n });\r\n }\r\n\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n /* calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let amt = 0.0;\r\n let taxAmt = 0.0;\r\n let taxVal = 0.0;\r\n let totalAmt = 0.0;\r\n let sub_total=0.0;\r\n console.log(records);\r\n \r\n records.map((data, i) => {\r\n if (undefined !== data.fee) {\r\n amt = Number(amt) + Number(data.fee);\r\n }\r\n if (undefined !== data.gst_amount) {\r\n taxAmt = Number(taxAmt) + Number(data.gst_amount);\r\n }\r\n if (undefined !== data.taxable_value) {\r\n taxVal = Number(taxVal) + Number(data.taxable_value);\r\n }\r\n if (undefined !== data.total_amount) {\r\n totalAmt = Number(totalAmt) + Number(data.total_amount);\r\n }\r\n if (undefined !== data.quantity) {\r\n sub_total = Number(data.quantity) * Number(data.p_rate);\r\n }\r\n });\r\n \r\n totalAmtSec.amt = amt;\r\n totalAmtSec.taxAmt = taxAmt;\r\n totalAmtSec.taxVal = taxVal;\r\n totalAmtSec.totalAmt = totalAmt;\r\n totalAmtSec.sub_total=sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(totalAmt)+\" rupees only\";\r\n this.setState({ totalAmtSec });\r\n \r\n console.log(totalAmtSec);\r\n }; \r\n */\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let gstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n let roundtotal = 0.0;\r\n let rounddiff = 0.0;\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n\r\n if (data.gstAmt !== undefined) {\r\n gstAmt += Number(data.gstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.gstAmt = gstAmt;\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.roundtotal = Math.round(total);\r\n totalAmtSec.rounddiff = total - totalAmtSec.roundtotal;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n\r\n calculateTaxAmountSection = () => {\r\n let records = this.state.records;\r\n let totalTaxAmtSec = { ...this.state.totalTaxAmtSec };\r\n\r\n // Initialize tax amounts and totals for each tax rate\r\n let taxSummary = {\r\n 5: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 12: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 18: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n };\r\n\r\n\r\n records.forEach((data) => {\r\n const taxRate = data.taxrate;\r\n\r\n\r\n if (taxSummary[taxRate]) {\r\n console.log(\"Current Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n\r\n taxSummary[taxRate].cgstAmt += Number(data.cgstAmt) || 0;\r\n taxSummary[taxRate].sgstAmt += Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].taxAmt += Number(data.cgstAmt) + Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].sub_total += Number(data.sub_total) || 0;\r\n\r\n console.log(\"Updated Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n }\r\n });\r\n\r\n // Ensure totalTaxAmtSec has the necessary properties initialized\r\n totalTaxAmtSec = {\r\n cgstAmt5: totalTaxAmtSec.cgstAmt5 || 0,\r\n sgstAmt5: totalTaxAmtSec.sgstAmt5 || 0,\r\n taxAmt5: totalTaxAmtSec.taxAmt5 || 0,\r\n sub_total5: totalTaxAmtSec.sub_total5 || 0,\r\n cgstAmt12: totalTaxAmtSec.cgstAmt12 || 0,\r\n sgstAmt12: totalTaxAmtSec.sgstAmt12 || 0,\r\n taxAmt12: totalTaxAmtSec.taxAmt12 || 0,\r\n sub_total12: totalTaxAmtSec.sub_total12 || 0,\r\n cgstAmt18: totalTaxAmtSec.cgstAmt18 || 0,\r\n sgstAmt18: totalTaxAmtSec.sgstAmt18 || 0,\r\n taxAmt18: totalTaxAmtSec.taxAmt18 || 0,\r\n sub_total18: totalTaxAmtSec.sub_total18 || 0,\r\n };\r\n\r\n\r\n\r\n // Update the totalTaxAmtSec object with calculated values\r\n totalTaxAmtSec.cgstAmt5 = taxSummary[5].cgstAmt;\r\n totalTaxAmtSec.sgstAmt5 = taxSummary[5].sgstAmt;\r\n totalTaxAmtSec.taxAmt5 = taxSummary[5].taxAmt;\r\n totalTaxAmtSec.sub_total5 = taxSummary[5].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt12 = taxSummary[12].cgstAmt;\r\n totalTaxAmtSec.sgstAmt12 = taxSummary[12].sgstAmt;\r\n totalTaxAmtSec.taxAmt12 = taxSummary[12].taxAmt;\r\n totalTaxAmtSec.sub_total12 = taxSummary[12].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt18 = taxSummary[18].cgstAmt;\r\n totalTaxAmtSec.sgstAmt18 = taxSummary[18].sgstAmt;\r\n totalTaxAmtSec.taxAmt18 = taxSummary[18].taxAmt;\r\n totalTaxAmtSec.sub_total18 = taxSummary[18].sub_total;\r\n\r\n console.log(\"Final Total Tax Amount Section:\", totalTaxAmtSec);\r\n\r\n // Update the state with the new total tax amounts\r\n this.setState({ totalTaxAmtSec });\r\n };\r\n\r\n generate() {\r\n let { saleEntryData, errors } = this.state;\r\n saleEntryData.type = \"saleEntryData\";\r\n errors = Validation(saleEntryData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n phone_number: saleEntryData.phone_number || this.state.searchData.phone_number,\r\n patient_name: saleEntryData.patient_name || this.state.patient_name,\r\n address: saleEntryData.address || this.state.patient_address,\r\n remarks: saleEntryData.remarks,\r\n bill_date: saleEntryData.bill_date,\r\n doctorreg_no: saleEntryData.doctorreg_no,\r\n doctor_name: saleEntryData.doctor_name,\r\n created_by: saleEntryData.created_by,\r\n records: this.state.records\r\n };\r\n console.log(data);\r\n console.log(this.state.bill_no);\r\n console.log(this.state.saleEntryData.bill_date);\r\n this.props.history.push({\r\n pathname: \"/saleinvoice/\" + this.state.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/saleinvoice/\" + this.state.bill_no,\r\n state: {\r\n bill_no: this.state.bill_no,\r\n bill_date: this.state.saleEntryData.bill_date.toString(),\r\n patient_name: this.state.patient_name,\r\n patient_address: this.state.patient_address,\r\n doctorreg_no: this.state.saleEntryData.doctorreg_no,\r\n doctor_name: this.state.saleEntryData.doctor_name,\r\n sub_total: this.state.totalAmtSec.sub_total.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n discAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n total: this.state.totalAmtSec.total.toFixed(2),\r\n totalAmtWords: this.state.totalAmtSec.totalAmtWords,\r\n roundtotal: this.state.totalAmtSec.roundtotal.toFixed(2),\r\n rounddiff: this.state.totalAmtSec.rounddiff.toFixed(2),\r\n sub_total5: this.state.totalTaxAmtSec.sub_total5,\r\n cgstAmt5: this.state.totalTaxAmtSec.cgstAmt5,\r\n sgstAmt5: this.state.totalTaxAmtSec.sgstAmt5,\r\n taxAmt5: this.state.totalTaxAmtSec.taxAmt5,\r\n sub_total12: this.state.totalTaxAmtSec.sub_total12,\r\n cgstAmt12: this.state.totalTaxAmtSec.cgstAmt12,\r\n sgstAmt12: this.state.totalTaxAmtSec.sgstAmt12,\r\n taxAmt12: this.state.totalTaxAmtSec.taxAmt12,\r\n sub_total18: this.state.totalTaxAmtSec.sub_total18,\r\n cgstAmt18: this.state.totalTaxAmtSec.cgstAmt18,\r\n sgstAmt18: this.state.totalTaxAmtSec.sgstAmt18,\r\n taxAmt18: this.state.totalTaxAmtSec.taxAmt18,\r\n }\r\n });\r\n }\r\n }\r\n addSaleEntryData() {\r\n\r\n\r\n let { saleEntryData, errors } = this.state;\r\n saleEntryData.type = \"saleEntryData\";\r\n errors = Validation(saleEntryData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n phone_number: saleEntryData.phone_number || this.state.searchData.phone_number,\r\n patient_name: saleEntryData.patient_name || this.state.patient_name,\r\n address: saleEntryData.address || this.state.patient_address,\r\n remarks: saleEntryData.remarks,\r\n bill_date: saleEntryData.bill_date,\r\n doctorreg_no: saleEntryData.doctorreg_no,\r\n doctor_name: saleEntryData.doctor_name,\r\n created_by: saleEntryData.created_by,\r\n records: this.state.records,\r\n discPercent: this.state.discountPercentage,\r\n subtotalAmount: this.state.totalAmtSec.sub_total.toFixed(2),\r\n totalAmount: this.state.totalAmtSec.total.toFixed(2),\r\n discountAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n cgstAmt5:this.state.totalTaxAmtSec.cgstAmt5.toFixed(2),\r\n sgstAmt5:this.state.totalTaxAmtSec.sgstAmt5.toFixed(2),\r\n taxAmt5:this.state.totalTaxAmtSec.taxAmt5.toFixed(2),\r\n sub_total5:this.state.totalTaxAmtSec.sub_total5.toFixed(2),\r\n cgstAmt12:this.state.totalTaxAmtSec.cgstAmt12.toFixed(2),\r\n sgstAmt12:this.state.totalTaxAmtSec.sgstAmt12.toFixed(2),\r\n taxAmt12:this.state.totalTaxAmtSec.taxAmt12.toFixed(2),\r\n sub_total12:this.state.totalTaxAmtSec.sub_total12.toFixed(2),\r\n cgstAmt18:this.state.totalTaxAmtSec.cgstAmt18.toFixed(2),\r\n sgstAmt18:this.state.totalTaxAmtSec.sgstAmt18.toFixed(2),\r\n taxAmt18:this.state.totalTaxAmtSec.taxAmt18.toFixed(2),\r\n sub_total18:this.state.totalTaxAmtSec.sub_total18.toFixed(2),\r\n payment_mode: saleEntryData.payment_mode.label,\r\n customer_type: 'patient',\r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n\r\n axios\r\n\r\n .post(addSaleEntryData, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n editformSuccess: res,\r\n bill_no: res.data[0].bill_no,\r\n bill_date: this.state.bill_date\r\n });\r\n toast.success(\"The Sale Entry voucher have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n\r\n this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Sale Entry voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n\r\n }\r\n }\r\n\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n componentDidMount = () => {\r\n this._isMounted = true;\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n\r\n //set first record as consultation fee by default\r\n /* let consultation_fee_record = {};\r\n consultation_fee_record.s_no = 1;\r\n consultation_fee_record.description = \"Consultation Fee\";\r\n consultation_fee_record.fee = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n consultation_fee_record.disc = \"\";\r\n consultation_fee_record.taxable_value = \"\";\r\n consultation_fee_record.gst_rate = \"\";\r\n consultation_fee_record.gst_amount = \"\";\r\n consultation_fee_record.total_amount = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n*/\r\n let records = [];\r\n // records.push(consultation_fee_record); \r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n\r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n\r\n }));\r\n\r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n });\r\n\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n };\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n refreshSelectedBatches = () => {\r\n this.setState({\r\n selectedBatches: [],\r\n selectedExpdates: [],\r\n selectedQuantities: [],\r\n batches:[],\r\n }, () => {\r\n console.log(\"Selected batches cleared.\");\r\n // Optionally, you can call the selectBatch function to notify the parent component\r\n if (this.selectBatch) {\r\n this.selectBatch(this.state.selectedBatches, this.state.selectedExpdates, this.state.selectedQuantities);\r\n }\r\n });\r\n };\r\n refreshData=()=>{\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n\r\n let records = [];\r\n // records.push(consultation_fee_record); \r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n selectedBatches:[],\r\n selectedExpdates:[],\r\n selectedQuantities:[],\r\n batches:[],\r\n },\r\n () => {\r\n this.calculateSection();\r\n this.refreshSelectedBatches();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n }\r\n onDeleteClick(record) {\r\n\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n // Filter out the record to delete\r\n const updatedRecords = this.state.records.filter(item => item.s_no !== record.s_no);\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords, addPopup: false }, () => {\r\n toast.success(\"The Sale Entry detail has been deleted successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.calculateSubTotals();\r\n console.log(updatedRecords);\r\n });\r\n }\r\n handlepaymentselectChange = (selectedOptions, e) => {\r\n let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ saleEntryData: data, errors, searchErrorMessage: \"\" });\r\n }\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n \r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug,{user_id:this.props.userdata.id,drug_name:selectedOption.label}, CONFIG)\r\n .then((drugRespons) => {\r\n let ItemList = drugRespons.data.data;\r\n \r\n ItemList.forEach((element, index) => {\r\n ItemList.push({\r\n \r\n pack:element.pack,\r\n cgst: element.cgst,\r\n sgst:element.sgst,\r\n igst:element.igst\r\n \r\n });\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"s_no\", record.s_no);\r\n if (null != record) {\r\n \r\n records[recIndex].pack = element.unit_of_measure;\r\n records[recIndex].cgst = element.cgst + \" %\";\r\n records[recIndex].gst_amount =\r\n (record.tax_percentage / 100) * record.amount;\r\n records[recIndex].total_amount =\r\n Number(records[recIndex].fee) +\r\n Number(records[recIndex].gst_amount);\r\n } else {\r\n \r\n records[recIndex].fee = \"\";\r\n records[recIndex].gst_rate = \"\";\r\n records[recIndex].gst_amount = \"\";\r\n records[recIndex].total_amount = \"\";\r\n }\r\n \r\n console.log(recIndex);\r\n console.log(records.length - 1);\r\n if (recIndex === records.length - 1) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = records.length + 1;\r\n records.push(default_rec);\r\n }\r\n \r\n });\r\n \r\n })\r\n \r\n \r\n \r\n \r\n \r\n \r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getPharmacyShortDetail,{user_id:this.props.userdata.id}, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n \r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value:data.state\r\n \r\n });\r\n }).catch((e) => { });\r\n \r\n \r\n // Post request to fetch item details\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total:updatedData[index].quantity*(updatedData[index].p_rate-(updatedData[index].disc*updatedData[index].p_rate)),\r\n // gst_amount: (updatedData[index].tax_percentage / 100) * updatedData[index].amount,\r\n // total_amount: Number(updatedData[index].fee) + Number(updatedData[index].gst_amount)\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n \r\n if (response.data.status == \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(this.state.gst_state);\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total: updatedData[index].quantity * (updatedData[index].p_rate - (updatedData[index].disc * updatedData[index].p_rate)),\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n }; */\r\n /* handleselectChange = (selectedOption) => {\r\n const updatedRecords = this.state.records.map(record => ({\r\n ...record,\r\n drug_name: selectedOption ? selectedOption.value : '', // Set drug_name for all records\r\n }));\r\n this.setState({ records: updatedRecords });\r\n }; */\r\n\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n const drugNameToSet = selectedOption ? selectedOption.label : ''; // Get the selected drug name\r\n\r\n // Update the drug_name for the specific record\r\n updatedData[index].generic_name = drugNameToSet;\r\n\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n console.log(updatedData[index][key])\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData, selectedBatches: [], batches: [] });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n this.getBatchandExpDateBydrugname(index, selectedOption,new Date());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n\r\n handleShow = (index) => {\r\n const currentRecord = this.state.records[index];\r\n console.log(currentRecord);\r\n console.log(\"curent index\", index);\r\n console.log(this.state.selectedBatches);\r\n\r\n // Create the current batch object\r\n const currentBatchInRow = {\r\n batch_no: currentRecord.batch_no || 'Select Batch',\r\n exp_date: currentRecord.exp_date || 'N/A',\r\n };\r\n console.log(currentBatchInRow);\r\n\r\n // Determine the selectedBatch based on the existence of batch_no\r\n const selectedBatch = currentRecord.batch_no\r\n ? currentBatchInRow // If batch_no exists, use currentBatchInRow\r\n : { batch_no: 'Select Batch', exp_date: 'N/A' }; // If not, use default\r\n\r\n // Set the current row index and selected batch in a single setState call\r\n this.setState({\r\n currentRow: index,\r\n selectedBatch: currentBatchInRow, // Set the selected batch based on the logic\r\n showModel: true,\r\n selectedBatches: [], // Show the modal\r\n //batches:[],\r\n });\r\n\r\n };\r\n\r\n clearBatches = () => {\r\n this.setState({\r\n \r\n selectedBatches: [],\r\n }, () => {\r\n console.log(\"Batches and selected batches cleared.\");\r\n });\r\n };\r\n handleBatchClose = () => {\r\n this.clearBatches(); // Clear batches when modal is closed\r\n this.setState({ showModel: false });\r\n };\r\n handleSelectBatchClick = () => {\r\n const { selectedBatches, selectedExpdates, currentRow } = this.state;\r\n\r\n if (selectedBatches.length > 0) {\r\n console.log(\"Remove previous batch\", selectedBatches.shift()); // Remove the first element from selectedBatches\r\n console.log(\"Remove previous exp_date\", selectedExpdates.shift()); // Remove the first element from selectedExpdates\r\n\r\n this.selectBatch(selectedBatches, selectedExpdates, currentRow);\r\n\r\n // Clear selections\r\n this.setState({\r\n selectedBatches: [],\r\n selectedExpdates: []\r\n });\r\n } else {\r\n console.log('No batches selected.');\r\n }\r\n };\r\n deleteElementsUpToIndex(array, index) {\r\n // Check if the index is valid\r\n if (index < 0 || index >= array.length) {\r\n console.error(\"Invalid index\");\r\n return array; // Return the original array if the index is invalid\r\n }\r\n \r\n // Return a new array starting from the specified index\r\n return array.slice(index);\r\n}\r\n\r\n selectBatch = (batches, expdates,quantities, selectedIndex) => {\r\n const updatedRecords = [...this.state.records];\r\n const batcheslength = batches.length;\r\n console.log(\"Selected Index:\", selectedIndex);\r\n console.log(\"Batches:\", batches);\r\n console.log(\"Quantities:\", quantities);\r\n console.log(\"old batch length\", batcheslength);\r\n console.log(\"New batches length\", batches.length);\r\n console.log(\"First Record:\", updatedRecords[0]);\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const drug_id=updatedRecords[this.state.currentRow]?.drug_id;\r\n const drugNameToSet = updatedRecords[this.state.currentRow]?.generic_name;\r\n const packToSet = updatedRecords[this.state.currentRow]?.pack;\r\n const storagebin = updatedRecords[this.state.currentRow]?.storage_bin;\r\n const mrp = updatedRecords[this.state.currentRow]?.mrp;\r\n const cgst = updatedRecords[this.state.currentRow]?.cgst;\r\n const sgst = updatedRecords[this.state.currentRow]?.sgst;\r\n const hsn_code = updatedRecords[this.state.currentRow]?.hsn_code;\r\n const conversion_factor = updatedRecords[this.state.currentRow]?.conversion_factor;\r\n console.log(\"Drug Name to Set:\", drugNameToSet);\r\n\r\n if (this.state.currentRow === 0) {\r\n // Loop through each selected batch and update the corresponding row\r\n batches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n\r\n expdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n quantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n } \r\nelse{\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const updatedbatches=this.deleteElementsUpToIndex(batches, this.state.currentRow);\r\n updatedbatches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n const updatedexpdates=this.deleteElementsUpToIndex(expdates, this.state.currentRow);\r\n updatedexpdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedquantities=this.deleteElementsUpToIndex(quantities, this.state.currentRow);\r\n \r\n updatedquantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n}\r\n \r\n this.setState({ records: updatedRecords }, () => {\r\n console.log('Updated Records after Set State:', this.state.records);\r\n this.calculateTaxAmountSection();\r\n this.setState({ selectedBatches: [], selectedExpdates: [] ,selectedQuantities:[]});\r\n });\r\n };\r\n\r\n\r\n getBatchnobyDrugname = (index, selectedOption) => {\r\n axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n\r\n let batch_no = drugResponse.data.data;\r\n console.log(\"Fetched batch: \", batch_no[0]);\r\n })\r\n }\r\n\r\n getBatchandExpDateBydrugname = (index, selectedOption) => {\r\n if (selectedOption != null) {\r\n this.setState({ batches: [] });\r\n axios.post(getBatchandExpDateBydrugname, { generic_name: selectedOption.label,specified_date: new Date() }, CONFIG)\r\n .then((drugResponse) => {\r\n // Ensure batches is always an array\r\n let batches = Array.isArray(drugResponse.data.data) ? drugResponse.data.data : [];\r\n console.log(\"Fetched batches: \", batches);\r\n this.setState({ batches, });\r\n })\r\n .catch(error => {\r\n console.error('Error fetching batch data:', error);\r\n this.setState({ batches: [],loading:false }); // Set to empty array on error\r\n });\r\n }\r\n }\r\n fetchItemDetails = (index, selectedOption) => {\r\n // Fetch item list for the selected drug\r\n if (selectedOption != null) {\r\n\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n const itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Fetch batch numbers and expiry dates for the selected drug\r\n return axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((batchResponse) => {\r\n const batch_no = batchResponse.data.data;\r\n console.log(\"Fetched Batch Numbers: \", batch_no); // Verify the batch response\r\n\r\n // Find the item in the item list\r\n const item = itemList.find(item => item.generic_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data\r\n const updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n drug_id:selectedOption.value,\r\n pack: item.unit_of_measure,\r\n batch_no: item.batch_no, // Ensure batch_no is a string\r\n mrp: batch_no.length > 0 ? batch_no[0].mrp : \"\", // Handle case where batch_no might be empty\r\n storage_bin: item.storage_bin,\r\n conversion_factor: item.conversion_factor,\r\n cgst: item.cgst,\r\n sgst: item.sgst,\r\n hsn_code: item.hsn_code,\r\n\r\n // igst: this.state.State_value === this.state.gst_state ? item.igst : \"\",\r\n // sub_total: updatedData[index].quantity * updatedData[index].rate,\r\n };\r\n\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection(); // Call calculateSection after state update\r\n this.calculateTaxAmountSection();\r\n });\r\n }\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }\r\n };\r\n\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ saleEntryData: data, errors: errors });\r\n }\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n\r\n\r\n handlevendorselectChange = async (selectedOptions, e) => {\r\n let data = this.state.purchaseEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n\r\n this.setState({ purchaseEntryData: data, errors, searchErrorMessage: \"\" });\r\n\r\n axios\r\n .post(getgststatebyVendorname, { user_id: this.props.userdata.id, vendor_name: selectedOptions.label }, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data = resdata.data[0];\r\n console.log(resdata.status);\r\n\r\n if (resdata.status == \"1\") {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state);\r\n });\r\n }\r\n\r\n }).catch((e) => { });\r\n\r\n }\r\n render() {\r\n\r\n const payment_mode = [\r\n { value: 0, label: \"Cash\" },\r\n { value: 1, label: \"UPI\" },\r\n { value: 2, label: \"Credit card\" },\r\n { value: 3, label: \"Debit card\" },\r\n\r\n ];\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n let PopupQuantityClose = () => {\r\n this.setState({ quantitypopup: false })\r\n\r\n };\r\n const { saleEntryData,loading, records, batches, bill_no, bill_date, selectedBatch, currentBatchinrow, showModel, errors, formSuccess, tableSuccess, hospitaltimeout, mastervendorNames, gst_state, State_value, searchErrorMessage, searchTableSuccess } = this.state;\r\n const formattedSubTotal12 = this.state.totalTaxAmtSec.sub_total12.toFixed(2);\r\n\r\n return (\r\n\r\n
    \r\n \r\n\r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Sale Entry Voucher - Patient

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Sale Entry Voucher\r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n {/*
    */}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n Reset\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleDatePickerChange(date, 'bill_date')}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n disabled={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 \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n this.handleDatePickerChange(date, 'invoice_date')} \r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n \r\n /> \r\n
    \r\n \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n {/* \r\n Refresh\r\n */}\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Sub Total\r\n \r\n \r\n {this.state.totalAmtSec.sub_total.toFixed(2)}\r\n \r\n \r\n \r\n \r\n Disc Amt\r\n \r\n \r\n {this.state.totalAmtSec.discAmt.toFixed(2)}\r\n \r\n \r\n \r\n \r\n GST Amt\r\n \r\n \r\n {this.state.totalAmtSec.gstAmt ? this.state.totalAmtSec.gstAmt.toFixed(2) : '0.00'}\r\n \r\n \r\n \r\n \r\n Invoice value\r\n \r\n \r\n {this.state.totalAmtSec.total.toFixed(2)}\r\n \r\n \r\n {/* \r\n \r\n IGST Amt\r\n \r\n \r\n {this.state.totalAmtSec.igstAmt.toFixed(2)}\r\n \r\n */}\r\n\r\n\r\n \r\n \r\n
    \r\n {/* Add other content above the table if needed */}\r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* This is the empty row */}\r\n
    \r\n {/* This is the empty row */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n Disc %\r\n \r\n \r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n Payment Mode\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n\r\n \r\n \r\n 5%\r\n \r\n \r\n {this.state.totalTaxAmtSec.sub_total5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt5.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {formattedSubTotal12}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt12.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.state.totalTaxAmtSec.sub_total18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt18.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n\r\n\r\n {/* \r\n \r\n */}\r\n \r\n Save\r\n \r\n \r\n Generate\r\n \r\n {/* \r\n Attach Prescription\r\n */}\r\n \r\n clear\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )}\r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(SaleEntryVoucher));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n\r\n getAllPharmacyDrugs,\r\n getAllPharmacyCustomerList,\r\n getAllPharmacyItemList,\r\n addPurchaseEntryData,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n getitemlistforPharmacyDrug,\r\n getgststatebyVendorname,\r\n getBatchnobydrugnameandExpDate,\r\n getBatchandExpDateBydrugname,\r\n getQuantityBygenericnameandbatchno,\r\n getPharmacyShortDetail,\r\n addSaleEntryDataB2B\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport QuantityPopupinfo from \"../components/UI/Quantitypopupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport \"../assets/css/mystyle.css\";\r\nimport BatchSelectionModal from \"./BatchSelectModal\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n drug_id:\"\",\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n storage_bin: \"\",\r\n quantity: \"\",\r\n loose: \"\",\r\n cummulative_quantity:0,\r\n rate: 0,\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n discAmt: 0,\r\n taxrate: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n};\r\nclass SaleEntryVoucherForBusiness extends Component {\r\n _isMounted = false;\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n \r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n showModel: false,\r\n selectedBatches: [],\r\n currentBatchinrow: null,\r\n currentRow: null,\r\n discountPercentage: '',\r\n batches: [],\r\n records: [],\r\n searchrecords: [],\r\n quantitypopup:false,\r\n popupMessage: '',\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n purchaseEntryVoucher:{\r\n drug_name:\"\",\r\n // defaultEnterSize: 20,\r\n records: [],\r\n supplies: [],\r\n },\r\n \r\n saleEntryData:\r\n {\r\n /* phone_number: \"\", */\r\n patient_name: \"\",\r\n address: \"\",\r\n remarks: \"\",\r\n bill_no: \"\",\r\n bill_date: new Date(),\r\n /* doctorreg_no: \"\",\r\n doctor_name: \"\", */\r\n created_by: \"\",\r\n payment_mode: \"\",\r\n },\r\n\r\n totalAmtSec: {\r\n\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n gstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n totalAmtWords: \"\",\r\n taxrate: 0,\r\n },\r\n totalTaxAmtSec: {\r\n cgstAmt5: 0,\r\n sgstAmt5: 0,\r\n sub_total5: 0,\r\n taxAmt5: 0,\r\n cgstAmt12: 0,\r\n sgstAmt12: 0,\r\n sub_total12: 0,\r\n taxAmt12: 0,\r\n cgstAmt18: 0,\r\n sgstAmt18: 0,\r\n sub_total18: 0,\r\n taxAmt18: 0,\r\n sub_total: {\r\n 5: 0, // Taxable amount for 5%\r\n 12: 0, // Taxable amount for 12%\r\n 18: 0, // Taxable amount for 18%\r\n },\r\n cgstAmt: {\r\n 5: 0, // CGST amount for 5%\r\n 12: 0, // CGST amount for 12%\r\n 18: 0, // CGST amount for 18%\r\n },\r\n sgstAmt: {\r\n 5: 0, // SGST amount for 5%\r\n 12: 0, // SGST amount for 12%\r\n 18: 0, // SGST amount for 18%\r\n },\r\n total: {\r\n 5: 0, // Total amount for 5%\r\n 12: 0, // Total amount for 12%\r\n 18: 0, // Total amount for 18%\r\n },\r\n },\r\n errors: {\r\n purchaseentry_id: \"\",\r\n customer_name:\"\",\r\n address:\"\",\r\n created_by:\"\",\r\n remarks:\"\",\r\n bill_no:\"\",\r\n bill_date:\"\",\r\n \r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n align: \"left\", // Set alignment to center\r\n sortable: true,\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n {index + 1} {/* Display the serial number based on the index */}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n
    \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '450px',\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n\r\n\r\n {row.generic_name && (row.batch_no !== '' || row.batch_no !== null) ? (\r\n\r\n row.generic_name\r\n\r\n ) : (\r\n option.label === row.generic_name)} // Ensure value is null if not found\r\n onChange={this.handleselectChange(index, 'generic_name')}\r\n options={this.state.supplies}\r\n />\r\n )}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => row.pack\r\n },\r\n\r\n /* {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width:'200px',\r\n cell: (row, index) => row.batch_no \r\n \r\n \r\n }, */\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => (\r\n
    \r\n {row.generic_name ? (\r\n row.batch_no ? (\r\n row.batch_no\r\n ) : (\r\n this.handleShow(index)}>Select Batch\r\n )\r\n ) : null}\r\n
    \r\n ),\r\n },\r\n {\r\n key: \"storage_bin\",\r\n text: \"Storage Bin\",\r\n className: \"storage_bin\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => row.storage_bin\r\n\r\n },\r\n\r\n /* {\r\n key: \"manu_date\",\r\n text: \"Mfg.Date\",\r\n className: \"manu_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n }, \r\n {\r\n key: \"exp_date\",\r\n text:\"Exp. Date\",\r\n className: \"exp_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n }, */\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"loose\",\r\n text: \"Loose\",\r\n className: \"loose\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.mrp\r\n\r\n\r\n },\r\n {\r\n key: \"rate\",\r\n text: \"Rate\",\r\n className: \"rate\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => row.rate.toFixed(2)\r\n },\r\n /* {\r\n key: \"cummulative_quantity\",\r\n text: \"cummulative_quantity\",\r\n className: \"cummulative_quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => row.cummulative_quantity.toFixed(2)\r\n }, */\r\n /* {\r\n key: \"disc\",\r\n text: \"Disc%\",\r\n className: \"disc\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n \r\n }, */\r\n {\r\n key: \"sub_total\",\r\n text: \"Amount\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.sub_total.toFixed(2)\r\n },\r\n\r\n\r\n /* {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.cgst \r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.sgst \r\n }, */\r\n /* {\r\n key: \"igst\",\r\n text: \"IGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.igst \r\n }, */\r\n /* {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n right: true,\r\n width:200,\r\n cell: (row, index) => row.total.toFixed(2) \r\n }, */\r\n ];\r\n this.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n
    \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n
    \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchcolumns = [\r\n \r\n {\r\n key: \"pharmacy_id\",\r\n text: \"Pharmacy ID\",\r\n className: \"searchpharmacy_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Address\",\r\n className: \"pharmacy_location\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n \r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.clearBatches = this.clearBatches.bind(this);\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n \r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData, errors });\r\n };\r\n\r\n clearBatches = () => {\r\n this.setState({\r\n \r\n selectedBatches: [],\r\n }, () => {\r\n console.log(\"Batches and selected batches cleared.\");\r\n });\r\n };\r\n handleBatchClose = () => {\r\n this.clearBatches(); // Clear batches when modal is closed\r\n this.setState({ showModel: false });\r\n };\r\n deleteElementsUpToIndex(array, index) {\r\n // Check if the index is valid\r\n if (index < 0 || index >= array.length) {\r\n console.error(\"Invalid index\");\r\n return array; // Return the original array if the index is invalid\r\n }\r\n \r\n // Return a new array starting from the specified index\r\n return array.slice(index);\r\n}\r\n selectBatch = (batches, expdates,quantities, selectedIndex) => {\r\n const updatedRecords = [...this.state.records];\r\n const batcheslength = batches.length;\r\n console.log(\"Selected Index:\", selectedIndex);\r\n console.log(\"Batches:\", batches);\r\n console.log(\"Quantities:\", quantities);\r\n console.log(\"old batch length\", batcheslength);\r\n console.log(\"New batches length\", batches.length);\r\n console.log(\"First Record:\", updatedRecords[0]);\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const drug_id=updatedRecords[this.state.currentRow]?.drug_id;\r\n const drugNameToSet = updatedRecords[this.state.currentRow]?.generic_name;\r\n const packToSet = updatedRecords[this.state.currentRow]?.pack;\r\n const storagebin = updatedRecords[this.state.currentRow]?.storage_bin;\r\n const mrp = updatedRecords[this.state.currentRow]?.mrp;\r\n const cgst = updatedRecords[this.state.currentRow]?.cgst;\r\n const sgst = updatedRecords[this.state.currentRow]?.sgst;\r\n const hsn_code = updatedRecords[this.state.currentRow]?.hsn_code;\r\n const conversion_factor = updatedRecords[this.state.currentRow]?.conversion_factor;\r\n console.log(\"Drug Name to Set:\", drugNameToSet);\r\n\r\n if (this.state.currentRow === 0) {\r\n // Loop through each selected batch and update the corresponding row\r\n batches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n\r\n expdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n quantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n } \r\nelse{\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const updatedbatches=this.deleteElementsUpToIndex(batches, this.state.currentRow);\r\n updatedbatches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n const updatedexpdates=this.deleteElementsUpToIndex(expdates, this.state.currentRow);\r\n updatedexpdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedquantities=this.deleteElementsUpToIndex(quantities, this.state.currentRow);\r\n \r\n updatedquantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n}\r\n \r\n this.setState({ records: updatedRecords }, () => {\r\n console.log('Updated Records after Set State:', this.state.records);\r\n this.calculateTaxAmountSection();\r\n this.setState({ selectedBatches: [], selectedExpdates: [] ,selectedQuantities:[]});\r\n });\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n handlePhoneInput = (event) => {\r\n event.preventDefault();\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n data[event.target.name] = event.target.value\r\n .replace(/\\s/g, \"\")\r\n .replace(/[^0-9+]+/g, \"\");\r\n data.error = \"\";\r\n this.setState({ searchData: data, errors });\r\n };\r\n\r\n handleAdd = (e) => {\r\n let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n\r\n name === \"patient_name\" ||\r\n name === \"address\" ||\r\n name === \"created_by\" ||\r\n name === \"remarks\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ saleEntryData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n handleInput = (index, field) => (event) => {\r\n const { value } = event.target;\r\n const records = [...this.state.records]; // Create a copy of the records\r\n records[index][field] = value; // Update the specific field for the specific index\r\n // console.log(value);\r\n // console.log(index,field);\r\n console.log(records);\r\n this.setState({ records }); // Update the state with the new records\r\n };\r\n\r\n \r\n getBatchandExpDateBydrugname = (index, selectedOption) => {\r\n if (selectedOption != null) {\r\n this.setState({ batches: [] });\r\n axios.post(getBatchandExpDateBydrugname, { generic_name: selectedOption.label,specified_date: new Date() }, CONFIG)\r\n .then((drugResponse) => {\r\n // Ensure batches is always an array\r\n let batches = Array.isArray(drugResponse.data.data) ? drugResponse.data.data : [];\r\n console.log(\"Fetched batches: \", batches);\r\n this.setState({ batches, });\r\n })\r\n .catch(error => {\r\n console.error('Error fetching batch data:', error);\r\n this.setState({ batches: [],loading:false }); // Set to empty array on error\r\n });\r\n }\r\n }\r\n\r\n handleShow = (index) => {\r\n const currentRecord = this.state.records[index];\r\n console.log(currentRecord);\r\n console.log(\"curent index\", index);\r\n console.log(this.state.selectedBatches);\r\n\r\n // Create the current batch object\r\n const currentBatchInRow = {\r\n batch_no: currentRecord.batch_no || 'Select Batch',\r\n exp_date: currentRecord.exp_date || 'N/A',\r\n };\r\n console.log(currentBatchInRow);\r\n\r\n // Determine the selectedBatch based on the existence of batch_no\r\n const selectedBatch = currentRecord.batch_no\r\n ? currentBatchInRow // If batch_no exists, use currentBatchInRow\r\n : { batch_no: 'Select Batch', exp_date: 'N/A' }; // If not, use default\r\n\r\n // Set the current row index and selected batch in a single setState call\r\n this.setState({\r\n currentRow: index,\r\n selectedBatch: currentBatchInRow, // Set the selected batch based on the logic\r\n showModel: true,\r\n selectedBatches: [], // Show the modal\r\n //batches:[],\r\n });\r\n\r\n };\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n saleEntryData: {\r\n ...prevState.saleEntryData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n getMaxAllowedQuantity = (genericName, batchno) => {\r\n return axios.post(getQuantityBygenericnameandbatchno, { \r\n generic_name: genericName,\r\n batch_no: batchno,\r\n specified_date: new Date() \r\n }, CONFIG)\r\n .then((response) => {\r\n console.log(response.data.data[0].quantity);\r\n // Ensure batches is always an array\r\n let maxAllowedQuantity = response.data.data[0].quantity ? response.data.data[0].quantity : 0.0;\r\n console.log(\"Fetched Quantity: \", maxAllowedQuantity);\r\n return maxAllowedQuantity; // Return the fetched quantity\r\n })\r\n .catch(error => {\r\n console.error('Error fetching data:', error);\r\n this.setState({ maxAllowedQuantity: 0.0 }); // Set to 0 on error\r\n return 0.0; // Return 0 on error\r\n });\r\n};\r\nhandleQuantityInputChange = (index, key) => event => {\r\n const newQuantity = event.target.value ? parseFloat(event.target.value) : '';\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = newQuantity; // Temporarily set the new quantity\r\n\r\n console.log(newQuantity);\r\n\r\n // Get the drug name and batch number from the record\r\n const drugName = updatedData[index].generic_name; // Adjust based on your data structure\r\n const batchNo = updatedData[index].batch_no; // Adjust based on your data structure\r\n\r\n // Fetch the maximum allowed quantity\r\n this.getMaxAllowedQuantity(drugName, batchNo).then(maxAllowedQuantity => {\r\n console.log(maxAllowedQuantity);\r\n\r\n // Validate the new quantity\r\n if (newQuantity > maxAllowedQuantity) {\r\n console.log(\"Showing popup: Quantity exceeds maximum allowed.\"); // Debugging log\r\n \r\n this.setState({\r\n quantitypopup: true,\r\n popupMessage: `Quantity cannot exceed the maximum allowed quantity of ${maxAllowedQuantity}.`\r\n });\r\n \r\n updatedData[index][key] = maxAllowedQuantity; // Reset to max allowed\r\n \r\n } else {\r\n updatedData[index][key] = newQuantity; // Set to new quantity if valid\r\n }\r\n\r\n // Update the state with the validated quantity\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateRate(index);\r\n this.calculateCummulativeQuantity(index);\r\n });\r\n }).catch(error => {\r\n console.error('Error fetching max allowed quantity:', error);\r\n // Handle error appropriately, e.g., reset quantity or show an error message\r\n });\r\n};\r\n handleInputChange = (e) => {\r\n const value = e.target.value;\r\n const discountPercentage = value ? parseFloat(value) : 0; // Parse the input value\r\n\r\n // Update the discount percentage in the state\r\n this.setState({ discountPercentage }, () => {\r\n this.calculateDiscountAmounts();\r\n\r\n // Calculate discount amounts for all records\r\n });\r\n };\r\n calculateDiscountAmounts = () => {\r\n const { records, discountPercentage } = this.state;\r\n\r\n // Calculate discount amounts for all records\r\n const updatedRecords = records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = (sub_total * (discountPercentage / 100)); // Calculate discount amount\r\n return { ...record, discAmt }; // Return updated record\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords }, () => {\r\n this.calculateTotals();\r\n // this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n calculateTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = record.discAmt || 0; // Default to 0 if undefined\r\n const cgstAmt = record.cgstAmt || 0; // Default to 0 if undefined\r\n const sgstAmt = record.sgstAmt || 0; // Default to 0 if undefined\r\n const gstAmt = cgstAmt + sgstAmt;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n // Calculate the total\r\n const total = (sub_total - discAmt) + gstAmt;\r\n return { ...record, total }; // Return updated record with total\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n\r\n\r\n calculateRate = (index) => {\r\n let updatedData = [...this.state.records];\r\n let mrp = updatedData[index].mrp || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n let conversion_factor = updatedData[index].conversion_factor || 1;\r\n let cgst = updatedData[index].cgst || 0;\r\n let sgst = updatedData[index].cgst || 0;\r\n let gst = Number(cgst) + Number(sgst);\r\n console.log(cgst);\r\n console.log(sgst);\r\n console.log(gst);\r\n if (quantity != null && quantity !== 0) {\r\n if (gst == 5) {\r\n updatedData[index].rate = mrp / 1.05;\r\n } else if (gst == 12) {\r\n updatedData[index].rate = mrp / 1.12;\r\n }\r\n else if (gst == 18) {\r\n updatedData[index].rate = mrp / 1.18;\r\n }\r\n\r\n } else if (loose != null && loose !== 0) {\r\n updatedData[index].rate = mrp / conversion_factor;\r\n\r\n }\r\n\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n this.calculateSubTotals();\r\n //this.calculateTotals();\r\n });\r\n };\r\n\r\n calculateCummulativeQuantity=(index)=>{\r\n let updatedData = [...this.state.records];\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n let conversion_factor = updatedData[index].conversion_factor || 1;\r\n if (quantity !== null && quantity !== 0) {\r\n updatedData[index].cummulative_quantity = quantity + (loose/conversion_factor);\r\n console.log(updatedData[index].cummulative_quantity);\r\n console.log(quantity);\r\n console.log(loose);\r\n console.log(conversion_factor);\r\n \r\n }\r\n else if (loose !== null && loose !== 0) {\r\n updatedData[index].cummulative_quantity = quantity + (loose/conversion_factor);\r\n }\r\n this.setState({ records: updatedData });\r\n }\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let rate = updatedData[index].rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n if (quantity !== null && quantity !== 0) {\r\n updatedData[index].sub_total = quantity * rate;\r\n }\r\n else if (loose !== null && loose !== 0) {\r\n updatedData[index].sub_total = loose * rate;\r\n }\r\n this.setState({ records: updatedData }, () => {\r\n\r\n // this.calculateTotal(index);\r\n // this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n this.calculateGstAmount(index);\r\n });\r\n };\r\n\r\n calculateSubTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const rate = record.rate || 0;\r\n const quantity = record.quantity || 0;\r\n const loose = record.loose || 0;\r\n let sub_total = 0;\r\n if (quantity > 0) {\r\n sub_total = quantity * rate;\r\n } else if (loose > 0) {\r\n sub_total = loose * rate;\r\n }\r\n\r\n // Return the updated record with the calculated subtotal\r\n return { ...record, sub_total };\r\n\r\n\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n this.calculateTotals();\r\n\r\n });\r\n };\r\n\r\n calculateTaxAmounts = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const taxrate = record.taxrate || 0;\r\n let sub_total = 0; // Initialize sub_total\r\n\r\n // Assuming you have a quantity and rate in each record\r\n const quantity = record.quantity || 0; // Default to 0 if undefined\r\n const rate = record.rate || 0; // Default to 0 if undefined\r\n\r\n // Calculate subtotal based on the tax rate\r\n if (taxrate === 5) {\r\n // Example calculation for 5% tax\r\n sub_total = quantity * rate * 1.05; // Including tax\r\n } else if (taxrate === 12) {\r\n // Example calculation for 12% tax\r\n sub_total = quantity * rate * 1.12; // Including tax\r\n } else if (taxrate === 18) {\r\n // Example calculation for 18% tax\r\n sub_total = quantity * rate * 1.18; // Including tax\r\n } else {\r\n // If tax rate is not recognized, just calculate the base subtotal\r\n sub_total = quantity * rate; // No tax applied\r\n }\r\n\r\n // Return the updated record with the calculated subtotal\r\n return { ...record, sub_total };\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData });\r\n };\r\n\r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let gstAmt = updatedData[index].gstAmt || 0;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n updatedData[index].total = sub_total - discAmt + gstAmt;\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = (sub_total * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n\r\n calculateGstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n let cgstAmt = updatedData[index].cgstAmt;\r\n let sgstAmt = updatedData[index].sgstAmt;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n updatedData[index].gstAmt = (cgstAmt + sgstAmt);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n \r\n handlepaymentselectChange = (selectedOptions, e) => {\r\n let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ saleEntryData: data, errors, searchErrorMessage: \"\" });\r\n }\r\n\r\n clearErrors = (errors) => {\r\n\r\n \r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no= \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n \r\n let data = this.state.purchaseEntryData;\r\n \r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label:\"\",value:\"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n \r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ purchaseEntryData: data, actions: \"add\",voucher_no:\"\", errors: errors, searchErrorMessage: \"\", records: [], \r\n search_action: false, \r\n totalAmtSec: { \r\n discAmt: 0, \r\n cgstAmt: 0, \r\n sgstAmt: 0, \r\n igstAmt: 0, \r\n total: 0,\r\n sub_total:0,\r\n \r\n },\r\n\r\n });\r\n }\r\n \r\n clearimport=()=>{\r\n this.setState({ file:\"\" });\r\n };\r\n \r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n handleQuantityInputChange = (index, key) => event => {\r\n const newQuantity = event.target.value ? parseFloat(event.target.value) : '';\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = newQuantity; // Temporarily set the new quantity\r\n \r\n console.log(newQuantity);\r\n \r\n // Get the drug name and batch number from the record\r\n const drugName = updatedData[index].generic_name; // Adjust based on your data structure\r\n const batchNo = updatedData[index].batch_no; // Adjust based on your data structure\r\n \r\n // Fetch the maximum allowed quantity\r\n this.getMaxAllowedQuantity(drugName, batchNo).then(maxAllowedQuantity => {\r\n console.log(maxAllowedQuantity);\r\n \r\n // Validate the new quantity\r\n if (newQuantity > maxAllowedQuantity) {\r\n console.log(\"Showing popup: Quantity exceeds maximum allowed.\"); // Debugging log\r\n \r\n this.setState({\r\n quantitypopup: true,\r\n popupMessage: `Quantity cannot exceed the maximum allowed quantity of ${maxAllowedQuantity}.`\r\n });\r\n \r\n updatedData[index][key] = maxAllowedQuantity; // Reset to max allowed\r\n \r\n } else {\r\n updatedData[index][key] = newQuantity; // Set to new quantity if valid\r\n }\r\n \r\n // Update the state with the validated quantity\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateRate(index);\r\n this.calculateCummulativeQuantity(index);\r\n });\r\n }).catch(error => {\r\n console.error('Error fetching max allowed quantity:', error);\r\n // Handle error appropriately, e.g., reset quantity or show an error message\r\n });\r\n };\r\n\r\n /* calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let amt = 0.0;\r\n let taxAmt = 0.0;\r\n let taxVal = 0.0;\r\n let totalAmt = 0.0;\r\n let sub_total=0.0;\r\n console.log(records);\r\n\r\n records.map((data, i) => {\r\n if (undefined !== data.fee) {\r\n amt = Number(amt) + Number(data.fee);\r\n }\r\n if (undefined !== data.gst_amount) {\r\n taxAmt = Number(taxAmt) + Number(data.gst_amount);\r\n }\r\n if (undefined !== data.taxable_value) {\r\n taxVal = Number(taxVal) + Number(data.taxable_value);\r\n }\r\n if (undefined !== data.total_amount) {\r\n totalAmt = Number(totalAmt) + Number(data.total_amount);\r\n }\r\n if (undefined !== data.quantity) {\r\n sub_total = Number(data.quantity) * Number(data.p_rate);\r\n }\r\n });\r\n\r\n totalAmtSec.amt = amt;\r\n totalAmtSec.taxAmt = taxAmt;\r\n totalAmtSec.taxVal = taxVal;\r\n totalAmtSec.totalAmt = totalAmt;\r\n totalAmtSec.sub_total=sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(totalAmt)+\" rupees only\";\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n }; \r\n */\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let gstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n let roundtotal = 0.0;\r\n let rounddiff = 0.0;\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n\r\n if (data.gstAmt !== undefined) {\r\n gstAmt += Number(data.gstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.gstAmt = gstAmt;\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.roundtotal = Math.round(total);\r\n totalAmtSec.rounddiff = total - totalAmtSec.roundtotal;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n\r\n\r\n addSaleEntryData() {\r\n\r\n\r\n let { saleEntryData, errors } = this.state;\r\n saleEntryData.type = \"saleEntryData\";\r\n errors = Validation(saleEntryData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n /* phone_number: saleEntryData.phone_number || this.state.searchData.phone_number, */\r\n patient_name: saleEntryData.customer_name.label,\r\n address: saleEntryData.address || this.state.customer_address,\r\n remarks: saleEntryData.remarks,\r\n bill_date: saleEntryData.bill_date,\r\n /* doctorreg_no: saleEntryData.doctorreg_no,\r\n doctor_name: saleEntryData.doctor_name, */\r\n created_by: saleEntryData.created_by,\r\n records: this.state.records,\r\n discPercent: this.state.discountPercentage,\r\n subtotalAmount: this.state.totalAmtSec.sub_total.toFixed(2),\r\n totalAmount: this.state.totalAmtSec.total.toFixed(2),\r\n discountAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n cgstAmt5:this.state.totalTaxAmtSec.cgstAmt5.toFixed(2),\r\n sgstAmt5:this.state.totalTaxAmtSec.sgstAmt5.toFixed(2),\r\n taxAmt5:this.state.totalTaxAmtSec.taxAmt5.toFixed(2),\r\n sub_total5:this.state.totalTaxAmtSec.sub_total5.toFixed(2),\r\n cgstAmt12:this.state.totalTaxAmtSec.cgstAmt12.toFixed(2),\r\n sgstAmt12:this.state.totalTaxAmtSec.sgstAmt12.toFixed(2),\r\n taxAmt12:this.state.totalTaxAmtSec.taxAmt12.toFixed(2),\r\n sub_total12:this.state.totalTaxAmtSec.sub_total12.toFixed(2),\r\n cgstAmt18:this.state.totalTaxAmtSec.cgstAmt18.toFixed(2),\r\n sgstAmt18:this.state.totalTaxAmtSec.sgstAmt18.toFixed(2),\r\n taxAmt18:this.state.totalTaxAmtSec.taxAmt18.toFixed(2),\r\n sub_total18:this.state.totalTaxAmtSec.sub_total18.toFixed(2),\r\n payment_mode: saleEntryData.payment_mode.label,\r\n customer_type: 'b2b',\r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n\r\n axios\r\n\r\n .post(addSaleEntryDataB2B, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n editformSuccess: res,\r\n bill_no: res.data[0].bill_no,\r\n bill_date: this.state.bill_date\r\n });\r\n toast.success(\"The Sale Entry voucher have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n\r\n this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Sale Entry voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n\r\n }\r\n }\r\n\r\n generate() {\r\n let { saleEntryData, errors } = this.state;\r\n saleEntryData.type = \"saleEntryData\";\r\n errors = Validation(saleEntryData, errors);\r\n this.setState({ errors: errors });\r\n \r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n /* phone_number: saleEntryData.phone_number || this.state.searchData.phone_number, */\r\n patient_name: saleEntryData.customer_name.label,\r\n address: saleEntryData.address || this.state.customer_address,\r\n remarks: saleEntryData.remarks,\r\n bill_date: saleEntryData.bill_date,\r\n /* doctorreg_no: saleEntryData.doctorreg_no,\r\n doctor_name: saleEntryData.doctor_name, */\r\n created_by: saleEntryData.created_by,\r\n records: this.state.records\r\n };\r\n console.log(data);\r\n console.log(this.state.bill_no);\r\n console.log(this.state.saleEntryData.bill_date);\r\n this.props.history.push({\r\n pathname: \"/saleinvoiceb2b/\" + this.state.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/saleinvoiceb2b/\" + this.state.bill_no,\r\n state: {\r\n bill_no: this.state.bill_no,\r\n bill_date: this.state.saleEntryData.bill_date.toString(),\r\n customer_name: saleEntryData.customer_name.label,\r\n customer_address: saleEntryData.address || this.state.customer_address,\r\n food_licence:this.state.food_licence,\r\n drug_licence1:this.state.drug_licence1,\r\n drug_licence2:this.state.drug_licence2,\r\n drug_licence3:this.state.drug_licence3,\r\n /* doctorreg_no: this.state.saleEntryData.doctorreg_no,\r\n doctor_name: this.state.saleEntryData.doctor_name, */\r\n sub_total: this.state.totalAmtSec.sub_total.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n discAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n total: this.state.totalAmtSec.total.toFixed(2),\r\n totalAmtWords: this.state.totalAmtSec.totalAmtWords,\r\n roundtotal: this.state.totalAmtSec.roundtotal.toFixed(2),\r\n rounddiff: this.state.totalAmtSec.rounddiff.toFixed(2),\r\n sub_total5: this.state.totalTaxAmtSec.sub_total5,\r\n cgstAmt5: this.state.totalTaxAmtSec.cgstAmt5,\r\n sgstAmt5: this.state.totalTaxAmtSec.sgstAmt5,\r\n taxAmt5: this.state.totalTaxAmtSec.taxAmt5,\r\n sub_total12: this.state.totalTaxAmtSec.sub_total12,\r\n cgstAmt12: this.state.totalTaxAmtSec.cgstAmt12,\r\n sgstAmt12: this.state.totalTaxAmtSec.sgstAmt12,\r\n taxAmt12: this.state.totalTaxAmtSec.taxAmt12,\r\n sub_total18: this.state.totalTaxAmtSec.sub_total18,\r\n cgstAmt18: this.state.totalTaxAmtSec.cgstAmt18,\r\n sgstAmt18: this.state.totalTaxAmtSec.sgstAmt18,\r\n taxAmt18: this.state.totalTaxAmtSec.taxAmt18,\r\n }\r\n });\r\n }\r\n }\r\nhandlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { saleEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n saleEntryData.address = place.formatted_address;\r\n \r\n\r\n this.setState({\r\n saleEntryData,\r\n });\r\n }\r\n componentWillUnmount() { this._isMounted = false; }\r\n componentDidMount = () => {\r\n this._isMounted = true;\r\n this.fetchMasterCustomerNames();\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n\r\n //set first record as consultation fee by default\r\n /* let consultation_fee_record = {};\r\n consultation_fee_record.s_no = 1;\r\n consultation_fee_record.description = \"Consultation Fee\";\r\n consultation_fee_record.fee = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n consultation_fee_record.disc = \"\";\r\n consultation_fee_record.taxable_value = \"\";\r\n consultation_fee_record.gst_rate = \"\";\r\n consultation_fee_record.gst_amount = \"\";\r\n consultation_fee_record.total_amount = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n*/\r\n let records = [];\r\n // records.push(consultation_fee_record); \r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n \r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n };\r\n\r\n fetchMasterCustomerNames=()=>{\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyCustomerList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n console.log(data.data);\r\n const mastercustomerNameList = data.data;\r\n const uniquecustomerNames = new Set();\r\n const mastercustomerNames = mastercustomerNameList\r\n .filter((element) => {\r\n\r\n if (!uniquecustomerNames.has(element.customer_name)) {\r\n uniquecustomerNames.add(element.customer_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.customer_id,\r\n label: element.customer_name,\r\n\r\n }));\r\n\r\n this.setState({ mastercustomerNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n });\r\n\r\n\r\n }\r\n onDeleteClick(record) {\r\n \r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n // Filter out the record to delete\r\n const updatedRecords = this.state.records.filter(item => item.s_no !== record.s_no);\r\n \r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords, addPopup: false }, () => {\r\n toast.success(\"The Sale Entry detail has been deleted successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.calculateSubTotals();\r\n console.log(updatedRecords);\r\n });\r\n }\r\n \r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n const drugNameToSet = selectedOption ? selectedOption.label : ''; // Get the selected drug name\r\n\r\n // Update the drug_name for the specific record\r\n updatedData[index].generic_name = drugNameToSet;\r\n\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n console.log(updatedData[index][key])\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData, selectedBatches: [], batches: [] });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n this.getBatchandExpDateBydrugname(index, selectedOption,new Date());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n\r\n\r\nfetchItemDetails = (index, selectedOption) => {\r\n // Fetch item list for the selected drug\r\n if (selectedOption != null) {\r\n\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n const itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Fetch batch numbers and expiry dates for the selected drug\r\n return axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((batchResponse) => {\r\n const batch_no = batchResponse.data.data;\r\n console.log(\"Fetched Batch Numbers: \", batch_no); // Verify the batch response\r\n\r\n // Find the item in the item list\r\n const item = itemList.find(item => item.generic_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data\r\n const updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n drug_id:selectedOption.value,\r\n pack: item.unit_of_measure,\r\n batch_no: item.batch_no, // Ensure batch_no is a string\r\n mrp: batch_no.length > 0 ? batch_no[0].mrp : \"\", // Handle case where batch_no might be empty\r\n storage_bin: item.storage_bin,\r\n conversion_factor: item.conversion_factor,\r\n cgst: item.cgst,\r\n sgst: item.sgst,\r\n hsn_code: item.hsn_code,\r\n\r\n // igst: this.state.State_value === this.state.gst_state ? item.igst : \"\",\r\n // sub_total: updatedData[index].quantity * updatedData[index].rate,\r\n };\r\n\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection(); // Call calculateSection after state update\r\n this.calculateTaxAmountSection();\r\n });\r\n }\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }\r\n};\r\n\r\n \r\n\r\ncalculateTaxAmountSection = () => {\r\n let records = this.state.records;\r\n let totalTaxAmtSec = { ...this.state.totalTaxAmtSec };\r\n\r\n // Initialize tax amounts and totals for each tax rate\r\n let taxSummary = {\r\n 5: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 12: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 18: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n };\r\n\r\n\r\n records.forEach((data) => {\r\n const taxRate = data.taxrate;\r\n\r\n\r\n if (taxSummary[taxRate]) {\r\n console.log(\"Current Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n\r\n taxSummary[taxRate].cgstAmt += Number(data.cgstAmt) || 0;\r\n taxSummary[taxRate].sgstAmt += Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].taxAmt += Number(data.cgstAmt) + Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].sub_total += Number(data.sub_total) || 0;\r\n\r\n console.log(\"Updated Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n }\r\n });\r\n\r\n // Ensure totalTaxAmtSec has the necessary properties initialized\r\n totalTaxAmtSec = {\r\n cgstAmt5: totalTaxAmtSec.cgstAmt5 || 0,\r\n sgstAmt5: totalTaxAmtSec.sgstAmt5 || 0,\r\n taxAmt5: totalTaxAmtSec.taxAmt5 || 0,\r\n sub_total5: totalTaxAmtSec.sub_total5 || 0,\r\n cgstAmt12: totalTaxAmtSec.cgstAmt12 || 0,\r\n sgstAmt12: totalTaxAmtSec.sgstAmt12 || 0,\r\n taxAmt12: totalTaxAmtSec.taxAmt12 || 0,\r\n sub_total12: totalTaxAmtSec.sub_total12 || 0,\r\n cgstAmt18: totalTaxAmtSec.cgstAmt18 || 0,\r\n sgstAmt18: totalTaxAmtSec.sgstAmt18 || 0,\r\n taxAmt18: totalTaxAmtSec.taxAmt18 || 0,\r\n sub_total18: totalTaxAmtSec.sub_total18 || 0,\r\n };\r\n\r\n\r\n\r\n // Update the totalTaxAmtSec object with calculated values\r\n totalTaxAmtSec.cgstAmt5 = taxSummary[5].cgstAmt;\r\n totalTaxAmtSec.sgstAmt5 = taxSummary[5].sgstAmt;\r\n totalTaxAmtSec.taxAmt5 = taxSummary[5].taxAmt;\r\n totalTaxAmtSec.sub_total5 = taxSummary[5].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt12 = taxSummary[12].cgstAmt;\r\n totalTaxAmtSec.sgstAmt12 = taxSummary[12].sgstAmt;\r\n totalTaxAmtSec.taxAmt12 = taxSummary[12].taxAmt;\r\n totalTaxAmtSec.sub_total12 = taxSummary[12].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt18 = taxSummary[18].cgstAmt;\r\n totalTaxAmtSec.sgstAmt18 = taxSummary[18].sgstAmt;\r\n totalTaxAmtSec.taxAmt18 = taxSummary[18].taxAmt;\r\n totalTaxAmtSec.sub_total18 = taxSummary[18].sub_total;\r\n\r\n console.log(\"Final Total Tax Amount Section:\", totalTaxAmtSec);\r\n\r\n // Update the state with the new total tax amounts\r\n this.setState({ totalTaxAmtSec });\r\n};\r\n \r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ saleEntryData: data, errors: errors });\r\n }\r\n\r\n \r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n};\r\n\r\n\r\nhandlecustomerselectChange = async (selectedOptions, e) => {\r\n let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n \r\n this.setState({ saleEntryData: data, errors,searchErrorMessage: \"\" });\r\n\r\n axios\r\n .post(getAllPharmacyCustomerList,{user_id:this.props.userdata.id,customer_name:selectedOptions.label}, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data=resdata.data[0];\r\n console.log(resdata.status);\r\n \r\n if (resdata.status == \"1\") \r\n {\r\n let customer_address=data.address1+','+data.city+','+data.country+','+data.zip_code;\r\n let food_licence=data.food_licence;\r\n const foodlicenceparsed=JSON.parse(food_licence);\r\n let drug_licence1=data.drug_licence1;\r\n const druglicence1parsed=JSON.parse(drug_licence1);\r\n let drug_licence2=data.drug_licence2;\r\n const druglicence2parsed=JSON.parse(drug_licence2);\r\n let drug_licence3=data.drug_licence3;\r\n const druglicence3parsed=JSON.parse(drug_licence3);\r\n this.setState({ customer_address: customer_address ,food_licence:foodlicenceparsed.food_licence\r\n ,drug_licence1:druglicence1parsed.drug_licence1,drug_licence2:druglicence2parsed.drug_licence2,drug_licence3:druglicence3parsed.drug_licence3}, () => {\r\n console.log(\"Updated address: \", this.state.customer_address); }); }\r\n \r\n }).catch((e) => { });\r\n\r\n}\r\n\r\nSalesPatient=()=>\r\n {\r\n this.props.history.push(\"/saleentryvoucher/\"); \r\n }\r\n render() {\r\n const payment_mode = [\r\n { value: 0, label: \"Cash\" },\r\n { value: 1, label: \"UPI\" },\r\n { value: 2, label: \"Credit card\" },\r\n { value: 3, label: \"Debit card\" },\r\n\r\n ];\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n let PopupQuantityClose = () => {\r\n this.setState({ quantitypopup: false })\r\n\r\n };\r\n const { saleEntryData,records,batches, errors,showModel, formSuccess, tableSuccess, hospitaltimeout,mastercustomerNames,gst_state,State_value,searchErrorMessage,searchTableSuccess,loading } = this.state;\r\n const formattedSubTotal12 = this.state.totalTaxAmtSec.sub_total12.toFixed(2);\r\n return (\r\n\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Sale Entry Voucher - B2B

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Sale Entry Voucher\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n{/*
    */} \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n\r\n \r\n \r\n 5%\r\n \r\n \r\n {this.state.totalTaxAmtSec.sub_total5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt5.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {formattedSubTotal12}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt12.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.state.totalTaxAmtSec.sub_total18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt18.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n\r\n{/* \r\n \r\n \r\n */}\r\n \r\n Save\r\n \r\n \r\n Generate\r\n \r\n {/* \r\n Attach Prescription\r\n */}\r\n \r\n clear\r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    )}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(SaleEntryVoucherForBusiness));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport moment from \"moment\";\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n\r\n getAllSalePatientList,\r\n deleteSaleByBillnumber,\r\n getAllUniquePurchaseEnryList,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n searchEmployee,\r\n searchSaleEntries,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n deletePurchaseByVouchernumber,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n drug_name:\"\",\r\n pack:\"\",\r\n batch_no:\"\",\r\n manu_date:\"\",\r\n exp_date:\"\",\r\n quantity:\"\",\r\n free: \"\",\r\n p_rate:\"\",\r\n mrp:\"\",\r\n disc: \"\",\r\n sub_total:0,\r\n cgst: \"\",\r\n sgst:\"\",\r\n igst:\"\",\r\n total:0,\r\n \r\n };\r\nclass SaleRegister extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n reportList: [],\r\n records: [],\r\n addPopup: false,\r\n updatePopup:false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n selectedRecord: null,\r\n saleRegister:\r\n {\r\n FromDate:\"\",\r\n ToDate:\"\",\r\n patient_name:\"\",\r\n bill_no:\"\",\r\n bill_date:\"\"\r\n },\r\n \r\n \r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name:\"\",\r\n address:\"\",\r\n created_by:\"\",\r\n remarks:\"\",\r\n voucher_no:\"\",\r\n voucher_date:\"\",\r\n vendorinvoice_no:\"\",\r\n invoice_date:\"\",\r\n poref_no:\"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"bill_no\",\r\n text: \"Bill No\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"bill_date\",\r\n text: \"Bill Date\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n cell: (record) => {\r\n return moment(record.bill_date).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n \r\n {\r\n key: \"patient_name\",\r\n text: \"Patient Name\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"customer_type\",\r\n text: \"Customer Type\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n \r\n {\r\n key: \"sub_total\",\r\n text: \"Sub Total\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"disc\",\r\n text: \"Discount %\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n cell:(record)=>{\r\n if(record.disc!=null)\r\n {\r\n return record.disc + \"%\"\r\n }\r\n }\r\n \r\n },\r\n {\r\n key: \"gstAmt\",\r\n text: \"GST Amount\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n \r\n }, \r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n \r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: '20px',\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.onDeleteClick(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\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.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: true,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n \r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n \r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n \r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n \r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n \r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n \r\n name === \"patient_name\" ||\r\n name === \"bill_no\" \r\n \r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ saleRegister: data, errors,searchErrorMessage: \"\" });\r\n };\r\n\r\n \r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n \r\n this.setState(prevState => ({\r\n purchaseEntryData: {\r\n ...prevState.purchaseEntryData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n \r\n handleInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n });\r\n};\r\n\r\ncalculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc= updatedData[index].disc;\r\n updatedData[index].sub_total = quantity*(p_rate-((disc/100)*p_rate));\r\n \r\n this.setState({ records: updatedData }, () => {\r\n \r\n this.calculateTotal(index);\r\n this.calculateDiscountAmount(index);\r\n this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n });\r\n};\r\n\r\ncalculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let igst = updatedData[index].igst || 0;\r\n updatedData[index].total = sub_total+((igst/100)*sub_total);\r\n console.log(igst);\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n });\r\n};\r\n\r\ncalculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc= updatedData[index].disc;\r\n updatedData[index].discAmt=((quantity*p_rate)*(disc/100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n};\r\ncalculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst= updatedData[index].cgst;\r\n let sub_total=updatedData[index].sub_total;\r\n updatedData[index].cgstAmt=(sub_total*(cgst/100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n};\r\ncalculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst= updatedData[index].sgst;\r\n let sub_total=updatedData[index].sub_total;\r\n updatedData[index].sgstAmt=(sub_total*(sgst/100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n};\r\ncalculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst= updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total=updatedData[index].sub_total;\r\n updatedData[index].igstAmt=(sub_total*(igst/100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n};\r\nhandleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value=event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n \r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n handleFromDOBChange = (date) => {\r\n let saleRegister = this.state.saleRegister;\r\n let errors=this.state.errors;\r\n \r\n \r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n \r\n saleRegister.FromDate = offsetDate;\r\n \r\n this.setState({ saleRegister: saleRegister,errors:errors,FromDate:offsetDate });\r\n };\r\n handleToDOBChange = (date) => {\r\n let saleRegister = this.state.saleRegister;\r\n let errors=this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n saleRegister.ToDate = offsetDate;\r\n //errors.Todate=\"\";\r\n this.setState({ saleRegister: saleRegister,errors:errors,ToDate:offsetDate });\r\n };\r\n\r\n\r\n\r\n \r\n clearErrors = (errors) => {\r\n\r\n \r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no= \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n \r\n let data = this.state.purchaseEntryData;\r\n \r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label:\"\",value:\"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n \r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ purchaseEntryData: data, actions: \"add\",voucher_no:\"\", errors: errors, searchErrorMessage: \"\", records: [], \r\n search_action: false, \r\n totalAmtSec: { \r\n discAmt: 0, \r\n cgstAmt: 0, \r\n sgstAmt: 0, \r\n igstAmt: 0, \r\n total: 0,\r\n sub_total:0,\r\n \r\n },\r\n\r\n });\r\n }\r\n \r\n clearimport=()=>{\r\n this.setState({ file:\"\" });\r\n };\r\n \r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n \r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0; \r\n let sgstAmt = 0.0; \r\n let igstAmt = 0.0; \r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n \r\n if(data.discAmt!== undefined)\r\n {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if(data.cgstAmt!== undefined)\r\n {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if(data.sgstAmt!== undefined)\r\n {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n if(data.igstAmt!== undefined)\r\n {\r\n igstAmt += Number(data.igstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.igstAmt = igstAmt; \r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n \r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n}; \r\n\r\neditRecord(record) {\r\n console.log(record);// return false;\r\n /* let purchaseRegister = this.state.purchaseRegister;\r\n purchaseRegister.vendor_name = record.vendor_name;\r\n purchaseRegister.voucher_no = record.voucher_no;\r\n purchaseRegister.voucher_date = record.voucher_date;\r\n purchaseRegister.voucher_date = moment(record.voucher_date).toDate();\r\n purchaseRegister.vendorinvoice_no = record.vendorinvoice_no;\r\n purchaseRegister.sub_total = record.sub_total;\r\n purchaseRegister.total = record.total;\r\n purchaseRegister.disc = record.disc;\r\n purchaseRegister.user_id=this.props.userdata.id;\r\n console.log(purchaseRegister);\r\n \r\n this.setState({\r\n editRecord: record,\r\n purchaseRegister: purchaseRegister,\r\n actions: \"edit\",\r\n }); */\r\nif(record.customer_type=='patient')\r\n{\r\n\r\n this.props.history.push({\r\n pathname: \"/viewsaleentryvoucher/\"+record.bill_no,});\r\n this.props.history.replace({\r\n pathname: \"/viewsaleentryvoucher/\"+record.bill_no,\r\n state: {\r\n patient_name:record.patient_name,\r\n bill_no:record.bill_no,\r\n bill_date:record.bill_date,\r\n doctorreg_no:record.doctorreg_no,\r\n patient_name:record.patient_name,\r\n phone_number:record.phone_number,\r\n doctor_name:record.doctor_name,\r\n address:record.address,\r\n created_by:record.created_by,\r\n remarks:record.remarks,\r\n disc:record.disc,\r\n gstAmt:record.gstAmt,\r\n discAmt:record.discAmt,\r\n cgstAmt5:record.cgstAmt5,\r\n sgstAmt5:record.sgstAmt5,\r\n taxAmt5:record.taxAmt5,\r\n sub_total5:record.sub_total5,\r\n cgstAmt12:record.cgstAmt12,\r\n sgstAmt12:record.sgstAmt12,\r\n taxAmt12:record.taxAmt12,\r\n sub_total12:record.sub_total12,\r\n cgstAmt18:record.cgstAmt18,\r\n sgstAmt18:record.sgstAmt18,\r\n taxAmt18:record.taxAmt18,\r\n sub_total18:record.sub_total18,\r\n payment_mode:record.payment_mode,\r\n view_page:false\r\n }\r\n }); \r\n}else\r\n{\r\n this.props.history.push({\r\n pathname: \"/viewsaleentryvoucherb2b/\"+record.bill_no,});\r\n this.props.history.replace({\r\n pathname: \"/viewsaleentryvoucherb2b/\"+record.bill_no,\r\n state: {\r\n patient_name:record.patient_name,\r\n bill_no:record.bill_no,\r\n bill_date:record.bill_date,\r\n doctorreg_no:record.doctorreg_no,\r\n phone_number:record.phone_number,\r\n doctor_name:record.doctor_name,\r\n address:record.address,\r\n created_by:record.created_by,\r\n remarks:record.remarks,\r\n disc:record.disc,\r\n gstAmt:record.gstAmt,\r\n discAmt:record.discAmt,\r\n cgstAmt5:record.cgstAmt5,\r\n sgstAmt5:record.sgstAmt5,\r\n taxAmt5:record.taxAmt5,\r\n sub_total5:record.sub_total5,\r\n cgstAmt12:record.cgstAmt12,\r\n sgstAmt12:record.sgstAmt12,\r\n taxAmt12:record.taxAmt12,\r\n sub_total12:record.sub_total12,\r\n cgstAmt18:record.cgstAmt18,\r\n sgstAmt18:record.sgstAmt18,\r\n taxAmt18:record.taxAmt18,\r\n sub_total18:record.sub_total18,\r\n payment_mode:record.payment_mode,\r\n view_page:false\r\n }\r\n }); \r\n\r\n\r\n}\r\n \r\n \r\n }\r\n\r\n viewRecord(record)\r\n { \r\n if(record.customer_type=='patient')\r\n {\r\n this.props.history.push({\r\n pathname: \"/viewsaleentryvoucher/\"+record.bill_no,});\r\n this.props.history.replace({\r\n pathname: \"/viewsaleentryvoucher/\"+record.bill_no,\r\n state: {\r\n patient_name:record.patient_name,\r\n bill_no:record.bill_no,\r\n bill_date:record.bill_date,\r\n doctorreg_no:record.doctorreg_no,\r\n patient_name:record.patient_name,\r\n disc:record.disc,\r\n gstAmt:record.gstAmt,\r\n phone_number:record.phone_number,\r\n doctor_name:record.doctor_name,\r\n address:record.address,\r\n created_by:record.created_by,\r\n remarks:record.remarks,\r\n discAmt:record.discAmt,\r\n payment_mode:record.payment_mode,\r\n cgstAmt:record.cgstAmt,\r\n sgstAmt:record.sgstAmt,\r\n cgstAmt5:record.cgstAmt5,\r\n sgstAmt5:record.sgstAmt5,\r\n taxAmt5:record.taxAmt5,\r\n sub_total5:record.sub_total5,\r\n cgstAmt12:record.cgstAmt12,\r\n sgstAmt12:record.sgstAmt12,\r\n taxAmt12:record.taxAmt12,\r\n sub_total12:record.sub_total12,\r\n cgstAmt18:record.cgstAmt18,\r\n sgstAmt18:record.sgstAmt18,\r\n taxAmt18:record.taxAmt18,\r\n sub_total18:record.sub_total18,\r\n view_page:true\r\n }\r\n }); \r\n }else{\r\n\r\n this.props.history.push({\r\n pathname: \"/viewsaleentryvoucherb2b/\"+record.bill_no,});\r\n this.props.history.replace({\r\n pathname: \"/viewsaleentryvoucherb2b/\"+record.bill_no,\r\n state: {\r\n patient_name:record.patient_name,\r\n bill_no:record.bill_no,\r\n bill_date:record.bill_date,\r\n doctorreg_no:record.doctorreg_no,\r\n disc:record.disc,\r\n gstAmt:record.gstAmt,\r\n phone_number:record.phone_number,\r\n doctor_name:record.doctor_name,\r\n address:record.address,\r\n created_by:record.created_by,\r\n remarks:record.remarks,\r\n discAmt:record.discAmt,\r\n payment_mode:record.payment_mode,\r\n cgstAmt:record.cgstAmt,\r\n sgstAmt:record.sgstAmt,\r\n cgstAmt5:record.cgstAmt5,\r\n sgstAmt5:record.sgstAmt5,\r\n taxAmt5:record.taxAmt5,\r\n sub_total5:record.sub_total5,\r\n cgstAmt12:record.cgstAmt12,\r\n sgstAmt12:record.sgstAmt12,\r\n taxAmt12:record.taxAmt12,\r\n sub_total12:record.sub_total12,\r\n cgstAmt18:record.cgstAmt18,\r\n sgstAmt18:record.sgstAmt18,\r\n taxAmt18:record.taxAmt18,\r\n sub_total18:record.sub_total18,\r\n view_page:true\r\n }\r\n }); \r\n\r\n }\r\n }\r\n refreshData = () => {\r\n \r\n let purchaseRegister = this.state.purchaseRegister;\r\n purchaseRegister = { FromDate: \"\",ToDate:\"\",vendorinvoice_no:\"\",vendor_name:\"\", errors: \"\" };\r\n this.setState({\r\n purchaseRegister: purchaseRegister});\r\n\r\n this.getAllPurchaseEntryList(this.props.userdata.id);\r\n \r\n \r\n };\r\n\r\n getAllPurchaseEntryList = (user_id)=>\r\n {\r\n\r\n if (user_id !== \"\" ) {\r\n let reqdata = {\r\n user_id: this.props.userdata.id\r\n \r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSalePatientList, reqdata, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.bill_no= element.bill_no;\r\n purchaseData.bill_date = element.bll_date;\r\n purchaseData.disc=element.disc;\r\n purchaseData.sub_total=element.sub_total;\r\n purchaseData.total=element.total;\r\n purchaseData.customer_type=element.customer_type;\r\n purchaseData.phone_number=element.phone_number;\r\n purchaseData.discAmt=element.discAmt;\r\n purchaseData.doctor_name=element.doctor_name;\r\n purchaseData.payment_mode=element.payment_mode;\r\n purchaseData.cgstAmt5=element.cgstAmt5;\r\n purchaseData.sgstAmt5=element.sgstAmt5;\r\n purchaseData.taxAmt5=element.taxAmt5;\r\n purchaseData.sub_total5=element.sub_total5;\r\n purchaseData.cgstAmt12=element.cgstAmt12;\r\n purchaseData.sgstAmt12=element.sgstAmt12;\r\n purchaseData.taxAmt12=element.taxAmt12;\r\n purchaseData.sub_total12=element.sub_total12;\r\n purchaseData.cgstAmt18=element.cgstAmt18;\r\n purchaseData.sgstAmt18=element.sgstAmt18;\r\n purchaseData.taxAmt18=element.taxAmt18;\r\n purchaseData.sub_total18=element.sub_total18;\r\n DataArr[index] = purchaseData;\r\n });\r\n \r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n \r\n\r\n\r\n\r\n }\r\n }\r\n\r\nsearchsaleRegister() {\r\n let saleRegister = this.state.saleRegister;\r\n \r\n let data = {};\r\n let errors=this.state;\r\n data.patient_name = saleRegister.patient_name ? saleRegister.patient_name.label : \"\";\r\n data.FromDate = saleRegister.FromDate;\r\n data.ToDate = saleRegister.ToDate;\r\n data.bill_no = saleRegister.bill_no;\r\n data.user_id=this.props.userdata.id;\r\n \r\n \r\n \r\n console.log(data);\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n console.log(data);\r\n axios.post(searchSaleEntries, data, CONFIG).then((searchres) => \r\n {\r\n this.setState({ loading: false });\r\n let result = searchres.data.data;\r\n console.log(result);\r\n if (result.length > 0) {\r\n // let records = result.data;\r\n \r\n let reportList = [];\r\n result.forEach((element, index) => {\r\n let report = {};\r\n report.s_no = index+1;\r\n report.bill_no= element.bill_no;\r\n report.bill_date = element.bill_date;\r\n report.patient_name=element.patient_name;\r\n report.gstAmt=element.gstAmt;\r\n report.disc=element.disc;\r\n report.sub_total=element.sub_total;\r\n report.total=element.total;\r\n report.customer_type=element.customer_type;\r\n reportList[index] = report;\r\n });\r\n this.setState({ reportList: reportList, search_action: true }); \r\n } else {\r\n this.setState({ reportList: [], search_action: true });\r\n }\r\n });\r\n });\r\n // }\r\n }\r\n\r\n\r\n createinvoice()\r\n {\r\n document.location.href = \"/saleentryvoucher\";\r\n }\r\nhandlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n \r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n componentDidMount = () => {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n \r\n \r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSalePatientList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n \r\n if (!uniqueDrugNames.has(element.patient_name)) {\r\n uniqueDrugNames.add(element.patient_name); \r\n return true; \r\n }\r\n return false; \r\n })\r\n .map((element) => ({\r\n value: element.patient_name,\r\n label: element.patient_name,\r\n \r\n }));\r\n \r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n \r\n });\r\n\r\n axios\r\n .post(getPharmacyShortDetail,{user_id:this.props.userdata.id}, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n \r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value:data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n \r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSalePatientList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.bill_no= element.bill_no;\r\n purchaseData.bill_date = element.bill_date;\r\n purchaseData.patient_name=element.patient_name;\r\n purchaseData.customer_type=element.customer_type;\r\n purchaseData.gstAmt=element.gstAmt;\r\n purchaseData.disc=element.disc;\r\n purchaseData.sub_total=element.sub_total;\r\n purchaseData.total=element.total;\r\n purchaseData.phone_number=element.phone_number;\r\n purchaseData.discAmt=element.discAmt;\r\n purchaseData.cgstAmt5=element.cgstAmt5;\r\n purchaseData.sgstAmt5=element.sgstAmt5;\r\n purchaseData.taxAmt5=element.taxAmt5;\r\n purchaseData.sub_total5=element.sub_total5;\r\n purchaseData.cgstAmt12=element.cgstAmt12;\r\n purchaseData.sgstAmt12=element.sgstAmt12;\r\n purchaseData.taxAmt12=element.taxAmt12;\r\n purchaseData.sub_total12=element.sub_total12;\r\n purchaseData.cgstAmt18=element.cgstAmt18;\r\n purchaseData.sgstAmt18=element.sgstAmt18;\r\n purchaseData.taxAmt18=element.taxAmt18;\r\n purchaseData.sub_total18=element.sub_total18;\r\n purchaseData.doctor_name=element.doctor_name;\r\n purchaseData.payment_mode=element.payment_mode;\r\n DataArr[index] = purchaseData;\r\n });\r\n \r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n \r\n\r\n };\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, selectedRecord: record });\r\n \r\n }\r\n\r\n handleDeleteVoucher = (record) => { \r\n console.log(record);\r\n const { bill_date } = record;\r\n const currentDate = new Date(); \r\n const BillDate = new Date(bill_date); \r\n console.log(record.bill_date);\r\n // Calculate the difference in days\r\n // const timeDiff = Math.abs(currentDate.getTime() - voucherDate.getTime()); \r\n // const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); \r\n // Check if the voucher date is within 30 days or within the current month \r\n if (BillDate.getMonth() !== currentDate.getMonth()) \r\n { \r\n this.setState({ updatePopup: true });\r\n return; } \r\n // Proceed with the update if validation passes \r\n this.deleteRecord(record);\r\n };\r\n deleteRecord(record) {\r\n \r\n let userId = record.id;\r\nlet bill_no=record.bill_no;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(deleteSaleByBillnumber, {bill_no:bill_no} , CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Sale has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n let reqdata = {\r\n user_id: this.props.userdata.id\r\n \r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSalePatientList, reqdata, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.bill_no= element.bill_no;\r\n purchaseData.bill_date = element.bll_date;\r\n purchaseData.patient_name=element.patient_name;\r\n purchaseData.disc=element.disc;\r\n purchaseData.sub_total=element.sub_total;\r\n purchaseData.total=element.total;\r\n purchaseData.customer_type=element.customer_type;\r\n purchaseData.phone_number=element.phone_number;\r\n purchaseData.discAmt=element.discAmt;\r\n purchaseData.cgstAmt5=element.cgstAmt5;\r\n purchaseData.sgstAmt5=element.sgstAmt5;\r\n purchaseData.taxAmt5=element.taxAmt5;\r\n purchaseData.sub_total5=element.sub_total5;\r\n purchaseData.cgstAmt12=element.cgstAmt12;\r\n purchaseData.sgstAmt12=element.sgstAmt12;\r\n purchaseData.taxAmt12=element.taxAmt12;\r\n purchaseData.sub_total12=element.sub_total12;\r\n purchaseData.cgstAmt18=element.cgstAmt18;\r\n purchaseData.sgstAmt18=element.sgstAmt18;\r\n purchaseData.taxAmt18=element.taxAmt18;\r\n purchaseData.sub_total18=element.sub_total18;\r\n purchaseData.gstAmt=element.gstAmt;\r\n purchaseData.doctor_name=element.doctor_name;\r\n purchaseData.payment_mode=element.payment_mode;\r\n DataArr[index] = purchaseData;\r\n });\r\n \r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n \r\n }\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n \r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n\r\n axios\r\n .post(getitemlistforPharmacyDrug,{user_id:this.props.userdata.id,drug_name:selectedOption.label}, CONFIG)\r\n .then((drugRespons) => {\r\n let ItemList = drugRespons.data.data;\r\n \r\n ItemList.forEach((element, index) => {\r\n ItemList.push({\r\n \r\n pack:element.pack,\r\n cgst: element.cgst,\r\n sgst:element.sgst,\r\n igst:element.igst\r\n \r\n });\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"s_no\", record.s_no);\r\n if (null != record) {\r\n \r\n records[recIndex].pack = element.unit_of_measure;\r\n records[recIndex].cgst = element.cgst + \" %\";\r\n records[recIndex].gst_amount =\r\n (record.tax_percentage / 100) * record.amount;\r\n records[recIndex].total_amount =\r\n Number(records[recIndex].fee) +\r\n Number(records[recIndex].gst_amount);\r\n } else {\r\n \r\n records[recIndex].fee = \"\";\r\n records[recIndex].gst_rate = \"\";\r\n records[recIndex].gst_amount = \"\";\r\n records[recIndex].total_amount = \"\";\r\n }\r\n \r\n console.log(recIndex);\r\n console.log(records.length - 1);\r\n if (recIndex === records.length - 1) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = records.length + 1;\r\n records.push(default_rec);\r\n }\r\n \r\n });\r\n \r\n })\r\n \r\n \r\n\r\n \r\n\r\n\r\n }; */\r\n \r\n/* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n\r\n axios\r\n .post(getPharmacyShortDetail,{user_id:this.props.userdata.id}, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n \r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value:data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n \r\n\r\n // Post request to fetch item details\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n\r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total:updatedData[index].quantity*(updatedData[index].p_rate-(updatedData[index].disc*updatedData[index].p_rate)),\r\n // gst_amount: (updatedData[index].tax_percentage / 100) * updatedData[index].amount,\r\n // total_amount: Number(updatedData[index].fee) + Number(updatedData[index].gst_amount)\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n}; */\r\n \r\n/* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n \r\n if (response.data.status == \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(this.state.gst_state);\r\n\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n\r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total: updatedData[index].quantity * (updatedData[index].p_rate - (updatedData[index].disc * updatedData[index].p_rate)),\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n}; */\r\n\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n \r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n};\r\n\r\n fetchItemDetails = (index, selectedOption) => {\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data again\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst : \"\",\r\n igst: this.state.State_value !== this.state.gst_state?item.igst : \"\",\r\n sub_total:updatedData[index].quantity * updatedData[index].p_rate,\r\n };\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n console.log(updatedData[index].quantity);\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n \r\n }\r\n this.setState({ record }, () => {\r\n this.calculateSection();\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n };\r\n\r\n \r\n\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ saleRegister: data, errors: errors });\r\n }\r\n\r\n \r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n};\r\n\r\n\r\nhandlepatientselectChange = async (selectedOptions, e) => {\r\n let data = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n \r\n this.setState({ saleRegister: data, errors,searchErrorMessage: \"\" });\r\n\r\n /* axios\r\n .post(getgststatebyVendorname,{user_id:this.props.userdata.id,vendor_name:selectedOptions.label}, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data=resdata.data[0];\r\n console.log(resdata.status);\r\n \r\n if (resdata.status == \"1\") \r\n {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state); }); }\r\n \r\n }).catch((e) => { }); */\r\n\r\n}\r\nPopupConfirm = () => \r\n { \r\n this.handleDeleteVoucher(this.state.selectedRecord);\r\n this.setState({ addPopup: false, selectedRecord: null });\r\n };\r\n render() {\r\n\r\n let PopupClose = () => this.setState({ addPopup: false,selectedRecord: null,updatePopup:false });\r\n // let PopupConfirm = () => this.handleDeleteVoucher(record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n const { saleRegister,records, errors, formSuccess, tableSuccess, hospitaltimeout,mastervendorNames,gst_state,State_value,searchErrorMessage,searchTableSuccess,loading } = this.state;\r\n return (\r\n\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Sale Register

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Sale Register\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleFromDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n
    \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.handleToDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n /> */}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    )}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(SaleRegister));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getPharmacyList,\r\n getAllPharmacyDrugs,\r\n getAllPharmacyItemList,\r\n getAllPharmacyVendorList,\r\n addPharmacy,\r\n addVendor,\r\n addSaleEntryData,\r\n updateSaleEntryData,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n getBatchnobydrugnameandExpDate,\r\n getBatchandExpDateBydrugname,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail,\r\n getclientbyphonenumber,\r\n getAllSaleEntryDataByBillNumber\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport \"../assets/css/mystyle.css\";\r\nimport * as moment from \"moment\";\r\nimport { Restaurant } from \"@material-ui/icons\";\r\nimport { Link } from 'react-router-dom';\r\nimport BatchSelectionModal from \"./BatchSelectModal\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n storage_bin: \"\",\r\n quantity: \"\",\r\n rate: 0.0,\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n discAmt: 0,\r\n taxrate: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n};\r\nclass ViewSaleEntryVoucher extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.searchData = {\r\n phone_number: \"\",\r\n error: \"\",\r\n };\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n showModel: false,\r\n selectedBatches: [],\r\n currentBatchinrow: null,\r\n currentRow: null,\r\n discountPercentage: '',\r\n batches: [],\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n searchData: this.searchData,\r\n add_btn: false,\r\n purchaseEntryVoucher: {\r\n drug_name: \"\",\r\n // defaultEnterSize: 20,\r\n records: [],\r\n supplies: [],\r\n },\r\n selectedPaymentMode: null,\r\n saleEntryData:\r\n {\r\n phone_number: \"\",\r\n patient_name: \"\",\r\n address: \"\",\r\n remarks: \"\",\r\n bill_no: \"\",\r\n bill_date: new Date(),\r\n doctorreg_no: \"\",\r\n doctor_name: \"\",\r\n created_by: \"\",\r\n payment_mode: \"\",\r\n },\r\n\r\n totalAmtSec: {\r\n\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n gstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n totalAmtWords: \"\",\r\n taxrate: 0,\r\n },\r\n totalTaxAmtSec: {\r\n cgstAmt5: 0,\r\n sgstAmt5: 0,\r\n sub_total5: 0,\r\n taxAmt5: 0,\r\n cgstAmt12: 0,\r\n sgstAmt12: 0,\r\n sub_total12: 0,\r\n taxAmt12: 0,\r\n cgstAmt18: 0,\r\n sgstAmt18: 0,\r\n sub_total18: 0,\r\n taxAmt18: 0,\r\n sub_total: {\r\n 5: 0, // Taxable amount for 5%\r\n 12: 0, // Taxable amount for 12%\r\n 18: 0, // Taxable amount for 18%\r\n },\r\n cgstAmt: {\r\n 5: 0, // CGST amount for 5%\r\n 12: 0, // CGST amount for 12%\r\n 18: 0, // CGST amount for 18%\r\n },\r\n sgstAmt: {\r\n 5: 0, // SGST amount for 5%\r\n 12: 0, // SGST amount for 12%\r\n 18: 0, // SGST amount for 18%\r\n },\r\n total: {\r\n 5: 0, // Total amount for 5%\r\n 12: 0, // Total amount for 12%\r\n 18: 0, // Total amount for 18%\r\n },\r\n },\r\n\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n voucher_no: \"\",\r\n voucher_date: \"\",\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n poref_no: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n align: \"left\", // Set alignment to center\r\n sortable: true,\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n {index + 1} {/* Display the serial number based on the index */}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n
    \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '450px',\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n\r\n\r\n {row.generic_name && (row.batch_no !== '' || row.batch_no !== null) ? (\r\n\r\n row.generic_name\r\n\r\n ) : (\r\n option.label === row.generic_name)} // Ensure value is null if not found\r\n onChange={this.handleselectChange(index, 'generic_name')}\r\n options={this.state.supplies}\r\n />\r\n )}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => row.pack\r\n },\r\n\r\n /* {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width:'200px',\r\n cell: (row, index) => row.batch_no \r\n \r\n \r\n }, */\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => (\r\n
    \r\n {row.generic_name ? (\r\n row.batch_no ? (\r\n row.batch_no\r\n ) : (\r\n this.handleShow(index)}>Select Batch\r\n )\r\n ) : null}\r\n
    \r\n ),\r\n },\r\n {\r\n key: \"storage_bin\",\r\n text: \"Storage Bin\",\r\n className: \"storage_bin\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => row.storage_bin\r\n\r\n },\r\n\r\n\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"loose\",\r\n text: \"Loose\",\r\n className: \"loose\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.mrp\r\n\r\n\r\n },\r\n {\r\n key: \"rate\",\r\n text: \"Rate\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n const rate = row.rate !== undefined && row.rate !== null ? Number(row.rate) : 0;\r\n return rate.toFixed(2);\r\n }\r\n },\r\n\r\n /* {\r\n key: \"disc\",\r\n text: \"Disc%\",\r\n className: \"disc\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n \r\n }, */\r\n {\r\n key: \"sub_total\",\r\n text: \"Amount\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => {\r\n const sub_total = row.sub_total !== undefined && row.sub_total !== null ? Number(row.sub_total) : 0;\r\n return sub_total.toFixed(2);\r\n }\r\n },\r\n\r\n\r\n\r\n /* {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.cgst \r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.sgst \r\n }, */\r\n /* {\r\n key: \"igst\",\r\n text: \"IGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.igst \r\n }, */\r\n /* {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n right: true,\r\n width:200,\r\n cell: (row, index) => row.total.toFixed(2) \r\n }, */\r\n ];\r\n this.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchcolumns = [\r\n\r\n {\r\n key: \"pharmacy_id\",\r\n text: \"Pharmacy ID\",\r\n className: \"searchpharmacy_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Address\",\r\n className: \"pharmacy_location\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData, errors });\r\n };\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n /* \r\n handleInput =(index,record) => {\r\n console.log(e);\r\n console.log(index);\r\n console.log(record);\r\n record[e.target.name] = e.target.value;\r\n }; */\r\n handlePhoneInput = (event) => {\r\n event.preventDefault();\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n data[event.target.name] = event.target.value\r\n .replace(/\\s/g, \"\")\r\n .replace(/[^0-9+]+/g, \"\");\r\n data.error = \"\";\r\n this.setState({ searchData: data, errors });\r\n };\r\n\r\n handleAdd = (e) => {\r\n let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n\r\n name === \"patient_name\" ||\r\n name === \"address\" ||\r\n name === \"created_by\" ||\r\n name === \"remarks\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ saleEntryData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n handleInput = (index, field) => (event) => {\r\n const { value } = event.target;\r\n const records = [...this.state.records]; // Create a copy of the records\r\n records[index][field] = value; // Update the specific field for the specific index\r\n // console.log(value);\r\n // console.log(index,field);\r\n console.log(records);\r\n this.setState({ records }); // Update the state with the new records\r\n };\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n saleEntryData: {\r\n ...prevState.saleEntryData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n\r\n SalesB2B = () => {\r\n this.props.history.push(\"/saleentryvoucherb2b/\");\r\n }\r\n\r\n SearchPatient = () => {\r\n // event.preventDefault();\r\n\r\n let searchData = this.state.searchData;\r\n if (searchData.phone_number === \"\") {\r\n searchData.error = \"Phone number is required\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n if (searchData.phone_number.length !== 10) {\r\n searchData.error = \"Enter a valid phone number\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n\r\n\r\n if (searchData.phone_number !== \"\" && searchData.phone_number.length === 10) {\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n getclientbyphonenumber,\r\n { phone_number: searchData.phone_number },\r\n CONFIG\r\n )\r\n .then((result) => {\r\n this.setState({ loading: false });\r\n\r\n if (result.data.status === \"1\") {\r\n let data = result.data.client;\r\n\r\n console.log(data);\r\n\r\n let patient_name = data.first_name + ' ' + data.last_name;\r\n let patient_address = data.address1 + ',' + data.city + ',' + data.state + ',' + data.country + '-' + data.zip_code;\r\n\r\n console.log(patient_name);\r\n console.log(patient_address);\r\n this.setState({\r\n clientData: data,\r\n patient_name: patient_name,\r\n patient_address: patient_address,\r\n add_btn: true,\r\n\r\n });\r\n\r\n\r\n } else {\r\n\r\n let formSuccess = {\r\n message: \"No Client Found\",\r\n status: \"0\",\r\n };\r\n searchData.error = result.data.message;\r\n this.setState({\r\n searchData,\r\n is_add_btn: true,\r\n clientData: {},\r\n patientBasicData: [],\r\n loading: false,\r\n selectedPerson: \"\",\r\n formSuccess,\r\n\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n console.log(e.data);\r\n console.log(\"business user getbyid failed\");\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n handleQuantityInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateRate(index);\r\n\r\n });\r\n };\r\n handleInputChange = (e) => {\r\n const value = e.target.value;\r\n const discountPercentage = value ? parseFloat(value) : 0; // Parse the input value\r\n\r\n // Update the discount percentage in the state\r\n this.setState({ discountPercentage }, () => {\r\n this.calculateDiscountAmounts();\r\n\r\n // Calculate discount amounts for all records\r\n });\r\n };\r\n calculateDiscountAmounts = () => {\r\n const { records, discountPercentage } = this.state;\r\n\r\n // Calculate discount amounts for all records\r\n const updatedRecords = records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = (sub_total * (discountPercentage / 100)); // Calculate discount amount\r\n return { ...record, discAmt }; // Return updated record\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords }, () => {\r\n this.calculateTotals();\r\n // this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n calculateTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = record.discAmt || 0; // Default to 0 if undefined\r\n const cgstAmt = record.cgstAmt || 0; // Default to 0 if undefined\r\n const sgstAmt = record.sgstAmt || 0; // Default to 0 if undefined\r\n const gstAmt = cgstAmt + sgstAmt;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n // Calculate the total\r\n const total = (sub_total - discAmt) + gstAmt;\r\n return { ...record, total }; // Return updated record with total\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n\r\n\r\n calculateRate = (index) => {\r\n let updatedData = [...this.state.records];\r\n let mrp = updatedData[index].mrp || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n let conversion_factor = updatedData[index].conversion_factor || 1;\r\n let cgst = updatedData[index].cgst || 0;\r\n let sgst = updatedData[index].cgst || 0;\r\n let gst = Number(cgst) + Number(sgst);\r\n console.log(cgst);\r\n console.log(sgst);\r\n console.log(gst);\r\n if (quantity != null && quantity !== 0) {\r\n if (gst == 5) {\r\n updatedData[index].rate = mrp / 1.05;\r\n } else if (gst == 12) {\r\n updatedData[index].rate = mrp / 1.12;\r\n }\r\n else if (gst == 18) {\r\n updatedData[index].rate = mrp / 1.18;\r\n }\r\n\r\n } else if (loose != null && loose !== 0) {\r\n updatedData[index].rate = mrp / conversion_factor;\r\n\r\n }\r\n\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n this.calculateSubTotals();\r\n \r\n //this.calculateTotals();\r\n });\r\n };\r\n\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let rate = updatedData[index].rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n if (quantity !== null && quantity !== 0) {\r\n updatedData[index].sub_total = quantity * rate;\r\n }\r\n else if (loose !== null && loose !== 0) {\r\n updatedData[index].sub_total = loose * rate;\r\n }\r\n this.setState({ records: updatedData }, () => {\r\n\r\n // this.calculateTotal(index);\r\n // this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n this.calculateGstAmount(index);\r\n });\r\n };\r\n\r\n calculateSubTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const rate = record.rate || 0;\r\n const quantity = record.quantity || 0;\r\n const loose = record.loose || 0;\r\n let sub_total = 0;\r\n if (quantity > 0) {\r\n sub_total = quantity * rate;\r\n } else if (loose > 0) {\r\n sub_total = loose * rate;\r\n }\r\n\r\n // Return the updated record with the calculated subtotal\r\n return { ...record, sub_total };\r\n\r\n\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n this.calculateTotals();\r\n this.calculateTaxAmounts();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n\r\n calculateTaxAmounts = () => {\r\n const { records } = this.state; // Destructure records from state\r\n /* console.log(this.props.location.state.gstAmt); */\r\n const updatedData = records.map((record) => {\r\n const taxrate = record.taxrate || 0;\r\n let sub_total = 0; // Initialize sub_total\r\n let taxAmt12 = 0;\r\n let cgstAmt12 = 0;\r\n let sgstAmt12 = 0;\r\n \r\n // Assuming you have a quantity and rate in each record\r\n const quantity = record.quantity || 0; // Default to 0 if undefined\r\n const rate = record.rate || 0; // Default to 0 if undefined\r\n const gstAmt = record.gstAmt || 0;\r\n \r\n // Calculate subtotal based on the tax rate\r\n switch(taxrate) {\r\n case 5:\r\n // Example calculation for 5% tax\r\n sub_total = quantity * rate * 1.05; // Including tax\r\n break;\r\n case 12:\r\n // Example calculation for 12% tax\r\n sub_total = quantity * rate * 1.12; // Including tax\r\n taxAmt12 = gstAmt;\r\n cgstAmt12 = gstAmt / 2;\r\n sgstAmt12 = gstAmt / 2;\r\n break;\r\n case 18:\r\n // Example calculation for 18% tax\r\n sub_total = quantity * rate * 1.18; // Including tax\r\n break;\r\n default:\r\n // If tax rate is not recognized, just calculate the base subtotal\r\n sub_total = quantity * rate; // No tax applied\r\n }\r\n \r\n // Return the updated record with the calculated values\r\n return { ...record, sub_total, taxAmt12, cgstAmt12, sgstAmt12 };\r\n });\r\n \r\n // Update the state with the new records\r\n this.setState({ records: updatedData });\r\n };\r\n \r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let gstAmt = updatedData[index].gstAmt || 0;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n updatedData[index].total = sub_total - discAmt + gstAmt;\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = (sub_total * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n\r\n calculateGstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n let cgstAmt = updatedData[index].cgstAmt;\r\n let sgstAmt = updatedData[index].sgstAmt;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n updatedData[index].gstAmt = (cgstAmt + sgstAmt);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n\r\n\r\n\r\n\r\n UpdateColumnChange = (record) => {\r\n\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n\r\n records[recIndex].pharmacy_id = record.pharmacy_id ? record.pharmacy_id : \"\";\r\n records[recIndex].pharmacy_name = record.pharmacy_name;\r\n records[recIndex].pharmacy_location = record.pharmacy_location;\r\n records[recIndex].address = record.address;\r\n records[recIndex].city = record.city;\r\n records[recIndex].country = record.country;\r\n records[recIndex].state = record.state;\r\n records[recIndex].zip_code = record.zip_code;\r\n // records[recIndex].phone_number = record.phone_number;\r\n\r\n this.setState({ records: records });\r\n }\r\n\r\n clearErrors = (errors) => {\r\n\r\n\r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no = \"\"\r\n return errors\r\n }\r\n clear = () => {\r\n\r\n let data = this.state.saleEntryData;\r\n\r\n data.phone_number = \"\";\r\n data.patient_name = \"\";\r\n data.address = \"\";\r\n this.state.patient_address = \"\";\r\n this.state.patient_name = \"\";\r\n this.state.searchData.phone_number = \"\";\r\n this.setState({ saleEntryData: data, add_btn: false, formSuccess: { message: \"\", }, });\r\n\r\n }\r\n cancel = () => {\r\n\r\n let data = this.state.saleEntryData;\r\n\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n saleEntryData: data, actions: \"add\", voucher_no: \"\", errors: errors, searchErrorMessage: \"\", records: [],\r\n search_action: false,\r\n totalAmtSec: {\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n\r\n\r\n },\r\n\r\n });\r\n }\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n /* calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let amt = 0.0;\r\n let taxAmt = 0.0;\r\n let taxVal = 0.0;\r\n let totalAmt = 0.0;\r\n let sub_total=0.0;\r\n console.log(records);\r\n \r\n records.map((data, i) => {\r\n if (undefined !== data.fee) {\r\n amt = Number(amt) + Number(data.fee);\r\n }\r\n if (undefined !== data.gst_amount) {\r\n taxAmt = Number(taxAmt) + Number(data.gst_amount);\r\n }\r\n if (undefined !== data.taxable_value) {\r\n taxVal = Number(taxVal) + Number(data.taxable_value);\r\n }\r\n if (undefined !== data.total_amount) {\r\n totalAmt = Number(totalAmt) + Number(data.total_amount);\r\n }\r\n if (undefined !== data.quantity) {\r\n sub_total = Number(data.quantity) * Number(data.p_rate);\r\n }\r\n });\r\n \r\n totalAmtSec.amt = amt;\r\n totalAmtSec.taxAmt = taxAmt;\r\n totalAmtSec.taxVal = taxVal;\r\n totalAmtSec.totalAmt = totalAmt;\r\n totalAmtSec.sub_total=sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(totalAmt)+\" rupees only\";\r\n this.setState({ totalAmtSec });\r\n \r\n console.log(totalAmtSec);\r\n }; \r\n */\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let gstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n let roundtotal = 0.0;\r\n let rounddiff = 0.0;\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n\r\n if (data.gstAmt !== undefined) {\r\n gstAmt += Number(data.gstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.gstAmt = gstAmt;\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.roundtotal = Math.round(total);\r\n totalAmtSec.rounddiff = total - totalAmtSec.roundtotal;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n calculateTaxAmountSection = () => {\r\n let records = this.state.records;\r\n let totalTaxAmtSec = { ...this.state.totalTaxAmtSec };\r\n\r\n // Initialize tax amounts and totals for each tax rate\r\n let taxSummary = {\r\n 5: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 12: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 18: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n };\r\n\r\n\r\n records.forEach((data) => {\r\n const taxRate = data.taxrate;\r\n\r\n\r\n if (taxSummary[taxRate]) {\r\n console.log(\"Current Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n\r\n taxSummary[taxRate].cgstAmt += Number(data.cgstAmt) || 0;\r\n taxSummary[taxRate].sgstAmt += Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].taxAmt += Number(data.cgstAmt) + Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].sub_total += Number(data.sub_total) || 0;\r\n\r\n console.log(\"Updated Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n }\r\n });\r\n\r\n // Ensure totalTaxAmtSec has the necessary properties initialized\r\n totalTaxAmtSec = {\r\n cgstAmt5: totalTaxAmtSec.cgstAmt5 || 0,\r\n sgstAmt5: totalTaxAmtSec.sgstAmt5 || 0,\r\n taxAmt5: totalTaxAmtSec.taxAmt5 || 0,\r\n sub_total5: totalTaxAmtSec.sub_total5 || 0,\r\n cgstAmt12: totalTaxAmtSec.cgstAmt12 || 0,\r\n sgstAmt12: totalTaxAmtSec.sgstAmt12 || 0,\r\n taxAmt12: totalTaxAmtSec.taxAmt12 || 0,\r\n sub_total12: totalTaxAmtSec.sub_total12 || 0,\r\n cgstAmt18: totalTaxAmtSec.cgstAmt18 || 0,\r\n sgstAmt18: totalTaxAmtSec.sgstAmt18 || 0,\r\n taxAmt18: totalTaxAmtSec.taxAmt18 || 0,\r\n sub_total18: totalTaxAmtSec.sub_total18 || 0,\r\n };\r\n\r\n\r\n\r\n // Update the totalTaxAmtSec object with calculated values\r\n totalTaxAmtSec.cgstAmt5 = taxSummary[5].cgstAmt;\r\n totalTaxAmtSec.sgstAmt5 = taxSummary[5].sgstAmt;\r\n totalTaxAmtSec.taxAmt5 = taxSummary[5].taxAmt;\r\n totalTaxAmtSec.sub_total5 = taxSummary[5].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt12 = taxSummary[12].cgstAmt;\r\n totalTaxAmtSec.sgstAmt12 = taxSummary[12].sgstAmt;\r\n totalTaxAmtSec.taxAmt12 = taxSummary[12].taxAmt;\r\n totalTaxAmtSec.sub_total12 = taxSummary[12].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt18 = taxSummary[18].cgstAmt;\r\n totalTaxAmtSec.sgstAmt18 = taxSummary[18].sgstAmt;\r\n totalTaxAmtSec.taxAmt18 = taxSummary[18].taxAmt;\r\n totalTaxAmtSec.sub_total18 = taxSummary[18].sub_total;\r\n\r\n console.log(\"Final Total Tax Amount Section:\", totalTaxAmtSec);\r\n\r\n // Update the state with the new total tax amounts\r\n this.setState({ totalTaxAmtSec });\r\n };\r\n generate() {\r\n let { saleEntryData, errors } = this.state;\r\n saleEntryData.type = \"saleEntryData\";\r\n errors = Validation(saleEntryData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n phone_number: saleEntryData.phone_number || this.state.searchData.phone_number,\r\n patient_name: saleEntryData.patient_name || this.state.patient_name,\r\n address: saleEntryData.address || this.state.patient_address,\r\n remarks: saleEntryData.remarks,\r\n bill_date: saleEntryData.bill_date,\r\n doctorreg_no: saleEntryData.doctorreg_no,\r\n doctor_name: saleEntryData.doctor_name,\r\n created_by: saleEntryData.created_by,\r\n records: this.state.records\r\n };\r\n console.log(data);\r\n console.log(this.state.bill_no);\r\n console.log(this.state.saleEntryData.bill_date);\r\n this.props.history.push({\r\n pathname: \"/saleinvoice/\" + this.state.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/saleinvoice/\" + this.state.bill_no,\r\n state: {\r\n bill_no: this.state.bill_no,\r\n bill_date: this.state.saleEntryData.bill_date.toString(),\r\n patient_name: this.state.patient_name,\r\n patient_address: this.state.patient_address,\r\n doctorreg_no: this.state.saleEntryData.doctorreg_no,\r\n doctor_name: this.state.saleEntryData.doctor_name,\r\n sub_total: this.state.totalAmtSec.sub_total.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n discAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n total: this.state.totalAmtSec.total.toFixed(2),\r\n totalAmtWords: this.state.totalAmtSec.totalAmtWords,\r\n roundtotal: this.state.totalAmtSec.roundtotal.toFixed(2),\r\n rounddiff: this.state.totalAmtSec.rounddiff.toFixed(2),\r\n sub_total5: this.state.totalTaxAmtSec.sub_total5,\r\n cgstAmt5: this.state.totalTaxAmtSec.cgstAmt5,\r\n sgstAmt5: this.state.totalTaxAmtSec.sgstAmt5,\r\n taxAmt5: this.state.totalTaxAmtSec.taxAmt5,\r\n sub_total12: this.state.totalTaxAmtSec.sub_total12,\r\n cgstAmt12: this.state.totalTaxAmtSec.cgstAmt12,\r\n sgstAmt12: this.state.totalTaxAmtSec.sgstAmt12,\r\n taxAmt12: this.state.totalTaxAmtSec.taxAmt12,\r\n sub_total18: this.state.totalTaxAmtSec.sub_total18,\r\n cgstAmt18: this.state.totalTaxAmtSec.cgstAmt18,\r\n sgstAmt18: this.state.totalTaxAmtSec.sgstAmt18,\r\n taxAmt18: this.state.totalTaxAmtSec.taxAmt18,\r\n }\r\n });\r\n }\r\n }\r\n addSaleEntryData() {\r\n\r\n\r\n let { saleEntryData, errors } = this.state;\r\n saleEntryData.type = \"saleEntryData\";\r\n errors = Validation(saleEntryData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n phone_number: saleEntryData.phone_number || this.state.searchData.phone_number,\r\n patient_name: saleEntryData.patient_name || this.state.patient_name,\r\n address: saleEntryData.address || this.state.patient_address,\r\n remarks: saleEntryData.remarks,\r\n bill_date: saleEntryData.bill_date,\r\n doctorreg_no: saleEntryData.doctorreg_no,\r\n doctor_name: saleEntryData.doctor_name,\r\n created_by: saleEntryData.created_by,\r\n records: this.state.records,\r\n discPercent: this.state.discountPercentage,\r\n subtotalAmount: this.state.totalAmtSec.sub_total,\r\n totalAmount: this.state.totalAmtSec.total,\r\n discountAmt: this.state.totalAmtSec.discAmt,\r\n gstAmt: this.state.totalAmtSec.gstAmt,\r\n payment_mode: saleEntryData.payment_mode.label,\r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n\r\n axios\r\n\r\n .post(addSaleEntryData, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n editformSuccess: res,\r\n bill_no: res.data[0].bill_no,\r\n bill_date: this.state.bill_date\r\n });\r\n toast.success(\"The Sale Entry voucher have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n\r\n this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Sale Entry voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n\r\n }\r\n }\r\n\r\n updateSaleEntryData()\r\n {\r\n \r\n let { saleEntryData, errors } = this.state;\r\n saleEntryData.type = \"saleEntryData\";\r\n errors = Validation(saleEntryData, errors);\r\n this.setState({ errors: errors });\r\n \r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n \r\n let data = {\r\n user_id: this.props.userdata.id,\r\n phone_number: saleEntryData.phone_number || this.state.searchData.phone_number,\r\n patient_name: saleEntryData.patient_name || this.state.patient_name,\r\n address: saleEntryData.address || this.state.patient_address,\r\n remarks: saleEntryData.remarks,\r\n bill_date: saleEntryData.bill_date,\r\n bill_no:this.props.location.state.bill_no,\r\n doctorreg_no: saleEntryData.doctorreg_no,\r\n doctor_name: saleEntryData.doctor_name,\r\n created_by: saleEntryData.created_by,\r\n records: this.state.records,\r\n discPercent: this.state.discountPercentage,\r\n subtotalAmount: this.state.totalAmtSec.sub_total.toFixed(2),\r\n totalAmount: this.state.totalAmtSec.total.toFixed(2),\r\n discountAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n cgstAmt5:this.state.totalTaxAmtSec.cgstAmt5.toFixed(2),\r\n sgstAmt5:this.state.totalTaxAmtSec.sgstAmt5.toFixed(2),\r\n taxAmt5:this.state.totalTaxAmtSec.taxAmt5.toFixed(2),\r\n sub_total5:this.state.totalTaxAmtSec.sub_total5.toFixed(2),\r\n cgstAmt12:this.state.totalTaxAmtSec.cgstAmt12.toFixed(2),\r\n sgstAmt12:this.state.totalTaxAmtSec.sgstAmt12.toFixed(2),\r\n taxAmt12:this.state.totalTaxAmtSec.taxAmt12.toFixed(2),\r\n sub_total12:this.state.totalTaxAmtSec.sub_total12.toFixed(2),\r\n cgstAmt18:this.state.totalTaxAmtSec.cgstAmt18.toFixed(2),\r\n sgstAmt18:this.state.totalTaxAmtSec.sgstAmt18.toFixed(2),\r\n taxAmt18:this.state.totalTaxAmtSec.taxAmt18.toFixed(2),\r\n sub_total18:this.state.totalTaxAmtSec.sub_total18.toFixed(2),\r\n payment_mode: saleEntryData.payment_mode.label,\r\n customer_type: 'patient',\r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n \r\n axios\r\n \r\n .post(updateSaleEntryData, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n toast.success(\"The Sale Entry voucher have been updated successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.setState({\r\n records: records,\r\n // searchTableSuccess: res,\r\n // loading: false,\r\n // editformSuccess: res,\r\n voucher_no:res.data[0].voucher_no\r\n });\r\n \r\n // this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Sale Entry voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n \r\n }\r\n \r\n }\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n componentDidUpdate(prevProps)\r\n { if (prevProps.location.state.payment_mode !== this.props.location.state.payment_mode) \r\n { this.setInitialPaymentMode(); }\r\n } \r\n setInitialPaymentMode = () => {\r\n const payment_mode = [\r\n { value: 0, label: \"Cash\" },\r\n { value: 1, label: \"UPI\" },\r\n { value: 2, label: \"Credit card\" },\r\n { value: 3, label: \"Debit card\" },\r\n\r\n ];\r\n const matchedOption = payment_mode.find(option => option.label === this.props.location.state.payment_mode); \r\n console.log('Matched Option:', matchedOption);\r\n this.setState({ selectedPaymentMode: matchedOption });\r\n }\r\n componentDidMount = () => {\r\n \r\nconsole.log(this.state.selectedPaymentMode);\r\nthis.setInitialPaymentMode();\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n this.fetchPharmacyDrugs();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n\r\n //set first record as consultation fee by default\r\n /* let consultation_fee_record = {};\r\n consultation_fee_record.s_no = 1;\r\n consultation_fee_record.description = \"Consultation Fee\";\r\n consultation_fee_record.fee = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n consultation_fee_record.disc = \"\";\r\n consultation_fee_record.taxable_value = \"\";\r\n consultation_fee_record.gst_rate = \"\";\r\n consultation_fee_record.gst_amount = \"\";\r\n consultation_fee_record.total_amount = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n */\r\n let records = [];\r\n // records.push(consultation_fee_record); \r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n this.calculateTaxAmounts();\r\n this.calculateTaxAmountSection();\r\n this.calculateTotals();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n\r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n\r\n }));\r\n\r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n });\r\n\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n\r\n\r\n\r\n };\r\n onDeleteClick(record) {\r\n\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n // Filter out the record to delete\r\n const updatedRecords = this.state.records.filter(item => item.s_no !== record.s_no);\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords, addPopup: false }, () => {\r\n toast.success(\"The Sale Entry detail has been deleted successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.calculateSubTotals();\r\n console.log(updatedRecords);\r\n });\r\n }\r\n handlepaymentselectChange = (selectedOption) => {\r\n \r\n /* let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions; */\r\n this.setState({ selectedPaymentMode: selectedOption });\r\n \r\n }\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n const drugNameToSet = selectedOption ? selectedOption.label : ''; // Get the selected drug name\r\n\r\n // Update the drug_name for the specific record\r\n updatedData[index].generic_name = drugNameToSet;\r\n\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n console.log(updatedData[index][key])\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData, selectedBatches: [], batches: [] });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n this.getBatchandExpDateBydrugname(index, selectedOption,new Date());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n fetchPharmacyDrugs = async () => {\r\n try {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n const result = await axios.post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG);\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n this.setState({ supplies });\r\n this.fetchSaleEntryData(supplies);\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n console.error(\"Error fetching pharmacy drugs\", e);\r\n }\r\n };\r\n fetchSaleEntryData = async (supplies) => {\r\n try {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n const list = await axios.post(getAllSaleEntryDataByBillNumber, { bill_no: this.props.location.state.bill_no }, CONFIG);\r\n const List = list.data.data;\r\n console.log(List);\r\n let doctorreg_no = List[0].doctorreg_no;\r\n\r\n let records = List.map((element, index) => ({\r\n s_no: index + 1,\r\n user_id: this.props.userdata.id,\r\n id:element.id,\r\n generic_name: element.generic_name,\r\n pack: element.pack,\r\n batch_no: element.batch_no,\r\n storage_bin: element.storage_bin,\r\n quantity: element.quantity,\r\n free: element.free,\r\n rate: element.rate,\r\n mrp: element.mrp,\r\n disc: element.disc,\r\n sub_total: element.sub_total,\r\n cgst: element.cgst,\r\n sgst: element.sgst,\r\n igst: element.igst,\r\n total: element.total,\r\n discAmt: element.discAmt,\r\n taxrate: element.taxrate,\r\n cgstAmt: element.cgstAmt,\r\n sgstAmt: element.sgstAmt,\r\n }));\r\n\r\n const defaultEnterSize = 25;\r\n const extraRows = defaultEnterSize - records.length;\r\n for (let i = 1; i <= extraRows; i++) {\r\n records.push({\r\n s_no: records.length + 1,\r\n user_id: this.props.userdata.id,\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n storage_bin: \"\",\r\n quantity: \"\",\r\n free: \"\",\r\n rate: 0,\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n discAmt: 0,\r\n taxrate: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n });\r\n }\r\n\r\n this.setState({\r\n records, loading: false,\r\n doctorreg_no: List[0].doctorreg_no,\r\n address: List[0].address,\r\n remarks: List[0].remarks,\r\n created_by: List[0].created_by,\r\n\r\n }, () => {\r\n // Trigger calculations after state update\r\n this.calculateSection();\r\n //this.calculateSubTotals();\r\n this.calculateTaxAmountSection();\r\n // this.calculateAllIgstAmounts();\r\n // this.calculateAllDiscountAmounts();\r\n });\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n console.error(\"Error fetching purchase entry data\", e);\r\n }\r\n };\r\n handleShow = (index) => {\r\n const currentRecord = this.state.records[index];\r\n console.log(currentRecord);\r\n console.log(\"curent index\", index);\r\n console.log(this.state.selectedBatches);\r\n\r\n // Create the current batch object\r\n const currentBatchInRow = {\r\n batch_no: currentRecord.batch_no || 'Select Batch',\r\n exp_date: currentRecord.exp_date || 'N/A',\r\n };\r\n console.log(currentBatchInRow);\r\n\r\n // Determine the selectedBatch based on the existence of batch_no\r\n const selectedBatch = currentRecord.batch_no\r\n ? currentBatchInRow // If batch_no exists, use currentBatchInRow\r\n : { batch_no: 'Select Batch', exp_date: 'N/A' }; // If not, use default\r\n\r\n // Set the current row index and selected batch in a single setState call\r\n this.setState({\r\n currentRow: index,\r\n selectedBatch: currentBatchInRow, // Set the selected batch based on the logic\r\n showModel: true,\r\n selectedBatches: [], // Show the modal\r\n //batches:[],\r\n });\r\n\r\n };\r\n handleBatchClose = () => {\r\n this.setState({ showModel: false });\r\n\r\n };\r\n handleSelectBatchClick = () => {\r\n const { selectedBatches, selectedExpdates, currentRow } = this.state;\r\n\r\n if (selectedBatches.length > 0) {\r\n console.log(\"Remove previous batch\", selectedBatches.shift()); // Remove the first element from selectedBatches\r\n console.log(\"Remove previous exp_date\", selectedExpdates.shift()); // Remove the first element from selectedExpdates\r\n\r\n this.selectBatch(selectedBatches, selectedExpdates, currentRow);\r\n\r\n // Clear selections\r\n this.setState({\r\n selectedBatches: [],\r\n selectedExpdates: []\r\n });\r\n } else {\r\n console.log('No batches selected.');\r\n }\r\n };\r\n\r\n selectBatch = (batches, expdates,quantities, selectedIndex) => {\r\n const updatedRecords = [...this.state.records];\r\n const batcheslength = batches.length;\r\n console.log(\"Selected Index:\", selectedIndex);\r\n console.log(\"Batches:\", batches);\r\n console.log(\"Quantities:\", quantities);\r\n console.log(\"old batch length\", batcheslength);\r\n console.log(\"New batches length\", batches.length);\r\n console.log(\"First Record:\", updatedRecords[0]);\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const drug_id=updatedRecords[this.state.currentRow]?.drug_id;\r\n const drugNameToSet = updatedRecords[this.state.currentRow]?.generic_name;\r\n const packToSet = updatedRecords[this.state.currentRow]?.pack;\r\n const storagebin = updatedRecords[this.state.currentRow]?.storage_bin;\r\n const mrp = updatedRecords[this.state.currentRow]?.mrp;\r\n const cgst = updatedRecords[this.state.currentRow]?.cgst;\r\n const sgst = updatedRecords[this.state.currentRow]?.sgst;\r\n const hsn_code = updatedRecords[this.state.currentRow]?.hsn_code;\r\n const conversion_factor = updatedRecords[this.state.currentRow]?.conversion_factor;\r\n console.log(\"Drug Name to Set:\", drugNameToSet);\r\n \r\n if (this.state.currentRow === 0) {\r\n // Loop through each selected batch and update the corresponding row\r\n batches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n \r\n expdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n quantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n } \r\n else{\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const updatedbatches=this.deleteElementsUpToIndex(batches, this.state.currentRow);\r\n updatedbatches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n const updatedexpdates=this.deleteElementsUpToIndex(expdates, this.state.currentRow);\r\n updatedexpdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedquantities=this.deleteElementsUpToIndex(quantities, this.state.currentRow);\r\n \r\n updatedquantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n }\r\n \r\n this.setState({ records: updatedRecords }, () => {\r\n console.log('Updated Records after Set State:', this.state.records);\r\n this.calculateTaxAmountSection();\r\n this.setState({ selectedBatches: [], selectedExpdates: [] ,selectedQuantities:[]});\r\n });\r\n };\r\n deleteElementsUpToIndex(array, index) {\r\n // Check if the index is valid\r\n if (index < 0 || index >= array.length) {\r\n console.error(\"Invalid index\");\r\n return array; // Return the original array if the index is invalid\r\n }\r\n \r\n // Return a new array starting from the specified index\r\n return array.slice(index);\r\n}\r\n getBatchnobyDrugname = (index, selectedOption) => {\r\n axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n\r\n let batch_no = drugResponse.data.data;\r\n console.log(\"Fetched batch: \", batch_no[0]);\r\n })\r\n }\r\n\r\n getBatchandExpDateBydrugname = (index, selectedOption) => {\r\n if (selectedOption != null) {\r\n this.setState({ batches: [] });\r\n axios.post(getBatchandExpDateBydrugname, { generic_name: selectedOption.label,specified_date: new Date() }, CONFIG)\r\n .then((drugResponse) => {\r\n // Ensure batches is always an array\r\n let batches = Array.isArray(drugResponse.data.data) ? drugResponse.data.data : [];\r\n console.log(\"Fetched batches: \", batches);\r\n this.setState({ batches });\r\n })\r\n .catch(error => {\r\n console.error('Error fetching batch data:', error);\r\n this.setState({ batches: [] }); // Set to empty array on error\r\n });\r\n }\r\n }\r\n fetchItemDetails = (index, selectedOption) => {\r\n // Fetch item list for the selected drug\r\n if (selectedOption != null) {\r\n\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n const itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Fetch batch numbers and expiry dates for the selected drug\r\n return axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((batchResponse) => {\r\n const batch_no = batchResponse.data.data;\r\n console.log(\"Fetched Batch Numbers: \", batch_no); // Verify the batch response\r\n\r\n // Find the item in the item list\r\n const item = itemList.find(item => item.generic_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data\r\n const updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n batch_no: item.batch_no, // Ensure batch_no is a string\r\n mrp: batch_no.length > 0 ? batch_no[0].mrp : \"\", // Handle case where batch_no might be empty\r\n storage_bin: item.storage_bin,\r\n conversion_factor: item.conversion_factor,\r\n cgst: item.cgst,\r\n sgst: item.sgst,\r\n hsn_code: item.hsn_code,\r\n\r\n // igst: this.state.State_value === this.state.gst_state ? item.igst : \"\",\r\n // sub_total: updatedData[index].quantity * updatedData[index].rate,\r\n };\r\n\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection(); // Call calculateSection after state update\r\n this.calculateTaxAmountSection();\r\n });\r\n }\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }\r\n };\r\n\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ saleEntryData: data, errors: errors });\r\n }\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n\r\n\r\n handlevendorselectChange = async (selectedOptions, e) => {\r\n let data = this.state.purchaseEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n\r\n this.setState({ purchaseEntryData: data, errors, searchErrorMessage: \"\" });\r\n\r\n axios\r\n .post(getgststatebyVendorname, { user_id: this.props.userdata.id, vendor_name: selectedOptions.label }, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data = resdata.data[0];\r\n console.log(resdata.status);\r\n\r\n if (resdata.status == \"1\") {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state);\r\n });\r\n }\r\n\r\n }).catch((e) => { });\r\n\r\n }\r\n handleUpdateVoucher = () => { \r\n const { bill_date } = this.state.saleEntryData;\r\n const currentDate = new Date(); \r\n const billDate = new Date(bill_date); \r\n // Calculate the difference in days\r\n // const timeDiff = Math.abs(currentDate.getTime() - voucherDate.getTime()); \r\n // const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); \r\n // Check if the voucher date is within 30 days or within the current month \r\n if (billDate.getMonth() !== currentDate.getMonth()) \r\n { \r\n this.setState({ updatePopup: true });\r\n return;\r\n } \r\n // Proceed with the update if validation passes \r\n this.updateSaleEntryData();\r\n };\r\n\r\n render() {\r\n \r\n let showPopup = () => { this.setState({ addPopup: true }); };\r\n let PopupClose = () => this.setState({ addPopup: false, updatePopup: false });\r\n let PopupConfirm = () => {\r\n this.setState({ addPopup: false },\r\n () => {\r\n\r\n this.handleUpdateVoucher();\r\n });\r\n };\r\n const payment_mode = [\r\n { value: 0, label: \"Cash\" },\r\n { value: 1, label: \"UPI\" },\r\n { value: 2, label: \"Credit card\" },\r\n { value: 3, label: \"Debit card\" },\r\n\r\n ];\r\n // let PopupClose = () => this.setState({ addPopup: false });\r\n // let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n const { saleEntryData, records, batches, bill_no, bill_date, selectedBatch, currentBatchinrow, showModel, errors, formSuccess, tableSuccess, hospitaltimeout, mastervendorNames, gst_state, State_value, searchErrorMessage, searchTableSuccess, loading } = this.state;\r\n const formattedSubTotal12 = this.props.location.state.sub_total12;\r\n\r\n return (\r\n\r\n
    \r\n \r\n\r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \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.location.state.view_page==true?'View':'Edit'} Sale Entry Voucher

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.location.state.view_page==true?'View':'Edit'} Sale Entry Voucher\r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n {/*
    */}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n Reset\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleDatePickerChange(date, 'bill_date')}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n disabled={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 \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n this.handleDatePickerChange(date, 'invoice_date')} \r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n \r\n /> \r\n
    \r\n \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Sub Total\r\n \r\n \r\n {this.state.totalAmtSec.sub_total.toFixed(2)}\r\n \r\n \r\n \r\n \r\n Disc Amt\r\n \r\n \r\n {this.props.location.state.discAmt ? this.props.location.state.discAmt : '0.00'}\r\n \r\n \r\n \r\n \r\n GST Amt\r\n \r\n \r\n {this.props.location.state.gstAmt ? this.props.location.state.gstAmt : '0.00'}\r\n \r\n \r\n \r\n \r\n Invoice value\r\n \r\n \r\n {this.state.totalAmtSec.total.toFixed(2)}\r\n \r\n \r\n {/* \r\n \r\n IGST Amt\r\n \r\n \r\n {this.state.totalAmtSec.igstAmt.toFixed(2)}\r\n \r\n */}\r\n\r\n\r\n \r\n \r\n
    \r\n {/* Add other content above the table if needed */}\r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* This is the empty row */}\r\n
    \r\n {/* This is the empty row */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n Disc %\r\n \r\n \r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n Payment Mode\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n\r\n \r\n \r\n 5%\r\n \r\n \r\n {this.props.location.state.sub_total5}\r\n \r\n \r\n {this.props.location.state.cgstAmt5}\r\n \r\n \r\n {this.props.location.state.sgstAmt5}\r\n \r\n \r\n {this.props.location.state.taxAmt5}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {formattedSubTotal12}\r\n \r\n \r\n {this.props.location.state.cgstAmt12}\r\n \r\n \r\n {this.props.location.state.sgstAmt12}\r\n \r\n \r\n {this.props.location.state.taxAmt12}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.props.location.state.sub_total18}\r\n \r\n \r\n {this.props.location.state.cgstAmt18}\r\n \r\n \r\n {this.props.location.state.sgstAmt18}\r\n \r\n \r\n {this.props.location.state.taxAmt18}\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n\r\n {/* \r\n \r\n \r\n Sub Total\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n \r\n Discount Amount\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n CGST%\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n SGST%\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n \r\n Grand Total\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n */}\r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n {this.props.location.state.view_page == true ?\r\n ( this.props.history.goBack()}\r\n id=\"back\"\r\n >\r\n Back\r\n ) :\r\n (
    \r\n Update\r\n \r\n \r\n clear\r\n \r\n this.props.history.goBack()}\r\n id=\"back\"\r\n >\r\n Back\r\n
    )}\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )}\r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ViewSaleEntryVoucher));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport moment from \"moment\";\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n\r\n getAllSalePatientList,\r\n deleteSaleByBillnumber,\r\n getSalesandStockReport,\r\n searchStockandSalesReport,\r\n getAllUniquePurchaseEnryList,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n searchEmployee,\r\n searchSaleEntries,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n deletePurchaseByVouchernumber,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail\r\n} from \"../config/url.json\";\r\nimport { CONFIG ,categorylist} from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n drug_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n manu_date: \"\",\r\n exp_date: \"\",\r\n quantity: \"\",\r\n free: \"\",\r\n p_rate: \"\",\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n\r\n};\r\nclass StockandSalesReport extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n reportList: [],\r\n records: [],\r\n addPopup: false,\r\n updatePopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n selectedRecord: null,\r\n StockandsaleReport:\r\n {\r\n from_date: \"\",\r\n to_date: \"\",\r\n category:\"\",\r\n generic_name:\"\",\r\n manufacturer:\"\",\r\n \r\n },\r\n\r\n\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n voucher_no: \"\",\r\n voucher_date: \"\",\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n poref_no: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"category\",\r\n text: \"Category\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"drug_id\",\r\n text: \"Item ID\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '10px',\r\n \r\n },\r\n\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n /* {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '10px',\r\n }, */\r\n\r\n \r\n {\r\n key: \"manufacturer\",\r\n text: \"Mfg Name\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n\r\n },\r\n {\r\n key: \"opening_stock\",\r\n text: \"Opening\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n\r\n },\r\n {\r\n key: \"purchases\",\r\n text: \"Purchase\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"purchase_return\",\r\n text: \"Purchase Return\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"sales\",\r\n text: \"Sales\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"sales_return\",\r\n text: \"Sales Return\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"closing_stock\",\r\n text: \"Closing\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n /* {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: '20px',\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n this.viewRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.onDeleteClick(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\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.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: true,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.StockandsaleReport;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n name === \"category\" ||\r\n name === \"generic_name\"||\r\n name === \"manufacturer\"\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ StockandsaleReport: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n \r\nhandlecategoryselectChange=(selectedOptions, e)=>{\r\n\r\n let StockandsaleReport=this.state.StockandsaleReport;\r\n let errors=this.state.errors;\r\n errors[e.name] = \"\"\r\n StockandsaleReport[e.name] = selectedOptions;\r\n \r\n this.setState({ StockandsaleReport: StockandsaleReport, errors: errors });\r\n}\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n purchaseEntryData: {\r\n ...prevState.purchaseEntryData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n handleInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n });\r\n };\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].sub_total = quantity * (p_rate - ((disc / 100) * p_rate));\r\n\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateTotal(index);\r\n this.calculateDiscountAmount(index);\r\n this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n });\r\n };\r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let igst = updatedData[index].igst || 0;\r\n updatedData[index].total = sub_total + ((igst / 100) * sub_total);\r\n console.log(igst);\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = ((quantity * p_rate) * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n handleFromDOBChange = (date) => {\r\n let StockandsaleReport = this.state.StockandsaleReport;\r\n let errors = this.state.errors;\r\n\r\n\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n StockandsaleReport.from_date = offsetDate;\r\n\r\n this.setState({ StockandsaleReport: StockandsaleReport, errors: errors, from_date: offsetDate });\r\n };\r\n handleToDOBChange = (date) => {\r\n let StockandsaleReport = this.state.StockandsaleReport;\r\n let errors = this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n StockandsaleReport.to_date = offsetDate;\r\n //errors.Todate=\"\";\r\n this.setState({ StockandsaleReport: StockandsaleReport, errors: errors, to_date: offsetDate });\r\n };\r\n\r\n\r\n\r\n\r\n clearErrors = (errors) => {\r\n\r\n\r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no = \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n\r\n let data = this.state.purchaseEntryData;\r\n\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n purchaseEntryData: data, actions: \"add\", voucher_no: \"\", errors: errors, searchErrorMessage: \"\", records: [],\r\n search_action: false,\r\n totalAmtSec: {\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n\r\n },\r\n\r\n });\r\n }\r\n\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let igstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n if (data.igstAmt !== undefined) {\r\n igstAmt += Number(data.igstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.igstAmt = igstAmt;\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n\r\n editRecord(record) {\r\n console.log(record);// return false;\r\n /* let purchaseRegister = this.state.purchaseRegister;\r\n purchaseRegister.vendor_name = record.vendor_name;\r\n purchaseRegister.voucher_no = record.voucher_no;\r\n purchaseRegister.voucher_date = record.voucher_date;\r\n purchaseRegister.voucher_date = moment(record.voucher_date).toDate();\r\n purchaseRegister.vendorinvoice_no = record.vendorinvoice_no;\r\n purchaseRegister.sub_total = record.sub_total;\r\n purchaseRegister.total = record.total;\r\n purchaseRegister.disc = record.disc;\r\n purchaseRegister.user_id=this.props.userdata.id;\r\n console.log(purchaseRegister);\r\n \r\n this.setState({\r\n editRecord: record,\r\n purchaseRegister: purchaseRegister,\r\n actions: \"edit\",\r\n }); */\r\n\r\n this.props.history.push({\r\n pathname: \"/viewsaleentryvoucher/\" + record.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/viewsaleentryvoucher/\" + record.bill_no,\r\n state: {\r\n patient_name: record.patient_name,\r\n bill_no: record.bill_no,\r\n bill_date: record.bill_date,\r\n doctorreg_no: record.doctorreg_no,\r\n patient_name: record.patient_name,\r\n phone_number: record.phone_number,\r\n doctor_name: record.doctor_name,\r\n address: record.address,\r\n created_by: record.created_by,\r\n remarks: record.remarks,\r\n disc: record.disc,\r\n gstAmt: record.gstAmt,\r\n discAmt: record.discAmt,\r\n cgstAmt5: record.cgstAmt5,\r\n sgstAmt5: record.sgstAmt5,\r\n taxAmt5: record.taxAmt5,\r\n sub_total5: record.sub_total5,\r\n cgstAmt12: record.cgstAmt12,\r\n sgstAmt12: record.sgstAmt12,\r\n taxAmt12: record.taxAmt12,\r\n sub_total12: record.sub_total12,\r\n cgstAmt18: record.cgstAmt18,\r\n sgstAmt18: record.sgstAmt18,\r\n taxAmt18: record.taxAmt18,\r\n sub_total18: record.sub_total18,\r\n payment_mode: record.payment_mode,\r\n }\r\n });\r\n\r\n }\r\n\r\n viewRecord(record) {\r\n this.props.history.push({\r\n pathname: \"/viewsaleentryvoucher/\" + record.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/viewsaleentryvoucher/\" + record.bill_no,\r\n state: {\r\n patient_name: record.patient_name,\r\n bill_no: record.bill_no,\r\n bill_date: record.bill_date,\r\n doctorreg_no: record.doctorreg_no,\r\n patient_name: record.patient_name,\r\n disc: record.disc,\r\n gstAmt: record.gstAmt,\r\n phone_number: record.phone_number,\r\n doctor_name: record.doctor_name,\r\n address: record.address,\r\n created_by: record.created_by,\r\n remarks: record.remarks,\r\n discAmt: record.discAmt,\r\n payment_mode: record.payment_mode,\r\n cgstAmt: record.cgstAmt,\r\n sgstAmt: record.sgstAmt,\r\n cgstAmt5: record.cgstAmt5,\r\n sgstAmt5: record.sgstAmt5,\r\n taxAmt5: record.taxAmt5,\r\n sub_total5: record.sub_total5,\r\n cgstAmt12: record.cgstAmt12,\r\n sgstAmt12: record.sgstAmt12,\r\n taxAmt12: record.taxAmt12,\r\n sub_total12: record.sub_total12,\r\n cgstAmt18: record.cgstAmt18,\r\n sgstAmt18: record.sgstAmt18,\r\n taxAmt18: record.taxAmt18,\r\n sub_total18: record.sub_total18,\r\n view_page: true\r\n }\r\n });\r\n\r\n }\r\n refreshData = () => {\r\n\r\n let purchaseRegister = this.state.purchaseRegister;\r\n purchaseRegister = { FromDate: \"\", ToDate: \"\", vendorinvoice_no: \"\", vendor_name: \"\", errors: \"\" };\r\n this.setState({\r\n purchaseRegister: purchaseRegister\r\n });\r\n\r\n this.getAllPurchaseEntryList(this.props.userdata.id);\r\n\r\n\r\n };\r\n\r\n getAllPurchaseEntryList = (user_id) => {\r\n\r\n if (user_id !== \"\") {\r\n let reqdata = {\r\n user_id: this.props.userdata.id\r\n\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSalePatientList, reqdata, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.bill_no = element.bill_no;\r\n purchaseData.bill_date = element.bll_date;\r\n purchaseData.disc = element.disc;\r\n purchaseData.sub_total = element.sub_total;\r\n purchaseData.total = element.total;\r\n purchaseData.customer_type = element.customer_type;\r\n purchaseData.phone_number = element.phone_number;\r\n purchaseData.discAmt = element.discAmt;\r\n purchaseData.doctor_name = element.doctor_name;\r\n purchaseData.payment_mode = element.payment_mode;\r\n purchaseData.cgstAmt5 = element.cgstAmt5;\r\n purchaseData.sgstAmt5 = element.sgstAmt5;\r\n purchaseData.taxAmt5 = element.taxAmt5;\r\n purchaseData.sub_total5 = element.sub_total5;\r\n purchaseData.cgstAmt12 = element.cgstAmt12;\r\n purchaseData.sgstAmt12 = element.sgstAmt12;\r\n purchaseData.taxAmt12 = element.taxAmt12;\r\n purchaseData.sub_total12 = element.sub_total12;\r\n purchaseData.cgstAmt18 = element.cgstAmt18;\r\n purchaseData.sgstAmt18 = element.sgstAmt18;\r\n purchaseData.taxAmt18 = element.taxAmt18;\r\n purchaseData.sub_total18 = element.sub_total18;\r\n DataArr[index] = purchaseData;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n\r\n\r\n }\r\n }\r\n\r\n \r\n\r\n Generate() {\r\n\r\n let StockandsaleReport = this.state.StockandsaleReport;\r\n let reqdata = {\r\n user_id: this.props.userdata.id,\r\n from_date: StockandsaleReport.from_date,\r\n to_date:StockandsaleReport.to_date,\r\n\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getSalesandStockReport, reqdata, CONFIG)\r\n .then((list) => {\r\n let List = list.data.data;\r\n let DataArr = [];\r\n List.forEach((element, index) => {\r\n let Data = {};\r\n Data.s_no = index + 1;\r\n Data.user_id = this.props.userdata.id;\r\n Data.drug_id = element.drug_id;\r\n Data.generic_name = element.generic_name;\r\n Data.pack = element.pack;\r\n Data.mrp = element.mrp;\r\n Data.category = element.category;\r\n Data.manufacturer = element.manufacturer;\r\n Data.drug_name = element.drug_name;\r\n Data.batch_no = element.batch_no;\r\n Data.p_rate = element.p_rate;\r\n Data.exp_date = element.exp_date;\r\n Data.quantity = element.quantity;\r\n Data.opening_stock=element.opening_stock;\r\n Data.purchases=element.purchases;\r\n Data.sales=element.sales;\r\n Data.closing_stock=element.closing_stock;\r\n \r\n DataArr[index] = Data;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\nsearchStockandSalesReport() {\r\n let StockandsaleReport = this.state.StockandsaleReport;\r\n\r\n let data = {};\r\n let errors = this.state;\r\n data.category = StockandsaleReport.category ? StockandsaleReport.category.label : \"\";\r\n data.generic_name = StockandsaleReport.generic_name;\r\n data.manufacturer = StockandsaleReport.manufacturer;\r\n data.exp_date = StockandsaleReport.exp_date;\r\n data.from_date=StockandsaleReport.from_date;\r\n data.to_date=StockandsaleReport.to_date;\r\n data.user_id = this.props.userdata.id;\r\n\r\n\r\n\r\n console.log(data);\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n console.log(data);\r\n axios.post(searchStockandSalesReport, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data.data;\r\n console.log(result);\r\n if (result.length > 0) {\r\n // let records = result.data;\r\n\r\n let reportList = [];\r\n result.forEach((element, index) => {\r\n let report = {};\r\n report.s_no = index + 1;\r\n report.category=element.category;\r\n report.drug_id=element.drug_id;\r\n report.generic_name = element.generic_name;\r\n report.pack = element.pack;\r\n report.mrp = element.mrp;\r\n report.category = element.category;\r\n report.manufacturer = element.manufacturer;\r\n report.drug_name = element.drug_name;\r\n report.batch_no = element.batch_no;\r\n report.p_rate = element.p_rate;\r\n report.exp_date = element.exp_date;\r\n report.quantity = element.quantity;\r\n report.purchases= element.purchases;\r\n report.sales= element.sales;\r\n report.opening_stock=element.opening_stock;\r\n report.closing_stock=element.closing_stock;\r\n \r\n reportList[index] = report;\r\n });\r\n this.setState({ reportList: reportList, search_action: true });\r\n } else {\r\n this.setState({ reportList: [], search_action: true });\r\n }\r\n });\r\n });\r\n // }\r\n}\r\n\r\nclear = () => {\r\n this.setState({\r\n StockandsaleReport: {\r\n category: \"\",\r\n generic_name: \"\",\r\n manufacturer: \"\",\r\n to_date:\"\",\r\n from_date:\"\",\r\n },\r\n formSuccess: { message: \"\" },\r\n });\r\n};\r\n\r\n\r\n createinvoice() {\r\n document.location.href = \"/saleentryvoucher\";\r\n }\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n componentDidMount = () => {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSalePatientList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n\r\n if (!uniqueDrugNames.has(element.patient_name)) {\r\n uniqueDrugNames.add(element.patient_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.patient_name,\r\n label: element.patient_name,\r\n\r\n }));\r\n\r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n });\r\n\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSalePatientList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.bill_no = element.bill_no;\r\n purchaseData.bill_date = element.bill_date;\r\n purchaseData.patient_name = element.patient_name;\r\n purchaseData.customer_type = element.customer_type;\r\n purchaseData.gstAmt = element.gstAmt;\r\n purchaseData.disc = element.disc;\r\n purchaseData.sub_total = element.sub_total;\r\n purchaseData.total = element.total;\r\n purchaseData.phone_number = element.phone_number;\r\n purchaseData.discAmt = element.discAmt;\r\n purchaseData.cgstAmt5 = element.cgstAmt5;\r\n purchaseData.sgstAmt5 = element.sgstAmt5;\r\n purchaseData.taxAmt5 = element.taxAmt5;\r\n purchaseData.sub_total5 = element.sub_total5;\r\n purchaseData.cgstAmt12 = element.cgstAmt12;\r\n purchaseData.sgstAmt12 = element.sgstAmt12;\r\n purchaseData.taxAmt12 = element.taxAmt12;\r\n purchaseData.sub_total12 = element.sub_total12;\r\n purchaseData.cgstAmt18 = element.cgstAmt18;\r\n purchaseData.sgstAmt18 = element.sgstAmt18;\r\n purchaseData.taxAmt18 = element.taxAmt18;\r\n purchaseData.sub_total18 = element.sub_total18;\r\n purchaseData.doctor_name = element.doctor_name;\r\n purchaseData.payment_mode = element.payment_mode;\r\n DataArr[index] = purchaseData;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n\r\n };\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, selectedRecord: record });\r\n\r\n }\r\n\r\n handleDeleteVoucher = (record) => {\r\n console.log(record);\r\n const { bill_date } = record;\r\n const currentDate = new Date();\r\n const BillDate = new Date(bill_date);\r\n console.log(record.bill_date);\r\n // Calculate the difference in days\r\n // const timeDiff = Math.abs(currentDate.getTime() - voucherDate.getTime()); \r\n // const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); \r\n // Check if the voucher date is within 30 days or within the current month \r\n if (BillDate.getMonth() !== currentDate.getMonth()) {\r\n this.setState({ updatePopup: true });\r\n return;\r\n }\r\n // Proceed with the update if validation passes \r\n this.deleteRecord(record);\r\n };\r\n deleteRecord(record) {\r\n\r\n let userId = record.id;\r\n let bill_no = record.bill_no;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(deleteSaleByBillnumber, { bill_no: bill_no }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Sale has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n let reqdata = {\r\n user_id: this.props.userdata.id\r\n\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSalePatientList, reqdata, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.bill_no = element.bill_no;\r\n purchaseData.bill_date = element.bll_date;\r\n purchaseData.disc = element.disc;\r\n purchaseData.sub_total = element.sub_total;\r\n purchaseData.total = element.total;\r\n purchaseData.customer_type = element.customer_type;\r\n purchaseData.phone_number = element.phone_number;\r\n purchaseData.discAmt = element.discAmt;\r\n purchaseData.cgstAmt5 = element.cgstAmt5;\r\n purchaseData.sgstAmt5 = element.sgstAmt5;\r\n purchaseData.taxAmt5 = element.taxAmt5;\r\n purchaseData.sub_total5 = element.sub_total5;\r\n purchaseData.cgstAmt12 = element.cgstAmt12;\r\n purchaseData.sgstAmt12 = element.sgstAmt12;\r\n purchaseData.taxAmt12 = element.taxAmt12;\r\n purchaseData.sub_total12 = element.sub_total12;\r\n purchaseData.cgstAmt18 = element.cgstAmt18;\r\n purchaseData.sgstAmt18 = element.sgstAmt18;\r\n purchaseData.taxAmt18 = element.taxAmt18;\r\n purchaseData.sub_total18 = element.sub_total18;\r\n purchaseData.doctor_name = element.doctor_name;\r\n purchaseData.payment_mode = element.payment_mode;\r\n DataArr[index] = purchaseData;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n }\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n \r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug,{user_id:this.props.userdata.id,drug_name:selectedOption.label}, CONFIG)\r\n .then((drugRespons) => {\r\n let ItemList = drugRespons.data.data;\r\n \r\n ItemList.forEach((element, index) => {\r\n ItemList.push({\r\n \r\n pack:element.pack,\r\n cgst: element.cgst,\r\n sgst:element.sgst,\r\n igst:element.igst\r\n \r\n });\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"s_no\", record.s_no);\r\n if (null != record) {\r\n \r\n records[recIndex].pack = element.unit_of_measure;\r\n records[recIndex].cgst = element.cgst + \" %\";\r\n records[recIndex].gst_amount =\r\n (record.tax_percentage / 100) * record.amount;\r\n records[recIndex].total_amount =\r\n Number(records[recIndex].fee) +\r\n Number(records[recIndex].gst_amount);\r\n } else {\r\n \r\n records[recIndex].fee = \"\";\r\n records[recIndex].gst_rate = \"\";\r\n records[recIndex].gst_amount = \"\";\r\n records[recIndex].total_amount = \"\";\r\n }\r\n \r\n console.log(recIndex);\r\n console.log(records.length - 1);\r\n if (recIndex === records.length - 1) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = records.length + 1;\r\n records.push(default_rec);\r\n }\r\n \r\n });\r\n \r\n })\r\n \r\n \r\n \r\n \r\n \r\n \r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getPharmacyShortDetail,{user_id:this.props.userdata.id}, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n \r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value:data.state\r\n \r\n });\r\n }).catch((e) => { });\r\n \r\n \r\n // Post request to fetch item details\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total:updatedData[index].quantity*(updatedData[index].p_rate-(updatedData[index].disc*updatedData[index].p_rate)),\r\n // gst_amount: (updatedData[index].tax_percentage / 100) * updatedData[index].amount,\r\n // total_amount: Number(updatedData[index].fee) + Number(updatedData[index].gst_amount)\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n \r\n if (response.data.status == \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(this.state.gst_state);\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total: updatedData[index].quantity * (updatedData[index].p_rate - (updatedData[index].disc * updatedData[index].p_rate)),\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n }; */\r\n\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n\r\n fetchItemDetails = (index, selectedOption) => {\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data again\r\n let updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst : \"\",\r\n igst: this.state.State_value !== this.state.gst_state ? item.igst : \"\",\r\n sub_total: updatedData[index].quantity * updatedData[index].p_rate,\r\n };\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n console.log(updatedData[index].quantity);\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n\r\n }\r\n this.setState({ record }, () => {\r\n this.calculateSection();\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n };\r\n\r\n\r\n\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.StockandsaleReport;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ StockandsaleReport: data, errors: errors });\r\n }\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n\r\n\r\n handlepatientselectChange = async (selectedOptions, e) => {\r\n let data = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n\r\n this.setState({ saleRegister: data, errors, searchErrorMessage: \"\" });\r\n\r\n /* axios\r\n .post(getgststatebyVendorname,{user_id:this.props.userdata.id,vendor_name:selectedOptions.label}, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data=resdata.data[0];\r\n console.log(resdata.status);\r\n \r\n if (resdata.status == \"1\") \r\n {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state); }); }\r\n \r\n }).catch((e) => { }); */\r\n\r\n }\r\n PopupConfirm = () => {\r\n this.handleDeleteVoucher(this.state.selectedRecord);\r\n this.setState({ addPopup: false, selectedRecord: null });\r\n };\r\n render() {\r\n\r\n let PopupClose = () => this.setState({ addPopup: false, selectedRecord: null, updatePopup: false });\r\n // let PopupConfirm = () => this.handleDeleteVoucher(record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n const { StockandsaleReport, records, errors, formSuccess, tableSuccess, hospitaltimeout, mastervendorNames, gst_state, State_value, searchErrorMessage, searchTableSuccess, loading } = this.state;\r\n return (\r\n\r\n
    \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Stock and Sales Report

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Stock and Sales 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 this.handleFromDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n
    \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.handleToDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n  Generate\r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n
    \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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n /> */}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    )}\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(StockandSalesReport));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport moment from \"moment\";\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n\r\n getAllSalePatientList,\r\n deleteSaleByBillnumber,\r\n getBatchWiseStockReport,\r\n getBatchWiseStockReportByExpirydate,\r\n getTimeoutbycategory,\r\n searchbatchwiseStockReport,\r\n getitemlistforPharmacyDrug,\r\n getPharmacyShortDetail\r\n} from \"../config/url.json\";\r\nimport { CONFIG, category, categorylist } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n drug_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n manu_date: \"\",\r\n exp_date: \"\",\r\n quantity: \"\",\r\n free: \"\",\r\n p_rate: \"\",\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n\r\n};\r\nclass BatchwiseStockReport extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n reportList: [],\r\n records: [],\r\n addPopup: false,\r\n updatePopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n selectedRecord: null,\r\n BatchWiseStock:\r\n {\r\n specified_date: new Date(),\r\n category:\"\",\r\n drug_name:\"\",\r\n manufacturer:\"\",\r\n exp_date:\"\",\r\n\r\n },\r\n\r\n\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n voucher_no: \"\",\r\n voucher_date: \"\",\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n poref_no: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"category\",\r\n text: \"Category\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"drug_id\",\r\n text: \"Item ID\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '10px',\r\n\r\n },\r\n\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"drug_name\",\r\n text: \"Drug Name\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '10px',\r\n },\r\n\r\n\r\n {\r\n key: \"manufacturer\",\r\n text: \"Mfg Name\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n\r\n },\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No.\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n\r\n },\r\n {\r\n key: \"exp_date\",\r\n text: \"Exp date\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n cell: (record) => {\r\n return (\r\n this.formatDateForInput(record.exp_date)\r\n )\r\n }\r\n },\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"p_rate\",\r\n text: \"P.Rate\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n /* {\r\n key: \"quantity\",\r\n text: \"Quantity\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n }, */\r\n {\r\n key: \"stock_quantity\",\r\n text: \"Stock Quantity\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n /* {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: '20px',\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n this.viewRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.onDeleteClick(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\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.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: true,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.BatchWiseStock;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n name === \"drug_name\" ||\r\n name === \"exp_date\"||\r\n name===\"manufacturer\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ BatchWiseStock: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n purchaseEntryData: {\r\n ...prevState.purchaseEntryData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n handleInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n });\r\n };\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].sub_total = quantity * (p_rate - ((disc / 100) * p_rate));\r\n\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateTotal(index);\r\n this.calculateDiscountAmount(index);\r\n this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n });\r\n };\r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let igst = updatedData[index].igst || 0;\r\n updatedData[index].total = sub_total + ((igst / 100) * sub_total);\r\n console.log(igst);\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = ((quantity * p_rate) * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n handleSpecifiedDOBChange = (date) => {\r\n let BatchWiseStock = this.state.BatchWiseStock;\r\n let errors = this.state.errors;\r\n\r\n\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n BatchWiseStock.specified_date = offsetDate;\r\n\r\n this.setState({ BatchWiseStock: BatchWiseStock, errors: errors, specified_date: offsetDate });\r\n };\r\n handleToDOBChange = (date) => {\r\n let saleRegister = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n saleRegister.ToDate = offsetDate;\r\n //errors.Todate=\"\";\r\n this.setState({ saleRegister: saleRegister, errors: errors, ToDate: offsetDate });\r\n };\r\n\r\nhandlecategoryselectChange=(selectedOptions, e)=>{\r\n\r\n let BatchWiseStock=this.state.BatchWiseStock;\r\n let errors=this.state.errors;\r\n errors[e.name] = \"\"\r\n BatchWiseStock[e.name] = selectedOptions;\r\n \r\n this.setState({ BatchWiseStock: BatchWiseStock, errors: errors });\r\n}\r\n\r\n\r\n clearErrors = (errors) => {\r\n\r\n\r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no = \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n\r\n let data = this.state.purchaseEntryData;\r\n\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n purchaseEntryData: data, actions: \"add\", voucher_no: \"\", errors: errors, searchErrorMessage: \"\", records: [],\r\n search_action: false,\r\n totalAmtSec: {\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n\r\n },\r\n\r\n });\r\n }\r\n\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let igstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n if (data.igstAmt !== undefined) {\r\n igstAmt += Number(data.igstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.igstAmt = igstAmt;\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n\r\n editRecord(record) {\r\n console.log(record);// return false;\r\n /* let purchaseRegister = this.state.purchaseRegister;\r\n purchaseRegister.vendor_name = record.vendor_name;\r\n purchaseRegister.voucher_no = record.voucher_no;\r\n purchaseRegister.voucher_date = record.voucher_date;\r\n purchaseRegister.voucher_date = moment(record.voucher_date).toDate();\r\n purchaseRegister.vendorinvoice_no = record.vendorinvoice_no;\r\n purchaseRegister.sub_total = record.sub_total;\r\n purchaseRegister.total = record.total;\r\n purchaseRegister.disc = record.disc;\r\n purchaseRegister.user_id=this.props.userdata.id;\r\n console.log(purchaseRegister);\r\n \r\n this.setState({\r\n editRecord: record,\r\n purchaseRegister: purchaseRegister,\r\n actions: \"edit\",\r\n }); */\r\n\r\n this.props.history.push({\r\n pathname: \"/viewsaleentryvoucher/\" + record.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/viewsaleentryvoucher/\" + record.bill_no,\r\n state: {\r\n patient_name: record.patient_name,\r\n bill_no: record.bill_no,\r\n bill_date: record.bill_date,\r\n doctorreg_no: record.doctorreg_no,\r\n patient_name: record.patient_name,\r\n phone_number: record.phone_number,\r\n doctor_name: record.doctor_name,\r\n address: record.address,\r\n created_by: record.created_by,\r\n remarks: record.remarks,\r\n disc: record.disc,\r\n gstAmt: record.gstAmt,\r\n discAmt: record.discAmt,\r\n cgstAmt5: record.cgstAmt5,\r\n sgstAmt5: record.sgstAmt5,\r\n taxAmt5: record.taxAmt5,\r\n sub_total5: record.sub_total5,\r\n cgstAmt12: record.cgstAmt12,\r\n sgstAmt12: record.sgstAmt12,\r\n taxAmt12: record.taxAmt12,\r\n sub_total12: record.sub_total12,\r\n cgstAmt18: record.cgstAmt18,\r\n sgstAmt18: record.sgstAmt18,\r\n taxAmt18: record.taxAmt18,\r\n sub_total18: record.sub_total18,\r\n payment_mode: record.payment_mode,\r\n }\r\n });\r\n\r\n }\r\n\r\n viewRecord(record) {\r\n this.props.history.push({\r\n pathname: \"/viewsaleentryvoucher/\" + record.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/viewsaleentryvoucher/\" + record.bill_no,\r\n state: {\r\n patient_name: record.patient_name,\r\n bill_no: record.bill_no,\r\n bill_date: record.bill_date,\r\n doctorreg_no: record.doctorreg_no,\r\n patient_name: record.patient_name,\r\n disc: record.disc,\r\n gstAmt: record.gstAmt,\r\n phone_number: record.phone_number,\r\n doctor_name: record.doctor_name,\r\n address: record.address,\r\n created_by: record.created_by,\r\n remarks: record.remarks,\r\n discAmt: record.discAmt,\r\n payment_mode: record.payment_mode,\r\n cgstAmt: record.cgstAmt,\r\n sgstAmt: record.sgstAmt,\r\n cgstAmt5: record.cgstAmt5,\r\n sgstAmt5: record.sgstAmt5,\r\n taxAmt5: record.taxAmt5,\r\n sub_total5: record.sub_total5,\r\n cgstAmt12: record.cgstAmt12,\r\n sgstAmt12: record.sgstAmt12,\r\n taxAmt12: record.taxAmt12,\r\n sub_total12: record.sub_total12,\r\n cgstAmt18: record.cgstAmt18,\r\n sgstAmt18: record.sgstAmt18,\r\n taxAmt18: record.taxAmt18,\r\n sub_total18: record.sub_total18,\r\n view_page: true\r\n }\r\n });\r\n\r\n }\r\n refreshData = () => {\r\n\r\n let purchaseRegister = this.state.purchaseRegister;\r\n purchaseRegister = { FromDate: \"\", ToDate: \"\", vendorinvoice_no: \"\", vendor_name: \"\", errors: \"\" };\r\n this.setState({\r\n purchaseRegister: purchaseRegister\r\n });\r\n\r\n this.getBatchWiseStockReport(this.props.userdata.id);\r\n\r\n\r\n };\r\n\r\n getBatchWiseStockReport = (user_id) => {\r\n\r\n if (user_id !== \"\") {\r\n let BatchWiseStock = this.state.BatchWiseStock;\r\n let reqdata = {\r\n user_id: this.props.userdata.id,\r\n specified_date: new Date(),\r\n\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getBatchWiseStockReport, reqdata, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.generic_name = element.generic_name;\r\n purchaseData.pack = element.pack;\r\n purchaseData.mrp = element.mrp;\r\n purchaseData.category = element.category;\r\n purchaseData.manufacturer = element.manufacturer;\r\n purchaseData.drug_id = element.drug_id;\r\n purchaseData.drug_name = element.drug_name;\r\n purchaseData.batch_no = element.batch_no;\r\n purchaseData.p_rate = element.p_rate;\r\n purchaseData.exp_date = element.exp_date;\r\n purchaseData.quantity = element.quantity;\r\n purchaseData.stock_quantity = element.stock_quantity;\r\n\r\n DataArr[index] = purchaseData;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n\r\n\r\n }\r\n }\r\n\r\n Generate() {\r\n\r\n let BatchWiseStock = this.state.BatchWiseStock;\r\n let reqdata = {\r\n user_id: this.props.userdata.id,\r\n specified_date: BatchWiseStock.specified_date\r\n\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getBatchWiseStockReport, reqdata, CONFIG)\r\n .then((list) => {\r\n let List = list.data.data;\r\n let DataArr = [];\r\n List.forEach((element, index) => {\r\n let Data = {};\r\n Data.s_no = index + 1;\r\n Data.user_id = this.props.userdata.id;\r\n Data.drug_id = element.drug_id;\r\n Data.generic_name = element.generic_name;\r\n Data.pack = element.pack;\r\n Data.mrp = element.mrp;\r\n Data.category = element.category;\r\n Data.manufacturer = element.manufacturer;\r\n Data.drug_name = element.drug_name;\r\n Data.batch_no = element.batch_no;\r\n Data.p_rate = element.p_rate;\r\n Data.exp_date = element.exp_date;\r\n Data.quantity = element.quantity;\r\n Data.stock_quantity = element.stock_quantity;\r\n DataArr[index] = Data;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n sortbatchwiseStockReport(){\r\n let BatchWiseStock = this.state.BatchWiseStock;\r\n let reqdata = {\r\n user_id: this.props.userdata.id,\r\n specified_date: BatchWiseStock.specified_date\r\n\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getBatchWiseStockReportByExpirydate, reqdata, CONFIG)\r\n .then((list) => {\r\n let List = list.data.data;\r\n let DataArr = [];\r\n List.forEach((element, index) => {\r\n let Data = {};\r\n Data.s_no = index + 1;\r\n Data.user_id = this.props.userdata.id;\r\n Data.drug_id = element.drug_id;\r\n Data.generic_name = element.generic_name;\r\n Data.pack = element.pack;\r\n Data.mrp = element.mrp;\r\n Data.category = element.category;\r\n Data.manufacturer = element.manufacturer;\r\n Data.drug_name = element.drug_name;\r\n Data.batch_no = element.batch_no;\r\n Data.p_rate = element.p_rate;\r\n Data.exp_date = element.exp_date;\r\n Data.quantity = element.quantity;\r\n Data.stock_quantity = element.stock_quantity;\r\n DataArr[index] = Data;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n \r\n }\r\n searchbatchwiseStockReport() {\r\n let BatchWiseStock = this.state.BatchWiseStock;\r\n\r\n let data = {};\r\n let errors = this.state;\r\n data.category = BatchWiseStock.category ? BatchWiseStock.category.label : \"\";\r\n data.drug_name = BatchWiseStock.drug_name;\r\n data.manufacturer = BatchWiseStock.manufacturer;\r\n data.exp_date = BatchWiseStock.exp_date;\r\n data.specified_date=BatchWiseStock.specified_date;\r\n data.user_id = this.props.userdata.id;\r\n\r\n\r\n\r\n console.log(data);\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n console.log(data);\r\n axios.post(searchbatchwiseStockReport, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data.data;\r\n console.log(result);\r\n if (result.length > 0) {\r\n // let records = result.data;\r\n\r\n let reportList = [];\r\n result.forEach((element, index) => {\r\n let report = {};\r\n report.s_no = index + 1;\r\n report.category=element.category;\r\n report.drug_id=element.drug_id;\r\n report.generic_name = element.generic_name;\r\n report.pack = element.pack;\r\n report.mrp = element.mrp;\r\n report.category = element.category;\r\n report.manufacturer = element.manufacturer;\r\n report.drug_name = element.drug_name;\r\n report.batch_no = element.batch_no;\r\n report.p_rate = element.p_rate;\r\n report.exp_date = element.exp_date;\r\n report.quantity = element.quantity;\r\n report.stock_quantity = element.stock_quantity;\r\n reportList[index] = report;\r\n });\r\n this.setState({ reportList: reportList, search_action: true });\r\n } else {\r\n this.setState({ reportList: [], search_action: true });\r\n }\r\n });\r\n });\r\n // }\r\n }\r\n\r\n\r\n createinvoice() {\r\n document.location.href = \"/saleentryvoucher\";\r\n }\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n componentDidMount = () => {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n \r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n\r\n this.getBatchWiseStockReport(this.props.userdata.id);\r\n\r\n\r\n\r\n };\r\n\r\n\r\n\r\n\r\n formatDateForInput = (dateString) => {\r\n if (!dateString) {\r\n console.error(\"Error: dateString is undefined\");\r\n return '';\r\n }\r\n return moment(dateString).format('MMM-YY'); // Format the date to 'MMM-YY'\r\n };\r\n\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, selectedRecord: record });\r\n\r\n }\r\n\r\n handleDeleteVoucher = (record) => {\r\n console.log(record);\r\n const { bill_date } = record;\r\n const currentDate = new Date();\r\n const BillDate = new Date(bill_date);\r\n console.log(record.bill_date);\r\n // Calculate the difference in days\r\n // const timeDiff = Math.abs(currentDate.getTime() - voucherDate.getTime()); \r\n // const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); \r\n // Check if the voucher date is within 30 days or within the current month \r\n if (BillDate.getMonth() !== currentDate.getMonth()) {\r\n this.setState({ updatePopup: true });\r\n return;\r\n }\r\n // Proceed with the update if validation passes \r\n this.deleteRecord(record);\r\n };\r\n deleteRecord(record) {\r\n\r\n let userId = record.id;\r\n let bill_no = record.bill_no;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(deleteSaleByBillnumber, { bill_no: bill_no }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Sale has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n let reqdata = {\r\n user_id: this.props.userdata.id\r\n\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSalePatientList, reqdata, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.bill_no = element.bill_no;\r\n purchaseData.bill_date = element.bll_date;\r\n purchaseData.disc = element.disc;\r\n purchaseData.sub_total = element.sub_total;\r\n purchaseData.total = element.total;\r\n purchaseData.customer_type = element.customer_type;\r\n purchaseData.phone_number = element.phone_number;\r\n purchaseData.discAmt = element.discAmt;\r\n purchaseData.cgstAmt5 = element.cgstAmt5;\r\n purchaseData.sgstAmt5 = element.sgstAmt5;\r\n purchaseData.taxAmt5 = element.taxAmt5;\r\n purchaseData.sub_total5 = element.sub_total5;\r\n purchaseData.cgstAmt12 = element.cgstAmt12;\r\n purchaseData.sgstAmt12 = element.sgstAmt12;\r\n purchaseData.taxAmt12 = element.taxAmt12;\r\n purchaseData.sub_total12 = element.sub_total12;\r\n purchaseData.cgstAmt18 = element.cgstAmt18;\r\n purchaseData.sgstAmt18 = element.sgstAmt18;\r\n purchaseData.taxAmt18 = element.taxAmt18;\r\n purchaseData.sub_total18 = element.sub_total18;\r\n purchaseData.doctor_name = element.doctor_name;\r\n purchaseData.payment_mode = element.payment_mode;\r\n DataArr[index] = purchaseData;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n }\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n \r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug,{user_id:this.props.userdata.id,drug_name:selectedOption.label}, CONFIG)\r\n .then((drugRespons) => {\r\n let ItemList = drugRespons.data.data;\r\n \r\n ItemList.forEach((element, index) => {\r\n ItemList.push({\r\n \r\n pack:element.pack,\r\n cgst: element.cgst,\r\n sgst:element.sgst,\r\n igst:element.igst\r\n \r\n });\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"s_no\", record.s_no);\r\n if (null != record) {\r\n \r\n records[recIndex].pack = element.unit_of_measure;\r\n records[recIndex].cgst = element.cgst + \" %\";\r\n records[recIndex].gst_amount =\r\n (record.tax_percentage / 100) * record.amount;\r\n records[recIndex].total_amount =\r\n Number(records[recIndex].fee) +\r\n Number(records[recIndex].gst_amount);\r\n } else {\r\n \r\n records[recIndex].fee = \"\";\r\n records[recIndex].gst_rate = \"\";\r\n records[recIndex].gst_amount = \"\";\r\n records[recIndex].total_amount = \"\";\r\n }\r\n \r\n console.log(recIndex);\r\n console.log(records.length - 1);\r\n if (recIndex === records.length - 1) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = records.length + 1;\r\n records.push(default_rec);\r\n }\r\n \r\n });\r\n \r\n })\r\n \r\n \r\n \r\n \r\n \r\n \r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getPharmacyShortDetail,{user_id:this.props.userdata.id}, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n \r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value:data.state\r\n \r\n });\r\n }).catch((e) => { });\r\n \r\n \r\n // Post request to fetch item details\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total:updatedData[index].quantity*(updatedData[index].p_rate-(updatedData[index].disc*updatedData[index].p_rate)),\r\n // gst_amount: (updatedData[index].tax_percentage / 100) * updatedData[index].amount,\r\n // total_amount: Number(updatedData[index].fee) + Number(updatedData[index].gst_amount)\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n \r\n if (response.data.status == \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(this.state.gst_state);\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total: updatedData[index].quantity * (updatedData[index].p_rate - (updatedData[index].disc * updatedData[index].p_rate)),\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n }; */\r\n\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n\r\n fetchItemDetails = (index, selectedOption) => {\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data again\r\n let updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst : \"\",\r\n igst: this.state.State_value !== this.state.gst_state ? item.igst : \"\",\r\n sub_total: updatedData[index].quantity * updatedData[index].p_rate,\r\n };\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n console.log(updatedData[index].quantity);\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n\r\n }\r\n this.setState({ record }, () => {\r\n this.calculateSection();\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n };\r\n\r\n\r\n\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.BatchWiseStock;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ BatchWiseStock: data, errors: errors });\r\n }\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n\r\n\r\n \r\n PopupConfirm = () => {\r\n this.handleDeleteVoucher(this.state.selectedRecord);\r\n this.setState({ addPopup: false, selectedRecord: null });\r\n };\r\n render() {\r\n\r\n let PopupClose = () => this.setState({ addPopup: false, selectedRecord: null, updatePopup: false });\r\n // let PopupConfirm = () => this.handleDeleteVoucher(record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n const { BatchWiseStock, records, errors, formSuccess, tableSuccess, hospitaltimeout, mastervendorNames, gst_state, State_value, searchErrorMessage, searchTableSuccess, loading } = this.state;\r\n return (\r\n\r\n
    \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \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 Wise Stock 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 this.handleSpecifiedDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n \r\n\r\n  Generate\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n
    \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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n /> */}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    )}\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(BatchwiseStockReport));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getPharmacyList,\r\n getAllPharmacyDrugs,\r\n getAllPharmacyItemList,\r\n getAllPharmacyVendorList,\r\n addPharmacy,\r\n addVendor,\r\n addPurchaseEntryData,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail,\r\n openingstockimport\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport OpeningStockTemplate from \"./OpeningStockTemplate\";\r\nvar converter = require(\"number-to-words\");\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n generic_name:\"\",\r\n pack:\"\",\r\n batch_no:\"\",\r\n manu_date:\"\",\r\n exp_date:\"\",\r\n quantity:\"\",\r\n free: \"\",\r\n p_rate:\"\",\r\n mrp:\"\",\r\n disc: \"\",\r\n sub_total:0,\r\n cgst: \"\",\r\n sgst:\"\",\r\n igst:\"\",\r\n total:0,\r\n \r\n };\r\nclass OpeningStockUpload extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n purchaseEntryVoucher:{\r\n drug_name:\"\",\r\n // defaultEnterSize: 20,\r\n records: [],\r\n supplies: [],\r\n },\r\n \r\n \r\n OpeningStockData:{\r\n drug_id:\"\",\r\n generic_name:\"\",\r\n pack:\"\",\r\n batch_no:\"\",\r\n manu_date:\"\",\r\n exp_date:\"\",\r\n quantity:\"\",\r\n p_rate:\"\",\r\n mrp:\"\",\r\n sub_total:0,\r\n total:0,\r\n transaction_type:\"\",\r\n transaction_date:\"\",\r\n vendor_name:\"\",\r\n customer_name:\"\",\r\n notes:\"\"\r\n },\r\n totalAmtSec: {\r\n\r\n discAmt: 0, \r\n cgstAmt: 0, \r\n sgstAmt: 0, \r\n igstAmt: 0, \r\n total: 0,\r\n sub_total:0,\r\n totalAmtWords: \"\",\r\n },\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name:\"\",\r\n address:\"\",\r\n created_by:\"\",\r\n remarks:\"\",\r\n voucher_no:\"\",\r\n voucher_date:\"\",\r\n vendorinvoice_no:\"\",\r\n invoice_date:\"\",\r\n poref_no:\"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n \r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors=this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number=\"\";\r\n this.setState({ pharmacyData,errors });\r\n };\r\n \r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n \r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n \r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n \r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n/* \r\n handleInput =(index,record) => {\r\n console.log(e);\r\n console.log(index);\r\n console.log(record);\r\n record[e.target.name] = e.target.value;\r\n }; */\r\n\r\n handleAdd = (e) => {\r\n let data = this.state.purchaseEntryData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n \r\n name === \"vendor_name\" ||\r\n name === \"address\" ||\r\n name === \"created_by\"||\r\n name === \"remarks\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ purchaseEntryData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n\r\n handleInput = (index, field) => (event) => {\r\n const { value } = event.target;\r\n const records = [...this.state.records]; // Create a copy of the records\r\n records[index][field] = value; // Update the specific field for the specific index\r\n // console.log(value);\r\n // console.log(index,field);\r\n console.log(records);\r\n this.setState({ records }); // Update the state with the new records\r\n };\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n \r\n this.setState(prevState => ({\r\n purchaseEntryData: {\r\n ...prevState.purchaseEntryData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n \r\n handleInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n });\r\n};\r\n\r\ncalculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc= updatedData[index].disc;\r\n updatedData[index].sub_total = quantity*(p_rate-((disc/100)*p_rate));\r\n \r\n this.setState({ records: updatedData }, () => {\r\n \r\n this.calculateTotal(index);\r\n this.calculateDiscountAmount(index);\r\n this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n });\r\n};\r\n\r\ncalculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let igst = updatedData[index].igst || 0;\r\n updatedData[index].total = sub_total+((igst/100)*sub_total);\r\n console.log(igst);\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n });\r\n};\r\n\r\ncalculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc= updatedData[index].disc;\r\n updatedData[index].discAmt=((quantity*p_rate)*(disc/100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n};\r\ncalculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst= updatedData[index].cgst;\r\n let sub_total=updatedData[index].sub_total;\r\n updatedData[index].cgstAmt=(sub_total*(cgst/100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n};\r\ncalculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst= updatedData[index].sgst;\r\n let sub_total=updatedData[index].sub_total;\r\n updatedData[index].sgstAmt=(sub_total*(sgst/100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n};\r\ncalculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst= updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total=updatedData[index].sub_total;\r\n updatedData[index].igstAmt=(sub_total*(igst/100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n \r\n });\r\n};\r\nhandleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value=event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n \r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n\r\n\r\n\r\n\r\n UpdateColumnChange = (record) => {\r\n \r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n \r\n records[recIndex].pharmacy_id = record.pharmacy_id?record.pharmacy_id:\"\";\r\n records[recIndex].pharmacy_name = record.pharmacy_name;\r\n records[recIndex].pharmacy_location = record.pharmacy_location;\r\n records[recIndex].address = record.address;\r\n records[recIndex].city = record.city;\r\n records[recIndex].country = record.country;\r\n records[recIndex].state = record.state;\r\n records[recIndex].zip_code = record.zip_code;\r\n // records[recIndex].phone_number = record.phone_number;\r\n \r\n this.setState({ records: records });\r\n }\r\n UpdatePharmacy = (e) => {\r\n e.preventDefault();\r\n let { pharmacyData, errors } = this.state;\r\n pharmacyData.type = \"pharmacyList\";\r\n \r\n errors = Validation(pharmacyData, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n let data = this.state.pharmacyData;\r\n data.user_id = this.props.userdata.id;\r\n data.online_prescription = data.online_prescription_obj.label;\r\n if (this.state.actions === \"add\") { \r\n if(data.pharmacy_location==\"\")\r\n {\r\n data.pharmacy_location = data.address;\r\n data.pharmacy_verification=\"Not Verified\";\r\n }else{\r\n \r\n data.pharmacy_verification=\"Verified\";\r\n \r\n }\r\n }else\r\n {\r\n\r\n \r\n if(data.address==data.pharmacy_location)\r\n {\r\n data.pharmacy_verification=data.pharmacy_verification;\r\n console.log(data.pharmacy_verification);\r\n }\r\n else\r\n {\r\n data.address=data.address;\r\n data.pharmacy_verification=\"Not Verified\";\r\n console.log(data.pharmacy_verification);\r\n }\r\n }\r\n console.log(data.pharmacy_location);\r\n console.log(data.address);\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let url = this.state.actions === \"add\" ? addPharmacy : updatePharmacy;\r\n if (this.state.actions === \"add\") {\r\n axios.post(url, data, CONFIG).then((list) => {\r\n if (0 == list.data.status) {\r\n toast.error(\"Pharmacy could not be added \", {\r\n className: \"toast-error\"\r\n });\r\n this.setState({ errors: { pharmacy_id: list.data.message } });\r\n } else {\r\n let addPharmacy = {};\r\n addPharmacy.pharmacy_id = data.pharmacy_id;\r\n addPharmacy.pharmacy_name = data.pharmacy_name;\r\n addPharmacy.online_prescription = data.online_prescription_obj.label;\r\n addPharmacy.id = list.data.data[0].id;\r\n addPharmacy.address = data.address;\r\n addPharmacy.phone_number = data.phone_number;\r\n addPharmacy.email = data.email;\r\n if(data.pharmacy_location=\"\")\r\n {\r\n addPharmacy.pharmacy_location = data.address;\r\n addPharmacy.pharmacy_verification=data.pharmacy_verification;\r\n }else\r\n {\r\n addPharmacy.pharmacy_location = data.pharmacy_location;\r\n addPharmacy.pharmacy_verification=data.pharmacy_verification;\r\n }\r\n addPharmacy.city = data.city;\r\n addPharmacy.country = data.country;\r\n addPharmacy.state = data.state;\r\n addPharmacy.zip_code = data.zip_code;\r\n addPharmacy.online_prescription = data.online_prescription;\r\n let records = this.state.records;\r\n addPharmacy.s_no = records.length + 1;\r\n records.push(addPharmacy);\r\n\r\n this.setState({ records });\r\n // this.setState({ formSuccess: list.data });\r\n toast.success(\"The Pharmacy details have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getPharmacyList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let pharmacyList = list.data.data;\r\n pharmacyList.forEach((element, index) => {\r\n let pharmacy = {};\r\n pharmacy.s_no = index + 1;\r\n pharmacy.pharmacy_id = element.pharmacy_id;\r\n pharmacy.pharmacy_name = element.pharmacy_name;\r\n pharmacy.id = element.id;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_location = element.pharmacy_location;\r\n pharmacy.phone_number = element.phone_number;\r\n pharmacy.email = element.email;\r\n pharmacy.address = element.address;\r\n pharmacy.city = element.city;\r\n pharmacy.country = element.country;\r\n pharmacy.state = element.state;\r\n pharmacy.zip_code = element.zip_code;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_verification=element.pharmacy_verification;\r\n \r\n pharmacyList[index] = pharmacy;\r\n });\r\n \r\n this.setState({ records: pharmacyList });\r\n })\r\n .catch((e) => { });\r\n \r\n\r\n });\r\n } else {\r\n\r\n axios.put(url, data, CONFIG).then((list) => {\r\n\r\n if (0 == list.data.status) {\r\n toast.error(\"Pharmacy could not be updated \", {\r\n className: \"toast-error\"\r\n });\r\n this.setState({ success: list.data });\r\n } else {\r\n let{editRecord}=this.state;\r\n let place = this.autocomplete.getPlace();\r\n let records = this.state.records;\r\n var addr = document.getElementById(\"address\");\r\n \r\n // Get geocoder instance\r\n var geocoder = new google.maps.Geocoder();\r\n \r\n // Geocode the address\r\n geocoder.geocode({\r\n 'address': addr.value\r\n }, function(results, status) {\r\n if (status === google.maps.GeocoderStatus.OK && results.length > 0) {\r\n \r\n // set it to the correct, formatted address if it's valid\r\n // addr.value = results[0].formatted_address;;\r\n // data.pharmacy_verification=\"Verified\";\r\n } else {\r\n \r\n // show an error if it's not\r\n // alert(\"Invalid address\");\r\n }\r\n });\r\n console.log(addr.value)\r\n // console.log(place.formatted_address);\r\n /* console.log(editRecord.address);\r\n if(data.address==editRecord.address)\r\n {\r\n data.address=data.address;\r\n data.pharmacy_verification=editRecord.pharmacy_verification;\r\n }else\r\n {\r\n data.address=place.formatted_address;\r\n data.pharmacy_verification=\"Verified\";\r\n \r\n }\r\n */ var recIndex = findWithAttr(records, \"id\", data.id);\r\n\r\n records[recIndex].pharmacy_id = data.pharmacy_id;\r\n records[recIndex].pharmacy_name = data.pharmacy_name;\r\n records[recIndex].online_prescription = data.online_prescription_obj.label;\r\n records[recIndex].phone_number = data.phone_number;\r\n records[recIndex].email = data.email;\r\n records[recIndex].address = data.address;\r\n records[recIndex].pharmacy_location = data.address;\r\n records[recIndex].city = data.city;\r\n records[recIndex].country = data.country;\r\n records[recIndex].state = data.state;\r\n records[recIndex].zip_code = data.zip_code;\r\n records[recIndex].online_prescription = data.online_prescription;\r\n records[recIndex].pharmacy_verification = data.pharmacy_verification;\r\n records[recIndex].id = data.id;\r\n\r\n this.setState({ records });\r\n // this.setState({ formSuccess: list.data });\r\n toast.success(\"The Pharmacy details have been updated successfully. \", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n }\r\n\r\n }\r\n };\r\n\r\n clearErrors = (errors) => {\r\n\r\n \r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no= \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n \r\n let data = this.state.purchaseEntryData;\r\n \r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label:\"\",value:\"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n \r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ purchaseEntryData: data, actions: \"add\",voucher_no:\"\", errors: errors, searchErrorMessage: \"\", records: [], \r\n search_action: false, \r\n totalAmtSec: { \r\n discAmt: 0, \r\n cgstAmt: 0, \r\n sgstAmt: 0, \r\n igstAmt: 0, \r\n total: 0,\r\n sub_total:0,\r\n \r\n },\r\n\r\n });\r\n }\r\n \r\n clearimport=()=>{\r\n this.setState({ file:\"\" });\r\n };\r\n \r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n /* calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let amt = 0.0;\r\n let taxAmt = 0.0;\r\n let taxVal = 0.0;\r\n let totalAmt = 0.0;\r\n let sub_total=0.0;\r\n console.log(records);\r\n\r\n records.map((data, i) => {\r\n if (undefined !== data.fee) {\r\n amt = Number(amt) + Number(data.fee);\r\n }\r\n if (undefined !== data.gst_amount) {\r\n taxAmt = Number(taxAmt) + Number(data.gst_amount);\r\n }\r\n if (undefined !== data.taxable_value) {\r\n taxVal = Number(taxVal) + Number(data.taxable_value);\r\n }\r\n if (undefined !== data.total_amount) {\r\n totalAmt = Number(totalAmt) + Number(data.total_amount);\r\n }\r\n if (undefined !== data.quantity) {\r\n sub_total = Number(data.quantity) * Number(data.p_rate);\r\n }\r\n });\r\n\r\n totalAmtSec.amt = amt;\r\n totalAmtSec.taxAmt = taxAmt;\r\n totalAmtSec.taxVal = taxVal;\r\n totalAmtSec.totalAmt = totalAmt;\r\n totalAmtSec.sub_total=sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(totalAmt)+\" rupees only\";\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n }; \r\n */\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n \r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0; \r\n let sgstAmt = 0.0; \r\n let igstAmt = 0.0; \r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n \r\n if(data.discAmt!== undefined)\r\n {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if(data.cgstAmt!== undefined)\r\n {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if(data.sgstAmt!== undefined)\r\n {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n if(data.igstAmt!== undefined)\r\n {\r\n igstAmt += Number(data.igstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.igstAmt = igstAmt; \r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n \r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n}; \r\n\r\naddPurchaseEntryData() {\r\n \r\n \r\n let { purchaseEntryData, errors } = this.state;\r\n purchaseEntryData.type = \"purchaseEntryData\";\r\n errors = Validation(purchaseEntryData, errors);\r\n this.setState({ errors: errors });\r\n \r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n \r\n let data = {\r\n user_id: this.props.userdata.id,\r\n vendor_name: purchaseEntryData.vendor_name.label,\r\n address: purchaseEntryData.address,\r\n created_by: purchaseEntryData.created_by,\r\n remarks: purchaseEntryData.remarks,\r\n voucher_date: purchaseEntryData.voucher_date,\r\n vendorinvoice_no: purchaseEntryData.vendorinvoice_no,\r\n invoice_date: purchaseEntryData.invoice_date,\r\n poref_no: purchaseEntryData.poref_no,\r\n records: this.state.records \r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n \r\n axios\r\n \r\n .post(addPurchaseEntryData, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n \r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n editformSuccess: res,\r\n voucher_no:res.data[0].voucher_no\r\n });\r\n toast.success(\"The Purchase Entry voucher have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Purchase Entry voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n \r\n }\r\n }\r\n\r\nhandlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n \r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n componentDidMount = () => {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n \r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n\r\n //set first record as consultation fee by default\r\n /* let consultation_fee_record = {};\r\n consultation_fee_record.s_no = 1;\r\n consultation_fee_record.description = \"Consultation Fee\";\r\n consultation_fee_record.fee = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n consultation_fee_record.disc = \"\";\r\n consultation_fee_record.taxable_value = \"\";\r\n consultation_fee_record.gst_rate = \"\";\r\n consultation_fee_record.gst_amount = \"\";\r\n consultation_fee_record.total_amount = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n*/\r\n let records = [];\r\n // records.push(consultation_fee_record); \r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n \r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name); \r\n return true; \r\n }\r\n return false; \r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n \r\n }));\r\n \r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n \r\n });\r\n\r\n axios\r\n .post(getPharmacyShortDetail,{user_id:this.props.userdata.id}, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n \r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value:data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n \r\n\r\n \r\n\r\n };\r\n onDeleteClick(record) {\r\n \r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n \r\n let userId = record.id;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deletePharmacy, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Pharmacy detail has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n }\r\n onFileUpload = () => {\r\n\r\n if (this.state.OpeningStockData.length) {\r\n axios.post(openingstockimport, {data: this.state.OpeningStockData,user_id:this.props.userdata.id}).then((result) => {\r\n console.log(result);\r\n console.log(result.data.message);\r\n this.setState({ formSuccess: result.data.message, file: \"\", OpeningStockData: [] });\r\n if(result.data.status='1')\r\n {\r\n toast.success(result.data.message, {\r\n className: \"toast-success\"\r\n });\r\n }else{\r\n toast.error(result.data.message, {\r\n className: \"toast-error\"\r\n });\r\n\r\n }\r\n this.clearMessage();\r\n });\r\n }\r\n \r\n };\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n \r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n};\r\n\r\n fetchItemDetails = (index, selectedOption) => {\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.generic_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data again\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst : \"\",\r\n igst: this.state.State_value !== this.state.gst_state?item.igst : \"\",\r\n sub_total:updatedData[index].quantity * updatedData[index].p_rate,\r\n };\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n console.log(updatedData[index].quantity);\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n \r\n }\r\n this.setState({ record }, () => {\r\n this.calculateSection();\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n };\r\n\r\n \r\n \r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.purchaseEntryData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ purchaseEntryData: data, errors: errors });\r\n }\r\n\r\n \r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ OpeningStockData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n};\r\n\r\n\r\nhandlevendorselectChange = async (selectedOptions, e) => {\r\n let data = this.state.purchaseEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n \r\n this.setState({ purchaseEntryData: data, errors,searchErrorMessage: \"\" });\r\n\r\n axios\r\n .post(getgststatebyVendorname,{user_id:this.props.userdata.id,vendor_name:selectedOptions.label}, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data=resdata.data[0];\r\n console.log(resdata.status);\r\n \r\n if (resdata.status == \"1\") \r\n {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state); }); }\r\n \r\n }).catch((e) => { });\r\n\r\n}\r\n render() {\r\n\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n const { purchaseEntryData,OpeningStockData,records, errors, formSuccess, tableSuccess, hospitaltimeout,mastervendorNames,gst_state,State_value,searchErrorMessage,searchTableSuccess,loading } = this.state;\r\n return (\r\n\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Opening Stock Upload

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Opening Stock Upload\r\n
    \r\n \r\n
    \r\n
    \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 Opening Stock
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    )}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(OpeningStockUpload));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getPharmacyList,\r\n getAllPharmacyDrugs,\r\n getAllPharmacyItemList,\r\n getAllPharmacyVendorList,\r\n getAllPharmacyCustomerList,\r\n addPharmacy,\r\n addVendor,\r\n addSaleEntryData,\r\n updateSaleEntryDatab2b,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n getBatchnobydrugnameandExpDate,\r\n getBatchandExpDateBydrugname,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail,\r\n getclientbyphonenumber,\r\n getAllSaleEntryDataByBillNumber\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport \"../assets/css/mystyle.css\";\r\nimport * as moment from \"moment\";\r\nimport { Restaurant } from \"@material-ui/icons\";\r\nimport { Link } from 'react-router-dom';\r\nimport BatchSelectionModal from \"./BatchSelectModal\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n storage_bin: \"\",\r\n quantity: \"\",\r\n rate: 0.0,\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n discAmt: 0,\r\n taxrate: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n};\r\nclass ViewSaleEntryVoucherb2b extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.searchData = {\r\n phone_number: \"\",\r\n error: \"\",\r\n };\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n showModel: false,\r\n selectedBatches: [],\r\n currentBatchinrow: null,\r\n currentRow: null,\r\n discountPercentage: '',\r\n batches: [],\r\n records: [],\r\n searchrecords: [],\r\n mastercustomerNames: [],\r\n selectedCustomer: null,\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n searchData: this.searchData,\r\n add_btn: false,\r\n view_page:false,\r\n purchaseEntryVoucher: {\r\n drug_name: \"\",\r\n // defaultEnterSize: 20,\r\n records: [],\r\n supplies: [],\r\n },\r\n selectedPaymentMode: null,\r\n saleEntryData:\r\n {\r\n phone_number: \"\",\r\n patient_name: \"\",\r\n address: \"\",\r\n remarks: \"\",\r\n bill_no: \"\",\r\n bill_date: new Date(),\r\n doctorreg_no: \"\",\r\n doctor_name: \"\",\r\n created_by: \"\",\r\n payment_mode: \"\",\r\n },\r\n\r\n totalAmtSec: {\r\n\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n gstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n totalAmtWords: \"\",\r\n taxrate: 0,\r\n },\r\n totalTaxAmtSec: {\r\n cgstAmt5: 0,\r\n sgstAmt5: 0,\r\n sub_total5: 0,\r\n taxAmt5: 0,\r\n cgstAmt12: 0,\r\n sgstAmt12: 0,\r\n sub_total12: 0,\r\n taxAmt12: 0,\r\n cgstAmt18: 0,\r\n sgstAmt18: 0,\r\n sub_total18: 0,\r\n taxAmt18: 0,\r\n sub_total: {\r\n 5: 0, // Taxable amount for 5%\r\n 12: 0, // Taxable amount for 12%\r\n 18: 0, // Taxable amount for 18%\r\n },\r\n cgstAmt: {\r\n 5: 0, // CGST amount for 5%\r\n 12: 0, // CGST amount for 12%\r\n 18: 0, // CGST amount for 18%\r\n },\r\n sgstAmt: {\r\n 5: 0, // SGST amount for 5%\r\n 12: 0, // SGST amount for 12%\r\n 18: 0, // SGST amount for 18%\r\n },\r\n total: {\r\n 5: 0, // Total amount for 5%\r\n 12: 0, // Total amount for 12%\r\n 18: 0, // Total amount for 18%\r\n },\r\n },\r\n\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n voucher_no: \"\",\r\n voucher_date: \"\",\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n poref_no: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n align: \"left\", // Set alignment to center\r\n sortable: true,\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n {index + 1} {/* Display the serial number based on the index */}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n
    \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '450px',\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n\r\n\r\n {row.generic_name && (row.batch_no !== '' || row.batch_no !== null) ? (\r\n\r\n row.generic_name\r\n\r\n ) : (\r\n option.label === row.generic_name)} // Ensure value is null if not found\r\n onChange={this.handleselectChange(index, 'generic_name')}\r\n options={this.state.supplies}\r\n />\r\n )}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => row.pack\r\n },\r\n\r\n /* {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width:'200px',\r\n cell: (row, index) => row.batch_no \r\n \r\n \r\n }, */\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => (\r\n
    \r\n {row.generic_name ? (\r\n row.batch_no ? (\r\n row.batch_no\r\n ) : (\r\n this.handleShow(index)}>Select Batch\r\n )\r\n ) : null}\r\n
    \r\n ),\r\n },\r\n {\r\n key: \"storage_bin\",\r\n text: \"Storage Bin\",\r\n className: \"storage_bin\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => row.storage_bin\r\n\r\n },\r\n\r\n\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"loose\",\r\n text: \"Loose\",\r\n className: \"loose\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.mrp\r\n\r\n\r\n },\r\n {\r\n key: \"rate\",\r\n text: \"Rate\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n const rate = row.rate !== undefined && row.rate !== null ? Number(row.rate) : 0;\r\n return rate.toFixed(2);\r\n }\r\n },\r\n\r\n /* {\r\n key: \"disc\",\r\n text: \"Disc%\",\r\n className: \"disc\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n \r\n }, */\r\n {\r\n key: \"sub_total\",\r\n text: \"Amount\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => {\r\n const sub_total = row.sub_total !== undefined && row.sub_total !== null ? Number(row.sub_total) : 0;\r\n return sub_total.toFixed(2);\r\n }\r\n },\r\n\r\n\r\n\r\n /* {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.cgst \r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.sgst \r\n }, */\r\n /* {\r\n key: \"igst\",\r\n text: \"IGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.igst \r\n }, */\r\n /* {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n right: true,\r\n width:200,\r\n cell: (row, index) => row.total.toFixed(2) \r\n }, */\r\n ];\r\n this.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchcolumns = [\r\n\r\n {\r\n key: \"pharmacy_id\",\r\n text: \"Pharmacy ID\",\r\n className: \"searchpharmacy_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Address\",\r\n className: \"pharmacy_location\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData, errors });\r\n };\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n /* \r\n handleInput =(index,record) => {\r\n console.log(e);\r\n console.log(index);\r\n console.log(record);\r\n record[e.target.name] = e.target.value;\r\n }; */\r\n handlePhoneInput = (event) => {\r\n event.preventDefault();\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n data[event.target.name] = event.target.value\r\n .replace(/\\s/g, \"\")\r\n .replace(/[^0-9+]+/g, \"\");\r\n data.error = \"\";\r\n this.setState({ searchData: data, errors });\r\n };\r\n\r\n handleAdd = (e) => {\r\n let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n\r\n name === \"patient_name\" ||\r\n name === \"address\" ||\r\n name === \"created_by\" ||\r\n name === \"remarks\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ saleEntryData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n handleInput = (index, field) => (event) => {\r\n const { value } = event.target;\r\n const records = [...this.state.records]; // Create a copy of the records\r\n records[index][field] = value; // Update the specific field for the specific index\r\n // console.log(value);\r\n // console.log(index,field);\r\n console.log(records);\r\n this.setState({ records }); // Update the state with the new records\r\n };\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n saleEntryData: {\r\n ...prevState.saleEntryData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n\r\n SalesB2B = () => {\r\n this.props.history.push(\"/saleentryvoucherb2b/\");\r\n }\r\n\r\n SearchPatient = () => {\r\n // event.preventDefault();\r\n\r\n let searchData = this.state.searchData;\r\n if (searchData.phone_number === \"\") {\r\n searchData.error = \"Phone number is required\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n if (searchData.phone_number.length !== 10) {\r\n searchData.error = \"Enter a valid phone number\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n\r\n\r\n if (searchData.phone_number !== \"\" && searchData.phone_number.length === 10) {\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n getclientbyphonenumber,\r\n { phone_number: searchData.phone_number },\r\n CONFIG\r\n )\r\n .then((result) => {\r\n this.setState({ loading: false });\r\n\r\n if (result.data.status === \"1\") {\r\n let data = result.data.client;\r\n\r\n console.log(data);\r\n\r\n let patient_name = data.first_name + ' ' + data.last_name;\r\n let patient_address = data.address1 + ',' + data.city + ',' + data.state + ',' + data.country + '-' + data.zip_code;\r\n\r\n console.log(patient_name);\r\n console.log(patient_address);\r\n this.setState({\r\n clientData: data,\r\n patient_name: patient_name,\r\n patient_address: patient_address,\r\n add_btn: true,\r\n\r\n });\r\n\r\n\r\n } else {\r\n\r\n let formSuccess = {\r\n message: \"No Client Found\",\r\n status: \"0\",\r\n };\r\n searchData.error = result.data.message;\r\n this.setState({\r\n searchData,\r\n is_add_btn: true,\r\n clientData: {},\r\n patientBasicData: [],\r\n loading: false,\r\n selectedPerson: \"\",\r\n formSuccess,\r\n\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n console.log(e.data);\r\n console.log(\"business user getbyid failed\");\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n handleQuantityInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateRate(index);\r\n\r\n });\r\n };\r\n handleInputChange = (e) => {\r\n const value = e.target.value;\r\n const discountPercentage = value ? parseFloat(value) : 0; // Parse the input value\r\n\r\n // Update the discount percentage in the state\r\n this.setState({ discountPercentage }, () => {\r\n this.calculateDiscountAmounts();\r\n\r\n // Calculate discount amounts for all records\r\n });\r\n };\r\n calculateDiscountAmounts = () => {\r\n const { records, discountPercentage } = this.state;\r\n\r\n // Calculate discount amounts for all records\r\n const updatedRecords = records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = (sub_total * (discountPercentage / 100)); // Calculate discount amount\r\n return { ...record, discAmt }; // Return updated record\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords }, () => {\r\n this.calculateTotals();\r\n // this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n calculateTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = record.discAmt || 0; // Default to 0 if undefined\r\n const cgstAmt = record.cgstAmt || 0; // Default to 0 if undefined\r\n const sgstAmt = record.sgstAmt || 0; // Default to 0 if undefined\r\n const gstAmt = cgstAmt + sgstAmt;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n // Calculate the total\r\n const total = (sub_total - discAmt) + gstAmt;\r\n return { ...record, total }; // Return updated record with total\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n\r\n\r\n calculateRate = (index) => {\r\n let updatedData = [...this.state.records];\r\n let mrp = updatedData[index].mrp || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n let conversion_factor = updatedData[index].conversion_factor || 1;\r\n let cgst = updatedData[index].cgst || 0;\r\n let sgst = updatedData[index].cgst || 0;\r\n let gst = Number(cgst) + Number(sgst);\r\n console.log(cgst);\r\n console.log(sgst);\r\n console.log(gst);\r\n if (quantity != null && quantity !== 0) {\r\n if (gst == 5) {\r\n updatedData[index].rate = mrp / 1.05;\r\n } else if (gst == 12) {\r\n updatedData[index].rate = mrp / 1.12;\r\n }\r\n else if (gst == 18) {\r\n updatedData[index].rate = mrp / 1.18;\r\n }\r\n\r\n } else if (loose != null && loose !== 0) {\r\n updatedData[index].rate = mrp / conversion_factor;\r\n\r\n }\r\n\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n this.calculateSubTotals();\r\n \r\n //this.calculateTotals();\r\n });\r\n };\r\n\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let rate = updatedData[index].rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n if (quantity !== null && quantity !== 0) {\r\n updatedData[index].sub_total = quantity * rate;\r\n }\r\n else if (loose !== null && loose !== 0) {\r\n updatedData[index].sub_total = loose * rate;\r\n }\r\n this.setState({ records: updatedData }, () => {\r\n\r\n // this.calculateTotal(index);\r\n // this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n this.calculateGstAmount(index);\r\n });\r\n };\r\n\r\n calculateSubTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const rate = record.rate || 0;\r\n const quantity = record.quantity || 0;\r\n const loose = record.loose || 0;\r\n let sub_total = 0;\r\n if (quantity > 0) {\r\n sub_total = quantity * rate;\r\n } else if (loose > 0) {\r\n sub_total = loose * rate;\r\n }\r\n\r\n // Return the updated record with the calculated subtotal\r\n return { ...record, sub_total };\r\n\r\n\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n this.calculateTotals();\r\n this.calculateTaxAmounts();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n\r\n calculateTaxAmounts = () => {\r\n const { records } = this.state; // Destructure records from state\r\n /* console.log(this.props.location.state.gstAmt); */\r\n const updatedData = records.map((record) => {\r\n const taxrate = record.taxrate || 0;\r\n let sub_total = 0; // Initialize sub_total\r\n let taxAmt12 = 0;\r\n let cgstAmt12 = 0;\r\n let sgstAmt12 = 0;\r\n \r\n // Assuming you have a quantity and rate in each record\r\n const quantity = record.quantity || 0; // Default to 0 if undefined\r\n const rate = record.rate || 0; // Default to 0 if undefined\r\n const gstAmt = record.gstAmt || 0;\r\n \r\n // Calculate subtotal based on the tax rate\r\n switch(taxrate) {\r\n case 5:\r\n // Example calculation for 5% tax\r\n sub_total = quantity * rate * 1.05; // Including tax\r\n break;\r\n case 12:\r\n // Example calculation for 12% tax\r\n sub_total = quantity * rate * 1.12; // Including tax\r\n taxAmt12 = gstAmt;\r\n cgstAmt12 = gstAmt / 2;\r\n sgstAmt12 = gstAmt / 2;\r\n break;\r\n case 18:\r\n // Example calculation for 18% tax\r\n sub_total = quantity * rate * 1.18; // Including tax\r\n break;\r\n default:\r\n // If tax rate is not recognized, just calculate the base subtotal\r\n sub_total = quantity * rate; // No tax applied\r\n }\r\n \r\n // Return the updated record with the calculated values\r\n return { ...record, sub_total, taxAmt12, cgstAmt12, sgstAmt12 };\r\n });\r\n \r\n // Update the state with the new records\r\n this.setState({ records: updatedData });\r\n };\r\n \r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let gstAmt = updatedData[index].gstAmt || 0;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n updatedData[index].total = sub_total - discAmt + gstAmt;\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = (sub_total * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n\r\n calculateGstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n let cgstAmt = updatedData[index].cgstAmt;\r\n let sgstAmt = updatedData[index].sgstAmt;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n updatedData[index].gstAmt = (cgstAmt + sgstAmt);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n\r\n\r\n\r\n\r\n UpdateColumnChange = (record) => {\r\n\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n\r\n records[recIndex].pharmacy_id = record.pharmacy_id ? record.pharmacy_id : \"\";\r\n records[recIndex].pharmacy_name = record.pharmacy_name;\r\n records[recIndex].pharmacy_location = record.pharmacy_location;\r\n records[recIndex].address = record.address;\r\n records[recIndex].city = record.city;\r\n records[recIndex].country = record.country;\r\n records[recIndex].state = record.state;\r\n records[recIndex].zip_code = record.zip_code;\r\n // records[recIndex].phone_number = record.phone_number;\r\n\r\n this.setState({ records: records });\r\n }\r\n\r\n clearErrors = (errors) => {\r\n\r\n\r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no = \"\"\r\n return errors\r\n }\r\n clear = () => {\r\n\r\n let data = this.state.saleEntryData;\r\n\r\n data.phone_number = \"\";\r\n data.patient_name = \"\";\r\n data.address = \"\";\r\n this.state.patient_address = \"\";\r\n this.state.patient_name = \"\";\r\n this.state.searchData.phone_number = \"\";\r\n this.setState({ saleEntryData: data, add_btn: false, formSuccess: { message: \"\", }, });\r\n\r\n }\r\n cancel = () => {\r\n\r\n let data = this.state.saleEntryData;\r\n\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n saleEntryData: data, actions: \"add\", voucher_no: \"\", errors: errors, searchErrorMessage: \"\", records: [],\r\n search_action: false,\r\n totalAmtSec: {\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n\r\n\r\n },\r\n\r\n });\r\n }\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n /* calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let amt = 0.0;\r\n let taxAmt = 0.0;\r\n let taxVal = 0.0;\r\n let totalAmt = 0.0;\r\n let sub_total=0.0;\r\n console.log(records);\r\n \r\n records.map((data, i) => {\r\n if (undefined !== data.fee) {\r\n amt = Number(amt) + Number(data.fee);\r\n }\r\n if (undefined !== data.gst_amount) {\r\n taxAmt = Number(taxAmt) + Number(data.gst_amount);\r\n }\r\n if (undefined !== data.taxable_value) {\r\n taxVal = Number(taxVal) + Number(data.taxable_value);\r\n }\r\n if (undefined !== data.total_amount) {\r\n totalAmt = Number(totalAmt) + Number(data.total_amount);\r\n }\r\n if (undefined !== data.quantity) {\r\n sub_total = Number(data.quantity) * Number(data.p_rate);\r\n }\r\n });\r\n \r\n totalAmtSec.amt = amt;\r\n totalAmtSec.taxAmt = taxAmt;\r\n totalAmtSec.taxVal = taxVal;\r\n totalAmtSec.totalAmt = totalAmt;\r\n totalAmtSec.sub_total=sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(totalAmt)+\" rupees only\";\r\n this.setState({ totalAmtSec });\r\n \r\n console.log(totalAmtSec);\r\n }; \r\n */\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let gstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n let roundtotal = 0.0;\r\n let rounddiff = 0.0;\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n\r\n if (data.gstAmt !== undefined) {\r\n gstAmt += Number(data.gstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.gstAmt = gstAmt;\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.roundtotal = Math.round(total);\r\n totalAmtSec.rounddiff = total - totalAmtSec.roundtotal;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n calculateTaxAmountSection = () => {\r\n let records = this.state.records;\r\n let totalTaxAmtSec = { ...this.state.totalTaxAmtSec };\r\n\r\n // Initialize tax amounts and totals for each tax rate\r\n let taxSummary = {\r\n 5: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 12: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 18: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n };\r\n\r\n\r\n records.forEach((data) => {\r\n const taxRate = data.taxrate;\r\n\r\n\r\n if (taxSummary[taxRate]) {\r\n console.log(\"Current Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n\r\n taxSummary[taxRate].cgstAmt += Number(data.cgstAmt) || 0;\r\n taxSummary[taxRate].sgstAmt += Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].taxAmt += Number(data.cgstAmt) + Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].sub_total += Number(data.sub_total) || 0;\r\n\r\n console.log(\"Updated Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n }\r\n });\r\n\r\n // Ensure totalTaxAmtSec has the necessary properties initialized\r\n totalTaxAmtSec = {\r\n cgstAmt5: totalTaxAmtSec.cgstAmt5 || 0,\r\n sgstAmt5: totalTaxAmtSec.sgstAmt5 || 0,\r\n taxAmt5: totalTaxAmtSec.taxAmt5 || 0,\r\n sub_total5: totalTaxAmtSec.sub_total5 || 0,\r\n cgstAmt12: totalTaxAmtSec.cgstAmt12 || 0,\r\n sgstAmt12: totalTaxAmtSec.sgstAmt12 || 0,\r\n taxAmt12: totalTaxAmtSec.taxAmt12 || 0,\r\n sub_total12: totalTaxAmtSec.sub_total12 || 0,\r\n cgstAmt18: totalTaxAmtSec.cgstAmt18 || 0,\r\n sgstAmt18: totalTaxAmtSec.sgstAmt18 || 0,\r\n taxAmt18: totalTaxAmtSec.taxAmt18 || 0,\r\n sub_total18: totalTaxAmtSec.sub_total18 || 0,\r\n };\r\n\r\n\r\n\r\n // Update the totalTaxAmtSec object with calculated values\r\n totalTaxAmtSec.cgstAmt5 = taxSummary[5].cgstAmt;\r\n totalTaxAmtSec.sgstAmt5 = taxSummary[5].sgstAmt;\r\n totalTaxAmtSec.taxAmt5 = taxSummary[5].taxAmt;\r\n totalTaxAmtSec.sub_total5 = taxSummary[5].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt12 = taxSummary[12].cgstAmt;\r\n totalTaxAmtSec.sgstAmt12 = taxSummary[12].sgstAmt;\r\n totalTaxAmtSec.taxAmt12 = taxSummary[12].taxAmt;\r\n totalTaxAmtSec.sub_total12 = taxSummary[12].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt18 = taxSummary[18].cgstAmt;\r\n totalTaxAmtSec.sgstAmt18 = taxSummary[18].sgstAmt;\r\n totalTaxAmtSec.taxAmt18 = taxSummary[18].taxAmt;\r\n totalTaxAmtSec.sub_total18 = taxSummary[18].sub_total;\r\n\r\n console.log(\"Final Total Tax Amount Section:\", totalTaxAmtSec);\r\n\r\n // Update the state with the new total tax amounts\r\n this.setState({ totalTaxAmtSec });\r\n };\r\n generate() {\r\n let { saleEntryData, errors } = this.state;\r\n saleEntryData.type = \"saleEntryData\";\r\n errors = Validation(saleEntryData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n phone_number: saleEntryData.phone_number || this.state.searchData.phone_number,\r\n patient_name: saleEntryData.patient_name || this.state.patient_name,\r\n address: saleEntryData.address || this.state.patient_address,\r\n remarks: saleEntryData.remarks,\r\n bill_date: saleEntryData.bill_date,\r\n doctorreg_no: saleEntryData.doctorreg_no,\r\n doctor_name: saleEntryData.doctor_name,\r\n created_by: saleEntryData.created_by,\r\n records: this.state.records\r\n };\r\n console.log(data);\r\n console.log(this.state.bill_no);\r\n console.log(this.state.saleEntryData.bill_date);\r\n this.props.history.push({\r\n pathname: \"/saleinvoiceb2b/\" + this.state.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/saleinvoiceb2b/\" + this.state.bill_no,\r\n state: {\r\n bill_no: this.state.bill_no,\r\n bill_date: this.state.saleEntryData.bill_date.toString(),\r\n patient_name: this.state.patient_name,\r\n patient_address: this.state.patient_address,\r\n doctorreg_no: this.state.saleEntryData.doctorreg_no,\r\n doctor_name: this.state.saleEntryData.doctor_name,\r\n sub_total: this.state.totalAmtSec.sub_total.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n discAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n total: this.state.totalAmtSec.total.toFixed(2),\r\n totalAmtWords: this.state.totalAmtSec.totalAmtWords,\r\n roundtotal: this.state.totalAmtSec.roundtotal.toFixed(2),\r\n rounddiff: this.state.totalAmtSec.rounddiff.toFixed(2),\r\n sub_total5: this.state.totalTaxAmtSec.sub_total5,\r\n cgstAmt5: this.state.totalTaxAmtSec.cgstAmt5,\r\n sgstAmt5: this.state.totalTaxAmtSec.sgstAmt5,\r\n taxAmt5: this.state.totalTaxAmtSec.taxAmt5,\r\n sub_total12: this.state.totalTaxAmtSec.sub_total12,\r\n cgstAmt12: this.state.totalTaxAmtSec.cgstAmt12,\r\n sgstAmt12: this.state.totalTaxAmtSec.sgstAmt12,\r\n taxAmt12: this.state.totalTaxAmtSec.taxAmt12,\r\n sub_total18: this.state.totalTaxAmtSec.sub_total18,\r\n cgstAmt18: this.state.totalTaxAmtSec.cgstAmt18,\r\n sgstAmt18: this.state.totalTaxAmtSec.sgstAmt18,\r\n taxAmt18: this.state.totalTaxAmtSec.taxAmt18,\r\n }\r\n });\r\n }\r\n }\r\n addSaleEntryData() {\r\n\r\n\r\n let { saleEntryData, errors } = this.state;\r\n saleEntryData.type = \"saleEntryData\";\r\n errors = Validation(saleEntryData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n phone_number: saleEntryData.phone_number || this.state.searchData.phone_number,\r\n patient_name: saleEntryData.patient_name || this.state.patient_name,\r\n address: saleEntryData.address || this.state.patient_address,\r\n remarks: saleEntryData.remarks,\r\n bill_date: saleEntryData.bill_date,\r\n doctorreg_no: saleEntryData.doctorreg_no,\r\n doctor_name: saleEntryData.doctor_name,\r\n created_by: saleEntryData.created_by,\r\n records: this.state.records,\r\n discPercent: this.state.discountPercentage,\r\n subtotalAmount: this.state.totalAmtSec.sub_total,\r\n totalAmount: this.state.totalAmtSec.total,\r\n discountAmt: this.state.totalAmtSec.discAmt,\r\n gstAmt: this.state.totalAmtSec.gstAmt,\r\n payment_mode: saleEntryData.payment_mode.label,\r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n\r\n axios\r\n\r\n .post(addSaleEntryData, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n editformSuccess: res,\r\n bill_no: res.data[0].bill_no,\r\n bill_date: this.state.bill_date\r\n });\r\n toast.success(\"The Sale Entry voucher have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n\r\n this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Sale Entry voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n\r\n }\r\n }\r\n\r\n updateSaleEntryData()\r\n {\r\n \r\n let { saleEntryData, errors } = this.state;\r\n saleEntryData.type = \"saleEntryData\";\r\n errors = Validation(saleEntryData, errors);\r\n this.setState({ errors: errors });\r\n \r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n \r\n let data = {\r\n user_id: this.props.userdata.id,\r\n /* phone_number: saleEntryData.phone_number || this.state.searchData.phone_number, */\r\n patient_name: saleEntryData.patient_name||this.props.location.state.patient_name,\r\n address: saleEntryData.address||this.state.address,\r\n remarks: saleEntryData.remarks||this.state.remarks,\r\n bill_date: saleEntryData.bill_date||this.props.location.state.bill_date,\r\n bill_no:this.props.location.state.bill_no,\r\n /* doctorreg_no: saleEntryData.doctorreg_no,\r\n doctor_name: saleEntryData.doctor_name, */\r\n created_by: saleEntryData.created_by||this.state.created_by,\r\n records: this.state.records,\r\n discPercent: this.props.location.state.disc, \r\n subtotalAmount: this.state.totalAmtSec.sub_total.toFixed(2),\r\n totalAmount: this.state.totalAmtSec.total.toFixed(2),\r\n discountAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n cgstAmt5:this.state.totalTaxAmtSec.cgstAmt5.toFixed(2),\r\n sgstAmt5:this.state.totalTaxAmtSec.sgstAmt5.toFixed(2),\r\n taxAmt5:this.state.totalTaxAmtSec.taxAmt5.toFixed(2),\r\n sub_total5:this.state.totalTaxAmtSec.sub_total5.toFixed(2),\r\n cgstAmt12:this.state.totalTaxAmtSec.cgstAmt12.toFixed(2),\r\n sgstAmt12:this.state.totalTaxAmtSec.sgstAmt12.toFixed(2),\r\n taxAmt12:this.state.totalTaxAmtSec.taxAmt12.toFixed(2),\r\n sub_total12:this.state.totalTaxAmtSec.sub_total12.toFixed(2),\r\n cgstAmt18:this.state.totalTaxAmtSec.cgstAmt18.toFixed(2),\r\n sgstAmt18:this.state.totalTaxAmtSec.sgstAmt18.toFixed(2),\r\n taxAmt18:this.state.totalTaxAmtSec.taxAmt18.toFixed(2),\r\n sub_total18:this.state.totalTaxAmtSec.sub_total18.toFixed(2),\r\n payment_mode: this.state.selectedPaymentMode.label,\r\n customer_type: 'b2b',\r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n \r\n axios\r\n \r\n .post(updateSaleEntryDatab2b, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n toast.success(\"The Sale Entry voucher have been updated successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.setState({\r\n records: records,\r\n // searchTableSuccess: res,\r\n // loading: false,\r\n // editformSuccess: res,\r\n bill_no:res.data[0].bill_no\r\n });\r\n \r\n // this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Sale Entry voucher could not be updated. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n \r\n }\r\n \r\n }\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { saleEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n saleEntryData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n saleEntryData,\r\n });\r\n }\r\n componentDidUpdate(prevProps)\r\n {\r\n if (this.props.location && this.props.location.state && this.props.location.state.payment_mode !== undefined) {\r\n if (prevProps.location && prevProps.location.state && prevProps.location.state.payment_mode !== this.props.location.state.payment_mode) \r\n { this.setInitialPaymentMode(); }\r\n } }\r\n setInitialPaymentMode = () => {\r\n const payment_mode = [\r\n { value: 0, label: \"Cash\" },\r\n { value: 1, label: \"UPI\" },\r\n { value: 2, label: \"Credit card\" },\r\n { value: 3, label: \"Debit card\" },\r\n\r\n ];\r\n const matchedOption = payment_mode.find(option => option.label === this.props.location.state?.payment_mode); \r\n console.log('Matched Option:', matchedOption);\r\n this.setState({ selectedPaymentMode: matchedOption });\r\n \r\n }\r\n componentDidMount = () => {\r\n \r\nconsole.log(this.state.selectedPaymentMode);\r\nthis.setInitialPaymentMode();\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n this.fetchPharmacyDrugs();\r\n this.fetchMasterCustomerNames();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n\r\n //set first record as consultation fee by default\r\n /* let consultation_fee_record = {};\r\n consultation_fee_record.s_no = 1;\r\n consultation_fee_record.description = \"Consultation Fee\";\r\n consultation_fee_record.fee = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n consultation_fee_record.disc = \"\";\r\n consultation_fee_record.taxable_value = \"\";\r\n consultation_fee_record.gst_rate = \"\";\r\n consultation_fee_record.gst_amount = \"\";\r\n consultation_fee_record.total_amount = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n */\r\n let records = [];\r\n // records.push(consultation_fee_record); \r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n this.calculateTaxAmounts();\r\n this.calculateTaxAmountSection();\r\n this.calculateTotals();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n /* axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n\r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n\r\n }));\r\n\r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n }); */\r\n\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n\r\n\r\n\r\n };\r\n \r\n fetchMasterCustomerNames=()=>{\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyCustomerList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n console.log(data.data);\r\n const mastercustomerNameList = data.data;\r\n const uniquecustomerNames = new Set();\r\n const mastercustomerNames = mastercustomerNameList\r\n /* .filter((element) => {\r\n \r\n if (!uniquecustomerNames.has(element.customer_name)) {\r\n uniquecustomerNames.add(element.customer_name);\r\n return true;\r\n }\r\n return false;\r\n }) */\r\n .map((element) => ({\r\n value: element.customer_id,\r\n label: element.customer_name,\r\n \r\n }));\r\n \r\n this.setState({ mastercustomerNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n \r\n });\r\n \r\n \r\n }\r\n onDeleteClick(record) {\r\n\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n // Filter out the record to delete\r\n const updatedRecords = this.state.records.filter(item => item.s_no !== record.s_no);\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords, addPopup: false }, () => {\r\n toast.success(\"The Sale Entry detail has been deleted successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.calculateSubTotals();\r\n console.log(updatedRecords);\r\n });\r\n }\r\n handlepaymentselectChange = (selectedOption) => {\r\n \r\n /* let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions; */\r\n this.setState({ selectedPaymentMode: selectedOption });\r\n \r\n }\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n const drugNameToSet = selectedOption ? selectedOption.label : ''; // Get the selected drug name\r\n\r\n // Update the drug_name for the specific record\r\n updatedData[index].generic_name = drugNameToSet;\r\n\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n console.log(updatedData[index][key])\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData, selectedBatches: [], batches: [] });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n this.getBatchandExpDateBydrugname(index, selectedOption,new Date());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n fetchPharmacyDrugs = async () => {\r\n try {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n const result = await axios.post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG);\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n this.setState({ supplies });\r\n this.fetchSaleEntryData(supplies);\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n console.error(\"Error fetching pharmacy drugs\", e);\r\n }\r\n };\r\n fetchSaleEntryData = async (supplies) => {\r\n try {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n const list = await axios.post(getAllSaleEntryDataByBillNumber, { bill_no: this.props.location.state.bill_no }, CONFIG);\r\n const List = list.data.data;\r\n console.log(List);\r\n let doctorreg_no = List[0].doctorreg_no;\r\n\r\n let records = List.map((element, index) => ({\r\n s_no: index + 1,\r\n user_id: this.props.userdata.id,\r\n generic_name: element.generic_name,\r\n pack: element.pack,\r\n batch_no: element.batch_no,\r\n storage_bin: element.storage_bin,\r\n quantity: element.quantity,\r\n free: element.free,\r\n rate: element.rate,\r\n mrp: element.mrp,\r\n disc: element.disc,\r\n sub_total: element.sub_total,\r\n cgst: element.cgst,\r\n sgst: element.sgst,\r\n igst: element.igst,\r\n total: element.total,\r\n discAmt: element.discAmt,\r\n taxrate: element.taxrate,\r\n cgstAmt: element.cgstAmt,\r\n sgstAmt: element.sgstAmt,\r\n }));\r\n\r\n const defaultEnterSize = 25;\r\n const extraRows = defaultEnterSize - records.length;\r\n for (let i = 1; i <= extraRows; i++) {\r\n records.push({\r\n s_no: records.length + 1,\r\n user_id: this.props.userdata.id,\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n storage_bin: \"\",\r\n quantity: \"\",\r\n free: \"\",\r\n rate: 0,\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n discAmt: 0,\r\n taxrate: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n });\r\n }\r\n\r\n this.setState({\r\n records, loading: false,\r\n doctorreg_no: List[0].doctorreg_no,\r\n address: List[0].address,\r\n remarks: List[0].remarks,\r\n created_by: List[0].created_by,\r\n\r\n }, () => {\r\n // Trigger calculations after state update\r\n this.calculateSection();\r\n //this.calculateSubTotals();\r\n this.calculateTaxAmountSection();\r\n // this.calculateAllIgstAmounts();\r\n // this.calculateAllDiscountAmounts();\r\n });\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n console.error(\"Error fetching purchase entry data\", e);\r\n }\r\n };\r\n handleShow = (index) => {\r\n const currentRecord = this.state.records[index];\r\n console.log(currentRecord);\r\n console.log(\"curent index\", index);\r\n console.log(this.state.selectedBatches);\r\n\r\n // Create the current batch object\r\n const currentBatchInRow = {\r\n batch_no: currentRecord.batch_no || 'Select Batch',\r\n exp_date: currentRecord.exp_date || 'N/A',\r\n };\r\n console.log(currentBatchInRow);\r\n\r\n // Determine the selectedBatch based on the existence of batch_no\r\n const selectedBatch = currentRecord.batch_no\r\n ? currentBatchInRow // If batch_no exists, use currentBatchInRow\r\n : { batch_no: 'Select Batch', exp_date: 'N/A' }; // If not, use default\r\n\r\n // Set the current row index and selected batch in a single setState call\r\n this.setState({\r\n currentRow: index,\r\n selectedBatch: currentBatchInRow, // Set the selected batch based on the logic\r\n showModel: true,\r\n selectedBatches: [], // Show the modal\r\n //batches:[],\r\n });\r\n\r\n };\r\n handleBatchClose = () => {\r\n this.setState({ showModel: false });\r\n\r\n };\r\n handleSelectBatchClick = () => {\r\n const { selectedBatches, selectedExpdates, currentRow } = this.state;\r\n\r\n if (selectedBatches.length > 0) {\r\n console.log(\"Remove previous batch\", selectedBatches.shift()); // Remove the first element from selectedBatches\r\n console.log(\"Remove previous exp_date\", selectedExpdates.shift()); // Remove the first element from selectedExpdates\r\n\r\n this.selectBatch(selectedBatches, selectedExpdates, currentRow);\r\n\r\n // Clear selections\r\n this.setState({\r\n selectedBatches: [],\r\n selectedExpdates: []\r\n });\r\n } else {\r\n console.log('No batches selected.');\r\n }\r\n };\r\n\r\n selectBatch = (batches, expdates,quantities, selectedIndex) => {\r\n const updatedRecords = [...this.state.records];\r\n const batcheslength = batches.length;\r\n console.log(\"Selected Index:\", selectedIndex);\r\n console.log(\"Batches:\", batches);\r\n console.log(\"Quantities:\", quantities);\r\n console.log(\"old batch length\", batcheslength);\r\n console.log(\"New batches length\", batches.length);\r\n console.log(\"First Record:\", updatedRecords[0]);\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const drug_id=updatedRecords[this.state.currentRow]?.drug_id;\r\n const drugNameToSet = updatedRecords[this.state.currentRow]?.generic_name;\r\n const packToSet = updatedRecords[this.state.currentRow]?.pack;\r\n const storagebin = updatedRecords[this.state.currentRow]?.storage_bin;\r\n const mrp = updatedRecords[this.state.currentRow]?.mrp;\r\n const cgst = updatedRecords[this.state.currentRow]?.cgst;\r\n const sgst = updatedRecords[this.state.currentRow]?.sgst;\r\n const hsn_code = updatedRecords[this.state.currentRow]?.hsn_code;\r\n const conversion_factor = updatedRecords[this.state.currentRow]?.conversion_factor;\r\n console.log(\"Drug Name to Set:\", drugNameToSet);\r\n \r\n if (this.state.currentRow === 0) {\r\n // Loop through each selected batch and update the corresponding row\r\n batches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n \r\n expdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n quantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n } \r\n else{\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const updatedbatches=this.deleteElementsUpToIndex(batches, this.state.currentRow);\r\n updatedbatches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n const updatedexpdates=this.deleteElementsUpToIndex(expdates, this.state.currentRow);\r\n updatedexpdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedquantities=this.deleteElementsUpToIndex(quantities, this.state.currentRow);\r\n \r\n updatedquantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n }\r\n \r\n this.setState({ records: updatedRecords }, () => {\r\n console.log('Updated Records after Set State:', this.state.records);\r\n this.calculateTaxAmountSection();\r\n this.setState({ selectedBatches: [], selectedExpdates: [] ,selectedQuantities:[]});\r\n });\r\n };\r\n\r\n deleteElementsUpToIndex(array, index) {\r\n // Check if the index is valid\r\n if (index < 0 || index >= array.length) {\r\n console.error(\"Invalid index\");\r\n return array; // Return the original array if the index is invalid\r\n }\r\n \r\n // Return a new array starting from the specified index\r\n return array.slice(index);\r\n }\r\n\r\n getBatchnobyDrugname = (index, selectedOption) => {\r\n axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n\r\n let batch_no = drugResponse.data.data;\r\n console.log(\"Fetched batch: \", batch_no[0]);\r\n })\r\n }\r\n\r\n getBatchandExpDateBydrugname = (index, selectedOption) => {\r\n if (selectedOption != null) {\r\n this.setState({ batches: [] });\r\n axios.post(getBatchandExpDateBydrugname, { generic_name: selectedOption.label,specified_date: new Date() }, CONFIG)\r\n .then((drugResponse) => {\r\n // Ensure batches is always an array\r\n let batches = Array.isArray(drugResponse.data.data) ? drugResponse.data.data : [];\r\n console.log(\"Fetched batches: \", batches);\r\n this.setState({ batches });\r\n })\r\n .catch(error => {\r\n console.error('Error fetching batch data:', error);\r\n this.setState({ batches: [] }); // Set to empty array on error\r\n });\r\n }\r\n }\r\n fetchItemDetails = (index, selectedOption) => {\r\n // Fetch item list for the selected drug\r\n if (selectedOption != null) {\r\n\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n const itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Fetch batch numbers and expiry dates for the selected drug\r\n return axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((batchResponse) => {\r\n const batch_no = batchResponse.data.data;\r\n console.log(\"Fetched Batch Numbers: \", batch_no); // Verify the batch response\r\n\r\n // Find the item in the item list\r\n const item = itemList.find(item => item.generic_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data\r\n const updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n batch_no: item.batch_no, // Ensure batch_no is a string\r\n mrp: batch_no.length > 0 ? batch_no[0].mrp : \"\", // Handle case where batch_no might be empty\r\n storage_bin: item.storage_bin,\r\n conversion_factor: item.conversion_factor,\r\n cgst: item.cgst,\r\n sgst: item.sgst,\r\n hsn_code: item.hsn_code,\r\n\r\n // igst: this.state.State_value === this.state.gst_state ? item.igst : \"\",\r\n // sub_total: updatedData[index].quantity * updatedData[index].rate,\r\n };\r\n\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection(); // Call calculateSection after state update\r\n this.calculateTaxAmountSection();\r\n });\r\n }\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }\r\n };\r\n\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ saleEntryData: data, errors: errors });\r\n }\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n\r\n handlecustomerselectChange = async (selectedOptions, e) => {\r\n let data = this.state.saleEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n \r\n \r\n this.setState({ saleEntryData: data, errors,searchErrorMessage: \"\" });\r\n }\r\n handlevendorselectChange = async (selectedOptions, e) => {\r\n let data = this.state.purchaseEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n\r\n this.setState({ purchaseEntryData: data, errors, searchErrorMessage: \"\" });\r\n\r\n axios\r\n .post(getgststatebyVendorname, { user_id: this.props.userdata.id, vendor_name: selectedOptions.label }, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data = resdata.data[0];\r\n console.log(resdata.status);\r\n\r\n if (resdata.status == \"1\") {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state);\r\n });\r\n }\r\n\r\n }).catch((e) => { });\r\n\r\n }\r\n\r\n handleUpdateVoucher = () => { \r\n const { bill_date } = this.state.saleEntryData;\r\n const currentDate = new Date(); \r\n const billDate = new Date(bill_date); \r\n console.log(billDate.getMonth());\r\n // Calculate the difference in days\r\n // const timeDiff = Math.abs(currentDate.getTime() - voucherDate.getTime()); \r\n // const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); \r\n // Check if the voucher date is within 30 days or within the current month \r\n if (billDate.getMonth() !== currentDate.getMonth()) \r\n { \r\n this.setState({ updatePopup: true });\r\n return;\r\n } \r\n // Proceed with the update if validation passes \r\n this.updateSaleEntryData();\r\n };\r\n render() {\r\n \r\n let showPopup = () => { this.setState({ addPopup: true }); };\r\n let PopupClose = () => this.setState({ addPopup: false, updatePopup: false });\r\n let PopupConfirm = () => {\r\n this.setState({ addPopup: false },\r\n () => {\r\n\r\n this.handleUpdateVoucher();\r\n });\r\n };\r\n const payment_mode = [\r\n { value: 0, label: \"Cash\" },\r\n { value: 1, label: \"UPI\" },\r\n { value: 2, label: \"Credit card\" },\r\n { value: 3, label: \"Debit card\" },\r\n\r\n ];\r\n // let PopupClose = () => this.setState({ addPopup: false });\r\n // let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n const { saleEntryData, records, batches,mastercustomerNames, bill_no, bill_date, selectedBatch, currentBatchinrow, showModel, errors, formSuccess, tableSuccess, hospitaltimeout, mastervendorNames, gst_state, State_value, searchErrorMessage, searchTableSuccess, loading } = this.state;\r\n const formattedSubTotal12 = this.props.location.state?.sub_total12;\r\n const { location } = this.props;\r\n const viewPage = location && location.state ? location.state.view_page : false; // Default to false if undefined\r\n const selectedCustomer = mastercustomerNames.find(option => option.label === (this.props.location.state?.patient_name)) || null;\r\n \r\n return (\r\n\r\n
    \r\n \r\n\r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {viewPage?'View':'Edit'} Sale Entry Voucher B2B

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {viewPage?'View':'Edit'} Sale Entry Voucher B2B\r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n {/*
    */}\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n\r\n \r\n \r\n 5%\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.sub_total5):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.cgstAmt5):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.sgstAmt5):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.taxAmt5):\"\"}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {formattedSubTotal12}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.cgstAmt12):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.sgstAmt12):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.taxAmt12):\"\"}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.sub_total18):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.cgstAmt18):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.sgstAmt18):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.taxAmt18):\"\"}\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n\r\n {/* \r\n \r\n \r\n Sub Total\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n \r\n Discount Amount\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n CGST%\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n SGST%\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n \r\n Grand Total\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n */}\r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n {viewPage == true ?\r\n ( this.props.history.goBack()}\r\n id=\"back\"\r\n >\r\n Back\r\n ) :\r\n (
    \r\n Update\r\n \r\n \r\n clear\r\n \r\n this.props.history.goBack()}\r\n id=\"back\"\r\n >\r\n Back\r\n
    )}\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    )}\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ViewSaleEntryVoucherb2b));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { formatDate } from \"../constants/config/data\";\r\nimport {\r\n getPharmacyList,\r\n getAllSaleEntryListbybillno,\r\n addPharmacy,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getPharmacyShortDetail,\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport logo from '../assets/images/logo.png';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\n\r\nclass SaleNvoiceb2b extends Component {\r\n _isMounted = false;\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n pharmacyData: {\r\n pharmacy_id: \"\",\r\n searchpharmacy_id:\"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n online_prescription_obj: { value: \"\", label: \"\" },\r\n online_prescription: \"\",\r\n pharmacy_verification:\"\"\r\n },\r\n headerinfo: {\r\n profile_name: \"\",\r\n qualification: \"\",\r\n specialization: \"\",\r\n work_place: \"\",\r\n id: \"\",\r\n languages_known: \"\",\r\n profile_percentage: \"\",\r\n rating: \"\",\r\n profile_img:\"\",\r\n profile_percentage_style:\"\",\r\n business_name:\"\",\r\n speciality_detail:\"\",\r\n address1:\"\",\r\n city:\"\",\r\n zip_code:\"\"\r\n \r\n },\r\n totalAmtSec: {\r\n amt: 0,\r\n taxVal: 0,\r\n taxAmt: 0,\r\n totalAmt: 0,\r\n totalAmtWords: \"\",\r\n },\r\n\r\n errors: {\r\n pharmacy_id: \"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n online_prescription: \"\",\r\n pharmacy_verification:\"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n }\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n \r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n // {\r\n // key: \"pharmacy_location\",\r\n // text: \"Address\",\r\n // className: \"pharmacy_location\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // cell: (record) => {\r\n // return (\r\n // \r\n // \r\n // \r\n // {record.pharmacy_location}\r\n // \r\n // \r\n // \r\n // );\r\n\r\n // }\r\n\r\n // },\r\n {\r\n key: \"hsn_code\",\r\n text: \"HSN\",\r\n className: \"hsn_code\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"exp_date\",\r\n text: \"Exp.Dt\",\r\n className: \"exp_date\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n \r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"rate\",\r\n text: \"Rate\",\r\n className: \"rate\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cgst\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"sgst\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"sub_total\",\r\n text: \"Amount\",\r\n className: \"sub_total\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n ];\r\n this.config = {\r\n page_size: 9,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n length_menu: [10, 20, 50],\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n \r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n this.Back = this.Back.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors=this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number=\"\";\r\n this.setState({ pharmacyData,errors });\r\n };\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n let errors=this.state.errors;\r\n let { pharmacyData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n \r\n pharmacyData.pharmacy_location = place.formatted_address;\r\n pharmacyData.pharmacy_verification=\"Verified\";\r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n // var valShort = place.address_components[i].short_name;\r\n // console.log(val);\r\n if (addressType === \"administrative_area_level_1\")\r\n pharmacyData.state = val;\r\n if (addressType === \"locality\")\r\n pharmacyData.city = val;\r\n if (addressType === \"country\") pharmacyData.country = val;\r\n // if (addressType === \"street_number\") {\r\n\r\n pharmacyData.address = place.formatted_address;\r\n // }\r\n // if (addressType === \"sublocality_level_1\") pharmacyData.address2 = val;\r\n if (addressType === \"postal_code\") pharmacyData.zip_code = val;\r\n }\r\n }\r\nerrors.city_error=\"\";\r\nerrors.state_error=\"\";\r\nerrors.country_error=\"\";\r\nerrors.zip_code_error=\"\";\r\nerrors.city=\"\";\r\nerrors.state=\"\";\r\nerrors.country=\"\";\r\nerrors.zip_code=\"\";\r\n this.setState({\r\n pharmacyData,errors\r\n });\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n \r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n \r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n \r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n \r\n \r\n \r\n Printpage=()=>\r\n { \r\n window.print();\r\n }\r\n\r\n Back=()=>{\r\n\r\n this.props.history.push(\"/saleregister\");\r\n }\r\n\r\n \r\n \r\n \r\n clearimport=()=>{\r\n this.setState({ file:\"\" });\r\n };\r\n \r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n editRecord(record) {\r\n let pharmacy_action = this.state.pharmacy_action;\r\n pharmacy_action = \"Edit\";\r\n this.setState({ pharmacy_action });\r\n let pharmacyData = this.state.pharmacyData;\r\n console.log(record)\r\n console.log(pharmacyData)\r\n pharmacyData.pharmacy_id = record.pharmacy_id;\r\n pharmacyData.pharmacy_name = record.pharmacy_name;\r\n pharmacyData.id = record.id;\r\n pharmacyData.user_id = record.user_id;\r\n\r\n pharmacyData.online_prescription_obj = {\r\n label: record.online_prescription,\r\n value: (\"Yes\" === record.online_prescription) ? 1 : 0\r\n }\r\n pharmacyData.address = record.pharmacy_location;\r\n pharmacyData.phone_number = record.phone_number;\r\n pharmacyData.email = record.email;\r\n pharmacyData.pharmacy_location = record.address;\r\n pharmacyData.city = record.city;\r\n pharmacyData.country = record.country;\r\n pharmacyData.state = record.state;\r\n pharmacyData.zip_code = record.zip_code;\r\n pharmacyData.online_prescription = record.online_prescription;\r\n pharmacyData.pharmacy_verification=record.pharmacy_verification;\r\n let errors = this.state.errors;\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ pharmacyData: pharmacyData, actions: \"edit\", errors: errors,editRecord:record });\r\n }\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n componentDidMount = () => {\r\n this._isMounted = true;\r\n /* console.log(this.props.location.state.bill_no);\r\n console.log(this.props.location.state.patient_address);\r\n console.log(this.props.location.state.patient_name);\r\n console.log(this.props.location.state.doctor_name); */\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n \r\n if (data.status == \"1\"){\r\n\r\nconst foodlicence=data.data[0].food_licence;\r\nconst foodlicenceparsed=JSON.parse(foodlicence);\r\n\r\nconst druglicence1=data.data[0].drug_licence1;\r\nconst druglicence1parsed=JSON.parse(druglicence1);\r\nconst druglicence2=data.data[0].drug_licence2;\r\nconst druglicence2parsed=JSON.parse(druglicence2);\r\nconst druglicence3=data.data[0].drug_licence3;\r\nconst druglicence3parsed=JSON.parse(druglicence3);\r\n this.setState({\r\n avatar:data.data[0].avatar,\r\n pharmacyaddress:data.data[0].address1+'-'+data.data[0].city+'-'+data.data[0].state+'-'+data.data[0].country+'-'+data.data[0].zip_code,\r\n pharmacy_name:data.data[0].pharmacy_name,\r\n gstin:data.data[0].gst_no,\r\n foodLicense: foodlicenceparsed.food_licence,\r\n druglicence1:druglicence1parsed.drug_licence1,\r\n druglicence2:druglicence2parsed.drug_licence2,\r\n druglicence3:druglicence3parsed.drug_licence3,\r\n });\r\n }\r\n \r\n \r\n console.log(this.state.avatar);\r\n console.log(this.state.pharmacyaddress);\r\n })\r\n .catch((e) => { });\r\n \r\n\r\n let members = [];\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSaleEntryListbybillno, { bill_no: this.props.location.state.bill_no}, CONFIG)\r\n .then((list) => {\r\n let saleList = list.data.data;\r\n saleList.forEach((element, index) => {\r\n let sale = {};\r\n sale.s_no = index + 1;\r\n sale.generic_name = element.generic_name;\r\n sale.pack = element.pack;\r\n sale.id = element.id;\r\n sale.hsn_code = element.hsn_code;\r\n sale.batch_no = element.batch_no;\r\n sale.exp_date = formatDate(element.exp_date);\r\n sale.quantity = element.quantity;\r\n sale.mrp = element.mrp;\r\n sale.rate = element.rate;\r\n sale.cgst = element.cgst;\r\n sale.sgst = element.sgst;\r\n sale.sub_total=element.sub_total;\r\n saleList[index] = sale;\r\n });\r\n\r\n this.setState({ records: saleList,customer_name:saleList.patient_name,customer_address:saleList.address1 });\r\n })\r\n .catch((e) => { });\r\n\r\n };\r\n\r\n\r\n onDeleteClick(record) {\r\n \r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n \r\n let userId = record.id;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deletePharmacy, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Pharmacy detail has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n }\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors\r\n errors.online_prescription = \"\"\r\n data[e.name] = selectedOptions;\r\n this.setState({ pharmacyData: data, errors });\r\n };\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ pharmacyData: data, errors: errors });\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.pharmacyData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors\r\n if (\r\n name === \"pharmacy_id\" ||\r\n name === \"pharmacy_name\" ||\r\n name === \"address\"||\r\n name===\"city\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n }\r\n this.setState({ pharmacyData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n handleAddressInput = (e) => {\r\n let data = this.state.pharmacyData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors\r\n if (name === \"address\") {\r\n \r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n }\r\n this.setState({ pharmacyData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n \r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n};\r\nonFileUpload = () => {\r\n\r\n if (this.state.pharmacyData.length) {\r\n axios.post(hospitalpharmacyimport, {data: this.state.pharmacyData,user_id:this.props.userdata.id}).then((result) => {\r\n console.log(result);\r\n this.setState({ formSuccess: result.data, file: \"\", pharmacyData: [] })\r\n axios\r\n .post(getPharmacyList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let pharmacyList = list.data.data;\r\n pharmacyList.forEach((element, index) => {\r\n let pharmacy = {};\r\n pharmacy.s_no = index + 1;\r\n pharmacy.pharmacy_id = element.pharmacy_id;\r\n pharmacy.pharmacy_name = element.pharmacy_name;\r\n pharmacy.id = element.id;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_location = element.pharmacy_location;\r\n pharmacy.phone_number = element.phone_number;\r\n pharmacy.email = element.email;\r\n pharmacy.address = element.address;\r\n pharmacy.city = element.city;\r\n pharmacy.country = element.country;\r\n pharmacy.state = element.state;\r\n pharmacy.zip_code = element.zip_code;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_verification=element.pharmacy_verification;\r\n \r\n pharmacyList[index] = pharmacy;\r\n });\r\n this.setState({ records: pharmacyList });\r\n })\r\n .catch(() => { });\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n};\r\n render() {\r\n const { headerinfo,adverdisement } = this.state;\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n const { pharmacyData, errors, formSuccess, tableSuccess, hospitaltimeout, searchErrorMessage,searchTableSuccess,loading } = this.state;\r\n return (\r\n\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n

    Sales Invoice

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

    GST Tax Invoice

    \r\n
    \r\n\r\n
    \r\n \r\n

    GSTIN:{this.state.gstin}

    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Bill No:{this.props.location.state.bill_no}

    \r\n

    Bill Date:{formatDate(this.props.location.state.bill_date)}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Pharmacy\r\n
    \r\n

    \r\n {this.state.pharmacy_name}\r\n

    \r\n
    \r\n {this.state.pharmacyaddress}\r\n
    \r\n {/*
    Phone No: {headerinfo.phone_no}
    */}\r\n
    Mobile No:{this.props.userdata.phone_number}
    \r\n
    Email ID:{this.props.userdata.email}
    \r\n
    DL No:{this.state.druglicence1},{this.state.druglicence2},{this.state.druglicence3}
    \r\n
    FSSAI No: {this.state.foodLicense}
    \r\n
    \r\n {headerinfo.languages_known}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Customer Name:{this.props.location.state.customer_name}

    \r\n

    Address: {this.props.location.state.customer_address}

    \r\n

    food licence: {this.props.location.state.food_licence}

    \r\n

    drug licence: {this.props.location.state.drug_licence1}, {this.props.location.state.drug_licence2}, {this.props.location.state.drug_licence3}

    \r\n {/*

    Doctor Name: {this.props.location.state.doctor_name}

    \r\n

    Doctor Reg. No: {this.props.location.state.doctorreg_no}

    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n\r\n {/* */}\r\n \r\n \r\n \r\n Sub Total\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.sub_total\r\n }{\" \"}\r\n \r\n \r\n \r\n\r\n \r\n \r\n GST Amount\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.gstAmt\r\n }{\" \"}\r\n \r\n \r\n \r\n\r\n \r\n \r\n Discount Amount\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.discAmt\r\n }{\" \"}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Round off (+/-)\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.rounddiff\r\n }{\" \"}\r\n \r\n \r\n\r\n {/* \r\n \r\n Bill Amount\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.total\r\n }{\" \"}\r\n \r\n */}\r\n \r\n \r\n Bill Amount\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.roundtotal\r\n }{\" \"}\r\n \r\n \r\n \r\n \r\n {/* */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Amount (in Words)\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.totalAmtWords\r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n \r\n \r\n \r\n 5%\r\n \r\n \r\n {this.props.location.state.sub_total5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt5.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {this.props.location.state.sub_total12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt12.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.props.location.state.sub_total18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt18.toFixed(2)}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Terms and Conditions
    \r\n
      \r\n
    • Goods once sold will not be taken back or exchanged.
    • \r\n
    • All disputes subject to Chennai Jurisdiction only.
    • \r\n
    \r\n
    \r\n \r\n
    \r\n
    For {this.state.pharmacy_name} Pharmacy
    \r\n
      \r\n
    • Authorized Signature
    • \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n \r\n\r\n {/* \r\n Finish\r\n */}\r\n \r\n \r\n \r\n
    \r\n {/* \r\n Back\r\n \r\n */}\r\n \r\n Print\r\n \r\n \r\n Back\r\n \r\n {/* \r\n Finish\r\n */}\r\n
    \r\n
    \r\n E. & O.E.\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/*
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n

    * All the address marked in red are not verified

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    Import Pharmacy List
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    */}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n{/* \r\n \r\n */}\r\n {/*
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    */}\r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(SaleNvoiceb2b));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React from 'react';\r\nimport { Modal, Button, ListGroup } from 'react-bootstrap';\r\nimport Form from 'react-bootstrap/Form';\r\nimport PropTypes from 'prop-types';\r\nimport Dnaspinner from \"../components/UI/Dnaspinner\";\r\nclass PurchaseReturnSelectModal extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedBatches: [], // State to track the selected batches\r\n selectedExpdates:[],\r\n selectedQuantities:[],\r\n selectedPrates:[],\r\n selectedMRPs:[],\r\n selectedSubtotals:[],\r\n selectedTotals:[],\r\n loading:true,\r\n };\r\n }\r\n\r\n/* handleCheckboxChange = (event, exp_date) => {\r\n const { id, checked } = event.target;\r\n this.setState((prevState) => {\r\n console.log(prevState);\r\n if (checked) {\r\n // Add the batch_no to selectedBatches and exp_date to selectedExpdates if checked\r\n return {\r\n selectedBatches: [...prevState.selectedBatches, id],\r\n selectedExpdates: [...prevState.selectedExpdates, exp_date] // Correctly update selectedExpdates\r\n };\r\n } else {\r\n // Remove the batch_no from selectedBatches and corresponding exp_date from selectedExpdates if unchecked\r\n return {\r\n selectedBatches: prevState.selectedBatches.filter(batch_no => batch_no !== id),\r\n selectedExpdates: prevState.selectedExpdates.filter(date => date !== exp_date) // Remove corresponding exp_date\r\n };\r\n }\r\n }, () => {\r\n console.log(this.state.selectedBatches);\r\n console.log(this.state.selectedExpdates); // Log selectedExpdates for debugging\r\n \r\n // Call the selectBatch function passed as a prop with the updated selectedBatches\r\n this.props.selectBatch(this.state.selectedBatches,this.state.selectedExpdates);\r\n \r\n });\r\n \r\n}; */\r\nhandleCheckboxChange = (event, exp_date, quantity,p_rate,mrp,sub_total,total) => {\r\n const { id, checked } = event.target; // Destructure id and checked from the event target\r\n this.setState((prevState) => {\r\n let newSelectedBatches = prevState.selectedBatches;\r\n let newSelectedExpdates = prevState.selectedExpdates;\r\n let newSelectedQuantities = prevState.selectedQuantities;\r\n let newSelectedPrates = prevState.selectedPrates;\r\n let newSelectedMRPs = prevState.selectedMRPs;\r\n let newSelectedSubtotals = prevState.selectedSubtotals;\r\n let newSelectedTotals = prevState.selectedTotals;\r\n if (checked) {\r\n // If checked, add the new values\r\n newSelectedBatches = [...prevState.selectedBatches, id];\r\n newSelectedExpdates = [...prevState.selectedExpdates, exp_date];\r\n newSelectedQuantities = [...prevState.selectedQuantities, quantity]; // Use the passed quantity\r\n newSelectedPrates=[...prevState.selectedPrates,p_rate];\r\n newSelectedMRPs=[...prevState.selectedMRPs,mrp];\r\n newSelectedSubtotals=[...prevState.selectedSubtotals,sub_total];\r\n newSelectedTotals=[...prevState.selectedTotals,total];\r\n } else {\r\n // If unchecked, remove the values\r\n newSelectedBatches = prevState.selectedBatches.filter(batch_no => batch_no !== id);\r\n newSelectedExpdates = prevState.selectedExpdates.filter(date => date !== exp_date);\r\n newSelectedQuantities = prevState.selectedQuantities.filter(qty => qty !== quantity); // Use the passed quantity\r\n newSelectedPrates = prevState.selectedPrates.filter(prate => prate !== p_rate); \r\n newSelectedMRPs = prevState.selectedMRPs.filter(mp => mp !== mrp); \r\n newSelectedSubtotals = prevState.selectedSubtotals.filter(subtotal => subtotal !== sub_total); \r\n newSelectedTotals = prevState.selectedTotals.filter(tot => tot !== total); \r\n }\r\n\r\n console.log(\"Selected Batches:\", newSelectedBatches);\r\n console.log(\"Selected Expdates:\", newSelectedExpdates);\r\n console.log(\"Selected Quantities:\", newSelectedQuantities); // Log the selected quantities\r\n\r\n return {\r\n selectedBatches: newSelectedBatches,\r\n selectedExpdates: newSelectedExpdates,\r\n selectedQuantities: newSelectedQuantities,\r\n selectedPrates:newSelectedPrates,\r\n selectedMRPs:newSelectedMRPs,\r\n selectedSubtotals:newSelectedSubtotals,\r\n selectedTotals:newSelectedTotals\r\n };\r\n }, () => {\r\n console.log(\"Final Selected Batches:\", this.state.selectedBatches);\r\n console.log(\"Final Selected Expdates:\", this.state.selectedExpdates);\r\n console.log(\"Final Selected Quantities:\", this.state.selectedQuantities); // Log the final selected quantities\r\n\r\n // Call the selectBatch function passed as a prop with the updated selected values\r\n this.props.selectBatch(this.state.selectedBatches, this.state.selectedExpdates, this.state.selectedQuantities,this.state.selectedPrates,this.state.selectedMRPs,this.state.selectedSubtotals,this.state.selectedTotals);\r\n });\r\n};\r\n\r\nhandleBatchCheck = (batchNo) => {\r\n this.setState(prevState => {\r\n const selectedBatches = prevState.selectedBatches.includes(batchNo)\r\n ? prevState.selectedBatches.filter(b => b !== batchNo) // Uncheck if already checked\r\n : [...prevState.selectedBatches, batchNo]; // Check if not checked\r\n return { selectedBatches };\r\n });\r\n};\r\n\r\n\r\n\r\n render() {\r\n const { show, handleBatchClose, batches,handleSelectBatchClick,loading } = this.props;\r\n const { selectedBatches } = this.state;\r\n\r\n return (\r\n \r\n \r\n Select Batches\r\n \r\n \r\n

    Batch Number _ Expiry Date _ Quantity

    \r\n {loading ? (\r\n // Show the spinner while loading\r\n ) : (\r\n \r\n {batches.map(batch => (\r\n \r\n this.handleCheckboxChange(event, batch.exp_date,batch.quantity,batch.p_rate,batch.mrp,batch.sub_total,batch.total)} \r\n />\r\n \r\n \r\n \r\n ))}\r\n \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\n// PropTypes for validation\r\nPurchaseReturnSelectModal.propTypes = {\r\n show: PropTypes.bool.isRequired,\r\n handleBatchClose: PropTypes.func.isRequired,\r\n batches: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n batch_no: PropTypes.string.isRequired,\r\n exp_date: PropTypes.string.isRequired, // Assuming exp_date is a string in ISO format\r\n })\r\n ).isRequired,\r\n selectBatch: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default PurchaseReturnSelectModal;","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getPharmacyList,\r\n getAllPharmacyDrugs,\r\n getAllPharmacyItemList,\r\n getAllPharmacyVendorList,\r\n addPharmacy,\r\n addVendor,\r\n addPurchaseReturnData,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail,\r\n openingstockimport,\r\n getBatchandExpDateBydrugname,\r\n getalldetailsBygenericnameandbatchno,\r\n getvendorshortdetailsbyVendorname\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport OpeningStockTemplate from \"./OpeningStockTemplate\";\r\nimport { Link } from 'react-router-dom';\r\nimport PurchaseReturnSelectModal from \"./PurchaseReturnSelectModal\";\r\nvar converter = require(\"number-to-words\");\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n drug_id: \"\",\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n manu_date: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n quantity: \"\",\r\n free: \"\",\r\n p_rate: \"\",\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n\r\n};\r\nclass PurchaseReturnVoucher extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n showModel: false,\r\n selectedBatches: [],\r\n currentBatchinrow: null,\r\n currentRow: null,\r\n discountPercentage: '',\r\n batches: [],\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n purchaseEntryVoucher: {\r\n drug_name: \"\",\r\n // defaultEnterSize: 20,\r\n records: [],\r\n supplies: [],\r\n },\r\n\r\n purchaseReturnData:\r\n {\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n purchasereturn_no: \"\",\r\n dn_date: new Date(),\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n mode: \"\"\r\n\r\n },\r\n OpeningStockData: {\r\n drug_id: \"\",\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n manu_date: \"\",\r\n exp_date: \"\",\r\n quantity: \"\",\r\n p_rate: \"\",\r\n mrp: \"\",\r\n sub_total: 0,\r\n total: 0,\r\n transaction_type: \"\",\r\n transaction_date: \"\",\r\n vendor_name: \"\",\r\n customer_name: \"\",\r\n notes: \"\"\r\n },\r\n totalAmtSec: {\r\n\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n gstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n totalAmtWords: \"\",\r\n },\r\n /* totalAmtSec: {\r\n\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n gstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n totalAmtWords: \"\",\r\n taxrate: 0,\r\n }, */\r\n totalTaxAmtSec: {\r\n cgstAmt5: 0,\r\n sgstAmt5: 0,\r\n igstAmt5: 0,\r\n sub_total5: 0,\r\n taxAmt5: 0,\r\n cgstAmt12: 0,\r\n sgstAmt12: 0,\r\n igstAmt12: 0,\r\n sub_total12: 0,\r\n taxAmt12: 0,\r\n cgstAmt18: 0,\r\n sgstAmt18: 0,\r\n igstAmt18: 0,\r\n sub_total18: 0,\r\n taxAmt18: 0,\r\n sub_total: {\r\n 5: 0, // Taxable amount for 5%\r\n 12: 0, // Taxable amount for 12%\r\n 18: 0, // Taxable amount for 18%\r\n },\r\n cgstAmt: {\r\n 5: 0, // CGST amount for 5%\r\n 12: 0, // CGST amount for 12%\r\n 18: 0, // CGST amount for 18%\r\n },\r\n sgstAmt: {\r\n 5: 0, // SGST amount for 5%\r\n 12: 0, // SGST amount for 12%\r\n 18: 0, // SGST amount for 18%\r\n },\r\n igstAmt: {\r\n 5: 0, // SGST amount for 5%\r\n 12: 0, // SGST amount for 12%\r\n 18: 0, // SGST amount for 18%\r\n },\r\n total: {\r\n 5: 0, // Total amount for 5%\r\n 12: 0, // Total amount for 12%\r\n 18: 0, // Total amount for 18%\r\n },\r\n },\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n voucher_no: \"\",\r\n voucher_date: \"\",\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n poref_no: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '450px',\r\n cell: (row, index) => {\r\n let obj = {\r\n label: record.generic_name,\r\n value: record.generic_name,\r\n };\r\n return (\r\n option.label === row.generic_name)}\r\n onChange={this.handleselectChange(index, 'generic_name')}\r\n options={this.state.supplies}\r\n\r\n />\r\n\r\n );\r\n },\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => row.pack\r\n },\r\n\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => (\r\n
    \r\n {row.generic_name ? (\r\n row.batch_no ? (\r\n row.batch_no\r\n ) : (\r\n this.handleShow(index)}>Select Batch\r\n )\r\n ) : null}\r\n
    \r\n ),\r\n },\r\n\r\n /* {\r\n key: \"manu_date\",\r\n text: \"Mfg.Date\",\r\n className: \"manu_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n }, */\r\n {\r\n key: \"exp_date\",\r\n text:\"Exp. Date\",\r\n className: \"exp_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n /* {\r\n key: \"free\",\r\n text: \"Free\",\r\n className: \"free\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n }, */\r\n {\r\n key: \"p_rate\",\r\n text: \"P.Rate\",\r\n className: \"p_rate\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n\r\n },\r\n {\r\n key: \"disc\",\r\n text: \"Disc%\",\r\n className: \"disc\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n\r\n },\r\n {\r\n key: \"sub_total\",\r\n text: \"Sub Total\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.sub_total\r\n },\r\n\r\n {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.cgst\r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.sgst\r\n },\r\n {\r\n key: \"igst\",\r\n text: \"IGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.igst\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n right: true,\r\n width: 200,\r\n cell: (row, index) => row.total\r\n },\r\n ];\r\n this.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchcolumns = [\r\n\r\n {\r\n key: \"pharmacy_id\",\r\n text: \"Pharmacy ID\",\r\n className: \"searchpharmacy_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Address\",\r\n className: \"pharmacy_location\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData, errors });\r\n };\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n /* \r\n handleInput =(index,record) => {\r\n console.log(e);\r\n console.log(index);\r\n console.log(record);\r\n record[e.target.name] = e.target.value;\r\n }; */\r\n\r\n handleAdd = (e) => {\r\n let data = this.state.purchaseReturnData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n name === \"vendor_name\" ||\r\n name === \"address\" ||\r\n name === \"created_by\" ||\r\n name === \"remarks\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ purchaseReturnData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n handleInput = (index, field) => (event) => {\r\n const { value } = event.target;\r\n const records = [...this.state.records]; // Create a copy of the records\r\n records[index][field] = value; // Update the specific field for the specific index\r\n // console.log(value);\r\n // console.log(index,field);\r\n console.log(records);\r\n this.setState({ records }); // Update the state with the new records\r\n };\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n purchaseReturnData: {\r\n ...prevState.purchaseReturnData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n handleInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n });\r\n };\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].sub_total = quantity * (p_rate - ((disc / 100) * p_rate));\r\n\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateTotal(index);\r\n this.calculateDiscountAmount(index);\r\n this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n });\r\n };\r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let igst = updatedData[index].igst || 0;\r\n updatedData[index].total = sub_total + ((igst / 100) * sub_total);\r\n console.log(igst);\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n \r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = ((quantity * p_rate) * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n // calculategstAmount = (index) => {\r\n // let updatedData = [...this.state.records];\r\n // let igstAmt = updatedData[index].igstAmt;\r\n // let cgstAmt = updatedData[index].cgstAmt;\r\n // let sgstAmt = updatedData[index].sgstAmt;\r\n // updatedData[index].gstAmt = igstAmt+cgstAmt+sgstAmt;\r\n // this.setState({ records: updatedData }, () => {\r\n // this.calculateSection();\r\n // this.calculateTaxAmountSection();\r\n // });\r\n // };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n \r\n handleShow = (index) => {\r\n const currentRecord = this.state.records[index];\r\n console.log(currentRecord);\r\n console.log(\"curent index\", index);\r\n console.log(this.state.selectedBatches);\r\n\r\n // Create the current batch object\r\n const currentBatchInRow = {\r\n batch_no: currentRecord.batch_no || 'Select Batch',\r\n exp_date: currentRecord.exp_date || 'N/A',\r\n };\r\n console.log(currentBatchInRow);\r\n\r\n // Determine the selectedBatch based on the existence of batch_no\r\n const selectedBatch = currentRecord.batch_no\r\n ? currentBatchInRow // If batch_no exists, use currentBatchInRow\r\n : { batch_no: 'Select Batch', exp_date: 'N/A' }; // If not, use default\r\n\r\n // Set the current row index and selected batch in a single setState call\r\n this.setState({\r\n currentRow: index,\r\n selectedBatch: currentBatchInRow, // Set the selected batch based on the logic\r\n showModel: true,\r\n selectedBatches: [], // Show the modal\r\n //batches:[],\r\n });\r\n\r\n };\r\n selectBatch = (batches, expdates, quantities,prates,mrps,subtotals,totals,selectedIndex) => {\r\n const updatedRecords = [...this.state.records];\r\n const batcheslength = batches.length;\r\n console.log(\"Selected Index:\", selectedIndex);\r\n console.log(\"Batches:\", batches);\r\n console.log(\"Quantities:\", quantities);\r\n console.log(\"prates:\", prates);\r\n console.log(\"old batch length\", batcheslength);\r\n console.log(\"New batches length\", batches.length);\r\n console.log(\"First Record:\", updatedRecords[0]);\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n \r\n const drug_id = updatedRecords[this.state.currentRow]?.drug_id;\r\n const drugNameToSet = updatedRecords[this.state.currentRow]?.generic_name;\r\n const packToSet = updatedRecords[this.state.currentRow]?.pack;\r\n const storagebin = updatedRecords[this.state.currentRow]?.storage_bin;\r\n const mrp = updatedRecords[this.state.currentRow]?.mrp;\r\n const cgst = updatedRecords[this.state.currentRow]?.cgst;\r\n const sgst = updatedRecords[this.state.currentRow]?.sgst;\r\n const p_rate = updatedRecords[this.state.currentRow]?.p_rate;\r\n const sub_total = updatedRecords[this.state.currentRow]?.sub_total;\r\n const total = updatedRecords[this.state.currentRow]?.total;\r\n const hsn_code = updatedRecords[this.state.currentRow]?.hsn_code;\r\n const conversion_factor = updatedRecords[this.state.currentRow]?.conversion_factor;\r\n console.log(\"Drug Name to Set:\", drugNameToSet);\r\n\r\n\r\n if (this.state.currentRow === 0) {\r\n // const batch_no=updatedRecords[this.state.currentRow]?.batch_no;\r\n // Loop through each selected batch and update the corresponding row\r\n batches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id: drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor: conversion_factor,\r\n p_rate:p_rate,\r\n sub_total:sub_total,\r\n total:total,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n // this.getalldetailsBygenericnameandbatchno(index,drugNameToSet,batch,new Date());\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n \r\n }\r\n });\r\n\r\n expdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n quantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n prates.forEach((p_rate, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].p_rate = p_rate;\r\n console.log(\"Updated Record with prate:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n mrps.forEach((mrp, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].mrp = mrp;\r\n console.log(\"Updated Record with prate:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n subtotals.forEach((sub_total, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].sub_total = sub_total;\r\n console.log(\"Updated Record with prate:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n totals.forEach((total, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].total = total;\r\n console.log(\"Updated Record with prate:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n }\r\n else {\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const updatedbatches = this.deleteElementsUpToIndex(batches, this.state.currentRow);\r\n updatedbatches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id: drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor: conversion_factor,\r\n p_rate:p_rate,\r\n sub_total:sub_total,\r\n total:total,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n const updatedexpdates = this.deleteElementsUpToIndex(expdates, this.state.currentRow);\r\n updatedexpdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedquantities = this.deleteElementsUpToIndex(quantities, this.state.currentRow);\r\n\r\n updatedquantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedprates = this.deleteElementsUpToIndex(prates, this.state.currentRow);\r\n\r\n updatedprates.forEach((p_rate, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].p_rate = p_rate;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedmrps = this.deleteElementsUpToIndex(mrps, this.state.currentRow);\r\n updatedmrps.forEach((mrp, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].mrp = mrp;\r\n console.log(\"Updated Record with mrp:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedsubtotals = this.deleteElementsUpToIndex(subtotals, this.state.currentRow);\r\n updatedsubtotals.forEach((sub_total, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].sub_total = sub_total;\r\n console.log(\"Updated Record with sub_total:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedtotals = this.deleteElementsUpToIndex(totals, this.state.currentRow);\r\n updatedtotals.forEach((total, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].total = total;\r\n console.log(\"Updated Record with total:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n }\r\n\r\n this.setState({ records: updatedRecords }, () => {\r\n console.log('Updated Records after Set State:', this.state.records);\r\n this.calculateTaxAmountSection();\r\n this.setState({ selectedBatches: [], selectedExpdates: [], selectedQuantities: [] });\r\n });\r\n };\r\n calculateTaxAmountSection = () => {\r\n let records = this.state.records;\r\n let totalTaxAmtSec = { ...this.state.totalTaxAmtSec };\r\n \r\n // Initialize tax amounts and totals for each tax rate\r\n let taxSummary = {\r\n 5: { cgstAmt: 0.0, sgstAmt: 0.0, igstAmt:0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 12: { cgstAmt: 0.0, sgstAmt: 0.0,igstAmt:0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 18: { cgstAmt: 0.0, sgstAmt: 0.0,igstAmt:0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n };\r\n \r\n \r\n records.forEach((data) => {\r\n const taxRate = data.taxrate||data.igst;\r\n console.log(\"tax rate\",taxRate);\r\n \r\n if (taxSummary[taxRate]) {\r\n console.log(\"Current Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n \r\n taxSummary[taxRate].cgstAmt += Number(data.cgstAmt) || 0;\r\n taxSummary[taxRate].sgstAmt += Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].igstAmt += Number(data.igstAmt) || 0;\r\n taxSummary[taxRate].taxAmt += Number(data.cgstAmt) + Number(data.sgstAmt) + Number(data.igstAmt)|| 0;\r\n taxSummary[taxRate].sub_total += Number(data.sub_total) || 0;\r\n \r\n console.log(\"Updated Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n }\r\n });\r\n \r\n // Ensure totalTaxAmtSec has the necessary properties initialized\r\n totalTaxAmtSec = {\r\n cgstAmt5: totalTaxAmtSec.cgstAmt5 || 0,\r\n sgstAmt5: totalTaxAmtSec.sgstAmt5 || 0,\r\n igstAmt5: totalTaxAmtSec.igstAmt5 || 0,\r\n taxAmt5: totalTaxAmtSec.taxAmt5 || 0,\r\n sub_total5: totalTaxAmtSec.sub_total5 || 0,\r\n cgstAmt12: totalTaxAmtSec.cgstAmt12 || 0,\r\n sgstAmt12: totalTaxAmtSec.sgstAmt12 || 0,\r\n igstAmt12: totalTaxAmtSec.igstAmt12 || 0,\r\n taxAmt12: totalTaxAmtSec.taxAmt12 || 0,\r\n sub_total12: totalTaxAmtSec.sub_total12 || 0,\r\n cgstAmt18: totalTaxAmtSec.cgstAmt18 || 0,\r\n sgstAmt18: totalTaxAmtSec.sgstAmt18 || 0,\r\n igstAmt12: totalTaxAmtSec.igstAmt12 || 0,\r\n taxAmt18: totalTaxAmtSec.taxAmt18 || 0,\r\n sub_total18: totalTaxAmtSec.sub_total18 || 0,\r\n };\r\n \r\n \r\n \r\n // Update the totalTaxAmtSec object with calculated values\r\n totalTaxAmtSec.cgstAmt5 = taxSummary[5].cgstAmt;\r\n totalTaxAmtSec.sgstAmt5 = taxSummary[5].sgstAmt;\r\n totalTaxAmtSec.igstAmt5 = taxSummary[5].igstAmt;\r\n totalTaxAmtSec.taxAmt5 = taxSummary[5].taxAmt;\r\n totalTaxAmtSec.sub_total5 = taxSummary[5].sub_total;\r\n \r\n totalTaxAmtSec.cgstAmt12 = taxSummary[12].cgstAmt;\r\n totalTaxAmtSec.sgstAmt12 = taxSummary[12].sgstAmt;\r\n totalTaxAmtSec.igstAmt12 = taxSummary[12].igstAmt;\r\n totalTaxAmtSec.taxAmt12 = taxSummary[12].taxAmt;\r\n totalTaxAmtSec.sub_total12 = taxSummary[12].sub_total;\r\n \r\n totalTaxAmtSec.cgstAmt18 = taxSummary[18].cgstAmt;\r\n totalTaxAmtSec.sgstAmt18 = taxSummary[18].sgstAmt;\r\n totalTaxAmtSec.igstAmt18 = taxSummary[18].igstAmt;\r\n totalTaxAmtSec.taxAmt18 = taxSummary[18].taxAmt;\r\n totalTaxAmtSec.sub_total18 = taxSummary[18].sub_total;\r\n \r\n console.log(\"Final Total Tax Amount Section:\", totalTaxAmtSec);\r\n \r\n // Update the state with the new total tax amounts\r\n this.setState({ totalTaxAmtSec });\r\n };\r\n clearBatches = () => {\r\n this.setState({\r\n \r\n selectedBatches: [],\r\n }, () => {\r\n console.log(\"Batches and selected batches cleared.\");\r\n });\r\n };\r\n handleBatchClose = () => {\r\n this.clearBatches(); // Clear batches when modal is closed\r\n this.setState({ showModel: false });\r\n };\r\n clearErrors = (errors) => {\r\n\r\n\r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no = \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n\r\n let data = this.state.purchaseEntryData;\r\n\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n purchaseEntryData: data, actions: \"add\", voucher_no: \"\", errors: errors, searchErrorMessage: \"\", records: [],\r\n search_action: false,\r\n totalAmtSec: {\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n\r\n },\r\n\r\n });\r\n }\r\n\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n /* calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let amt = 0.0;\r\n let taxAmt = 0.0;\r\n let taxVal = 0.0;\r\n let totalAmt = 0.0;\r\n let sub_total=0.0;\r\n console.log(records);\r\n \r\n records.map((data, i) => {\r\n if (undefined !== data.fee) {\r\n amt = Number(amt) + Number(data.fee);\r\n }\r\n if (undefined !== data.gst_amount) {\r\n taxAmt = Number(taxAmt) + Number(data.gst_amount);\r\n }\r\n if (undefined !== data.taxable_value) {\r\n taxVal = Number(taxVal) + Number(data.taxable_value);\r\n }\r\n if (undefined !== data.total_amount) {\r\n totalAmt = Number(totalAmt) + Number(data.total_amount);\r\n }\r\n if (undefined !== data.quantity) {\r\n sub_total = Number(data.quantity) * Number(data.p_rate);\r\n }\r\n });\r\n \r\n totalAmtSec.amt = amt;\r\n totalAmtSec.taxAmt = taxAmt;\r\n totalAmtSec.taxVal = taxVal;\r\n totalAmtSec.totalAmt = totalAmt;\r\n totalAmtSec.sub_total=sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(totalAmt)+\" rupees only\";\r\n this.setState({ totalAmtSec });\r\n \r\n console.log(totalAmtSec);\r\n }; \r\n */\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let igstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n let gstAmt = 0.0;\r\n let roundtotal = 0.0;\r\n let rounddiff = 0.0;\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n if (data.igstAmt !== undefined) {\r\n igstAmt += Number(data.igstAmt);\r\n }\r\n if (data.gstAmt !== undefined) {\r\n gstAmt += Number(data.gstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.igstAmt = igstAmt;\r\n totalAmtSec.gstAmt = Number(igstAmt)+Number(cgstAmt)+Number(sgstAmt);\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.roundtotal = Math.round(total);\r\n totalAmtSec.rounddiff = total - totalAmtSec.roundtotal;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n\r\n addPurchaseReturnData() {\r\n\r\n\r\n let { purchaseReturnData, errors } = this.state;\r\n purchaseReturnData.type = \"purchaseReturnData\";\r\n errors = Validation(purchaseReturnData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n vendor_name: purchaseReturnData.vendor_name.label,\r\n address: purchaseReturnData.address,\r\n created_by: purchaseReturnData.created_by,\r\n remarks: purchaseReturnData.remarks,\r\n dn_date: purchaseReturnData.dn_date,\r\n vendorinvoice_no: purchaseReturnData.vendorinvoice_no,\r\n records: this.state.records,\r\n subtotalAmount: this.state.totalAmtSec.sub_total.toFixed(2),\r\n totalAmount:this.state.totalAmtSec.total.toFixed(2),\r\n discountAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n cgstAmt: this.state.totalAmtSec.cgstAmt.toFixed(2),\r\n sgstAmt: this.state.totalAmtSec.sgstAmt.toFixed(2),\r\n igstAmt:this.state.totalAmtSec.igstAmt.toFixed(2),\r\n dn_type:'purchasereturn',\r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n\r\n axios\r\n\r\n .post(addPurchaseReturnData, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n editformSuccess: res,\r\n purchasereturn_no: res.data[0].purchasereturn_no\r\n });\r\n toast.success(\"The Purchase Return voucher have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Purchase Return voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n\r\n }\r\n }\r\n\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseReturnData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseReturnData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n purchaseReturnData,\r\n });\r\n }\r\n componentDidMount = () => {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n\r\n //set first record as consultation fee by default\r\n /* let consultation_fee_record = {};\r\n consultation_fee_record.s_no = 1;\r\n consultation_fee_record.description = \"Consultation Fee\";\r\n consultation_fee_record.fee = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n consultation_fee_record.disc = \"\";\r\n consultation_fee_record.taxable_value = \"\";\r\n consultation_fee_record.gst_rate = \"\";\r\n consultation_fee_record.gst_amount = \"\";\r\n consultation_fee_record.total_amount = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n */\r\n let records = [];\r\n // records.push(consultation_fee_record); \r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n\r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n\r\n }));\r\n\r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n });\r\n\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n \r\n\r\n\r\n\r\n };\r\n onDeleteClick(record) {\r\n\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n\r\n let userId = record.id;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deletePharmacy, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Pharmacy detail has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n }\r\n deleteElementsUpToIndex(array, index) {\r\n // Check if the index is valid\r\n if (index < 0 || index >= array.length) {\r\n console.error(\"Invalid index\");\r\n return array; // Return the original array if the index is invalid\r\n }\r\n \r\n // Return a new array starting from the specified index\r\n return array.slice(index);\r\n }\r\n onFileUpload = () => {\r\n\r\n if (this.state.OpeningStockData.length) {\r\n axios.post(openingstockimport, { data: this.state.OpeningStockData, user_id: this.props.userdata.id }).then((result) => {\r\n console.log(result);\r\n console.log(result.data.message);\r\n this.setState({ formSuccess: result.data.message, file: \"\", OpeningStockData: [] });\r\n if (result.data.status = '1') {\r\n toast.success(result.data.message, {\r\n className: \"toast-success\"\r\n });\r\n } else {\r\n toast.error(result.data.message, {\r\n className: \"toast-error\"\r\n });\r\n\r\n }\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n };\r\n formatDateForInput = (dateString) => {\r\n // Convert \"YYYY-MM-DD HH:mm:ss\" to \"YYYY-MM-DD\"\r\n return dateString.split(' ')[0]; // Extract just the date part\r\n };\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n \r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug,{user_id:this.props.userdata.id,drug_name:selectedOption.label}, CONFIG)\r\n .then((drugRespons) => {\r\n let ItemList = drugRespons.data.data;\r\n \r\n ItemList.forEach((element, index) => {\r\n ItemList.push({\r\n \r\n pack:element.pack,\r\n cgst: element.cgst,\r\n sgst:element.sgst,\r\n igst:element.igst\r\n \r\n });\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"s_no\", record.s_no);\r\n if (null != record) {\r\n \r\n records[recIndex].pack = element.unit_of_measure;\r\n records[recIndex].cgst = element.cgst + \" %\";\r\n records[recIndex].gst_amount =\r\n (record.tax_percentage / 100) * record.amount;\r\n records[recIndex].total_amount =\r\n Number(records[recIndex].fee) +\r\n Number(records[recIndex].gst_amount);\r\n } else {\r\n \r\n records[recIndex].fee = \"\";\r\n records[recIndex].gst_rate = \"\";\r\n records[recIndex].gst_amount = \"\";\r\n records[recIndex].total_amount = \"\";\r\n }\r\n \r\n console.log(recIndex);\r\n console.log(records.length - 1);\r\n if (recIndex === records.length - 1) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = records.length + 1;\r\n records.push(default_rec);\r\n }\r\n \r\n });\r\n \r\n })\r\n \r\n \r\n \r\n \r\n \r\n \r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getPharmacyShortDetail,{user_id:this.props.userdata.id}, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n \r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value:data.state\r\n \r\n });\r\n }).catch((e) => { });\r\n \r\n \r\n // Post request to fetch item details\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total:updatedData[index].quantity*(updatedData[index].p_rate-(updatedData[index].disc*updatedData[index].p_rate)),\r\n // gst_amount: (updatedData[index].tax_percentage / 100) * updatedData[index].amount,\r\n // total_amount: Number(updatedData[index].fee) + Number(updatedData[index].gst_amount)\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n \r\n if (response.data.status == \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(this.state.gst_state);\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total: updatedData[index].quantity * (updatedData[index].p_rate - (updatedData[index].disc * updatedData[index].p_rate)),\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n }; */\r\n\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n const drugNameToSet = selectedOption ? selectedOption.label : ''; // Get the selected drug name\r\n const batch_no=updatedData[index].batch_no?updatedData[index].batch_no:'';\r\n // Update the drug_name for the specific record\r\n updatedData[index].generic_name = drugNameToSet;\r\n \r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n console.log(updatedData[index][key])\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData, selectedBatches: [], batches: [] });\r\n \r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n \r\n \r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n this.getBatchandExpDateBydrugname(index, selectedOption,new Date());\r\n if(batch_no!=='')\r\n {\r\n this.getalldetailsBygenericnameandbatchno(index,selectedOption,batch_no,new Date());\r\n \r\n }\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n getalldetailsBygenericnameandbatchno = (index, selectedOption,batch_no) => {\r\n\r\n if (selectedOption != null) {\r\n this.setState({ batches: [] });\r\n let updatedData = [...this.state.records];\r\n let batch_no = updatedData[index].batch_no;\r\n let generic_name=updatedData[index].generic_name;\r\n axios.post(getalldetailsBygenericnameandbatchno, { generic_name: generic_name,batch_no:batch_no,specified_date: new Date() }, CONFIG)\r\n .then((drugResponse) => {\r\n // Ensure batches is always an array\r\n let batches = Array.isArray(drugResponse.data.data) ? drugResponse.data.data : [];\r\n console.log(\"Fetched batches: \", batches);\r\n this.setState({ batches, });\r\n })\r\n .catch(error => {\r\n console.error('Error fetching batch data:', error);\r\n this.setState({ batches: [],loading:false }); // Set to empty array on error\r\n });\r\n }\r\n }\r\n getBatchandExpDateBydrugname = (index, selectedOption) => {\r\n if (selectedOption != null) {\r\n this.setState({ batches: [] });\r\n axios.post(getBatchandExpDateBydrugname, { generic_name: selectedOption.label,specified_date: new Date() }, CONFIG)\r\n .then((drugResponse) => {\r\n // Ensure batches is always an array\r\n let batches = Array.isArray(drugResponse.data.data) ? drugResponse.data.data : [];\r\n console.log(\"Fetched batches: \", batches);\r\n this.setState({ batches, });\r\n })\r\n .catch(error => {\r\n console.error('Error fetching batch data:', error);\r\n this.setState({ batches: [],loading:false }); // Set to empty array on error\r\n });\r\n }\r\n }\r\n fetchItemDetails = (index, selectedOption) => {\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.generic_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data again\r\n let updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n drug_id: selectedOption.value,\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst : \"\",\r\n igst: this.state.State_value !== this.state.gst_state ? item.igst : \"\",\r\n sub_total: updatedData[index].quantity * updatedData[index].p_rate,\r\n hsn_code:item.hsn_code,\r\n conversion_factor:item.conversion_factor\r\n };\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n console.log(updatedData[index].quantity);\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n\r\n }\r\n this.setState({ record }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n };\r\n\r\n\r\n\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.purchaseReturnData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ purchaseReturnData: data, errors: errors });\r\n }\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ OpeningStockData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n\r\n\r\n handlevendorselectChange = async (selectedOptions, e) => {\r\n let data = this.state.purchaseReturnData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n\r\n this.setState({ purchaseReturnData: data, errors, searchErrorMessage: \"\" });\r\n\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id, vendor_name: selectedOptions.label }, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data = resdata.data[0];\r\n console.log(resdata);\r\n\r\n if (resdata.status == \"1\") {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state);\r\n });\r\n }\r\n\r\n }).catch((e) => { });\r\n\r\n axios\r\n .post(getvendorshortdetailsbyVendorname, { user_id: this.props.userdata.id,vendor_name:selectedOptions.label }, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data = resdata.data[0];\r\n \r\n \r\n \r\n if (resdata.status == \"1\")\r\n {\r\n \r\n let drug_licence1parsed=JSON.parse(data.drug_licence1);\r\n let drug_licence2parsed=JSON.parse(data.drug_licence2);\r\n let drug_licence3parsed=JSON.parse(data.drug_licence3);\r\n console.log(drug_licence1parsed);\r\n this.setState({\r\n gst_no:data.gst_no,\r\n drug_licence1:drug_licence1parsed.drug_licence1,\r\n drug_licence2:drug_licence2parsed.drug_licence2,\r\n drug_licence3:drug_licence3parsed.drug_licence3,\r\n\r\n });\r\n }\r\n }).catch((e) => { });\r\n\r\n\r\n\r\n\r\n }\r\n generate() {\r\n let { purchaseReturnData, errors } = this.state;\r\n purchaseReturnData.type = \"saleEntryData\";\r\n errors = Validation(purchaseReturnData, errors);\r\n this.setState({ errors: errors });\r\n \r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n patient_name: purchaseReturnData.patient_name || this.state.patient_name,\r\n address: purchaseReturnData.address || this.state.patient_address,\r\n remarks: purchaseReturnData.remarks,\r\n dn_date: purchaseReturnData.dn_date,\r\n created_by: purchaseReturnData.created_by,\r\n records: this.state.records\r\n };\r\n console.log(data);\r\n console.log(this.state.purchasereturn_no);\r\n console.log(this.state.purchaseReturnData.dn_date);\r\n console.log(this.state.drug_licence1);\r\n this.props.history.push({\r\n pathname: \"/purchasereturninvoice/\" + this.state.purchasereturn_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/purchasereturninvoice/\" + this.state.purchasereturn_no,\r\n state: {\r\n purchasereturn_no: this.state.purchasereturn_no,\r\n dn_date: this.state.purchaseReturnData.dn_date.toString(),\r\n vendor_name: this.state.purchaseReturnData.vendor_name.label,\r\n address: this.state.purchaseReturnData.address,\r\n sub_total: this.state.totalAmtSec.sub_total.toFixed(2),\r\n gst_no:this.state.gst_no,\r\n drug_licence1:this.state.drug_licence1,\r\n drug_licence2:this.state.drug_licence2,\r\n drug_licence3:this.state.drug_licence3,\r\n\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2), \r\n discAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n total: this.state.totalAmtSec.total.toFixed(2),\r\n totalAmtWords: this.state.totalAmtSec.totalAmtWords,\r\n roundtotal: this.state.totalAmtSec.roundtotal.toFixed(2),\r\n rounddiff: this.state.totalAmtSec.rounddiff.toFixed(2),\r\n sub_total5: this.state.totalTaxAmtSec.sub_total5,\r\n cgstAmt5: this.state.totalTaxAmtSec.cgstAmt5,\r\n sgstAmt5: this.state.totalTaxAmtSec.sgstAmt5,\r\n igstAmt5: this.state.totalTaxAmtSec.igstAmt5,\r\n taxAmt5: this.state.totalTaxAmtSec.taxAmt5,\r\n sub_total12: this.state.totalTaxAmtSec.sub_total12,\r\n cgstAmt12: this.state.totalTaxAmtSec.cgstAmt12,\r\n sgstAmt12: this.state.totalTaxAmtSec.sgstAmt12,\r\n igstAmt12: this.state.totalTaxAmtSec.igstAmt12,\r\n taxAmt12: this.state.totalTaxAmtSec.taxAmt12,\r\n sub_total18: this.state.totalTaxAmtSec.sub_total18,\r\n cgstAmt18: this.state.totalTaxAmtSec.cgstAmt18,\r\n sgstAmt18: this.state.totalTaxAmtSec.sgstAmt18,\r\n igstAmt18: this.state.totalTaxAmtSec.igstAmt18,\r\n taxAmt18: this.state.totalTaxAmtSec.taxAmt18, \r\n }\r\n });\r\n }\r\n }\r\n componentWillUnmount() { this._isMounted = false; }\r\n render() {\r\n\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n const { purchaseReturnData,batches,showModel, OpeningStockData, records, errors, formSuccess, tableSuccess, hospitaltimeout, mastervendorNames, gst_state, State_value, searchErrorMessage, searchTableSuccess, loading } = this.state;\r\n const formattedSubTotal12 = this.state.totalTaxAmtSec.sub_total12.toFixed(2);\r\n return (\r\n\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Purchase Return Voucher

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Purchase Return Voucher\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n {/*
    */}\r\n {/*
    \r\n
    */}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    )}\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(PurchaseReturnVoucher));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { formatDate } from \"../constants/config/data\";\r\nimport {\r\n getPharmacyList,\r\n getAllPurchaseReturnListbypurchaseReturnno,\r\n addPharmacy,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getPharmacyShortDetail,\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport logo from '../assets/images/logo.png';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\n\r\nclass PurchaseReturnInvoice extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n pharmacyData: {\r\n pharmacy_id: \"\",\r\n searchpharmacy_id: \"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n online_prescription_obj: { value: \"\", label: \"\" },\r\n online_prescription: \"\",\r\n pharmacy_verification: \"\"\r\n },\r\n headerinfo: {\r\n profile_name: \"\",\r\n qualification: \"\",\r\n specialization: \"\",\r\n work_place: \"\",\r\n id: \"\",\r\n languages_known: \"\",\r\n profile_percentage: \"\",\r\n rating: \"\",\r\n profile_img: \"\",\r\n profile_percentage_style: \"\",\r\n business_name: \"\",\r\n speciality_detail: \"\",\r\n address1: \"\",\r\n city: \"\",\r\n zip_code: \"\"\r\n\r\n },\r\n totalAmtSec: {\r\n amt: 0,\r\n taxVal: 0,\r\n taxAmt: 0,\r\n totalAmt: 0,\r\n totalAmtWords: \"\",\r\n },\r\n\r\n errors: {\r\n pharmacy_id: \"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n online_prescription: \"\",\r\n pharmacy_verification: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n }\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n\r\n {\r\n key: \"hsn_code\",\r\n text: \"HSN\",\r\n className: \"hsn_code\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"exp_date\",\r\n text: \"Exp.Dt\",\r\n className: \"exp_date\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n sortable: true,\r\n align: \"left\",\r\n\r\n },\r\n\r\n\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"p_rate\",\r\n text: \"P Rate\",\r\n className: \"p_rate\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cgst\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"sgst\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"igst\",\r\n text: \"IGST%\",\r\n className: \"igst\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"sub_total\",\r\n text: \"Amount\",\r\n className: \"sub_total\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n ];\r\n this.config = {\r\n page_size: 9,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n length_menu: [10, 20, 50],\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData, errors });\r\n };\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n let errors = this.state.errors;\r\n let { pharmacyData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n\r\n pharmacyData.pharmacy_location = place.formatted_address;\r\n pharmacyData.pharmacy_verification = \"Verified\";\r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n\r\n if (addressType === \"administrative_area_level_1\")\r\n pharmacyData.state = val;\r\n if (addressType === \"locality\")\r\n pharmacyData.city = val;\r\n if (addressType === \"country\") pharmacyData.country = val;\r\n\r\n pharmacyData.address = place.formatted_address;\r\n\r\n if (addressType === \"postal_code\") pharmacyData.zip_code = val;\r\n }\r\n }\r\n errors.city_error = \"\";\r\n errors.state_error = \"\";\r\n errors.country_error = \"\";\r\n errors.zip_code_error = \"\";\r\n errors.city = \"\";\r\n errors.state = \"\";\r\n errors.country = \"\";\r\n errors.zip_code = \"\";\r\n this.setState({\r\n pharmacyData, errors\r\n });\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n addRecord = (record) => {\r\n let formvalid = true;\r\n if (record.searchpharmacy_id === \"\") {\r\n record.pharmacyid_error = \"The Pharmacy ID field is required.\";\r\n formvalid = false;\r\n } else {\r\n record.pharmacyid_error = \"\";\r\n }\r\n\r\n\r\n let records = this.state.searchrecords;\r\n /* var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex] = record;\r\n this.setState({ searchrecords: records }); */\r\n if (formvalid) {\r\n this.setState({ drug_action: \"Add\" });\r\n //this.setState({ newDatatoAdd: record, loading: true });\r\n // this.addorupdateDrug();\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let selectedData = record;\r\n // console.log(selectedData); return false;\r\n let data = {};\r\n data.user_id = this.props.userdata.id;\r\n data.pharmacy_id = selectedData.searchpharmacy_id;\r\n data.pharmacy_name = selectedData.pharmacy_name;\r\n data.pharmacy_location = selectedData.pharmacy_location;\r\n data.address = selectedData.address;\r\n data.city = selectedData.city;\r\n data.country = selectedData.country;\r\n data.state = selectedData.state;\r\n data.zip_code = selectedData.zip_code;\r\n data.phone_number = selectedData.phone_number;\r\n data.email = selectedData.email;\r\n data.online_prescription = selectedData.online_prescription;\r\n // console.log(data);return false;\r\n axios\r\n .post(addPharmacy, data, CONFIG)\r\n .then((addPharmacyResponse) => {\r\n let res = addPharmacyResponse.data;\r\n\r\n if (res.status === \"1\") {\r\n toast.success(\"The Pharmacy details have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n let pharmacy = {};\r\n let records = this.state.records;\r\n pharmacy.s_no = this.state.records.length + 1;\r\n pharmacy.pharmacy_id = data.pharmacy_id;\r\n pharmacy.id = res.data[0].id;\r\n pharmacy.pharmacy_name = data.pharmacy_name;\r\n pharmacy.address = data.address;\r\n pharmacy.pharmacy_location = data.address;\r\n pharmacy.city = data.city;\r\n pharmacy.country = data.country;\r\n pharmacy.state = data.state;\r\n pharmacy.zip_code = data.zip_code;\r\n pharmacy.phone_number = data.phone_number;\r\n pharmacy.email = data.email;\r\n records.push(pharmacy);\r\n // this.setState({ searchrecords: records });\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getPharmacyList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let pharmacyList = list.data.data;\r\n pharmacyList.forEach((element, index) => {\r\n let pharmacy = {};\r\n pharmacy.s_no = index + 1;\r\n pharmacy.pharmacy_id = element.pharmacy_id;\r\n pharmacy.pharmacy_name = element.pharmacy_name;\r\n pharmacy.id = element.id;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_location = element.pharmacy_location;\r\n pharmacy.phone_number = element.phone_number;\r\n pharmacy.email = element.email;\r\n pharmacy.address = element.address;\r\n pharmacy.city = element.city;\r\n pharmacy.country = element.country;\r\n pharmacy.state = element.state;\r\n pharmacy.zip_code = element.zip_code;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_verification = element.pharmacy_verification;\r\n\r\n pharmacyList[index] = pharmacy;\r\n });\r\n\r\n this.setState({ records: pharmacyList });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n }\r\n else {\r\n toast.error(\"Pharmacy could not be added \", {\r\n className: \"toast-error\"\r\n });\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n })\r\n .catch(() => { });\r\n }\r\n };\r\n\r\n Printpage = () => {\r\n window.print();\r\n }\r\n\r\n\r\n\r\n clearErrors = (errors) => {\r\n\r\n errors.pharmacy_id = \"\"\r\n errors.pharmacy_name = \"\"\r\n errors.address = \"\"\r\n errors.phone_number = \"\"\r\n errors.email = \"\"\r\n errors.pharmacy_location = \"\"\r\n errors.city = \"\"\r\n errors.country = \"\"\r\n errors.state = \"\"\r\n errors.zip_code = \"\"\r\n errors.online_prescription = \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n let pharmacy_action = this.state.pharmacy_action;\r\n pharmacy_action = \"Add\";\r\n this.setState({ pharmacy_action });\r\n let data = this.state.pharmacyData;\r\n data.pharmacy_id = \"\"\r\n data.pharmacy_name = \"\"\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.online_prescription_obj = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.phone_number = \"\"\r\n data.email = \"\"\r\n data.pharmacy_location = \"\"\r\n data.city = \"\"\r\n data.country = \"\"\r\n data.state = \"\"\r\n data.zip_code = \"\"\r\n data.online_prescription = \"\"\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ pharmacyData: data, actions: \"add\", errors: errors, searchErrorMessage: \"\", searchrecords: [], search_action: false });\r\n }\r\n\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n editRecord(record) {\r\n let pharmacy_action = this.state.pharmacy_action;\r\n pharmacy_action = \"Edit\";\r\n this.setState({ pharmacy_action });\r\n let pharmacyData = this.state.pharmacyData;\r\n console.log(record)\r\n console.log(pharmacyData)\r\n pharmacyData.pharmacy_id = record.pharmacy_id;\r\n pharmacyData.pharmacy_name = record.pharmacy_name;\r\n pharmacyData.id = record.id;\r\n pharmacyData.user_id = record.user_id;\r\n\r\n pharmacyData.online_prescription_obj = {\r\n label: record.online_prescription,\r\n value: (\"Yes\" === record.online_prescription) ? 1 : 0\r\n }\r\n pharmacyData.address = record.pharmacy_location;\r\n pharmacyData.phone_number = record.phone_number;\r\n pharmacyData.email = record.email;\r\n pharmacyData.pharmacy_location = record.address;\r\n pharmacyData.city = record.city;\r\n pharmacyData.country = record.country;\r\n pharmacyData.state = record.state;\r\n pharmacyData.zip_code = record.zip_code;\r\n pharmacyData.online_prescription = record.online_prescription;\r\n pharmacyData.pharmacy_verification = record.pharmacy_verification;\r\n let errors = this.state.errors;\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ pharmacyData: pharmacyData, actions: \"edit\", errors: errors, editRecord: record });\r\n }\r\n componentDidMount = () => {\r\n\r\n /* console.log(this.props.location.state.bill_no);\r\n console.log(this.props.location.state.patient_address);\r\n console.log(this.props.location.state.patient_name);\r\n console.log(this.props.location.state.doctor_name); */\r\n this.autocomplete = new google.maps.places.Autocomplete(document.getElementById(\"address\"),{});\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n\r\n if (data.status == \"1\") {\r\n\r\n const foodlicence = data.data[0].food_licence;\r\n const foodlicenceparsed = JSON.parse(foodlicence);\r\n\r\n const druglicence1 = data.data[0].drug_licence1;\r\n const druglicence1parsed = JSON.parse(druglicence1);\r\n const druglicence2 = data.data[0].drug_licence2;\r\n const druglicence2parsed = JSON.parse(druglicence2);\r\n const druglicence3 = data.data[0].drug_licence3;\r\n const druglicence3parsed = JSON.parse(druglicence3);\r\n this.setState({\r\n avatar: data.data[0].avatar,\r\n pharmacyaddress: data.data[0].address1 + '-' + data.data[0].city + '-' + data.data[0].state + '-' + data.data[0].country + '-' + data.data[0].zip_code,\r\n pharmacy_name: data.data[0].pharmacy_name,\r\n gstin: data.data[0].gst_no,\r\n foodLicense: foodlicenceparsed.food_licence,\r\n druglicence1: druglicence1parsed.drug_licence1,\r\n druglicence2: druglicence2parsed.drug_licence2,\r\n druglicence3: druglicence3parsed.drug_licence3,\r\n });\r\n }\r\n\r\n\r\n console.log(this.state.avatar);\r\n console.log(this.state.pharmacyaddress);\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n let members = [];\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPurchaseReturnListbypurchaseReturnno, { purchasereturn_no: this.props.location.state.purchasereturn_no }, CONFIG)\r\n .then((list) => {\r\n let saleList = list.data.data;\r\n saleList.forEach((element, index) => {\r\n let sale = {};\r\n sale.s_no = index + 1;\r\n sale.generic_name = element.generic_name;\r\n sale.pack = element.pack;\r\n sale.id = element.id;\r\n sale.hsn_code = element.hsn_code;\r\n sale.batch_no = element.batch_no;\r\n sale.exp_date = formatDate(element.exp_date);\r\n sale.quantity = element.quantity;\r\n sale.mrp = element.mrp;\r\n sale.p_rate = element.p_rate;\r\n sale.cgst = element.cgst;\r\n sale.sgst = element.sgst;\r\n sale.igst = element.igst;\r\n sale.sub_total = element.sub_total;\r\n saleList[index] = sale;\r\n });\r\n\r\n this.setState({ records: saleList });\r\n })\r\n .catch((e) => { });\r\n\r\n };\r\n\r\n\r\n onDeleteClick(record) {\r\n\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n\r\n let userId = record.id;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deletePharmacy, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Pharmacy detail has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n }\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors\r\n errors.online_prescription = \"\"\r\n data[e.name] = selectedOptions;\r\n this.setState({ pharmacyData: data, errors });\r\n };\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ pharmacyData: data, errors: errors });\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.pharmacyData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors\r\n if (\r\n name === \"pharmacy_id\" ||\r\n name === \"pharmacy_name\" ||\r\n name === \"address\" ||\r\n name === \"city\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n }\r\n this.setState({ pharmacyData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n handleAddressInput = (e) => {\r\n let data = this.state.pharmacyData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors\r\n if (name === \"address\") {\r\n\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n }\r\n this.setState({ pharmacyData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n searchandshowPharmacy() {\r\n let pharmacyData = this.state.pharmacyData;\r\n console.log(pharmacyData);\r\n\r\n if (\r\n pharmacyData.pharmacy_name === \"\" && pharmacyData.address === \"\" && pharmacyData.city === \"\" && pharmacyData.country === \"\" && pharmacyData.state === \"\" && pharmacyData.zip_code === \"\" && pharmacyData.online_prescription_obj.label === \"\" && pharmacyData.email === \"\" && pharmacyData.phone_number === \"\"\r\n ) {\r\n\r\n this.setState({\r\n searchErrorMessage:\r\n \"Choose any one of the search filters other than Pharmacy ID.\",\r\n searchrecords: []\r\n });\r\n return;\r\n\r\n\r\n\r\n } else {\r\n this.setState({\r\n searchErrorMessage: \"\",\r\n });\r\n }\r\n let data = {};\r\n data.pharmacy_name = pharmacyData.pharmacy_name;\r\n data.address = pharmacyData.address;\r\n data.pharmacy_location = pharmacyData.pharmacy_location;\r\n data.city = pharmacyData.city;\r\n data.country = pharmacyData.country;\r\n data.state = pharmacyData.state;\r\n data.zip_code = pharmacyData.zip_code;\r\n data.phone_number = pharmacyData.phone_number;\r\n data.email = pharmacyData.email;\r\n data.online_prescription = pharmacyData.online_prescription_obj.label;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(searchPharmacy, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n let data = [];\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n // console.log(this.state.masterdrugmeasure[0]);\r\n records.forEach((element) => {\r\n console.log(element);\r\n data.push({\r\n pharmacy_id: \"\",\r\n pharmacy_name: element.pharmacy_name,\r\n address: element.address,\r\n city: element.city,\r\n country: element.country,\r\n state: element.state,\r\n zip_code: element.zip_code,\r\n phone_number: element.phone_number,\r\n email: element.email,\r\n online_prescription: element.online_prescription,\r\n pharmacy_location: element.pharmacy_location,\r\n pharmacy_name_error: \"\",\r\n address_error: \"\",\r\n city_error: \"\",\r\n country_error: \"\",\r\n state_error: \"\",\r\n zip_code_error: \"\",\r\n phone_number_error: \"\",\r\n });\r\n });\r\n\r\n this.setState({ searchrecords: data });\r\n this.setState({\r\n search_action: true,\r\n });\r\n } else {\r\n this.setState({ searchrecords: [], search_action: true });\r\n }\r\n });\r\n });\r\n }\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n onFileUpload = () => {\r\n\r\n if (this.state.pharmacyData.length) {\r\n axios.post(hospitalpharmacyimport, { data: this.state.pharmacyData, user_id: this.props.userdata.id }).then((result) => {\r\n console.log(result);\r\n this.setState({ formSuccess: result.data, file: \"\", pharmacyData: [] })\r\n axios\r\n .post(getPharmacyList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let pharmacyList = list.data.data;\r\n pharmacyList.forEach((element, index) => {\r\n let pharmacy = {};\r\n pharmacy.s_no = index + 1;\r\n pharmacy.pharmacy_id = element.pharmacy_id;\r\n pharmacy.pharmacy_name = element.pharmacy_name;\r\n pharmacy.id = element.id;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_location = element.pharmacy_location;\r\n pharmacy.phone_number = element.phone_number;\r\n pharmacy.email = element.email;\r\n pharmacy.address = element.address;\r\n pharmacy.city = element.city;\r\n pharmacy.country = element.country;\r\n pharmacy.state = element.state;\r\n pharmacy.zip_code = element.zip_code;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_verification = element.pharmacy_verification;\r\n\r\n pharmacyList[index] = pharmacy;\r\n });\r\n this.setState({ records: pharmacyList });\r\n })\r\n .catch(() => { });\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n };\r\n render() {\r\n const { headerinfo, adverdisement } = this.state;\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n const { pharmacyData, errors, formSuccess, tableSuccess, hospitaltimeout, searchErrorMessage, searchTableSuccess, loading } = this.state;\r\n return (\r\n\r\n
    \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n

    Sales Invoice

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

    Debit Note Invoice

    \r\n
    \r\n\r\n
    \r\n\r\n

    GSTIN:{this.state.gstin}

    \r\n
    \r\n\r\n
    \r\n
    \r\n

    DN No:{this.props.location.state.purchasereturn_no}

    \r\n

    DN Date:{formatDate(this.props.location.state.dn_date)}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Pharmacy\r\n
    \r\n

    \r\n {this.state.pharmacy_name}\r\n

    \r\n
    \r\n {this.state.pharmacyaddress}\r\n
    \r\n {/*
    Phone No: {headerinfo.phone_no}
    */}\r\n
    Mobile No:{this.props.userdata.phone_number}
    \r\n
    Email ID:{this.props.userdata.email}
    \r\n
    DL No:{this.state.druglicence1},{this.state.druglicence2},{this.state.druglicence3}
    \r\n
    FSSAI No: {this.state.foodLicense}
    \r\n
    \r\n {headerinfo.languages_known}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Vendor Name: {this.props.location.state.vendor_name}

    \r\n

    Address: {this.props.location.state.address}

    \r\n

    GST No: {this.props.location.state.gst_no}

    \r\n

    DL Nos: {this.props.location.state.drug_licence1}, {this.props.location.state.drug_licence2}, {this.props.location.state.drug_licence3}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n \r\n\r\n\r\n\r\n
    \r\n\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n Sub Total\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.sub_total\r\n }{\" \"}\r\n
    \r\n GST Amount\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.gstAmt\r\n }{\" \"}\r\n
    \r\n Discount Amount\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.discAmt\r\n }{\" \"}\r\n
    \r\n Round off (+/-)\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.rounddiff\r\n }{\" \"}\r\n
    \r\n Bill Amount\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.total\r\n }{\" \"}\r\n
    \r\n Bill Amount\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.roundtotal\r\n }{\" \"}\r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Amount (in Words)\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.totalAmtWords\r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n IGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n\r\n \r\n \r\n 5%\r\n \r\n \r\n {this.props.location.state.sub_total5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.igstAmt5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt5.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {this.props.location.state.sub_total12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.igstAmt12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt12.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.props.location.state.sub_total18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.igstAmt18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt18.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Terms and Conditions
    \r\n
      \r\n
    • Goods once sold will not be taken back or exchanged.
    • \r\n
    • All disputes subject to Chennai Jurisdiction only.
    • \r\n
    \r\n
    \r\n\r\n
    \r\n
    For {this.state.pharmacy_name} Pharmacy
    \r\n
      \r\n
    • Authorized Signature
    • \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n {/* \r\n Finish\r\n */}\r\n\r\n\r\n\r\n
    \r\n {/* \r\n Back\r\n \r\n */}\r\n \r\n Print\r\n \r\n {/* \r\n Finish\r\n */}\r\n
    \r\n
    \r\n E. & O.E.\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(PurchaseReturnInvoice));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getPharmacyList,\r\n getAllPharmacyDrugs,\r\n getAllPharmacyItemList,\r\n getAllPharmacyVendorList,\r\n addPharmacy,\r\n addVendor,\r\n addSaleReturnData,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n getBatchnobydrugnameandExpDate,\r\n getQuantityBygenericnameandbatchno,\r\n getBatchandExpDateBydrugname,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail,\r\n getclientbyphonenumber\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport QuantityPopupinfo from \"../components/UI/Quantitypopupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport \"../assets/css/mystyle.css\";\r\nimport * as moment from \"moment\";\r\nimport { Restaurant } from \"@material-ui/icons\";\r\nimport { Link } from 'react-router-dom';\r\nimport BatchSelectionModal from \"./BatchSelectModal\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n drug_id:\"\",\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n storage_bin: \"\",\r\n quantity: \"\",\r\n loose: \"\",\r\n cummulative_quantity:0,\r\n rate: 0,\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n discAmt: 0,\r\n taxrate: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n};\r\nclass SaleReturnVoucher extends Component {\r\n _isMounted = false;\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.searchData = {\r\n phone_number: \"\",\r\n error: \"\",\r\n };\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n showModel: false,\r\n selectedBatches: [],\r\n currentBatchinrow: null,\r\n currentRow: null,\r\n discountPercentage: '',\r\n batches: [],\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n searchData: this.searchData,\r\n add_btn: false,\r\n quantitypopup:false,\r\n popupMessage: '',\r\n voucher_type:'',\r\n purchaseEntryVoucher: {\r\n drug_name: \"\",\r\n // defaultEnterSize: 20,\r\n records: [],\r\n supplies: [],\r\n },\r\n\r\n saleReturnData:\r\n {\r\n phone_number: \"\",\r\n patient_name: \"\",\r\n address: \"\",\r\n remarks: \"\",\r\n bill_no: \"\",\r\n bill_date: new Date(),\r\n doctorreg_no: \"\",\r\n doctor_name: \"\",\r\n created_by: \"\",\r\n payment_mode: \"\",\r\n },\r\n\r\n totalAmtSec: {\r\n\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n gstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n totalAmtWords: \"\",\r\n taxrate: 0,\r\n },\r\n totalTaxAmtSec: {\r\n cgstAmt5: 0,\r\n sgstAmt5: 0,\r\n sub_total5: 0,\r\n taxAmt5: 0,\r\n cgstAmt12: 0,\r\n sgstAmt12: 0,\r\n sub_total12: 0,\r\n taxAmt12: 0,\r\n cgstAmt18: 0,\r\n sgstAmt18: 0,\r\n sub_total18: 0,\r\n taxAmt18: 0,\r\n sub_total: {\r\n 5: 0, // Taxable amount for 5%\r\n 12: 0, // Taxable amount for 12%\r\n 18: 0, // Taxable amount for 18%\r\n },\r\n cgstAmt: {\r\n 5: 0, // CGST amount for 5%\r\n 12: 0, // CGST amount for 12%\r\n 18: 0, // CGST amount for 18%\r\n },\r\n sgstAmt: {\r\n 5: 0, // SGST amount for 5%\r\n 12: 0, // SGST amount for 12%\r\n 18: 0, // SGST amount for 18%\r\n },\r\n total: {\r\n 5: 0, // Total amount for 5%\r\n 12: 0, // Total amount for 12%\r\n 18: 0, // Total amount for 18%\r\n },\r\n },\r\n /* taxRates: [\r\n {\r\n percentage: 5,\r\n taxableAmt: this.state.totalAmtSec.taxableAmt5, \r\n cgstAmt: this.state.totalAmtSec.cgstAmt5, \r\n sgstAmt: this.state.totalAmtSec.sgstAmt5, \r\n totalAmt: this.state.totalAmtSec.totalAmt5 \r\n },\r\n {\r\n percentage: 12,\r\n taxableAmt: this.state.totalAmtSec.taxableAmt12,\r\n cgstAmt: this.state.totalAmtSec.cgstAmt12, \r\n sgstAmt: this.state.totalAmtSec.sgstAmt12, \r\n totalAmt: this.state.totalAmtSec.totalAmt12 \r\n },\r\n {\r\n percentage: 18,\r\n taxableAmt: this.state.totalAmtSec.taxableAmt18, \r\n cgstAmt: this.state.totalAmtSec.cgstAmt18, \r\n sgstAmt: this.state.totalAmtSec.sgstAmt18, \r\n totalAmt: this.state.totalAmtSec.totalAmt18 \r\n }\r\n ], */\r\n\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n voucher_no: \"\",\r\n voucher_date: \"\",\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n poref_no: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n align: \"left\", // Set alignment to center\r\n sortable: true,\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n {index + 1} {/* Display the serial number based on the index */}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n
    \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '450px',\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n\r\n\r\n {row.generic_name && (row.batch_no !== '' || row.batch_no !== null) ? (\r\n\r\n row.generic_name\r\n\r\n ) : (\r\n option.label === row.generic_name)} // Ensure value is null if not found\r\n onChange={this.handleselectChange(index, 'generic_name')}\r\n options={this.state.supplies}\r\n />\r\n )}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => row.pack\r\n },\r\n\r\n /* {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width:'200px',\r\n cell: (row, index) => row.batch_no \r\n \r\n \r\n }, */\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => (\r\n
    \r\n {row.generic_name ? (\r\n row.batch_no ? (\r\n row.batch_no\r\n ) : (\r\n this.handleShow(index)}>Select Batch\r\n )\r\n ) : null}\r\n
    \r\n ),\r\n },\r\n {\r\n key: \"storage_bin\",\r\n text: \"Storage Bin\",\r\n className: \"storage_bin\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => row.storage_bin\r\n\r\n },\r\n\r\n /* {\r\n key: \"manu_date\",\r\n text: \"Mfg.Date\",\r\n className: \"manu_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n }, \r\n {\r\n key: \"exp_date\",\r\n text:\"Exp. Date\",\r\n className: \"exp_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n }, */\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"loose\",\r\n text: \"Loose\",\r\n className: \"loose\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.mrp\r\n\r\n\r\n },\r\n {\r\n key: \"rate\",\r\n text: \"Rate\",\r\n className: \"rate\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => row.rate.toFixed(2)\r\n },\r\n /* {\r\n key: \"cummulative_quantity\",\r\n text: \"cummulative_quantity\",\r\n className: \"cummulative_quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => row.cummulative_quantity.toFixed(2)\r\n }, */\r\n /* {\r\n key: \"disc\",\r\n text: \"Disc%\",\r\n className: \"disc\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n \r\n }, */\r\n {\r\n key: \"sub_total\",\r\n text: \"Amount\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.sub_total.toFixed(2)\r\n },\r\n\r\n\r\n /* {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.cgst \r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.sgst \r\n }, */\r\n /* {\r\n key: \"igst\",\r\n text: \"IGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.igst \r\n }, */\r\n /* {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n right: true,\r\n width:200,\r\n cell: (row, index) => row.total.toFixed(2) \r\n }, */\r\n ];\r\n this.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchcolumns = [\r\n\r\n {\r\n key: \"pharmacy_id\",\r\n text: \"Pharmacy ID\",\r\n className: \"searchpharmacy_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Address\",\r\n className: \"pharmacy_location\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.clearBatches = this.clearBatches.bind(this);\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData, errors });\r\n };\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n /* \r\n handleInput =(index,record) => {\r\n console.log(e);\r\n console.log(index);\r\n console.log(record);\r\n record[e.target.name] = e.target.value;\r\n }; */\r\n handlePhoneInput = (event) => {\r\n event.preventDefault();\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n data[event.target.name] = event.target.value\r\n .replace(/\\s/g, \"\")\r\n .replace(/[^0-9+]+/g, \"\");\r\n data.error = \"\";\r\n this.setState({ searchData: data, errors });\r\n };\r\n\r\n handleAdd = (e) => {\r\n let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n\r\n name === \"patient_name\" ||\r\n name === \"address\" ||\r\n name === \"created_by\" ||\r\n name === \"remarks\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ saleReturnData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n handleInput = (index, field) => (event) => {\r\n const { value } = event.target;\r\n const records = [...this.state.records]; // Create a copy of the records\r\n records[index][field] = value; // Update the specific field for the specific index\r\n // console.log(value);\r\n // console.log(index,field);\r\n console.log(records);\r\n this.setState({ records }); // Update the state with the new records\r\n };\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n saleReturnData: {\r\n ...prevState.saleReturnData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n\r\n SalesB2B = () => {\r\n this.props.history.push(\"/salereturnvoucherb2b/\");\r\n }\r\n\r\n SearchPatient = () => {\r\n // event.preventDefault();\r\n\r\n let searchData = this.state.searchData;\r\n if (searchData.phone_number === \"\") {\r\n searchData.error = \"Phone number is required\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n if (searchData.phone_number.length !== 10) {\r\n searchData.error = \"Enter a valid phone number\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n\r\n\r\n if (searchData.phone_number !== \"\" && searchData.phone_number.length === 10) {\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n getclientbyphonenumber,\r\n { phone_number: searchData.phone_number },\r\n CONFIG\r\n )\r\n .then((result) => {\r\n this.setState({ loading: false });\r\n\r\n if (result.data.status === \"1\") {\r\n let data = result.data.client;\r\n\r\n console.log(data);\r\n\r\n let patient_name = data.first_name + ' ' + data.last_name;\r\n let patient_address = data.address1 + ',' + data.city + ',' + data.state + ',' + data.country + '-' + data.zip_code;\r\n\r\n console.log(patient_name);\r\n console.log(patient_address);\r\n this.setState({\r\n clientData: data,\r\n patient_name: patient_name,\r\n patient_address: patient_address,\r\n add_btn: true,\r\n\r\n });\r\n\r\n\r\n } else {\r\n\r\n let formSuccess = {\r\n message: \"No Client Found\",\r\n status: \"0\",\r\n };\r\n searchData.error = result.data.message;\r\n this.setState({\r\n searchData,\r\n is_add_btn: true,\r\n clientData: {},\r\n patientBasicData: [],\r\n loading: false,\r\n selectedPerson: \"\",\r\n formSuccess,\r\n\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n console.log(e.data);\r\n console.log(\"business user getbyid failed\");\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n getMaxAllowedQuantity = (genericName, batchno) => {\r\n return axios.post(getQuantityBygenericnameandbatchno, { \r\n generic_name: genericName,\r\n batch_no: batchno,\r\n specified_date: new Date() \r\n }, CONFIG)\r\n .then((response) => {\r\n console.log(response.data.data[0].quantity);\r\n // Ensure batches is always an array\r\n let maxAllowedQuantity = response.data.data[0].quantity ? response.data.data[0].quantity : 0.0;\r\n console.log(\"Fetched Quantity: \", maxAllowedQuantity);\r\n return maxAllowedQuantity; // Return the fetched quantity\r\n })\r\n .catch(error => {\r\n console.error('Error fetching data:', error);\r\n this.setState({ maxAllowedQuantity: 0.0 }); // Set to 0 on error\r\n return 0.0; // Return 0 on error\r\n });\r\n};\r\nhandleQuantityInputChange = (index, key) => event => {\r\n const newQuantity = event.target.value ? parseFloat(event.target.value) : '';\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = newQuantity; // Temporarily set the new quantity\r\n\r\n console.log(newQuantity);\r\n\r\n // Get the drug name and batch number from the record\r\n const drugName = updatedData[index].generic_name; // Adjust based on your data structure\r\n const batchNo = updatedData[index].batch_no; // Adjust based on your data structure\r\n\r\n // Fetch the maximum allowed quantity\r\n this.getMaxAllowedQuantity(drugName, batchNo).then(maxAllowedQuantity => {\r\n console.log(maxAllowedQuantity);\r\n\r\n // Validate the new quantity\r\n if (newQuantity > maxAllowedQuantity) {\r\n console.log(\"Showing popup: Quantity exceeds maximum allowed.\"); // Debugging log\r\n \r\n this.setState({\r\n quantitypopup: true,\r\n popupMessage: `Quantity cannot exceed the maximum allowed quantity of ${maxAllowedQuantity}.`\r\n });\r\n \r\n updatedData[index][key] = maxAllowedQuantity; // Reset to max allowed\r\n \r\n } else {\r\n updatedData[index][key] = newQuantity; // Set to new quantity if valid\r\n }\r\n\r\n // Update the state with the validated quantity\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateRate(index);\r\n this.calculateCummulativeQuantity(index);\r\n });\r\n }).catch(error => {\r\n console.error('Error fetching max allowed quantity:', error);\r\n // Handle error appropriately, e.g., reset quantity or show an error message\r\n });\r\n};\r\n handleInputChange = (e) => {\r\n const value = e.target.value;\r\n const discountPercentage = value ? parseFloat(value) : 0; // Parse the input value\r\n\r\n // Update the discount percentage in the state\r\n this.setState({ discountPercentage }, () => {\r\n this.calculateDiscountAmounts();\r\n\r\n // Calculate discount amounts for all records\r\n });\r\n };\r\n calculateDiscountAmounts = () => {\r\n const { records, discountPercentage } = this.state;\r\n\r\n // Calculate discount amounts for all records\r\n const updatedRecords = records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = (sub_total * (discountPercentage / 100)); // Calculate discount amount\r\n return { ...record, discAmt }; // Return updated record\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords }, () => {\r\n this.calculateTotals();\r\n // this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n calculateTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = record.discAmt || 0; // Default to 0 if undefined\r\n const cgstAmt = record.cgstAmt || 0; // Default to 0 if undefined\r\n const sgstAmt = record.sgstAmt || 0; // Default to 0 if undefined\r\n const gstAmt = cgstAmt + sgstAmt;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n // Calculate the total\r\n const total = (sub_total - discAmt) + gstAmt;\r\n return { ...record, total }; // Return updated record with total\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n\r\n\r\n calculateRate = (index) => {\r\n let updatedData = [...this.state.records];\r\n let mrp = updatedData[index].mrp || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n let conversion_factor = updatedData[index].conversion_factor || 1;\r\n let cgst = updatedData[index].cgst || 0;\r\n let sgst = updatedData[index].cgst || 0;\r\n let gst = Number(cgst) + Number(sgst);\r\n console.log(cgst);\r\n console.log(sgst);\r\n console.log(gst);\r\n if (quantity != null && quantity !== 0) {\r\n if (gst == 5) {\r\n updatedData[index].rate = mrp / 1.05;\r\n } else if (gst == 12) {\r\n updatedData[index].rate = mrp / 1.12;\r\n }\r\n else if (gst == 18) {\r\n updatedData[index].rate = mrp / 1.18;\r\n }\r\n\r\n } else if (loose != null && loose !== 0) {\r\n updatedData[index].rate = mrp / conversion_factor;\r\n\r\n }\r\n\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n this.calculateSubTotals();\r\n //this.calculateTotals();\r\n });\r\n };\r\n\r\n calculateCummulativeQuantity=(index)=>{\r\n let updatedData = [...this.state.records];\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n let conversion_factor = updatedData[index].conversion_factor || 1;\r\n if (quantity !== null && quantity !== 0) {\r\n updatedData[index].cummulative_quantity = quantity + (loose/conversion_factor);\r\n console.log(updatedData[index].cummulative_quantity);\r\n console.log(quantity);\r\n console.log(loose);\r\n console.log(conversion_factor);\r\n \r\n }\r\n else if (loose !== null && loose !== 0) {\r\n updatedData[index].cummulative_quantity = quantity + (loose/conversion_factor);\r\n }\r\n this.setState({ records: updatedData });\r\n }\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let rate = updatedData[index].rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n if (quantity !== null && quantity !== 0) {\r\n updatedData[index].sub_total = quantity * rate;\r\n }\r\n else if (loose !== null && loose !== 0) {\r\n updatedData[index].sub_total = loose * rate;\r\n }\r\n this.setState({ records: updatedData }, () => {\r\n\r\n // this.calculateTotal(index);\r\n // this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n this.calculateGstAmount(index);\r\n });\r\n };\r\n\r\n calculateSubTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const rate = record.rate || 0;\r\n const quantity = record.quantity || 0;\r\n const loose = record.loose || 0;\r\n let sub_total = 0;\r\n if (quantity > 0) {\r\n sub_total = quantity * rate;\r\n } else if (loose > 0) {\r\n sub_total = loose * rate;\r\n }\r\n\r\n // Return the updated record with the calculated subtotal\r\n return { ...record, sub_total };\r\n\r\n\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n this.calculateTotals();\r\n\r\n });\r\n };\r\n\r\n calculateTaxAmounts = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const taxrate = record.taxrate || 0;\r\n let sub_total = 0; // Initialize sub_total\r\n\r\n // Assuming you have a quantity and rate in each record\r\n const quantity = record.quantity || 0; // Default to 0 if undefined\r\n const rate = record.rate || 0; // Default to 0 if undefined\r\n\r\n // Calculate subtotal based on the tax rate\r\n if (taxrate === 5) {\r\n // Example calculation for 5% tax\r\n sub_total = quantity * rate * 1.05; // Including tax\r\n } else if (taxrate === 12) {\r\n // Example calculation for 12% tax\r\n sub_total = quantity * rate * 1.12; // Including tax\r\n } else if (taxrate === 18) {\r\n // Example calculation for 18% tax\r\n sub_total = quantity * rate * 1.18; // Including tax\r\n } else {\r\n // If tax rate is not recognized, just calculate the base subtotal\r\n sub_total = quantity * rate; // No tax applied\r\n }\r\n\r\n // Return the updated record with the calculated subtotal\r\n return { ...record, sub_total };\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData });\r\n };\r\n\r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let gstAmt = updatedData[index].gstAmt || 0;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n updatedData[index].total = sub_total - discAmt + gstAmt;\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = (sub_total * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n\r\n calculateGstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n let cgstAmt = updatedData[index].cgstAmt;\r\n let sgstAmt = updatedData[index].sgstAmt;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n updatedData[index].gstAmt = (cgstAmt + sgstAmt);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n\r\n\r\n\r\n\r\n UpdateColumnChange = (record) => {\r\n\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n\r\n records[recIndex].pharmacy_id = record.pharmacy_id ? record.pharmacy_id : \"\";\r\n records[recIndex].pharmacy_name = record.pharmacy_name;\r\n records[recIndex].pharmacy_location = record.pharmacy_location;\r\n records[recIndex].address = record.address;\r\n records[recIndex].city = record.city;\r\n records[recIndex].country = record.country;\r\n records[recIndex].state = record.state;\r\n records[recIndex].zip_code = record.zip_code;\r\n // records[recIndex].phone_number = record.phone_number;\r\n\r\n this.setState({ records: records });\r\n }\r\n\r\n\r\n clearErrors = (errors) => {\r\n\r\n\r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no = \"\"\r\n return errors\r\n }\r\n\r\n clear = () => {\r\n\r\n let data = this.state.saleReturnData;\r\n\r\n data.phone_number = \"\";\r\n data.patient_name = \"\";\r\n data.address = \"\";\r\n this.state.patient_address = \"\";\r\n this.state.patient_name = \"\";\r\n this.state.searchData.phone_number = \"\";\r\n this.setState({ saleReturnData: data, add_btn: false, formSuccess: { message: \"\", }, });\r\n\r\n }\r\n\r\n cancel = () => {\r\n\r\n let data = this.state.saleReturnData;\r\n\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n saleReturnData: data, actions: \"add\", voucher_no: \"\", errors: errors, searchErrorMessage: \"\", records: [],\r\n search_action: false,\r\n totalAmtSec: {\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n\r\n\r\n },\r\n\r\n });\r\n }\r\n\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n /* calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let amt = 0.0;\r\n let taxAmt = 0.0;\r\n let taxVal = 0.0;\r\n let totalAmt = 0.0;\r\n let sub_total=0.0;\r\n console.log(records);\r\n \r\n records.map((data, i) => {\r\n if (undefined !== data.fee) {\r\n amt = Number(amt) + Number(data.fee);\r\n }\r\n if (undefined !== data.gst_amount) {\r\n taxAmt = Number(taxAmt) + Number(data.gst_amount);\r\n }\r\n if (undefined !== data.taxable_value) {\r\n taxVal = Number(taxVal) + Number(data.taxable_value);\r\n }\r\n if (undefined !== data.total_amount) {\r\n totalAmt = Number(totalAmt) + Number(data.total_amount);\r\n }\r\n if (undefined !== data.quantity) {\r\n sub_total = Number(data.quantity) * Number(data.p_rate);\r\n }\r\n });\r\n \r\n totalAmtSec.amt = amt;\r\n totalAmtSec.taxAmt = taxAmt;\r\n totalAmtSec.taxVal = taxVal;\r\n totalAmtSec.totalAmt = totalAmt;\r\n totalAmtSec.sub_total=sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(totalAmt)+\" rupees only\";\r\n this.setState({ totalAmtSec });\r\n \r\n console.log(totalAmtSec);\r\n }; \r\n */\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let gstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n let roundtotal = 0.0;\r\n let rounddiff = 0.0;\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n\r\n if (data.gstAmt !== undefined) {\r\n gstAmt += Number(data.gstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.gstAmt = gstAmt;\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.roundtotal = Math.round(total);\r\n totalAmtSec.rounddiff = total - totalAmtSec.roundtotal;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n\r\n calculateTaxAmountSection = () => {\r\n let records = this.state.records;\r\n let totalTaxAmtSec = { ...this.state.totalTaxAmtSec };\r\n\r\n // Initialize tax amounts and totals for each tax rate\r\n let taxSummary = {\r\n 5: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 12: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 18: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n };\r\n\r\n\r\n records.forEach((data) => {\r\n const taxRate = data.taxrate;\r\n\r\n\r\n if (taxSummary[taxRate]) {\r\n console.log(\"Current Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n\r\n taxSummary[taxRate].cgstAmt += Number(data.cgstAmt) || 0;\r\n taxSummary[taxRate].sgstAmt += Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].taxAmt += Number(data.cgstAmt) + Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].sub_total += Number(data.sub_total) || 0;\r\n\r\n console.log(\"Updated Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n }\r\n });\r\n\r\n // Ensure totalTaxAmtSec has the necessary properties initialized\r\n totalTaxAmtSec = {\r\n cgstAmt5: totalTaxAmtSec.cgstAmt5 || 0,\r\n sgstAmt5: totalTaxAmtSec.sgstAmt5 || 0,\r\n taxAmt5: totalTaxAmtSec.taxAmt5 || 0,\r\n sub_total5: totalTaxAmtSec.sub_total5 || 0,\r\n cgstAmt12: totalTaxAmtSec.cgstAmt12 || 0,\r\n sgstAmt12: totalTaxAmtSec.sgstAmt12 || 0,\r\n taxAmt12: totalTaxAmtSec.taxAmt12 || 0,\r\n sub_total12: totalTaxAmtSec.sub_total12 || 0,\r\n cgstAmt18: totalTaxAmtSec.cgstAmt18 || 0,\r\n sgstAmt18: totalTaxAmtSec.sgstAmt18 || 0,\r\n taxAmt18: totalTaxAmtSec.taxAmt18 || 0,\r\n sub_total18: totalTaxAmtSec.sub_total18 || 0,\r\n };\r\n\r\n\r\n\r\n // Update the totalTaxAmtSec object with calculated values\r\n totalTaxAmtSec.cgstAmt5 = taxSummary[5].cgstAmt;\r\n totalTaxAmtSec.sgstAmt5 = taxSummary[5].sgstAmt;\r\n totalTaxAmtSec.taxAmt5 = taxSummary[5].taxAmt;\r\n totalTaxAmtSec.sub_total5 = taxSummary[5].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt12 = taxSummary[12].cgstAmt;\r\n totalTaxAmtSec.sgstAmt12 = taxSummary[12].sgstAmt;\r\n totalTaxAmtSec.taxAmt12 = taxSummary[12].taxAmt;\r\n totalTaxAmtSec.sub_total12 = taxSummary[12].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt18 = taxSummary[18].cgstAmt;\r\n totalTaxAmtSec.sgstAmt18 = taxSummary[18].sgstAmt;\r\n totalTaxAmtSec.taxAmt18 = taxSummary[18].taxAmt;\r\n totalTaxAmtSec.sub_total18 = taxSummary[18].sub_total;\r\n\r\n console.log(\"Final Total Tax Amount Section:\", totalTaxAmtSec);\r\n\r\n // Update the state with the new total tax amounts\r\n this.setState({ totalTaxAmtSec });\r\n };\r\n\r\n generate() {\r\n let { saleReturnData, errors } = this.state;\r\n saleReturnData.type = \"saleReturnData\";\r\n errors = Validation(saleReturnData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n phone_number: saleReturnData.phone_number || this.state.searchData.phone_number,\r\n patient_name: saleReturnData.patient_name || this.state.patient_name,\r\n address: saleReturnData.address || this.state.patient_address,\r\n remarks: saleReturnData.remarks,\r\n bill_date: saleReturnData.bill_date,\r\n doctorreg_no: saleReturnData.doctorreg_no,\r\n doctor_name: saleReturnData.doctor_name,\r\n created_by: saleReturnData.created_by,\r\n records: this.state.records\r\n };\r\n console.log(data);\r\n console.log(this.state.bill_no);\r\n console.log(this.state.saleReturnData.bill_date);\r\n this.props.history.push({\r\n pathname: \"/creditnoteinvoice/\" + this.state.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/creditnoteinvoice/\" + this.state.bill_no,\r\n state: {\r\n bill_no: this.state.bill_no,\r\n bill_date: this.state.saleReturnData.bill_date.toString(),\r\n patient_name: this.state.patient_name,\r\n patient_address: this.state.patient_address,\r\n doctorreg_no: this.state.saleReturnData.doctorreg_no,\r\n doctor_name: this.state.saleReturnData.doctor_name,\r\n remarks:this.state.saleReturnData.remarks,\r\n sub_total: this.state.totalAmtSec.sub_total.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n discAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n total: this.state.totalAmtSec.total.toFixed(2),\r\n totalAmtWords: this.state.totalAmtSec.totalAmtWords,\r\n roundtotal: this.state.totalAmtSec.roundtotal.toFixed(2),\r\n rounddiff: this.state.totalAmtSec.rounddiff.toFixed(2),\r\n sub_total5: this.state.totalTaxAmtSec.sub_total5,\r\n cgstAmt5: this.state.totalTaxAmtSec.cgstAmt5,\r\n sgstAmt5: this.state.totalTaxAmtSec.sgstAmt5,\r\n taxAmt5: this.state.totalTaxAmtSec.taxAmt5,\r\n sub_total12: this.state.totalTaxAmtSec.sub_total12,\r\n cgstAmt12: this.state.totalTaxAmtSec.cgstAmt12,\r\n sgstAmt12: this.state.totalTaxAmtSec.sgstAmt12,\r\n taxAmt12: this.state.totalTaxAmtSec.taxAmt12,\r\n sub_total18: this.state.totalTaxAmtSec.sub_total18,\r\n cgstAmt18: this.state.totalTaxAmtSec.cgstAmt18,\r\n sgstAmt18: this.state.totalTaxAmtSec.sgstAmt18,\r\n taxAmt18: this.state.totalTaxAmtSec.taxAmt18,\r\n voucher_type:'patient'\r\n }\r\n });\r\n }\r\n }\r\n addSaleReturnData() {\r\n\r\n\r\n let { saleReturnData, errors } = this.state;\r\n saleReturnData.type = \"saleReturnData\";\r\n errors = Validation(saleReturnData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n phone_number: saleReturnData.phone_number || this.state.searchData.phone_number,\r\n patient_name: saleReturnData.patient_name || this.state.patient_name,\r\n address: saleReturnData.address || this.state.patient_address,\r\n remarks: saleReturnData.remarks,\r\n bill_date: saleReturnData.bill_date,\r\n doctorreg_no: saleReturnData.doctorreg_no,\r\n doctor_name: saleReturnData.doctor_name,\r\n created_by: saleReturnData.created_by,\r\n records: this.state.records,\r\n discPercent: this.state.discountPercentage,\r\n subtotalAmount: this.state.totalAmtSec.sub_total.toFixed(2),\r\n totalAmount: this.state.totalAmtSec.total.toFixed(2),\r\n discountAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n cgstAmt5:this.state.totalTaxAmtSec.cgstAmt5.toFixed(2),\r\n sgstAmt5:this.state.totalTaxAmtSec.sgstAmt5.toFixed(2),\r\n taxAmt5:this.state.totalTaxAmtSec.taxAmt5.toFixed(2),\r\n sub_total5:this.state.totalTaxAmtSec.sub_total5.toFixed(2),\r\n cgstAmt12:this.state.totalTaxAmtSec.cgstAmt12.toFixed(2),\r\n sgstAmt12:this.state.totalTaxAmtSec.sgstAmt12.toFixed(2),\r\n taxAmt12:this.state.totalTaxAmtSec.taxAmt12.toFixed(2),\r\n sub_total12:this.state.totalTaxAmtSec.sub_total12.toFixed(2),\r\n cgstAmt18:this.state.totalTaxAmtSec.cgstAmt18.toFixed(2),\r\n sgstAmt18:this.state.totalTaxAmtSec.sgstAmt18.toFixed(2),\r\n taxAmt18:this.state.totalTaxAmtSec.taxAmt18.toFixed(2),\r\n sub_total18:this.state.totalTaxAmtSec.sub_total18.toFixed(2),\r\n payment_mode: saleReturnData.payment_mode.label,\r\n customer_type: 'patient',\r\n cn_type:'salesreturn'\r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n\r\n axios\r\n\r\n .post(addSaleReturnData, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n editformSuccess: res,\r\n bill_no: res.data[0].bill_no,\r\n bill_date: this.state.bill_date\r\n });\r\n toast.success(\"The Sale Return voucher have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n\r\n this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Sale Entry voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n\r\n }\r\n }\r\n\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n componentDidMount = () => {\r\n this._isMounted = true;\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n\r\n //set first record as consultation fee by default\r\n /* let consultation_fee_record = {};\r\n consultation_fee_record.s_no = 1;\r\n consultation_fee_record.description = \"Consultation Fee\";\r\n consultation_fee_record.fee = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n consultation_fee_record.disc = \"\";\r\n consultation_fee_record.taxable_value = \"\";\r\n consultation_fee_record.gst_rate = \"\";\r\n consultation_fee_record.gst_amount = \"\";\r\n consultation_fee_record.total_amount = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n*/\r\n let records = [];\r\n // records.push(consultation_fee_record); \r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n\r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n\r\n }));\r\n\r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n });\r\n\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n };\r\n componentWillUnmount() { this._isMounted = false; }\r\n refreshSelectedBatches = () => {\r\n this.setState({\r\n selectedBatches: [],\r\n selectedExpdates: [],\r\n selectedQuantities: [],\r\n batches:[],\r\n }, () => {\r\n console.log(\"Selected batches cleared.\");\r\n // Optionally, you can call the selectBatch function to notify the parent component\r\n if (this.selectBatch) {\r\n this.selectBatch(this.state.selectedBatches, this.state.selectedExpdates, this.state.selectedQuantities);\r\n }\r\n });\r\n };\r\n refreshData=()=>{\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n\r\n let records = [];\r\n // records.push(consultation_fee_record); \r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n selectedBatches:[],\r\n selectedExpdates:[],\r\n selectedQuantities:[],\r\n batches:[],\r\n },\r\n () => {\r\n this.calculateSection();\r\n this.refreshSelectedBatches();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n }\r\n onDeleteClick(record) {\r\n\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n // Filter out the record to delete\r\n const updatedRecords = this.state.records.filter(item => item.s_no !== record.s_no);\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords, addPopup: false }, () => {\r\n toast.success(\"The Sale Entry detail has been deleted successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.calculateSubTotals();\r\n console.log(updatedRecords);\r\n });\r\n }\r\n handlepaymentselectChange = (selectedOptions, e) => {\r\n let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ saleReturnData: data, errors, searchErrorMessage: \"\" });\r\n }\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n \r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug,{user_id:this.props.userdata.id,drug_name:selectedOption.label}, CONFIG)\r\n .then((drugRespons) => {\r\n let ItemList = drugRespons.data.data;\r\n \r\n ItemList.forEach((element, index) => {\r\n ItemList.push({\r\n \r\n pack:element.pack,\r\n cgst: element.cgst,\r\n sgst:element.sgst,\r\n igst:element.igst\r\n \r\n });\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"s_no\", record.s_no);\r\n if (null != record) {\r\n \r\n records[recIndex].pack = element.unit_of_measure;\r\n records[recIndex].cgst = element.cgst + \" %\";\r\n records[recIndex].gst_amount =\r\n (record.tax_percentage / 100) * record.amount;\r\n records[recIndex].total_amount =\r\n Number(records[recIndex].fee) +\r\n Number(records[recIndex].gst_amount);\r\n } else {\r\n \r\n records[recIndex].fee = \"\";\r\n records[recIndex].gst_rate = \"\";\r\n records[recIndex].gst_amount = \"\";\r\n records[recIndex].total_amount = \"\";\r\n }\r\n \r\n console.log(recIndex);\r\n console.log(records.length - 1);\r\n if (recIndex === records.length - 1) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = records.length + 1;\r\n records.push(default_rec);\r\n }\r\n \r\n });\r\n \r\n })\r\n \r\n \r\n \r\n \r\n \r\n \r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getPharmacyShortDetail,{user_id:this.props.userdata.id}, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n \r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value:data.state\r\n \r\n });\r\n }).catch((e) => { });\r\n \r\n \r\n // Post request to fetch item details\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total:updatedData[index].quantity*(updatedData[index].p_rate-(updatedData[index].disc*updatedData[index].p_rate)),\r\n // gst_amount: (updatedData[index].tax_percentage / 100) * updatedData[index].amount,\r\n // total_amount: Number(updatedData[index].fee) + Number(updatedData[index].gst_amount)\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n \r\n if (response.data.status == \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(this.state.gst_state);\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total: updatedData[index].quantity * (updatedData[index].p_rate - (updatedData[index].disc * updatedData[index].p_rate)),\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n }; */\r\n /* handleselectChange = (selectedOption) => {\r\n const updatedRecords = this.state.records.map(record => ({\r\n ...record,\r\n drug_name: selectedOption ? selectedOption.value : '', // Set drug_name for all records\r\n }));\r\n this.setState({ records: updatedRecords });\r\n }; */\r\n\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n const drugNameToSet = selectedOption ? selectedOption.label : ''; // Get the selected drug name\r\n\r\n // Update the drug_name for the specific record\r\n updatedData[index].generic_name = drugNameToSet;\r\n\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n console.log(updatedData[index][key])\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData, selectedBatches: [], batches: [] });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n this.getBatchandExpDateBydrugname(index, selectedOption,new Date());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n\r\n handleShow = (index) => {\r\n const currentRecord = this.state.records[index];\r\n console.log(currentRecord);\r\n console.log(\"curent index\", index);\r\n console.log(this.state.selectedBatches);\r\n\r\n // Create the current batch object\r\n const currentBatchInRow = {\r\n batch_no: currentRecord.batch_no || 'Select Batch',\r\n exp_date: currentRecord.exp_date || 'N/A',\r\n };\r\n console.log(currentBatchInRow);\r\n\r\n // Determine the selectedBatch based on the existence of batch_no\r\n const selectedBatch = currentRecord.batch_no\r\n ? currentBatchInRow // If batch_no exists, use currentBatchInRow\r\n : { batch_no: 'Select Batch', exp_date: 'N/A' }; // If not, use default\r\n\r\n // Set the current row index and selected batch in a single setState call\r\n this.setState({\r\n currentRow: index,\r\n selectedBatch: currentBatchInRow, // Set the selected batch based on the logic\r\n showModel: true,\r\n selectedBatches: [], // Show the modal\r\n //batches:[],\r\n });\r\n\r\n };\r\n\r\n clearBatches = () => {\r\n this.setState({\r\n \r\n selectedBatches: [],\r\n }, () => {\r\n console.log(\"Batches and selected batches cleared.\");\r\n });\r\n };\r\n handleBatchClose = () => {\r\n this.clearBatches(); // Clear batches when modal is closed\r\n this.setState({ showModel: false });\r\n };\r\n handleSelectBatchClick = () => {\r\n const { selectedBatches, selectedExpdates, currentRow } = this.state;\r\n\r\n if (selectedBatches.length > 0) {\r\n console.log(\"Remove previous batch\", selectedBatches.shift()); // Remove the first element from selectedBatches\r\n console.log(\"Remove previous exp_date\", selectedExpdates.shift()); // Remove the first element from selectedExpdates\r\n\r\n this.selectBatch(selectedBatches, selectedExpdates, currentRow);\r\n\r\n // Clear selections\r\n this.setState({\r\n selectedBatches: [],\r\n selectedExpdates: []\r\n });\r\n } else {\r\n console.log('No batches selected.');\r\n }\r\n };\r\n deleteElementsUpToIndex(array, index) {\r\n // Check if the index is valid\r\n if (index < 0 || index >= array.length) {\r\n console.error(\"Invalid index\");\r\n return array; // Return the original array if the index is invalid\r\n }\r\n \r\n // Return a new array starting from the specified index\r\n return array.slice(index);\r\n}\r\n\r\n selectBatch = (batches, expdates, selectedIndex) => {\r\n const updatedRecords = [...this.state.records];\r\n const batcheslength = batches.length;\r\n console.log(\"Selected Index:\", selectedIndex);\r\n console.log(\"Batches:\", batches);\r\n // console.log(\"Quantities:\", quantities);\r\n console.log(\"old batch length\", batcheslength);\r\n console.log(\"New batches length\", batches.length);\r\n console.log(\"First Record:\", updatedRecords[0]);\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const drug_id=updatedRecords[this.state.currentRow]?.drug_id;\r\n const drugNameToSet = updatedRecords[this.state.currentRow]?.generic_name;\r\n const packToSet = updatedRecords[this.state.currentRow]?.pack;\r\n const storagebin = updatedRecords[this.state.currentRow]?.storage_bin;\r\n const mrp = updatedRecords[this.state.currentRow]?.mrp;\r\n const cgst = updatedRecords[this.state.currentRow]?.cgst;\r\n const sgst = updatedRecords[this.state.currentRow]?.sgst;\r\n const hsn_code = updatedRecords[this.state.currentRow]?.hsn_code;\r\n const conversion_factor = updatedRecords[this.state.currentRow]?.conversion_factor;\r\n console.log(\"Drug Name to Set:\", drugNameToSet);\r\n\r\n if (this.state.currentRow === 0) {\r\n // Loop through each selected batch and update the corresponding row\r\n batches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n\r\n expdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n /* quantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n }); */\r\n } \r\nelse{\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const updatedbatches=this.deleteElementsUpToIndex(batches, this.state.currentRow);\r\n updatedbatches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n const updatedexpdates=this.deleteElementsUpToIndex(expdates, this.state.currentRow);\r\n updatedexpdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n // const updatedquantities=this.deleteElementsUpToIndex(quantities, this.state.currentRow);\r\n \r\n /* updatedquantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n }); */\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n}\r\n \r\n this.setState({ records: updatedRecords }, () => {\r\n console.log('Updated Records after Set State:', this.state.records);\r\n this.calculateTaxAmountSection();\r\n this.setState({ selectedBatches: [], selectedExpdates: [] ,selectedQuantities:[]});\r\n });\r\n };\r\n\r\n\r\n getBatchnobyDrugname = (index, selectedOption) => {\r\n axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n\r\n let batch_no = drugResponse.data.data;\r\n console.log(\"Fetched batch: \", batch_no[0]);\r\n })\r\n }\r\n\r\n getBatchandExpDateBydrugname = (index, selectedOption) => {\r\n if (selectedOption != null) {\r\n this.setState({ batches: [] });\r\n axios.post(getBatchandExpDateBydrugname, { generic_name: selectedOption.label,specified_date: new Date() }, CONFIG)\r\n .then((drugResponse) => {\r\n // Ensure batches is always an array\r\n let batches = Array.isArray(drugResponse.data.data) ? drugResponse.data.data : [];\r\n console.log(\"Fetched batches: \", batches);\r\n this.setState({ batches, });\r\n })\r\n .catch(error => {\r\n console.error('Error fetching batch data:', error);\r\n this.setState({ batches: [],loading:false }); // Set to empty array on error\r\n });\r\n }\r\n }\r\n fetchItemDetails = (index, selectedOption) => {\r\n // Fetch item list for the selected drug\r\n if (selectedOption != null) {\r\n\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n const itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Fetch batch numbers and expiry dates for the selected drug\r\n return axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((batchResponse) => {\r\n const batch_no = batchResponse.data.data;\r\n console.log(\"Fetched Batch Numbers: \", batch_no); // Verify the batch response\r\n\r\n // Find the item in the item list\r\n const item = itemList.find(item => item.generic_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data\r\n const updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n drug_id:selectedOption.value,\r\n pack: item.unit_of_measure,\r\n batch_no: item.batch_no, // Ensure batch_no is a string\r\n mrp: batch_no.length > 0 ? batch_no[0].mrp : \"\", // Handle case where batch_no might be empty\r\n storage_bin: item.storage_bin,\r\n conversion_factor: item.conversion_factor,\r\n cgst: item.cgst,\r\n sgst: item.sgst,\r\n hsn_code: item.hsn_code,\r\n\r\n // igst: this.state.State_value === this.state.gst_state ? item.igst : \"\",\r\n // sub_total: updatedData[index].quantity * updatedData[index].rate,\r\n };\r\n\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection(); // Call calculateSection after state update\r\n this.calculateTaxAmountSection();\r\n });\r\n }\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }\r\n };\r\n\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ saleReturnData: data, errors: errors });\r\n }\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n\r\n\r\n handlevendorselectChange = async (selectedOptions, e) => {\r\n let data = this.state.purchaseEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n\r\n this.setState({ purchaseEntryData: data, errors, searchErrorMessage: \"\" });\r\n\r\n axios\r\n .post(getgststatebyVendorname, { user_id: this.props.userdata.id, vendor_name: selectedOptions.label }, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data = resdata.data[0];\r\n console.log(resdata.status);\r\n\r\n if (resdata.status == \"1\") {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state);\r\n });\r\n }\r\n\r\n }).catch((e) => { });\r\n\r\n }\r\n render() {\r\n\r\n const payment_mode = [\r\n { value: 0, label: \"Cash\" },\r\n { value: 1, label: \"UPI\" },\r\n { value: 2, label: \"Credit card\" },\r\n { value: 3, label: \"Debit card\" },\r\n\r\n ];\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n let PopupQuantityClose = () => {\r\n this.setState({ quantitypopup: false })\r\n\r\n };\r\n const { saleReturnData,loading, records, batches, bill_no, bill_date, selectedBatch, currentBatchinrow, showModel, errors, formSuccess, tableSuccess, hospitaltimeout, mastervendorNames, gst_state, State_value, searchErrorMessage, searchTableSuccess } = this.state;\r\n const formattedSubTotal12 = this.state.totalTaxAmtSec.sub_total12.toFixed(2);\r\n\r\n return (\r\n\r\n
    \r\n \r\n\r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Sale Return Voucher - Patient

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Sale Return Voucher\r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n {/*
    */}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n Reset\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleDatePickerChange(date, 'bill_date')}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n disabled={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 \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n this.handleDatePickerChange(date, 'invoice_date')} \r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n \r\n /> \r\n
    \r\n \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n {/* \r\n Refresh\r\n */}\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Sub Total\r\n \r\n \r\n {this.state.totalAmtSec.sub_total.toFixed(2)}\r\n \r\n \r\n \r\n \r\n Disc Amt\r\n \r\n \r\n {this.state.totalAmtSec.discAmt.toFixed(2)}\r\n \r\n \r\n \r\n \r\n GST Amt\r\n \r\n \r\n {this.state.totalAmtSec.gstAmt ? this.state.totalAmtSec.gstAmt.toFixed(2) : '0.00'}\r\n \r\n \r\n \r\n \r\n Credit Note value\r\n \r\n \r\n {this.state.totalAmtSec.total.toFixed(2)}\r\n \r\n \r\n {/* \r\n \r\n IGST Amt\r\n \r\n \r\n {this.state.totalAmtSec.igstAmt.toFixed(2)}\r\n \r\n */}\r\n\r\n\r\n \r\n \r\n
    \r\n {/* Add other content above the table if needed */}\r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* This is the empty row */}\r\n
    \r\n {/* This is the empty row */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n Disc %\r\n \r\n \r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n Payment Mode\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n\r\n \r\n \r\n 5%\r\n \r\n \r\n {this.state.totalTaxAmtSec.sub_total5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt5.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {formattedSubTotal12}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt12.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.state.totalTaxAmtSec.sub_total18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt18.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n\r\n\r\n {/* \r\n \r\n */}\r\n \r\n Save\r\n \r\n \r\n Generate\r\n \r\n {/* \r\n Attach Prescription\r\n */}\r\n \r\n clear\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )}\r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(SaleReturnVoucher));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n\r\n getAllPharmacyDrugs,\r\n getAllPharmacyCustomerList,\r\n getAllPharmacyItemList,\r\n addPurchaseEntryData,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n getitemlistforPharmacyDrug,\r\n getgststatebyVendorname,\r\n getBatchnobydrugnameandExpDate,\r\n getBatchandExpDateBydrugname,\r\n getQuantityBygenericnameandbatchno,\r\n getPharmacyShortDetail,\r\n addSaleReturnDataB2B\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport QuantityPopupinfo from \"../components/UI/Quantitypopupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport \"../assets/css/mystyle.css\";\r\nimport BatchSelectionModal from \"./BatchSelectModal\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n drug_id:\"\",\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n storage_bin: \"\",\r\n quantity: \"\",\r\n loose: \"\",\r\n cummulative_quantity:0,\r\n rate: 0,\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n discAmt: 0,\r\n taxrate: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n};\r\nclass SaleReturnVoucherForBusiness extends Component {\r\n _isMounted = false;\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n \r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n showModel: false,\r\n selectedBatches: [],\r\n currentBatchinrow: null,\r\n currentRow: null,\r\n discountPercentage: '',\r\n batches: [],\r\n records: [],\r\n searchrecords: [],\r\n quantitypopup:false,\r\n popupMessage: '',\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n voucher_type:'',\r\n purchaseEntryVoucher:{\r\n drug_name:\"\",\r\n // defaultEnterSize: 20,\r\n records: [],\r\n supplies: [],\r\n },\r\n \r\n saleReturnData:\r\n {\r\n /* phone_number: \"\", */\r\n patient_name: \"\",\r\n address: \"\",\r\n remarks: \"\",\r\n bill_no: \"\",\r\n bill_date: new Date(),\r\n /* doctorreg_no: \"\",\r\n doctor_name: \"\", */\r\n created_by: \"\",\r\n payment_mode: \"\",\r\n },\r\n\r\n totalAmtSec: {\r\n\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n gstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n totalAmtWords: \"\",\r\n taxrate: 0,\r\n },\r\n totalTaxAmtSec: {\r\n cgstAmt5: 0,\r\n sgstAmt5: 0,\r\n sub_total5: 0,\r\n taxAmt5: 0,\r\n cgstAmt12: 0,\r\n sgstAmt12: 0,\r\n sub_total12: 0,\r\n taxAmt12: 0,\r\n cgstAmt18: 0,\r\n sgstAmt18: 0,\r\n sub_total18: 0,\r\n taxAmt18: 0,\r\n sub_total: {\r\n 5: 0, // Taxable amount for 5%\r\n 12: 0, // Taxable amount for 12%\r\n 18: 0, // Taxable amount for 18%\r\n },\r\n cgstAmt: {\r\n 5: 0, // CGST amount for 5%\r\n 12: 0, // CGST amount for 12%\r\n 18: 0, // CGST amount for 18%\r\n },\r\n sgstAmt: {\r\n 5: 0, // SGST amount for 5%\r\n 12: 0, // SGST amount for 12%\r\n 18: 0, // SGST amount for 18%\r\n },\r\n total: {\r\n 5: 0, // Total amount for 5%\r\n 12: 0, // Total amount for 12%\r\n 18: 0, // Total amount for 18%\r\n },\r\n },\r\n errors: {\r\n purchaseentry_id: \"\",\r\n customer_name:\"\",\r\n address:\"\",\r\n created_by:\"\",\r\n remarks:\"\",\r\n bill_no:\"\",\r\n bill_date:\"\",\r\n \r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n align: \"left\", // Set alignment to center\r\n sortable: true,\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n {index + 1} {/* Display the serial number based on the index */}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n
    \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '450px',\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n\r\n\r\n {row.generic_name && (row.batch_no !== '' || row.batch_no !== null) ? (\r\n\r\n row.generic_name\r\n\r\n ) : (\r\n option.label === row.generic_name)} // Ensure value is null if not found\r\n onChange={this.handleselectChange(index, 'generic_name')}\r\n options={this.state.supplies}\r\n />\r\n )}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => row.pack\r\n },\r\n\r\n /* {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width:'200px',\r\n cell: (row, index) => row.batch_no \r\n \r\n \r\n }, */\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => (\r\n
    \r\n {row.generic_name ? (\r\n row.batch_no ? (\r\n row.batch_no\r\n ) : (\r\n this.handleShow(index)}>Select Batch\r\n )\r\n ) : null}\r\n
    \r\n ),\r\n },\r\n {\r\n key: \"storage_bin\",\r\n text: \"Storage Bin\",\r\n className: \"storage_bin\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => row.storage_bin\r\n\r\n },\r\n\r\n /* {\r\n key: \"manu_date\",\r\n text: \"Mfg.Date\",\r\n className: \"manu_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n }, \r\n {\r\n key: \"exp_date\",\r\n text:\"Exp. Date\",\r\n className: \"exp_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n }, */\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"loose\",\r\n text: \"Loose\",\r\n className: \"loose\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.mrp\r\n\r\n\r\n },\r\n {\r\n key: \"rate\",\r\n text: \"Rate\",\r\n className: \"rate\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => row.rate.toFixed(2)\r\n },\r\n /* {\r\n key: \"cummulative_quantity\",\r\n text: \"cummulative_quantity\",\r\n className: \"cummulative_quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => row.cummulative_quantity.toFixed(2)\r\n }, */\r\n /* {\r\n key: \"disc\",\r\n text: \"Disc%\",\r\n className: \"disc\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n \r\n }, */\r\n {\r\n key: \"sub_total\",\r\n text: \"Amount\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.sub_total.toFixed(2)\r\n },\r\n\r\n\r\n /* {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.cgst \r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.sgst \r\n }, */\r\n /* {\r\n key: \"igst\",\r\n text: \"IGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.igst \r\n }, */\r\n /* {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n right: true,\r\n width:200,\r\n cell: (row, index) => row.total.toFixed(2) \r\n }, */\r\n ];\r\n this.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchcolumns = [\r\n \r\n {\r\n key: \"pharmacy_id\",\r\n text: \"Pharmacy ID\",\r\n className: \"searchpharmacy_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Address\",\r\n className: \"pharmacy_location\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n \r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.clearBatches = this.clearBatches.bind(this);\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n \r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData, errors });\r\n };\r\n\r\n clearBatches = () => {\r\n this.setState({\r\n \r\n selectedBatches: [],\r\n }, () => {\r\n console.log(\"Batches and selected batches cleared.\");\r\n });\r\n };\r\n handleBatchClose = () => {\r\n this.clearBatches(); // Clear batches when modal is closed\r\n this.setState({ showModel: false });\r\n };\r\n deleteElementsUpToIndex(array, index) {\r\n // Check if the index is valid\r\n if (index < 0 || index >= array.length) {\r\n console.error(\"Invalid index\");\r\n return array; // Return the original array if the index is invalid\r\n }\r\n \r\n // Return a new array starting from the specified index\r\n return array.slice(index);\r\n}\r\n selectBatch = (batches, expdates, selectedIndex) => {\r\n const updatedRecords = [...this.state.records];\r\n const batcheslength = batches.length;\r\n console.log(\"Selected Index:\", selectedIndex);\r\n console.log(\"Batches:\", batches);\r\n // console.log(\"Quantities:\", quantities);\r\n console.log(\"old batch length\", batcheslength);\r\n console.log(\"New batches length\", batches.length);\r\n console.log(\"First Record:\", updatedRecords[0]);\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const drug_id=updatedRecords[this.state.currentRow]?.drug_id;\r\n const drugNameToSet = updatedRecords[this.state.currentRow]?.generic_name;\r\n const packToSet = updatedRecords[this.state.currentRow]?.pack;\r\n const storagebin = updatedRecords[this.state.currentRow]?.storage_bin;\r\n const mrp = updatedRecords[this.state.currentRow]?.mrp;\r\n const cgst = updatedRecords[this.state.currentRow]?.cgst;\r\n const sgst = updatedRecords[this.state.currentRow]?.sgst;\r\n const hsn_code = updatedRecords[this.state.currentRow]?.hsn_code;\r\n const conversion_factor = updatedRecords[this.state.currentRow]?.conversion_factor;\r\n console.log(\"Drug Name to Set:\", drugNameToSet);\r\n\r\n if (this.state.currentRow === 0) {\r\n // Loop through each selected batch and update the corresponding row\r\n batches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n\r\n expdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n // quantities.forEach((quantity, index) => {\r\n // if (updatedRecords[this.state.currentRow + index]) {\r\n // updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n // console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n // }\r\n // });\r\n } \r\nelse{\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const updatedbatches=this.deleteElementsUpToIndex(batches, this.state.currentRow);\r\n updatedbatches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n const updatedexpdates=this.deleteElementsUpToIndex(expdates, this.state.currentRow);\r\n updatedexpdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n // const updatedquantities=this.deleteElementsUpToIndex(quantities, this.state.currentRow);\r\n \r\n // updatedquantities.forEach((quantity, index) => {\r\n // if (updatedRecords[this.state.currentRow + index]) {\r\n // updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n // console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n // }\r\n // });\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n}\r\n \r\n this.setState({ records: updatedRecords }, () => {\r\n console.log('Updated Records after Set State:', this.state.records);\r\n this.calculateTaxAmountSection();\r\n this.setState({ selectedBatches: [], selectedExpdates: [] ,selectedQuantities:[]});\r\n });\r\n };\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n handlePhoneInput = (event) => {\r\n event.preventDefault();\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n data[event.target.name] = event.target.value\r\n .replace(/\\s/g, \"\")\r\n .replace(/[^0-9+]+/g, \"\");\r\n data.error = \"\";\r\n this.setState({ searchData: data, errors });\r\n };\r\n\r\n handleAdd = (e) => {\r\n let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n\r\n name === \"patient_name\" ||\r\n name === \"address\" ||\r\n name === \"created_by\" ||\r\n name === \"remarks\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ saleReturnData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n handleInput = (index, field) => (event) => {\r\n const { value } = event.target;\r\n const records = [...this.state.records]; // Create a copy of the records\r\n records[index][field] = value; // Update the specific field for the specific index\r\n // console.log(value);\r\n // console.log(index,field);\r\n console.log(records);\r\n this.setState({ records }); // Update the state with the new records\r\n };\r\n\r\n \r\n getBatchandExpDateBydrugname = (index, selectedOption) => {\r\n if (selectedOption != null) {\r\n this.setState({ batches: [] });\r\n axios.post(getBatchandExpDateBydrugname, { generic_name: selectedOption.label,specified_date: new Date() }, CONFIG)\r\n .then((drugResponse) => {\r\n // Ensure batches is always an array\r\n let batches = Array.isArray(drugResponse.data.data) ? drugResponse.data.data : [];\r\n console.log(\"Fetched batches: \", batches);\r\n this.setState({ batches, });\r\n })\r\n .catch(error => {\r\n console.error('Error fetching batch data:', error);\r\n this.setState({ batches: [],loading:false }); // Set to empty array on error\r\n });\r\n }\r\n }\r\n\r\n handleShow = (index) => {\r\n const currentRecord = this.state.records[index];\r\n console.log(currentRecord);\r\n console.log(\"curent index\", index);\r\n console.log(this.state.selectedBatches);\r\n\r\n // Create the current batch object\r\n const currentBatchInRow = {\r\n batch_no: currentRecord.batch_no || 'Select Batch',\r\n exp_date: currentRecord.exp_date || 'N/A',\r\n };\r\n console.log(currentBatchInRow);\r\n\r\n // Determine the selectedBatch based on the existence of batch_no\r\n const selectedBatch = currentRecord.batch_no\r\n ? currentBatchInRow // If batch_no exists, use currentBatchInRow\r\n : { batch_no: 'Select Batch', exp_date: 'N/A' }; // If not, use default\r\n\r\n // Set the current row index and selected batch in a single setState call\r\n this.setState({\r\n currentRow: index,\r\n selectedBatch: currentBatchInRow, // Set the selected batch based on the logic\r\n showModel: true,\r\n selectedBatches: [], // Show the modal\r\n //batches:[],\r\n });\r\n\r\n };\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n saleReturnData: {\r\n ...prevState.saleReturnData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n getMaxAllowedQuantity = (genericName, batchno) => {\r\n return axios.post(getQuantityBygenericnameandbatchno, { \r\n generic_name: genericName,\r\n batch_no: batchno,\r\n specified_date: new Date() \r\n }, CONFIG)\r\n .then((response) => {\r\n console.log(response.data.data[0].quantity);\r\n // Ensure batches is always an array\r\n let maxAllowedQuantity = response.data.data[0].quantity ? response.data.data[0].quantity : 0.0;\r\n console.log(\"Fetched Quantity: \", maxAllowedQuantity);\r\n return maxAllowedQuantity; // Return the fetched quantity\r\n })\r\n .catch(error => {\r\n console.error('Error fetching data:', error);\r\n this.setState({ maxAllowedQuantity: 0.0 }); // Set to 0 on error\r\n return 0.0; // Return 0 on error\r\n });\r\n};\r\nhandleQuantityInputChange = (index, key) => event => {\r\n const newQuantity = event.target.value ? parseFloat(event.target.value) : '';\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = newQuantity; // Temporarily set the new quantity\r\n\r\n console.log(newQuantity);\r\n\r\n // Get the drug name and batch number from the record\r\n const drugName = updatedData[index].generic_name; // Adjust based on your data structure\r\n const batchNo = updatedData[index].batch_no; // Adjust based on your data structure\r\n\r\n // Fetch the maximum allowed quantity\r\n this.getMaxAllowedQuantity(drugName, batchNo).then(maxAllowedQuantity => {\r\n console.log(maxAllowedQuantity);\r\n\r\n // Validate the new quantity\r\n if (newQuantity > maxAllowedQuantity) {\r\n console.log(\"Showing popup: Quantity exceeds maximum allowed.\"); // Debugging log\r\n \r\n this.setState({\r\n quantitypopup: true,\r\n popupMessage: `Quantity cannot exceed the maximum allowed quantity of ${maxAllowedQuantity}.`\r\n });\r\n \r\n updatedData[index][key] = maxAllowedQuantity; // Reset to max allowed\r\n \r\n } else {\r\n updatedData[index][key] = newQuantity; // Set to new quantity if valid\r\n }\r\n\r\n // Update the state with the validated quantity\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateRate(index);\r\n this.calculateCummulativeQuantity(index);\r\n });\r\n }).catch(error => {\r\n console.error('Error fetching max allowed quantity:', error);\r\n // Handle error appropriately, e.g., reset quantity or show an error message\r\n });\r\n};\r\n handleInputChange = (e) => {\r\n const value = e.target.value;\r\n const discountPercentage = value ? parseFloat(value) : 0; // Parse the input value\r\n\r\n // Update the discount percentage in the state\r\n this.setState({ discountPercentage }, () => {\r\n this.calculateDiscountAmounts();\r\n\r\n // Calculate discount amounts for all records\r\n });\r\n };\r\n calculateDiscountAmounts = () => {\r\n const { records, discountPercentage } = this.state;\r\n\r\n // Calculate discount amounts for all records\r\n const updatedRecords = records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = (sub_total * (discountPercentage / 100)); // Calculate discount amount\r\n return { ...record, discAmt }; // Return updated record\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords }, () => {\r\n this.calculateTotals();\r\n // this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n calculateTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = record.discAmt || 0; // Default to 0 if undefined\r\n const cgstAmt = record.cgstAmt || 0; // Default to 0 if undefined\r\n const sgstAmt = record.sgstAmt || 0; // Default to 0 if undefined\r\n const gstAmt = cgstAmt + sgstAmt;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n // Calculate the total\r\n const total = (sub_total - discAmt) + gstAmt;\r\n return { ...record, total }; // Return updated record with total\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n\r\n\r\n calculateRate = (index) => {\r\n let updatedData = [...this.state.records];\r\n let mrp = updatedData[index].mrp || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n let conversion_factor = updatedData[index].conversion_factor || 1;\r\n let cgst = updatedData[index].cgst || 0;\r\n let sgst = updatedData[index].cgst || 0;\r\n let gst = Number(cgst) + Number(sgst);\r\n console.log(cgst);\r\n console.log(sgst);\r\n console.log(gst);\r\n if (quantity != null && quantity !== 0) {\r\n if (gst == 5) {\r\n updatedData[index].rate = mrp / 1.05;\r\n } else if (gst == 12) {\r\n updatedData[index].rate = mrp / 1.12;\r\n }\r\n else if (gst == 18) {\r\n updatedData[index].rate = mrp / 1.18;\r\n }\r\n\r\n } else if (loose != null && loose !== 0) {\r\n updatedData[index].rate = mrp / conversion_factor;\r\n\r\n }\r\n\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n this.calculateSubTotals();\r\n //this.calculateTotals();\r\n });\r\n };\r\n\r\n calculateCummulativeQuantity=(index)=>{\r\n let updatedData = [...this.state.records];\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n let conversion_factor = updatedData[index].conversion_factor || 1;\r\n if (quantity !== null && quantity !== 0) {\r\n updatedData[index].cummulative_quantity = quantity + (loose/conversion_factor);\r\n console.log(updatedData[index].cummulative_quantity);\r\n console.log(quantity);\r\n console.log(loose);\r\n console.log(conversion_factor);\r\n \r\n }\r\n else if (loose !== null && loose !== 0) {\r\n updatedData[index].cummulative_quantity = quantity + (loose/conversion_factor);\r\n }\r\n this.setState({ records: updatedData });\r\n }\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let rate = updatedData[index].rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n if (quantity !== null && quantity !== 0) {\r\n updatedData[index].sub_total = quantity * rate;\r\n }\r\n else if (loose !== null && loose !== 0) {\r\n updatedData[index].sub_total = loose * rate;\r\n }\r\n this.setState({ records: updatedData }, () => {\r\n\r\n // this.calculateTotal(index);\r\n // this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n this.calculateGstAmount(index);\r\n });\r\n };\r\n\r\n calculateSubTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const rate = record.rate || 0;\r\n const quantity = record.quantity || 0;\r\n const loose = record.loose || 0;\r\n let sub_total = 0;\r\n if (quantity > 0) {\r\n sub_total = quantity * rate;\r\n } else if (loose > 0) {\r\n sub_total = loose * rate;\r\n }\r\n\r\n // Return the updated record with the calculated subtotal\r\n return { ...record, sub_total };\r\n\r\n\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n this.calculateTotals();\r\n\r\n });\r\n };\r\n\r\n calculateTaxAmounts = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const taxrate = record.taxrate || 0;\r\n let sub_total = 0; // Initialize sub_total\r\n\r\n // Assuming you have a quantity and rate in each record\r\n const quantity = record.quantity || 0; // Default to 0 if undefined\r\n const rate = record.rate || 0; // Default to 0 if undefined\r\n\r\n // Calculate subtotal based on the tax rate\r\n if (taxrate === 5) {\r\n // Example calculation for 5% tax\r\n sub_total = quantity * rate * 1.05; // Including tax\r\n } else if (taxrate === 12) {\r\n // Example calculation for 12% tax\r\n sub_total = quantity * rate * 1.12; // Including tax\r\n } else if (taxrate === 18) {\r\n // Example calculation for 18% tax\r\n sub_total = quantity * rate * 1.18; // Including tax\r\n } else {\r\n // If tax rate is not recognized, just calculate the base subtotal\r\n sub_total = quantity * rate; // No tax applied\r\n }\r\n\r\n // Return the updated record with the calculated subtotal\r\n return { ...record, sub_total };\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData });\r\n };\r\n\r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let gstAmt = updatedData[index].gstAmt || 0;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n updatedData[index].total = sub_total - discAmt + gstAmt;\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = (sub_total * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n\r\n calculateGstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n let cgstAmt = updatedData[index].cgstAmt;\r\n let sgstAmt = updatedData[index].sgstAmt;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n updatedData[index].gstAmt = (cgstAmt + sgstAmt);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n \r\n handlepaymentselectChange = (selectedOptions, e) => {\r\n let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n this.setState({ saleReturnData: data, errors, searchErrorMessage: \"\" });\r\n }\r\n\r\n clearErrors = (errors) => {\r\n\r\n \r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no= \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n \r\n let data = this.state.purchaseEntryData;\r\n \r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label:\"\",value:\"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n \r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ purchaseEntryData: data, actions: \"add\",voucher_no:\"\", errors: errors, searchErrorMessage: \"\", records: [], \r\n search_action: false, \r\n totalAmtSec: { \r\n discAmt: 0, \r\n cgstAmt: 0, \r\n sgstAmt: 0, \r\n igstAmt: 0, \r\n total: 0,\r\n sub_total:0,\r\n \r\n },\r\n\r\n });\r\n }\r\n \r\n clearimport=()=>{\r\n this.setState({ file:\"\" });\r\n };\r\n \r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n handleQuantityInputChange = (index, key) => event => {\r\n const newQuantity = event.target.value ? parseFloat(event.target.value) : '';\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = newQuantity; // Temporarily set the new quantity\r\n \r\n console.log(newQuantity);\r\n \r\n // Get the drug name and batch number from the record\r\n const drugName = updatedData[index].generic_name; // Adjust based on your data structure\r\n const batchNo = updatedData[index].batch_no; // Adjust based on your data structure\r\n \r\n // Fetch the maximum allowed quantity\r\n this.getMaxAllowedQuantity(drugName, batchNo).then(maxAllowedQuantity => {\r\n console.log(maxAllowedQuantity);\r\n \r\n // Validate the new quantity\r\n if (newQuantity > maxAllowedQuantity) {\r\n console.log(\"Showing popup: Quantity exceeds maximum allowed.\"); // Debugging log\r\n \r\n this.setState({\r\n quantitypopup: true,\r\n popupMessage: `Quantity cannot exceed the maximum allowed quantity of ${maxAllowedQuantity}.`\r\n });\r\n \r\n updatedData[index][key] = maxAllowedQuantity; // Reset to max allowed\r\n \r\n } else {\r\n updatedData[index][key] = newQuantity; // Set to new quantity if valid\r\n }\r\n \r\n // Update the state with the validated quantity\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateRate(index);\r\n this.calculateCummulativeQuantity(index);\r\n });\r\n }).catch(error => {\r\n console.error('Error fetching max allowed quantity:', error);\r\n // Handle error appropriately, e.g., reset quantity or show an error message\r\n });\r\n };\r\n\r\n /* calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let amt = 0.0;\r\n let taxAmt = 0.0;\r\n let taxVal = 0.0;\r\n let totalAmt = 0.0;\r\n let sub_total=0.0;\r\n console.log(records);\r\n\r\n records.map((data, i) => {\r\n if (undefined !== data.fee) {\r\n amt = Number(amt) + Number(data.fee);\r\n }\r\n if (undefined !== data.gst_amount) {\r\n taxAmt = Number(taxAmt) + Number(data.gst_amount);\r\n }\r\n if (undefined !== data.taxable_value) {\r\n taxVal = Number(taxVal) + Number(data.taxable_value);\r\n }\r\n if (undefined !== data.total_amount) {\r\n totalAmt = Number(totalAmt) + Number(data.total_amount);\r\n }\r\n if (undefined !== data.quantity) {\r\n sub_total = Number(data.quantity) * Number(data.p_rate);\r\n }\r\n });\r\n\r\n totalAmtSec.amt = amt;\r\n totalAmtSec.taxAmt = taxAmt;\r\n totalAmtSec.taxVal = taxVal;\r\n totalAmtSec.totalAmt = totalAmt;\r\n totalAmtSec.sub_total=sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(totalAmt)+\" rupees only\";\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n }; \r\n */\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let gstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n let roundtotal = 0.0;\r\n let rounddiff = 0.0;\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n\r\n if (data.gstAmt !== undefined) {\r\n gstAmt += Number(data.gstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.gstAmt = gstAmt;\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.roundtotal = Math.round(total);\r\n totalAmtSec.rounddiff = total - totalAmtSec.roundtotal;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n\r\n\r\n addSaleReturnData() {\r\n\r\n\r\n let { saleReturnData, errors } = this.state;\r\n saleReturnData.type = \"saleReturnData\";\r\n errors = Validation(saleReturnData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n /* phone_number: saleReturnData.phone_number || this.state.searchData.phone_number, */\r\n patient_name: saleReturnData.customer_name.label,\r\n address: saleReturnData.address || this.state.customer_address,\r\n remarks: saleReturnData.remarks,\r\n bill_date: saleReturnData.bill_date,\r\n /* doctorreg_no: saleReturnData.doctorreg_no,\r\n doctor_name: saleReturnData.doctor_name, */\r\n created_by: saleReturnData.created_by,\r\n records: this.state.records,\r\n discPercent: this.state.discountPercentage,\r\n subtotalAmount: this.state.totalAmtSec.sub_total.toFixed(2),\r\n totalAmount: this.state.totalAmtSec.total.toFixed(2),\r\n discountAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n cgstAmt5:this.state.totalTaxAmtSec.cgstAmt5.toFixed(2),\r\n sgstAmt5:this.state.totalTaxAmtSec.sgstAmt5.toFixed(2),\r\n taxAmt5:this.state.totalTaxAmtSec.taxAmt5.toFixed(2),\r\n sub_total5:this.state.totalTaxAmtSec.sub_total5.toFixed(2),\r\n cgstAmt12:this.state.totalTaxAmtSec.cgstAmt12.toFixed(2),\r\n sgstAmt12:this.state.totalTaxAmtSec.sgstAmt12.toFixed(2),\r\n taxAmt12:this.state.totalTaxAmtSec.taxAmt12.toFixed(2),\r\n sub_total12:this.state.totalTaxAmtSec.sub_total12.toFixed(2),\r\n cgstAmt18:this.state.totalTaxAmtSec.cgstAmt18.toFixed(2),\r\n sgstAmt18:this.state.totalTaxAmtSec.sgstAmt18.toFixed(2),\r\n taxAmt18:this.state.totalTaxAmtSec.taxAmt18.toFixed(2),\r\n sub_total18:this.state.totalTaxAmtSec.sub_total18.toFixed(2),\r\n // payment_mode: saleReturnData.payment_mode.label,\r\n customer_type: 'b2b',\r\n cn_type:'salesreturn'\r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n\r\n axios\r\n\r\n .post(addSaleReturnDataB2B, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n editformSuccess: res,\r\n bill_no: res.data[0].bill_no,\r\n bill_date: this.state.bill_date\r\n });\r\n toast.success(\"The Sale Return voucher have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n\r\n this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Sale Return voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n\r\n }\r\n }\r\n\r\n generate() {\r\n let { saleReturnData, errors } = this.state;\r\n saleReturnData.type = \"saleReturnData\";\r\n errors = Validation(saleReturnData, errors);\r\n this.setState({ errors: errors });\r\n \r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n /* phone_number: saleReturnData.phone_number || this.state.searchData.phone_number, */\r\n patient_name: saleReturnData.customer_name.label,\r\n address: saleReturnData.address || this.state.customer_address,\r\n remarks: saleReturnData.remarks,\r\n bill_date: saleReturnData.bill_date,\r\n /* doctorreg_no: saleReturnData.doctorreg_no,\r\n doctor_name: saleReturnData.doctor_name, */\r\n created_by: saleReturnData.created_by,\r\n records: this.state.records\r\n };\r\n console.log(data);\r\n console.log(this.state.bill_no);\r\n console.log(this.state.saleReturnData.bill_date);\r\n this.props.history.push({\r\n pathname: \"/creditnoteinvoice/\" + this.state.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/creditnoteinvoice/\" + this.state.bill_no,\r\n state: {\r\n bill_no: this.state.bill_no,\r\n bill_date: this.state.saleReturnData.bill_date.toString(),\r\n customer_name: saleReturnData.customer_name.label,\r\n customer_address: saleReturnData.address || this.state.customer_address,\r\n food_licence:this.state.food_licence,\r\n remarks:this.state.saleReturnData.remarks,\r\n gst_no:this.state.gst_no,\r\n drug_licence1:this.state.drug_licence1,\r\n drug_licence2:this.state.drug_licence2,\r\n drug_licence3:this.state.drug_licence3,\r\n /* doctorreg_no: this.state.saleReturnData.doctorreg_no,\r\n doctor_name: this.state.saleReturnData.doctor_name, */\r\n sub_total: this.state.totalAmtSec.sub_total.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n discAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n total: this.state.totalAmtSec.total.toFixed(2),\r\n totalAmtWords: this.state.totalAmtSec.totalAmtWords,\r\n roundtotal: this.state.totalAmtSec.roundtotal.toFixed(2),\r\n rounddiff: this.state.totalAmtSec.rounddiff.toFixed(2),\r\n sub_total5: this.state.totalTaxAmtSec.sub_total5,\r\n cgstAmt5: this.state.totalTaxAmtSec.cgstAmt5,\r\n sgstAmt5: this.state.totalTaxAmtSec.sgstAmt5,\r\n taxAmt5: this.state.totalTaxAmtSec.taxAmt5,\r\n sub_total12: this.state.totalTaxAmtSec.sub_total12,\r\n cgstAmt12: this.state.totalTaxAmtSec.cgstAmt12,\r\n sgstAmt12: this.state.totalTaxAmtSec.sgstAmt12,\r\n taxAmt12: this.state.totalTaxAmtSec.taxAmt12,\r\n sub_total18: this.state.totalTaxAmtSec.sub_total18,\r\n cgstAmt18: this.state.totalTaxAmtSec.cgstAmt18,\r\n sgstAmt18: this.state.totalTaxAmtSec.sgstAmt18,\r\n taxAmt18: this.state.totalTaxAmtSec.taxAmt18,\r\n customer_type:'b2b',\r\n cn_type:'salesreturn'\r\n }\r\n });\r\n }\r\n }\r\nhandlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { saleReturnData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n saleReturnData.address = place.formatted_address;\r\n \r\n\r\n this.setState({\r\n saleReturnData,\r\n });\r\n }\r\n componentWillUnmount() { this._isMounted = false; }\r\n componentDidMount = () => {\r\n this._isMounted = true;\r\n this.fetchMasterCustomerNames();\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n\r\n //set first record as consultation fee by default\r\n /* let consultation_fee_record = {};\r\n consultation_fee_record.s_no = 1;\r\n consultation_fee_record.description = \"Consultation Fee\";\r\n consultation_fee_record.fee = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n consultation_fee_record.disc = \"\";\r\n consultation_fee_record.taxable_value = \"\";\r\n consultation_fee_record.gst_rate = \"\";\r\n consultation_fee_record.gst_amount = \"\";\r\n consultation_fee_record.total_amount = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n*/\r\n let records = [];\r\n // records.push(consultation_fee_record); \r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n \r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n };\r\n\r\n fetchMasterCustomerNames=()=>{\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyCustomerList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n console.log(data.data);\r\n const mastercustomerNameList = data.data;\r\n const uniquecustomerNames = new Set();\r\n const mastercustomerNames = mastercustomerNameList\r\n .filter((element) => {\r\n\r\n if (!uniquecustomerNames.has(element.customer_name)) {\r\n uniquecustomerNames.add(element.customer_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.customer_id,\r\n label: element.customer_name,\r\n\r\n }));\r\n\r\n this.setState({ mastercustomerNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n });\r\n\r\n\r\n }\r\n onDeleteClick(record) {\r\n \r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n // Filter out the record to delete\r\n const updatedRecords = this.state.records.filter(item => item.s_no !== record.s_no);\r\n \r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords, addPopup: false }, () => {\r\n toast.success(\"The Sale Entry detail has been deleted successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.calculateSubTotals();\r\n console.log(updatedRecords);\r\n });\r\n }\r\n \r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n const drugNameToSet = selectedOption ? selectedOption.label : ''; // Get the selected drug name\r\n\r\n // Update the drug_name for the specific record\r\n updatedData[index].generic_name = drugNameToSet;\r\n\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n console.log(updatedData[index][key])\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData, selectedBatches: [], batches: [] });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n this.getBatchandExpDateBydrugname(index, selectedOption,new Date());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n\r\n\r\nfetchItemDetails = (index, selectedOption) => {\r\n // Fetch item list for the selected drug\r\n if (selectedOption != null) {\r\n\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n const itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Fetch batch numbers and expiry dates for the selected drug\r\n return axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((batchResponse) => {\r\n const batch_no = batchResponse.data.data;\r\n console.log(\"Fetched Batch Numbers: \", batch_no); // Verify the batch response\r\n\r\n // Find the item in the item list\r\n const item = itemList.find(item => item.generic_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data\r\n const updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n drug_id:selectedOption.value,\r\n pack: item.unit_of_measure,\r\n batch_no: item.batch_no, // Ensure batch_no is a string\r\n mrp: batch_no.length > 0 ? batch_no[0].mrp : \"\", // Handle case where batch_no might be empty\r\n storage_bin: item.storage_bin,\r\n conversion_factor: item.conversion_factor,\r\n cgst: item.cgst,\r\n sgst: item.sgst,\r\n hsn_code: item.hsn_code,\r\n\r\n // igst: this.state.State_value === this.state.gst_state ? item.igst : \"\",\r\n // sub_total: updatedData[index].quantity * updatedData[index].rate,\r\n };\r\n\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection(); // Call calculateSection after state update\r\n this.calculateTaxAmountSection();\r\n });\r\n }\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }\r\n};\r\n\r\n \r\n\r\ncalculateTaxAmountSection = () => {\r\n let records = this.state.records;\r\n let totalTaxAmtSec = { ...this.state.totalTaxAmtSec };\r\n\r\n // Initialize tax amounts and totals for each tax rate\r\n let taxSummary = {\r\n 5: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 12: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 18: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n };\r\n\r\n\r\n records.forEach((data) => {\r\n const taxRate = data.taxrate;\r\n\r\n\r\n if (taxSummary[taxRate]) {\r\n console.log(\"Current Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n\r\n taxSummary[taxRate].cgstAmt += Number(data.cgstAmt) || 0;\r\n taxSummary[taxRate].sgstAmt += Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].taxAmt += Number(data.cgstAmt) + Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].sub_total += Number(data.sub_total) || 0;\r\n\r\n console.log(\"Updated Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n }\r\n });\r\n\r\n // Ensure totalTaxAmtSec has the necessary properties initialized\r\n totalTaxAmtSec = {\r\n cgstAmt5: totalTaxAmtSec.cgstAmt5 || 0,\r\n sgstAmt5: totalTaxAmtSec.sgstAmt5 || 0,\r\n taxAmt5: totalTaxAmtSec.taxAmt5 || 0,\r\n sub_total5: totalTaxAmtSec.sub_total5 || 0,\r\n cgstAmt12: totalTaxAmtSec.cgstAmt12 || 0,\r\n sgstAmt12: totalTaxAmtSec.sgstAmt12 || 0,\r\n taxAmt12: totalTaxAmtSec.taxAmt12 || 0,\r\n sub_total12: totalTaxAmtSec.sub_total12 || 0,\r\n cgstAmt18: totalTaxAmtSec.cgstAmt18 || 0,\r\n sgstAmt18: totalTaxAmtSec.sgstAmt18 || 0,\r\n taxAmt18: totalTaxAmtSec.taxAmt18 || 0,\r\n sub_total18: totalTaxAmtSec.sub_total18 || 0,\r\n };\r\n\r\n\r\n\r\n // Update the totalTaxAmtSec object with calculated values\r\n totalTaxAmtSec.cgstAmt5 = taxSummary[5].cgstAmt;\r\n totalTaxAmtSec.sgstAmt5 = taxSummary[5].sgstAmt;\r\n totalTaxAmtSec.taxAmt5 = taxSummary[5].taxAmt;\r\n totalTaxAmtSec.sub_total5 = taxSummary[5].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt12 = taxSummary[12].cgstAmt;\r\n totalTaxAmtSec.sgstAmt12 = taxSummary[12].sgstAmt;\r\n totalTaxAmtSec.taxAmt12 = taxSummary[12].taxAmt;\r\n totalTaxAmtSec.sub_total12 = taxSummary[12].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt18 = taxSummary[18].cgstAmt;\r\n totalTaxAmtSec.sgstAmt18 = taxSummary[18].sgstAmt;\r\n totalTaxAmtSec.taxAmt18 = taxSummary[18].taxAmt;\r\n totalTaxAmtSec.sub_total18 = taxSummary[18].sub_total;\r\n\r\n console.log(\"Final Total Tax Amount Section:\", totalTaxAmtSec);\r\n\r\n // Update the state with the new total tax amounts\r\n this.setState({ totalTaxAmtSec });\r\n};\r\n \r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ saleReturnData: data, errors: errors });\r\n }\r\n\r\n \r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n};\r\n\r\n\r\nhandlecustomerselectChange = async (selectedOptions, e) => {\r\n let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n \r\n this.setState({ saleReturnData: data, errors,searchErrorMessage: \"\" });\r\n\r\n axios\r\n .post(getAllPharmacyCustomerList,{user_id:this.props.userdata.id,customer_name:selectedOptions.label}, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data=resdata.data[0];\r\n console.log(resdata.status);\r\n \r\n if (resdata.status == \"1\") \r\n {\r\n let gst_no=data.gst_no;\r\n let customer_address=data.address1+','+data.city+','+data.country+','+data.zip_code;\r\n let food_licence=data.food_licence;\r\n const foodlicenceparsed=JSON.parse(food_licence);\r\n let drug_licence1=data.drug_licence1;\r\n const druglicence1parsed=JSON.parse(drug_licence1);\r\n let drug_licence2=data.drug_licence2;\r\n const druglicence2parsed=JSON.parse(drug_licence2);\r\n let drug_licence3=data.drug_licence3;\r\n const druglicence3parsed=JSON.parse(drug_licence3);\r\n this.setState({ customer_address: customer_address ,gst_no:gst_no,food_licence:foodlicenceparsed.food_licence\r\n ,drug_licence1:druglicence1parsed.drug_licence1,drug_licence2:druglicence2parsed.drug_licence2,drug_licence3:druglicence3parsed.drug_licence3}, () => {\r\n console.log(\"Updated address: \", this.state.customer_address,\"gstno\",gst_no); }); }\r\n \r\n }).catch((e) => { });\r\n\r\n}\r\n\r\nSalesPatient=()=>\r\n {\r\n this.props.history.push(\"/salereturnvoucher/\"); \r\n }\r\n render() {\r\n const payment_mode = [\r\n { value: 0, label: \"Cash\" },\r\n { value: 1, label: \"UPI\" },\r\n { value: 2, label: \"Credit card\" },\r\n { value: 3, label: \"Debit card\" },\r\n\r\n ];\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n let PopupQuantityClose = () => {\r\n this.setState({ quantitypopup: false })\r\n\r\n };\r\n const { saleReturnData,records,batches, errors,showModel, formSuccess, tableSuccess, hospitaltimeout,mastercustomerNames,gst_state,State_value,searchErrorMessage,searchTableSuccess,loading } = this.state;\r\n const formattedSubTotal12 = this.state.totalTaxAmtSec.sub_total12.toFixed(2);\r\n return (\r\n\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Sale Return Voucher - B2B

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Sale Return Voucher\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n{/*
    */} \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n */}\r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n\r\n \r\n \r\n 5%\r\n \r\n \r\n {this.state.totalTaxAmtSec.sub_total5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt5.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {formattedSubTotal12}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt12.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.state.totalTaxAmtSec.sub_total18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt18.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n\r\n{/* \r\n \r\n \r\n */}\r\n \r\n Save\r\n \r\n \r\n Generate\r\n \r\n {/* \r\n Attach Prescription\r\n */}\r\n \r\n clear\r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    )}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(SaleReturnVoucherForBusiness));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","\r\nimport React from 'react'\r\n\r\nconst CustomerDetails = ({customer_name,address,gst_no,drug_licence1,drug_licence2,drug_licence3}) => {\r\n return (\r\n <>\r\n

    Customer Name:{customer_name}

    \r\n

    Address: {address}

    \r\n

    GST No: {gst_no}

    \r\n

    DL Nos: {drug_licence1}, {drug_licence2}, {drug_licence3}

    \r\n \r\n )\r\n}\r\n\r\nexport default CustomerDetails","\r\nimport React from 'react'\r\n\r\nconst PatientDetails = ({patient_name,patient_address,doctor_name,doctorreg_no}) => {\r\n return (\r\n <>\r\n

    Patient Name:{patient_name}

    \r\n

    Patient Address: {patient_address}

    \r\n

    Doctor Name: {doctor_name}

    \r\n

    Doctor Reg. No: {doctorreg_no}

    \r\n \r\n )\r\n}\r\n\r\nexport default PatientDetails","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { formatDate } from \"../constants/config/data\";\r\nimport {\r\n getPharmacyList,\r\n getAllSaleReturnListbybillno,\r\n addPharmacy,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getPharmacyShortDetail,\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport logo from '../assets/images/logo.png';\r\nimport CustomerDetails from \"./CustomerDetails\";\r\nimport PatientDetails from \"./PatientDetails\";\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\n\r\nclass Creditnoteinvoice extends Component {\r\n _isMounted = false;\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n pharmacyData: {\r\n pharmacy_id: \"\",\r\n searchpharmacy_id:\"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n online_prescription_obj: { value: \"\", label: \"\" },\r\n online_prescription: \"\",\r\n pharmacy_verification:\"\"\r\n },\r\n headerinfo: {\r\n profile_name: \"\",\r\n qualification: \"\",\r\n specialization: \"\",\r\n work_place: \"\",\r\n id: \"\",\r\n languages_known: \"\",\r\n profile_percentage: \"\",\r\n rating: \"\",\r\n profile_img:\"\",\r\n profile_percentage_style:\"\",\r\n business_name:\"\",\r\n speciality_detail:\"\",\r\n address1:\"\",\r\n city:\"\",\r\n zip_code:\"\"\r\n \r\n },\r\n totalAmtSec: {\r\n amt: 0,\r\n taxVal: 0,\r\n taxAmt: 0,\r\n totalAmt: 0,\r\n totalAmtWords: \"\",\r\n },\r\n\r\n errors: {\r\n pharmacy_id: \"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n online_prescription: \"\",\r\n pharmacy_verification:\"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n }\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n \r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n // {\r\n // key: \"pharmacy_location\",\r\n // text: \"Address\",\r\n // className: \"pharmacy_location\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // cell: (record) => {\r\n // return (\r\n // \r\n // \r\n // \r\n // {record.pharmacy_location}\r\n // \r\n // \r\n // \r\n // );\r\n\r\n // }\r\n\r\n // },\r\n {\r\n key: \"hsn_code\",\r\n text: \"HSN\",\r\n className: \"hsn_code\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"exp_date\",\r\n text: \"Exp.Dt\",\r\n className: \"exp_date\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n sortable: true,\r\n align: \"left\",\r\n \r\n },\r\n\r\n \r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"rate\",\r\n text: \"Rate\",\r\n className: \"rate\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cgst\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"sgst\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"sub_total\",\r\n text: \"Amount\",\r\n className: \"sub_total\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n ];\r\n this.config = {\r\n page_size: 9,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n length_menu: [10, 20, 50],\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n \r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors=this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number=\"\";\r\n this.setState({ pharmacyData,errors });\r\n };\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n let errors=this.state.errors;\r\n let { pharmacyData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n \r\n pharmacyData.pharmacy_location = place.formatted_address;\r\n pharmacyData.pharmacy_verification=\"Verified\";\r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n // var valShort = place.address_components[i].short_name;\r\n // console.log(val);\r\n if (addressType === \"administrative_area_level_1\")\r\n pharmacyData.state = val;\r\n if (addressType === \"locality\")\r\n pharmacyData.city = val;\r\n if (addressType === \"country\") pharmacyData.country = val;\r\n // if (addressType === \"street_number\") {\r\n\r\n pharmacyData.address = place.formatted_address;\r\n // }\r\n // if (addressType === \"sublocality_level_1\") pharmacyData.address2 = val;\r\n if (addressType === \"postal_code\") pharmacyData.zip_code = val;\r\n }\r\n }\r\nerrors.city_error=\"\";\r\nerrors.state_error=\"\";\r\nerrors.country_error=\"\";\r\nerrors.zip_code_error=\"\";\r\nerrors.city=\"\";\r\nerrors.state=\"\";\r\nerrors.country=\"\";\r\nerrors.zip_code=\"\";\r\n this.setState({\r\n pharmacyData,errors\r\n });\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n \r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n \r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n \r\n if (isTimedOut===false) \r\n {\r\n // console.log(\"the time is over\");\r\n this.setState({showModal: true})\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({isTimedOut: true})\r\n\r\n } \r\n if(isTimedOut===true)\r\n {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value=event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n \r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n addRecord = (record) => {\r\n let formvalid = true;\r\n if (record.searchpharmacy_id === \"\") {\r\n record.pharmacyid_error = \"The Pharmacy ID field is required.\";\r\n formvalid = false;\r\n } else {\r\n record.pharmacyid_error = \"\";\r\n }\r\n \r\n \r\n let records = this.state.searchrecords;\r\n /* var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex] = record;\r\n this.setState({ searchrecords: records }); */\r\n if (formvalid) {\r\n this.setState({ drug_action: \"Add\" });\r\n //this.setState({ newDatatoAdd: record, loading: true });\r\n // this.addorupdateDrug();\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let selectedData = record;\r\n // console.log(selectedData); return false;\r\n let data = {};\r\n data.user_id = this.props.userdata.id;\r\n data.pharmacy_id = selectedData.searchpharmacy_id;\r\n data.pharmacy_name = selectedData.pharmacy_name;\r\n data.pharmacy_location = selectedData.pharmacy_location;\r\n data.address = selectedData.address;\r\n data.city = selectedData.city;\r\n data.country = selectedData.country;\r\n data.state = selectedData.state;\r\n data.zip_code = selectedData.zip_code;\r\n data.phone_number = selectedData.phone_number;\r\n data.email = selectedData.email;\r\n data.online_prescription=selectedData.online_prescription;\r\n// console.log(data);return false;\r\n axios\r\n .post(addPharmacy, data, CONFIG)\r\n .then((addPharmacyResponse) => {\r\n let res = addPharmacyResponse.data;\r\n \r\n if (res.status === \"1\") {\r\n toast.success(\"The Pharmacy details have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n let pharmacy = {};\r\n let records = this.state.records;\r\n pharmacy.s_no = this.state.records.length + 1;\r\n pharmacy.pharmacy_id = data.pharmacy_id;\r\n pharmacy.id = res.data[0].id;\r\n pharmacy.pharmacy_name = data.pharmacy_name;\r\n pharmacy.address = data.address;\r\n pharmacy.pharmacy_location=data.address;\r\n pharmacy.city = data.city;\r\n pharmacy.country = data.country;\r\n pharmacy.state = data.state;\r\n pharmacy.zip_code = data.zip_code;\r\n pharmacy.phone_number = data.phone_number;\r\n pharmacy.email = data.email;\r\n records.push(pharmacy);\r\n // this.setState({ searchrecords: records });\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getPharmacyList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let pharmacyList = list.data.data;\r\n pharmacyList.forEach((element, index) => {\r\n let pharmacy = {};\r\n pharmacy.s_no = index + 1;\r\n pharmacy.pharmacy_id = element.pharmacy_id;\r\n pharmacy.pharmacy_name = element.pharmacy_name;\r\n pharmacy.id = element.id;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_location = element.pharmacy_location;\r\n pharmacy.phone_number = element.phone_number;\r\n pharmacy.email = element.email;\r\n pharmacy.address = element.address;\r\n pharmacy.city = element.city;\r\n pharmacy.country = element.country;\r\n pharmacy.state = element.state;\r\n pharmacy.zip_code = element.zip_code;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_verification=element.pharmacy_verification;\r\n \r\n pharmacyList[index] = pharmacy;\r\n });\r\n \r\n this.setState({ records: pharmacyList });\r\n })\r\n .catch((e) => { });\r\n \r\n \r\n } \r\n else {\r\n toast.error(\"Pharmacy could not be added \", {\r\n className: \"toast-error\"\r\n });\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n } \r\n })\r\n .catch(() => { });\r\n }\r\n };\r\n\r\n UpdateSearchColumnChange = (record) => {\r\n\r\n let records = this.state.searchrecords;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n\r\n records[recIndex].pharmacy_id = record.pharmacy_id?record.pharmacy_id:\"\";\r\n /* records[recIndex].pharmacy_name = record.pharmacy_name;\r\n records[recIndex].pharmacy_location = record.pharmacy_location;\r\n records[recIndex].address = record.address;\r\n records[recIndex].city = record.city;\r\n records[recIndex].country = record.country;\r\n records[recIndex].state = record.state;\r\n records[recIndex].zip_code = record.zip_code;\r\n records[recIndex].phone_number = record.phone_number; */\r\n\r\n this.setState({ searchrecords: records });\r\n }\r\n Printpage=()=>\r\n { \r\n window.print();\r\n }\r\n\r\n UpdateColumnChange = (record) => {\r\n \r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n \r\n records[recIndex].pharmacy_id = record.pharmacy_id?record.pharmacy_id:\"\";\r\n records[recIndex].pharmacy_name = record.pharmacy_name;\r\n records[recIndex].pharmacy_location = record.pharmacy_location;\r\n records[recIndex].address = record.address;\r\n records[recIndex].city = record.city;\r\n records[recIndex].country = record.country;\r\n records[recIndex].state = record.state;\r\n records[recIndex].zip_code = record.zip_code;\r\n // records[recIndex].phone_number = record.phone_number;\r\n \r\n this.setState({ records: records });\r\n }\r\n UpdatePharmacy = (e) => {\r\n e.preventDefault();\r\n let { pharmacyData, errors } = this.state;\r\n pharmacyData.type = \"pharmacyList\";\r\n \r\n errors = Validation(pharmacyData, errors);\r\n this.setState({ errors: errors });\r\n if (errors.formIsValid) {\r\n let data = this.state.pharmacyData;\r\n data.user_id = this.props.userdata.id;\r\n data.online_prescription = data.online_prescription_obj.label;\r\n if (this.state.actions === \"add\") { \r\n if(data.pharmacy_location==\"\")\r\n {\r\n data.pharmacy_location = data.address;\r\n data.pharmacy_verification=\"Not Verified\";\r\n }else{\r\n \r\n data.pharmacy_verification=\"Verified\";\r\n \r\n }\r\n }else\r\n {\r\n\r\n \r\n if(data.address==data.pharmacy_location)\r\n {\r\n data.pharmacy_verification=data.pharmacy_verification;\r\n console.log(data.pharmacy_verification);\r\n }\r\n else\r\n {\r\n data.address=data.address;\r\n data.pharmacy_verification=\"Not Verified\";\r\n console.log(data.pharmacy_verification);\r\n }\r\n }\r\n console.log(data.pharmacy_location);\r\n console.log(data.address);\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n let url = this.state.actions === \"add\" ? addPharmacy : updatePharmacy;\r\n if (this.state.actions === \"add\") {\r\n axios.post(url, data, CONFIG).then((list) => {\r\n if (0 == list.data.status) {\r\n toast.error(\"Pharmacy could not be added \", {\r\n className: \"toast-error\"\r\n });\r\n this.setState({ errors: { pharmacy_id: list.data.message } });\r\n } else {\r\n let addPharmacy = {};\r\n addPharmacy.pharmacy_id = data.pharmacy_id;\r\n addPharmacy.pharmacy_name = data.pharmacy_name;\r\n addPharmacy.online_prescription = data.online_prescription_obj.label;\r\n addPharmacy.id = list.data.data[0].id;\r\n addPharmacy.address = data.address;\r\n addPharmacy.phone_number = data.phone_number;\r\n addPharmacy.email = data.email;\r\n if(data.pharmacy_location=\"\")\r\n {\r\n addPharmacy.pharmacy_location = data.address;\r\n addPharmacy.pharmacy_verification=data.pharmacy_verification;\r\n }else\r\n {\r\n addPharmacy.pharmacy_location = data.pharmacy_location;\r\n addPharmacy.pharmacy_verification=data.pharmacy_verification;\r\n }\r\n addPharmacy.city = data.city;\r\n addPharmacy.country = data.country;\r\n addPharmacy.state = data.state;\r\n addPharmacy.zip_code = data.zip_code;\r\n addPharmacy.online_prescription = data.online_prescription;\r\n let records = this.state.records;\r\n addPharmacy.s_no = records.length + 1;\r\n records.push(addPharmacy);\r\n\r\n this.setState({ records });\r\n // this.setState({ formSuccess: list.data });\r\n toast.success(\"The Pharmacy details have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getPharmacyList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let pharmacyList = list.data.data;\r\n pharmacyList.forEach((element, index) => {\r\n let pharmacy = {};\r\n pharmacy.s_no = index + 1;\r\n pharmacy.pharmacy_id = element.pharmacy_id;\r\n pharmacy.pharmacy_name = element.pharmacy_name;\r\n pharmacy.id = element.id;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_location = element.pharmacy_location;\r\n pharmacy.phone_number = element.phone_number;\r\n pharmacy.email = element.email;\r\n pharmacy.address = element.address;\r\n pharmacy.city = element.city;\r\n pharmacy.country = element.country;\r\n pharmacy.state = element.state;\r\n pharmacy.zip_code = element.zip_code;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_verification=element.pharmacy_verification;\r\n \r\n pharmacyList[index] = pharmacy;\r\n });\r\n \r\n this.setState({ records: pharmacyList });\r\n })\r\n .catch((e) => { });\r\n \r\n\r\n });\r\n } else {\r\n\r\n axios.put(url, data, CONFIG).then((list) => {\r\n\r\n if (0 == list.data.status) {\r\n toast.error(\"Pharmacy could not be updated \", {\r\n className: \"toast-error\"\r\n });\r\n this.setState({ success: list.data });\r\n } else {\r\n let{editRecord}=this.state;\r\n let place = this.autocomplete.getPlace();\r\n let records = this.state.records;\r\n var addr = document.getElementById(\"address\");\r\n \r\n // Get geocoder instance\r\n var geocoder = new google.maps.Geocoder();\r\n \r\n // Geocode the address\r\n geocoder.geocode({\r\n 'address': addr.value\r\n }, function(results, status) {\r\n if (status === google.maps.GeocoderStatus.OK && results.length > 0) {\r\n \r\n // set it to the correct, formatted address if it's valid\r\n // addr.value = results[0].formatted_address;;\r\n // data.pharmacy_verification=\"Verified\";\r\n } else {\r\n \r\n // show an error if it's not\r\n // alert(\"Invalid address\");\r\n }\r\n });\r\n console.log(addr.value)\r\n // console.log(place.formatted_address);\r\n /* console.log(editRecord.address);\r\n if(data.address==editRecord.address)\r\n {\r\n data.address=data.address;\r\n data.pharmacy_verification=editRecord.pharmacy_verification;\r\n }else\r\n {\r\n data.address=place.formatted_address;\r\n data.pharmacy_verification=\"Verified\";\r\n \r\n }\r\n */ var recIndex = findWithAttr(records, \"id\", data.id);\r\n\r\n records[recIndex].pharmacy_id = data.pharmacy_id;\r\n records[recIndex].pharmacy_name = data.pharmacy_name;\r\n records[recIndex].online_prescription = data.online_prescription_obj.label;\r\n records[recIndex].phone_number = data.phone_number;\r\n records[recIndex].email = data.email;\r\n records[recIndex].address = data.address;\r\n records[recIndex].pharmacy_location = data.address;\r\n records[recIndex].city = data.city;\r\n records[recIndex].country = data.country;\r\n records[recIndex].state = data.state;\r\n records[recIndex].zip_code = data.zip_code;\r\n records[recIndex].online_prescription = data.online_prescription;\r\n records[recIndex].pharmacy_verification = data.pharmacy_verification;\r\n records[recIndex].id = data.id;\r\n\r\n this.setState({ records });\r\n // this.setState({ formSuccess: list.data });\r\n toast.success(\"The Pharmacy details have been updated successfully. \", {\r\n className: \"toast-success\"\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n });\r\n }\r\n\r\n }\r\n };\r\n\r\n clearErrors = (errors) => {\r\n\r\n errors.pharmacy_id = \"\"\r\n errors.pharmacy_name = \"\"\r\n errors.address = \"\"\r\n errors.phone_number = \"\"\r\n errors.email = \"\"\r\n errors.pharmacy_location = \"\"\r\n errors.city = \"\"\r\n errors.country = \"\"\r\n errors.state = \"\"\r\n errors.zip_code = \"\"\r\n errors.online_prescription = \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n let pharmacy_action = this.state.pharmacy_action;\r\n pharmacy_action = \"Add\";\r\n this.setState({ pharmacy_action });\r\n let data = this.state.pharmacyData;\r\n data.pharmacy_id = \"\"\r\n data.pharmacy_name = \"\"\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.online_prescription_obj = {\r\n label:\"\",value:\"\"\r\n }\r\n data.address = \"\"\r\n data.phone_number = \"\"\r\n data.email = \"\"\r\n data.pharmacy_location = \"\"\r\n data.city = \"\"\r\n data.country = \"\"\r\n data.state = \"\"\r\n data.zip_code = \"\"\r\n data.online_prescription = \"\"\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ pharmacyData: data, actions: \"add\", errors: errors, searchErrorMessage: \"\", searchrecords: [], search_action: false });\r\n }\r\n \r\n clearimport=()=>{\r\n this.setState({ file:\"\" });\r\n };\r\n \r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n editRecord(record) {\r\n let pharmacy_action = this.state.pharmacy_action;\r\n pharmacy_action = \"Edit\";\r\n this.setState({ pharmacy_action });\r\n let pharmacyData = this.state.pharmacyData;\r\n console.log(record)\r\n console.log(pharmacyData)\r\n pharmacyData.pharmacy_id = record.pharmacy_id;\r\n pharmacyData.pharmacy_name = record.pharmacy_name;\r\n pharmacyData.id = record.id;\r\n pharmacyData.user_id = record.user_id;\r\n\r\n pharmacyData.online_prescription_obj = {\r\n label: record.online_prescription,\r\n value: (\"Yes\" === record.online_prescription) ? 1 : 0\r\n }\r\n pharmacyData.address = record.pharmacy_location;\r\n pharmacyData.phone_number = record.phone_number;\r\n pharmacyData.email = record.email;\r\n pharmacyData.pharmacy_location = record.address;\r\n pharmacyData.city = record.city;\r\n pharmacyData.country = record.country;\r\n pharmacyData.state = record.state;\r\n pharmacyData.zip_code = record.zip_code;\r\n pharmacyData.online_prescription = record.online_prescription;\r\n pharmacyData.pharmacy_verification=record.pharmacy_verification;\r\n let errors = this.state.errors;\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ pharmacyData: pharmacyData, actions: \"edit\", errors: errors,editRecord:record });\r\n }\r\n componentDidMount = () => {\r\n this._isMounted = true;\r\n /* console.log(this.props.location.state.bill_no);\r\n console.log(this.props.location.state.patient_address);\r\n console.log(this.props.location.state.patient_name);\r\n console.log(this.props.location.state.doctor_name); */\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n \r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n \r\n if (data.status == \"1\"){\r\n\r\nconst foodlicence=data.data[0].food_licence;\r\nconst foodlicenceparsed=JSON.parse(foodlicence);\r\n\r\nconst druglicence1=data.data[0].drug_licence1;\r\nconst druglicence1parsed=JSON.parse(druglicence1);\r\nconst druglicence2=data.data[0].drug_licence2;\r\nconst druglicence2parsed=JSON.parse(druglicence2);\r\nconst druglicence3=data.data[0].drug_licence3;\r\nconst druglicence3parsed=JSON.parse(druglicence3);\r\n this.setState({\r\n avatar:data.data[0].avatar,\r\n pharmacyaddress:data.data[0].address1+'-'+data.data[0].city+'-'+data.data[0].state+'-'+data.data[0].country+'-'+data.data[0].zip_code,\r\n pharmacy_name:data.data[0].pharmacy_name,\r\n gstin:data.data[0].gst_no,\r\n foodLicense: foodlicenceparsed.food_licence,\r\n druglicence1:druglicence1parsed.drug_licence1,\r\n druglicence2:druglicence2parsed.drug_licence2,\r\n druglicence3:druglicence3parsed.drug_licence3,\r\n });\r\n }\r\n \r\n \r\n console.log(this.state.avatar);\r\n console.log(this.state.pharmacyaddress);\r\n })\r\n .catch((e) => { });\r\n \r\n\r\n let members = [];\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSaleReturnListbybillno, { bill_no: this.props.location.state.bill_no}, CONFIG)\r\n .then((list) => {\r\n console.log(list);\r\n let saleList = list.data.data;\r\n \r\n saleList.forEach((element, index) => {\r\n let sale = {};\r\n sale.s_no = index + 1;\r\n sale.generic_name = element.generic_name;\r\n sale.pack = element.pack;\r\n sale.id = element.id;\r\n sale.hsn_code = element.hsn_code;\r\n sale.batch_no = element.batch_no;\r\n sale.exp_date = formatDate(element.exp_date);\r\n sale.quantity = element.quantity;\r\n sale.mrp = element.mrp;\r\n sale.rate = element.rate;\r\n sale.cgst = element.cgst;\r\n sale.sgst = element.sgst;\r\n sale.sub_total=element.sub_total;\r\n saleList[index] = sale;\r\n });\r\n\r\n this.setState({ records: saleList });\r\n })\r\n .catch((e) => { });\r\n\r\n };\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n onDeleteClick(record) {\r\n \r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n \r\n let userId = record.id;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deletePharmacy, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Pharmacy detail has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n }\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors\r\n errors.online_prescription = \"\"\r\n data[e.name] = selectedOptions;\r\n this.setState({ pharmacyData: data, errors });\r\n };\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ pharmacyData: data, errors: errors });\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.pharmacyData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors\r\n if (\r\n name === \"pharmacy_id\" ||\r\n name === \"pharmacy_name\" ||\r\n name === \"address\"||\r\n name===\"city\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n }\r\n this.setState({ pharmacyData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n handleAddressInput = (e) => {\r\n let data = this.state.pharmacyData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors\r\n if (name === \"address\") {\r\n \r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n }\r\n this.setState({ pharmacyData: data, errors,searchErrorMessage: \"\" });\r\n };\r\n searchandshowPharmacy() {\r\n let pharmacyData = this.state.pharmacyData;\r\n console.log(pharmacyData);\r\n \r\n if (\r\n pharmacyData.pharmacy_name === \"\" && pharmacyData.address === \"\" && pharmacyData.city === \"\" && pharmacyData.country === \"\" && pharmacyData.state === \"\" && pharmacyData.zip_code === \"\" && pharmacyData.online_prescription_obj.label === \"\" && pharmacyData.email === \"\" && pharmacyData.phone_number === \"\"\r\n ) {\r\n \r\n this.setState({\r\n searchErrorMessage:\r\n \"Choose any one of the search filters other than Pharmacy ID.\",\r\n searchrecords:[]\r\n });\r\n return;\r\n\r\n \r\n \r\n } else {\r\n this.setState({\r\n searchErrorMessage: \"\",\r\n });\r\n } \r\n let data = {};\r\n data.pharmacy_name = pharmacyData.pharmacy_name;\r\n data.address = pharmacyData.address;\r\n data.pharmacy_location = pharmacyData.pharmacy_location;\r\n data.city = pharmacyData.city;\r\n data.country = pharmacyData.country;\r\n data.state = pharmacyData.state;\r\n data.zip_code = pharmacyData.zip_code;\r\n data.phone_number = pharmacyData.phone_number;\r\n data.email = pharmacyData.email;\r\n data.online_prescription=pharmacyData.online_prescription_obj.label;\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(searchPharmacy, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n let data = [];\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n // console.log(this.state.masterdrugmeasure[0]);\r\n records.forEach((element) => {\r\n console.log(element);\r\n data.push({\r\n pharmacy_id: \"\",\r\n pharmacy_name: element.pharmacy_name,\r\n address: element.address,\r\n city: element.city,\r\n country: element.country,\r\n state: element.state,\r\n zip_code: element.zip_code,\r\n phone_number: element.phone_number,\r\n email: element.email,\r\n online_prescription:element.online_prescription,\r\n pharmacy_location: element.pharmacy_location,\r\n pharmacy_name_error: \"\",\r\n address_error: \"\",\r\n city_error: \"\",\r\n country_error: \"\",\r\n state_error: \"\",\r\n zip_code_error: \"\",\r\n phone_number_error: \"\",\r\n });\r\n });\r\n\r\n this.setState({ searchrecords: data });\r\n this.setState({\r\n search_action: true,\r\n });\r\n } else {\r\n this.setState({ searchrecords: [], search_action: true });\r\n }\r\n });\r\n });\r\n }\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n};\r\nonFileUpload = () => {\r\n\r\n if (this.state.pharmacyData.length) {\r\n axios.post(hospitalpharmacyimport, {data: this.state.pharmacyData,user_id:this.props.userdata.id}).then((result) => {\r\n console.log(result);\r\n this.setState({ formSuccess: result.data, file: \"\", pharmacyData: [] })\r\n axios\r\n .post(getPharmacyList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let pharmacyList = list.data.data;\r\n pharmacyList.forEach((element, index) => {\r\n let pharmacy = {};\r\n pharmacy.s_no = index + 1;\r\n pharmacy.pharmacy_id = element.pharmacy_id;\r\n pharmacy.pharmacy_name = element.pharmacy_name;\r\n pharmacy.id = element.id;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_location = element.pharmacy_location;\r\n pharmacy.phone_number = element.phone_number;\r\n pharmacy.email = element.email;\r\n pharmacy.address = element.address;\r\n pharmacy.city = element.city;\r\n pharmacy.country = element.country;\r\n pharmacy.state = element.state;\r\n pharmacy.zip_code = element.zip_code;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_verification=element.pharmacy_verification;\r\n \r\n pharmacyList[index] = pharmacy;\r\n });\r\n this.setState({ records: pharmacyList });\r\n })\r\n .catch(() => { });\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n};\r\n render() {\r\n const { headerinfo,adverdisement } = this.state;\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup:true})\r\n \r\n };\r\n const { pharmacyData, errors, formSuccess, tableSuccess, hospitaltimeout, searchErrorMessage,searchTableSuccess,loading } = this.state;\r\n return (\r\n\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n

    Sales Invoice

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

    Credit Note Invoice

    \r\n
    \r\n\r\n
    \r\n \r\n

    GSTIN:{this.state.gstin}

    \r\n
    \r\n \r\n
    \r\n
    \r\n

    CN No:{this.props.location.state.bill_no}

    \r\n

    CN Date:{formatDate(this.props.location.state.bill_date)}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Pharmacy\r\n
    \r\n

    \r\n {this.state.pharmacy_name}\r\n

    \r\n
    \r\n {this.state.pharmacyaddress}\r\n
    \r\n {/*
    Phone No: {headerinfo.phone_no}
    */}\r\n
    Mobile No:{this.props.userdata.phone_number}
    \r\n
    Email ID:{this.props.userdata.email}
    \r\n
    DL No:{this.state.druglicence1},{this.state.druglicence2},{this.state.druglicence3}
    \r\n
    FSSAI No: {this.state.foodLicense}
    \r\n
    \r\n {headerinfo.languages_known}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {this.props.location.state.voucher_type==='patient'?\r\n :\"\"}\r\n {this.props.location.state.voucher_type==='b2b'?\r\n :\"\"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n\r\n {/* */}\r\n \r\n \r\n \r\n Sub Total\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.sub_total\r\n }{\" \"}\r\n \r\n \r\n \r\n\r\n \r\n \r\n GST Amount\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.gstAmt\r\n }{\" \"}\r\n \r\n \r\n \r\n\r\n \r\n \r\n Discount Amount\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.discAmt\r\n }{\" \"}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Round off (+/-)\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.rounddiff\r\n }{\" \"}\r\n \r\n \r\n\r\n {/* \r\n \r\n Bill Amount\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.total\r\n }{\" \"}\r\n \r\n */}\r\n \r\n \r\n CN Amount\r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.roundtotal\r\n }{\" \"}\r\n \r\n \r\n \r\n \r\n {/* */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Remark\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.remarks\r\n }\r\n
    \r\n Sale Invoice Ref.\r\n \r\n {\" \"}\r\n {\r\n // this.props.location.state.totalAmtWords\r\n }\r\n
    \r\n Amount (in Words)\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.totalAmtWords\r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n \r\n \r\n \r\n 5%\r\n \r\n \r\n {this.props.location.state.sub_total5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt5.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {this.props.location.state.sub_total12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt12.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.props.location.state.sub_total18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt18.toFixed(2)}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Terms and Conditions
    \r\n
      \r\n
    • Goods once sold will not be taken back or exchanged.
    • \r\n
    • All disputes subject to Chennai Jurisdiction only.
    • \r\n
    \r\n
    \r\n \r\n
    \r\n
    For {this.state.pharmacy_name} Pharmacy
    \r\n
      \r\n
    • Authorized Signature
    • \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n \r\n\r\n {/* \r\n Finish\r\n */}\r\n \r\n \r\n \r\n
    \r\n {/* \r\n Back\r\n \r\n */}\r\n \r\n Print\r\n \r\n {/* \r\n Finish\r\n */}\r\n
    \r\n
    \r\n E. & O.E.\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/*
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n

    * All the address marked in red are not verified

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    Import Pharmacy List
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    */}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n{/* \r\n \r\n */}\r\n {/*
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    */}\r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Creditnoteinvoice));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport moment from \"moment\";\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getAllSalePatientList,\r\n getAllSaleReturnCustomerList,\r\n deleteSaleReturnByBillnumber,\r\n getTimeoutbycategory,\r\n searchCreditNoteEntries,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n deletePurchaseByVouchernumber,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n drug_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n manu_date: \"\",\r\n exp_date: \"\",\r\n quantity: \"\",\r\n free: \"\",\r\n p_rate: \"\",\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n\r\n};\r\nclass CreditNoteRegister extends Component {\r\n _isMounted = false;\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n reportList: [],\r\n records: [],\r\n addPopup: false,\r\n updatePopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n selectedRecord: null,\r\n saleRegister:\r\n {\r\n FromDate: \"\",\r\n ToDate: \"\",\r\n patient_name: \"\",\r\n bill_no: \"\",\r\n bill_date: \"\",\r\n cn_type:\"\",\r\n },\r\n\r\n\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n voucher_no: \"\",\r\n voucher_date: \"\",\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n poref_no: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '10px',\r\n },\r\n {\r\n key: \"bill_no\",\r\n text: \"CN No\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"bill_date\",\r\n text: \"CN Date\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n cell: (record) => {\r\n return moment(record.bill_date).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n\r\n {\r\n key: \"patient_name\",\r\n text: \"Customer Name\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"customer_type\",\r\n text: \"Type\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n\r\n {\r\n key: \"sub_total\",\r\n text: \"Sub Total\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '10px',\r\n },\r\n {\r\n key: \"disc\",\r\n text: \"Disc %\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '10px',\r\n cell: (record) => {\r\n if (record.disc != null) {\r\n return record.disc + \"%\"\r\n }\r\n }\r\n\r\n },\r\n {\r\n key: \"gstAmt\",\r\n text: \"GST Amt\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"cn_type\",\r\n text: \"CN Type\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n cell: (record) => {\r\n if (record.cn_type==\"salesreturn\") {\r\n return \"Sales Return\"\r\n }else if(record.cn_type==\"expreturn\"){\r\n return \"Exp Return\"\r\n }else if(record.cn_type==\"pricediff\"){\r\n return \"Price Difference\"\r\n }\r\n else{\r\n return \"\"\r\n }\r\n }\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: '20px',\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n this.viewRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.onDeleteClick(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\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.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: true,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n name === \"patient_name\" ||\r\n name === \"bill_no\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ saleRegister: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n purchaseEntryData: {\r\n ...prevState.purchaseEntryData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n handleInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n });\r\n };\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].sub_total = quantity * (p_rate - ((disc / 100) * p_rate));\r\n\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateTotal(index);\r\n this.calculateDiscountAmount(index);\r\n this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n });\r\n };\r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let igst = updatedData[index].igst || 0;\r\n updatedData[index].total = sub_total + ((igst / 100) * sub_total);\r\n console.log(igst);\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = ((quantity * p_rate) * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n handleFromDOBChange = (date) => {\r\n let saleRegister = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n\r\n\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n saleRegister.FromDate = offsetDate;\r\n\r\n this.setState({ saleRegister: saleRegister, errors: errors, FromDate: offsetDate });\r\n };\r\n handleToDOBChange = (date) => {\r\n let saleRegister = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n saleRegister.ToDate = offsetDate;\r\n //errors.Todate=\"\";\r\n this.setState({ saleRegister: saleRegister, errors: errors, ToDate: offsetDate });\r\n };\r\n\r\n\r\n\r\n\r\n clearErrors = (errors) => {\r\n\r\n\r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no = \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n\r\n let data = this.state.purchaseEntryData;\r\n\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n purchaseEntryData: data, actions: \"add\", voucher_no: \"\", errors: errors, searchErrorMessage: \"\", records: [],\r\n search_action: false,\r\n totalAmtSec: {\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n\r\n },\r\n\r\n });\r\n }\r\n\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let igstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n if (data.igstAmt !== undefined) {\r\n igstAmt += Number(data.igstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.igstAmt = igstAmt;\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n\r\n editRecord(record) {\r\n console.log(record);\r\n if (record.customer_type == 'patient') {\r\n\r\n this.props.history.push({\r\n pathname: \"/viewsalereturnvoucher/\" + record.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/viewsalereturnvoucher/\" + record.bill_no,\r\n state: {\r\n patient_name: record.patient_name,\r\n bill_no: record.bill_no,\r\n bill_date: record.bill_date,\r\n doctorreg_no: record.doctorreg_no,\r\n patient_name: record.patient_name,\r\n phone_number: record.phone_number,\r\n doctor_name: record.doctor_name,\r\n address: record.address,\r\n created_by: record.created_by,\r\n remarks: record.remarks,\r\n disc: record.disc,\r\n gstAmt: record.gstAmt,\r\n discAmt: record.discAmt,\r\n cgstAmt5: record.cgstAmt5,\r\n sgstAmt5: record.sgstAmt5,\r\n taxAmt5: record.taxAmt5,\r\n sub_total5: record.sub_total5,\r\n cgstAmt12: record.cgstAmt12,\r\n sgstAmt12: record.sgstAmt12,\r\n taxAmt12: record.taxAmt12,\r\n sub_total12: record.sub_total12,\r\n cgstAmt18: record.cgstAmt18,\r\n sgstAmt18: record.sgstAmt18,\r\n taxAmt18: record.taxAmt18,\r\n sub_total18: record.sub_total18,\r\n payment_mode: record.payment_mode,\r\n view_page: false\r\n }\r\n });\r\n } else {\r\n this.props.history.push({\r\n pathname: \"/viewsalereturnvoucherb2b/\" + record.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/viewsalereturnvoucherb2b/\" + record.bill_no,\r\n state: {\r\n patient_name: record.patient_name,\r\n bill_no: record.bill_no,\r\n bill_date: record.bill_date,\r\n doctorreg_no: record.doctorreg_no,\r\n phone_number: record.phone_number,\r\n doctor_name: record.doctor_name,\r\n address: record.address,\r\n created_by: record.created_by,\r\n remarks: record.remarks,\r\n disc: record.disc,\r\n gstAmt: record.gstAmt,\r\n discAmt: record.discAmt,\r\n cgstAmt5: record.cgstAmt5,\r\n sgstAmt5: record.sgstAmt5,\r\n taxAmt5: record.taxAmt5,\r\n sub_total5: record.sub_total5,\r\n cgstAmt12: record.cgstAmt12,\r\n sgstAmt12: record.sgstAmt12,\r\n taxAmt12: record.taxAmt12,\r\n sub_total12: record.sub_total12,\r\n cgstAmt18: record.cgstAmt18,\r\n sgstAmt18: record.sgstAmt18,\r\n taxAmt18: record.taxAmt18,\r\n sub_total18: record.sub_total18,\r\n payment_mode: record.payment_mode,\r\n view_page: false\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n viewRecord(record) {\r\n if (record.customer_type == 'patient') {\r\n this.props.history.push({\r\n pathname: \"/viewsalereturnvoucher/\" + record.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/viewsalereturnvoucher/\" + record.bill_no,\r\n state: {\r\n patient_name: record.patient_name,\r\n bill_no: record.bill_no,\r\n bill_date: record.bill_date,\r\n doctorreg_no: record.doctorreg_no,\r\n patient_name: record.patient_name,\r\n disc: record.disc,\r\n gstAmt: record.gstAmt,\r\n phone_number: record.phone_number,\r\n doctor_name: record.doctor_name,\r\n address: record.address,\r\n created_by: record.created_by,\r\n remarks: record.remarks,\r\n discAmt: record.discAmt,\r\n payment_mode: record.payment_mode,\r\n cgstAmt: record.cgstAmt,\r\n sgstAmt: record.sgstAmt,\r\n cgstAmt5: record.cgstAmt5,\r\n sgstAmt5: record.sgstAmt5,\r\n taxAmt5: record.taxAmt5,\r\n sub_total5: record.sub_total5,\r\n cgstAmt12: record.cgstAmt12,\r\n sgstAmt12: record.sgstAmt12,\r\n taxAmt12: record.taxAmt12,\r\n sub_total12: record.sub_total12,\r\n cgstAmt18: record.cgstAmt18,\r\n sgstAmt18: record.sgstAmt18,\r\n taxAmt18: record.taxAmt18,\r\n sub_total18: record.sub_total18,\r\n view_page: true\r\n }\r\n });\r\n } else {\r\n\r\n this.props.history.push({\r\n pathname: \"/viewsalereturnvoucherb2b/\" + record.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/viewsalereturnvoucherb2b/\" + record.bill_no,\r\n state: {\r\n patient_name: record.patient_name,\r\n bill_no: record.bill_no,\r\n bill_date: record.bill_date,\r\n doctorreg_no: record.doctorreg_no,\r\n disc: record.disc,\r\n gstAmt: record.gstAmt,\r\n phone_number: record.phone_number,\r\n doctor_name: record.doctor_name,\r\n address: record.address,\r\n created_by: record.created_by,\r\n remarks: record.remarks,\r\n discAmt: record.discAmt,\r\n payment_mode: record.payment_mode,\r\n cgstAmt: record.cgstAmt,\r\n sgstAmt: record.sgstAmt,\r\n cgstAmt5: record.cgstAmt5,\r\n sgstAmt5: record.sgstAmt5,\r\n taxAmt5: record.taxAmt5,\r\n sub_total5: record.sub_total5,\r\n cgstAmt12: record.cgstAmt12,\r\n sgstAmt12: record.sgstAmt12,\r\n taxAmt12: record.taxAmt12,\r\n sub_total12: record.sub_total12,\r\n cgstAmt18: record.cgstAmt18,\r\n sgstAmt18: record.sgstAmt18,\r\n taxAmt18: record.taxAmt18,\r\n sub_total18: record.sub_total18,\r\n view_page: true\r\n }\r\n });\r\n\r\n }\r\n }\r\n refreshData = () => {\r\n\r\n let saleRegister = this.state.saleRegister;\r\n saleRegister = { FromDate: \"\", ToDate: \"\", cn_type: \"\", patient_name: \"\", errors: \"\" };\r\n this.setState({\r\n saleRegister: saleRegister\r\n });\r\n\r\n this.getAllSaleReturnCustomerList(this.props.userdata.id);\r\n\r\n\r\n };\r\n\r\n getAllPurchaseEntryList = (user_id) => {\r\n\r\n if (user_id !== \"\") {\r\n let reqdata = {\r\n user_id: this.props.userdata.id\r\n\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSaleReturnCustomerList, reqdata, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.bill_no = element.bill_no;\r\n purchaseData.bill_date = element.bll_date;\r\n purchaseData.disc = element.disc;\r\n purchaseData.sub_total = element.sub_total;\r\n purchaseData.total = element.total;\r\n purchaseData.cn_type=element.cn_type;\r\n purchaseData.customer_type = element.customer_type;\r\n purchaseData.phone_number = element.phone_number;\r\n purchaseData.discAmt = element.discAmt;\r\n purchaseData.doctor_name = element.doctor_name;\r\n purchaseData.payment_mode = element.payment_mode;\r\n purchaseData.cgstAmt5 = element.cgstAmt5;\r\n purchaseData.sgstAmt5 = element.sgstAmt5;\r\n purchaseData.taxAmt5 = element.taxAmt5;\r\n purchaseData.sub_total5 = element.sub_total5;\r\n purchaseData.cgstAmt12 = element.cgstAmt12;\r\n purchaseData.sgstAmt12 = element.sgstAmt12;\r\n purchaseData.taxAmt12 = element.taxAmt12;\r\n purchaseData.sub_total12 = element.sub_total12;\r\n purchaseData.cgstAmt18 = element.cgstAmt18;\r\n purchaseData.sgstAmt18 = element.sgstAmt18;\r\n purchaseData.taxAmt18 = element.taxAmt18;\r\n purchaseData.sub_total18 = element.sub_total18;\r\n DataArr[index] = purchaseData;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n\r\n\r\n }\r\n }\r\n\r\n searchCreditNoteEntries() {\r\n let saleRegister = this.state.saleRegister;\r\n\r\n let data = {};\r\n let errors = this.state;\r\n data.patient_name = saleRegister.patient_name ? saleRegister.patient_name.label : \"\";\r\n data.FromDate = saleRegister.FromDate;\r\n data.ToDate = saleRegister.ToDate;\r\n data.cn_type = saleRegister.cn_type.value;\r\n data.user_id = this.props.userdata.id;\r\n\r\n\r\n\r\n console.log(data);\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n console.log(data);\r\n axios.post(searchCreditNoteEntries, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data.data;\r\n console.log(result);\r\n if (result.length > 0) {\r\n // let records = result.data;\r\n\r\n let reportList = [];\r\n result.forEach((element, index) => {\r\n let report = {};\r\n report.s_no = index + 1;\r\n report.bill_no = element.bill_no;\r\n report.bill_date = element.bill_date;\r\n report.patient_name = element.patient_name;\r\n report.gstAmt = element.gstAmt;\r\n report.disc = element.disc;\r\n report.sub_total = element.sub_total;\r\n report.total = element.total;\r\n report.cn_type=element.cn_type;\r\n report.customer_type = element.customer_type;\r\n reportList[index] = report;\r\n });\r\n this.setState({ reportList: reportList, search_action: true });\r\n } else {\r\n this.setState({ reportList: [], search_action: true });\r\n }\r\n });\r\n });\r\n // }\r\n }\r\n\r\n \r\n createinvoice() {\r\n document.location.href = \"/salereturnvoucher\";\r\n }\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n componentDidMount = () => {\r\n this._isMounted = true;\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSalePatientList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n\r\n if (!uniqueDrugNames.has(element.patient_name)) {\r\n uniqueDrugNames.add(element.patient_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.patient_name,\r\n label: element.patient_name,\r\n\r\n }));\r\n\r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n });\r\n\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSaleReturnCustomerList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.bill_no = element.bill_no;\r\n purchaseData.bill_date = element.bill_date;\r\n purchaseData.patient_name = element.patient_name;\r\n purchaseData.customer_type = element.customer_type;\r\n purchaseData.gstAmt = element.gstAmt;\r\n purchaseData.disc = element.disc;\r\n purchaseData.sub_total = element.sub_total;\r\n purchaseData.total = element.total;\r\n purchaseData.cn_type=element.cn_type;\r\n purchaseData.phone_number = element.phone_number;\r\n purchaseData.discAmt = element.discAmt;\r\n purchaseData.cgstAmt5 = element.cgstAmt5;\r\n purchaseData.sgstAmt5 = element.sgstAmt5;\r\n purchaseData.taxAmt5 = element.taxAmt5;\r\n purchaseData.sub_total5 = element.sub_total5;\r\n purchaseData.cgstAmt12 = element.cgstAmt12;\r\n purchaseData.sgstAmt12 = element.sgstAmt12;\r\n purchaseData.taxAmt12 = element.taxAmt12;\r\n purchaseData.sub_total12 = element.sub_total12;\r\n purchaseData.cgstAmt18 = element.cgstAmt18;\r\n purchaseData.sgstAmt18 = element.sgstAmt18;\r\n purchaseData.taxAmt18 = element.taxAmt18;\r\n purchaseData.sub_total18 = element.sub_total18;\r\n purchaseData.doctor_name = element.doctor_name;\r\n purchaseData.payment_mode = element.payment_mode;\r\n DataArr[index] = purchaseData;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n\r\n };\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, selectedRecord: record });\r\n\r\n }\r\ngetAllSaleReturnCustomerList=(userid)=>{\r\n // let reqdata = {\r\n // user_id: this.props.userdata.id\r\n\r\n // }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllSaleReturnCustomerList, {user_id:userid}, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.bill_no = element.bill_no;\r\n purchaseData.bill_date = element.bll_date;\r\n purchaseData.patient_name = element.patient_name;\r\n purchaseData.disc = element.disc;\r\n purchaseData.sub_total = element.sub_total;\r\n purchaseData.total = element.total;\r\n purchaseData.customer_type = element.customer_type;\r\n purchaseData.cn_type=element.cn_type;\r\n purchaseData.phone_number = element.phone_number;\r\n purchaseData.discAmt = element.discAmt;\r\n purchaseData.cgstAmt5 = element.cgstAmt5;\r\n purchaseData.sgstAmt5 = element.sgstAmt5;\r\n purchaseData.taxAmt5 = element.taxAmt5;\r\n purchaseData.sub_total5 = element.sub_total5;\r\n purchaseData.cgstAmt12 = element.cgstAmt12;\r\n purchaseData.sgstAmt12 = element.sgstAmt12;\r\n purchaseData.taxAmt12 = element.taxAmt12;\r\n purchaseData.sub_total12 = element.sub_total12;\r\n purchaseData.cgstAmt18 = element.cgstAmt18;\r\n purchaseData.sgstAmt18 = element.sgstAmt18;\r\n purchaseData.taxAmt18 = element.taxAmt18;\r\n purchaseData.sub_total18 = element.sub_total18;\r\n purchaseData.gstAmt = element.gstAmt;\r\n purchaseData.doctor_name = element.doctor_name;\r\n purchaseData.payment_mode = element.payment_mode;\r\n DataArr[index] = purchaseData;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n }\r\n\r\n handleDeleteVoucher = (record) => {\r\n console.log(record);\r\n const { bill_date } = record;\r\n const currentDate = new Date();\r\n const BillDate = new Date(bill_date);\r\n console.log(record.bill_date);\r\n // Calculate the difference in days\r\n // const timeDiff = Math.abs(currentDate.getTime() - voucherDate.getTime()); \r\n // const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); \r\n // Check if the voucher date is within 30 days or within the current month \r\n if (BillDate.getMonth() !== currentDate.getMonth()) {\r\n this.setState({ updatePopup: true });\r\n return;\r\n }\r\n // Proceed with the update if validation passes \r\n this.deleteRecord(record);\r\n };\r\n deleteRecord(record) {\r\n\r\n let userId = record.id;\r\n let bill_no = record.bill_no;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(deleteSaleReturnByBillnumber, { bill_no: bill_no }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n this.getAllSaleReturnCustomerList(this.props.userdata.id);\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Sale has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n \r\n }\r\n\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n\r\n fetchItemDetails = (index, selectedOption) => {\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data again\r\n let updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst : \"\",\r\n igst: this.state.State_value !== this.state.gst_state ? item.igst : \"\",\r\n sub_total: updatedData[index].quantity * updatedData[index].p_rate,\r\n };\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n console.log(updatedData[index].quantity);\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n\r\n }\r\n this.setState({ record }, () => {\r\n this.calculateSection();\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n };\r\n\r\n\r\n\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ saleRegister: data, errors: errors });\r\n }\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n\r\n\r\n handlepatientselectChange = async (selectedOptions, e) => {\r\n let data = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n\r\n this.setState({ saleRegister: data, errors, searchErrorMessage: \"\" });\r\n\r\n /* axios\r\n .post(getgststatebyVendorname,{user_id:this.props.userdata.id,vendor_name:selectedOptions.label}, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data=resdata.data[0];\r\n console.log(resdata.status);\r\n \r\n if (resdata.status == \"1\") \r\n {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state); }); }\r\n \r\n }).catch((e) => { }); */\r\n\r\n }\r\n PopupConfirm = () => {\r\n this.handleDeleteVoucher(this.state.selectedRecord);\r\n this.setState({ addPopup: false, selectedRecord: null });\r\n };\r\n handlepaymentselectChange = (selectedOptions, e) => {\r\n let data = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n \r\n this.setState({ saleRegister: data, errors, searchErrorMessage: \"\" });\r\n }\r\n render() {\r\n const cn_type = [\r\n { value: \"salesreturn\", label: \"sales return\" },\r\n { value: \"expreturn\", label: \"Exp/Brk Return\" },\r\n { value: \"pricediff\", label: \"Price Diff\" },\r\n\r\n ];\r\n let PopupClose = () => this.setState({ addPopup: false, selectedRecord: null, updatePopup: false });\r\n // let PopupConfirm = () => this.handleDeleteVoucher(record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n const { saleRegister, records, errors, formSuccess, tableSuccess, hospitaltimeout, mastervendorNames, gst_state, State_value, searchErrorMessage, searchTableSuccess, loading } = this.state;\r\n return (\r\n\r\n
    \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Credit Note Register

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n  Refresh\r\n \r\n\r\n Credit Note Register\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleFromDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n
    \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.handleToDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n \r\n\r\n  Search\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n\r\n 0 ? this.state.reportList : this.state.records}\r\n columns={this.columns}\r\n />\r\n\r\n\r\n\r\n {/*
    \r\n \r\n \r\n \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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n /> */}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )}\r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(CreditNoteRegister));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getPharmacyList,\r\n getAllPharmacyDrugs,\r\n getAllPharmacyItemList,\r\n getAllPharmacyVendorList,\r\n addPharmacy,\r\n addVendor,\r\n addsaleReturnData,\r\n updateSaleReturnData,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n getBatchnobydrugnameandExpDate,\r\n getBatchandExpDateBydrugname,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail,\r\n getclientbyphonenumber,\r\n getAllSaleReturnListbybillno\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport \"../assets/css/mystyle.css\";\r\nimport * as moment from \"moment\";\r\nimport { Restaurant } from \"@material-ui/icons\";\r\nimport { Link } from 'react-router-dom';\r\nimport BatchSelectionModal from \"./BatchSelectModal\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n storage_bin: \"\",\r\n quantity: \"\",\r\n rate: 0.0,\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n discAmt: 0,\r\n taxrate: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n};\r\nclass ViewSaleReturnVoucher extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.searchData = {\r\n phone_number: \"\",\r\n error: \"\",\r\n };\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n showModel: false,\r\n selectedBatches: [],\r\n currentBatchinrow: null,\r\n currentRow: null,\r\n discountPercentage: '',\r\n batches: [],\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n searchData: this.searchData,\r\n add_btn: false,\r\n purchaseEntryVoucher: {\r\n drug_name: \"\",\r\n // defaultEnterSize: 20,\r\n records: [],\r\n supplies: [],\r\n },\r\n selectedPaymentMode: null,\r\n saleReturnData:\r\n {\r\n phone_number: \"\",\r\n patient_name: \"\",\r\n address: \"\",\r\n remarks: \"\",\r\n bill_no: \"\",\r\n bill_date: new Date(),\r\n doctorreg_no: \"\",\r\n doctor_name: \"\",\r\n created_by: \"\",\r\n payment_mode: \"\",\r\n },\r\n\r\n totalAmtSec: {\r\n\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n gstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n totalAmtWords: \"\",\r\n taxrate: 0,\r\n },\r\n totalTaxAmtSec: {\r\n cgstAmt5: 0,\r\n sgstAmt5: 0,\r\n sub_total5: 0,\r\n taxAmt5: 0,\r\n cgstAmt12: 0,\r\n sgstAmt12: 0,\r\n sub_total12: 0,\r\n taxAmt12: 0,\r\n cgstAmt18: 0,\r\n sgstAmt18: 0,\r\n sub_total18: 0,\r\n taxAmt18: 0,\r\n sub_total: {\r\n 5: 0, // Taxable amount for 5%\r\n 12: 0, // Taxable amount for 12%\r\n 18: 0, // Taxable amount for 18%\r\n },\r\n cgstAmt: {\r\n 5: 0, // CGST amount for 5%\r\n 12: 0, // CGST amount for 12%\r\n 18: 0, // CGST amount for 18%\r\n },\r\n sgstAmt: {\r\n 5: 0, // SGST amount for 5%\r\n 12: 0, // SGST amount for 12%\r\n 18: 0, // SGST amount for 18%\r\n },\r\n total: {\r\n 5: 0, // Total amount for 5%\r\n 12: 0, // Total amount for 12%\r\n 18: 0, // Total amount for 18%\r\n },\r\n },\r\n\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n voucher_no: \"\",\r\n voucher_date: \"\",\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n poref_no: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n align: \"left\", // Set alignment to center\r\n sortable: true,\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n {index + 1} {/* Display the serial number based on the index */}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n
    \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '450px',\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n\r\n\r\n {row.generic_name && (row.batch_no !== '' || row.batch_no !== null) ? (\r\n\r\n row.generic_name\r\n\r\n ) : (\r\n option.label === row.generic_name)} // Ensure value is null if not found\r\n onChange={this.handleselectChange(index, 'generic_name')}\r\n options={this.state.supplies}\r\n />\r\n )}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => row.pack\r\n },\r\n\r\n /* {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width:'200px',\r\n cell: (row, index) => row.batch_no \r\n \r\n \r\n }, */\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => (\r\n
    \r\n {row.generic_name ? (\r\n row.batch_no ? (\r\n row.batch_no\r\n ) : (\r\n this.handleShow(index)}>Select Batch\r\n )\r\n ) : null}\r\n
    \r\n ),\r\n },\r\n {\r\n key: \"storage_bin\",\r\n text: \"Storage Bin\",\r\n className: \"storage_bin\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => row.storage_bin\r\n\r\n },\r\n\r\n\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"loose\",\r\n text: \"Loose\",\r\n className: \"loose\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.mrp\r\n\r\n\r\n },\r\n {\r\n key: \"rate\",\r\n text: \"Rate\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n const rate = row.rate !== undefined && row.rate !== null ? Number(row.rate) : 0;\r\n return rate.toFixed(2);\r\n }\r\n },\r\n\r\n /* {\r\n key: \"disc\",\r\n text: \"Disc%\",\r\n className: \"disc\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n \r\n }, */\r\n {\r\n key: \"sub_total\",\r\n text: \"Amount\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => {\r\n const sub_total = row.sub_total !== undefined && row.sub_total !== null ? Number(row.sub_total) : 0;\r\n return sub_total.toFixed(2);\r\n }\r\n },\r\n\r\n\r\n\r\n /* {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.cgst \r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.sgst \r\n }, */\r\n /* {\r\n key: \"igst\",\r\n text: \"IGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.igst \r\n }, */\r\n /* {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n right: true,\r\n width:200,\r\n cell: (row, index) => row.total.toFixed(2) \r\n }, */\r\n ];\r\n this.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchcolumns = [\r\n\r\n {\r\n key: \"pharmacy_id\",\r\n text: \"Pharmacy ID\",\r\n className: \"searchpharmacy_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Address\",\r\n className: \"pharmacy_location\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData, errors });\r\n };\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n /* \r\n handleInput =(index,record) => {\r\n console.log(e);\r\n console.log(index);\r\n console.log(record);\r\n record[e.target.name] = e.target.value;\r\n }; */\r\n handlePhoneInput = (event) => {\r\n event.preventDefault();\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n data[event.target.name] = event.target.value\r\n .replace(/\\s/g, \"\")\r\n .replace(/[^0-9+]+/g, \"\");\r\n data.error = \"\";\r\n this.setState({ searchData: data, errors });\r\n };\r\n\r\n handleAdd = (e) => {\r\n let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n\r\n name === \"patient_name\" ||\r\n name === \"address\" ||\r\n name === \"created_by\" ||\r\n name === \"remarks\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ saleReturnData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n handleInput = (index, field) => (event) => {\r\n const { value } = event.target;\r\n const records = [...this.state.records]; // Create a copy of the records\r\n records[index][field] = value; // Update the specific field for the specific index\r\n // console.log(value);\r\n // console.log(index,field);\r\n console.log(records);\r\n this.setState({ records }); // Update the state with the new records\r\n };\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n saleReturnData: {\r\n ...prevState.saleReturnData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n\r\n SalesB2B = () => {\r\n this.props.history.push(\"/saleentryvoucherb2b/\");\r\n }\r\n\r\n SearchPatient = () => {\r\n // event.preventDefault();\r\n\r\n let searchData = this.state.searchData;\r\n if (searchData.phone_number === \"\") {\r\n searchData.error = \"Phone number is required\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n if (searchData.phone_number.length !== 10) {\r\n searchData.error = \"Enter a valid phone number\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n\r\n\r\n if (searchData.phone_number !== \"\" && searchData.phone_number.length === 10) {\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n getclientbyphonenumber,\r\n { phone_number: searchData.phone_number },\r\n CONFIG\r\n )\r\n .then((result) => {\r\n this.setState({ loading: false });\r\n\r\n if (result.data.status === \"1\") {\r\n let data = result.data.client;\r\n\r\n console.log(data);\r\n\r\n let patient_name = data.first_name + ' ' + data.last_name;\r\n let patient_address = data.address1 + ',' + data.city + ',' + data.state + ',' + data.country + '-' + data.zip_code;\r\n\r\n console.log(patient_name);\r\n console.log(patient_address);\r\n this.setState({\r\n clientData: data,\r\n patient_name: patient_name,\r\n patient_address: patient_address,\r\n add_btn: true,\r\n\r\n });\r\n\r\n\r\n } else {\r\n\r\n let formSuccess = {\r\n message: \"No Client Found\",\r\n status: \"0\",\r\n };\r\n searchData.error = result.data.message;\r\n this.setState({\r\n searchData,\r\n is_add_btn: true,\r\n clientData: {},\r\n patientBasicData: [],\r\n loading: false,\r\n selectedPerson: \"\",\r\n formSuccess,\r\n\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n console.log(e.data);\r\n console.log(\"business user getbyid failed\");\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n handleQuantityInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateRate(index);\r\n\r\n });\r\n };\r\n handleInputChange = (e) => {\r\n const value = e.target.value;\r\n const discountPercentage = value ? parseFloat(value) : 0; // Parse the input value\r\n\r\n // Update the discount percentage in the state\r\n this.setState({ discountPercentage }, () => {\r\n this.calculateDiscountAmounts();\r\n\r\n // Calculate discount amounts for all records\r\n });\r\n };\r\n calculateDiscountAmounts = () => {\r\n const { records, discountPercentage } = this.state;\r\n\r\n // Calculate discount amounts for all records\r\n const updatedRecords = records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = (sub_total * (discountPercentage / 100)); // Calculate discount amount\r\n return { ...record, discAmt }; // Return updated record\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords }, () => {\r\n this.calculateTotals();\r\n // this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n calculateTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = record.discAmt || 0; // Default to 0 if undefined\r\n const cgstAmt = record.cgstAmt || 0; // Default to 0 if undefined\r\n const sgstAmt = record.sgstAmt || 0; // Default to 0 if undefined\r\n const gstAmt = cgstAmt + sgstAmt;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n // Calculate the total\r\n const total = (sub_total - discAmt) + gstAmt;\r\n return { ...record, total }; // Return updated record with total\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n\r\n\r\n calculateRate = (index) => {\r\n let updatedData = [...this.state.records];\r\n let mrp = updatedData[index].mrp || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n let conversion_factor = updatedData[index].conversion_factor || 1;\r\n let cgst = updatedData[index].cgst || 0;\r\n let sgst = updatedData[index].cgst || 0;\r\n let gst = Number(cgst) + Number(sgst);\r\n console.log(cgst);\r\n console.log(sgst);\r\n console.log(gst);\r\n if (quantity != null && quantity !== 0) {\r\n if (gst == 5) {\r\n updatedData[index].rate = mrp / 1.05;\r\n } else if (gst == 12) {\r\n updatedData[index].rate = mrp / 1.12;\r\n }\r\n else if (gst == 18) {\r\n updatedData[index].rate = mrp / 1.18;\r\n }\r\n\r\n } else if (loose != null && loose !== 0) {\r\n updatedData[index].rate = mrp / conversion_factor;\r\n\r\n }\r\n\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n this.calculateSubTotals();\r\n \r\n //this.calculateTotals();\r\n });\r\n };\r\n\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let rate = updatedData[index].rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n if (quantity !== null && quantity !== 0) {\r\n updatedData[index].sub_total = quantity * rate;\r\n }\r\n else if (loose !== null && loose !== 0) {\r\n updatedData[index].sub_total = loose * rate;\r\n }\r\n this.setState({ records: updatedData }, () => {\r\n\r\n // this.calculateTotal(index);\r\n // this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n this.calculateGstAmount(index);\r\n });\r\n };\r\n\r\n calculateSubTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const rate = record.rate || 0;\r\n const quantity = record.quantity || 0;\r\n const loose = record.loose || 0;\r\n let sub_total = 0;\r\n if (quantity > 0) {\r\n sub_total = quantity * rate;\r\n } else if (loose > 0) {\r\n sub_total = loose * rate;\r\n }\r\n\r\n // Return the updated record with the calculated subtotal\r\n return { ...record, sub_total };\r\n\r\n\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n this.calculateTotals();\r\n this.calculateTaxAmounts();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n\r\n calculateTaxAmounts = () => {\r\n const { records } = this.state; // Destructure records from state\r\n /* console.log(this.props.location.state.gstAmt); */\r\n const updatedData = records.map((record) => {\r\n const taxrate = record.taxrate || 0;\r\n let sub_total = 0; // Initialize sub_total\r\n let taxAmt12 = 0;\r\n let cgstAmt12 = 0;\r\n let sgstAmt12 = 0;\r\n \r\n // Assuming you have a quantity and rate in each record\r\n const quantity = record.quantity || 0; // Default to 0 if undefined\r\n const rate = record.rate || 0; // Default to 0 if undefined\r\n const gstAmt = record.gstAmt || 0;\r\n \r\n // Calculate subtotal based on the tax rate\r\n switch(taxrate) {\r\n case 5:\r\n // Example calculation for 5% tax\r\n sub_total = quantity * rate * 1.05; // Including tax\r\n break;\r\n case 12:\r\n // Example calculation for 12% tax\r\n sub_total = quantity * rate * 1.12; // Including tax\r\n taxAmt12 = gstAmt;\r\n cgstAmt12 = gstAmt / 2;\r\n sgstAmt12 = gstAmt / 2;\r\n break;\r\n case 18:\r\n // Example calculation for 18% tax\r\n sub_total = quantity * rate * 1.18; // Including tax\r\n break;\r\n default:\r\n // If tax rate is not recognized, just calculate the base subtotal\r\n sub_total = quantity * rate; // No tax applied\r\n }\r\n \r\n // Return the updated record with the calculated values\r\n return { ...record, sub_total, taxAmt12, cgstAmt12, sgstAmt12 };\r\n });\r\n \r\n // Update the state with the new records\r\n this.setState({ records: updatedData });\r\n };\r\n \r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let gstAmt = updatedData[index].gstAmt || 0;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n updatedData[index].total = sub_total - discAmt + gstAmt;\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = (sub_total * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n\r\n calculateGstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n let cgstAmt = updatedData[index].cgstAmt;\r\n let sgstAmt = updatedData[index].sgstAmt;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n updatedData[index].gstAmt = (cgstAmt + sgstAmt);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n\r\n\r\n\r\n\r\n UpdateColumnChange = (record) => {\r\n\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n\r\n records[recIndex].pharmacy_id = record.pharmacy_id ? record.pharmacy_id : \"\";\r\n records[recIndex].pharmacy_name = record.pharmacy_name;\r\n records[recIndex].pharmacy_location = record.pharmacy_location;\r\n records[recIndex].address = record.address;\r\n records[recIndex].city = record.city;\r\n records[recIndex].country = record.country;\r\n records[recIndex].state = record.state;\r\n records[recIndex].zip_code = record.zip_code;\r\n // records[recIndex].phone_number = record.phone_number;\r\n\r\n this.setState({ records: records });\r\n }\r\n\r\n clearErrors = (errors) => {\r\n\r\n\r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no = \"\"\r\n return errors\r\n }\r\n clear = () => {\r\n\r\n let data = this.state.saleReturnData;\r\n\r\n data.phone_number = \"\";\r\n data.patient_name = \"\";\r\n data.address = \"\";\r\n this.state.patient_address = \"\";\r\n this.state.patient_name = \"\";\r\n this.state.searchData.phone_number = \"\";\r\n this.setState({ saleReturnData: data, add_btn: false, formSuccess: { message: \"\", }, });\r\n\r\n }\r\n cancel = () => {\r\n\r\n let data = this.state.saleReturnData;\r\n\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n saleReturnData: data, actions: \"add\", voucher_no: \"\", errors: errors, searchErrorMessage: \"\", records: [],\r\n search_action: false,\r\n totalAmtSec: {\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n\r\n\r\n },\r\n\r\n });\r\n }\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n /* calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let amt = 0.0;\r\n let taxAmt = 0.0;\r\n let taxVal = 0.0;\r\n let totalAmt = 0.0;\r\n let sub_total=0.0;\r\n console.log(records);\r\n \r\n records.map((data, i) => {\r\n if (undefined !== data.fee) {\r\n amt = Number(amt) + Number(data.fee);\r\n }\r\n if (undefined !== data.gst_amount) {\r\n taxAmt = Number(taxAmt) + Number(data.gst_amount);\r\n }\r\n if (undefined !== data.taxable_value) {\r\n taxVal = Number(taxVal) + Number(data.taxable_value);\r\n }\r\n if (undefined !== data.total_amount) {\r\n totalAmt = Number(totalAmt) + Number(data.total_amount);\r\n }\r\n if (undefined !== data.quantity) {\r\n sub_total = Number(data.quantity) * Number(data.p_rate);\r\n }\r\n });\r\n \r\n totalAmtSec.amt = amt;\r\n totalAmtSec.taxAmt = taxAmt;\r\n totalAmtSec.taxVal = taxVal;\r\n totalAmtSec.totalAmt = totalAmt;\r\n totalAmtSec.sub_total=sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(totalAmt)+\" rupees only\";\r\n this.setState({ totalAmtSec });\r\n \r\n console.log(totalAmtSec);\r\n }; \r\n */\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let gstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n let roundtotal = 0.0;\r\n let rounddiff = 0.0;\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n\r\n if (data.gstAmt !== undefined) {\r\n gstAmt += Number(data.gstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.gstAmt = gstAmt;\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.roundtotal = Math.round(total);\r\n totalAmtSec.rounddiff = total - totalAmtSec.roundtotal;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n calculateTaxAmountSection = () => {\r\n let records = this.state.records;\r\n let totalTaxAmtSec = { ...this.state.totalTaxAmtSec };\r\n\r\n // Initialize tax amounts and totals for each tax rate\r\n let taxSummary = {\r\n 5: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 12: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 18: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n };\r\n\r\n\r\n records.forEach((data) => {\r\n const taxRate = data.taxrate;\r\n\r\n\r\n if (taxSummary[taxRate]) {\r\n console.log(\"Current Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n\r\n taxSummary[taxRate].cgstAmt += Number(data.cgstAmt) || 0;\r\n taxSummary[taxRate].sgstAmt += Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].taxAmt += Number(data.cgstAmt) + Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].sub_total += Number(data.sub_total) || 0;\r\n\r\n console.log(\"Updated Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n }\r\n });\r\n\r\n // Ensure totalTaxAmtSec has the necessary properties initialized\r\n totalTaxAmtSec = {\r\n cgstAmt5: totalTaxAmtSec.cgstAmt5 || 0,\r\n sgstAmt5: totalTaxAmtSec.sgstAmt5 || 0,\r\n taxAmt5: totalTaxAmtSec.taxAmt5 || 0,\r\n sub_total5: totalTaxAmtSec.sub_total5 || 0,\r\n cgstAmt12: totalTaxAmtSec.cgstAmt12 || 0,\r\n sgstAmt12: totalTaxAmtSec.sgstAmt12 || 0,\r\n taxAmt12: totalTaxAmtSec.taxAmt12 || 0,\r\n sub_total12: totalTaxAmtSec.sub_total12 || 0,\r\n cgstAmt18: totalTaxAmtSec.cgstAmt18 || 0,\r\n sgstAmt18: totalTaxAmtSec.sgstAmt18 || 0,\r\n taxAmt18: totalTaxAmtSec.taxAmt18 || 0,\r\n sub_total18: totalTaxAmtSec.sub_total18 || 0,\r\n };\r\n\r\n\r\n\r\n // Update the totalTaxAmtSec object with calculated values\r\n totalTaxAmtSec.cgstAmt5 = taxSummary[5].cgstAmt;\r\n totalTaxAmtSec.sgstAmt5 = taxSummary[5].sgstAmt;\r\n totalTaxAmtSec.taxAmt5 = taxSummary[5].taxAmt;\r\n totalTaxAmtSec.sub_total5 = taxSummary[5].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt12 = taxSummary[12].cgstAmt;\r\n totalTaxAmtSec.sgstAmt12 = taxSummary[12].sgstAmt;\r\n totalTaxAmtSec.taxAmt12 = taxSummary[12].taxAmt;\r\n totalTaxAmtSec.sub_total12 = taxSummary[12].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt18 = taxSummary[18].cgstAmt;\r\n totalTaxAmtSec.sgstAmt18 = taxSummary[18].sgstAmt;\r\n totalTaxAmtSec.taxAmt18 = taxSummary[18].taxAmt;\r\n totalTaxAmtSec.sub_total18 = taxSummary[18].sub_total;\r\n\r\n console.log(\"Final Total Tax Amount Section:\", totalTaxAmtSec);\r\n\r\n // Update the state with the new total tax amounts\r\n this.setState({ totalTaxAmtSec });\r\n };\r\n generate() {\r\n let { saleReturnData, errors } = this.state;\r\n saleReturnData.type = \"saleReturnData\";\r\n errors = Validation(saleReturnData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n phone_number: saleReturnData.phone_number || this.state.searchData.phone_number,\r\n patient_name: saleReturnData.patient_name || this.state.patient_name,\r\n address: saleReturnData.address || this.state.patient_address,\r\n remarks: saleReturnData.remarks,\r\n bill_date: saleReturnData.bill_date,\r\n doctorreg_no: saleReturnData.doctorreg_no,\r\n doctor_name: saleReturnData.doctor_name,\r\n created_by: saleReturnData.created_by,\r\n records: this.state.records\r\n };\r\n console.log(data);\r\n console.log(this.state.bill_no);\r\n console.log(this.state.saleReturnData.bill_date);\r\n this.props.history.push({\r\n pathname: \"/saleinvoice/\" + this.state.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/saleinvoice/\" + this.state.bill_no,\r\n state: {\r\n bill_no: this.state.bill_no,\r\n bill_date: this.state.saleReturnData.bill_date.toString(),\r\n patient_name: this.state.patient_name,\r\n patient_address: this.state.patient_address,\r\n doctorreg_no: this.state.saleReturnData.doctorreg_no,\r\n doctor_name: this.state.saleReturnData.doctor_name,\r\n sub_total: this.state.totalAmtSec.sub_total.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n discAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n total: this.state.totalAmtSec.total.toFixed(2),\r\n totalAmtWords: this.state.totalAmtSec.totalAmtWords,\r\n roundtotal: this.state.totalAmtSec.roundtotal.toFixed(2),\r\n rounddiff: this.state.totalAmtSec.rounddiff.toFixed(2),\r\n sub_total5: this.state.totalTaxAmtSec.sub_total5,\r\n cgstAmt5: this.state.totalTaxAmtSec.cgstAmt5,\r\n sgstAmt5: this.state.totalTaxAmtSec.sgstAmt5,\r\n taxAmt5: this.state.totalTaxAmtSec.taxAmt5,\r\n sub_total12: this.state.totalTaxAmtSec.sub_total12,\r\n cgstAmt12: this.state.totalTaxAmtSec.cgstAmt12,\r\n sgstAmt12: this.state.totalTaxAmtSec.sgstAmt12,\r\n taxAmt12: this.state.totalTaxAmtSec.taxAmt12,\r\n sub_total18: this.state.totalTaxAmtSec.sub_total18,\r\n cgstAmt18: this.state.totalTaxAmtSec.cgstAmt18,\r\n sgstAmt18: this.state.totalTaxAmtSec.sgstAmt18,\r\n taxAmt18: this.state.totalTaxAmtSec.taxAmt18,\r\n }\r\n });\r\n }\r\n }\r\n // addsaleReturnData() {\r\n\r\n\r\n // let { saleReturnData, errors } = this.state;\r\n // saleReturnData.type = \"saleReturnData\";\r\n // errors = Validation(saleReturnData, errors);\r\n // this.setState({ errors: errors });\r\n\r\n // if (errors.formIsValid) {\r\n // this.setState({ loading: true });\r\n\r\n // let data = {\r\n // user_id: this.props.userdata.id,\r\n // phone_number: saleReturnData.phone_number || this.state.searchData.phone_number,\r\n // patient_name: saleReturnData.patient_name || this.state.patient_name,\r\n // address: saleReturnData.address || this.state.patient_address,\r\n // remarks: saleReturnData.remarks,\r\n // bill_date: saleReturnData.bill_date,\r\n // doctorreg_no: saleReturnData.doctorreg_no,\r\n // doctor_name: saleReturnData.doctor_name,\r\n // created_by: saleReturnData.created_by,\r\n // records: this.state.records,\r\n // discPercent: this.state.discountPercentage,\r\n // subtotalAmount: this.state.totalAmtSec.sub_total,\r\n // totalAmount: this.state.totalAmtSec.total,\r\n // discountAmt: this.state.totalAmtSec.discAmt,\r\n // gstAmt: this.state.totalAmtSec.gstAmt,\r\n // payment_mode: saleReturnData.payment_mode.label,\r\n // };\r\n // console.log(data);\r\n // let records = this.state.records;\r\n\r\n // axios\r\n\r\n // .post(addsaleReturnData, data, CONFIG)\r\n // .then((addVendorResponse) => {\r\n // let res = addVendorResponse.data;\r\n // console.log(res)\r\n // if (res.status === \"1\") {\r\n // // console.log(res.data[0].voucher_no);\r\n\r\n // this.setState({\r\n // records: records,\r\n // searchTableSuccess: res,\r\n // loading: false,\r\n // editformSuccess: res,\r\n // bill_no: res.data[0].bill_no,\r\n // bill_date: this.state.bill_date\r\n // });\r\n // toast.success(\"The Sale Entry voucher have been added successfully.\", {\r\n // className: \"toast-success\"\r\n // });\r\n\r\n // this.clearMessage();\r\n // //this.clearAll();\r\n // } else {\r\n // this.setState({\r\n // searchrecords: records,\r\n // searchTableSuccess: res,\r\n // editformSuccess: res,\r\n // loading: false,\r\n // });\r\n // toast.error(\"Sale Entry voucher could not be Added. \", {\r\n // className: \"toast-error\"\r\n // });\r\n // this.clearMessage();\r\n // }\r\n // })\r\n // .catch(() => { });\r\n\r\n // }\r\n // }\r\n\r\n updatesaleReturnData()\r\n {\r\n \r\n let { saleReturnData, errors } = this.state;\r\n saleReturnData.type = \"saleReturnData\";\r\n errors = Validation(saleReturnData, errors);\r\n this.setState({ errors: errors });\r\n \r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n \r\n let data = {\r\n user_id: this.props.userdata.id,\r\n phone_number: saleReturnData.phone_number || this.state.searchData.phone_number,\r\n patient_name: saleReturnData.patient_name || this.state.patient_name,\r\n address: saleReturnData.address || this.state.patient_address,\r\n remarks: saleReturnData.remarks,\r\n bill_date: saleReturnData.bill_date,\r\n bill_no:this.props.location.state.bill_no,\r\n doctorreg_no: saleReturnData.doctorreg_no,\r\n doctor_name: saleReturnData.doctor_name,\r\n created_by: saleReturnData.created_by,\r\n records: this.state.records,\r\n discPercent: this.state.discountPercentage,\r\n subtotalAmount: this.state.totalAmtSec.sub_total.toFixed(2),\r\n totalAmount: this.state.totalAmtSec.total.toFixed(2),\r\n discountAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n cgstAmt5:this.state.totalTaxAmtSec.cgstAmt5.toFixed(2),\r\n sgstAmt5:this.state.totalTaxAmtSec.sgstAmt5.toFixed(2),\r\n taxAmt5:this.state.totalTaxAmtSec.taxAmt5.toFixed(2),\r\n sub_total5:this.state.totalTaxAmtSec.sub_total5.toFixed(2),\r\n cgstAmt12:this.state.totalTaxAmtSec.cgstAmt12.toFixed(2),\r\n sgstAmt12:this.state.totalTaxAmtSec.sgstAmt12.toFixed(2),\r\n taxAmt12:this.state.totalTaxAmtSec.taxAmt12.toFixed(2),\r\n sub_total12:this.state.totalTaxAmtSec.sub_total12.toFixed(2),\r\n cgstAmt18:this.state.totalTaxAmtSec.cgstAmt18.toFixed(2),\r\n sgstAmt18:this.state.totalTaxAmtSec.sgstAmt18.toFixed(2),\r\n taxAmt18:this.state.totalTaxAmtSec.taxAmt18.toFixed(2),\r\n sub_total18:this.state.totalTaxAmtSec.sub_total18.toFixed(2),\r\n payment_mode: saleReturnData.payment_mode.label,\r\n customer_type: 'patient',\r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n \r\n axios\r\n \r\n .post(updateSaleReturnData, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n toast.success(\"The Sale Return voucher have been updated successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.setState({\r\n records: records,\r\n // searchTableSuccess: res,\r\n // loading: false,\r\n // editformSuccess: res,\r\n voucher_no:res.data[0].voucher_no\r\n });\r\n \r\n // this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Sale Entry voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n \r\n }\r\n \r\n }\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n componentDidUpdate(prevProps)\r\n { if (prevProps.location.state.payment_mode !== this.props.location.state.payment_mode) \r\n { this.setInitialPaymentMode(); }\r\n } \r\n setInitialPaymentMode = () => {\r\n const payment_mode = [\r\n { value: 0, label: \"Cash\" },\r\n { value: 1, label: \"UPI\" },\r\n { value: 2, label: \"Credit card\" },\r\n { value: 3, label: \"Debit card\" },\r\n\r\n ];\r\n const matchedOption = payment_mode.find(option => option.label === this.props.location.state.payment_mode); \r\n console.log('Matched Option:', matchedOption);\r\n this.setState({ selectedPaymentMode: matchedOption });\r\n }\r\n componentDidMount = () => {\r\n \r\nconsole.log(this.state.selectedPaymentMode);\r\nthis.setInitialPaymentMode();\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n this.fetchPharmacyDrugs();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n\r\n //set first record as consultation fee by default\r\n /* let consultation_fee_record = {};\r\n consultation_fee_record.s_no = 1;\r\n consultation_fee_record.description = \"Consultation Fee\";\r\n consultation_fee_record.fee = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n consultation_fee_record.disc = \"\";\r\n consultation_fee_record.taxable_value = \"\";\r\n consultation_fee_record.gst_rate = \"\";\r\n consultation_fee_record.gst_amount = \"\";\r\n consultation_fee_record.total_amount = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n */\r\n let records = [];\r\n // records.push(consultation_fee_record); \r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n this.calculateTaxAmounts();\r\n this.calculateTaxAmountSection();\r\n this.calculateTotals();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n\r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n\r\n }));\r\n\r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n });\r\n\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n\r\n\r\n\r\n };\r\n onDeleteClick(record) {\r\n\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n // Filter out the record to delete\r\n const updatedRecords = this.state.records.filter(item => item.s_no !== record.s_no);\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords, addPopup: false }, () => {\r\n toast.success(\"The Sale Return detail has been deleted successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.calculateSubTotals();\r\n console.log(updatedRecords);\r\n });\r\n }\r\n handlepaymentselectChange = (selectedOption) => {\r\n \r\n /* let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions; */\r\n this.setState({ selectedPaymentMode: selectedOption });\r\n \r\n }\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n const drugNameToSet = selectedOption ? selectedOption.label : ''; // Get the selected drug name\r\n\r\n // Update the drug_name for the specific record\r\n updatedData[index].generic_name = drugNameToSet;\r\n\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n console.log(updatedData[index][key])\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData, selectedBatches: [], batches: [] });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n this.getBatchandExpDateBydrugname(index, selectedOption,new Date());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n fetchPharmacyDrugs = async () => {\r\n try {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n const result = await axios.post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG);\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n this.setState({ supplies });\r\n this.fetchsaleReturnData(supplies);\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n console.error(\"Error fetching pharmacy drugs\", e);\r\n }\r\n };\r\n fetchsaleReturnData = async (supplies) => {\r\n try {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n const list = await axios.post(getAllSaleReturnListbybillno, { bill_no: this.props.location.state.bill_no }, CONFIG);\r\n const List = list.data.data;\r\n console.log(List);\r\n let doctorreg_no = List[0].doctorreg_no;\r\n\r\n let records = List.map((element, index) => ({\r\n s_no: index + 1,\r\n user_id: this.props.userdata.id,\r\n id:element.id,\r\n generic_name: element.generic_name,\r\n pack: element.pack,\r\n batch_no: element.batch_no,\r\n storage_bin: element.storage_bin,\r\n quantity: element.quantity,\r\n free: element.free,\r\n rate: element.rate,\r\n mrp: element.mrp,\r\n disc: element.disc,\r\n sub_total: element.sub_total,\r\n cgst: element.cgst,\r\n sgst: element.sgst,\r\n igst: element.igst,\r\n total: element.total,\r\n discAmt: element.discAmt,\r\n taxrate: element.taxrate,\r\n cgstAmt: element.cgstAmt,\r\n sgstAmt: element.sgstAmt,\r\n }));\r\n\r\n const defaultEnterSize = 25;\r\n const extraRows = defaultEnterSize - records.length;\r\n for (let i = 1; i <= extraRows; i++) {\r\n records.push({\r\n s_no: records.length + 1,\r\n user_id: this.props.userdata.id,\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n storage_bin: \"\",\r\n quantity: \"\",\r\n free: \"\",\r\n rate: 0,\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n discAmt: 0,\r\n taxrate: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n });\r\n }\r\n\r\n this.setState({\r\n records, loading: false,\r\n doctorreg_no: List[0].doctorreg_no,\r\n address: List[0].address,\r\n remarks: List[0].remarks,\r\n created_by: List[0].created_by,\r\n\r\n }, () => {\r\n // Trigger calculations after state update\r\n this.calculateSection();\r\n //this.calculateSubTotals();\r\n this.calculateTaxAmountSection();\r\n // this.calculateAllIgstAmounts();\r\n // this.calculateAllDiscountAmounts();\r\n });\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n console.error(\"Error fetching purchase entry data\", e);\r\n }\r\n };\r\n handleShow = (index) => {\r\n const currentRecord = this.state.records[index];\r\n console.log(currentRecord);\r\n console.log(\"curent index\", index);\r\n console.log(this.state.selectedBatches);\r\n\r\n // Create the current batch object\r\n const currentBatchInRow = {\r\n batch_no: currentRecord.batch_no || 'Select Batch',\r\n exp_date: currentRecord.exp_date || 'N/A',\r\n };\r\n console.log(currentBatchInRow);\r\n\r\n // Determine the selectedBatch based on the existence of batch_no\r\n const selectedBatch = currentRecord.batch_no\r\n ? currentBatchInRow // If batch_no exists, use currentBatchInRow\r\n : { batch_no: 'Select Batch', exp_date: 'N/A' }; // If not, use default\r\n\r\n // Set the current row index and selected batch in a single setState call\r\n this.setState({\r\n currentRow: index,\r\n selectedBatch: currentBatchInRow, // Set the selected batch based on the logic\r\n showModel: true,\r\n selectedBatches: [], // Show the modal\r\n //batches:[],\r\n });\r\n\r\n };\r\n handleBatchClose = () => {\r\n this.setState({ showModel: false });\r\n\r\n };\r\n handleSelectBatchClick = () => {\r\n const { selectedBatches, selectedExpdates, currentRow } = this.state;\r\n\r\n if (selectedBatches.length > 0) {\r\n console.log(\"Remove previous batch\", selectedBatches.shift()); // Remove the first element from selectedBatches\r\n console.log(\"Remove previous exp_date\", selectedExpdates.shift()); // Remove the first element from selectedExpdates\r\n\r\n this.selectBatch(selectedBatches, selectedExpdates, currentRow);\r\n\r\n // Clear selections\r\n this.setState({\r\n selectedBatches: [],\r\n selectedExpdates: []\r\n });\r\n } else {\r\n console.log('No batches selected.');\r\n }\r\n };\r\n\r\n selectBatch = (batches, expdates,quantities, selectedIndex) => {\r\n const updatedRecords = [...this.state.records];\r\n const batcheslength = batches.length;\r\n console.log(\"Selected Index:\", selectedIndex);\r\n console.log(\"Batches:\", batches);\r\n console.log(\"Quantities:\", quantities);\r\n console.log(\"old batch length\", batcheslength);\r\n console.log(\"New batches length\", batches.length);\r\n console.log(\"First Record:\", updatedRecords[0]);\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const drug_id=updatedRecords[this.state.currentRow]?.drug_id;\r\n const drugNameToSet = updatedRecords[this.state.currentRow]?.generic_name;\r\n const packToSet = updatedRecords[this.state.currentRow]?.pack;\r\n const storagebin = updatedRecords[this.state.currentRow]?.storage_bin;\r\n const mrp = updatedRecords[this.state.currentRow]?.mrp;\r\n const cgst = updatedRecords[this.state.currentRow]?.cgst;\r\n const sgst = updatedRecords[this.state.currentRow]?.sgst;\r\n const hsn_code = updatedRecords[this.state.currentRow]?.hsn_code;\r\n const conversion_factor = updatedRecords[this.state.currentRow]?.conversion_factor;\r\n console.log(\"Drug Name to Set:\", drugNameToSet);\r\n \r\n if (this.state.currentRow === 0) {\r\n // Loop through each selected batch and update the corresponding row\r\n batches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n \r\n expdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n quantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n } \r\n else{\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const updatedbatches=this.deleteElementsUpToIndex(batches, this.state.currentRow);\r\n updatedbatches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n const updatedexpdates=this.deleteElementsUpToIndex(expdates, this.state.currentRow);\r\n updatedexpdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedquantities=this.deleteElementsUpToIndex(quantities, this.state.currentRow);\r\n \r\n updatedquantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n }\r\n \r\n this.setState({ records: updatedRecords }, () => {\r\n console.log('Updated Records after Set State:', this.state.records);\r\n this.calculateTaxAmountSection();\r\n this.setState({ selectedBatches: [], selectedExpdates: [] ,selectedQuantities:[]});\r\n });\r\n };\r\n deleteElementsUpToIndex(array, index) {\r\n // Check if the index is valid\r\n if (index < 0 || index >= array.length) {\r\n console.error(\"Invalid index\");\r\n return array; // Return the original array if the index is invalid\r\n }\r\n \r\n // Return a new array starting from the specified index\r\n return array.slice(index);\r\n}\r\n getBatchnobyDrugname = (index, selectedOption) => {\r\n axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n\r\n let batch_no = drugResponse.data.data;\r\n console.log(\"Fetched batch: \", batch_no[0]);\r\n })\r\n }\r\n\r\n getBatchandExpDateBydrugname = (index, selectedOption) => {\r\n if (selectedOption != null) {\r\n this.setState({ batches: [] });\r\n axios.post(getBatchandExpDateBydrugname, { generic_name: selectedOption.label,specified_date: new Date() }, CONFIG)\r\n .then((drugResponse) => {\r\n // Ensure batches is always an array\r\n let batches = Array.isArray(drugResponse.data.data) ? drugResponse.data.data : [];\r\n console.log(\"Fetched batches: \", batches);\r\n this.setState({ batches });\r\n })\r\n .catch(error => {\r\n console.error('Error fetching batch data:', error);\r\n this.setState({ batches: [] }); // Set to empty array on error\r\n });\r\n }\r\n }\r\n fetchItemDetails = (index, selectedOption) => {\r\n // Fetch item list for the selected drug\r\n if (selectedOption != null) {\r\n\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n const itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Fetch batch numbers and expiry dates for the selected drug\r\n return axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((batchResponse) => {\r\n const batch_no = batchResponse.data.data;\r\n console.log(\"Fetched Batch Numbers: \", batch_no); // Verify the batch response\r\n\r\n // Find the item in the item list\r\n const item = itemList.find(item => item.generic_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data\r\n const updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n batch_no: item.batch_no, // Ensure batch_no is a string\r\n mrp: batch_no.length > 0 ? batch_no[0].mrp : \"\", // Handle case where batch_no might be empty\r\n storage_bin: item.storage_bin,\r\n conversion_factor: item.conversion_factor,\r\n cgst: item.cgst,\r\n sgst: item.sgst,\r\n hsn_code: item.hsn_code,\r\n\r\n // igst: this.state.State_value === this.state.gst_state ? item.igst : \"\",\r\n // sub_total: updatedData[index].quantity * updatedData[index].rate,\r\n };\r\n\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection(); // Call calculateSection after state update\r\n this.calculateTaxAmountSection();\r\n });\r\n }\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }\r\n };\r\n\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ saleReturnData: data, errors: errors });\r\n }\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n\r\n\r\n handlevendorselectChange = async (selectedOptions, e) => {\r\n let data = this.state.purchaseEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n\r\n this.setState({ purchaseEntryData: data, errors, searchErrorMessage: \"\" });\r\n\r\n axios\r\n .post(getgststatebyVendorname, { user_id: this.props.userdata.id, vendor_name: selectedOptions.label }, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data = resdata.data[0];\r\n console.log(resdata.status);\r\n\r\n if (resdata.status == \"1\") {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state);\r\n });\r\n }\r\n\r\n }).catch((e) => { });\r\n\r\n }\r\n handleUpdateVoucher = () => { \r\n const { bill_date } = this.state.saleReturnData;\r\n const currentDate = new Date(); \r\n const billDate = new Date(bill_date); \r\n // Calculate the difference in days\r\n // const timeDiff = Math.abs(currentDate.getTime() - voucherDate.getTime()); \r\n // const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); \r\n // Check if the voucher date is within 30 days or within the current month \r\n if (billDate.getMonth() !== currentDate.getMonth()) \r\n { \r\n this.setState({ updatePopup: true });\r\n return;\r\n } \r\n // Proceed with the update if validation passes \r\n this.updatesaleReturnData();\r\n };\r\n\r\n render() {\r\n \r\n let showPopup = () => { this.setState({ addPopup: true }); };\r\n let PopupClose = () => this.setState({ addPopup: false, updatePopup: false });\r\n let PopupConfirm = () => {\r\n this.setState({ addPopup: false },\r\n () => {\r\n\r\n this.handleUpdateVoucher();\r\n });\r\n };\r\n const payment_mode = [\r\n { value: 0, label: \"Cash\" },\r\n { value: 1, label: \"UPI\" },\r\n { value: 2, label: \"Credit card\" },\r\n { value: 3, label: \"Debit card\" },\r\n\r\n ];\r\n // let PopupClose = () => this.setState({ addPopup: false });\r\n // let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n const { saleReturnData, records, batches, bill_no, bill_date, selectedBatch, currentBatchinrow, showModel, errors, formSuccess, tableSuccess, hospitaltimeout, mastervendorNames, gst_state, State_value, searchErrorMessage, searchTableSuccess, loading } = this.state;\r\n const formattedSubTotal12 = this.props.location.state.sub_total12;\r\n\r\n return (\r\n\r\n
    \r\n \r\n\r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \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.location.state.view_page==true?'View':'Edit'} Sale Return Voucher

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.location.state.view_page==true?'View':'Edit'} Sale Return Voucher\r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n {/*
    */}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n Reset\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleDatePickerChange(date, 'bill_date')}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n disabled={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 \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n this.handleDatePickerChange(date, 'invoice_date')} \r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n \r\n /> \r\n
    \r\n \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Sub Total\r\n \r\n \r\n {this.state.totalAmtSec.sub_total.toFixed(2)}\r\n \r\n \r\n \r\n \r\n Disc Amt\r\n \r\n \r\n {this.props.location.state.discAmt ? this.props.location.state.discAmt : '0.00'}\r\n \r\n \r\n \r\n \r\n GST Amt\r\n \r\n \r\n {this.props.location.state.gstAmt ? this.props.location.state.gstAmt : '0.00'}\r\n \r\n \r\n \r\n \r\n Invoice value\r\n \r\n \r\n {this.state.totalAmtSec.total.toFixed(2)}\r\n \r\n \r\n {/* \r\n \r\n IGST Amt\r\n \r\n \r\n {this.state.totalAmtSec.igstAmt.toFixed(2)}\r\n \r\n */}\r\n\r\n\r\n \r\n \r\n
    \r\n {/* Add other content above the table if needed */}\r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* This is the empty row */}\r\n
    \r\n {/* This is the empty row */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n Disc %\r\n \r\n \r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n {/* You can add any content here if needed */}\r\n
    \r\n Payment Mode\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n\r\n \r\n \r\n 5%\r\n \r\n \r\n {this.props.location.state.sub_total5}\r\n \r\n \r\n {this.props.location.state.cgstAmt5}\r\n \r\n \r\n {this.props.location.state.sgstAmt5}\r\n \r\n \r\n {this.props.location.state.taxAmt5}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {formattedSubTotal12}\r\n \r\n \r\n {this.props.location.state.cgstAmt12}\r\n \r\n \r\n {this.props.location.state.sgstAmt12}\r\n \r\n \r\n {this.props.location.state.taxAmt12}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.props.location.state.sub_total18}\r\n \r\n \r\n {this.props.location.state.cgstAmt18}\r\n \r\n \r\n {this.props.location.state.sgstAmt18}\r\n \r\n \r\n {this.props.location.state.taxAmt18}\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n\r\n {/* \r\n \r\n \r\n Sub Total\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n \r\n Discount Amount\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n CGST%\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n SGST%\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n \r\n Grand Total\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n */}\r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n {this.props.location.state.view_page == true ?\r\n ( this.props.history.goBack()}\r\n id=\"back\"\r\n >\r\n Back\r\n ) :\r\n (
    \r\n Update\r\n \r\n \r\n clear\r\n \r\n this.props.history.goBack()}\r\n id=\"back\"\r\n >\r\n Back\r\n
    )}\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )}\r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ViewSaleReturnVoucher));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getPharmacyList,\r\n getAllPharmacyDrugs,\r\n getAllPharmacyItemList,\r\n getAllPharmacyVendorList,\r\n getAllPharmacyCustomerList,\r\n addPharmacy,\r\n addVendor,\r\n addsaleReturnData,\r\n updateSaleReturnDatab2b,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n getBatchnobydrugnameandExpDate,\r\n getBatchandExpDateBydrugname,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail,\r\n getclientbyphonenumber,\r\n getAllSaleReturnListbybillno\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport \"../assets/css/mystyle.css\";\r\nimport * as moment from \"moment\";\r\nimport { Restaurant } from \"@material-ui/icons\";\r\nimport { Link } from 'react-router-dom';\r\nimport BatchSelectionModal from \"./BatchSelectModal\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n storage_bin: \"\",\r\n quantity: \"\",\r\n rate: 0.0,\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n discAmt: 0,\r\n taxrate: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n};\r\nclass ViewSaleReturnVoucherb2b extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.searchData = {\r\n phone_number: \"\",\r\n error: \"\",\r\n };\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n showModel: false,\r\n selectedBatches: [],\r\n currentBatchinrow: null,\r\n currentRow: null,\r\n discountPercentage: '',\r\n batches: [],\r\n records: [],\r\n searchrecords: [],\r\n mastercustomerNames: [],\r\n selectedCustomer: null,\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n searchData: this.searchData,\r\n add_btn: false,\r\n view_page:false,\r\n purchaseEntryVoucher: {\r\n drug_name: \"\",\r\n // defaultEnterSize: 20,\r\n records: [],\r\n supplies: [],\r\n },\r\n selectedPaymentMode: null,\r\n saleReturnData:\r\n {\r\n phone_number: \"\",\r\n patient_name: \"\",\r\n address: \"\",\r\n remarks: \"\",\r\n bill_no: \"\",\r\n bill_date: new Date(),\r\n doctorreg_no: \"\",\r\n doctor_name: \"\",\r\n created_by: \"\",\r\n payment_mode: \"\",\r\n },\r\n\r\n totalAmtSec: {\r\n\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n gstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n totalAmtWords: \"\",\r\n taxrate: 0,\r\n },\r\n totalTaxAmtSec: {\r\n cgstAmt5: 0,\r\n sgstAmt5: 0,\r\n sub_total5: 0,\r\n taxAmt5: 0,\r\n cgstAmt12: 0,\r\n sgstAmt12: 0,\r\n sub_total12: 0,\r\n taxAmt12: 0,\r\n cgstAmt18: 0,\r\n sgstAmt18: 0,\r\n sub_total18: 0,\r\n taxAmt18: 0,\r\n sub_total: {\r\n 5: 0, // Taxable amount for 5%\r\n 12: 0, // Taxable amount for 12%\r\n 18: 0, // Taxable amount for 18%\r\n },\r\n cgstAmt: {\r\n 5: 0, // CGST amount for 5%\r\n 12: 0, // CGST amount for 12%\r\n 18: 0, // CGST amount for 18%\r\n },\r\n sgstAmt: {\r\n 5: 0, // SGST amount for 5%\r\n 12: 0, // SGST amount for 12%\r\n 18: 0, // SGST amount for 18%\r\n },\r\n total: {\r\n 5: 0, // Total amount for 5%\r\n 12: 0, // Total amount for 12%\r\n 18: 0, // Total amount for 18%\r\n },\r\n },\r\n\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n voucher_no: \"\",\r\n voucher_date: \"\",\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n poref_no: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n align: \"left\", // Set alignment to center\r\n sortable: true,\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n {index + 1} {/* Display the serial number based on the index */}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n width: 100,\r\n align: \"left\",\r\n sortable: true,\r\n cell: (record) => {\r\n return (\r\n \r\n
    \r\n this.onDeleteClick(record)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '450px',\r\n cell: (row, index) => {\r\n return (\r\n
    \r\n\r\n\r\n {row.generic_name && (row.batch_no !== '' || row.batch_no !== null) ? (\r\n\r\n row.generic_name\r\n\r\n ) : (\r\n option.label === row.generic_name)} // Ensure value is null if not found\r\n onChange={this.handleselectChange(index, 'generic_name')}\r\n options={this.state.supplies}\r\n />\r\n )}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => row.pack\r\n },\r\n\r\n /* {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width:'200px',\r\n cell: (row, index) => row.batch_no \r\n \r\n \r\n }, */\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => (\r\n
    \r\n {row.generic_name ? (\r\n row.batch_no ? (\r\n row.batch_no\r\n ) : (\r\n this.handleShow(index)}>Select Batch\r\n )\r\n ) : null}\r\n
    \r\n ),\r\n },\r\n \r\n {\r\n key: \"storage_bin\",\r\n text: \"Storage Bin\",\r\n className: \"storage_bin\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => row.storage_bin\r\n\r\n },\r\n // {\r\n // key: \"id\",\r\n // text: \"id\",\r\n // className: \"storage_bin\",\r\n // sortable: true,\r\n // align: \"left\",\r\n // width: '200px',\r\n // cell: (row, index) => row.id\r\n\r\n // },\r\n\r\n\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"loose\",\r\n text: \"Loose\",\r\n className: \"loose\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.mrp\r\n\r\n\r\n },\r\n {\r\n key: \"rate\",\r\n text: \"Rate\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n const rate = row.rate !== undefined && row.rate !== null ? Number(row.rate) : 0;\r\n return rate.toFixed(2);\r\n }\r\n },\r\n\r\n /* {\r\n key: \"disc\",\r\n text: \"Disc%\",\r\n className: \"disc\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n \r\n }, */\r\n {\r\n key: \"sub_total\",\r\n text: \"Amount\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => {\r\n const sub_total = row.sub_total !== undefined && row.sub_total !== null ? Number(row.sub_total) : 0;\r\n return sub_total.toFixed(2);\r\n }\r\n },\r\n\r\n\r\n\r\n /* {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.cgst \r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.sgst \r\n }, */\r\n /* {\r\n key: \"igst\",\r\n text: \"IGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width:200,\r\n cell: (row, index) => row.igst \r\n }, */\r\n /* {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n right: true,\r\n width:200,\r\n cell: (row, index) => row.total.toFixed(2) \r\n }, */\r\n ];\r\n this.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchcolumns = [\r\n\r\n {\r\n key: \"pharmacy_id\",\r\n text: \"Pharmacy ID\",\r\n className: \"searchpharmacy_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Address\",\r\n className: \"pharmacy_location\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData, errors });\r\n };\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n /* \r\n handleInput =(index,record) => {\r\n console.log(e);\r\n console.log(index);\r\n console.log(record);\r\n record[e.target.name] = e.target.value;\r\n }; */\r\n handlePhoneInput = (event) => {\r\n event.preventDefault();\r\n let data = this.state.searchData;\r\n let errors = this.state.errors;\r\n data[event.target.name] = event.target.value\r\n .replace(/\\s/g, \"\")\r\n .replace(/[^0-9+]+/g, \"\");\r\n data.error = \"\";\r\n this.setState({ searchData: data, errors });\r\n };\r\n\r\n handleAdd = (e) => {\r\n let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n\r\n name === \"patient_name\" ||\r\n name === \"address\" ||\r\n name === \"created_by\" ||\r\n name === \"remarks\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ saleReturnData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n handleInput = (index, field) => (event) => {\r\n const { value } = event.target;\r\n const records = [...this.state.records]; // Create a copy of the records\r\n records[index][field] = value; // Update the specific field for the specific index\r\n // console.log(value);\r\n // console.log(index,field);\r\n console.log(records);\r\n this.setState({ records }); // Update the state with the new records\r\n };\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n saleReturnData: {\r\n ...prevState.saleReturnData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n\r\n SalesB2B = () => {\r\n this.props.history.push(\"/saleentryvoucherb2b/\");\r\n }\r\n\r\n SearchPatient = () => {\r\n // event.preventDefault();\r\n\r\n let searchData = this.state.searchData;\r\n if (searchData.phone_number === \"\") {\r\n searchData.error = \"Phone number is required\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n if (searchData.phone_number.length !== 10) {\r\n searchData.error = \"Enter a valid phone number\";\r\n this.setState({ searchData: searchData });\r\n return;\r\n }\r\n\r\n\r\n if (searchData.phone_number !== \"\" && searchData.phone_number.length === 10) {\r\n this.setState({ loading: true });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(\r\n getclientbyphonenumber,\r\n { phone_number: searchData.phone_number },\r\n CONFIG\r\n )\r\n .then((result) => {\r\n this.setState({ loading: false });\r\n\r\n if (result.data.status === \"1\") {\r\n let data = result.data.client;\r\n\r\n console.log(data);\r\n\r\n let patient_name = data.first_name + ' ' + data.last_name;\r\n let patient_address = data.address1 + ',' + data.city + ',' + data.state + ',' + data.country + '-' + data.zip_code;\r\n\r\n console.log(patient_name);\r\n console.log(patient_address);\r\n this.setState({\r\n clientData: data,\r\n patient_name: patient_name,\r\n patient_address: patient_address,\r\n add_btn: true,\r\n\r\n });\r\n\r\n\r\n } else {\r\n\r\n let formSuccess = {\r\n message: \"No Client Found\",\r\n status: \"0\",\r\n };\r\n searchData.error = result.data.message;\r\n this.setState({\r\n searchData,\r\n is_add_btn: true,\r\n clientData: {},\r\n patientBasicData: [],\r\n loading: false,\r\n selectedPerson: \"\",\r\n formSuccess,\r\n\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n console.log(e.data);\r\n console.log(\"business user getbyid failed\");\r\n this.setState({ loading: false });\r\n });\r\n }\r\n };\r\n\r\n handleQuantityInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateRate(index);\r\n\r\n });\r\n };\r\n handleInputChange = (e) => {\r\n const value = e.target.value;\r\n const discountPercentage = value ? parseFloat(value) : 0; // Parse the input value\r\n\r\n // Update the discount percentage in the state\r\n this.setState({ discountPercentage }, () => {\r\n this.calculateDiscountAmounts();\r\n\r\n // Calculate discount amounts for all records\r\n });\r\n };\r\n calculateDiscountAmounts = () => {\r\n const { records, discountPercentage } = this.state;\r\n\r\n // Calculate discount amounts for all records\r\n const updatedRecords = records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = (sub_total * (discountPercentage / 100)); // Calculate discount amount\r\n return { ...record, discAmt }; // Return updated record\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords }, () => {\r\n this.calculateTotals();\r\n // this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n calculateTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const sub_total = record.sub_total || 0; // Default to 0 if undefined\r\n const discAmt = record.discAmt || 0; // Default to 0 if undefined\r\n const cgstAmt = record.cgstAmt || 0; // Default to 0 if undefined\r\n const sgstAmt = record.sgstAmt || 0; // Default to 0 if undefined\r\n const gstAmt = cgstAmt + sgstAmt;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n // Calculate the total\r\n const total = (sub_total - discAmt) + gstAmt;\r\n return { ...record, total }; // Return updated record with total\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n\r\n\r\n });\r\n };\r\n\r\n\r\n calculateRate = (index) => {\r\n let updatedData = [...this.state.records];\r\n let mrp = updatedData[index].mrp || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n let conversion_factor = updatedData[index].conversion_factor || 1;\r\n let cgst = updatedData[index].cgst || 0;\r\n let sgst = updatedData[index].cgst || 0;\r\n let gst = Number(cgst) + Number(sgst);\r\n console.log(cgst);\r\n console.log(sgst);\r\n console.log(gst);\r\n if (quantity != null && quantity !== 0) {\r\n if (gst == 5) {\r\n updatedData[index].rate = mrp / 1.05;\r\n } else if (gst == 12) {\r\n updatedData[index].rate = mrp / 1.12;\r\n }\r\n else if (gst == 18) {\r\n updatedData[index].rate = mrp / 1.18;\r\n }\r\n\r\n } else if (loose != null && loose !== 0) {\r\n updatedData[index].rate = mrp / conversion_factor;\r\n\r\n }\r\n\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n this.calculateSubTotals();\r\n \r\n //this.calculateTotals();\r\n });\r\n };\r\n\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let rate = updatedData[index].rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let loose = updatedData[index].loose || 0;\r\n if (quantity !== null && quantity !== 0) {\r\n updatedData[index].sub_total = quantity * rate;\r\n }\r\n else if (loose !== null && loose !== 0) {\r\n updatedData[index].sub_total = loose * rate;\r\n }\r\n this.setState({ records: updatedData }, () => {\r\n\r\n // this.calculateTotal(index);\r\n // this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n this.calculateGstAmount(index);\r\n });\r\n };\r\n\r\n calculateSubTotals = () => {\r\n const updatedData = this.state.records.map((record) => {\r\n const rate = record.rate || 0;\r\n const quantity = record.quantity || 0;\r\n const loose = record.loose || 0;\r\n let sub_total = 0;\r\n if (quantity > 0) {\r\n sub_total = quantity * rate;\r\n } else if (loose > 0) {\r\n sub_total = loose * rate;\r\n }\r\n\r\n // Return the updated record with the calculated subtotal\r\n return { ...record, sub_total };\r\n\r\n\r\n });\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateSection();\r\n this.calculateTotals();\r\n this.calculateTaxAmounts();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n\r\n calculateTaxAmounts = () => {\r\n const { records } = this.state; // Destructure records from state\r\n /* console.log(this.props.location.state.gstAmt); */\r\n const updatedData = records.map((record) => {\r\n const taxrate = record.taxrate || 0;\r\n let sub_total = 0; // Initialize sub_total\r\n let taxAmt12 = 0;\r\n let cgstAmt12 = 0;\r\n let sgstAmt12 = 0;\r\n \r\n // Assuming you have a quantity and rate in each record\r\n const quantity = record.quantity || 0; // Default to 0 if undefined\r\n const rate = record.rate || 0; // Default to 0 if undefined\r\n const gstAmt = record.gstAmt || 0;\r\n \r\n // Calculate subtotal based on the tax rate\r\n switch(taxrate) {\r\n case 5:\r\n // Example calculation for 5% tax\r\n sub_total = quantity * rate * 1.05; // Including tax\r\n break;\r\n case 12:\r\n // Example calculation for 12% tax\r\n sub_total = quantity * rate * 1.12; // Including tax\r\n taxAmt12 = gstAmt;\r\n cgstAmt12 = gstAmt / 2;\r\n sgstAmt12 = gstAmt / 2;\r\n break;\r\n case 18:\r\n // Example calculation for 18% tax\r\n sub_total = quantity * rate * 1.18; // Including tax\r\n break;\r\n default:\r\n // If tax rate is not recognized, just calculate the base subtotal\r\n sub_total = quantity * rate; // No tax applied\r\n }\r\n \r\n // Return the updated record with the calculated values\r\n return { ...record, sub_total, taxAmt12, cgstAmt12, sgstAmt12 };\r\n });\r\n \r\n // Update the state with the new records\r\n this.setState({ records: updatedData });\r\n };\r\n \r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let gstAmt = updatedData[index].gstAmt || 0;\r\n console.log(sub_total);\r\n console.log(discAmt);\r\n console.log(gstAmt);\r\n updatedData[index].total = sub_total - discAmt + gstAmt;\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let discAmt = updatedData[index].discAmt || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = (sub_total * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n\r\n calculateGstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n let cgstAmt = updatedData[index].cgstAmt;\r\n let sgstAmt = updatedData[index].sgstAmt;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n updatedData[index].gstAmt = (cgstAmt + sgstAmt);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n\r\n\r\n\r\n\r\n UpdateColumnChange = (record) => {\r\n\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"id\", record.id);\r\n\r\n records[recIndex].pharmacy_id = record.pharmacy_id ? record.pharmacy_id : \"\";\r\n records[recIndex].pharmacy_name = record.pharmacy_name;\r\n records[recIndex].pharmacy_location = record.pharmacy_location;\r\n records[recIndex].address = record.address;\r\n records[recIndex].city = record.city;\r\n records[recIndex].country = record.country;\r\n records[recIndex].state = record.state;\r\n records[recIndex].zip_code = record.zip_code;\r\n // records[recIndex].phone_number = record.phone_number;\r\n\r\n this.setState({ records: records });\r\n }\r\n\r\n clearErrors = (errors) => {\r\n\r\n\r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no = \"\"\r\n return errors\r\n }\r\n clear = () => {\r\n\r\n let data = this.state.saleReturnData;\r\n\r\n data.phone_number = \"\";\r\n data.patient_name = \"\";\r\n data.address = \"\";\r\n this.state.patient_address = \"\";\r\n this.state.patient_name = \"\";\r\n this.state.searchData.phone_number = \"\";\r\n this.setState({ saleReturnData: data, add_btn: false, formSuccess: { message: \"\", }, });\r\n\r\n }\r\n cancel = () => {\r\n\r\n let data = this.state.saleReturnData;\r\n\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n saleReturnData: data, actions: \"add\", voucher_no: \"\", errors: errors, searchErrorMessage: \"\", records: [],\r\n search_action: false,\r\n totalAmtSec: {\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n\r\n\r\n },\r\n\r\n });\r\n }\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n /* calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let amt = 0.0;\r\n let taxAmt = 0.0;\r\n let taxVal = 0.0;\r\n let totalAmt = 0.0;\r\n let sub_total=0.0;\r\n console.log(records);\r\n \r\n records.map((data, i) => {\r\n if (undefined !== data.fee) {\r\n amt = Number(amt) + Number(data.fee);\r\n }\r\n if (undefined !== data.gst_amount) {\r\n taxAmt = Number(taxAmt) + Number(data.gst_amount);\r\n }\r\n if (undefined !== data.taxable_value) {\r\n taxVal = Number(taxVal) + Number(data.taxable_value);\r\n }\r\n if (undefined !== data.total_amount) {\r\n totalAmt = Number(totalAmt) + Number(data.total_amount);\r\n }\r\n if (undefined !== data.quantity) {\r\n sub_total = Number(data.quantity) * Number(data.p_rate);\r\n }\r\n });\r\n \r\n totalAmtSec.amt = amt;\r\n totalAmtSec.taxAmt = taxAmt;\r\n totalAmtSec.taxVal = taxVal;\r\n totalAmtSec.totalAmt = totalAmt;\r\n totalAmtSec.sub_total=sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(totalAmt)+\" rupees only\";\r\n this.setState({ totalAmtSec });\r\n \r\n console.log(totalAmtSec);\r\n }; \r\n */\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let gstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n let roundtotal = 0.0;\r\n let rounddiff = 0.0;\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n\r\n if (data.gstAmt !== undefined) {\r\n gstAmt += Number(data.gstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.gstAmt = gstAmt;\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.roundtotal = Math.round(total);\r\n totalAmtSec.rounddiff = total - totalAmtSec.roundtotal;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n calculateTaxAmountSection = () => {\r\n let records = this.state.records;\r\n let totalTaxAmtSec = { ...this.state.totalTaxAmtSec };\r\n\r\n // Initialize tax amounts and totals for each tax rate\r\n let taxSummary = {\r\n 5: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 12: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 18: { cgstAmt: 0.0, sgstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n };\r\n\r\n\r\n records.forEach((data) => {\r\n const taxRate = data.taxrate;\r\n\r\n\r\n if (taxSummary[taxRate]) {\r\n console.log(\"Current Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n\r\n taxSummary[taxRate].cgstAmt += Number(data.cgstAmt) || 0;\r\n taxSummary[taxRate].sgstAmt += Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].taxAmt += Number(data.cgstAmt) + Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].sub_total += Number(data.sub_total) || 0;\r\n\r\n console.log(\"Updated Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n }\r\n });\r\n\r\n // Ensure totalTaxAmtSec has the necessary properties initialized\r\n totalTaxAmtSec = {\r\n cgstAmt5: totalTaxAmtSec.cgstAmt5 || 0,\r\n sgstAmt5: totalTaxAmtSec.sgstAmt5 || 0,\r\n taxAmt5: totalTaxAmtSec.taxAmt5 || 0,\r\n sub_total5: totalTaxAmtSec.sub_total5 || 0,\r\n cgstAmt12: totalTaxAmtSec.cgstAmt12 || 0,\r\n sgstAmt12: totalTaxAmtSec.sgstAmt12 || 0,\r\n taxAmt12: totalTaxAmtSec.taxAmt12 || 0,\r\n sub_total12: totalTaxAmtSec.sub_total12 || 0,\r\n cgstAmt18: totalTaxAmtSec.cgstAmt18 || 0,\r\n sgstAmt18: totalTaxAmtSec.sgstAmt18 || 0,\r\n taxAmt18: totalTaxAmtSec.taxAmt18 || 0,\r\n sub_total18: totalTaxAmtSec.sub_total18 || 0,\r\n };\r\n\r\n\r\n\r\n // Update the totalTaxAmtSec object with calculated values\r\n totalTaxAmtSec.cgstAmt5 = taxSummary[5].cgstAmt;\r\n totalTaxAmtSec.sgstAmt5 = taxSummary[5].sgstAmt;\r\n totalTaxAmtSec.taxAmt5 = taxSummary[5].taxAmt;\r\n totalTaxAmtSec.sub_total5 = taxSummary[5].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt12 = taxSummary[12].cgstAmt;\r\n totalTaxAmtSec.sgstAmt12 = taxSummary[12].sgstAmt;\r\n totalTaxAmtSec.taxAmt12 = taxSummary[12].taxAmt;\r\n totalTaxAmtSec.sub_total12 = taxSummary[12].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt18 = taxSummary[18].cgstAmt;\r\n totalTaxAmtSec.sgstAmt18 = taxSummary[18].sgstAmt;\r\n totalTaxAmtSec.taxAmt18 = taxSummary[18].taxAmt;\r\n totalTaxAmtSec.sub_total18 = taxSummary[18].sub_total;\r\n\r\n console.log(\"Final Total Tax Amount Section:\", totalTaxAmtSec);\r\n\r\n // Update the state with the new total tax amounts\r\n this.setState({ totalTaxAmtSec });\r\n };\r\n generate() {\r\n let { saleReturnData, errors } = this.state;\r\n saleReturnData.type = \"saleReturnData\";\r\n errors = Validation(saleReturnData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n phone_number: saleReturnData.phone_number || this.state.searchData.phone_number,\r\n patient_name: saleReturnData.patient_name || this.state.patient_name,\r\n address: saleReturnData.address || this.state.patient_address,\r\n remarks: saleReturnData.remarks,\r\n bill_date: saleReturnData.bill_date,\r\n doctorreg_no: saleReturnData.doctorreg_no,\r\n doctor_name: saleReturnData.doctor_name,\r\n created_by: saleReturnData.created_by,\r\n records: this.state.records\r\n };\r\n console.log(data);\r\n console.log(this.state.bill_no);\r\n console.log(this.state.saleReturnData.bill_date);\r\n this.props.history.push({\r\n pathname: \"/saleinvoiceb2b/\" + this.state.bill_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/saleinvoiceb2b/\" + this.state.bill_no,\r\n state: {\r\n bill_no: this.state.bill_no,\r\n bill_date: this.state.saleReturnData.bill_date.toString(),\r\n patient_name: this.state.patient_name,\r\n patient_address: this.state.patient_address,\r\n doctorreg_no: this.state.saleReturnData.doctorreg_no,\r\n doctor_name: this.state.saleReturnData.doctor_name,\r\n sub_total: this.state.totalAmtSec.sub_total.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n discAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n total: this.state.totalAmtSec.total.toFixed(2),\r\n totalAmtWords: this.state.totalAmtSec.totalAmtWords,\r\n roundtotal: this.state.totalAmtSec.roundtotal.toFixed(2),\r\n rounddiff: this.state.totalAmtSec.rounddiff.toFixed(2),\r\n sub_total5: this.state.totalTaxAmtSec.sub_total5,\r\n cgstAmt5: this.state.totalTaxAmtSec.cgstAmt5,\r\n sgstAmt5: this.state.totalTaxAmtSec.sgstAmt5,\r\n taxAmt5: this.state.totalTaxAmtSec.taxAmt5,\r\n sub_total12: this.state.totalTaxAmtSec.sub_total12,\r\n cgstAmt12: this.state.totalTaxAmtSec.cgstAmt12,\r\n sgstAmt12: this.state.totalTaxAmtSec.sgstAmt12,\r\n taxAmt12: this.state.totalTaxAmtSec.taxAmt12,\r\n sub_total18: this.state.totalTaxAmtSec.sub_total18,\r\n cgstAmt18: this.state.totalTaxAmtSec.cgstAmt18,\r\n sgstAmt18: this.state.totalTaxAmtSec.sgstAmt18,\r\n taxAmt18: this.state.totalTaxAmtSec.taxAmt18,\r\n }\r\n });\r\n }\r\n }\r\n // addsaleReturnData() {\r\n\r\n\r\n // let { saleReturnData, errors } = this.state;\r\n // saleReturnData.type = \"saleReturnData\";\r\n // errors = Validation(saleReturnData, errors);\r\n // this.setState({ errors: errors });\r\n\r\n // if (errors.formIsValid) {\r\n // this.setState({ loading: true });\r\n\r\n // let data = {\r\n // user_id: this.props.userdata.id,\r\n // phone_number: saleReturnData.phone_number || this.state.searchData.phone_number,\r\n // patient_name: saleReturnData.patient_name || this.state.patient_name,\r\n // address: saleReturnData.address || this.state.patient_address,\r\n // remarks: saleReturnData.remarks,\r\n // bill_date: saleReturnData.bill_date,\r\n // doctorreg_no: saleReturnData.doctorreg_no,\r\n // doctor_name: saleReturnData.doctor_name,\r\n // created_by: saleReturnData.created_by,\r\n // records: this.state.records,\r\n // discPercent: this.state.discountPercentage,\r\n // subtotalAmount: this.state.totalAmtSec.sub_total,\r\n // totalAmount: this.state.totalAmtSec.total,\r\n // discountAmt: this.state.totalAmtSec.discAmt,\r\n // gstAmt: this.state.totalAmtSec.gstAmt,\r\n // payment_mode: saleReturnData.payment_mode.label,\r\n // };\r\n // console.log(data);\r\n // let records = this.state.records;\r\n\r\n // axios\r\n\r\n // .post(addsaleReturnData, data, CONFIG)\r\n // .then((addVendorResponse) => {\r\n // let res = addVendorResponse.data;\r\n // console.log(res)\r\n // if (res.status === \"1\") {\r\n // // console.log(res.data[0].voucher_no);\r\n\r\n // this.setState({\r\n // records: records,\r\n // searchTableSuccess: res,\r\n // loading: false,\r\n // editformSuccess: res,\r\n // bill_no: res.data[0].bill_no,\r\n // bill_date: this.state.bill_date\r\n // });\r\n // toast.success(\"The Sale Entry voucher have been added successfully.\", {\r\n // className: \"toast-success\"\r\n // });\r\n\r\n // this.clearMessage();\r\n // //this.clearAll();\r\n // } else {\r\n // this.setState({\r\n // searchrecords: records,\r\n // searchTableSuccess: res,\r\n // editformSuccess: res,\r\n // loading: false,\r\n // });\r\n // toast.error(\"Sale Entry voucher could not be Added. \", {\r\n // className: \"toast-error\"\r\n // });\r\n // this.clearMessage();\r\n // }\r\n // })\r\n // .catch(() => { });\r\n\r\n // }\r\n // }\r\n\r\n updateSaleReturnData()\r\n {\r\n \r\n let { saleReturnData, errors } = this.state;\r\n saleReturnData.type = \"saleReturnData\";\r\n errors = Validation(saleReturnData, errors);\r\n this.setState({ errors: errors });\r\n \r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n \r\n let data = {\r\n user_id: this.props.userdata.id,\r\n /* phone_number: saleReturnData.phone_number || this.state.searchData.phone_number, */\r\n patient_name: saleReturnData.patient_name||this.props.location.state.patient_name,\r\n address: saleReturnData.address||this.state.address,\r\n remarks: saleReturnData.remarks||this.state.remarks,\r\n bill_date: saleReturnData.bill_date||this.props.location.state.bill_date,\r\n bill_no:this.props.location.state.bill_no,\r\n /* doctorreg_no: saleReturnData.doctorreg_no,\r\n doctor_name: saleReturnData.doctor_name, */\r\n created_by: saleReturnData.created_by||this.state.created_by,\r\n records: this.state.records,\r\n discPercent: this.props.location.state.disc, \r\n subtotalAmount: this.state.totalAmtSec.sub_total.toFixed(2),\r\n totalAmount: this.state.totalAmtSec.total.toFixed(2),\r\n discountAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n cgstAmt5:this.state.totalTaxAmtSec.cgstAmt5.toFixed(2),\r\n sgstAmt5:this.state.totalTaxAmtSec.sgstAmt5.toFixed(2),\r\n taxAmt5:this.state.totalTaxAmtSec.taxAmt5.toFixed(2),\r\n sub_total5:this.state.totalTaxAmtSec.sub_total5.toFixed(2),\r\n cgstAmt12:this.state.totalTaxAmtSec.cgstAmt12.toFixed(2),\r\n sgstAmt12:this.state.totalTaxAmtSec.sgstAmt12.toFixed(2),\r\n taxAmt12:this.state.totalTaxAmtSec.taxAmt12.toFixed(2),\r\n sub_total12:this.state.totalTaxAmtSec.sub_total12.toFixed(2),\r\n cgstAmt18:this.state.totalTaxAmtSec.cgstAmt18.toFixed(2),\r\n sgstAmt18:this.state.totalTaxAmtSec.sgstAmt18.toFixed(2),\r\n taxAmt18:this.state.totalTaxAmtSec.taxAmt18.toFixed(2),\r\n sub_total18:this.state.totalTaxAmtSec.sub_total18.toFixed(2),\r\n // payment_mode: this.state.selectedPaymentMode.label,\r\n customer_type: 'b2b',\r\n };\r\n console.log(data);\r\n let records = this.state.records;\r\n \r\n axios\r\n \r\n .post(updateSaleReturnDatab2b, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n toast.success(\"The Sale Return voucher have been updated successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.setState({\r\n records: records,\r\n // searchTableSuccess: res,\r\n // loading: false,\r\n // editformSuccess: res,\r\n bill_no:res.data[0].bill_no\r\n });\r\n \r\n // this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Sale Return voucher could not be updated. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n \r\n }\r\n \r\n }\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { saleReturnData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n saleReturnData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n saleReturnData,\r\n });\r\n }\r\n componentDidUpdate(prevProps)\r\n {\r\n if (this.props.location && this.props.location.state && this.props.location.state.payment_mode !== undefined) {\r\n if (prevProps.location && prevProps.location.state && prevProps.location.state.payment_mode !== this.props.location.state.payment_mode) \r\n { this.setInitialPaymentMode(); }\r\n } }\r\n setInitialPaymentMode = () => {\r\n const payment_mode = [\r\n { value: 0, label: \"Cash\" },\r\n { value: 1, label: \"UPI\" },\r\n { value: 2, label: \"Credit card\" },\r\n { value: 3, label: \"Debit card\" },\r\n\r\n ];\r\n const matchedOption = payment_mode.find(option => option.label === this.props.location.state?.payment_mode); \r\n console.log('Matched Option:', matchedOption);\r\n this.setState({ selectedPaymentMode: matchedOption });\r\n \r\n }\r\n componentDidMount = () => {\r\n \r\nconsole.log(this.state.selectedPaymentMode);\r\nthis.setInitialPaymentMode();\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n this.fetchPharmacyDrugs();\r\n this.fetchMasterCustomerNames();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n\r\n //set first record as consultation fee by default\r\n /* let consultation_fee_record = {};\r\n consultation_fee_record.s_no = 1;\r\n consultation_fee_record.description = \"Consultation Fee\";\r\n consultation_fee_record.fee = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n consultation_fee_record.disc = \"\";\r\n consultation_fee_record.taxable_value = \"\";\r\n consultation_fee_record.gst_rate = \"\";\r\n consultation_fee_record.gst_amount = \"\";\r\n consultation_fee_record.total_amount = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n */\r\n let records = [];\r\n // records.push(consultation_fee_record); \r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n this.calculateTaxAmounts();\r\n this.calculateTaxAmountSection();\r\n this.calculateTotals();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n /* axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n\r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n\r\n }));\r\n\r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n }); */\r\n\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n\r\n\r\n\r\n };\r\n \r\n fetchMasterCustomerNames=()=>{\r\n \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyCustomerList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n console.log(data.data);\r\n const mastercustomerNameList = data.data;\r\n const uniquecustomerNames = new Set();\r\n const mastercustomerNames = mastercustomerNameList\r\n /* .filter((element) => {\r\n \r\n if (!uniquecustomerNames.has(element.customer_name)) {\r\n uniquecustomerNames.add(element.customer_name);\r\n return true;\r\n }\r\n return false;\r\n }) */\r\n .map((element) => ({\r\n value: element.customer_id,\r\n label: element.customer_name,\r\n \r\n }));\r\n \r\n this.setState({ mastercustomerNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n \r\n });\r\n \r\n \r\n }\r\n onDeleteClick(record) {\r\n\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n // Filter out the record to delete\r\n const updatedRecords = this.state.records.filter(item => item.s_no !== record.s_no);\r\n\r\n // Update the state with the new records\r\n this.setState({ records: updatedRecords, addPopup: false }, () => {\r\n toast.success(\"The Sale Return detail has been deleted successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.calculateSubTotals();\r\n console.log(updatedRecords);\r\n });\r\n }\r\n handlepaymentselectChange = (selectedOption) => {\r\n \r\n /* let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions; */\r\n this.setState({ selectedPaymentMode: selectedOption });\r\n \r\n }\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n const drugNameToSet = selectedOption ? selectedOption.label : ''; // Get the selected drug name\r\n\r\n // Update the drug_name for the specific record\r\n updatedData[index].generic_name = drugNameToSet;\r\n\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n console.log(updatedData[index][key])\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData, selectedBatches: [], batches: [] });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n this.getBatchandExpDateBydrugname(index, selectedOption,new Date());\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n fetchPharmacyDrugs = async () => {\r\n try {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n const result = await axios.post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG);\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n this.setState({ supplies });\r\n this.fetchsaleReturnData(supplies);\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n console.error(\"Error fetching pharmacy drugs\", e);\r\n }\r\n };\r\n fetchsaleReturnData = async (supplies) => {\r\n try {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n const list = await axios.post(getAllSaleReturnListbybillno, { bill_no: this.props.location.state.bill_no }, CONFIG);\r\n const List = list.data.data;\r\n console.log(List);\r\n let doctorreg_no = List[0].doctorreg_no;\r\n\r\n let records = List.map((element, index) => ({\r\n s_no: index + 1,\r\n user_id: this.props.userdata.id,\r\n generic_name: element.generic_name,\r\n pack: element.pack,\r\n batch_no: element.batch_no,\r\n storage_bin: element.storage_bin,\r\n id:element.id,\r\n quantity: element.quantity,\r\n free: element.free,\r\n rate: element.rate,\r\n mrp: element.mrp,\r\n disc: element.disc,\r\n sub_total: element.sub_total,\r\n cgst: element.cgst,\r\n sgst: element.sgst,\r\n igst: element.igst,\r\n total: element.total,\r\n discAmt: element.discAmt,\r\n taxrate: element.taxrate,\r\n cgstAmt: element.cgstAmt,\r\n sgstAmt: element.sgstAmt,\r\n \r\n }));\r\n\r\n const defaultEnterSize = 25;\r\n const extraRows = defaultEnterSize - records.length;\r\n for (let i = 1; i <= extraRows; i++) {\r\n records.push({\r\n s_no: records.length + 1,\r\n user_id: this.props.userdata.id,\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n storage_bin: \"\",\r\n quantity: \"\",\r\n free: \"\",\r\n rate: 0,\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n discAmt: 0,\r\n taxrate: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n });\r\n }\r\n\r\n this.setState({\r\n records, loading: false,\r\n doctorreg_no: List[0].doctorreg_no,\r\n address: List[0].address,\r\n remarks: List[0].remarks,\r\n created_by: List[0].created_by,\r\n\r\n }, () => {\r\n // Trigger calculations after state update\r\n this.calculateSection();\r\n //this.calculateSubTotals();\r\n this.calculateTaxAmountSection();\r\n // this.calculateAllIgstAmounts();\r\n // this.calculateAllDiscountAmounts();\r\n });\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n console.error(\"Error fetching purchase entry data\", e);\r\n }\r\n };\r\n handleShow = (index) => {\r\n const currentRecord = this.state.records[index];\r\n console.log(currentRecord);\r\n console.log(\"curent index\", index);\r\n console.log(this.state.selectedBatches);\r\n\r\n // Create the current batch object\r\n const currentBatchInRow = {\r\n batch_no: currentRecord.batch_no || 'Select Batch',\r\n exp_date: currentRecord.exp_date || 'N/A',\r\n };\r\n console.log(currentBatchInRow);\r\n\r\n // Determine the selectedBatch based on the existence of batch_no\r\n const selectedBatch = currentRecord.batch_no\r\n ? currentBatchInRow // If batch_no exists, use currentBatchInRow\r\n : { batch_no: 'Select Batch', exp_date: 'N/A' }; // If not, use default\r\n\r\n // Set the current row index and selected batch in a single setState call\r\n this.setState({\r\n currentRow: index,\r\n selectedBatch: currentBatchInRow, // Set the selected batch based on the logic\r\n showModel: true,\r\n selectedBatches: [], // Show the modal\r\n //batches:[],\r\n });\r\n\r\n };\r\n handleBatchClose = () => {\r\n this.setState({ showModel: false });\r\n\r\n };\r\n handleSelectBatchClick = () => {\r\n const { selectedBatches, selectedExpdates, currentRow } = this.state;\r\n\r\n if (selectedBatches.length > 0) {\r\n console.log(\"Remove previous batch\", selectedBatches.shift()); // Remove the first element from selectedBatches\r\n console.log(\"Remove previous exp_date\", selectedExpdates.shift()); // Remove the first element from selectedExpdates\r\n\r\n this.selectBatch(selectedBatches, selectedExpdates, currentRow);\r\n\r\n // Clear selections\r\n this.setState({\r\n selectedBatches: [],\r\n selectedExpdates: []\r\n });\r\n } else {\r\n console.log('No batches selected.');\r\n }\r\n };\r\n\r\n selectBatch = (batches, expdates,quantities, selectedIndex) => {\r\n const updatedRecords = [...this.state.records];\r\n const batcheslength = batches.length;\r\n console.log(\"Selected Index:\", selectedIndex);\r\n console.log(\"Batches:\", batches);\r\n console.log(\"Quantities:\", quantities);\r\n console.log(\"old batch length\", batcheslength);\r\n console.log(\"New batches length\", batches.length);\r\n console.log(\"First Record:\", updatedRecords[0]);\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const drug_id=updatedRecords[this.state.currentRow]?.drug_id;\r\n const drugNameToSet = updatedRecords[this.state.currentRow]?.generic_name;\r\n const packToSet = updatedRecords[this.state.currentRow]?.pack;\r\n const storagebin = updatedRecords[this.state.currentRow]?.storage_bin;\r\n const mrp = updatedRecords[this.state.currentRow]?.mrp;\r\n const cgst = updatedRecords[this.state.currentRow]?.cgst;\r\n const sgst = updatedRecords[this.state.currentRow]?.sgst;\r\n const hsn_code = updatedRecords[this.state.currentRow]?.hsn_code;\r\n const conversion_factor = updatedRecords[this.state.currentRow]?.conversion_factor;\r\n console.log(\"Drug Name to Set:\", drugNameToSet);\r\n \r\n if (this.state.currentRow === 0) {\r\n // Loop through each selected batch and update the corresponding row\r\n batches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n \r\n expdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n quantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n } \r\n else{\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const updatedbatches=this.deleteElementsUpToIndex(batches, this.state.currentRow);\r\n updatedbatches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id:drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor:conversion_factor,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n const updatedexpdates=this.deleteElementsUpToIndex(expdates, this.state.currentRow);\r\n updatedexpdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedquantities=this.deleteElementsUpToIndex(quantities, this.state.currentRow);\r\n \r\n updatedquantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n }\r\n \r\n this.setState({ records: updatedRecords }, () => {\r\n console.log('Updated Records after Set State:', this.state.records);\r\n this.calculateTaxAmountSection();\r\n this.setState({ selectedBatches: [], selectedExpdates: [] ,selectedQuantities:[]});\r\n });\r\n };\r\n\r\n deleteElementsUpToIndex(array, index) {\r\n // Check if the index is valid\r\n if (index < 0 || index >= array.length) {\r\n console.error(\"Invalid index\");\r\n return array; // Return the original array if the index is invalid\r\n }\r\n \r\n // Return a new array starting from the specified index\r\n return array.slice(index);\r\n }\r\n\r\n getBatchnobyDrugname = (index, selectedOption) => {\r\n axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n\r\n let batch_no = drugResponse.data.data;\r\n console.log(\"Fetched batch: \", batch_no[0]);\r\n })\r\n }\r\n\r\n getBatchandExpDateBydrugname = (index, selectedOption) => {\r\n if (selectedOption != null) {\r\n this.setState({ batches: [] });\r\n axios.post(getBatchandExpDateBydrugname, { generic_name: selectedOption.label,specified_date: new Date() }, CONFIG)\r\n .then((drugResponse) => {\r\n // Ensure batches is always an array\r\n let batches = Array.isArray(drugResponse.data.data) ? drugResponse.data.data : [];\r\n console.log(\"Fetched batches: \", batches);\r\n this.setState({ batches });\r\n })\r\n .catch(error => {\r\n console.error('Error fetching batch data:', error);\r\n this.setState({ batches: [] }); // Set to empty array on error\r\n });\r\n }\r\n }\r\n fetchItemDetails = (index, selectedOption) => {\r\n // Fetch item list for the selected drug\r\n if (selectedOption != null) {\r\n\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n const itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Fetch batch numbers and expiry dates for the selected drug\r\n return axios.post(getBatchnobydrugnameandExpDate, { generic_name: selectedOption.label }, CONFIG)\r\n .then((batchResponse) => {\r\n const batch_no = batchResponse.data.data;\r\n console.log(\"Fetched Batch Numbers: \", batch_no); // Verify the batch response\r\n\r\n // Find the item in the item list\r\n const item = itemList.find(item => item.generic_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data\r\n const updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n batch_no: item.batch_no, // Ensure batch_no is a string\r\n mrp: batch_no.length > 0 ? batch_no[0].mrp : \"\", // Handle case where batch_no might be empty\r\n storage_bin: item.storage_bin,\r\n conversion_factor: item.conversion_factor,\r\n cgst: item.cgst,\r\n sgst: item.sgst,\r\n hsn_code: item.hsn_code,\r\n\r\n // igst: this.state.State_value === this.state.gst_state ? item.igst : \"\",\r\n // sub_total: updatedData[index].quantity * updatedData[index].rate,\r\n };\r\n\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection(); // Call calculateSection after state update\r\n this.calculateTaxAmountSection();\r\n });\r\n }\r\n });\r\n })\r\n\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }\r\n };\r\n\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ saleReturnData: data, errors: errors });\r\n }\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n\r\n handlecustomerselectChange = async (selectedOptions, e) => {\r\n let data = this.state.saleReturnData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n \r\n \r\n this.setState({ saleReturnData: data, errors,searchErrorMessage: \"\" });\r\n }\r\n handlevendorselectChange = async (selectedOptions, e) => {\r\n let data = this.state.purchaseEntryData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n\r\n this.setState({ purchaseEntryData: data, errors, searchErrorMessage: \"\" });\r\n\r\n axios\r\n .post(getgststatebyVendorname, { user_id: this.props.userdata.id, vendor_name: selectedOptions.label }, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data = resdata.data[0];\r\n console.log(resdata.status);\r\n\r\n if (resdata.status == \"1\") {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state);\r\n });\r\n }\r\n\r\n }).catch((e) => { });\r\n\r\n }\r\n\r\n handleUpdateVoucher = () => { \r\n const { bill_date } = this.state.saleReturnData;\r\n const currentDate = new Date(); \r\n const billDate = new Date(bill_date); \r\n console.log(billDate.getMonth());\r\n // Calculate the difference in days\r\n // const timeDiff = Math.abs(currentDate.getTime() - voucherDate.getTime()); \r\n // const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); \r\n // Check if the voucher date is within 30 days or within the current month \r\n if (billDate.getMonth() !== currentDate.getMonth()) \r\n { \r\n this.setState({ updatePopup: true });\r\n return;\r\n } \r\n // Proceed with the update if validation passes \r\n this.updateSaleReturnData();\r\n };\r\n render() {\r\n \r\n let showPopup = () => { this.setState({ addPopup: true }); };\r\n let PopupClose = () => this.setState({ addPopup: false, updatePopup: false });\r\n let PopupConfirm = () => {\r\n this.setState({ addPopup: false },\r\n () => {\r\n\r\n this.handleUpdateVoucher();\r\n });\r\n };\r\n const payment_mode = [\r\n { value: 0, label: \"Cash\" },\r\n { value: 1, label: \"UPI\" },\r\n { value: 2, label: \"Credit card\" },\r\n { value: 3, label: \"Debit card\" },\r\n\r\n ];\r\n // let PopupClose = () => this.setState({ addPopup: false });\r\n // let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n const { saleReturnData, records, batches,mastercustomerNames, bill_no, bill_date, selectedBatch, currentBatchinrow, showModel, errors, formSuccess, tableSuccess, hospitaltimeout, mastervendorNames, gst_state, State_value, searchErrorMessage, searchTableSuccess, loading } = this.state;\r\n const formattedSubTotal12 = this.props.location.state?.sub_total12;\r\n const { location } = this.props;\r\n const viewPage = location && location.state ? location.state.view_page : false; // Default to false if undefined\r\n const selectedCustomer = mastercustomerNames.find(option => option.label === (this.props.location.state?.patient_name)) || null;\r\n \r\n return (\r\n\r\n
    \r\n \r\n\r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {viewPage?'View':'Edit'} Sale Return Voucher B2B

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {viewPage?'View':'Edit'} Sale Return Voucher B2B\r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n {/*
    */}\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n */}\r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n\r\n \r\n \r\n 5%\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.sub_total5):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.cgstAmt5):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.sgstAmt5):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.taxAmt5):\"\"}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {formattedSubTotal12}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.cgstAmt12):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.sgstAmt12):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.taxAmt12):\"\"}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.sub_total18):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.cgstAmt18):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.sgstAmt18):\"\"}\r\n \r\n \r\n {this.props.location && this.props.location.state?(this.props.location.state.taxAmt18):\"\"}\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n\r\n {/* \r\n \r\n \r\n Sub Total\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n \r\n Discount Amount\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n CGST%\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n SGST%\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n \r\n Grand Total\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n */}\r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n {viewPage == true ?\r\n ( this.props.history.goBack()}\r\n id=\"back\"\r\n >\r\n Back\r\n ) :\r\n (
    \r\n Update\r\n \r\n \r\n clear\r\n \r\n this.props.history.goBack()}\r\n id=\"back\"\r\n >\r\n Back\r\n
    )}\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    )}\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ViewSaleReturnVoucherb2b));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport moment from \"moment\";\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getAllSalePatientList,\r\n getAllPurchaseReturnVendorList,\r\n getAllPharmacyVendorList,\r\n deleteSaleReturnByBillnumber,\r\n getTimeoutbycategory,\r\n searchDebitNoteEntries,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n deletePurchaseByVouchernumber,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nvar converter = require(\"number-to-words\");\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n drug_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n manu_date: \"\",\r\n exp_date: \"\",\r\n quantity: \"\",\r\n free: \"\",\r\n p_rate: \"\",\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n\r\n};\r\nclass DebitNoteRegister extends Component {\r\n _isMounted = false;\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n reportList: [],\r\n records: [],\r\n addPopup: false,\r\n updatePopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n selectedRecord: null,\r\n saleRegister:\r\n {\r\n FromDate: \"\",\r\n ToDate: \"\",\r\n vendor_name: \"\",\r\n purchasereturn_no: \"\",\r\n dn_date: \"\",\r\n dn_type:\"\",\r\n },\r\n\r\n\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n voucher_no: \"\",\r\n voucher_date: \"\",\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n poref_no: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '10px',\r\n },\r\n {\r\n key: \"purchasereturn_no\",\r\n text: \"DN No\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"dn_date\",\r\n text: \"DN Date\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n cell: (record) => {\r\n return moment(record.dn_date).format(\"DD-MM-YYYY\");\r\n },\r\n },\r\n\r\n {\r\n key: \"vendor_name\",\r\n text: \"Vendor Name\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n // {\r\n // key: \"customer_type\",\r\n // text: \"Type\",\r\n // className: \"columnalign\",\r\n // align: \"left\",\r\n // sortable: true,\r\n // width: '20px',\r\n // },\r\n\r\n {\r\n key: \"sub_total\",\r\n text: \"Sub Total\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '10px',\r\n },\r\n {\r\n key: \"disc\",\r\n text: \"Disc %\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '10px',\r\n cell: (record) => {\r\n if (record.disc != null) {\r\n return record.disc + \"%\"\r\n }\r\n }\r\n\r\n },\r\n {\r\n key: \"igstAmt\",\r\n text: \"GST Amt\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n },\r\n {\r\n key: \"dn_type\",\r\n text: \"DN Type\",\r\n className: \"columnalign\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '20px',\r\n cell: (record) => {\r\n if (record.dn_type==\"purchasereturn\") {\r\n return \"Purchase Return\"\r\n }else if(record.dn_type==\"expirybreakagereturn\"){\r\n return \"Exp/Brk Return\"\r\n }else if(record.dn_type==\"pricediff\"){\r\n return \"Price Difference\"\r\n }\r\n else{\r\n return \"\"\r\n }\r\n }\r\n },\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: '20px',\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n \r\n this.viewRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.editRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n \r\n \r\n this.onDeleteClick(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\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.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: true,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n name === \"patient_name\" ||\r\n name === \"bill_no\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ saleRegister: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n purchaseEntryData: {\r\n ...prevState.purchaseEntryData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n handleInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n });\r\n };\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].sub_total = quantity * (p_rate - ((disc / 100) * p_rate));\r\n\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateTotal(index);\r\n this.calculateDiscountAmount(index);\r\n this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n });\r\n };\r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let igst = updatedData[index].igst || 0;\r\n updatedData[index].total = sub_total + ((igst / 100) * sub_total);\r\n console.log(igst);\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = ((quantity * p_rate) * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n \r\n handleFromDOBChange = (date) => {\r\n let saleRegister = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n\r\n\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n saleRegister.FromDate = offsetDate;\r\n\r\n this.setState({ saleRegister: saleRegister, errors: errors, FromDate: offsetDate });\r\n };\r\n handleToDOBChange = (date) => {\r\n let saleRegister = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n saleRegister.ToDate = offsetDate;\r\n //errors.Todate=\"\";\r\n this.setState({ saleRegister: saleRegister, errors: errors, ToDate: offsetDate });\r\n };\r\n\r\n\r\n\r\n\r\n clearErrors = (errors) => {\r\n\r\n\r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no = \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n\r\n let data = this.state.saleRegister;\r\n\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n saleRegister: data, actions: \"add\", voucher_no: \"\", errors: errors, searchErrorMessage: \"\", records: [],\r\n search_action: false,\r\n totalAmtSec: {\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n\r\n },\r\n\r\n });\r\n }\r\n\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let igstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n if (data.igstAmt !== undefined) {\r\n igstAmt += Number(data.igstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.igstAmt = igstAmt;\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n\r\n editRecord(record) {\r\n console.log(record);\r\n \r\n\r\n this.props.history.push({\r\n pathname: \"/viewpurchasereturnvoucher/\" + record.purchasereturn_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/viewpurchasereturnvoucher/\" + record.purchasereturn_no,\r\n state: {\r\n vendor_name: record.vendor_name,\r\n purchasereturn_no: record.purchasereturn_no,\r\n dn_date: record.dn_date,\r\n vendorinvoice_no:record.vendorinvoice_no,\r\n vendor_name: record.vendor_name,\r\n phone_number: record.phone_number,\r\n doctor_name: record.doctor_name,\r\n address: record.address,\r\n created_by: record.created_by,\r\n remarks: record.remarks,\r\n dn_type:record.dn_type,\r\n disc: record.disc,\r\n gstAmt: record.gstAmt,\r\n discAmt: record.discAmt,\r\n cgstAmt5: record.cgstAmt5,\r\n sgstAmt5: record.sgstAmt5,\r\n taxAmt5: record.taxAmt5,\r\n sub_total5: record.sub_total5,\r\n cgstAmt12: record.cgstAmt12,\r\n sgstAmt12: record.sgstAmt12,\r\n taxAmt12: record.taxAmt12,\r\n sub_total12: record.sub_total12,\r\n cgstAmt18: record.cgstAmt18,\r\n sgstAmt18: record.sgstAmt18,\r\n taxAmt18: record.taxAmt18,\r\n sub_total18: record.sub_total18,\r\n payment_mode: record.payment_mode,\r\n view_page: false\r\n }\r\n });\r\n \r\n\r\n\r\n }\r\n\r\n viewRecord(record) {\r\n \r\n this.props.history.push({\r\n pathname: \"/viewpurchasereturnvoucher/\" + record.purchasereturn_no,\r\n });\r\n this.props.history.replace({\r\n pathname: \"/viewpurchasereturnvoucher/\" + record.purchasereturn_no,\r\n state: {\r\n vendor_name: record.vendor_name,\r\n purchasereturn_no: record.purchasereturn_no,\r\n dn_date: record.dn_date,\r\n vendorinvoice_no:record.vendorinvoice_no,\r\n vendor_name: record.vendor_name,\r\n disc: record.disc,\r\n gstAmt: record.gstAmt,\r\n phone_number: record.phone_number,\r\n doctor_name: record.doctor_name,\r\n address: record.address,\r\n created_by: record.created_by,\r\n remarks: record.remarks,\r\n dn_type:record.dn_type,\r\n discAmt: record.discAmt,\r\n payment_mode: record.payment_mode,\r\n cgstAmt: record.cgstAmt,\r\n sgstAmt: record.sgstAmt,\r\n cgstAmt5: record.cgstAmt5,\r\n sgstAmt5: record.sgstAmt5,\r\n taxAmt5: record.taxAmt5,\r\n sub_total5: record.sub_total5,\r\n cgstAmt12: record.cgstAmt12,\r\n sgstAmt12: record.sgstAmt12,\r\n taxAmt12: record.taxAmt12,\r\n sub_total12: record.sub_total12,\r\n cgstAmt18: record.cgstAmt18,\r\n sgstAmt18: record.sgstAmt18,\r\n taxAmt18: record.taxAmt18,\r\n sub_total18: record.sub_total18,\r\n view_page: true\r\n }\r\n });\r\n \r\n }\r\n refreshData = () => {\r\n\r\n let saleRegister = this.state.saleRegister;\r\n saleRegister = { FromDate: \"\", ToDate: \"\", dn_type: \"\", vendor_name: \"\", errors: \"\" };\r\n this.setState({\r\n saleRegister: saleRegister\r\n });\r\n\r\n this.getAllPurchaseReturnVendorList(this.props.userdata.id);\r\n\r\n\r\n };\r\n\r\n getAllPurchaseEntryList = (user_id) => {\r\n\r\n if (user_id !== \"\") {\r\n let reqdata = {\r\n user_id: this.props.userdata.id\r\n\r\n }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPurchaseReturnVendorList, reqdata, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.purchasereturn_no = element.purchasereturn_no;\r\n purchaseData.dn_date = element.dn_date;\r\n purchaseData.disc = element.disc;\r\n purchaseData.sub_total = element.sub_total;\r\n purchaseData.total = element.total;\r\n purchaseData.dn_type=element.dn_type;\r\n purchaseData.phone_number = element.phone_number;\r\n purchaseData.igstAmt=element.igstAmt;\r\n purchaseData.discAmt = element.discAmt;\r\n purchaseData.doctor_name = element.doctor_name;\r\n purchaseData.payment_mode = element.payment_mode;\r\n purchaseData.cgstAmt5 = element.cgstAmt5;\r\n purchaseData.sgstAmt5 = element.sgstAmt5;\r\n purchaseData.taxAmt5 = element.taxAmt5;\r\n purchaseData.sub_total5 = element.sub_total5;\r\n purchaseData.cgstAmt12 = element.cgstAmt12;\r\n purchaseData.sgstAmt12 = element.sgstAmt12;\r\n purchaseData.taxAmt12 = element.taxAmt12;\r\n purchaseData.sub_total12 = element.sub_total12;\r\n purchaseData.cgstAmt18 = element.cgstAmt18;\r\n purchaseData.sgstAmt18 = element.sgstAmt18;\r\n purchaseData.taxAmt18 = element.taxAmt18;\r\n purchaseData.sub_total18 = element.sub_total18;\r\n DataArr[index] = purchaseData;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n\r\n\r\n }\r\n }\r\n\r\n searchDebitNoteEntries() {\r\n let saleRegister = this.state.saleRegister;\r\n\r\n let data = {};\r\n let errors = this.state;\r\n data.vendor_name = saleRegister.vendor_name ? saleRegister.vendor_name.label : \"\";\r\n data.FromDate = saleRegister.FromDate;\r\n data.ToDate = saleRegister.ToDate;\r\n data.dn_type = saleRegister.dn_type.value;\r\n data.user_id = this.props.userdata.id;\r\n\r\n\r\n\r\n console.log(data);\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n console.log(data);\r\n axios.post(searchDebitNoteEntries, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data.data;\r\n console.log(result);\r\n if (result.length > 0) {\r\n // let records = result.data;\r\n\r\n let reportList = [];\r\n result.forEach((element, index) => {\r\n let report = {};\r\n report.s_no = index + 1;\r\n report.purchasereturn_no = element.purchasereturn_no;\r\n report.dn_date = element.dn_date;\r\n report.vendor_name = element.vendor_name;\r\n report.igstAmt = element.igstAmt;\r\n report.disc = element.disc;\r\n report.sub_total = element.sub_total;\r\n report.total = element.total;\r\n report.dn_type=element.dn_type;\r\n \r\n reportList[index] = report;\r\n });\r\n this.setState({ reportList: reportList, search_action: true });\r\n } else {\r\n this.setState({ reportList: [], search_action: true });\r\n }\r\n });\r\n });\r\n // }\r\n }\r\n\r\n \r\n createinvoice() {\r\n document.location.href = \"/salereturnvoucher\";\r\n }\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseEntryData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseEntryData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n purchaseEntryData,\r\n });\r\n }\r\n componentDidMount = () => {\r\n this._isMounted = true;\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n \r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n \r\n }));\r\n \r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n \r\n });\r\n \r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPurchaseReturnVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.purchasereturn_no = element.purchasereturn_no;\r\n purchaseData.dn_date = element.dn_date;\r\n purchaseData.vendor_name = element.vendor_name;\r\n purchaseData.gstAmt = element.gstAmt;\r\n purchaseData.igstAmt=element.igstAmt;\r\n purchaseData.disc = element.disc;\r\n purchaseData.sub_total = element.sub_total;\r\n purchaseData.total = element.total;\r\n purchaseData.dn_type=element.dn_type;\r\n purchaseData.phone_number = element.phone_number;\r\n purchaseData.discAmt = element.discAmt;\r\n purchaseData.cgstAmt5 = element.cgstAmt5;\r\n purchaseData.sgstAmt5 = element.sgstAmt5;\r\n purchaseData.taxAmt5 = element.taxAmt5;\r\n purchaseData.sub_total5 = element.sub_total5;\r\n purchaseData.cgstAmt12 = element.cgstAmt12;\r\n purchaseData.sgstAmt12 = element.sgstAmt12;\r\n purchaseData.taxAmt12 = element.taxAmt12;\r\n purchaseData.sub_total12 = element.sub_total12;\r\n purchaseData.cgstAmt18 = element.cgstAmt18;\r\n purchaseData.sgstAmt18 = element.sgstAmt18;\r\n purchaseData.taxAmt18 = element.taxAmt18;\r\n purchaseData.sub_total18 = element.sub_total18;\r\n purchaseData.doctor_name = element.doctor_name;\r\n purchaseData.payment_mode = element.payment_mode;\r\n DataArr[index] = purchaseData;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n\r\n\r\n\r\n };\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n onDeleteClick(record) {\r\n this.setState({ addPopup: true, selectedRecord: record });\r\n\r\n }\r\ngetAllSaleReturnCustomerList=(userid)=>{\r\n // let reqdata = {\r\n // user_id: this.props.userdata.id\r\n\r\n // }\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPurchaseReturnVendorList, {user_id:userid}, CONFIG)\r\n .then((list) => {\r\n let VendorList = list.data.data;\r\n let DataArr = [];\r\n VendorList.forEach((element, index) => {\r\n let purchaseData = {};\r\n purchaseData.s_no = index + 1;\r\n purchaseData.user_id = this.props.userdata.id;\r\n purchaseData.purchasereturn_no = element.purchasereturn_no;\r\n purchaseData.dn_date = element.dn_date;\r\n purchaseData.patient_name = element.patient_name;\r\n purchaseData.disc = element.disc;\r\n purchaseData.sub_total = element.sub_total;\r\n purchaseData.total = element.total;\r\n purchaseData.igstAmt=element.igstAmt;\r\n // purchaseData.customer_type = element.customer_type;\r\n purchaseData.dn_type=element.dn_type;\r\n purchaseData.phone_number = element.phone_number;\r\n purchaseData.discAmt = element.discAmt;\r\n purchaseData.cgstAmt5 = element.cgstAmt5;\r\n purchaseData.sgstAmt5 = element.sgstAmt5;\r\n purchaseData.taxAmt5 = element.taxAmt5;\r\n purchaseData.sub_total5 = element.sub_total5;\r\n purchaseData.cgstAmt12 = element.cgstAmt12;\r\n purchaseData.sgstAmt12 = element.sgstAmt12;\r\n purchaseData.taxAmt12 = element.taxAmt12;\r\n purchaseData.sub_total12 = element.sub_total12;\r\n purchaseData.cgstAmt18 = element.cgstAmt18;\r\n purchaseData.sgstAmt18 = element.sgstAmt18;\r\n purchaseData.taxAmt18 = element.taxAmt18;\r\n purchaseData.sub_total18 = element.sub_total18;\r\n purchaseData.gstAmt = element.gstAmt;\r\n purchaseData.doctor_name = element.doctor_name;\r\n purchaseData.payment_mode = element.payment_mode;\r\n DataArr[index] = purchaseData;\r\n });\r\n\r\n this.setState({ records: DataArr });\r\n })\r\n .catch(() => { });\r\n }\r\n\r\n handleDeleteVoucher = (record) => {\r\n console.log(record);\r\n const { dn_date } = record;\r\n const currentDate = new Date();\r\n const BillDate = new Date(dn_date);\r\n \r\n // Calculate the difference in days\r\n // const timeDiff = Math.abs(currentDate.getTime() - voucherDate.getTime()); \r\n // const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); \r\n // Check if the voucher date is within 30 days or within the current month \r\n if (BillDate.getMonth() !== currentDate.getMonth()) {\r\n this.setState({ updatePopup: true });\r\n return;\r\n }\r\n // Proceed with the update if validation passes \r\n this.deleteRecord(record);\r\n };\r\n deleteRecord(record) {\r\n\r\n let userId = record.id;\r\n let purchasereturn_no = record.purchasereturn_no;\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(deleteSaleReturnByBillnumber, { purchasereturn_no: purchasereturn_no }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n this.getAllPurchaseReturnVendorList(this.props.userdata.id);\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Sale has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n \r\n }\r\n\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n\r\n fetchItemDetails = (index, selectedOption) => {\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data again\r\n let updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst : \"\",\r\n igst: this.state.State_value !== this.state.gst_state ? item.igst : \"\",\r\n sub_total: updatedData[index].quantity * updatedData[index].p_rate,\r\n };\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n console.log(updatedData[index].quantity);\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n\r\n }\r\n this.setState({ record }, () => {\r\n this.calculateSection();\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n };\r\n\r\n\r\n\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ saleRegister: data, errors: errors });\r\n }\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n\r\n\r\n handlepatientselectChange = async (selectedOptions, e) => {\r\n let data = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n\r\n this.setState({ saleRegister: data, errors, searchErrorMessage: \"\" });\r\n\r\n /* axios\r\n .post(getgststatebyVendorname,{user_id:this.props.userdata.id,vendor_name:selectedOptions.label}, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data=resdata.data[0];\r\n console.log(resdata.status);\r\n \r\n if (resdata.status == \"1\") \r\n {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state); }); }\r\n \r\n }).catch((e) => { }); */\r\n\r\n }\r\n PopupConfirm = () => {\r\n this.handleDeleteVoucher(this.state.selectedRecord);\r\n this.setState({ addPopup: false, selectedRecord: null });\r\n };\r\n handlepaymentselectChange = (selectedOptions, e) => {\r\n let data = this.state.saleRegister;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n \r\n this.setState({ saleRegister: data, errors, searchErrorMessage: \"\" });\r\n }\r\n PopupConfirm = () => \r\n { \r\n this.handleDeleteVoucher(this.state.selectedRecord);\r\n this.setState({ addPopup: false, selectedRecord: null });\r\n };\r\n render() {\r\n const dn_type = [\r\n { value: \"purchasereturn\", label: \"Purchase Return\" },\r\n { value: \"expirybreakagereturn\", label: \"Exp/Brk Return\" },\r\n { value: \"pricediff\", label: \"Price Diff\" },\r\n\r\n ];\r\n let PopupClose = () => this.setState({ addPopup: false, selectedRecord: null, updatePopup: false });\r\n // let PopupConfirm = () => this.handleDeleteVoucher(record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n const { saleRegister, records, errors, formSuccess, tableSuccess, hospitaltimeout, mastervendorNames, gst_state, State_value, searchErrorMessage, searchTableSuccess, loading } = this.state;\r\n return (\r\n\r\n
    \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Debit Note Register

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n  Refresh\r\n \r\n\r\n Debit Note Register\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleFromDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n
    \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.handleToDOBChange(date)\r\n }\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n />\r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n \r\n\r\n  Search\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n\r\n 0 ? this.state.reportList : this.state.records}\r\n columns={this.columns}\r\n />\r\n\r\n\r\n\r\n {/*
    \r\n \r\n \r\n \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({\r\n deletePopup: false,\r\n })\r\n }\r\n onConfirm={() =>\r\n this.deleteRecord(this.state.record)\r\n }\r\n title={\"Confirmation\"}\r\n message={\r\n \"Are you sure you want to delete this record?\"\r\n }\r\n /> */}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )}\r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(DebitNoteRegister));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport {\r\n getPharmacyList,\r\n getAllPharmacyDrugs,\r\n getAllPharmacyItemList,\r\n getAllPharmacyVendorList,\r\n getAllPurchaseReturnListbypurchaseReturnno,\r\n addPharmacy,\r\n addVendor,\r\n addPurchaseReturnData,\r\n updatePurchaseReturnData,\r\n updateExpiryBreakageReturnData,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getitemlistforPharmacyDrug,\r\n getgststatebyVendorname,\r\n getPharmacyShortDetail,\r\n openingstockimport,\r\n getBatchandExpDateBydrugname,\r\n getalldetailsBygenericnameandbatchno,\r\n getvendorshortdetailsbyVendorname\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport { renameKey } from \"../constants/globalLevelFunctions\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport OpeningStockTemplate from \"./OpeningStockTemplate\";\r\nimport { Link } from 'react-router-dom';\r\nimport PurchaseReturnSelectModal from \"./PurchaseReturnSelectModal\";\r\nvar converter = require(\"number-to-words\");\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\nlet record = {\r\n s_no: \"\",\r\n drug_id: \"\",\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n manu_date: \"\",\r\n exp_date: \"\",\r\n hsn_code: \"\",\r\n quantity: \"\",\r\n free: \"\",\r\n p_rate: \"\",\r\n mrp: \"\",\r\n disc: \"\",\r\n sub_total: 0,\r\n cgst: \"\",\r\n sgst: \"\",\r\n igst: \"\",\r\n total: 0,\r\n\r\n};\r\nclass ViewPurchaseReturnVoucher extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n updatePopup: false,\r\n showModel: false,\r\n selectedBatches: [],\r\n currentBatchinrow: null,\r\n currentRow: null,\r\n discountPercentage: '',\r\n batches: [],\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n purchaseEntryVoucher: {\r\n drug_name: \"\",\r\n // defaultEnterSize: 20,\r\n records: [],\r\n supplies: [],\r\n },\r\n\r\n purchaseReturnData:\r\n {\r\n vendor_name: this.props.location.state.vendor_name,\r\n address: this.props.location.state.address || '',\r\n created_by: this.props.location.state.created_by || '',\r\n remarks: this.props.location.state.remarks || '',\r\n purchasereturn_no: this.props.location.state.purchasereturn_no || '',\r\n dn_date: new Date(),\r\n vendorinvoice_no: this.props.location.state.vendorinvoice_no || '',\r\n invoice_date: this.props.location.state.invoice_date || '',\r\n mode: \"\"\r\n\r\n },\r\n OpeningStockData: {\r\n drug_id: \"\",\r\n generic_name: \"\",\r\n pack: \"\",\r\n batch_no: \"\",\r\n manu_date: \"\",\r\n exp_date: \"\",\r\n quantity: \"\",\r\n p_rate: \"\",\r\n mrp: \"\",\r\n sub_total: 0,\r\n total: 0,\r\n transaction_type: \"\",\r\n transaction_date: \"\",\r\n vendor_name: \"\",\r\n customer_name: \"\",\r\n notes: \"\"\r\n },\r\n totalAmtSec: {\r\n\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n gstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n totalAmtWords: \"\",\r\n },\r\n /* totalAmtSec: {\r\n \r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n gstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n totalAmtWords: \"\",\r\n taxrate: 0,\r\n }, */\r\n totalTaxAmtSec: {\r\n cgstAmt5: 0,\r\n sgstAmt5: 0,\r\n igstAmt5: 0,\r\n sub_total5: 0,\r\n taxAmt5: 0,\r\n cgstAmt12: 0,\r\n sgstAmt12: 0,\r\n igstAmt12: 0,\r\n sub_total12: 0,\r\n taxAmt12: 0,\r\n cgstAmt18: 0,\r\n sgstAmt18: 0,\r\n igstAmt18: 0,\r\n sub_total18: 0,\r\n taxAmt18: 0,\r\n sub_total: {\r\n 5: 0, // Taxable amount for 5%\r\n 12: 0, // Taxable amount for 12%\r\n 18: 0, // Taxable amount for 18%\r\n },\r\n cgstAmt: {\r\n 5: 0, // CGST amount for 5%\r\n 12: 0, // CGST amount for 12%\r\n 18: 0, // CGST amount for 18%\r\n },\r\n sgstAmt: {\r\n 5: 0, // SGST amount for 5%\r\n 12: 0, // SGST amount for 12%\r\n 18: 0, // SGST amount for 18%\r\n },\r\n igstAmt: {\r\n 5: 0, // SGST amount for 5%\r\n 12: 0, // SGST amount for 12%\r\n 18: 0, // SGST amount for 18%\r\n },\r\n total: {\r\n 5: 0, // Total amount for 5%\r\n 12: 0, // Total amount for 12%\r\n 18: 0, // Total amount for 18%\r\n },\r\n },\r\n\r\n errors: {\r\n purchaseentry_id: \"\",\r\n vendor_name: \"\",\r\n address: \"\",\r\n created_by: \"\",\r\n remarks: \"\",\r\n voucher_no: \"\",\r\n voucher_date: \"\",\r\n vendorinvoice_no: \"\",\r\n invoice_date: \"\",\r\n poref_no: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n defaultEnterSize: 25,\r\n records: [],\r\n supplies: [],\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name sform-control\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '450px',\r\n cell: (row, index) => {\r\n let obj = {\r\n label: record.generic_name,\r\n value: record.generic_name,\r\n };\r\n return (\r\n option.label === row.generic_name)}\r\n onChange={this.handleselectChange(index, 'generic_name')}\r\n options={this.state.supplies}\r\n\r\n />\r\n\r\n );\r\n },\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => row.pack\r\n },\r\n\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n width: '200px',\r\n cell: (row, index) => (\r\n
    \r\n {row.generic_name ? (\r\n row.batch_no ? (\r\n row.batch_no\r\n ) : (\r\n this.handleShow(index)}>Select Batch\r\n )\r\n ) : null}\r\n
    \r\n ),\r\n },\r\n\r\n /* {\r\n key: \"manu_date\",\r\n text: \"Mfg.Date\",\r\n className: \"manu_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n }, */\r\n {\r\n key: \"exp_date\",\r\n text: \"Exp. Date\",\r\n className: \"exp_date\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 20,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n align: \"left\",\r\n sortable: true,\r\n width: '200px',\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n /* {\r\n key: \"free\",\r\n text: \"Free\",\r\n className: \"free\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n }, */\r\n {\r\n key: \"p_rate\",\r\n text: \"P.Rate\",\r\n className: \"p_rate\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n\r\n },\r\n {\r\n key: \"disc\",\r\n text: \"Disc%\",\r\n className: \"disc\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n\r\n },\r\n {\r\n key: \"sub_total\",\r\n text: \"Sub Total\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.sub_total\r\n },\r\n\r\n {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.cgst\r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.sgst\r\n },\r\n {\r\n key: \"igst\",\r\n text: \"IGST%\",\r\n className: \"cellTextRight\",\r\n sortable: true,\r\n align: \"left\",\r\n width: 200,\r\n cell: (row, index) => row.igst\r\n },\r\n {\r\n key: \"total\",\r\n text: \"Total\",\r\n className: \"cellTextRight\",\r\n align: \"left\",\r\n sortable: true,\r\n right: true,\r\n width: 200,\r\n cell: (row, index) => row.total\r\n },\r\n ];\r\n this.extraButtons = [\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n },\r\n {\r\n className: \"btn btn-primary buttons-pdf\",\r\n title: \"Export TEst\",\r\n children: [\r\n \r\n \r\n ,\r\n ],\r\n onClick: (event) => {\r\n console.log(event);\r\n },\r\n onDoubleClick: (event) => {\r\n console.log(\"doubleClick\");\r\n },\r\n },\r\n ];\r\n\r\n this.config = {\r\n page_size: 25,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchcolumns = [\r\n\r\n {\r\n key: \"pharmacy_id\",\r\n text: \"Pharmacy ID\",\r\n className: \"searchpharmacy_id\",\r\n align: \"left\",\r\n sortable: true,\r\n width: 10,\r\n cell: (record) => {\r\n // let obj = {\r\n // label: record.availability,\r\n // value: \"Yes\" === record.availability ? 1 : 0,\r\n // };\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: \"pharmacy_name\",\r\n text: \"Pharmacy Name\",\r\n className: \"pharmacy_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pharmacy_location\",\r\n text: \"Address\",\r\n className: \"pharmacy_location\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"phone_number\",\r\n text: \"Phone Number\",\r\n className: \"phone_number\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"email\",\r\n text: \"Email\",\r\n className: \"email\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"online_prescription\",\r\n text: \"Online Prescription\",\r\n className: \"online_prescription\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n\r\n {\r\n key: \"action\",\r\n text: \"Action\",\r\n className: \"action\",\r\n width: 20,\r\n align: \"left\",\r\n sortable: false,\r\n cell: (record) => {\r\n return (\r\n \r\n this.addRecord(record)}\r\n style={{ marginRight: \"5px\" }}\r\n >\r\n \r\n \r\n {/* this.deleteRecord(record)}\r\n >\r\n \r\n */}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData, errors });\r\n };\r\n\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n /* \r\n handleInput =(index,record) => {\r\n console.log(e);\r\n console.log(index);\r\n console.log(record);\r\n record[e.target.name] = e.target.value;\r\n }; */\r\n\r\n handleAdd = (e) => {\r\n let data = this.state.purchaseReturnData;\r\n let errors = this.state.errors;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n if (\r\n\r\n name === \"vendor_name\" ||\r\n name === \"address\" ||\r\n name === \"created_by\" ||\r\n name === \"remarks\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\"\r\n }\r\n this.setState({ purchaseReturnData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n\r\n handleInput = (index, field) => (event) => {\r\n const { value } = event.target;\r\n const records = [...this.state.records]; // Create a copy of the records\r\n records[index][field] = value; // Update the specific field for the specific index\r\n // console.log(value);\r\n // console.log(index,field);\r\n console.log(records);\r\n this.setState({ records }); // Update the state with the new records\r\n };\r\n\r\n handleDatePickerChange = (date, field) => {\r\n const offsetDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));\r\n\r\n this.setState(prevState => ({\r\n purchaseReturnData: {\r\n ...prevState.purchaseReturnData,\r\n [field]: offsetDate, // Update the specific expiry date field\r\n },\r\n }));\r\n };\r\n\r\n handleInputChange = (index, key) => event => {\r\n let updatedData = [...this.state.records];\r\n updatedData[index][key] = event.target.value ? parseFloat(event.target.value) : '';\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSubTotal(index);\r\n });\r\n };\r\n\r\n calculateSubTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].sub_total = quantity * (p_rate - ((disc / 100) * p_rate));\r\n\r\n this.setState({ records: updatedData }, () => {\r\n\r\n this.calculateTotal(index);\r\n this.calculateDiscountAmount(index);\r\n this.calculateIgstAmount(index);\r\n this.calculateCgstAmount(index);\r\n this.calculateSgstAmount(index);\r\n });\r\n };\r\n\r\n calculateTotal = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sub_total = updatedData[index].sub_total || 0;\r\n let igst = updatedData[index].igst || 0;\r\n updatedData[index].total = sub_total + ((igst / 100) * sub_total);\r\n console.log(igst);\r\n console.log(updatedData[index].total);\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n\r\n });\r\n };\r\n\r\n calculateDiscountAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc = updatedData[index].disc;\r\n updatedData[index].discAmt = ((quantity * p_rate) * (disc / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n // calculategstAmount = (index) => {\r\n // let updatedData = [...this.state.records];\r\n // let igstAmt = updatedData[index].igstAmt;\r\n // let cgstAmt = updatedData[index].cgstAmt;\r\n // let sgstAmt = updatedData[index].sgstAmt;\r\n // updatedData[index].gstAmt = igstAmt+cgstAmt+sgstAmt;\r\n // this.setState({ records: updatedData }, () => {\r\n // this.calculateSection();\r\n // this.calculateTaxAmountSection();\r\n // });\r\n // };\r\n calculateCgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let cgst = updatedData[index].cgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].cgstAmt = (sub_total * (cgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateSgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let sgst = updatedData[index].sgst;\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].sgstAmt = (sub_total * (sgst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n calculateIgstAmount = (index) => {\r\n let updatedData = [...this.state.records];\r\n let igst = updatedData[index].igst;\r\n console.log(igst);\r\n let sub_total = updatedData[index].sub_total;\r\n updatedData[index].igstAmt = (sub_total * (igst / 100));\r\n this.setState({ records: updatedData }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n };\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n handleShow = (index) => {\r\n const currentRecord = this.state.records[index];\r\n console.log(currentRecord);\r\n console.log(\"curent index\", index);\r\n console.log(this.state.selectedBatches);\r\n\r\n // Create the current batch object\r\n const currentBatchInRow = {\r\n batch_no: currentRecord.batch_no || 'Select Batch',\r\n exp_date: currentRecord.exp_date || 'N/A',\r\n };\r\n console.log(currentBatchInRow);\r\n\r\n // Determine the selectedBatch based on the existence of batch_no\r\n const selectedBatch = currentRecord.batch_no\r\n ? currentBatchInRow // If batch_no exists, use currentBatchInRow\r\n : { batch_no: 'Select Batch', exp_date: 'N/A' }; // If not, use default\r\n\r\n // Set the current row index and selected batch in a single setState call\r\n this.setState({\r\n currentRow: index,\r\n selectedBatch: currentBatchInRow, // Set the selected batch based on the logic\r\n showModel: true,\r\n selectedBatches: [], // Show the modal\r\n //batches:[],\r\n });\r\n\r\n };\r\n selectBatch = (batches, expdates, quantities, prates, mrps, subtotals, totals, selectedIndex) => {\r\n const updatedRecords = [...this.state.records];\r\n const batcheslength = batches.length;\r\n console.log(\"Selected Index:\", selectedIndex);\r\n console.log(\"Batches:\", batches);\r\n console.log(\"Quantities:\", quantities);\r\n console.log(\"prates:\", prates);\r\n console.log(\"old batch length\", batcheslength);\r\n console.log(\"New batches length\", batches.length);\r\n console.log(\"First Record:\", updatedRecords[0]);\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n\r\n const drug_id = updatedRecords[this.state.currentRow]?.drug_id;\r\n const drugNameToSet = updatedRecords[this.state.currentRow]?.generic_name;\r\n const packToSet = updatedRecords[this.state.currentRow]?.pack;\r\n const storagebin = updatedRecords[this.state.currentRow]?.storage_bin;\r\n const mrp = updatedRecords[this.state.currentRow]?.mrp;\r\n const cgst = updatedRecords[this.state.currentRow]?.cgst;\r\n const sgst = updatedRecords[this.state.currentRow]?.sgst;\r\n const p_rate = updatedRecords[this.state.currentRow]?.p_rate;\r\n const sub_total = updatedRecords[this.state.currentRow]?.sub_total;\r\n const total = updatedRecords[this.state.currentRow]?.total;\r\n const hsn_code = updatedRecords[this.state.currentRow]?.hsn_code;\r\n const conversion_factor = updatedRecords[this.state.currentRow]?.conversion_factor;\r\n console.log(\"Drug Name to Set:\", drugNameToSet);\r\n\r\n\r\n if (this.state.currentRow === 0) {\r\n // const batch_no=updatedRecords[this.state.currentRow]?.batch_no;\r\n // Loop through each selected batch and update the corresponding row\r\n batches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id: drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor: conversion_factor,\r\n p_rate: p_rate,\r\n sub_total: sub_total,\r\n total: total,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n // this.getalldetailsBygenericnameandbatchno(index,drugNameToSet,batch,new Date());\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n\r\n }\r\n });\r\n\r\n expdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n quantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n prates.forEach((p_rate, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].p_rate = p_rate;\r\n console.log(\"Updated Record with prate:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n mrps.forEach((mrp, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].mrp = mrp;\r\n console.log(\"Updated Record with prate:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n subtotals.forEach((sub_total, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].sub_total = sub_total;\r\n console.log(\"Updated Record with prate:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n totals.forEach((total, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].total = total;\r\n console.log(\"Updated Record with prate:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n }\r\n else {\r\n console.log(\"Current Row:\", this.state.currentRow);\r\n const updatedbatches = this.deleteElementsUpToIndex(batches, this.state.currentRow);\r\n updatedbatches.forEach((batch, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index] = {\r\n ...updatedRecords[this.state.currentRow + index],\r\n batch_no: batch,\r\n generic_name: drugNameToSet,\r\n drug_id: drug_id,\r\n pack: packToSet,\r\n storage_bin: storagebin,\r\n mrp: mrp,\r\n cgst: cgst,\r\n sgst: sgst,\r\n hsn_code: hsn_code,\r\n conversion_factor: conversion_factor,\r\n p_rate: p_rate,\r\n sub_total: sub_total,\r\n total: total,\r\n taxrate: (Number(cgst) || 0) + (Number(sgst) || 0),\r\n };\r\n const updatedexpdates = this.deleteElementsUpToIndex(expdates, this.state.currentRow);\r\n updatedexpdates.forEach((exp_date, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].exp_date = exp_date;\r\n console.log(\"Updated Record with Exp Date:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedquantities = this.deleteElementsUpToIndex(quantities, this.state.currentRow);\r\n\r\n updatedquantities.forEach((quantity, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].quantity = quantity;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedprates = this.deleteElementsUpToIndex(prates, this.state.currentRow);\r\n\r\n updatedprates.forEach((p_rate, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].p_rate = p_rate;\r\n console.log(\"Updated Record with quantity:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedmrps = this.deleteElementsUpToIndex(mrps, this.state.currentRow);\r\n updatedmrps.forEach((mrp, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].mrp = mrp;\r\n console.log(\"Updated Record with mrp:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedsubtotals = this.deleteElementsUpToIndex(subtotals, this.state.currentRow);\r\n updatedsubtotals.forEach((sub_total, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].sub_total = sub_total;\r\n console.log(\"Updated Record with sub_total:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n const updatedtotals = this.deleteElementsUpToIndex(totals, this.state.currentRow);\r\n updatedtotals.forEach((total, index) => {\r\n if (updatedRecords[this.state.currentRow + index]) {\r\n updatedRecords[this.state.currentRow + index].total = total;\r\n console.log(\"Updated Record with total:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n console.log(this.state.currentRow + index);\r\n console.log(\"Updated Record:\", updatedRecords[this.state.currentRow + index]);\r\n }\r\n });\r\n }\r\n\r\n this.setState({ records: updatedRecords }, () => {\r\n console.log('Updated Records after Set State:', this.state.records);\r\n this.calculateTaxAmountSection();\r\n this.setState({ selectedBatches: [], selectedExpdates: [], selectedQuantities: [] });\r\n });\r\n };\r\n\r\n\r\n calculateAllIgstAmounts = () => {\r\n let records = [...this.state.records];\r\n records.forEach((record, index) => {\r\n record.igstAmt = record.sub_total * (record.igst / 100);\r\n })\r\n this.setState({ records: records }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateAllDiscountAmounts = () => {\r\n let records = [...this.state.records];\r\n /* let p_rate = updatedData[index].p_rate || 0;\r\n let quantity = updatedData[index].quantity || 0;\r\n let disc= updatedData[index].disc; */\r\n records.forEach((record, index) => {\r\n record.discAmt = (record.quantity * record.p_rate) * (record.disc / 100);\r\n })\r\n\r\n this.setState({ records: records }, () => {\r\n this.calculateSection();\r\n\r\n });\r\n };\r\n calculateTaxAmountSection = () => {\r\n let records = this.state.records;\r\n let totalTaxAmtSec = { ...this.state.totalTaxAmtSec };\r\n\r\n // Initialize tax amounts and totals for each tax rate\r\n let taxSummary = {\r\n 5: { cgstAmt: 0.0, sgstAmt: 0.0, igstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 12: { cgstAmt: 0.0, sgstAmt: 0.0, igstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n 18: { cgstAmt: 0.0, sgstAmt: 0.0, igstAmt: 0.0, taxAmt: 0.0, sub_total: 0.0 },\r\n };\r\n\r\n\r\n records.forEach((data) => {\r\n const taxRate = data.taxrate || data.igst;\r\n console.log(\"tax rate\", taxRate);\r\n\r\n if (taxSummary[taxRate]) {\r\n console.log(\"Current Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n\r\n taxSummary[taxRate].cgstAmt += Number(data.cgstAmt) || 0;\r\n taxSummary[taxRate].sgstAmt += Number(data.sgstAmt) || 0;\r\n taxSummary[taxRate].igstAmt += Number(data.igstAmt) || 0;\r\n taxSummary[taxRate].taxAmt += Number(data.cgstAmt) + Number(data.sgstAmt) + Number(data.igstAmt) || 0;\r\n taxSummary[taxRate].sub_total += Number(data.sub_total) || 0;\r\n\r\n console.log(\"Updated Summary for Rate:\", taxRate, taxSummary[taxRate]);\r\n }\r\n });\r\n\r\n // Ensure totalTaxAmtSec has the necessary properties initialized\r\n totalTaxAmtSec = {\r\n cgstAmt5: totalTaxAmtSec.cgstAmt5 || 0,\r\n sgstAmt5: totalTaxAmtSec.sgstAmt5 || 0,\r\n igstAmt5: totalTaxAmtSec.igstAmt5 || 0,\r\n taxAmt5: totalTaxAmtSec.taxAmt5 || 0,\r\n sub_total5: totalTaxAmtSec.sub_total5 || 0,\r\n cgstAmt12: totalTaxAmtSec.cgstAmt12 || 0,\r\n sgstAmt12: totalTaxAmtSec.sgstAmt12 || 0,\r\n igstAmt12: totalTaxAmtSec.igstAmt12 || 0,\r\n taxAmt12: totalTaxAmtSec.taxAmt12 || 0,\r\n sub_total12: totalTaxAmtSec.sub_total12 || 0,\r\n cgstAmt18: totalTaxAmtSec.cgstAmt18 || 0,\r\n sgstAmt18: totalTaxAmtSec.sgstAmt18 || 0,\r\n igstAmt12: totalTaxAmtSec.igstAmt12 || 0,\r\n taxAmt18: totalTaxAmtSec.taxAmt18 || 0,\r\n sub_total18: totalTaxAmtSec.sub_total18 || 0,\r\n };\r\n\r\n\r\n\r\n // Update the totalTaxAmtSec object with calculated values\r\n totalTaxAmtSec.cgstAmt5 = taxSummary[5].cgstAmt;\r\n totalTaxAmtSec.sgstAmt5 = taxSummary[5].sgstAmt;\r\n totalTaxAmtSec.igstAmt5 = taxSummary[5].igstAmt;\r\n totalTaxAmtSec.taxAmt5 = taxSummary[5].taxAmt;\r\n totalTaxAmtSec.sub_total5 = taxSummary[5].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt12 = taxSummary[12].cgstAmt;\r\n totalTaxAmtSec.sgstAmt12 = taxSummary[12].sgstAmt;\r\n totalTaxAmtSec.igstAmt12 = taxSummary[12].igstAmt;\r\n totalTaxAmtSec.taxAmt12 = taxSummary[12].taxAmt;\r\n totalTaxAmtSec.sub_total12 = taxSummary[12].sub_total;\r\n\r\n totalTaxAmtSec.cgstAmt18 = taxSummary[18].cgstAmt;\r\n totalTaxAmtSec.sgstAmt18 = taxSummary[18].sgstAmt;\r\n totalTaxAmtSec.igstAmt18 = taxSummary[18].igstAmt;\r\n totalTaxAmtSec.taxAmt18 = taxSummary[18].taxAmt;\r\n totalTaxAmtSec.sub_total18 = taxSummary[18].sub_total;\r\n\r\n console.log(\"Final Total Tax Amount Section:\", totalTaxAmtSec);\r\n\r\n // Update the state with the new total tax amounts\r\n this.setState({ totalTaxAmtSec });\r\n };\r\n clearBatches = () => {\r\n this.setState({\r\n\r\n selectedBatches: [],\r\n }, () => {\r\n console.log(\"Batches and selected batches cleared.\");\r\n });\r\n };\r\n handleBatchClose = () => {\r\n this.clearBatches(); // Clear batches when modal is closed\r\n this.setState({ showModel: false });\r\n };\r\n clearErrors = (errors) => {\r\n\r\n\r\n errors.address = \"\"\r\n errors.created_by = \"\"\r\n errors.voucher_no = \"\"\r\n errors.voucher_date = \"\"\r\n errors.invoice_date = \"\"\r\n errors.remarks = \"\"\r\n errors.vendorinvoice_no = \"\"\r\n errors.poref_no = \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n\r\n let data = this.state.purchaseReturnData;\r\n\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.vendor_name = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.created_by = \"\"\r\n data.voucher_no = \"\"\r\n data.voucher_date = \"\"\r\n data.invoice_date = \"\"\r\n data.remarks = \"\"\r\n data.vendorinvoice_no = \"\"\r\n data.poref_no = \"\"\r\n\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({\r\n purchaseReturnData: data, actions: \"add\", voucher_no: \"\", errors: errors, searchErrorMessage: \"\", records: [],\r\n search_action: false,\r\n totalAmtSec: {\r\n discAmt: 0,\r\n cgstAmt: 0,\r\n sgstAmt: 0,\r\n igstAmt: 0,\r\n total: 0,\r\n sub_total: 0,\r\n\r\n },\r\n\r\n });\r\n }\r\n\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n\r\n /* calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = this.state.totalAmtSec;\r\n let amt = 0.0;\r\n let taxAmt = 0.0;\r\n let taxVal = 0.0;\r\n let totalAmt = 0.0;\r\n let sub_total=0.0;\r\n console.log(records);\r\n \r\n records.map((data, i) => {\r\n if (undefined !== data.fee) {\r\n amt = Number(amt) + Number(data.fee);\r\n }\r\n if (undefined !== data.gst_amount) {\r\n taxAmt = Number(taxAmt) + Number(data.gst_amount);\r\n }\r\n if (undefined !== data.taxable_value) {\r\n taxVal = Number(taxVal) + Number(data.taxable_value);\r\n }\r\n if (undefined !== data.total_amount) {\r\n totalAmt = Number(totalAmt) + Number(data.total_amount);\r\n }\r\n if (undefined !== data.quantity) {\r\n sub_total = Number(data.quantity) * Number(data.p_rate);\r\n }\r\n });\r\n \r\n totalAmtSec.amt = amt;\r\n totalAmtSec.taxAmt = taxAmt;\r\n totalAmtSec.taxVal = taxVal;\r\n totalAmtSec.totalAmt = totalAmt;\r\n totalAmtSec.sub_total=sub_total;\r\n totalAmtSec.totalAmtWords = converter.toWords(totalAmt)+\" rupees only\";\r\n this.setState({ totalAmtSec });\r\n \r\n console.log(totalAmtSec);\r\n }; \r\n */\r\n\r\n calculateSection = () => {\r\n let records = this.state.records;\r\n let totalAmtSec = { ...this.state.totalAmtSec };\r\n\r\n let discAmt = 0.0;\r\n let cgstAmt = 0.0;\r\n let sgstAmt = 0.0;\r\n let igstAmt = 0.0;\r\n let total = 0.0;\r\n let sub_total = 0.0;\r\n let gstAmt = 0.0;\r\n let roundtotal = 0.0;\r\n let rounddiff = 0.0;\r\n console.log(records);\r\n\r\n records.forEach((data, i) => {\r\n\r\n if (data.discAmt !== undefined) {\r\n discAmt += Number(data.discAmt);\r\n }\r\n if (data.cgstAmt !== undefined) {\r\n cgstAmt += Number(data.cgstAmt);\r\n }\r\n if (data.sgstAmt !== undefined) {\r\n sgstAmt += Number(data.sgstAmt);\r\n }\r\n if (data.igstAmt !== undefined) {\r\n igstAmt += Number(data.igstAmt);\r\n }\r\n if (data.gstAmt !== undefined) {\r\n gstAmt += Number(data.gstAmt);\r\n }\r\n if (data.total !== undefined) {\r\n total += Number(data.total);\r\n }\r\n if (data.sub_total !== undefined) {\r\n sub_total += Number(data.sub_total); // Sum up the sub_total for all records\r\n }\r\n });\r\n\r\n totalAmtSec.discAmt = discAmt;\r\n totalAmtSec.cgstAmt = cgstAmt;\r\n totalAmtSec.sgstAmt = sgstAmt;\r\n totalAmtSec.igstAmt = igstAmt;\r\n totalAmtSec.gstAmt = Number(igstAmt) + Number(cgstAmt) + Number(sgstAmt);\r\n totalAmtSec.total = total;\r\n totalAmtSec.sub_total = sub_total;\r\n totalAmtSec.roundtotal = Math.round(total);\r\n totalAmtSec.rounddiff = total - totalAmtSec.roundtotal;\r\n totalAmtSec.totalAmtWords = converter.toWords(total) + \" rupees only\";\r\n\r\n this.setState({ totalAmtSec });\r\n\r\n console.log(totalAmtSec);\r\n };\r\n\r\n // addPurchaseReturnData() {\r\n\r\n\r\n // let { purchaseReturnData, errors } = this.state;\r\n // purchaseReturnData.type = \"purchaseReturnData\";\r\n // errors = Validation(purchaseReturnData, errors);\r\n // this.setState({ errors: errors });\r\n\r\n // if (errors.formIsValid) {\r\n // this.setState({ loading: true });\r\n\r\n // let data = {\r\n // user_id: this.props.userdata.id,\r\n // vendor_name: purchaseReturnData.vendor_name.label,\r\n // address: purchaseReturnData.address,\r\n // created_by: purchaseReturnData.created_by,\r\n // remarks: purchaseReturnData.remarks,\r\n // dn_date: purchaseReturnData.dn_date,\r\n // vendorinvoice_no: purchaseReturnData.vendorinvoice_no,\r\n // records: this.state.records,\r\n // subtotalAmount: this.state.totalAmtSec.sub_total.toFixed(2),\r\n // totalAmount: this.state.totalAmtSec.total.toFixed(2),\r\n // discountAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n // cgstAmt: this.state.totalAmtSec.cgstAmt.toFixed(2),\r\n // sgstAmt: this.state.totalAmtSec.sgstAmt.toFixed(2),\r\n // igstAmt: this.state.totalAmtSec.igstAmt.toFixed(2),\r\n // dn_type: 'purchasereturn',\r\n // };\r\n // console.log(data);\r\n // let records = this.state.records;\r\n\r\n // axios\r\n\r\n // .post(addPurchaseReturnData, data, CONFIG)\r\n // .then((addVendorResponse) => {\r\n // let res = addVendorResponse.data;\r\n // console.log(res)\r\n // if (res.status === \"1\") {\r\n // // console.log(res.data[0].voucher_no);\r\n\r\n // this.setState({\r\n // records: records,\r\n // searchTableSuccess: res,\r\n // loading: false,\r\n // editformSuccess: res,\r\n // purchasereturn_no: res.data[0].purchasereturn_no\r\n // });\r\n // toast.success(\"The Purchase Return voucher have been added successfully.\", {\r\n // className: \"toast-success\"\r\n // });\r\n // this.clearMessage();\r\n // //this.clearAll();\r\n // } else {\r\n // this.setState({\r\n // searchrecords: records,\r\n // searchTableSuccess: res,\r\n // editformSuccess: res,\r\n // loading: false,\r\n // });\r\n // toast.error(\"Purchase Return voucher could not be Added. \", {\r\n // className: \"toast-error\"\r\n // });\r\n // this.clearMessage();\r\n // }\r\n // })\r\n // .catch(() => { });\r\n\r\n // }\r\n // }\r\n handleUpdateVoucher = () => {\r\n const { dn_date } = this.state.purchaseReturnData;\r\n const currentDate = new Date();\r\n const voucherDate = new Date(dn_date);\r\n // Calculate the difference in days\r\n // const timeDiff = Math.abs(currentDate.getTime() - voucherDate.getTime()); \r\n // const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); \r\n // Check if the voucher date is within 30 days or within the current month \r\n if (voucherDate.getMonth() !== currentDate.getMonth()) {\r\n this.setState({ updatePopup: true });\r\n return;\r\n }\r\n // Proceed with the update if validation passes \r\n this.updatePurchaseReturnData();\r\n };\r\n updatePurchaseReturnData() {\r\n\r\n let { purchaseReturnData, errors } = this.state;\r\n purchaseReturnData.type = \"purchaseReturnData\";\r\n errors = Validation(purchaseReturnData, errors);\r\n this.setState({ errors: errors });\r\n\r\n if (errors.formIsValid) {\r\n this.setState({ loading: true });\r\n\r\n \r\n\r\n \r\n let records = this.state.records;\r\nif(this.state.dn_type=='purchasereturn')\r\n{ let data = {\r\n user_id: this.props.userdata.id,\r\n vendor_name: purchaseReturnData.vendor_name,\r\n address: purchaseReturnData.address || this.state.address || '',\r\n created_by: purchaseReturnData.created_by || this.state.created_by || '',\r\n remarks: purchaseReturnData.remarks || this.state.remarks || '',\r\n dn_date: purchaseReturnData.dn_date || '',\r\n vendorinvoice_no: purchaseReturnData.vendorinvoice_no || this.state.vendorinvoice_no || '',\r\n purchasereturn_no: this.props.location.state.purchasereturn_no || '',\r\n records: this.state.records || [],\r\n};\r\n axios\r\n\r\n .post(updatePurchaseReturnData, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n toast.success(\"The Purchase Return voucher have been updated successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.setState({\r\n records: records,\r\n // searchTableSuccess: res,\r\n // loading: false,\r\n // editformSuccess: res,\r\n purchasereturn_no: res.data[0].purchasereturn_no\r\n });\r\n\r\n // this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Purchase Return voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n }else if(this.state.dn_type=='expirybreakagereturn')\r\n {\r\n let data = {\r\n user_id: this.props.userdata.id,\r\n vendor_name: purchaseReturnData.vendor_name,\r\n address: purchaseReturnData.address || this.state.address || '',\r\n created_by: purchaseReturnData.created_by || this.state.created_by || '',\r\n remarks: purchaseReturnData.remarks || this.state.remarks || '',\r\n dn_date: purchaseReturnData.dn_date || '',\r\n vendorinvoice_no: purchaseReturnData.vendorinvoice_no || this.state.vendorinvoice_no || '',\r\n expirybreakagereturn_no: this.props.location.state.purchasereturn_no || '',\r\n records: this.state.records || [],\r\n };\r\n axios\r\n \r\n .post(updateExpiryBreakageReturnData, data, CONFIG)\r\n .then((addVendorResponse) => {\r\n let res = addVendorResponse.data;\r\n console.log(res)\r\n if (res.status === \"1\") {\r\n // console.log(res.data[0].voucher_no);\r\n toast.success(\"The Expiry Breakage Return voucher have been updated successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n this.setState({\r\n records: records,\r\n // searchTableSuccess: res,\r\n // loading: false,\r\n // editformSuccess: res,\r\n purchasereturn_no: res.data[0].purchasereturn_no\r\n });\r\n \r\n // this.clearMessage();\r\n //this.clearAll();\r\n } else {\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n editformSuccess: res,\r\n loading: false,\r\n });\r\n toast.error(\"Purchase Return voucher could not be Added. \", {\r\n className: \"toast-error\"\r\n });\r\n this.clearMessage();\r\n }\r\n })\r\n .catch(() => { });\r\n }\r\n }\r\n\r\n }\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n\r\n let { purchaseReturnData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n console.log(place);\r\n purchaseReturnData.address = place.formatted_address;\r\n\r\n\r\n this.setState({\r\n purchaseReturnData,\r\n });\r\n }\r\n componentDidMount = () => {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\"address\"),\r\n {}\r\n );\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n this.fetchMasterVendorNames();\r\n this.fetchPharmacyDrugs();\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((result) => {\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n //to rename json key object\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n\r\n //set first record as consultation fee by default\r\n /* let consultation_fee_record = {};\r\n consultation_fee_record.s_no = 1;\r\n consultation_fee_record.description = \"Consultation Fee\";\r\n consultation_fee_record.fee = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n consultation_fee_record.disc = \"\";\r\n consultation_fee_record.taxable_value = \"\";\r\n consultation_fee_record.gst_rate = \"\";\r\n consultation_fee_record.gst_amount = \"\";\r\n consultation_fee_record.total_amount = completion_data.consultation_fee.replace(/[^0-9]/g, '');\r\n */\r\n let records = [];\r\n // records.push(consultation_fee_record); \r\n\r\n let defaultEnterSize = this.state.defaultEnterSize;\r\n\r\n for (let i = 1; i <= defaultEnterSize; i++) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = i;\r\n records.push(default_rec);\r\n }\r\n\r\n this.setState(\r\n {\r\n supplies: supplies,\r\n loading: false,\r\n records: records,\r\n },\r\n () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n }\r\n );\r\n })\r\n .catch((e) => {\r\n this.setState({ loading: false });\r\n });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n\r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n\r\n }));\r\n\r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n });\r\n\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n\r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value: data.state\r\n\r\n });\r\n }).catch((e) => { });\r\n\r\n\r\n\r\n\r\n\r\n };\r\n fetchMasterVendorNames = () => {\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then(({ data }) => {\r\n const mastervendorNameList = data.data;\r\n const uniqueDrugNames = new Set();\r\n const mastervendorNames = mastervendorNameList\r\n .filter((element) => {\r\n\r\n if (!uniqueDrugNames.has(element.vendor_name)) {\r\n uniqueDrugNames.add(element.vendor_name);\r\n return true;\r\n }\r\n return false;\r\n })\r\n .map((element) => ({\r\n value: element.vendor_id,\r\n label: element.vendor_name,\r\n\r\n }));\r\n\r\n this.setState({ mastervendorNames });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching drug data:\", error);\r\n\r\n });\r\n };\r\n fetchPharmacyDrugs = async () => {\r\n try {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n const result = await axios.post(getAllPharmacyItemList, { user_id: this.props.userdata.id }, CONFIG);\r\n let supplies = result.data.data;\r\n console.log(supplies);\r\n supplies.forEach((obj) => renameKey(obj, \"drug_id\", \"value\"));\r\n supplies.forEach((obj) => renameKey(obj, \"generic_name\", \"label\"));\r\n this.setState({ supplies });\r\n this.fetchpurchaseReturnData(supplies);\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n console.error(\"Error fetching pharmacy drugs\", e);\r\n }\r\n };\r\n fetchpurchaseReturnData = async (supplies) => {\r\n try {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${this.props.access_token}`;\r\n const list = await axios.post(getAllPurchaseReturnListbypurchaseReturnno, { purchasereturn_no: this.props.location.state.purchasereturn_no }, CONFIG);\r\n const List = list.data.data;\r\n\r\n console.log(List);\r\n let records = List.map((element, index) => ({\r\n s_no: index + 1,\r\n user_id: this.props.userdata.id,\r\n id: element.id,\r\n generic_name: element.generic_name,\r\n pack: element.pack,\r\n batch_no: element.batch_no,\r\n manu_date: element.manu_date,\r\n exp_date: element.exp_date,\r\n quantity: element.quantity,\r\n free: element.free,\r\n p_rate: element.p_rate,\r\n mrp: element.mrp,\r\n disc: element.disc,\r\n sub_total: element.sub_total,\r\n cgst: element.cgst,\r\n sgst: element.sgst,\r\n igst: element.igst,\r\n total: element.total,\r\n }));\r\n\r\n const defaultEnterSize = 25;\r\n const extraRows = defaultEnterSize - records.length;\r\n for (let i = 1; i <= extraRows; i++) {\r\n records.push({\r\n s_no: records.length + 1,\r\n user_id: this.props.userdata.id,\r\n generic_name: '',\r\n pack: '',\r\n batch_no: '',\r\n manu_date: '',\r\n exp_date: '',\r\n quantity: 0,\r\n free: 0,\r\n p_rate: 0,\r\n mrp: 0,\r\n disc: 0,\r\n sub_total: 0,\r\n cgst: 0,\r\n sgst: 0,\r\n igst: 0,\r\n total: 0,\r\n });\r\n }\r\n\r\n this.setState({\r\n records, loading: false,\r\n vendorinvoice_no: List[0].vendorinvoice_no,\r\n address: List[0].address,\r\n remarks: List[0].remarks,\r\n created_by: List[0].created_by,\r\n dn_type:List[0].dn_type,\r\n }, () => {\r\n\r\n // Trigger calculations after state update\r\n this.calculateSection();\r\n this.calculateAllIgstAmounts();\r\n this.calculateAllDiscountAmounts();\r\n });\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n console.error(\"Error fetching purchase entry data\", e);\r\n }\r\n };\r\n onDeleteClick(record) {\r\n\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n\r\n let userId = record.id;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deletePharmacy, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Pharmacy detail has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n }\r\n deleteElementsUpToIndex(array, index) {\r\n // Check if the index is valid\r\n if (index < 0 || index >= array.length) {\r\n console.error(\"Invalid index\");\r\n return array; // Return the original array if the index is invalid\r\n }\r\n\r\n // Return a new array starting from the specified index\r\n return array.slice(index);\r\n }\r\n onFileUpload = () => {\r\n\r\n if (this.state.OpeningStockData.length) {\r\n axios.post(openingstockimport, { data: this.state.OpeningStockData, user_id: this.props.userdata.id }).then((result) => {\r\n console.log(result);\r\n console.log(result.data.message);\r\n this.setState({ formSuccess: result.data.message, file: \"\", OpeningStockData: [] });\r\n if (result.data.status = '1') {\r\n toast.success(result.data.message, {\r\n className: \"toast-success\"\r\n });\r\n } else {\r\n toast.error(result.data.message, {\r\n className: \"toast-error\"\r\n });\r\n\r\n }\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n };\r\n formatDateForInput = (dateString) => {\r\n // Convert \"YYYY-MM-DD HH:mm:ss\" to \"YYYY-MM-DD\"\r\n return dateString.split(' ')[0]; // Extract just the date part\r\n };\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n \r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug,{user_id:this.props.userdata.id,drug_name:selectedOption.label}, CONFIG)\r\n .then((drugRespons) => {\r\n let ItemList = drugRespons.data.data;\r\n \r\n ItemList.forEach((element, index) => {\r\n ItemList.push({\r\n \r\n pack:element.pack,\r\n cgst: element.cgst,\r\n sgst:element.sgst,\r\n igst:element.igst\r\n \r\n });\r\n let records = this.state.records;\r\n var recIndex = findWithAttr(records, \"s_no\", record.s_no);\r\n if (null != record) {\r\n \r\n records[recIndex].pack = element.unit_of_measure;\r\n records[recIndex].cgst = element.cgst + \" %\";\r\n records[recIndex].gst_amount =\r\n (record.tax_percentage / 100) * record.amount;\r\n records[recIndex].total_amount =\r\n Number(records[recIndex].fee) +\r\n Number(records[recIndex].gst_amount);\r\n } else {\r\n \r\n records[recIndex].fee = \"\";\r\n records[recIndex].gst_rate = \"\";\r\n records[recIndex].gst_amount = \"\";\r\n records[recIndex].total_amount = \"\";\r\n }\r\n \r\n console.log(recIndex);\r\n console.log(records.length - 1);\r\n if (recIndex === records.length - 1) {\r\n let default_rec = Object.assign({}, record);\r\n default_rec.s_no = records.length + 1;\r\n records.push(default_rec);\r\n }\r\n \r\n });\r\n \r\n })\r\n \r\n \r\n \r\n \r\n \r\n \r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n axios\r\n .post(getPharmacyShortDetail,{user_id:this.props.userdata.id}, CONFIG)\r\n .then((Respons) => {\r\n let data = Respons.data.data[0];\r\n console.log(data.state);\r\n \r\n if (data.status == \"1\")\r\n this.setState({\r\n State_value:data.state\r\n \r\n });\r\n }).catch((e) => { });\r\n \r\n \r\n // Post request to fetch item details\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total:updatedData[index].quantity*(updatedData[index].p_rate-(updatedData[index].disc*updatedData[index].p_rate)),\r\n // gst_amount: (updatedData[index].tax_percentage / 100) * updatedData[index].amount,\r\n // total_amount: Number(updatedData[index].fee) + Number(updatedData[index].gst_amount)\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n }; */\r\n\r\n /* handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n \r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n \r\n // Set the state with the updated data\r\n this.setState({ records: updatedData });\r\n \r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n \r\n if (response.data.status == \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(this.state.gst_state);\r\n \r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, drug_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(itemList); // Verify the API response\r\n \r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.drug_name === selectedOption.label);\r\n if (item) {\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst + \" %\" : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst + \" %\" : \"\",\r\n igst: item.igst + \" %\",\r\n sub_total: updatedData[index].quantity * (updatedData[index].p_rate - (updatedData[index].disc * updatedData[index].p_rate)),\r\n };\r\n console.log(updatedData[index]); // Verify the updated record\r\n }\r\n \r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n }; */\r\n\r\n handleselectChange = (index, key) => selectedOption => {\r\n // Create a copy of the current table data\r\n let updatedData = [...this.state.records];\r\n const drugNameToSet = selectedOption ? selectedOption.label : ''; // Get the selected drug name\r\n const batch_no = updatedData[index].batch_no ? updatedData[index].batch_no : '';\r\n // Update the drug_name for the specific record\r\n updatedData[index].generic_name = drugNameToSet;\r\n\r\n\r\n // Update the specific row's key with the selected option value\r\n updatedData[index][key] = selectedOption ? selectedOption.label : \"\";\r\n console.log(updatedData[index][key])\r\n // Set the state with the updated data\r\n this.setState({ records: updatedData, selectedBatches: [], batches: [] });\r\n\r\n // Fetch the state value\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((response) => {\r\n let data = response.data.data[0];\r\n\r\n\r\n if (response.data.status === \"1\") {\r\n this.setState({ State_value: data.state }, () => {\r\n // Fetch item details after state is updated\r\n console.log(\"State : \", this.state.State_value);\r\n console.log(\"GST State: \", this.state.gst_state);\r\n this.fetchItemDetails(index, selectedOption);\r\n this.getBatchandExpDateBydrugname(index, selectedOption, new Date());\r\n if (batch_no !== '') {\r\n this.getalldetailsBygenericnameandbatchno(index, selectedOption, batch_no, new Date());\r\n\r\n }\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching state details:\", error);\r\n });\r\n };\r\n getalldetailsBygenericnameandbatchno = (index, selectedOption, batch_no) => {\r\n\r\n if (selectedOption != null) {\r\n this.setState({ batches: [] });\r\n let updatedData = [...this.state.records];\r\n let batch_no = updatedData[index].batch_no;\r\n let generic_name = updatedData[index].generic_name;\r\n axios.post(getalldetailsBygenericnameandbatchno, { generic_name: generic_name, batch_no: batch_no, specified_date: new Date() }, CONFIG)\r\n .then((drugResponse) => {\r\n // Ensure batches is always an array\r\n let batches = Array.isArray(drugResponse.data.data) ? drugResponse.data.data : [];\r\n console.log(\"Fetched batches: \", batches);\r\n this.setState({ batches, });\r\n })\r\n .catch(error => {\r\n console.error('Error fetching batch data:', error);\r\n this.setState({ batches: [], loading: false }); // Set to empty array on error\r\n });\r\n }\r\n }\r\n getBatchandExpDateBydrugname = (index, selectedOption) => {\r\n if (selectedOption != null) {\r\n this.setState({ batches: [] });\r\n axios.post(getBatchandExpDateBydrugname, { generic_name: selectedOption.label, specified_date: new Date() }, CONFIG)\r\n .then((drugResponse) => {\r\n // Ensure batches is always an array\r\n let batches = Array.isArray(drugResponse.data.data) ? drugResponse.data.data : [];\r\n console.log(\"Fetched batches: \", batches);\r\n this.setState({ batches, });\r\n })\r\n .catch(error => {\r\n console.error('Error fetching batch data:', error);\r\n this.setState({ batches: [], loading: false }); // Set to empty array on error\r\n });\r\n }\r\n }\r\n fetchItemDetails = (index, selectedOption) => {\r\n axios\r\n .post(getitemlistforPharmacyDrug, { user_id: this.props.userdata.id, generic_name: selectedOption.label }, CONFIG)\r\n .then((drugResponse) => {\r\n let itemList = drugResponse.data.data;\r\n console.log(\"Fetched Item List: \", itemList); // Verify the API response\r\n\r\n // Ensure the API response contains the `pack` value\r\n let item = itemList.find(item => item.generic_name === selectedOption.label);\r\n if (item) {\r\n // Create a copy of the current table data again\r\n let updatedData = [...this.state.records];\r\n\r\n // Update the specific row with additional details\r\n updatedData[index] = {\r\n ...updatedData[index],\r\n drug_id: selectedOption.value,\r\n pack: item.unit_of_measure,\r\n cgst: this.state.State_value === this.state.gst_state ? item.cgst : \"\",\r\n sgst: this.state.State_value === this.state.gst_state ? item.sgst : \"\",\r\n igst: this.state.State_value !== this.state.gst_state ? item.igst : \"\",\r\n sub_total: updatedData[index].quantity * updatedData[index].p_rate,\r\n hsn_code: item.hsn_code,\r\n conversion_factor: item.conversion_factor\r\n };\r\n console.log(\"Updated Record: \", updatedData[index]); // Verify the updated record\r\n console.log(updatedData[index].quantity);\r\n // Set the state with the updated records\r\n this.setState({ records: updatedData });\r\n\r\n }\r\n this.setState({ record }, () => {\r\n this.calculateSection();\r\n this.calculateTaxAmountSection();\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching item details:\", error);\r\n });\r\n };\r\n\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.purchaseReturnData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ purchaseReturnData: data, errors: errors });\r\n }\r\n\r\n\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ OpeningStockData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n\r\n\r\n handleVendorSelectChange = async (selectedOptions, e) => {\r\n let data = this.state.purchaseReturnData;\r\n let errors = this.state.errors;\r\n errors[e.name] = \"\"\r\n data[e.name] = selectedOptions;\r\n\r\n\r\n this.setState({ purchaseReturnData: data, errors, searchErrorMessage: \"\" });\r\n\r\n axios\r\n .post(getAllPharmacyVendorList, { user_id: this.props.userdata.id, vendor_name: selectedOptions.label }, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data = resdata.data[0];\r\n console.log(resdata);\r\n\r\n if (resdata.status == \"1\") {\r\n this.setState({ gst_state: data.gst_state }, () => {\r\n console.log(\"Updated GST State: \", this.state.gst_state);\r\n });\r\n }\r\n\r\n }).catch((e) => { });\r\n\r\n axios\r\n .post(getvendorshortdetailsbyVendorname, { user_id: this.props.userdata.id, vendor_name: selectedOptions.label }, CONFIG)\r\n .then((Respons) => {\r\n let resdata = Respons.data;\r\n let data = resdata.data[0];\r\n\r\n\r\n\r\n if (resdata.status == \"1\") {\r\n\r\n let drug_licence1parsed = JSON.parse(data.drug_licence1);\r\n let drug_licence2parsed = JSON.parse(data.drug_licence2);\r\n let drug_licence3parsed = JSON.parse(data.drug_licence3);\r\n console.log(drug_licence1parsed);\r\n this.setState({\r\n gst_no: data.gst_no,\r\n drug_licence1: drug_licence1parsed.drug_licence1,\r\n drug_licence2: drug_licence2parsed.drug_licence2,\r\n drug_licence3: drug_licence3parsed.drug_licence3,\r\n\r\n });\r\n }\r\n }).catch((e) => { });\r\n\r\n\r\n\r\n\r\n }\r\n // generate() {\r\n // let { purchaseReturnData, errors } = this.state;\r\n // purchaseReturnData.type = \"saleEntryData\";\r\n // errors = Validation(purchaseReturnData, errors);\r\n // this.setState({ errors: errors });\r\n\r\n // if (errors.formIsValid) {\r\n // this.setState({ loading: true });\r\n // let data = {\r\n // user_id: this.props.userdata.id,\r\n // patient_name: purchaseReturnData.patient_name || this.state.patient_name,\r\n // address: purchaseReturnData.address || this.state.patient_address,\r\n // remarks: purchaseReturnData.remarks,\r\n // dn_date: purchaseReturnData.dn_date,\r\n // created_by: purchaseReturnData.created_by,\r\n // records: this.state.records\r\n // };\r\n // console.log(data);\r\n // console.log(this.state.purchasereturn_no);\r\n // console.log(this.state.purchaseReturnData.dn_date);\r\n // console.log(this.state.drug_licence1);\r\n // this.props.history.push({\r\n // pathname: \"/purchasereturninvoice/\" + this.state.purchasereturn_no,\r\n // });\r\n // this.props.history.replace({\r\n // pathname: \"/purchasereturninvoice/\" + this.state.purchasereturn_no,\r\n // state: {\r\n // purchasereturn_no: this.state.purchasereturn_no,\r\n // dn_date: this.state.purchaseReturnData.dn_date.toString(),\r\n // vendor_name: this.state.purchaseReturnData.vendor_name.label,\r\n // address: this.state.purchaseReturnData.address,\r\n // sub_total: this.state.totalAmtSec.sub_total.toFixed(2),\r\n // gst_no: this.state.gst_no,\r\n // drug_licence1: this.state.drug_licence1,\r\n // drug_licence2: this.state.drug_licence2,\r\n // drug_licence3: this.state.drug_licence3,\r\n\r\n // gstAmt: this.state.totalAmtSec.gstAmt.toFixed(2),\r\n // discAmt: this.state.totalAmtSec.discAmt.toFixed(2),\r\n // total: this.state.totalAmtSec.total.toFixed(2),\r\n // totalAmtWords: this.state.totalAmtSec.totalAmtWords,\r\n // roundtotal: this.state.totalAmtSec.roundtotal.toFixed(2),\r\n // rounddiff: this.state.totalAmtSec.rounddiff.toFixed(2),\r\n // sub_total5: this.state.totalTaxAmtSec.sub_total5,\r\n // cgstAmt5: this.state.totalTaxAmtSec.cgstAmt5,\r\n // sgstAmt5: this.state.totalTaxAmtSec.sgstAmt5,\r\n // igstAmt5: this.state.totalTaxAmtSec.igstAmt5,\r\n // taxAmt5: this.state.totalTaxAmtSec.taxAmt5,\r\n // sub_total12: this.state.totalTaxAmtSec.sub_total12,\r\n // cgstAmt12: this.state.totalTaxAmtSec.cgstAmt12,\r\n // sgstAmt12: this.state.totalTaxAmtSec.sgstAmt12,\r\n // igstAmt12: this.state.totalTaxAmtSec.igstAmt12,\r\n // taxAmt12: this.state.totalTaxAmtSec.taxAmt12,\r\n // sub_total18: this.state.totalTaxAmtSec.sub_total18,\r\n // cgstAmt18: this.state.totalTaxAmtSec.cgstAmt18,\r\n // sgstAmt18: this.state.totalTaxAmtSec.sgstAmt18,\r\n // igstAmt18: this.state.totalTaxAmtSec.igstAmt18,\r\n // taxAmt18: this.state.totalTaxAmtSec.taxAmt18,\r\n // }\r\n // });\r\n // }\r\n // }\r\n\r\n componentWillUnmount() { this._isMounted = false; }\r\n render() {\r\n let showPopup = () => { this.setState({ addPopup: true }); };\r\n let PopupClose = () => this.setState({ addPopup: false, updatePopup: false });\r\n let PopupConfirm = () => {\r\n this.setState({ addPopup: false },\r\n () => {\r\n\r\n this.handleUpdateVoucher();\r\n });\r\n };\r\n // let PopupClose = () => this.setState({ addPopup: false });\r\n // let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n const { purchaseReturnData, batches, showModel, OpeningStockData, records, errors, formSuccess, tableSuccess, hospitaltimeout, mastervendorNames, gst_state, State_value, searchErrorMessage, searchTableSuccess, loading } = this.state;\r\n const formattedSubTotal12 = this.state.totalTaxAmtSec.sub_total12.toFixed(2);\r\n const selectedVendor = mastervendorNames?.find(option => option.label === (this.props.location.state?.vendor_name)) || null;\r\n\r\n return (\r\n\r\n
    \r\n \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \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.dn_type=='expirybreakagereturn'? 'Expiry/Breakage Return Voucher':'Purchase Return Voucher'}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.dn_type=='expirybreakagereturn'? 'Expiry/Breakage Return Voucher':'Purchase Return Voucher'}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleDatePickerChange(date, 'dn_date')}\r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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.handleDatePickerChange(date, 'invoice_date')} \r\n yearPlaceholder='YYYY'\r\n monthPlaceholder='MM'\r\n dayPlaceholder='DD'\r\n \r\n /> \r\n
    \r\n \r\n
    \r\n
    */}\r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n {/*
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Grand Total\r\n \r\n \r\n {this.state.totalAmtSec.total.toFixed(2)}\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n Sub Total\r\n \r\n \r\n {this.state.totalAmtSec.sub_total.toFixed(2)}\r\n \r\n \r\n \r\n \r\n Disc Amt\r\n \r\n \r\n {this.state.totalAmtSec.discAmt.toFixed(2)}\r\n \r\n \r\n \r\n \r\n CGST Amt\r\n \r\n \r\n {this.state.totalAmtSec.cgstAmt.toFixed(2)}\r\n \r\n \r\n \r\n \r\n SGST Amt\r\n \r\n \r\n {this.state.totalAmtSec.sgstAmt.toFixed(2)}\r\n \r\n \r\n \r\n \r\n IGST Amt\r\n \r\n \r\n {this.state.totalAmtSec.igstAmt.toFixed(2)}\r\n \r\n \r\n\r\n\r\n \r\n */}\r\n
    \r\n \r\n\r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n IGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n\r\n \r\n \r\n 5%\r\n \r\n \r\n {this.state.totalTaxAmtSec.sub_total5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.igstAmt5.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt5.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {formattedSubTotal12}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.igstAmt12.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt12.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.state.totalTaxAmtSec.sub_total18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.cgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.igstAmt18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.sgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.state.totalTaxAmtSec.taxAmt18.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n {/* \r\n \r\n \r\n Sub Total\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n \r\n Discount Amount\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n CGST%\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n SGST%\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n \r\n Grand Total\r\n \r\n \r\n \r\n this.setState({ totalAmtSec: { totalAmt: e.target.value } })}\r\n />\r\n \r\n \r\n \r\n */}\r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n \r\n Save\r\n \r\n \r\n Generate\r\n \r\n \r\n clear\r\n \r\n
    \r\n {/*
    \r\n
    Import Opening Stock
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n {loading ? (\r\n \r\n ) : this.state.actions === \"Update\" ? (\r\n \"Upload\"\r\n ) : (\r\n \"Upload\"\r\n )}\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n {/*
    */}\r\n {/*
    \r\n
    */}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )}\r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ExpiryBreakageDNVoucher));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ReactDatatable from \"@ashvin27/react-datatable\";\r\nimport InputField from \"../components/UI/InputField\";\r\nimport SpanField from \"../components/UI/SpanField\";\r\nimport axios from \"axios\";\r\nimport { Popup } from '../components/UI/Popup';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { formatDate } from \"../constants/config/data\";\r\nimport {\r\n getPharmacyList,\r\n getAllPurchaseReturnListbypurchaseReturnno,\r\n addPharmacy,\r\n updatePharmacy,\r\n deletePharmacy,\r\n getTimeoutbycategory,\r\n searchPharmacy,\r\n hospitalpharmacyimport,\r\n getPharmacyShortDetail,\r\n} from \"../config/url.json\";\r\nimport { CONFIG } from \"../config/data\";\r\nimport Select from \"react-select\";\r\nimport Header from \"../components/container/layout/pharmacy/Header\";\r\nimport BusinessUserSideBar from \"../components/container/SideBar\";\r\nimport Validation from \"../actions/Validation\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport IdleTimer from 'react-idle-timer';\r\nimport { IdleTimeOutModal } from '../components/container/modal/IdleModal';\r\nimport PhoneInput, { isValidPhoneNumber } from \"react-phone-number-input\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport Label from \"../components/UI/Label\";\r\nimport PharmacyListExport from \"./Business/PharmacyListExport\";\r\nimport PharmacyListTemplate from \"./Business/PharmacyListTemplate\";\r\nimport LoadingSpinner from \"../components/UI/LoadingSpinner\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport { Popupinfo } from \"../components/UI/Popupinfo\";\r\nimport FooterSection from \"../components/UI/FooterSection\";\r\nimport logo from '../assets/images/logo.png';\r\nfunction mapStateToProps(state) {\r\n return {\r\n appdata: state.AppData,\r\n userdata: state.AuthReducer.user,\r\n access_token: state.AuthReducer.access_token,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n logout: () => dispatch({ type: \"SET_LOGOUT\" }),\r\n };\r\n}\r\n\r\nconst google = window.google;\r\nconst onlineOptions = [{ value: 1, label: \"Yes\" }, { value: 0, label: \"No\" }];\r\n\r\nclass ExpiryBreakageReturnInvoice extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.idleTimer = React.createRef()\r\n const hospitaltimeout = this.state;\r\n this.autocomplete = null;\r\n this.state = {\r\n adminstatus: this.props.userdata.adminstatus,\r\n timeout: hospitaltimeout,\r\n isTimedOut: false,\r\n showModal: false,\r\n\r\n records: [],\r\n searchrecords: [],\r\n addPopup: false,\r\n actions: \"add\",\r\n search_action: false,\r\n newDatatoAdd: {},\r\n searchErrorMessage: \"\",\r\n pharmacyData: {\r\n pharmacy_id: \"\",\r\n searchpharmacy_id: \"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n online_prescription_obj: { value: \"\", label: \"\" },\r\n online_prescription: \"\",\r\n pharmacy_verification: \"\"\r\n },\r\n headerinfo: {\r\n profile_name: \"\",\r\n qualification: \"\",\r\n specialization: \"\",\r\n work_place: \"\",\r\n id: \"\",\r\n languages_known: \"\",\r\n profile_percentage: \"\",\r\n rating: \"\",\r\n profile_img: \"\",\r\n profile_percentage_style: \"\",\r\n business_name: \"\",\r\n speciality_detail: \"\",\r\n address1: \"\",\r\n city: \"\",\r\n zip_code: \"\"\r\n\r\n },\r\n totalAmtSec: {\r\n amt: 0,\r\n taxVal: 0,\r\n taxAmt: 0,\r\n totalAmt: 0,\r\n totalAmtWords: \"\",\r\n },\r\n\r\n errors: {\r\n pharmacy_id: \"\",\r\n pharmacy_name: \"\",\r\n pharmacy_location: \"\",\r\n address: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n phone_number: \"\",\r\n email: \"\",\r\n online_prescription: \"\",\r\n pharmacy_verification: \"\"\r\n },\r\n tableSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n },\r\n formSuccess: {\r\n message: \"\",\r\n status: \"\"\r\n }\r\n };\r\n this.columns = [\r\n {\r\n key: \"s_no\",\r\n text: \"S.No\",\r\n className: \"s_no\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n\r\n {\r\n key: \"generic_name\",\r\n text: \"Item Name\",\r\n className: \"generic_name\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"pack\",\r\n text: \"Pack\",\r\n className: \"pack\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n\r\n {\r\n key: \"hsn_code\",\r\n text: \"HSN\",\r\n className: \"hsn_code\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"batch_no\",\r\n text: \"Batch No\",\r\n className: \"batch_no\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"exp_date\",\r\n text: \"Exp.Dt\",\r\n className: \"exp_date\",\r\n sortable: true,\r\n align: \"left\",\r\n },\r\n {\r\n key: \"quantity\",\r\n text: \"Qty\",\r\n className: \"quantity\",\r\n sortable: true,\r\n align: \"left\",\r\n\r\n },\r\n\r\n\r\n {\r\n key: \"mrp\",\r\n text: \"MRP\",\r\n className: \"mrp\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"p_rate\",\r\n text: \"P Rate\",\r\n className: \"p_rate\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"cgst\",\r\n text: \"CGST%\",\r\n className: \"cgst\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"sgst\",\r\n text: \"SGST%\",\r\n className: \"sgst\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"igst\",\r\n text: \"IGST%\",\r\n className: \"igst\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n {\r\n key: \"sub_total\",\r\n text: \"Amount\",\r\n className: \"sub_total\",\r\n align: \"left\",\r\n sortable: true,\r\n },\r\n ];\r\n this.config = {\r\n page_size: 9,\r\n show_first: false,\r\n show_info: false,\r\n show_last: false,\r\n length_menu: [10, 20, 50],\r\n show_filter: false,\r\n show_length_menu: false,\r\n show_pagination: false,\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n this.searchconfig = {\r\n page_size: 10,\r\n length_menu: [10, 20, 50],\r\n button: {\r\n excel: false,\r\n print: false,\r\n },\r\n };\r\n\r\n this.idleTimer = null\r\n this.onAction = this._onAction.bind(this)\r\n this.onActive = this._onActive.bind(this)\r\n this.onIdle = this._onIdle.bind(this)\r\n this.handleClose = this.handleClose.bind(this)\r\n this.handleLogout = this.handleLogout.bind(this)\r\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\r\n }\r\n handlePhoneInput = (event) => {\r\n let pharmacyData = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n pharmacyData.phone_number = event;\r\n errors.phone_number = \"\";\r\n this.setState({ pharmacyData, errors });\r\n };\r\n handlePlaceSelect() {\r\n let place = this.autocomplete.getPlace();\r\n let errors = this.state.errors;\r\n let { pharmacyData } = this.state;\r\n\r\n var componentForm = {\r\n street_number: \"long_name\",\r\n administrative_area_level_1: \"long_name\",\r\n locality: \"long_name\",\r\n country: \"long_name\",\r\n sublocality_level_1: \"long_name\",\r\n postal_code: \"long_name\",\r\n };\r\n\r\n pharmacyData.pharmacy_location = place.formatted_address;\r\n pharmacyData.pharmacy_verification = \"Verified\";\r\n\r\n for (var i = 0; i < place.address_components.length; i++) {\r\n var addressType = place.address_components[i].types[0];\r\n\r\n if (componentForm[addressType]) {\r\n var val = place.address_components[i][componentForm[addressType]];\r\n\r\n if (addressType === \"administrative_area_level_1\")\r\n pharmacyData.state = val;\r\n if (addressType === \"locality\")\r\n pharmacyData.city = val;\r\n if (addressType === \"country\") pharmacyData.country = val;\r\n\r\n pharmacyData.address = place.formatted_address;\r\n\r\n if (addressType === \"postal_code\") pharmacyData.zip_code = val;\r\n }\r\n }\r\n errors.city_error = \"\";\r\n errors.state_error = \"\";\r\n errors.country_error = \"\";\r\n errors.zip_code_error = \"\";\r\n errors.city = \"\";\r\n errors.state = \"\";\r\n errors.country = \"\";\r\n errors.zip_code = \"\";\r\n this.setState({\r\n pharmacyData, errors\r\n });\r\n }\r\n handleClose() {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n handleLogout = (e) => {\r\n this.setState({ showModal: false })\r\n e.preventDefault();\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n _onAction(e) {\r\n // console.log('user did something', e)\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onActive(e) {\r\n\r\n\r\n this.setState({ isTimedOut: false })\r\n }\r\n\r\n _onIdle = (e) => {\r\n\r\n let isTimedOut = this.state.isTimedOut\r\n let timeout = this.state.timeout;\r\n\r\n if (isTimedOut === false) {\r\n // console.log(\"the time is over\");\r\n this.setState({ showModal: true })\r\n console.log(this.state.showModal);\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n\r\n }\r\n if (isTimedOut === true) {\r\n localStorage.removeItem(\"token\");\r\n this.props.logout();\r\n }\r\n }\r\n handleInputsearch = (record, event) => {\r\n record[event.target.name] = event.target.value;\r\n let max = event.target.max;\r\n let value = event.target.value;\r\n if (\r\n event.target.name === \"searchpharmacy_id\"\r\n\r\n ) {\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n record.pharmacyid_error = \"Maximum Length has exceeded.\";\r\n record[event.target.name] = value1;\r\n }\r\n else {\r\n record.pharmacyid_error = \"\";\r\n record[event.target.name] = event.target.value;\r\n }\r\n }\r\n this.UpdateSearchColumnChange(record);\r\n };\r\n\r\n addRecord = (record) => {\r\n let formvalid = true;\r\n if (record.searchpharmacy_id === \"\") {\r\n record.pharmacyid_error = \"The Pharmacy ID field is required.\";\r\n formvalid = false;\r\n } else {\r\n record.pharmacyid_error = \"\";\r\n }\r\n\r\n\r\n let records = this.state.searchrecords;\r\n /* var recIndex = findWithAttr(records, \"id\", record.id);\r\n records[recIndex] = record;\r\n this.setState({ searchrecords: records }); */\r\n if (formvalid) {\r\n this.setState({ drug_action: \"Add\" });\r\n //this.setState({ newDatatoAdd: record, loading: true });\r\n // this.addorupdateDrug();\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n let selectedData = record;\r\n // console.log(selectedData); return false;\r\n let data = {};\r\n data.user_id = this.props.userdata.id;\r\n data.pharmacy_id = selectedData.searchpharmacy_id;\r\n data.pharmacy_name = selectedData.pharmacy_name;\r\n data.pharmacy_location = selectedData.pharmacy_location;\r\n data.address = selectedData.address;\r\n data.city = selectedData.city;\r\n data.country = selectedData.country;\r\n data.state = selectedData.state;\r\n data.zip_code = selectedData.zip_code;\r\n data.phone_number = selectedData.phone_number;\r\n data.email = selectedData.email;\r\n data.online_prescription = selectedData.online_prescription;\r\n // console.log(data);return false;\r\n axios\r\n .post(addPharmacy, data, CONFIG)\r\n .then((addPharmacyResponse) => {\r\n let res = addPharmacyResponse.data;\r\n\r\n if (res.status === \"1\") {\r\n toast.success(\"The Pharmacy details have been added successfully.\", {\r\n className: \"toast-success\"\r\n });\r\n let pharmacy = {};\r\n let records = this.state.records;\r\n pharmacy.s_no = this.state.records.length + 1;\r\n pharmacy.pharmacy_id = data.pharmacy_id;\r\n pharmacy.id = res.data[0].id;\r\n pharmacy.pharmacy_name = data.pharmacy_name;\r\n pharmacy.address = data.address;\r\n pharmacy.pharmacy_location = data.address;\r\n pharmacy.city = data.city;\r\n pharmacy.country = data.country;\r\n pharmacy.state = data.state;\r\n pharmacy.zip_code = data.zip_code;\r\n pharmacy.phone_number = data.phone_number;\r\n pharmacy.email = data.email;\r\n records.push(pharmacy);\r\n // this.setState({ searchrecords: records });\r\n this.setState({\r\n records: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getPharmacyList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let pharmacyList = list.data.data;\r\n pharmacyList.forEach((element, index) => {\r\n let pharmacy = {};\r\n pharmacy.s_no = index + 1;\r\n pharmacy.pharmacy_id = element.pharmacy_id;\r\n pharmacy.pharmacy_name = element.pharmacy_name;\r\n pharmacy.id = element.id;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_location = element.pharmacy_location;\r\n pharmacy.phone_number = element.phone_number;\r\n pharmacy.email = element.email;\r\n pharmacy.address = element.address;\r\n pharmacy.city = element.city;\r\n pharmacy.country = element.country;\r\n pharmacy.state = element.state;\r\n pharmacy.zip_code = element.zip_code;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_verification = element.pharmacy_verification;\r\n\r\n pharmacyList[index] = pharmacy;\r\n });\r\n\r\n this.setState({ records: pharmacyList });\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n }\r\n else {\r\n toast.error(\"Pharmacy could not be added \", {\r\n className: \"toast-error\"\r\n });\r\n this.setState({\r\n searchrecords: records,\r\n searchTableSuccess: res,\r\n loading: false,\r\n });\r\n this.clearMessage();\r\n this.cancel();\r\n }\r\n })\r\n .catch(() => { });\r\n }\r\n };\r\n\r\n Printpage = () => {\r\n window.print();\r\n }\r\n\r\n\r\n\r\n clearErrors = (errors) => {\r\n\r\n errors.pharmacy_id = \"\"\r\n errors.pharmacy_name = \"\"\r\n errors.address = \"\"\r\n errors.phone_number = \"\"\r\n errors.email = \"\"\r\n errors.pharmacy_location = \"\"\r\n errors.city = \"\"\r\n errors.country = \"\"\r\n errors.state = \"\"\r\n errors.zip_code = \"\"\r\n errors.online_prescription = \"\"\r\n return errors\r\n }\r\n\r\n cancel = () => {\r\n let pharmacy_action = this.state.pharmacy_action;\r\n pharmacy_action = \"Add\";\r\n this.setState({ pharmacy_action });\r\n let data = this.state.pharmacyData;\r\n data.pharmacy_id = \"\"\r\n data.pharmacy_name = \"\"\r\n data.id = \"\"\r\n data.user_id = \"\"\r\n\r\n data.online_prescription_obj = {\r\n label: \"\", value: \"\"\r\n }\r\n data.address = \"\"\r\n data.phone_number = \"\"\r\n data.email = \"\"\r\n data.pharmacy_location = \"\"\r\n data.city = \"\"\r\n data.country = \"\"\r\n data.state = \"\"\r\n data.zip_code = \"\"\r\n data.online_prescription = \"\"\r\n\r\n let errors = this.state.errors;\r\n\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ pharmacyData: data, actions: \"add\", errors: errors, searchErrorMessage: \"\", searchrecords: [], search_action: false });\r\n }\r\n\r\n clearimport = () => {\r\n this.setState({ file: \"\" });\r\n };\r\n\r\n clearMessage = () => {\r\n setTimeout(() => this.setState({\r\n formSuccess: { message: \"\", },\r\n tableSuccess: { message: \"\" }\r\n }), 5000);\r\n }\r\n editRecord(record) {\r\n let pharmacy_action = this.state.pharmacy_action;\r\n pharmacy_action = \"Edit\";\r\n this.setState({ pharmacy_action });\r\n let pharmacyData = this.state.pharmacyData;\r\n console.log(record)\r\n console.log(pharmacyData)\r\n pharmacyData.pharmacy_id = record.pharmacy_id;\r\n pharmacyData.pharmacy_name = record.pharmacy_name;\r\n pharmacyData.id = record.id;\r\n pharmacyData.user_id = record.user_id;\r\n\r\n pharmacyData.online_prescription_obj = {\r\n label: record.online_prescription,\r\n value: (\"Yes\" === record.online_prescription) ? 1 : 0\r\n }\r\n pharmacyData.address = record.pharmacy_location;\r\n pharmacyData.phone_number = record.phone_number;\r\n pharmacyData.email = record.email;\r\n pharmacyData.pharmacy_location = record.address;\r\n pharmacyData.city = record.city;\r\n pharmacyData.country = record.country;\r\n pharmacyData.state = record.state;\r\n pharmacyData.zip_code = record.zip_code;\r\n pharmacyData.online_prescription = record.online_prescription;\r\n pharmacyData.pharmacy_verification = record.pharmacy_verification;\r\n let errors = this.state.errors;\r\n errors = this.clearErrors(errors);\r\n\r\n this.setState({ pharmacyData: pharmacyData, actions: \"edit\", errors: errors, editRecord: record });\r\n }\r\n componentDidMount = () => {\r\n\r\n /* console.log(this.props.location.state.bill_no);\r\n console.log(this.props.location.state.patient_address);\r\n console.log(this.props.location.state.patient_name);\r\n console.log(this.props.location.state.doctor_name); */\r\n this.autocomplete = new google.maps.places.Autocomplete(document.getElementById(\"address\"),{});\r\n this.autocomplete.addListener(\"place_changed\", this.handlePlaceSelect);\r\n console.log(this.props.userdata.user_type);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getTimeoutbycategory, { category: this.props.userdata.user_type }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n console.log(data.data.timeout);\r\n if (data.status == \"1\")\r\n this.setState({\r\n hospitaltimeout: data.data.timeout\r\n\r\n });\r\n })\r\n .catch((e) => { });\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n\r\n axios\r\n .post(getPharmacyShortDetail, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((res) => {\r\n let data = res.data;\r\n console.log(res);\r\n console.log(data);\r\n\r\n if (data.status == \"1\") {\r\n\r\n const foodlicence = data.data[0].food_licence;\r\n const foodlicenceparsed = JSON.parse(foodlicence);\r\n\r\n const druglicence1 = data.data[0].drug_licence1;\r\n const druglicence1parsed = JSON.parse(druglicence1);\r\n const druglicence2 = data.data[0].drug_licence2;\r\n const druglicence2parsed = JSON.parse(druglicence2);\r\n const druglicence3 = data.data[0].drug_licence3;\r\n const druglicence3parsed = JSON.parse(druglicence3);\r\n this.setState({\r\n avatar: data.data[0].avatar,\r\n pharmacyaddress: data.data[0].address1 + '-' + data.data[0].city + '-' + data.data[0].state + '-' + data.data[0].country + '-' + data.data[0].zip_code,\r\n pharmacy_name: data.data[0].pharmacy_name,\r\n gstin: data.data[0].gst_no,\r\n foodLicense: foodlicenceparsed.food_licence,\r\n druglicence1: druglicence1parsed.drug_licence1,\r\n druglicence2: druglicence2parsed.drug_licence2,\r\n druglicence3: druglicence3parsed.drug_licence3,\r\n });\r\n }\r\n\r\n\r\n console.log(this.state.avatar);\r\n console.log(this.state.pharmacyaddress);\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n let members = [];\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .post(getAllPurchaseReturnListbypurchaseReturnno, { purchasereturn_no: this.props.location.state.expirybreakagereturn_no }, CONFIG)\r\n .then((list) => {\r\n let saleList = list.data.data;\r\n saleList.forEach((element, index) => {\r\n let sale = {};\r\n sale.s_no = index + 1;\r\n sale.generic_name = element.generic_name;\r\n sale.pack = element.pack;\r\n sale.id = element.id;\r\n sale.hsn_code = element.hsn_code;\r\n sale.batch_no = element.batch_no;\r\n sale.exp_date = formatDate(element.exp_date);\r\n sale.quantity = element.quantity;\r\n sale.mrp = element.mrp;\r\n sale.p_rate = element.p_rate;\r\n sale.cgst = element.cgst;\r\n sale.sgst = element.sgst;\r\n sale.igst = element.igst;\r\n sale.sub_total = element.sub_total;\r\n saleList[index] = sale;\r\n });\r\n\r\n this.setState({ records: saleList });\r\n })\r\n .catch((e) => { });\r\n\r\n };\r\n\r\n\r\n onDeleteClick(record) {\r\n\r\n this.setState({ addPopup: true, record: record });\r\n }\r\n deleteRecord(record) {\r\n\r\n let userId = record.id;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n axios\r\n .delete(deletePharmacy, { data: { id: userId } }, CONFIG)\r\n .then((res) => {\r\n let response = res.data;\r\n if (response.status === \"1\") {\r\n let records = this.state.records;\r\n const deleteIndex = records\r\n .map((item) => item.id)\r\n .indexOf(record.id);\r\n records.splice(deleteIndex, 1);\r\n this.setState({ records });\r\n }\r\n this.setState({ addPopup: false, record: \"\" });\r\n toast.error(\"The Pharmacy detail has been deleted successfully.\", {\r\n className: \"toast-error\"\r\n });\r\n // this.setState({ tableSuccess: res.data });\r\n this.clearMessage();\r\n this.cancel();\r\n })\r\n .catch((e) => { });\r\n }\r\n handleselectChange = (selectedOptions, e) => {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors\r\n errors.online_prescription = \"\"\r\n data[e.name] = selectedOptions;\r\n this.setState({ pharmacyData: data, errors });\r\n };\r\n handleColumnChange = (record) => {\r\n record.online_prescription = (\"Yes\" === record.online_prescription) ? \"No\" : \"Yes\";\r\n this.UpdateColumnChange(record);\r\n }\r\n validateMaxLength(name, value, max) {\r\n let data = this.state.pharmacyData;\r\n let errors = this.state.errors;\r\n\r\n if (value.length > max) {\r\n const value1 = value.slice(0, max);\r\n errors[name] = \"Maximum Length has exceeded.\";\r\n data[name] = value1;\r\n } else {\r\n errors[name] = \"\";\r\n data[name] = value;\r\n }\r\n this.setState({ pharmacyData: data, errors: errors });\r\n }\r\n\r\n handleInput = (e) => {\r\n let data = this.state.pharmacyData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors\r\n if (\r\n name === \"pharmacy_id\" ||\r\n name === \"pharmacy_name\" ||\r\n name === \"address\" ||\r\n name === \"city\"\r\n\r\n ) {\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n }\r\n this.setState({ pharmacyData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n handleAddressInput = (e) => {\r\n let data = this.state.pharmacyData;\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n let max = e.target.max;\r\n let errors = this.state.errors\r\n if (name === \"address\") {\r\n\r\n this.validateMaxLength(name, value, max);\r\n } else {\r\n data[name] = value;\r\n errors[name] = \"\";\r\n }\r\n this.setState({ pharmacyData: data, errors, searchErrorMessage: \"\" });\r\n };\r\n searchandshowPharmacy() {\r\n let pharmacyData = this.state.pharmacyData;\r\n console.log(pharmacyData);\r\n\r\n if (\r\n pharmacyData.pharmacy_name === \"\" && pharmacyData.address === \"\" && pharmacyData.city === \"\" && pharmacyData.country === \"\" && pharmacyData.state === \"\" && pharmacyData.zip_code === \"\" && pharmacyData.online_prescription_obj.label === \"\" && pharmacyData.email === \"\" && pharmacyData.phone_number === \"\"\r\n ) {\r\n\r\n this.setState({\r\n searchErrorMessage:\r\n \"Choose any one of the search filters other than Pharmacy ID.\",\r\n searchrecords: []\r\n });\r\n return;\r\n\r\n\r\n\r\n } else {\r\n this.setState({\r\n searchErrorMessage: \"\",\r\n });\r\n }\r\n let data = {};\r\n data.pharmacy_name = pharmacyData.pharmacy_name;\r\n data.address = pharmacyData.address;\r\n data.pharmacy_location = pharmacyData.pharmacy_location;\r\n data.city = pharmacyData.city;\r\n data.country = pharmacyData.country;\r\n data.state = pharmacyData.state;\r\n data.zip_code = pharmacyData.zip_code;\r\n data.phone_number = pharmacyData.phone_number;\r\n data.email = pharmacyData.email;\r\n data.online_prescription = pharmacyData.online_prescription_obj.label;\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${this.props.access_token}`;\r\n this.setState({ loading: true }, () => {\r\n axios.post(searchPharmacy, data, CONFIG).then((searchres) => {\r\n this.setState({ loading: false });\r\n let result = searchres.data;\r\n let data = [];\r\n if (result.countOfRecords > 0) {\r\n let records = result.data;\r\n // console.log(this.state.masterdrugmeasure[0]);\r\n records.forEach((element) => {\r\n console.log(element);\r\n data.push({\r\n pharmacy_id: \"\",\r\n pharmacy_name: element.pharmacy_name,\r\n address: element.address,\r\n city: element.city,\r\n country: element.country,\r\n state: element.state,\r\n zip_code: element.zip_code,\r\n phone_number: element.phone_number,\r\n email: element.email,\r\n online_prescription: element.online_prescription,\r\n pharmacy_location: element.pharmacy_location,\r\n pharmacy_name_error: \"\",\r\n address_error: \"\",\r\n city_error: \"\",\r\n country_error: \"\",\r\n state_error: \"\",\r\n zip_code_error: \"\",\r\n phone_number_error: \"\",\r\n });\r\n });\r\n\r\n this.setState({ searchrecords: data });\r\n this.setState({\r\n search_action: true,\r\n });\r\n } else {\r\n this.setState({ searchrecords: [], search_action: true });\r\n }\r\n });\r\n });\r\n }\r\n onFileChange = event => {\r\n\r\n // Update the state\r\n this.setState({ file: event.target.files[0] });\r\n readXlsxFile(event.target.files[0]).then((rows) => {\r\n console.log(rows);\r\n console.log(\"rows\");\r\n this.setState({ pharmacyData: rows });\r\n // `rows` is an array of rows\r\n // each row being an array of cells.\r\n })\r\n\r\n };\r\n onFileUpload = () => {\r\n\r\n if (this.state.pharmacyData.length) {\r\n axios.post(hospitalpharmacyimport, { data: this.state.pharmacyData, user_id: this.props.userdata.id }).then((result) => {\r\n console.log(result);\r\n this.setState({ formSuccess: result.data, file: \"\", pharmacyData: [] })\r\n axios\r\n .post(getPharmacyList, { user_id: this.props.userdata.id }, CONFIG)\r\n .then((list) => {\r\n let pharmacyList = list.data.data;\r\n pharmacyList.forEach((element, index) => {\r\n let pharmacy = {};\r\n pharmacy.s_no = index + 1;\r\n pharmacy.pharmacy_id = element.pharmacy_id;\r\n pharmacy.pharmacy_name = element.pharmacy_name;\r\n pharmacy.id = element.id;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_location = element.pharmacy_location;\r\n pharmacy.phone_number = element.phone_number;\r\n pharmacy.email = element.email;\r\n pharmacy.address = element.address;\r\n pharmacy.city = element.city;\r\n pharmacy.country = element.country;\r\n pharmacy.state = element.state;\r\n pharmacy.zip_code = element.zip_code;\r\n pharmacy.online_prescription = element.online_prescription;\r\n pharmacy.pharmacy_verification = element.pharmacy_verification;\r\n\r\n pharmacyList[index] = pharmacy;\r\n });\r\n this.setState({ records: pharmacyList });\r\n })\r\n .catch(() => { });\r\n this.clearMessage();\r\n });\r\n }\r\n\r\n };\r\n render() {\r\n const { headerinfo, adverdisement } = this.state;\r\n let PopupClose = () => this.setState({ addPopup: false });\r\n let PopupConfirm = () => this.deleteRecord(this.state.record);\r\n let PopupHospitalClose = () => {\r\n this.setState({ hospitalpopup: true })\r\n\r\n };\r\n const { pharmacyData, errors, formSuccess, tableSuccess, hospitaltimeout, searchErrorMessage, searchTableSuccess, loading } = this.state;\r\n return (\r\n\r\n
    \r\n \r\n { this.idleTimer = ref }}\r\n element={document}\r\n onActive={this.onActive}\r\n onIdle={this.onIdle}\r\n onAction={this.onAction}\r\n debounce={250}\r\n timeout={hospitaltimeout} />\r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n (this.state.adminstatus !== \"\" && this.state.adminstatus === \"Pending\") ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Admin not approved your account yet to view this page. Please contact the administrator to approve your account. */}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ) :\r\n (\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n

    Sales Invoice

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

    Debit Note Invoice

    \r\n
    \r\n\r\n
    \r\n\r\n

    GSTIN:{this.state.gstin}

    \r\n
    \r\n\r\n
    \r\n
    \r\n

    DN No:{this.props.location.state.expirybreakagereturn_no}

    \r\n

    DN Date:{formatDate(this.props.location.state.dn_date)}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Pharmacy\r\n
    \r\n

    \r\n {this.state.pharmacy_name}\r\n

    \r\n
    \r\n {this.state.pharmacyaddress}\r\n
    \r\n {/*
    Phone No: {headerinfo.phone_no}
    */}\r\n
    Mobile No:{this.props.userdata.phone_number}
    \r\n
    Email ID:{this.props.userdata.email}
    \r\n
    DL No:{this.state.druglicence1},{this.state.druglicence2},{this.state.druglicence3}
    \r\n
    FSSAI No: {this.state.foodLicense}
    \r\n
    \r\n {headerinfo.languages_known}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Vendor Name: {this.props.location.state.vendor_name}

    \r\n

    Address: {this.props.location.state.address}

    \r\n

    GST No: {this.props.location.state.gst_no}

    \r\n

    DL Nos: {this.props.location.state.drug_licence1}, {this.props.location.state.drug_licence2}, {this.props.location.state.drug_licence3}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n \r\n\r\n\r\n\r\n
    \r\n\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n Sub Total\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.sub_total\r\n }{\" \"}\r\n
    \r\n GST Amount\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.gstAmt\r\n }{\" \"}\r\n
    \r\n Discount Amount\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.discAmt\r\n }{\" \"}\r\n
    \r\n Round off (+/-)\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.rounddiff\r\n }{\" \"}\r\n
    \r\n Bill Amount\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.total\r\n }{\" \"}\r\n
    \r\n Bill Amount\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.roundtotal\r\n }{\" \"}\r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Amount (in Words)\r\n \r\n {\" \"}\r\n {\r\n this.props.location.state.totalAmtWords\r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n GST\r\n \r\n \r\n Taxable Amt\r\n \r\n \r\n CGST Amt\r\n \r\n \r\n SGST Amt\r\n \r\n \r\n IGST Amt\r\n \r\n \r\n Tax Amt\r\n \r\n \r\n\r\n \r\n \r\n 5%\r\n \r\n \r\n {this.props.location.state.sub_total5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.igstAmt5.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt5.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 12%\r\n \r\n \r\n {this.props.location.state.sub_total12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.igstAmt12.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt12.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n 18%\r\n \r\n \r\n {this.props.location.state.sub_total18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.cgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.sgstAmt18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.igstAmt18.toFixed(2)}\r\n \r\n \r\n {this.props.location.state.taxAmt18.toFixed(2)}\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Terms and Conditions
    \r\n
      \r\n
    • Goods once sold will not be taken back or exchanged.
    • \r\n
    • All disputes subject to Chennai Jurisdiction only.
    • \r\n
    \r\n
    \r\n\r\n
    \r\n
    For {this.state.pharmacy_name} Pharmacy
    \r\n
      \r\n
    • Authorized Signature
    • \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n {/* \r\n Finish\r\n */}\r\n\r\n\r\n\r\n
    \r\n {/* \r\n Back\r\n \r\n */}\r\n \r\n Print\r\n \r\n {/* \r\n Finish\r\n */}\r\n
    \r\n
    \r\n E. & O.E.\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ExpiryBreakageReturnInvoice));\r\n\r\nfunction findWithAttr(array, attr, value) {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n","\r\nimport React from \"react\";\r\nimport { BrowserRouter as Router, Route, Switch } from \"react-router-dom\";\r\n\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport \"./App.css\";\r\n\r\n\r\nimport Register from \"./views/register/Register\";\r\nimport login from \"./views/login/login\";\r\nimport VerificationPage from \"./views/register/VerificationPage\";\r\nimport NotFound from \"./views/NotFound\";\r\nimport \"../src/assets/css/bootstrap.min.css\";\r\nimport \"../src/assets/css/icons.min.css\";\r\nimport \"../src/assets/css/app.min.css\";\r\nimport \"../src/assets/css/mystyle.css\";\r\nimport \"../src/assets/css/javascript-calendar.css\";\r\n// import \"../src/assets/js/app.js\";\r\n\r\nimport ForgetPassword from \"./views/ForgetPassword\";\r\nimport Profile from \"./views/Profile\";\r\nimport video from \"./views/video\";\r\nimport BusinessUserList from \"./views/BusinessUserList\";\r\nimport GuestRoute from \"./components/GuestRoute\";\r\nimport AuthRoute from \"./components/AuthRoute\";\r\nimport Dashboard from \"./views/Dashboard\";\r\nimport QueueList from \"./views/QueueList\";\r\nimport AppointmentList from \"./views/AppointmentList\";\r\n\r\nimport Search from \"./views/Search\";\r\nimport ScheduleConfirmation from \"./views/ScheduleConfirmation\";\r\n\r\nimport ClientFamilyDetails from \"./views/ClientFamilyDetails\";\r\n\r\nimport ClientFavourites from \"./views/ClientFavourites\";\r\nimport ClientAppointments from \"./views/ClientAppointments\";\r\nimport UpdateProfile from \"./views/UpdateProfile\";\r\nimport Clients from \"./views/Clients\";\r\nimport Diseases from \"./views/Diseases\";\r\nimport Drugs from \"./views/Drugs\";\r\n// import DrugTest from \"./views/DrugTest\";\r\nimport AddDrugs from \"./views/AddDrugs\";\r\nimport DrugList from \"./views/DrugList\";\r\nimport ClientCheckin from \"./views/ClientCheckin\";\r\n\r\nimport BusinessLayout from \"./views/Business/BusinessLayout\";\r\nimport Promocode from \"./views/Promocode\";\r\nimport FooterAdverdisement from \"./views/FooterAdverdisement\";\r\nimport ViewProfile from \"./views/Business/ViewProfile\";\r\nimport Symptoms from \"./views/Symptoms\";\r\nimport Consult from \"./views/Consult\";\r\nimport DoctorConsultation from \"./views/DoctorConsultation\";\r\nimport Prescription from \"./views/Prescription\";\r\nimport ClientPrescription from \"./views/ClientPrescription\";\r\nimport ClientMedicineScheduling from \"./views/ClientMedicineScheduling\";\r\nimport ClientConsultation from \"./views/ClientConsultation\";\r\nimport Consultationsummary from \"./views/Consultationsummary\";\r\nimport ClientApptConsultation from \"./views/ClientApptConsultation\";\r\nimport ClientApptPrescription from \"./views/ClientApptPrescription\";\r\nimport Referrals from \"./views/Referrals\";\r\nimport QueueAssignment from \"./views/QueueAssignment\";\r\nimport PrintPrescription from \"./views/PrintPrescription\";\r\nimport QR_Code from \"./views/QRCode\";\r\nimport Website from \"./views/Website\";\r\nimport Topmove from \"./views/Topmove\";\r\nimport TestLogin from \"./views/TestLogin\";\r\nimport TestHome from \"./views/TestHome\";\r\nimport Support from \"./views/Support\";\r\nimport SupportDefault from \"./views/SupportDefault\";\r\nimport VendorForm from \"./views/VendorForm\";\r\nimport UpdateVendorForm from \"./views/UpdateVendorForm\";\r\nimport ClientBookAppointments from \"./views/ClientBookAppointments\";\r\nimport ShiftPlanner from \"./views/Business/ShiftPlanner\";\r\nimport DoctorShiftPlanner from \"./views/Business/DoctorShiftPlanner\";\r\nimport AddPrescription from \"./views/Business/AddPrescription\";\r\nimport InPatientPrescription from \"./views/Business/InPatientPrescription\";\r\nimport AdminDashboard from \"./views/AdminDashboard\";\r\nimport NewsFeeds from \"./views/NewsFeeds\";\r\nimport Notification from \"./views/Notification\";\r\nimport DoctorList from \"./views/DoctorList\";\r\nimport HospitalList from \"./views/HospitalList\";\r\nimport PatientList from \"./views/PatientList\";\r\nimport SalesNvoice from \"./views/SalesNvoice\";\r\nimport AdminPharmacyList from \"./views/AdminPharmacyList\";\r\nimport AdminLabList from \"./views/AdminLabList\";\r\nimport PharmacyProfile from \"./views/Business/PharmacyProfile\";\r\nimport SupplierList from \"./views/Inventory/SupplierList\";\r\nimport StorageBin from \"./views/Inventory/StorageBin\";\r\nimport PurchaseInfo from \"./views/Inventory/PurchaseInfo\";\r\nimport StockReport from \"./views/Inventory/StockReport\";\r\nimport PlabList from \"./views/PlabList\";\r\nimport DrugImport from \"./views/DrugImport\";\r\nimport SymptomImport from \"./views/SymptomImport\";\r\nimport SpecialityList from \"./views/SpecialityList\";\r\nimport SubscriptionPlan from \"./views/SubscriptionPlan\";\r\nimport Showsubscription from \"./views/ShowSubscription\";\r\nimport ShowSubscriptionClient from \"./views/ShowSubscriptionClient\";\r\nimport Timeout from \"./views/Timeout\";\r\nimport DoctorCountBySubscription from \"./views/DoctorCountBySubscription\";\r\nimport InboxController from \"./views/InboxController\";\r\nimport PrivacyPolicy from \"./views/PrivacyPolicy\";\r\nimport TermsAndCondition from \"./views/TermsAndCondition\";\r\nimport Faq from \"./views/Faq\";\r\nimport FaqWeb from \"./views/FaqWeb\";\r\nimport Offers from \"./views/Offers\";\r\nimport ViewOffers from \"./views/ViewOffers\";\r\nimport OffersWeb from \"./views/OffersWeb\";\r\nimport Videoupload from \"./views/Videoupload\";\r\nimport DoctorAppointment from \"./views/DoctorAppointment\";\r\nimport QueueCompletedReport from \"./views/QueueCompletedReport\";\r\nimport QueueReport from \"./views/QueueReport\";\r\nimport VisitList from \"./views/Business/VisitList\";\r\nimport AppointmentCompletedReport from \"./views/AppointmentCompletedReport\";\r\nimport AppointmentReport from \"./views/AppointmentReport\";\r\nimport ApptCheckout from \"./views/ApptCheckout\";\r\nimport Addapptprescription from \"./views/Business/Addapptprescription\";\r\nimport Printapptprescription from \"./views/Printapptprescription\";\r\nimport VisitApptList from \"./views/Business/VisitApptList\";\r\nimport ResetPassword from \"./views/ResetPassword\";\r\nimport JoinRoom from \"./views/Video/JoinRoom\";\r\nimport Feeds from \"./views/Feeds\";\r\nimport RequirementList from \"./views/Inventory/RequirementList\";\r\nimport MaterialMovement from \"./views/Inventory/MaterialMovement\";\r\nimport Transfertype from \"./views/Transfertype\";\r\nimport help from \"./views/help\";\r\nimport Hospitalprintprescription from \"./views//Hospitalprintprescription\";\r\nimport InPatientCheckin from \"./views/InpatientModule/InPatientCheckin\";\r\nimport InpFacilityList from \"./views/InpatientModule/InpFacilityList\";\r\nimport InpRoomTransfer from \"./views/InpatientModule/InpRoomTransfer\";\r\nimport InpatientList from \"./views/InpatientModule/InpatientList\";\r\nimport InpatientConsultation from \"./views/InpatientModule/InpatientConsultation\";\r\nimport InPatientBilling from \"./views/InpatientModule/InPatientBilling\";\r\nimport AmbulanceManagement from \"./views/InpatientModule/AmbulanceManagement\";\r\nimport SupportNew from \"./views/SupportNew\";\r\nimport SupportLatest from \"./views/SupportLatest\";\r\nimport ServiceCharges from \"./views/ServiceCharges\";\r\nimport Canvas from \"./views/Canvas\";\r\nimport PrintPrescriptionnew from \"./views/PrintPrescriptionnew\";\r\nimport PrescriptionTemplate from \"./views/PrescriptionTemplate\";\r\nimport PrescriptionList from \"./views/PrescriptionList\";\r\nimport ViewPatientPrescription from \"./views/ViewPatientPrescription\";\r\nimport PharmacyDruglist from \"./views/PharmacyDruglist\";\r\nimport PharmacyDrugslist from \"./views/PharmacyDrugslist\";\r\nimport PurchaseEntryVoucher from \"./views/PurchaseEntryVoucher\";\r\nimport Manufacturerlist from \"./views/Manufacturerlist\";\r\nimport VendorList from \"./views/VendorList\";\r\nimport Createlogin from \"./views/Createlogin\";\r\nimport Createlogin2 from \"./views/Createlogin2\";\r\nimport Webproduct from \"./views/Webproduct\";\r\nimport Webcontact from \"./views/Webcontact\";\r\nimport Webhospital from \"./views/Webhospital\";\r\nimport Webpatient from \"./views/Webpatient\";\r\nimport Webphysician from \"./views/Webphysician\";\r\nimport Webbenifits from \"./views/Webbenifits\";\r\nimport Solution from \"./views/Solution\";\r\nimport Benifits from \"./views/Benifits\";\r\nimport Simpleslider from \"./views/Simpleslider\";\r\nimport ManagmentSlider from \"./views/ManagmentSlider\";\r\nimport Webblog from \"./views/Webblog\";\r\nimport Webadslider from \"./views/Webadslider\";\r\nimport LogoSlider from \"./views/LogoSlider\";\r\nimport BookDemo from \"./views/BookDemo\";\r\nimport Whatsapp from \"./views/Whatsapp\";\r\nimport Home from \"./views/TestHome\";\r\nimport PatientManagment from \"./views/PatientManagment\";\r\nimport HospitalManagment from \"./views/HospitalManagment\";\r\nimport DoctorManagment from \"./views/DoctorManagment\";\r\nimport WebdoctorSlider from \"./views/WebdoctorSlider\";\r\nimport ListOfService from \"./views/ListOfService\";\r\nimport Footerweb from \"./views/Footerweb\";\r\nimport Headerweb from \"./views/Headerweb\";\r\nimport PurchaseRegister from \"./views/PurchaseRegister\";\r\nimport ViewPurchaseEntryVoucher from \"./views/ViewPurchaseEntryVoucher\";\r\nimport PurchaseReport from \"./views/PurchaseReport\";\r\nimport { WhatsApp } from \"@material-ui/icons\";\r\nimport Percentage from \"./views/Percentage\";\r\nimport HospitalSearch from \"./views/HospitalSearch\";\r\nimport Slideklinicq from \"./views/Slideklinicq\";\r\n\r\nimport CustomerList from \"./views/CustomerList\";\r\nimport SaleEntryVoucher from \"./views/SaleEntryVoucher\";\r\nimport SaleEntryVoucherForBusiness from \"./views/SaleEntryVoucherForBusiness\";\r\nimport SaleRegister from \"./views/SaleRegister\";\r\nimport ViewSaleEntryVoucher from \"./views/ViewSaleEntryVoucher\";\r\nimport StockandSalesReport from \"./views/StockandSaleReport\";\r\nimport BatchwiseStockReport from \"./views/BatchwiseStockReport\";\r\nimport OpeningStockUpload from \"./views/OpeningStockUpload\";\r\nimport ViewSaleEntryVoucherb2b from \"./views/ViewSaleEntryVoucherb2b\";\r\nimport SaleNvoiceb2b from \"./components/SaleNvoiceb2b\";\r\nimport PurchaseReturnVoucher from \"./views/PurchaseReturnVoucher\";\r\nimport PurchaseReturnInvoice from \"./views/PurchaseReturnInvoice\";\r\nimport SaleReturnVoucher from \"./views/SaleReturnVoucher\";\r\nimport SaleReturnVoucherForBusiness from \"./views/SaleReturnVoucherForBusiness\";\r\nimport Creditnoteinvoice from \"./views/Creditnoteinvoice\";\r\nimport CreditNoteRegister from \"./views/CreditNoteRegister\";\r\nimport ViewSaleReturnVoucher from \"./views/ViewSaleReturnVoucher\";\r\nimport ViewSaleReturnVoucherb2b from \"./views/ViewSaleReturnVoucherb2b\";\r\nimport DebitNoteRegister from \"./views/DebitNoteRegister\";\r\nimport ViewPurchaseReturnVoucher from \"./views/ViewPurchaseReturnVoucher\";\r\nimport QRScanner from \"./views/QrReader\";\r\nimport ExpiryBreakageDNVoucher from \"./views/ExpiryBreakageDNVoucher\";\r\nimport ExpiryBreakageReturnInvoice from \"./views/ExpiryBreakageReturnInvoice\";\r\n\r\nconst Routes = ({ users = [], Errors = [] }) => {\r\n return (\r\n
    \r\n \r\n {/* {(Errors) ? : null} */}\r\n \r\n {/* */}\r\n {/* */}\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n\r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n */}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Website */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n{/* Website */}\r\n \r\n \r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default Routes;\r\n","import { ADD_APP_DATA } from '../constants/appdata.json';\r\n\r\nexport const addAppdata = (appdata) =>\r\n ({\r\n type: ADD_APP_DATA,\r\n payload: appdata\r\n });\r\n\r\n// export const clearError = index =>\r\n// ({\r\n// type: CLEAR_ERROR,\r\n// payload: index\r\n// });\r\n","import { ADD_APP_DATA } from '../constants/appdata';\r\nexport const AppData = (state = [], action) => {\r\n switch (action.type) {\r\n case ADD_APP_DATA:\r\n return [\r\n action.payload\r\n ];\r\n\r\n default:\r\n return state\r\n }\r\n};\r\nexport default AppData;","const AuthReducer = (state = {}, actions) => {\r\n switch (actions.type) {\r\n case \"SET_LOGIN\":\r\n return {\r\n ...state,\r\n loggedIn: true,\r\n user: actions.payload,\r\n referral_code: \"\",\r\n // message_count:0,\r\n };\r\n case \"SET_LOGOUT\":\r\n return {\r\n ...state,\r\n loggedIn: false,\r\n user: {},\r\n access_token: \"\",\r\n referral_code: \"\",\r\n message_count:0,\r\n };\r\n case \"SET_USERDATA\":\r\n return { ...state, loggedIn: false, user: actions.payload };\r\n case \"SET_ACCESS_TOKEN\":\r\n return {\r\n ...state,\r\n loggedIn: true,\r\n access_token: actions.payload,\r\n referral_code: \"\",\r\n // message_count:0,\r\n };\r\n case \"SET_REFERALDATA\":\r\n return { ...state, referral_code: actions.payload };\r\n case \"SET_MessageCount\":\r\n return { ...state, message_count: actions.payload }; \r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default AuthReducer;\r\n","const SearchReducer = (state = {}, actions) => {\r\n switch (actions.type) {\r\n case \"SET_SEARCH_DATA\":\r\n return { searchData: actions.payload };\r\n case \"SET_BUSINESS_SHORT_DETAIL\":\r\n return { business_short_detail : actions.payload };\r\n case \"SET_PHARMACY_SHORT_DETAIL\":\r\n return { pharmacy_short_detail : actions.payload };\r\n \r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default SearchReducer;\r\n","const ValidityReducer = (state = {}, actions) => {\r\n switch (actions.type) {\r\n case \"SET_VALIDITY\":\r\n return { validity: actions.payload };\r\n /* case \"SET_ADD_DOCTOR_VALIDITY\":\r\n return { adddoctorvalidity: actions.payload }; */\r\n \r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default ValidityReducer;\r\n","import { combineReducers } from \"redux\";\r\n\r\nimport { Errors } from \"./ErrosReducer\";\r\nimport { users } from \"./UserReducer\";\r\nimport { AppData } from \"./AppDataReducer\";\r\nimport AuthReducer from \"./AuthReducer\";\r\nimport SearchReducer from \"./SearchReducer\";\r\nimport ValidityReducer from \"./ValidityReducer\";\r\n\r\nexport const Reducers = combineReducers({\r\n Errors,\r\n users,\r\n AppData,\r\n AuthReducer,\r\n SearchReducer,\r\n ValidityReducer\r\n});\r\n","import {ADD_ERROR,CLEAR_ERROR,CLEAN_ALL_ERRORS} from '../constants/errors';\r\n\r\nexport const Errors = (state = [], action) => {\r\n switch(action.type) {\r\n case ADD_ERROR :\r\n return [\r\n ...state,\r\n action.payload\r\n ];\r\n case CLEAR_ERROR:\r\n return state.filter((message, i) => i !== action.payload);\r\n case CLEAN_ALL_ERRORS:\r\n return [];\r\n default:\r\n return state\r\n }\r\n};\r\n","import { ADD_USER_DETAILS } from '../constants/users';\r\n\r\nexport const users = (state = [], action) => {\r\n switch (action.type) {\r\n case ADD_USER_DETAILS:\r\n return [\r\n ...state,\r\n action.payload\r\n ];\r\n // case DELETE_PRODUCT:\r\n // return state.filter(product => product.id !== action.payload.id);\r\n // case EDIT_PRODUCT:\r\n // return state.map(product => product.id === action.payload.id ? action.payload : product);\r\n // case CHANGE_PRODUCTS:\r\n // return action.payload;\r\n default:\r\n return state\r\n }\r\n};\r\n","import { createStore, applyMiddleware } from \"redux\";\r\nimport thunk from \"redux-thunk\";\r\nimport { Reducers } from \"./reducers\";\r\n\r\nconst consoleMessages = (store) => (next) => (action) => {\r\n console.groupCollapsed(`dispatching action => ${action.type}`);\r\n const result = next(action);\r\n const statusNow = store.getState();\r\n console.log(`the state now is ${JSON.stringify(statusNow, null, 2)}`);\r\n console.groupEnd();\r\n return result;\r\n};\r\nexport default (initialState = {}) => {\r\n return applyMiddleware(thunk, consoleMessages)(createStore)(\r\n Reducers,\r\n initialState,\r\n window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()\r\n );\r\n};\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"./index.css\";\r\nimport App from \"./App\";\r\n// import * as serviceWorker from \"./serviceWorker\";\r\nimport { Provider } from \"react-redux\";\r\nimport { addError } from \"./actions/errors\";\r\nimport { addAppdata } from \"./actions/appdata\";\r\nimport StoreFactory from \"./store\";\r\nimport sampleData from \"./config/InitialState.json\";\r\nimport axios from \"axios\";\r\nimport { AppDataurl, meData, checkvalidity,checkadddoctorvalidity,getReadCount } from \"./config/url.json\";\r\nimport { CONFIG } from \"./config/data\";\r\nimport jwt from \"jsonwebtoken\";\r\n\r\nconst initialState = localStorage[\"redux-store\"]\r\n ? JSON.parse(localStorage[\"redux-store\"])\r\n : sampleData;\r\nconst store = StoreFactory(initialState);\r\n\r\nconst saveState = () => {\r\n localStorage[\"redux-store\"] = JSON.stringify(store.getState());\r\n};\r\nconst handleError = (error) => {\r\n store.dispatch(addError(error.message));\r\n};\r\n\r\nconst render = () => {\r\n ReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n );\r\n};\r\n\r\nlet token = localStorage.getItem(\"token\")\r\n\r\nconst jwt_secret =\r\n \"bIZ6frdgw6xjfQjtgtrgowpxDlE3NS1XqaGc3hlvih7FWUqSE2bN24ptsI8Qqxr9\";\r\n// verify a token symmetric\r\nif (token) {\r\n jwt.verify(token, jwt_secret, (err, decoded) => {\r\n if (err) {\r\n localStorage.removeItem(\"token\");\r\n token = null;\r\n } else {\r\n // if (decoded.iss !== LaravelUrl + \"/login\") {\r\n // localStorage.removeItem(\"token\");\r\n // token = null;\r\n // }\r\n }\r\n });\r\n}\r\naxios.interceptors.request.use(function (config) {\r\n // Do something before request is sent\r\n\r\n console.log('hi')\r\n return config;\r\n}, function (error) {\r\n // Do something with request error\r\n return Promise.reject(error);\r\n});\r\nlet state = store.getState();\r\nlet access_token = state.AuthReducer.access_token;\r\nconsole.log(state.AuthReducer);\r\nlet user = state.AuthReducer.user;\r\n\r\n\r\nif (state.AuthReducer.loggedIn) {\r\n let user_id = user.id;\r\n let url = AppDataurl + \"?user_id=\" + user_id;\r\n axios.get(url, CONFIG).then((res) => {\r\n store.dispatch(addAppdata(res.data));\r\n });\r\n // clear search filter from redux history if move to other pages\r\n if(window.location.pathname !== \"/search\"){\r\n const searchData= {\r\n category: \"\",\r\n business_name: \"\",\r\n doctor_name: \"\",\r\n facility: \"\",\r\n speciality: \"\",\r\n city: \"\",\r\n zip_code: \"\",\r\n gender: \"\",\r\n distance: \"5\",\r\n distance_type: \"KM\",\r\n reviews: \"\",\r\n visit_type: \"oncall\",\r\n };\r\n // store.dispatch(addAppdata(searchData));\r\n store.dispatch({ type: \"SET_SEARCH_DATA\", payload: searchData});\r\n }\r\n if (window.location.pathname === \"/dashboard\" || window.location.pathname === \"/queuelist\" || window.location.pathname === \"/patient-checkin\"\r\n || window.location.pathname === \"/queue_assignment\" || window.location.pathname === \"/shift_planner\" || window.location.pathname === \"/client-profile\"\r\n || window.location.pathname === \"/clients\" || window.location.pathname === \"/businessuser-list\" || window.location.pathname === \"/facilitylist\" || \r\n window.location.pathname === \"/drugs\" || window.location.pathname === \"/medicinesupplies\" || window.location.pathname === \"/pharmacyList\" || window.location.pathname === \"/labList\" || \r\n window.location.pathname === \"/disease\" || window.location.pathname === \"/symptom\"||window.location.pathname===\"/expirybreakagednvoucher\") {\r\n\r\n\r\n\r\n\r\n console.log(user.id)\r\n console.log(user.user_type)\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${access_token}`;\r\n axios\r\n .post(checkvalidity, { user_id: user.id, user_type: user.user_type }, CONFIG)\r\n .then((resp) => {\r\n\r\n\r\n store.dispatch({ type: \"SET_VALIDITY\", payload: resp.data.validity })\r\n\r\n\r\n //this.props.setValidity(resp.data.validity);\r\n })\r\n .catch((e) => { });\r\n }\r\n/* \r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${access_token}`;\r\n axios\r\n .post(checkadddoctorvalidity, { user_id: user.id, user_type: user.user_type }, CONFIG)\r\n .then((resp) => {\r\n\r\n\r\n store.dispatch({ type: \"SET_ADD_DOCTOR_VALIDITY\", payload: resp.data.validity })\r\n \r\n })\r\n .catch((e) => { });\r\n */\r\n\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${access_token}`;\r\n axios\r\n .post(checkvalidity, { user_id: user.id, user_type: user.user_type }, CONFIG)\r\n .then((resp) => {\r\n\r\n\r\n store.dispatch({ type: \"SET_VALIDITY\", payload: resp.data.validity })\r\n\r\n\r\n //this.props.setValidity(resp.data.validity);\r\n })\r\n .catch((e) => { });\r\n\r\n\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${access_token}`;\r\n axios\r\n .post(getReadCount, { message_to: user.id }, CONFIG)\r\n .then((resp) => {\r\n \r\n console.log(resp.data.data);\r\n store.dispatch({ type: \"SET_MessageCount\", payload: resp.data.data })\r\n \r\n \r\n //this.props.setValidity(resp.data.validity);\r\n })\r\n .catch((e) => { });\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\naxios.interceptors.response.use(\r\n res => {\r\n if (\r\n res &&\r\n res.data !== \"undefined\" && (\r\n res.data.message === \"Token is Expired\" || res.data.message === \"Unauthorized\" || res.data.message === 'Token is Invalid'\r\n //|| res.data.message === \"Authorization Token not found\"\r\n )\r\n ) {\r\n localStorage.removeItem(\"token\");\r\n store.dispatch({ type: \"SET_LOGOUT\" });\r\n // alert(\"Your session is expired, please login again\");\r\n window.location.replace(\"/\");\r\n } else {\r\n return res;\r\n }\r\n },\r\n err => {\r\n if (err === 401) {\r\n console.log(err);\r\n localStorage.removeItem(\"token\");\r\n store.dispatch({ type: \"SET_LOGOUT\" });\r\n // alert(\"Your session is expired, please login again\");\r\n window.location.replace(\"/\");\r\n }\r\n }\r\n);\r\n\r\ntoken = localStorage.getItem(\"token\")\r\nconsole.log(access_token)\r\n\r\nconsole.log('token')\r\nif (token) {\r\n\r\n //axios.defaults.headers.common[\"Authorization\"] = `Bearer ${token}`;\r\n axios\r\n .post(meData, \"\", {\r\n headers: {\r\n Authorization: `Bearer ${access_token}`,\r\n },\r\n })\r\n .then((res) => {\r\n store.dispatch({ type: \"SET_LOGIN\", payload: res.data });\r\n\r\n\r\n localStorage.setItem('token', access_token);\r\n\r\n render()\r\n\r\n })\r\n .catch((err) => {\r\n localStorage.removeItem(\"token\");\r\n token = null;\r\n window.location.replace(\"/\");\r\n // this.props.history.push(\"/signup\");\r\n });\r\n\r\n // axios.defaults.headers.get[\"application_id\"] =\r\n // \"c86ae3f5-3a96-49f2-af05-94746357d0ec\";\r\n axios.defaults.headers.get[\"Content-Type\"] = \"application/json\";\r\n\r\n axios.get(AppDataurl, \"\", CONFIG).then((res) => {\r\n store.dispatch(addAppdata(res.data));\r\n });\r\n} else {\r\n // axios.defaults.headers.get[\"application_id\"] =\r\n // \"c86ae3f5-3a96-49f2-af05-94746357d0ec\";\r\n axios.defaults.headers.get[\"Content-Type\"] = \"application/json\";\r\n axios.get(AppDataurl, \"\", CONFIG).then((res) => {\r\n store.dispatch(addAppdata(res.data));\r\n });\r\n render();\r\n}\r\n\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nwindow.addEventListener(\"error\", handleError);\r\nwindow.addEventListener(\"options\", handleError);\r\nstore.subscribe(saveState);\r\nwindow.React = React;\r\nwindow.store = store;\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n","import {ADD_ERROR, CLEAR_ERROR} from '../constants/errors.json';\r\n\r\nexport const addError = (message) =>\r\n ({\r\n type: ADD_ERROR,\r\n payload: message\r\n });\r\n\r\nexport const clearError = index =>\r\n ({\r\n type: CLEAR_ERROR,\r\n payload: index\r\n });\r\n","module.exports = __webpack_public_path__ + \"static/media/support.c1793810.png\";","module.exports = __webpack_public_path__ + \"static/media/bmi_icon.1e290fa7.png\";","module.exports = __webpack_public_path__ + \"static/media/phone.24259cca.png\";","module.exports = __webpack_public_path__ + \"static/media/product1.7d782330.png\";","module.exports = __webpack_public_path__ + \"static/media/product2.f0f7d187.png\";","module.exports = __webpack_public_path__ + \"static/media/product3.106c08d6.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/profile3.e1ae3318.png\";","module.exports = __webpack_public_path__ + \"static/media/logo.e9d5ee09.jpg\";","module.exports = __webpack_public_path__ + \"static/media/profile-strength.017b9a94.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABiSURBVHgB7dLBCQAhDATAPK6AK+FKs7OzQ+0gKuQh4oqsfgQX8pDgsI+I3JwRVf10Ir2/DzBjHg92TnYll/qtXEANGczb8GCN2ZsHW2wJ7GE0iDAKHGEs6BBm+7ccv9yckQRZD7ZmeXeVFQAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/feature-2.b041a75c.png\";","module.exports = __webpack_public_path__ + \"static/media/feature-6.90a65f21.png\";","module.exports = __webpack_public_path__ + \"static/media/219.44516440.png\";","module.exports = __webpack_public_path__ + \"static/media/Group8.44a7fbcb.png\";","module.exports = __webpack_public_path__ + \"static/media/user1.4cd6ed6e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/map-pin.9fc777d8.png\";","module.exports = __webpack_public_path__ + \"static/media/Benifits4.b4dc861b.png\";","module.exports = __webpack_public_path__ + \"static/media/Benifits2.4b5e54a5.png\";","module.exports = __webpack_public_path__ + \"static/media/Benifits3.e568f301.png\";","module.exports = __webpack_public_path__ + \"static/media/Benifits6.292a7237.png\";","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 424;","module.exports = __webpack_public_path__ + \"static/media/product5.85c85f78.png\";","module.exports = __webpack_public_path__ + \"static/media/patient8.5d229d7b.png\";","module.exports = __webpack_public_path__ + \"static/media/profile1.6b8e8c7b.webp\";","module.exports = __webpack_public_path__ + \"static/media/hospital.7cd24d02.png\";","module.exports = __webpack_public_path__ + \"static/media/user.c184d9b1.png\";","module.exports = __webpack_public_path__ + \"static/media/Benifits1.46ba3847.png\";","module.exports = __webpack_public_path__ + \"static/media/Benifits7.a84fd26d.png\";","module.exports = __webpack_public_path__ + \"static/media/doctor6.d503a3ef.png\";","module.exports = __webpack_public_path__ + \"static/media/doctor3.01b78d44.png\";","module.exports = __webpack_public_path__ + \"static/media/rest3.cb5d41cd.png\";","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 649;","module.exports = __webpack_public_path__ + \"static/media/ProductFeature1.ac29c21e.png\";","module.exports = __webpack_public_path__ + \"static/media/ProductFeature2.97d5fe01.png\";","module.exports = __webpack_public_path__ + \"static/media/ProductFeature3.09e8e072.png\";","module.exports = __webpack_public_path__ + \"static/media/ProductFeature4.230ba2c3.png\";","module.exports = __webpack_public_path__ + \"static/media/ProductFeature5.f520aff8.png\";","module.exports = __webpack_public_path__ + \"static/media/ProductFeature8.42a75ce4.png\";","module.exports = __webpack_public_path__ + \"static/media/ProductFeature10.76f0b756.png\";","module.exports = __webpack_public_path__ + \"static/media/ProductFeature12.906dcdf1.png\";","module.exports = __webpack_public_path__ + \"static/media/feature-3.18a8c265.png\";","module.exports = __webpack_public_path__ + \"static/media/feature-4.51cc6ab7.png\";","module.exports = __webpack_public_path__ + \"static/media/feature-5.0687e09b.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAwCAYAAACScGMWAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDI0LTAxLTIzVDE3OjQwOjQ0KzA1OjMwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNC0wMS0yM1QxNzo0MTowOSswNTozMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNC0wMS0yM1QxNzo0MTowOSswNTozMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDplY2I4NjBlMC1iZWM1LTQyNGEtOTcyOS0zMTZmYjQyYjg1NTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ZWNiODYwZTAtYmVjNS00MjRhLTk3MjktMzE2ZmI0MmI4NTUzIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ZWNiODYwZTAtYmVjNS00MjRhLTk3MjktMzE2ZmI0MmI4NTUzIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplY2I4NjBlMC1iZWM1LTQyNGEtOTcyOS0zMTZmYjQyYjg1NTMiIHN0RXZ0OndoZW49IjIwMjQtMDEtMjNUMTc6NDA6NDQrMDU6MzAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4tUHKPAAAC2klEQVRYhc2Z0bUaIRCGP3PyHlKBpIK7HWTTgR3EDq4dmA5iKtAOvLcCTQWaCjQVaAfkAcjiBtiBq8b/HI6KM8MPMzCz7MgYw6Pi3f8mkMMo0a+AZ6Bx3/fAD+D4xvF0YBdv1xgjtvsMnAATafM3EPuasGmAuTGGfutjnjHgW1tBTAvsLnPkpgIDBnipILcQ2p7FyGngIDSwqyC3Fto2gPbk/G5tHUEJfleQK9GZ9Ts2FMysgpwmvcn67dR366CCm0BbQSwkuEIWPmNPTgmED07uGpCQa3zMSQbV2FVbY3d1KabYjdQgCwsF5elLAUs3kBLqLF2Tyl9AI98IoUs2AtvfIzYkG6Mt2RDLYCIhwWmG2DSQO2HDQiHLQuOQnCRIjTMczj63eutAryGfs7NHyUJIzrgV+Bb8VglynsgSeegY4CWWvqTK0578OEJM9SbTlky+n76O2HpNAuXkz+73xwH5PfKdujLGbJN/MhAPdOeUd1tq4PB/xXBc7wCVq+fgMp7CdqCrYFXQl8KGS7frDMFFrNh8nyC3AibAE7ai2Lrm4UmGfX38xMbaF2fvCHyii0Hl+vY5V9ZggZ3xJCPTcnlGRhFbsZxbJdiRd2kod6olV/NoqLFu3QpkX7HuayvGqcKM7vwagnKyi5TAtd0qdanHhoxrr+lWjXXpa4FOtWtLyfkBXgp0Vu6zKRyrmJwfYFugc8aeZ23hWMXknqi7Lzk63SI89C1TLH3lcObfRN9w+eBydG0b0S1C6cr9oqsyfGW7Az7TEW+xVfCBroxvsKVTEVL3cylobD79gC0QJFhhJ7UlQvDaN6saeVUbVsNRXDu3NnfSqSKnagaqQQ25/Z10qjH0PNAv75O4RbHZFpCb3JscyO6QZ0NGbkUO7C6MufiAMNHfkhzYc28XENtRsKNvTQ5Hxj9E6xLFHLnSxJ/CGZueNG9/BfUXpbk1B+U+zyVKOfeNHvmV5h+v7BDYA9w7kgAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAwCAYAAABNPhkJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAUDSURBVHgB7ZrNbttGEIBnlo4TN4cqKIqiKIoyhwCxfTClNnGQS5QniPsEVZ6gzq03y08Q59Zb7SeI8gRWLmmMFDZ7sQ3kUBVo0QItEB1a58/ayQxl0pRMSVxxhBiBP8DWSlrO7nCHszOzQnDgavBNFY13BwmqiOQTYAmB2pYwRLQb1nrN/fBpCxTxg2rpovmvZsm7Y5CC9JiAEB5au/E8fBbmlYd5OkWKoreCCNURXVsAdnV3+9k6KCDjesY8FCWH9SOCJhHezXOzvVEd5io3WFFcZ2V9GA1PDJc+/fwL+OevPx9DAeJxWd6FUX1lbvy3nGfcoQrPVxbv88sP4AxWP/nsy9a/f//xK4zB7NfXl9j0fgRnsDpKaRw86OL3/Kyuwfi0D+zM5VbYbLtcdDW44RtDm9z0YUwI4N7e9lbm3M2gQQsqK5Q+MgfL4AgaWoICykYyAFZEh6zvMhU+usMK4HfgCHti52syKLGch+LhT8jv/0CcBRS8wyn8rEGHwd42AA0Qgovm/5X+j3sU7poB1UGRGXzzcd6+g8xwXAjMsmxt6c96FNYz5WP2dp78nrdvdx8lJyc3CoPe/Z73cWOucq0GeqbchSh3BBSDEkFpwqY9W1lMnGdqhc0KKGPJPABHCLFQwJKFeO24HSk8odUV02yCI9P21Zq2WTOl+FmOFEYyGltBLwgPxkkkwjBsk/VWQRnJBaLXIAhKb8z5F6AIB/Ph3s5WGQowX17cpNHJihMc+V0yr73pKijCyrZ4L/0WCtLh7EdkgSIzcFDlgAR0NnpIlL2tkROLDJGlqrRBURhvgRI8wVXNAsCR0ndBCwLfgCGn0G+gLE7CeYLr8fv+CMeFK8G1xOpYZpOtsAkKcM68YHiiPijAK7ERtyUeN8bbnKss/na05eVC+s6yszpnzE46WCAuH4ESvC2hygp3oJOKkKh21PB5iJ9GKS6593zl+gvpG5eR0sGC1MpAB9+AElN4Lr21+f0DiTLpVYuRGyG5d0bdKnmv6RfUFE4z6JlLr1pqCtkhbSoOvxLcVNtJjFYYh/j2dtwesoeW0s6M00Fp+/2domuJEu885R36oENbnmEVhTn3THvWFkdal8mae/39jEH/uN3xT0rCVbl2N1VrVosViFpi0irpGJvriUR/L/xZ6mKtvp5+djuitbv9tA4npS+AAuwnZIUhd4I+VBgpZ1speIVVdhI+LXlsrMUGnHI4iVB57Ky1TXMBXoUqjgthrKJ7TlSscD/8pWmi/JPgERSEbL7SDI0V6FgNP7Mu/6J9mMisQ3GaeTplObcUmTdj2r5tFLVCaztReBopXDRA56ONIdWNYcnJ4OgqjVghT9W5PpbMAKAh5iztJNLqRGmY+12UIOGlnakP7jHYhInyZ2pS6xorN+baGj9uSTyQKBytkCWnhDtO+F0PzMah62scCwJSSCTqKUj0xNIS3XSFUo50jBovaaasfeI/DBnrPL0u55mf5OdcJi7v9v06YCpLKL/UOM6tI9o6O5kF3rG7oZ3cXWRBFjf2w60mvAe6zzPUOKFYm8JDzr7wVnJYLxaH8IhNuCF+Kev6qUGCY8XhlPI8fCIrVwNHJpIenmbOFP7QOXUKz5ZvfgUT5GyFNdE+0dfgbIU/dCaqMBcXJh5juzJRhbthYG8GxjHupSGXtF1+BDMOEzdpOc1PMhw+KOfk5PjMiEw9KbhLGgegfvLfzzt4SjIEuqcq3wAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAAwCAYAAACrF9JNAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQzSURBVHgB3Zq/UxNBFMff2+AMYHOFGpOMM6FwBrHwRB3oDKWV+hcY/wLwL0jo7IDKUvgLhE4rYscPJzkKCZ1xRn7MwDihCRSwz/cOwuTIJXe5MOPdfZpk927v7nu3+97bfYtwA4yaz3OIiYJCMgnQQKC6BiyRPl/YsX6UvNqPjb/IE6l3zfZAYAGCpTXO7lhrNegThD55PD4xRwAznW+g53+WNz+4HRs1J7MqQV9YlAkdoeJ2eWMW+iABfeAl8AKcvJdKG4f7e9+uH7mXzlT4Z9Sjfe5OMrN1dLC7AwEJ/CXHzBcmKFXxe77W51OtXffR+MQM33zOZ/N6Qw+N1KxSHQLQ85eU8ZdMp98QJKYRIeu7Iarjo/3dr81iMp35xJX3fbYeHMCzoWQqNWokM6d/D/YOoAcG/J746NnEtCIqimEgeeZe+wDBE0eR0IQe4NtN84uFW0oM1USNjdKUX6Ok/Jw0Nj5ZQIJ52/KFg6xSVHkoQ8YHniLFvIuFg/Bh3FJqNWvmPF+8p0hk/wXhxRhWjRmvk7qKNE3TIIQchBge2y+9zukq8hQGwzIGO+LHwvsyPKGGyNN3dhQpLiOhtG9n/99ANNml/JIQsdMpriJD6DK8EJciQl2NZJtIERhSl+EJC110850OkRefPJoCmwygaouHHSJR0RuIOGxtcxJft9Y5RCqC1xADUCUcXdYhknqZVYQYDuYdkwFnd0UKNF8LH/S7teQQqTVsQQwgzWtELTi7K6lFiDhEUDuB4VJr3ZVImbJwdy1AxJFYlmcm0611tkjxj8PqpIIhn3H4B4sc6n1ulmyR9rIgxMOytpCXxTL5o+yZf9d1z+jCrqQgw1CFfObfL8aQOskr4qV5iDESGPCYjMx0KhDsUrIsMi5RTkeOeUyiBTGGF7qWlSZagHhTUlVrY5mXOkoQS8jOb9rBwDnhe4n5IEYQ0RLnNYvy3xYparnvTvHfZYgBnJBaqFY28s3yVYAuQrfL6285W/Qeokudn3+kWl53pA7cliRrEF0Mt3Rem8hzUFH2m67P3ibyNjRqUQ0QiMDV57eJtCyrHtUAgY3nklu9a5pAXErUvqa4QB6Pi27HXEXag1fTVFSEisBLF+hKx6zWtrVpaa2eilOFm+HYWbyBF2in7XD2hIaedtsk0XX3x2XDPK8BFRG0iQpM0ljndEKh1ymaBMrOMqzwmlKPE3aSa1wsm2qqNeD2cq3ivbcn0GYlznwV+Ya+V/akO1Ur6yOtdfzicpyFWoUeEEcfZK9doEzzdnmt6Duo5y6FpN9er+aHLUlXA99Q4M2EgffWZe7fXTmDRAqx86Yj+YJI9ErGt9vxw/0/pbupB9KbctAFjkU/VMsbHyEgfe+SlG6HqPN8ode8smvIl+MMtcXivzf04Lyf/XCy7svXKNqJmuZLE4uJsMI2YL7f7aD/APvTosxWfZNXAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAwCAYAAABqkJjhAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQASURBVHgB1Zm/UxNBFMff2+BvCxhBRMU5O5XCIAp2ho4O7CjhL0BKK+QvoLUj/AfQ2XE0DuAARwPMUHDMgDgDRZhxQIXs8y3hHBJud28TkOTTJLnd7H333du3b98hGPDSmfrb4mCICDMCKU2A9QiUk4QBopyQMuWvBbMhOKDGvCN+DkhK9ZaOKTA/lZd1k6YxUS/0cIy/DoAV+rSyOD9q6xVNnm/4QYm0dM9KiaNxws8Jft7R2ScIxhMMepaQ8Hh4dWFhMq7xWfp1RojUuNINyQlJ0vBqMF80ZgqKxHYNIWGW53ET3ODHKvqbWh5795pbl/d+bOXONt5/+GSAP/rAjXpE7G9seby/t7M9C6WClWULYisijQh9TS0P93d3vgfRxd2dLZ8nMsHu08Ai0g7jKRfoaWx+xEbYXjv9rR7ZW08Imga3R2YjZD/sLvXDto7OJV7ETqKZ3IG89TQM/JxQv1jsCFysWIUywkbbqzdjyiDRRRbrsjYioiAAeGrdDbhcQpY6wWLfsctkoEzYyg11KMh1MZSDx7YZQYSKuCUOB9i40Au1AkFGEF64714a/IReqkXnQe3gCagxWDDloHbIccKEAdQIRBDwosMZqBEQaUYcSTEJNYKUIivWg68BEvhQ/WRVXnISJfKEg9W++FRCrz5P0kuVvzY2P/nNPtIDVQgBDK8tzX1R34t297b2rmmqIDm5JLIri3OD0Y+ijaPgGtVF5AoRRYKVUxPRBFQP2dIDwLmtmUhkoUqQMn/OeLEZ6otXXSqh9+AK4V0tXF2ae1p6XZf8TMEVw6mkH3ddI1heeX7BNYlYo8UKPpLXrlzwMVAYdz1W8B04iO38P1kPvsUaLVZwEAS5irZqqnib1/7fcOJA55vyyvZV8WRlab6BdyfkuNTOF93di+LdQVEHetSNPEh8D/A5DHWfvbZSeKztrls+GYwl9AJoHxw4Jjmsa+Mt31qOPQuHtFDXJsr5UykqyOsWiYK3V99tTdCmrsXgw3o/imHZ1oEnlXgzIgnayWsFu8RirpnZj1mY/LBLIN192DEW+7YOJBNM6pRfcNfdwoVYbPdj5b9JXsyc9rH2Y3KqDqxrtFV+rI9Rl6TEwZFnxt7HfE+b4E1LuzoRJK5r8JnRt3cyL2CL4ERZmw8JuS6P7H4szZMyClYvDk3tatt1ebGYZF0QiPJdoiDGEPCxrLqcNh4nWcDWcqsp4OuSbON4Zj+2bkD2+rDBiodw2wdHbuT/+Lq2JBuQVfCxxo9VdmaKlzqUH+tqeXnIW13MKlhXLGRrlF2/kCSmzo9nTqAiUpCAew9aZ/69duXTBNeUP3Kt6zOUCdfyZptaWpFFeshxgfPfWTbA+9J31HH8BRqg5AoCXhR2AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAVSSURBVHgBrZm/UxtHFMff7tkOmEaeILAAJ5fCM/woIuRgmDQRnbtA5w74C4K7dECXDqdMJVGmAlehEzQJP2aQ0gBJioiZYJSBQi5iZBv25T2dZM6ydLe7d58ZRnfHarXfvfdrdwXEzEj68QxIMScQ0iDArT9EKKGAsgD14vBgPw8xIiAmhtNfZaV0cnTphjQtA6iVuIQ4EAOjmaklIUSeLhMazamNmEmmBuH87HQbIhJZwGhmYp4G9ByMEdlkauDk/OxlCSIgISIC5RxYI7+BiEQWEA08gYhYCxhOT7n8qSIMAhXUzWckM7kIllgLEA7mvAthbcOXcHeLJiJLoXDJTWd1AsBHWAlgx6U4nx0Z//pzVGLjowaIVfpjYXm62aC2W/VnH5Ivl7aqUiL7UKJbXs6DBVZ5YGx8skCJKUuDo3i+t1y/B0yjEGss6Li0s9Xue/XZFmqeQu6cUuILfkYC/uZPJJFHxd1pMMRYANt+80eJ6uHB7r3R9ERagVOlgZd1+mBz4dnn/EFDX24+R3Tco+KvRj5lnAf6BlIznIgat10cyw+L+5sXlX+qun1UK+UaT4QQyPnjxvYFnlycne6AARY+IL9tuV8CC6QEtn3X/4zM4UswxFgAzZrb8sg1DYNeCL4xHR9ZMMRYAKJItz4zDYPkQ53emguGGAloJq82JHrkf1qm5NVOMN/p/xyawQAjAdcgO84yglzkkhoC8N5SsM9c4bt7YICRAAdUYKTh9UCQKfXISx68CzFiJMCL8xgkwu1kSmw6CBDo7JTMyn+V9o1KE5sw+mPQf9mU6stKH57vhIdbIajkMB0NGHJH1Z6HvAUQUuT8Dt+IOi6EQOXFChhiLKBUKlXD3gKRkALX+aIR82cgFFzRLUX8WFWj/BbYXgMbCUiPZSZWeVConMCZ5b6UknmwwGpNXKlUasn7gydUVT4NbimmPu1/UCYRPyVTQxwep9q1ouT4rFMFG0akbZWbsjqQ6julpjm6dGifp4p2ASyJtCa+RrEQ5tBE4raU6+wLt/HNrN/0PNMxd1w/kQR49g06s8elc44DAJnLdFM0XVs5rp/I+0IXldPjIPtuQjHe7UsNJI6Kez/39g/+Qf5ToxVYpNlnYtmZG+xP7lzBrac0yJCKVEz1poZekYh8T//DbV7YQERi2xvlZSVt6haoy9CyGhXOHpX2NiAGYtnY4ir0kKJMWLxvwpn6IQuOgcgmNPLo8YwU8hedeO+jyxHiCX3nhclauh2RTIhDoyNVET2zqVJIHO+CWvWtuFMgr9WZ4fJr1T3OOxRgSaStRSrSCnhj8wm+r5IfK5SzoaWGh9stLtchAtYCpFMv1lxoHZC8zNXzQz3JhUORKzuamcyBJVY+MJaZXKWPthUm2eQwH15QjF/r7f/sFSWwJxBO2vbAw1iAt5sG3we3EllDpwbvwMNchJGAkUeT39EM/6DZPEFZeo0GtNl3fyj7/sAvEE84RabfQRNtH+BERbvMWkdJ7MB+H2gt4gIHJDFvkiO0BNT3MetZVgPaRueCzV+ktRZxYVD1WtAVoSXAcdQ6apQIzBU6C+0qTH5Gq65Z0CNxS8hVnYZaAq6vQ9fADXDlz9JvHWscXnWhks9ApycUazrttJyYnKoU7ojeYQeE97WTTD3gCiAb0CyvW2prO3Hw6gs3dAbf5PBgZxkR286w6SpNW0Cn3QX+wdfqrvGa9hN8u9g4R2vpz2yVZlzM+RfmjXA5bbssbJzSFETDNG3OyYxrofem1CZcmsLfFahmff0Zv0njUoLrd6px3pD07ePi7iZE5LzyskLZ91/qb9emv/8BCKJrCbXZiFUAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/242.a3af02eb.jpg\";","module.exports = __webpack_public_path__ + \"static/media/243.bbb7ee97.jpg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAYXSURBVHgB3VpdUuNGEO6RTZzwEt9gvVVZy5WXkBMgTrDeh1Rh8WBzAsgJsE/g7AkwD4upygPeE6CcIDylgGwV2hPET6whoEl3jyRLlmSPZGOSfFVexqOR3D3TP1+3FuA/DgF58d2uBaXSFngPDvz56yW8MPQUqDWr8NXmAQhp4S1WOC/hEj/voeQ5cHXmwgsgWwESemOzCYZsT4WWDgjhotAdHL8HMH7Av9NrnjiBv+9G4I7GsCYkFWjs1sAzjlDQJgpVxRkXV50AeAPeZXW9A0bkO+B3yYriWIxxPMLrvXWcSlKBut3F2SPeYYGCXJ05oIsG+gcIVEa08ZR6cHPahWdGOfPK9fAwMWfu9VGxyLz3Ea7PmuFXpawDpt2GNcGAfNhCBVzeXTItEN/CCyOvAgRXmQY6878A5YUrYmYj6R9nehGjk2lLNZ4xpzVhsQKh2WCI5DvEiP9KD8Oo+I3HAtq5zalhd8CDWp5bwsgXQVIBA1ze6Nf2K7g9/ezPuomIcjMkRZQy5t62fzoqDNNQyPm5QMJxbh7gscV3ISZucpXLfzbkj9M531T4sxsI3Q/nwmSGePR3VcjFNIOCwfWpyBxHPxlInsDk60uoPGAyAgtoh7NNJd20ykabT2AyWZ4nUU4ymKY4oK2AOxjj7l7i2VAsP8w0FX91wrRYcXToVdAJSqjKbJysJelhVDxRnK/CG3S05EUrYTYBGrwefUAMQFfAIIrpjFOQHoXoyMw9B4lcH0ndlJxFzYnv9s2GhWfnPWKGqk5tgfDePlMO2hCVGDPWye1wDUUhbXxvb6Hmf4HZutBab9rnvFNM7jRBNj5nd3XWZGfiP07RCWWPta/bx+E8FTRKUCvyI3Sd2OvP664LFkfiBu5AYBqG947DZMm4QBPYAXJiKY5ZSYFHfKXJPmkTDMOKmUemhJE1Aqm6eBpFN0kvlTR2kSIbff+bA2q30c5RCIpKwqOdHyx8DhVJlW/OY1VdEUjZQT/j8K2fC9m2RVc5XvgkB3doX9tsGmhqVM2RA+sonCaDZ5yj1DW4v3tdLFTTQ8zWIbz5aQvygoJC1J+KoNapKgbQYoKpQ+biULv9CxQDlaifYRlworXx8AU9q4ACuuCmwAbmhlIVPsWowCt24hXheRSo29QUOPSbAmQ6xHAHPBboAyVsAqwIq1eAbJyElHKACnzEbD7mQp8CAEFIjB50bQlII0yuq1UgEF4wHe5GrlChTxHjAHtHSACHTuYzyLzKmF/mRTbyAR9FauJ0RIVPS2jC03N8SpKevomtRoF5wpMzPyOWVyAQnoqbyV18l+utNlQ2b1XOMKzMZwT8apZCaxDJ5RQIhaeCR9SwAXwR7ni91cRINEBndjGcAvOpLJRB9ZpCToQZnsaePFkkQnEnnjUb4ktgHPtK7GD0wc411gtl0YMnOFeVXAZzUQ7b5bGJIVhizaHZlix2Amk2T9yGOI7AWpmUmEzGTPIC4YXc0Xu4wELKbyxoIP8JUNkoMxyWlGjsQngSkqiDLzztciT8ZeL6g6aiCvkV8AS+6KBOwbAbmyeHBVFDpXrofFW0/z47diB8AOpsmK1tWBHym5CQW2yjUZDw5LAgmz7tPkgVniH9n13mM0XyBIJ3YFLOi99v0Q8iSmGGlei0ZbEPT+IiZjazoD7SzYcuLINIjTxVIFYtyfmlDjkqN7aic0hvWXhvnCn8M2CqQGWTCg1V21JCmq12gjc3aW0+6mA8Uq9TUmtlH7vULqwJSgHFz/2uwjB/sUIdjFpnB1uSt2xOQScvDVSk02YUQUqbUSlAHQLC/ZcBFIWqlDBzigWvl7iDYUERpLQZlQLcCp+xjGjV9GmmuUqRJuhCJ6nvHOfHJEXB4eFup3Dv1LQP1EB1vwMFKO0DJh8qlLs8VzKiRCquHdHdks9tPOYvXZ8DvWUekyk/9VzxuZXN39GMFvKc5P2SOuOHHPH89qVSIOiFCokssDVmU1KNq3SoHqWjHoonoBpV1DfCtsfju8z76HfqLbwujtSr3NwajDnI3H8J/XS6s9SuqDz4LcJCGGs3uFaItDf1FpqIBXlAr6Um6/0vBv8b/AMNx6vgmMoKGAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/footerlogo.c8dd907d.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAI+SURBVHgB3VXBbtNAEH3juCiVejAS95qbC5fwBTh/QG4oRCL9AuALknwB+QNSKURIHCq+gPQLKEKilnrAvSFxIAeqWqrjYXa9Tu06cdrc2idtNtrZfW9ndmYM3HVQacV94Vj1nTcM+GJ2AXbXUISyJ2QkB0AyRfApXC3wpN2gpHa4nnS1GM/nLZxOjssC3kuXsPVVkcvtp7IyAOLw+o1KkHOALWfRQ+p1yFHtGcLRTJntq52WvyAPxk3cGLYroXE5etCieqy891GP34qhXxAgWK/N3wFuAQJ9kMu5vH3pMNNAPPFlPOdMPrfVFXWZkl8lFq/j6xAQNcDsyMpUP2owGcl8REQOYp6iNp+llIqrJGAe9mRylue2vE6PjbtCni2LoOWT19lNgnGXi5dBPkksVMFrdzNymQcc/XuoB/M7s9ZX3lVR2FXG7F2YhPDk4zBnGrLXcVTY1DBZtxTVHui0E1xsjUqWyB6aWzSqCKoFCDOsA8PBxgKMtCLTvC4e3I7T8FWER8Gu5keW1z3eezXDxflIk6texSazdA9ajWoPgvGUTeER03uq7/xVI59ZqhZuKKC6omCvvXtNpC/FtL8IhbwL60JDU9kKe3VfQuHt8oUWyo8Lth7LfFYU0bccFQpqKVRf0vV4XPJADh+l4rorboTFWeIvuTUDt+tQ/fKb6SMm9pu0a/XxmTezc0s+OHSYb1a3g5Bb3MLPqw9OrWD/8+M3Hj1V7n0XEUc3Y1QXEqfJoQgPEJ3v4/RziHuF/4HS4OlIjVdMAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADYSURBVHgB7VS7EYJAEH174oyBASUQUoYlaGZAYAeWgHRgEThjF54dmEloCTSg66kziAjHMmDgzL3sPu9zuzsH/Duo0+1g7qvJdM2gFcDBS4Fyxi3Bebeto3iQIlwGhPGBn8L83mf2jYvfRFMQQmEUF6k7QPwChppVkp/Ma44glZuV7m1QTc90XSDbX9pY4hJ9QSDez0AI+5iG0aZ0MS4fmW4kpaVGluo6Ca/FPZacsaXJw5SoIf0gBrb0D3gt5KLOlh5om4b4L6Iw4g+DLBVxfz6mzsAZOAB3KUg4G4pXlWIAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHTSURBVHgB7VQ9TuNAFP7eOEUKCu9qi+3WzUrJCml9hKTcaqEFF3ACuAHhBMAJCBKKKMMJQk6ABUhEopl0SFC4AGQkmMez+bEd25iQlq+wPW/e+77xzJsP+EIFCJ+Fs2CjPufG3+GND90PqgWiopLENFTTW2NQB8z2C40mcNeENzuqPrdmgCFG+0dZgd9LLtXUgB9MGxc9v5S84W0w0ClVZ/b5/rYNiLbuBir5F+WAYZOljtFcXi8sdlbsd8mfiSBbtx6RxwtKlI1+S2HaoqZ3jIbXytTWH1xUgAmHsj2dlFxKu+EN5NXKlsj+sukbpiEs/CLGNt4VMA7Oe+O8wJ8lF0bZcli7EnbwSXBY+/a6PRFqbzMxOQazdK6UBmnyCMkZxG3FGjOADQ8nYyqToHhxJhHi/mTIyoyuTi/xfX5MpH7KyMFUkIWNequTUZXLU1bUii1MCQZvFsXzAmEtasMjTMXOvqy+WzRl5SKBH+L6ZA8/5seiLh1BFZeLNdPjP1yfFXqYKqyJTI/IZlILqCLHYxujA12WkTS9+I9i/BWXdITcTZyyhBrYFJvernLf7K2KvYdXiOh/ZHx5UtLy3PsIcbFAGi/WEX8rE+DuTn+U9AtT4QlE46/suLwxygAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFQSURBVHgB7ZQxTsNAEEX/2EFKQeGCHtNZosgVkhtQIkQBJRUcIZwAuAFIgGgpqWgpg0Th0vQULpFI/Jm1IXawk12LSGnyJMva9cz/u96dAdasGpkZRfuhR/+UkFBHIUSC4gPD5mxJQejDVJVSIUeZTK4QPyR1AxUXbDzPFXNfc0J8DX5NvHK+c/Z/cYNq0GgVTA2E6GFplAstd0AElqQEjoh4vbqBp4e6SD6+2yGy4zZGswbWHSjx/TUxGRA4XxzY9ItcMbcjvh0SY90Rb2zh7Q0qCGTbFtNBW8K9wOtuajFi6BJeMZDEWgfRwZGIf0HScl5Gq2ZgSYkOtcrR17bgEKyt44fKLeLIktaHIzT96a8BPbxjWRCvNQNwfNm2iOaoJxCjVeBP5z/eUmztPqq73j75zNuwvqXot91Gqfww85ad6FJfwOwJkp1U2/Wa1fMNwRdyW2fWAj0AAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/apple.b865c3a7.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMUSURBVHgBtZZbSFRRFED3uY9xxtHMR0iBzqggRETRv5h+RUWk9pP2IRFlGNRHPwWhQ0RUHxaUREINJlF9pCk++vAZSZEEYYaV5SQFQ76GHHMe95zdudrooPO4c2daMIdhz95nnX1n38sl8I9Dz8tLGGM2/rUIAKcIAbtCxabuimc/4D8gqov1jrsakLWak8YtK2GSxj/FIsHywspC7+fHn0YgwRB1yWt0T/IurVnmDn/2pqdyiCQHo+xS55H2FkgQJK/JnQ1+dAYC6cmDdGvafSTApI3ZZIxS5UR3RcdriBOSd3veAoLkCA6a5G+KJeO6IAqLQqgiBLBTAFtPWZsDdBJSrGKUpyBncwMYpJkI1XhXQXJNzwGEcD94/LngmLuIProlbDEgqeHT+fJA6+HT/DIQiIGwHQeQxRmwZl5BgzgTcWN1ACkDW1dFmx0SIQ7IczMa0ChNaegKJ5Hhuc6K9vZIWQJowE+zwDF7AT0+C4ueTfKqzF/bcMjYgv1GK8QjVqEsRZicrWOupSKMlFdp+oJHTRMEEKtA4N0PGR6EOoBmsQoDWfrpOklm3fv8EaXBIKnmB3iFg4Z6HAaTLnEA50KVPL1QFl26xjb+F9SBP+kj9hotusUqv9zlEJBHkQZjBRntcYkD8oMTmV6N0hUQ9sYtrh2z47Ge0SRvaw4DjK1Wt1iV1ow/XO5UGc0QlpoKKVuUlKiFBDp1i4OlAZjTJHqaC0R0GcIXIjiAkjO6xKGkq/tOG8lScwFslKMLGLHBH/MuUuJxxCyOJF1TGGCd/B4weTsX1pP9c78DQc1iLdJgufdRfj8w3EmKvadIyaJzfY4mcUxSgGEEWmp68r6UlPg+hMuTom2kWYrwnS/1qX1v7aABKV4pIh8cgdxSaPLN9IEBF2hE0i3lRiTkagoz3yB92oURxdGl0EVlejbtxbsJ0InkF6kio6RRigNI0JbaOzIAcbIsyG9cmObTmBVWyp84/LIeT+190w8JYvl24m/vtaGkK4OD530C3Z1IqcqqaL50T5lMxMs8tGN1UpXYJjUW/gLkNJDKAbo4YgAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/media1.7e633063.png\";","module.exports = __webpack_public_path__ + \"static/media/media2.067b7f25.png\";","module.exports = __webpack_public_path__ + \"static/media/media3.2531b593.png\";","module.exports = __webpack_public_path__ + \"static/media/media4.c392ac93.png\";","module.exports = __webpack_public_path__ + \"static/media/media5.b143c269.png\";","module.exports = __webpack_public_path__ + \"static/media/media6.4123c3a6.png\";","module.exports = __webpack_public_path__ + \"static/media/play1.d38c11c6.png\";","module.exports = __webpack_public_path__ + \"static/media/play2.49e80660.png\";","module.exports = __webpack_public_path__ + \"static/media/advertismenttop2.424582cc.jpg\";"],"sourceRoot":""}